organize TODO file

This commit is contained in:
Eduardo Bart 2012-01-06 07:35:48 -02:00
parent 7206f7aad9
commit d25228fc1c
5 changed files with 65 additions and 56 deletions

75
TODO
View File

@ -1,41 +1,28 @@
modules managment interface == Core
clean sprites cache periodically a class for binding hotkeys
review directories loading search
load modules from zip packages load modules from zip packages
review directories search capture close application events in lua
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
create a class for reading binary files 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 use CoordsBuffer in font
cache into framebuffers cache renders into framebuffers
implement glbuffer for CoordsBuffer use hardware buffer
use indices in CoordsBuffer 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 UICheckBox to lua
move UIWindow to lua move UIWindow to lua
create UIMessageBox, UIToolTip and UIInputBox create UIMessageBox, UIToolTip and UIInputBox
@ -43,5 +30,25 @@ rework UI image style
class UIImage and UIText class UIImage and UIText
add UI border add UI border
fix style inheretance using a style translator 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
make possible to bind non LuaObject derived classes on lua engine (for usage with Point,Rect,Color,Size) == 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
== Client Interface
implement left panel with dragging windows
complete miniwindow
add other icons on topmenu

View File

@ -1,10 +1,8 @@
Client = {} Client = {}
-- TODO: load and save configurations local function setupWindow()
function Client.init()
-- set default settings
g_window.show() g_window.show()
g_window.setMinimumSize({ width = 550, height = 450 }) g_window.setMinimumSize({ width = 600, height = 480 })
-- initialize in fullscreen mode on mobile devices -- initialize in fullscreen mode on mobile devices
if g_window.getPlatformType() == "X11-EGL" then if g_window.getPlatformType() == "X11-EGL" then
@ -29,9 +27,13 @@ function Client.init()
g_window.setTitle('OTClient') g_window.setTitle('OTClient')
g_window.setIcon(resolvepath('clienticon.png')) g_window.setIcon(resolvepath('clienticon.png'))
end
function Client.init()
setupWindow()
if not g_sprites.isLoaded() or not g_thingsType.isLoaded() then 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
end end

View File

@ -47,7 +47,7 @@ local function tryLogin(charInfo, tries)
end end
-- save last used character -- save last used character
g_configs.set('lastUsedCharacter', charInfo.characterName) Settings.set('lastUsedCharacter', charInfo.characterName)
end end
-- public functions -- public functions
@ -74,7 +74,7 @@ function CharacterList.create(characters, premDays)
label.worldHost = worldHost label.worldHost = worldHost
label.worldPort = worldIp label.worldPort = worldIp
if i == 1 or g_configs.get('lastUsedCharacter') == characterName then if i == 1 or Settings.get('lastUsedCharacter') == characterName then
focusLabel = label focusLabel = label
end end
end end

View File

@ -11,8 +11,8 @@ local function clearAccountFields()
enterGame:getChildById('accountNameLineEdit'):clearText() enterGame:getChildById('accountNameLineEdit'):clearText()
enterGame:getChildById('accountPasswordLineEdit'):clearText() enterGame:getChildById('accountPasswordLineEdit'):clearText()
enterGame:getChildById('accountNameLineEdit'):focus() enterGame:getChildById('accountNameLineEdit'):focus()
g_configs.set('account', nil) Settings.remove('account')
g_configs.set('password', nil) Settings.remove('password')
end end
local function onError(protocol, error) local function onError(protocol, error)
@ -30,9 +30,9 @@ end
local function onCharacterList(protocol, characters, premDays) local function onCharacterList(protocol, characters, premDays)
if enterGame:getChildById('rememberPasswordBox'):isChecked() then if enterGame:getChildById('rememberPasswordBox'):isChecked() then
g_configs.set('account', EnterGame.account) Settings.set('account', EnterGame.account)
g_configs.set('password', EnterGame.password) Settings.set('password', EnterGame.password)
g_configs.set('autologin', tostring(enterGame:getChildById('autoLoginBox'):isChecked())) Settings.set('autologin', enterGame:getChildById('autoLoginBox'):isChecked())
else else
clearAccountFields() clearAccountFields()
end end
@ -40,9 +40,9 @@ local function onCharacterList(protocol, characters, premDays)
loadBox:destroy() loadBox:destroy()
CharacterList.create(characters, premDays) CharacterList.create(characters, premDays)
local lastMotdNumber = tonumber(g_configs.get("motd")) local lastMotdNumber = Settings.getNumber("motd")
if motdNumber and motdNumber ~= lastMotdNumber then if motdNumber and motdNumber ~= lastMotdNumber then
g_configs.set("motd", motdNumber) Settings.set("motd", motdNumber)
local motdBox = displayInfoBox("Message of the day", motdMessage) local motdBox = displayInfoBox("Message of the day", motdMessage)
motdBox.onOk = CharacterList.show motdBox.onOk = CharacterList.show
CharacterList.hide() CharacterList.hide()
@ -53,11 +53,11 @@ end
function EnterGame.create() function EnterGame.create()
enterGame = displayUI('entergame.otui') enterGame = displayUI('entergame.otui')
local account = g_configs.get('account') local account = Settings.get('account')
local password = g_configs.get('password') local password = Settings.get('password')
local host = g_configs.get('host') local host = Settings.get('host')
local port = tonumber(g_configs.get('port')) local port = tonumber(Settings.get('port'))
local autologin = toboolean(g_configs.get('autologin')) local autologin = toboolean(Settings.get('autologin'))
enterGame:getChildById('accountNameLineEdit'):setText(account) enterGame:getChildById('accountNameLineEdit'):setText(account)
enterGame:getChildById('accountPasswordLineEdit'):setText(password) enterGame:getChildById('accountPasswordLineEdit'):setText(password)
@ -93,8 +93,8 @@ function EnterGame.doLogin()
EnterGame.port = enterGame:getChildById('serverPortLineEdit'):getText() EnterGame.port = enterGame:getChildById('serverPortLineEdit'):getText()
EnterGame.hide() EnterGame.hide()
g_configs.set('host', EnterGame.host) Settings.set('host', EnterGame.host)
g_configs.set('port', EnterGame.port) Settings.set('port', EnterGame.port)
local protocolLogin = ProtocolLogin.create() local protocolLogin = ProtocolLogin.create()
protocolLogin.onError = onError protocolLogin.onError = onError

View File

@ -51,7 +51,7 @@ OTMLDocumentPtr OTMLDocument::parse(std::istream& in, const std::string& source)
std::string OTMLDocument::emit() std::string OTMLDocument::emit()
{ {
return OTMLEmitter::emitNode(shared_from_this()); return OTMLEmitter::emitNode(shared_from_this()) + "\n";
} }
bool OTMLDocument::save(const std::string& fileName) bool OTMLDocument::save(const std::string& fileName)