SoC2011 Student Page Aethaeryn
From The Battle for Wesnoth Wiki
Proposal: Improvements to the Lua engine, primarily for the purpose of increasing the flexibility and power of interface definitions within add-ons.
Contents
Phase 0: The Initial Changes
- Split src/scripting/lua.cpp into logical subcomponents and familiarize myself with the core Lua code.
- Implement UI tags in native Lua without WML tables. (similar to fire or the improved 1.9 version of it, setting first time only to yes)
- [message]
- [option]
- [text_input]
- [set_menu_item]
- [message]
- Create a mechanism by which to allow an execution of Lua through [option] that is save-game compatable.
Phase 1: Complex Interface Changes
- Implement improved Lua access to the in-scenario GUI stuff, again without WML table hacks.
- This includes improving the syntax and implementation of the dialog Lua.
- Add new interface improvements for add-on makers:
- Lua-defined add-on hotkeys.
- Lua-defined "/" commands or chat-message-reading for add-on defined commands without needing GUI?
Phase 2: Simplify Add-on Creation
- Implement Lua "ui" package similar to helper that adds an additional abstraction layer on top of Phase 1 to simplify it for add-on creators.
- Create a similar implementation to the above through newly-defined WML tags.
- (The original implemenation will still exist for those who want more control and customizability, while this implementation is available for those who do not wish to deal with the complexity that the interface can actually provide.)
Questionnaire
coming soon