Chili:Adding To Game
Getting Chili
The Chili repository can be found at https://github.com/jk3064/chiliui. There are two ways to add Chili to your game:
- Include the Chili repository as a git submodule in your project.
- Checkout the Chili repository, and manually place the files & subdirs from its /luaui/chili directory into your games /luaui/widgets directory.
If you are having trouble getting Chili to run, login to the lobby and join the #moddev channel (type /j moddev). People there will help you figure it out.
Chili interaction with game internals
The Chili library is, basically, a very big widget. It is loaded as a widget by the widget handler, and it makes its functions accessible via WG. This allows 'normal' widgets to use Chili - a widget may call a function from inside WG.Chili, which instructs the chili library to create/modify a particular GUI element.
Hiding the default GUI
Most games using Chili will remove Springs basic 'default' GUI. This can be done with the following widget - you may need to edit it slightly to match your widget/addon handler.
function widget:GetInfo()
return {
name = "Hides the default interface",
desc = "",
author = "gajop, Bluestone",
date = "",
license = "GPL-v2",
layer = math.huge;
enabled = true,
hidden = true; -- don't show in the widget selector
api = true; -- load before all others?
}
end
function widget:Initialize()
RegisterGlobal("LayoutButtons", DummyLayoutHandler)
Spring.SendCommands("Console 0")
Spring.SendCommands("ResBar 0")
Spring.SendCommands("ToolTip 0")
Spring.SendCommands("Clock 0")
Spring.SendCommands("Info 0")
gl.SlaveMiniMap(true)
gl.ConfigMiniMap(-1,-1,-1,-1)
end
local function DummyLayoutHandler(xIcons, yIcons, cmdCount, commands)
handler.commands = commands
handler.commands.n = cmdCount
handler:CommandsChanged()
return "", xIcons, yIcons, {}, {}, {}, {}, {}, {}, {}, {}
end
function widget:GameSetup()
-- sets status instantly to ready & hides the pre-game UI
-- you might want/need to change this part & integrate it into your spawning gadget!
return true, true
end