#ifndef GAME_UI_CGUIBINDINGS_HPP #define GAME_UI_CGUIBINDINGS_HPP #include #include class CStatus; class XMLNode; class KEYBINDING : public TSHashObject { public: int32_t index; char* command; }; class KEYCOMMAND : public TSHashObject { public: int32_t index; int32_t function; int32_t runOnUp; int32_t pressure; int32_t angle; }; class CGUIBindings { public: CGUIBindings() = default; bool Load(const char* commandsFile, MD5_CTX* md5, CStatus* status); void LoadBinding(const char* commandsFile, XMLNode* node, CStatus* status); void LoadModifiedClick(const char* commandsFile, XMLNode* node, CStatus* status); int32_t m_numCommands; int32_t m_numHiddenCommands; TSHashTable m_bindings; TSHashTable m_commands; }; #endif // GAME_UI_CGUIBINDINGS_HPP