X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fdos%2Fmain.c;h=4a3dc1a79e962c5cac42e1420a78e628be1f6c81;hb=03eaea2400647375400c3bc4d927c399e142a901;hp=911781c2c8eacb55156fc4277afc940b4d230f58;hpb=1ee7845621c04020321fa8dfb6dcbf3d8c6c9b51;p=eradicate diff --git a/src/dos/main.c b/src/dos/main.c index 911781c..4a3dc1a 100644 --- a/src/dos/main.c +++ b/src/dos/main.c @@ -44,16 +44,26 @@ int main(int argc, char **argv) status = -1; goto break_evloop; } - fb_pixels = (char*)fb_buf + vmode->pitch; + fb_pixels = (uint16_t*)((char*)fb_buf + vmode->pitch); + + if(init(argc, argv) == -1) { + status = -1; + goto break_evloop; + } reset_timer(); for(;;) { int key; - while((key = kb_getkey()) != -1) { - if(key == 27) goto break_evloop; + if(key_event) { + while((key = kb_getkey()) != -1) { + key_event(key, 1); + } + } else { + while((key = kb_getkey()) != -1) { + if(key == 27) goto break_evloop; + } } - if(quit) goto break_evloop; time_msec = get_msec(); @@ -62,6 +72,7 @@ int main(int argc, char **argv) break_evloop: free(fb_buf); + cleanup(); set_text_mode(); cleanup_video(); kb_shutdown();