#include "irrlichttypes_extrabloated.h"
#include <string>
+#include "client/keys.h"
+#include "client/joystick_controller.h"
#include "keycode.h"
#include <list>
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 void step(float dtime) {}
virtual void clear() {}
+
+ JoystickController joystick;
};
class ChatBackend; /* to avoid having to include chat.h */
struct SubgameSpec;
+// Flags that can, or may, change during main game loop
+struct GameUIFlags
+{
+ bool show_chat;
+ bool show_hud;
+ bool show_minimap;
+ bool force_fog_off;
+ bool show_debug;
+ bool show_profiler_graph;
+ bool disable_camera_update;
+};
+
void the_game(bool *kill,
bool random_input,
InputHandler *input,
u16 port,
std::string &error_message,
ChatBackend &chat_backend,
+ bool *reconnect_requested,
const SubgameSpec &gamespec, // Used for local game
bool simple_singleplayer_mode);
#endif
-