From d25228fc1c7cf0c16e4a26e4b99b85af602623a4 Mon Sep 17 00:00:00 2001 From: Eduardo Bart Date: Fri, 6 Jan 2012 07:35:48 -0200 Subject: [PATCH] organize TODO file --- TODO | 75 ++++++++++++---------- modules/client/client.lua | 12 ++-- modules/client_entergame/characterlist.lua | 4 +- modules/client_entergame/entergame.lua | 28 ++++---- src/framework/otml/otmldocument.cpp | 2 +- 5 files changed, 65 insertions(+), 56 deletions(-) diff --git a/TODO b/TODO index d893ffbe..3f1139ac 100644 --- a/TODO +++ b/TODO @@ -1,41 +1,28 @@ -modules managment interface -clean sprites cache periodically +== Core +a class for binding hotkeys +review directories loading search load modules from zip packages -review directories search -left panel with dragging windows -console history -console text selection -console scrolling -scrollbar -a real working border and background property in otui -load state styles in order -grid layout -fix moving windows and tooltips conflicts -todo display otclient icon in window bar -remake otui styles states system -padding -break UILabel lines -find a way to add new widgets without focusing them - -rename Game to g_game, etc -implement Console key binding -impl vertical sync, clipboard -modify COnnection::poll() -setOnClose -review and reenable some warnings -make lua/c++ logger more friendly -bind every global lua function in a static class -use metatable for lua classes -set special types for g_configs like lists/point/size +capture close application events in lua create a class for reading binary files -handle corrupt errors in dat/spr +make lua/c++ logger more friendly -create image class +== Graphics use CoordsBuffer in font -cache into framebuffers -implement glbuffer for CoordsBuffer -use indices in CoordsBuffer +cache renders into framebuffers +use hardware buffer +use indices + +== Lua +make possible to bind non LuaObject derived classes on lua engine (for usage with Point,Rect,Color,Size) +bind every global lua function in a static classes +== Platform +implement fullscreen, maximize and minsize for win32 + +== UI +scrollbar +scrollable widgets +grid layout move UICheckBox to lua move UIWindow to lua create UIMessageBox, UIToolTip and UIInputBox @@ -43,5 +30,25 @@ rework UI image style class UIImage and UIText add UI border fix style inheretance using a style translator +find a way to add new widgets without focusing them +fix moving windows and tooltips conflicts +break UILabel lines +padding +review and make more error prone with more warnings +a real working border and background property in otui + +== Client Modules +modules managment interface +restore Console key binding +console history, text selection, scrolling + +== Client +clean sprites cache periodically +handle corrupt errors in dat/spr +create a shader manager +find a way to load map rendering styles -make possible to bind non LuaObject derived classes on lua engine (for usage with Point,Rect,Color,Size) \ No newline at end of file +== Client Interface +implement left panel with dragging windows +complete miniwindow +add other icons on topmenu diff --git a/modules/client/client.lua b/modules/client/client.lua index 67040b68..52de7e1a 100644 --- a/modules/client/client.lua +++ b/modules/client/client.lua @@ -1,10 +1,8 @@ Client = {} --- TODO: load and save configurations -function Client.init() - -- set default settings +local function setupWindow() g_window.show() - g_window.setMinimumSize({ width = 550, height = 450 }) + g_window.setMinimumSize({ width = 600, height = 480 }) -- initialize in fullscreen mode on mobile devices if g_window.getPlatformType() == "X11-EGL" then @@ -29,9 +27,13 @@ function Client.init() g_window.setTitle('OTClient') g_window.setIcon(resolvepath('clienticon.png')) +end + +function Client.init() + setupWindow() if not g_sprites.isLoaded() or not g_thingsType.isLoaded() then - fatal("spr and dat files are not loaded, did you loaded them?") + fatal("spr and dat files are not loaded, are them missing?") end end diff --git a/modules/client_entergame/characterlist.lua b/modules/client_entergame/characterlist.lua index 83ba161a..e157625f 100644 --- a/modules/client_entergame/characterlist.lua +++ b/modules/client_entergame/characterlist.lua @@ -47,7 +47,7 @@ local function tryLogin(charInfo, tries) end -- save last used character - g_configs.set('lastUsedCharacter', charInfo.characterName) + Settings.set('lastUsedCharacter', charInfo.characterName) end -- public functions @@ -74,7 +74,7 @@ function CharacterList.create(characters, premDays) label.worldHost = worldHost label.worldPort = worldIp - if i == 1 or g_configs.get('lastUsedCharacter') == characterName then + if i == 1 or Settings.get('lastUsedCharacter') == characterName then focusLabel = label end end diff --git a/modules/client_entergame/entergame.lua b/modules/client_entergame/entergame.lua index 45a33292..21addddd 100644 --- a/modules/client_entergame/entergame.lua +++ b/modules/client_entergame/entergame.lua @@ -11,8 +11,8 @@ local function clearAccountFields() enterGame:getChildById('accountNameLineEdit'):clearText() enterGame:getChildById('accountPasswordLineEdit'):clearText() enterGame:getChildById('accountNameLineEdit'):focus() - g_configs.set('account', nil) - g_configs.set('password', nil) + Settings.remove('account') + Settings.remove('password') end local function onError(protocol, error) @@ -30,9 +30,9 @@ end local function onCharacterList(protocol, characters, premDays) if enterGame:getChildById('rememberPasswordBox'):isChecked() then - g_configs.set('account', EnterGame.account) - g_configs.set('password', EnterGame.password) - g_configs.set('autologin', tostring(enterGame:getChildById('autoLoginBox'):isChecked())) + Settings.set('account', EnterGame.account) + Settings.set('password', EnterGame.password) + Settings.set('autologin', enterGame:getChildById('autoLoginBox'):isChecked()) else clearAccountFields() end @@ -40,9 +40,9 @@ local function onCharacterList(protocol, characters, premDays) loadBox:destroy() CharacterList.create(characters, premDays) - local lastMotdNumber = tonumber(g_configs.get("motd")) + local lastMotdNumber = Settings.getNumber("motd") if motdNumber and motdNumber ~= lastMotdNumber then - g_configs.set("motd", motdNumber) + Settings.set("motd", motdNumber) local motdBox = displayInfoBox("Message of the day", motdMessage) motdBox.onOk = CharacterList.show CharacterList.hide() @@ -53,11 +53,11 @@ end function EnterGame.create() enterGame = displayUI('entergame.otui') - local account = g_configs.get('account') - local password = g_configs.get('password') - local host = g_configs.get('host') - local port = tonumber(g_configs.get('port')) - local autologin = toboolean(g_configs.get('autologin')) + local account = Settings.get('account') + local password = Settings.get('password') + local host = Settings.get('host') + local port = tonumber(Settings.get('port')) + local autologin = toboolean(Settings.get('autologin')) enterGame:getChildById('accountNameLineEdit'):setText(account) enterGame:getChildById('accountPasswordLineEdit'):setText(password) @@ -93,8 +93,8 @@ function EnterGame.doLogin() EnterGame.port = enterGame:getChildById('serverPortLineEdit'):getText() EnterGame.hide() - g_configs.set('host', EnterGame.host) - g_configs.set('port', EnterGame.port) + Settings.set('host', EnterGame.host) + Settings.set('port', EnterGame.port) local protocolLogin = ProtocolLogin.create() protocolLogin.onError = onError diff --git a/src/framework/otml/otmldocument.cpp b/src/framework/otml/otmldocument.cpp index 3abe8a2a..4ad533dd 100644 --- a/src/framework/otml/otmldocument.cpp +++ b/src/framework/otml/otmldocument.cpp @@ -51,7 +51,7 @@ OTMLDocumentPtr OTMLDocument::parse(std::istream& in, const std::string& source) std::string OTMLDocument::emit() { - return OTMLEmitter::emitNode(shared_from_this()); + return OTMLEmitter::emitNode(shared_from_this()) + "\n"; } bool OTMLDocument::save(const std::string& fileName)