organize TODO file
This commit is contained in:
parent
7206f7aad9
commit
d25228fc1c
75
TODO
75
TODO
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue