Update of /cvsroot/agd/client
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24652
Modified Files:
main.c
Log Message:
Moved gfx_init to gfx.c, cleanup
Index: main.c
===================================================================
RCS file: /cvsroot/agd/client/main.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- main.c 3 Aug 2004 14:49:12 -0000 1.2
+++ main.c 5 Aug 2004 13:25:06 -0000 1.3
@@ -1,30 +1,16 @@
#include <allegro.h>
#include <stdio.h>
-#include "agi.h"
+#include "gfx.h"
#include "gui.h"
#include "sys.h"
-BITMAP *buffer;
+BITMAP *bg_pic;
+extern BITMAP *buffer;
+
+#if 0
static int update;
gui_window_t *login;
-void gfx_init(void)
-{
- allegro_init();
- install_keyboard();
- install_mouse();
- set_palette(agipal);
-
- set_window_title("AGD client " VERSION);
- printf("AGD client %s\n%s\n", VERSION, allegro_id);
- set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 400, 0, 0);
- buffer = create_bitmap(SCREEN_W, SCREEN_H);
-
- agipix_w = SCREEN_W / AGI_ORIGINAL_W;
- agipix_h = SCREEN_H / AGI_ORIGINAL_H;
- printf("agipix: %d;%d\n", agipix_w, agipix_h);
-}
-
void login_connect_cb(void)
{
login->visible = 0;
@@ -59,62 +45,61 @@
return win;
}
+#endif
int main(int argc, char *argv[])
{
+ picture_t *pic;
+ char *kb_buf;
+ int kb_buf_siz;
+
if(argc > 1) {
if(argc > 2)
conf.port = atoi(argv[2]);
- else
- conf.port = NET_DEFAULT_PORT;
conf.host = argv[1];
}
+ if(!conf.port)
+ conf.port = NET_DEFAULT_PORT;
+ if(!conf.host)
+ conf.host = "localhost";
+
if(!conf.host || !conf.port) {
printf("Syntax: %s <server hostname> [port]\n", argv[0]);
exit(1);
}
- net_connect();
-
gfx_init();
- show_mouse(NULL);
- clear_to_color(buffer, AGI_BLACK);
- gui_init();
-
- while(!key[KEY_ESC]) {
-/* blit(buffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);*/
+ gui_init(); /* For fonts. */
+ kb_buf = xmalloc(256);
+ memset(kb_buf, 0, 256);
+ kb_buf_siz = 256;
- net_events();
-/* blit(buffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);*/
-#if 0
- gui_draw();
- gui_events();
-#endif
+ if(!net_connect()) {
+ readkey();
+ exit(1);
}
-#if 0
- login = make_login();
-
- update = 1;
+ show_mouse(NULL);
while(!key[KEY_ESC]) {
- if(update) {
- clear_to_color(buffer, AGI_CYAN);
-/* gui_draw(buffer);*/
- gui_draw_window(buffer, login);
-
- show_mouse(NULL);
- blit(buffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);
- show_mouse(screen);
-
- update = 0;
+ net_events();
+ while(keypressed()) {
+ int c = readkey() & 0xff;
+ if(c == '\r') {
+ gui_putchar(screen, 0, '\n');
+ net_send(kb_buf, kb_buf_siz);
+ memset(kb_buf, 0, kb_buf_siz);
+ } else {
+ if(strlen(kb_buf)+1 >= kb_buf_siz) {
+ kb_buf_siz += (kb_buf_siz / 2);
+ kb_buf = xrealloc(kb_buf, kb_buf_siz);
+ }
+ sprintf(kb_buf, "%s%c", kb_buf, c);
+ gui_putchar(screen, 0, c);
+ }
}
-
-/* gui_events();*/
- if(login->visible)
- gui_events(login);
+/* blit(buffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);*/
}
-#endif
return 0;
}
|