User:Flozi
My User Subpages
Scratchpad
Template:API proposal
Note that the number of 'arg1' etc is fixed (i.e. 10) but can be omitted without issue. the 'type' template is just a way to make inserting different styles within the param list easier, Template:Pipe already exists and is required as it is a special char within mediawiki syntax, could use {{!}} as a shorter alternative to pipe.
{{API <!-- Callout example --> |prefix = Spring |name = UseTeamResource |arg1 = {{type|number}} teamID |arg2 = {{type|string}} "metal" {{pipe}} "energy" |arg3 = {{type|number}} amount {{pipe}} { metal = {{type|number}} amount, energy = {{type|number}} amount } |output = {{type|nil}} {{pipe}} {{type|bool}} hadEnough |info = Imposes a one-off usage of resources on the given team. The return value indicates whether or not the team had sufficient resources to meet the usage demand. }}
Spring.UseTeamResource(number teamID, string "metal" | "energy", number amount | { metal = number amount, energy = number amount })
-> nil | bool hadEnough
- Deduct the specified amount from the team's metal or energy resource.
Spring.CreateUnit( string "defName" | number unitDefID, number x, number y, number z, (number facing | string "facing"), number teamID [, boolean build = false] [, boolean flattenGround = true] [, number unitID] [, number builderID ])
-> number unitID | nil
{{API <!-- Callin example --> |prefix = addon <!-- May use gadget: instead? --> |name = AllowUnitTransfer |arg1 = {{type|number}} unitID |arg2 = {{type|number}} unitDefID |arg3 = {{type|number}} oldTeam |arg4 = {{type|number}} newTeam |arg5 = {{type|bool}} capture |return = {{type|bool}} allow <!-- note that this is a different entry than output above --> |info = Called just before a unit is transferred to a different team, the boolean return value determines whether or not the transfer is permitted. }}
addon.AllowUnitTransfer(number unitID, number unitDefID, number oldTeam,
number newTeam, bool capture)
return: bool allow
- Called just before a unit is transferred to a different team, the boolean return value determines whether or not the transfer is permitted.
Using syntaxhighlight instead
<syntaxhighlight lang="c">Spring.CreateUnit // offmap positions are clamped! (you still can use MoveCtrl todo so)
( string "defName" | int unitDefID, int x, int y, int z, (int facing | string "facing"), int teamID [, bool build = false] [, bool flattenGround = true] [, int unitID] [, int builderID]) -> int unitID | nil</syntaxhighlight>
TODO:
Major
- Category:ShowCase template, main page, S44 & MCL as examples
- Category:Tutorial
- Continue to improve Lua:Callins - Fill in blank explanations
- Clickable / right-click copy paste-able anchors in {{tag}} et al
- Assimp build upon, metadata doc, split tutorial again >_>
- Cleanup old Category:Map_making into new Category:Map Dev
Minor
- Page on spring wiki etiquette (SpringWiki) / style guide & template usage (Mapdev:WikiGuide) /namespace conventions (Spring:PageNamingConventions) - pages are good already; put these in revamped community portal?
- Move all pages in Animation- to Animation:
- Continue to improve Gamedev:Main up to the high standard of Mapdev:Main
Undocumented Features
- cmdcolors.txt (c.f. GUI modifications in SVN)
- ctrlpanel.txt (c.f. as above)
- isolated mode (isolated.txt 99+ c.f. portable/isolation mode, Spring manpages)