From aa50057b86c35de70ed87921ecdb1288e7e17e41 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sat, 27 Oct 2007 13:18:04 +0000 Subject: camera handling updates --- src/client/input.cc | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'src/client/input.cc') diff --git a/src/client/input.cc b/src/client/input.cc index fc70b37..5cafb7d 100644 --- a/src/client/input.cc +++ b/src/client/input.cc @@ -7,28 +7,42 @@ //project headers #include "client.h" #include "game/game.h" -#include "common/functions.h" namespace client { void Input::init() { - SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); + //condebug << "SDL_DEFAULT_REPEAT_DELAY " << SDL_DEFAULT_REPEAT_DELAY << std::endl; + //SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); + SDL_EnableKeyRepeat(10, SDL_DEFAULT_REPEAT_INTERVAL); } void Input::shutdown() { } -void Input::handle_keydown(SDL_keysym* keysym) +/* +see +http://docs.mandragor.org/files/Common_libs_documentation/SDL/SDL_Documentation_project_en/sdlevent.html +*/ + +// handle key_release events +void Input::handle_keyreleased(SDL_keysym* keysym) { switch( keysym->sym ) { - case SDLK_ESCAPE: - game::shutdown(); - break; case SDLK_SPACE: camera.nextmode(); break; + } +} + +// handle pressed keys +void Input::handle_keypressed(SDL_keysym* keysym) +{ + switch( keysym->sym ) { + case SDLK_ESCAPE: + game::shutdown(); + break; case SDLK_LEFT: camera.rotate_left(); break; @@ -65,10 +79,12 @@ void Input::process() while( SDL_PollEvent( &event ) ) { switch( event.type ) { -// case SDL_MOUSEBUTTONUP: case SDL_KEYDOWN: - handle_keydown( &event.key.keysym ); - break; + handle_keypressed( &event.key.keysym ); + break; + case SDL_KEYUP: + handle_keyreleased( &event.key.keysym ); + break; case SDL_QUIT: game::shutdown(); break; -- cgit v1.2.3