X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FInput.cpp;h=059879037f7095022339cb086ef16d0af949d0dc;hb=0e68eb62170f14f5b2aa89864e437fc2287e7565;hp=41229e345fada9be48e246850545c9ac12aa27c8;hpb=e31b70325214fa5bdd433c1fd2aa96a1eb6c6684;p=lugaru.git diff --git a/Source/Input.cpp b/Source/Input.cpp index 41229e3..0598790 100644 --- a/Source/Input.cpp +++ b/Source/Input.cpp @@ -1,6 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010 - MCMic +Copyright (C) 2010 - Côme BERNIGAUD This file is part of Lugaru. @@ -11,7 +11,7 @@ of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -25,25 +25,68 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern bool keyboardfrozen; -bool Input::isKeyDown(int k) { - if(keyboardfrozen)return 0; // vraiment utile? à vérifier - Uint8 *keystate = SDL_GetKeyState(NULL); - if(k= SDLK_LAST + 6) // really useful? check that. + return false; + return keyDown[k]; +} + +bool Input::isKeyPressed(int k) +{ + if (keyboardfrozen || k >= SDLK_LAST + 6) + return false; + return keyPressed[k]; +} + +const char* Input::keyToChar(unsigned short i) +{ + if (i < SDLK_LAST) + return SDL_GetKeyName(SDLKey(i)); + else if (i == SDLK_LAST + SDL_BUTTON_LEFT) + return "mouse1"; + else if (i == SDLK_LAST + SDL_BUTTON_RIGHT) + return "mouse2"; + else if (i == SDLK_LAST + SDL_BUTTON_MIDDLE) + return "mouse3"; + else + return "unknown"; } -const char* Input::keyToChar(unsigned short i) { - if(i