Difference between revisions of "SoC2011 Student Page Aethaeryn"

From The Battle for Wesnoth Wiki
m (adding questionnaire section to remind me to put it in)
m (hotkeys won't work out, too much potential of conflict)
Line 13: Line 13:
 
* Implement improved Lua access to the in-scenario GUI stuff, again without WML table hacks.
 
* Implement improved Lua access to the in-scenario GUI stuff, again without WML table hacks.
 
** This includes improving the syntax and implementation of the [http://wiki.wesnoth.org/LuaWML:Display#wesnoth.show_dialog dialog Lua].
 
** This includes improving the syntax and implementation of the [http://wiki.wesnoth.org/LuaWML:Display#wesnoth.show_dialog dialog Lua].
* Add '''new''' interface improvements for add-on makers:
+
* A way to take in text commands in a way similar to debug mode's :lua, but only using specific commands to do specific actions as defined by Lua code in the add-on.
** 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==
 
==Phase 2: Simplify Add-on Creation==

Revision as of 19:59, 7 April 2011

Proposal: Improvements to the Lua engine, primarily for the purpose of increasing the flexibility and power of interface definitions within add-ons.

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]
  • 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.
  • A way to take in text commands in a way similar to debug mode's :lua, but only using specific commands to do specific actions as defined by Lua code in the add-on.

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