X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=vrlugburz;a=blobdiff_plain;f=src%2Fgame.c;fp=src%2Fgame.c;h=a997b692282e06c7323bc4a9cdc6d3cd4b1bde02;hp=65c7636743db6ccb4f3a2a181d3468720338bed8;hb=f242719e98650720b5d3ed43aca62a4f1fe3ec10;hpb=3c7da38bbf5936211348c5b6c31874364060dca8 diff --git a/src/game.c b/src/game.c index 65c7636..a997b69 100644 --- a/src/game.c +++ b/src/game.c @@ -51,8 +51,6 @@ int game_init(void) player.cx = lvl.px; player.cy = lvl.py; - printf("start pos: %d,%d\n", player.cx, player.cy); - return 0; } @@ -62,8 +60,38 @@ void game_shutdown(void) free_program(sdr_foo); } +#define STEP_INTERVAL 1000 + +void update(float dt) +{ + static long prev_step; + int step[][2] = {{-1, 0}, {0, -1}, {1, 0}, {0, 1}}; + + cgm_vec3 vdir = {0, 0, -1}; + + upd_player_xform(&player); + cgm_vmul_m3v3(&vdir, player.view_xform); + + player.dir = (int)(2.0f * (atan2(vdir.z, vdir.x) + M_PI) / M_PI + 0.5f); + + /* + if(time_msec - prev_step >= STEP_INTERVAL) { + if(input[INP_FWD]) { + } + } + */ +} + void game_display(void) { + float dt; + static long prev_msec; + + dt = (prev_msec - time_msec) / 1000.0f; + prev_msec = time_msec; + + update(dt); + glClearColor(0.1, 0.1, 0.1, 1); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); @@ -72,7 +100,6 @@ void game_display(void) glMatrixMode(GL_PROJECTION); glLoadMatrixf(proj_matrix); - upd_player_xform(&player); glMatrixMode(GL_MODELVIEW); glLoadMatrixf(player.view_xform);