X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fgame.c;h=68f6a23e0620f07331c296e007398b00230a401f;hb=325391b617a3f5a1f17e03598baa66d00715422d;hp=d4a7fe3bf8e4f60aed794908ac15e55316b85c5d;hpb=6ad6cf2cb2e82d8dcc1535a031a38eb991d2b396;p=vrtris diff --git a/src/game.c b/src/game.c index d4a7fe3..68f6a23 100644 --- a/src/game.c +++ b/src/game.c @@ -12,10 +12,10 @@ static void calc_framerate(void); static void print_framerate(void); -static float view_matrix[16], proj_matrix[16]; static int should_swap; static unsigned long framerate; + int game_init(int argc, char **argv) { if(init_opengl() == -1) { @@ -35,11 +35,17 @@ int game_init(int argc, char **argv) return -1; } goatvr_set_origin_mode(GOATVR_HEAD); + goatvr_set_units_scale(10.0f); goatvr_startvr(); should_swap = goatvr_should_swap(); } + glEnable(GL_DEPTH_TEST); + glEnable(GL_CULL_FACE); + glEnable(GL_LIGHTING); + glEnable(GL_LIGHT0); + return 0; } @@ -53,14 +59,6 @@ void game_cleanup() static void update(float dt) { - int num_vr_sticks; - - if((num_vr_sticks = goatvr_num_sticks()) > 0) { - float p[2]; - goatvr_stick_pos(0, p); - /* TODO */ - } - screen->update(dt); } @@ -104,7 +102,7 @@ void game_display(void) /* non-VR mode */ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - cgm_mperspective(proj_matrix, cgm_deg_to_rad(50.0), win_aspect, 0.5, 500.0); + cgm_mperspective(proj_matrix, cgm_deg_to_rad(40.0), win_aspect, 0.5, 500.0); glMatrixMode(GL_PROJECTION); glLoadMatrixf(proj_matrix); @@ -150,6 +148,12 @@ void game_keyboard(int key, int pressed) } break; + case KEY_HOME: + if(opt.flags & OPT_VR) { + goatvr_recenter(); + } + break; + default: break; } @@ -176,10 +180,16 @@ void game_mouse_wheel(int dir) void game_gamepad_axis(int axis, float val) { + joy_axis[axis] = val; } void game_gamepad_button(int bn, int pressed) { + if(pressed) { + joy_bnstate |= (1 << bn); + } else { + joy_bnstate &= ~(1 << bn); + } } static void calc_framerate(void)