X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FInput.cpp;h=6080516a86d684165ee3e5c53eabe5e54f89ba41;hb=cd043e3f9e26c2b3406b40a354c2840941e9db7f;hp=3cf1b1ce99657b9d466589834047025056e680e0;hpb=735daf95aba0eef54d151daae01285f0959825d0;p=lugaru.git diff --git a/Source/Input.cpp b/Source/Input.cpp index 3cf1b1c..6080516 100644 --- a/Source/Input.cpp +++ b/Source/Input.cpp @@ -1,23 +1,21 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010 - MCMic +Copyright (C) 2010 - Côme BERNIGAUD This file is part of Lugaru. -Lugaru is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. +Lugaru is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -This program is distributed in the hope that it will be useful, +Lugaru 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. - -See the GNU General Public License for more details. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with Lugaru. If not, see . */ /**> HEADER FILES <**/ @@ -25,44 +23,72 @@ 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= SDL_NUM_SCANCODES + 6) // really useful? check that. + return false; + return keyDown[k]; } -const char* Input::keyToChar(unsigned short i) { - if(i= SDL_NUM_SCANCODES + 6) + return false; + return keyPressed[k]; +} + +const char* Input::keyToChar(unsigned short i) +{ + if (i < SDL_NUM_SCANCODES) + return SDL_GetScancodeName(SDL_Scancode(i)); + else if (i == MOUSEBUTTON1) + return "mouse1"; + else if (i == MOUSEBUTTON2) + return "mouse2"; + else if (i == MOUSEBUTTON3) + return "mouse3"; + else + return "unknown"; } -unsigned short Input::CharToKey(const char* which) +unsigned short Input::CharToKey(const char* which) { - for(unsigned short i=0;i