From: Peep P. <so...@us...> - 2004-08-05 13:25:15
|
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; } |