Sidedata.lua: Difference between revisions
From Spring
Jump to navigationJump to search
Cleanup a bit and correct some information. Follow jK's style as in http://springrts.com/wiki/MouseCursors |
|||
| Line 10: | Line 10: | ||
* <code>name</code> (displayed in lobby)<br> | * <code>name</code> (displayed in lobby)<br> | ||
*<code>startUnit</code> (must be read by [http://springrts.com/phpbb/viewtopic.php?f=67&t=21883&p=417021 a gadget to actually spawn the start unit])<br> | *<code>startUnit</code> (must be read by [http://springrts.com/phpbb/viewtopic.php?f=67&t=21883&p=417021 a gadget to actually spawn the start unit])<br> | ||
<code>startUnit</code> is available to lua via <code>Spring.GetSideData</code>: | |||
<code><pre>local startUnit = Spring.GetSideData("sideName")</pre></code> | |||
<code><pre>local sideName, startUnit = Spring.GetSideData(sideID)</pre></code> | |||
==Example== | ==Example== | ||
Revision as of 14:06, 2 April 2011
Location
sitedata.lua is a file in the Gamedata/ directory of a Spring Game.
It defines the playable factions/races/sides in a game. (ie ARM & CORE, Terran, Protoss, USA, Bananas,...)
Source
The engine source code which parses the data from this file is viewable here: https://github.com/spring/spring/blob/master/rts/Sim/Misc/SideParser.cpp
Details
Each faction can have two properties:
name(displayed in lobby)startUnit(must be read by a gadget to actually spawn the start unit)
startUnit is available to lua via Spring.GetSideData:
local startUnit = Spring.GetSideData("sideName")
local sideName, startUnit = Spring.GetSideData(sideID)
Example
Single Faction
local sideData = {
{
name = 'AwesomeDudes',
startunit = 'awesomedudebase',
},
}
return sideData
Multiple Factions
local sideData = {
{
name = 'NKG',
startunit = 'bflagship2',
},
{
name = 'Drone',
startunit = 'kdroneengineer',
},
}
return sideData
Faction Icons
Faction icons are not defined in this file but just read from the Sidepics/ directory.
(NB: Some widgets, such as advanced playerlist, may complain about missing faction icon if they are not present)
Can be .bmp and maybe other formats.
Filename is same as Faction name ie for above examples:
AwesomeDudes.bmp NKG.bmp Drone.bmp