Latest Updates: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= Multiplayer UI Callbacks = | |||
There are a number of callbacks for MP UI use | |||
<nowiki>FUNCTION MULTIPLAYER_USERDATA_CALLBACK() | |||
{ | |||
// this should fill the work array with up to 16 values | |||
// generally this would be driven by custom UI | |||
// these values are then available in the working array immediately after the battle loads | |||
} | |||
FUNCTION MULTIPLAYER_USERDATA_TOOLTIP_CALLBACK() | |||
{ | |||
// this is called with the user data in the work array, and should fill the UI string with the appropriate tooltip | |||
// only adds a tooltip if it returns != 0 | |||
return 1 ; | |||
} | |||
FUNCTION MULTIPLAYER_USERDATA_ACCEPT_CALLBACK() | |||
{ | |||
// this is called with the user data in the work array | |||
// if returns 0 then no side string is shown in the accept list | |||
// if returns !=0 then appends the contents of the first UI string to the list entry | |||
return 0 ; | |||
}</nowiki> | |||
= WriteScenarioFile = | = WriteScenarioFile = | ||
This function can allow a scenario file to be created from the combination of a header string and the contents of a file. The command looks for the file in <campaign>/DATA/SCRIPTS and then DATA/SCRIPTS. It then creates a new .BSF file named for the scenario which is made up of the header followed by the contents of the template file. | This function can allow a scenario file to be created from the combination of a header string and the contents of a file. The command looks for the file in <campaign>/DATA/SCRIPTS and then DATA/SCRIPTS. It then creates a new .BSF file named for the scenario which is made up of the header followed by the contents of the template file. |
Revision as of 20:35, 20 September 2017
Multiplayer UI Callbacks
There are a number of callbacks for MP UI use
FUNCTION MULTIPLAYER_USERDATA_CALLBACK() { // this should fill the work array with up to 16 values // generally this would be driven by custom UI // these values are then available in the working array immediately after the battle loads } FUNCTION MULTIPLAYER_USERDATA_TOOLTIP_CALLBACK() { // this is called with the user data in the work array, and should fill the UI string with the appropriate tooltip // only adds a tooltip if it returns != 0 return 1 ; } FUNCTION MULTIPLAYER_USERDATA_ACCEPT_CALLBACK() { // this is called with the user data in the work array // if returns 0 then no side string is shown in the accept list // if returns !=0 then appends the contents of the first UI string to the list entry return 0 ; }
WriteScenarioFile
This function can allow a scenario file to be created from the combination of a header string and the contents of a file. The command looks for the file in <campaign>/DATA/SCRIPTS and then DATA/SCRIPTS. It then creates a new .BSF file named for the scenario which is made up of the header followed by the contents of the template file.
The calling script must handle overwrite confirms etc (if needed).
//create a scenario file for the current editor scenario. The file is the headerSource followed by the contents of the templateFilename file. If overwrite !=0 then will overwrite any existing file, otherwise not. Returns -1 (failed), 0 (exists), 1 success. See wiki for more details. WriteScenarioFile(templateFilename, headerSource, overwrite)
The header can include (e.g.) globals or defines which are then referenced in the template script.
Editor Font Customisation
You can now set up aliases for the fonts used in various modes for the main list (ScenEdTileList). Aliases must be in the global chunk (at the top) of the font file. They are of the form:
ALIAS <name>=<actualFont>
So an example (for the tile list in the editor) would be:
ALIAS SmoothFont_EdTileSet=MyEdTileFont
Note you will get an error if the aliased font does not exist. The currently defined aliases are
SmoothFont_EdTileSet SmallFont_EdObjSet Default_EdUnitSet Default_EdBonusSet Default_EdCarrySet
If no alias is defined, then the base (pre-underscore) name will be used for the font (e.g. SmoothFont for SmoothFont_EdTileSet).
Load/Save and Options Layout
If you include a screen whose root is called SystemMenu, then the default load/save etc functionality will be disabled somewhat. ESC will open this SystemMenu, or close either the LoadSave, Options, or SystemMenu screen (whichever is at the top level). This allows for finer control of the layout and use of the loadsave screens.
Note, you can open a correctly set up loadsave or options screen by using custom command values 0 or 1 respectively. E.g.
COMMAND CUSTOM 1 attached to a button will open the options screen.
Unit Orientation
If you include a TerrainFollow attrib in the squads file, then for units with this attrib as non-zero they will align themselves with the terrain (i.e. hills etc)
Formation Change
All units now call the formation callback, not just those with more than 1 man remaining.
Editor Unit Loading
Set the tweak EditorDefaultLoading to zero to require the CTRL key to load units onto other units. For editor ease of use for games where units cannot carry other units.
Editor Unit Values
You can now set up to 4 user values on units in the editor. These are stored in 4 attribs called System_EditorData0 to System_EditorData3. Users should set them onto the units in the editor in the usual way using SetAttrib. To facilitate editor functionality the new script command GetEditorLastUnit() is available.
Editor Display Callback
FUNCTION HELPER_UNIT_EDITOR_DISPLAY(side, unit)
This new function in the helper script is called for each unit on the map in the editor. If it returns non-zero then the system will include the contents of the first UI string in the information that is shown over the unit (e.g. Fixed, Carryover, etc).