diff options
Diffstat (limited to 'sdl/event.c')
-rw-r--r-- | sdl/event.c | 55 |
1 files changed, 42 insertions, 13 deletions
diff --git a/sdl/event.c b/sdl/event.c index a760635..32c2866 100644 --- a/sdl/event.c +++ b/sdl/event.c @@ -117,6 +117,9 @@ void event_keydown_gen(SDL_keysym *keysym) case SDLK_ESCAPE: event_handler.funcs.quit(); break; + case SDLK_r: + glframe_reset(&(*event_handler.p).camera); + break; default: break; } @@ -133,7 +136,7 @@ void event_keydown(SDL_keysym *keysym) const unsigned int *keys_held = event_handler.keys_held; struct platform *p = event_handler.p; - /* a flag is toggled on if the we are interested in keys that are being held */ + /* a flag is toggled on if the keys that we are interested in are being held */ if (event_handler.key_held) { if (keys_held[SDLK_w]) @@ -163,18 +166,44 @@ void event_keydown(SDL_keysym *keysym) { switch (keysym->sym) { - case SDLK_ESCAPE: program_running = 0; break; - case SDLK_w: p->c->xrot -= 5.0f; break; - case SDLK_s: p->c->xrot += 5.0f; break; - case SDLK_a: p->c->yrot -= 5.0f; break; - case SDLK_d: p->c->yrot += 5.0f; break; - case SDLK_UP: glframe_move_forward(&p->camera, 0.5f); break; - case SDLK_DOWN: glframe_move_forward(&p->camera, -0.5f); break; - case SDLK_LEFT: glframe_rotate_local_y(&p->camera, 0.1f); break; - case SDLK_RIGHT: glframe_rotate_local_y(&p->camera, -0.1f); break; - case SDLK_n: glframe_rotate_local_x(&p->camera, 0.1f); break; - case SDLK_m: glframe_rotate_local_x(&p->camera, -0.1f); break; - default: break; + case SDLK_ESCAPE: + program_running = 0; + break; + case SDLK_r: + glframe_reset(&(*event_handler.p).camera); + break; + case SDLK_w: + p->c->xrot -= 5.0f; + break; + case SDLK_s: + p->c->xrot += 5.0f; + break; + case SDLK_a: + p->c->yrot -= 5.0f; + break; + case SDLK_d: + p->c->yrot += 5.0f; + break; + case SDLK_UP: + glframe_move_forward(&p->camera, 0.5f); + break; + case SDLK_DOWN: + glframe_move_forward(&p->camera, -0.5f); + break; + case SDLK_LEFT: + glframe_rotate_local_y(&p->camera, 0.1f); + break; + case SDLK_RIGHT: + glframe_rotate_local_y(&p->camera, -0.1f); + break; + case SDLK_n: + glframe_rotate_local_x(&p->camera, 0.1f); + break; + case SDLK_m: + glframe_rotate_local_x(&p->camera, -0.1f); + break; + default: + break; } } |