Sidedata.lua: Difference between revisions
From Spring
Jump to navigationJump to search
page created |
m Typo fixed - sitedata.lua => sidedata.lua |
||
| (17 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
== | ==Location== | ||
<code>sidedata.lua</code> is a file in the <code>Gamedata/</code> directory of a Spring Game. | |||
==Purpose== | |||
This file 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: | |||
* {{sourcelink|file=rts/Sim/Misc/SideParser.cpp}} | |||
==Details== | ==Details== | ||
Each faction can have two properties:<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> | |||
These values are available to lua via <code>Spring.GetSideData</code> (See [[Lua_SyncedRead#Sides.2FFactions|Lua_SyncedRead]]): | |||
<code><pre>local sideName, startUnit = Spring.GetSideData(sideID)</pre></code> | |||
==Example== | ==Example== | ||
===Single Faction=== | |||
<code><pre>local sideData = { | |||
<pre> | { | ||
local sideData = { | name = 'AwesomeDudes', | ||
startunit = 'awesomedudebase', | |||
name | |||
startunit = 'awesomedudebase', | |||
}, | }, | ||
} | } | ||
return sideData | return sideData | ||
</pre> | </pre></code> | ||
===Multiple Factions=== | |||
<code><pre>local sideData = { | |||
<pre> | { | ||
local sideData = { | name = 'NKG', | ||
startunit = 'bflagship2', | |||
}, | |||
{ | |||
name = 'Drone', | |||
startunit = 'kdroneengineer', | |||
}, | |||
... | |||
} | } | ||
return sideData | return sideData | ||
</pre> | </pre></code> | ||
==Faction Icons== | |||
Faction icons are not defined in this file but just read from the <code>Sidepics/</code> directory. | |||
= | <span class="note">(NB: Some widgets, such as advanced playerlist, may complain about missing faction icon if they are not present)</span> | ||
Can be .bmp and maybe other formats. | Can be .bmp and maybe other formats. | ||
Filename is same as Faction name ie for above examples: | Filename is same as Faction name ie for above examples: | ||
AwesomeDudes.bmp NKG.bmp Drone.bmp | <code>AwesomeDudes.bmp NKG.bmp Drone.bmp</code> | ||
[[Category:gamedata]] | [[Category:gamedata]] | ||
Latest revision as of 01:07, 2 November 2021
Location
sidedata.lua is a file in the Gamedata/ directory of a Spring Game.
Purpose
This file 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:
Details
Each faction can have two properties:
name(displayed in lobby)startUnit(must be read by a gadget to actually spawn the start unit)
These values are available to lua via Spring.GetSideData (See Lua_SyncedRead):
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