From 9de3bfb8b020376105ea007f56b7c21602f1c598 Mon Sep 17 00:00:00 2001 From: Eduardo Bart Date: Mon, 29 Aug 2011 00:44:02 -0300 Subject: [PATCH] logout works --- modules/game/game.lua | 10 +++++++++- modules/game/ui/gameinterface.otui | 3 ++- src/framework/const.h | 12 +++++++++++- src/framework/core/modulemanager.cpp | 6 ++++-- src/framework/platform/x11platform.cpp | 14 ++++++++++++++ src/otclient/otclientluafunctions.cpp | 1 + src/otclient/ui/uimap.cpp | 16 ++++++++-------- 7 files changed, 49 insertions(+), 13 deletions(-) diff --git a/modules/game/game.lua b/modules/game/game.lua index a75e17f3..dedbac39 100644 --- a/modules/game/game.lua +++ b/modules/game/game.lua @@ -1,3 +1,11 @@ function Game.createMainInterface() gameUi = loadUI('/game/ui/gameinterface.otui', UI.root) -end \ No newline at end of file +end + +function Game.onLogin() + +end + +function Game.onLogout() + +end diff --git a/modules/game/ui/gameinterface.otui b/modules/game/ui/gameinterface.otui index 544e9d69..476c95ad 100644 --- a/modules/game/ui/gameinterface.otui +++ b/modules/game/ui/gameinterface.otui @@ -9,4 +9,5 @@ UIWidget Button anchors.left: gameMap.right anchors.top: parent.top - text: Logout \ No newline at end of file + text: Logout + onClick: Game.logout() \ No newline at end of file diff --git a/src/framework/const.h b/src/framework/const.h index a2578f4d..e8337610 100644 --- a/src/framework/const.h +++ b/src/framework/const.h @@ -157,7 +157,17 @@ namespace Fw KeyF9 = 137, KeyF10 = 138, KeyF11 = 139, - KeyF12 = 140 + KeyF12 = 140, + KeyNumpad0 = 141, + KeyNumpad1 = 142, + KeyNumpad2 = 143, + KeyNumpad3 = 144, + KeyNumpad4 = 145, + KeyNumpad5 = 146, + KeyNumpad6 = 147, + KeyNumpad7 = 148, + KeyNumpad8 = 149, + KeyNumpad9 = 150 }; enum LogLevel { diff --git a/src/framework/core/modulemanager.cpp b/src/framework/core/modulemanager.cpp index 1ef1b93b..8e861417 100644 --- a/src/framework/core/modulemanager.cpp +++ b/src/framework/core/modulemanager.cpp @@ -40,8 +40,10 @@ void ModuleManager::discoverAndLoadModules() // auto load modules for(const ModulePtr& module : m_modules) { - if(!module->isLoaded() && module->autoLoad()) - module->load(); + if(!module->isLoaded() && module->autoLoad()) { + if(!module->load()) + logFatal("cannot continue to run"); + } } } diff --git a/src/framework/platform/x11platform.cpp b/src/framework/platform/x11platform.cpp index fad42308..a578f67b 100644 --- a/src/framework/platform/x11platform.cpp +++ b/src/framework/platform/x11platform.cpp @@ -202,6 +202,19 @@ void Platform::init(PlatformListener* platformListener, const char *appName) x11.keyMap[XK_KP_Enter] = Fw::KeyEnter; // keypad with numlock off + x11.keyMap[XK_KP_Insert] = Fw::KeyNumpad0; + x11.keyMap[XK_KP_End] = Fw::KeyNumpad1; + x11.keyMap[XK_KP_Down] = Fw::KeyNumpad2; + x11.keyMap[XK_KP_Page_Down] = Fw::KeyNumpad3; + x11.keyMap[XK_KP_Left] = Fw::KeyNumpad4; + x11.keyMap[XK_KP_Begin] = Fw::KeyNumpad5; + x11.keyMap[XK_KP_Right] = Fw::KeyNumpad6; + x11.keyMap[XK_KP_Home] = Fw::KeyNumpad7; + x11.keyMap[XK_KP_Up] = Fw::KeyNumpad8; + x11.keyMap[XK_KP_Page_Up] = Fw::KeyNumpad9; + x11.keyMap[XK_KP_Delete] = Fw::KeyDelete; + + /* x11.keyMap[XK_KP_Up] = Fw::KeyUp; x11.keyMap[XK_KP_Down] = Fw::KeyDown; x11.keyMap[XK_KP_Left] = Fw::KeyLeft; @@ -212,6 +225,7 @@ void Platform::init(PlatformListener* platformListener, const char *appName) x11.keyMap[XK_KP_End] = Fw::KeyEnd; x11.keyMap[XK_KP_Insert] = Fw::KeyInsert; x11.keyMap[XK_KP_Delete] = Fw::KeyDelete; + */ // keypad with numlock on x11.keyMap[XK_KP_0] = Fw::Key0; diff --git a/src/otclient/otclientluafunctions.cpp b/src/otclient/otclientluafunctions.cpp index 4b5393f4..ea4f7ebb 100644 --- a/src/otclient/otclientluafunctions.cpp +++ b/src/otclient/otclientluafunctions.cpp @@ -46,6 +46,7 @@ void OTClient::registerLuaFunctions() g_lua.registerClass(); g_lua.bindClassStaticFunction("loginWorld", std::bind(&Game::loginWorld, &g_game, _1, _2, _3, _4, _5)); + g_lua.bindClassStaticFunction("logout", std::bind(&Game::logout, &g_game)); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", &UIWidget::create); diff --git a/src/otclient/ui/uimap.cpp b/src/otclient/ui/uimap.cpp index 0ebbd4be..2382227b 100644 --- a/src/otclient/ui/uimap.cpp +++ b/src/otclient/ui/uimap.cpp @@ -40,30 +40,30 @@ void UIMap::render() bool UIMap::onKeyPress(uchar keyCode, char keyChar, int keyboardModifiers) { if(keyboardModifiers == Fw::KeyboardNoModifier) { - if(keyCode == Fw::KeyUp) { + if(keyCode == Fw::KeyUp || keyCode == Fw::KeyNumpad8) { g_game.walk(Otc::North); return true; - } else if(keyCode == Fw::KeyRight) { + } else if(keyCode == Fw::KeyRight || keyCode == Fw::KeyNumpad6) { g_game.walk(Otc::East); return true; - } else if(keyCode == Fw::KeyDown) { + } else if(keyCode == Fw::KeyDown || keyCode == Fw::KeyNumpad2) { g_game.walk(Otc::South); return true; - } else if(keyCode == Fw::KeyLeft) { + } else if(keyCode == Fw::KeyLeft || keyCode == Fw::KeyNumpad4) { g_game.walk(Otc::West); return true; } } else if(keyboardModifiers == Fw::KeyboardCtrlModifier) { - if(keyCode == Fw::KeyUp) { + if(keyCode == Fw::KeyUp || keyCode == Fw::KeyNumpad8) { g_game.turn(Otc::North); return true; - } else if(keyCode == Fw::KeyRight) { + } else if(keyCode == Fw::KeyRight || keyCode == Fw::KeyNumpad6) { g_game.turn(Otc::East); return true; - } else if(keyCode == Fw::KeyDown) { + } else if(keyCode == Fw::KeyDown || keyCode == Fw::KeyNumpad2) { g_game.turn(Otc::South); return true; - } else if(keyCode == Fw::KeyLeft) { + } else if(keyCode == Fw::KeyLeft || keyCode == Fw::KeyNumpad4) { g_game.turn(Otc::West); return true; }