summaryrefslogtreecommitdiffstats
path: root/sdl/event.c
diff options
context:
space:
mode:
Diffstat (limited to 'sdl/event.c')
-rw-r--r--sdl/event.c55
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;
}
}