diff options
Diffstat (limited to 'src/game.h')
-rw-r--r-- | src/game.h | 129 |
1 files changed, 12 insertions, 117 deletions
diff --git a/src/game.h b/src/game.h index df32e3397..4fb198be8 100644 --- a/src/game.h +++ b/src/game.h @@ -22,127 +22,23 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes_extrabloated.h" #include <string> -#include "client/keys.h" -#include "client/joystick_controller.h" -#include "keycode.h" -#include <list> -class KeyList : protected std::list<KeyPress> -{ - typedef std::list<KeyPress> super; - typedef super::iterator iterator; - typedef super::const_iterator const_iterator; - - virtual const_iterator find(const KeyPress &key) const - { - const_iterator f(begin()); - const_iterator e(end()); - - while (f != e) { - if (*f == key) - return f; - - ++f; - } - - return e; - } - - virtual iterator find(const KeyPress &key) - { - iterator f(begin()); - iterator e(end()); - - while (f != e) { - if (*f == key) - return f; - - ++f; - } - - return e; - } - -public: - void clear() - { - super::clear(); - } - - void set(const KeyPress &key) - { - if (find(key) == end()) - push_back(key); - } - - void unset(const KeyPress &key) - { - iterator p(find(key)); - - if (p != end()) - erase(p); - } - - void toggle(const KeyPress &key) - { - iterator p(this->find(key)); - - if (p != end()) - erase(p); - else - push_back(key); - } - - bool operator[](const KeyPress &key) const - { - return find(key) != end(); - } -}; +class InputHandler; +class ChatBackend; /* to avoid having to include chat.h */ +struct SubgameSpec; -class InputHandler +// Flags that can, or may, change during main game loop +struct GameUIFlags { -public: - InputHandler() - { - } - virtual ~InputHandler() - { - } - - virtual bool isKeyDown(const KeyPress &keyCode) = 0; - virtual bool wasKeyDown(const KeyPress &keyCode) = 0; - - virtual void listenForKey(const KeyPress &keyCode) {} - virtual void dontListenForKeys() {} - - virtual v2s32 getMousePos() = 0; - virtual void setMousePos(s32 x, s32 y) = 0; - - virtual bool getLeftState() = 0; - virtual bool getRightState() = 0; - - virtual bool getLeftClicked() = 0; - virtual bool getRightClicked() = 0; - virtual void resetLeftClicked() = 0; - virtual void resetRightClicked() = 0; - - virtual bool getLeftReleased() = 0; - virtual bool getRightReleased() = 0; - virtual void resetLeftReleased() = 0; - virtual void resetRightReleased() = 0; - - virtual s32 getMouseWheel() = 0; - - virtual void step(float dtime) {} - - virtual void clear() {} - - JoystickController joystick; + bool show_chat; + bool show_hud; + bool show_minimap; + bool force_fog_off; + bool show_debug; + bool show_profiler_graph; + bool disable_camera_update; }; -class ChatBackend; /* to avoid having to include chat.h */ -struct SubgameSpec; - void the_game(bool *kill, bool random_input, InputHandler *input, @@ -159,4 +55,3 @@ void the_game(bool *kill, bool simple_singleplayer_mode); #endif - |