X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fglut%2Fmain.c;h=824837e7e5fc2a715c01afa860d9b15ad99c7837;hp=fb663e6bc4ceae1f02bbeed5e0d35760971f9990;hb=0dfe9cb09717d84ecc24f7fba90742b503267bfd;hpb=44c040966c76d856a55cdb2e411a47f91d1780a1 diff --git a/src/glut/main.c b/src/glut/main.c index fb663e6..824837e 100644 --- a/src/glut/main.c +++ b/src/glut/main.c @@ -73,7 +73,12 @@ static cgm_quat rot = {0, 0, 0, 1}; int main(int argc, char **argv) { glutInit(&argc, argv); - glutInitWindowSize(800, 600); + + if(glutGet(GLUT_SCREEN_HEIGHT) <= 1024) { + glutInitWindowSize(640, 480); + } else { + glutInitWindowSize(1280, 960); + } glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); glutCreateWindow("Mindlapse"); @@ -117,14 +122,21 @@ int main(int argc, char **argv) return 1; } time_msec = 0; - if(demo_init(argc, argv) == -1) { + if(demo_init1(argc, argv) == -1) { return 1; } - atexit(demo_cleanup); if(opt.fullscreen) { set_fullscreen(opt.fullscreen); + reshape(glutGet(GLUT_SCREEN_WIDTH), glutGet(GLUT_SCREEN_HEIGHT)); + } else { + reshape(glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)); + } + + if(demo_init2() == -1) { + return 1; } + atexit(demo_cleanup); reset_timer(); @@ -428,14 +440,28 @@ static void map_mouse_pos(int *xp, int *yp) static void mouse_button(int bn, int st, int x, int y) { + int bit; + map_mouse_pos(&x, &y); mouse_x = x; mouse_y = y; + switch(bn) { + case GLUT_LEFT_BUTTON: + bit = 0; + break; + case GLUT_RIGHT_BUTTON: + bit = 1; + break; + case GLUT_MIDDLE_BUTTON: + bit = 2; + break; + } + if(st == GLUT_DOWN) { - mouse_bmask |= 1 << bn; + mouse_bmask |= 1 << bit; } else { - mouse_bmask &= ~(1 << bn); + mouse_bmask &= ~(1 << bit); } }