Difference between revisions of "SValue Loaders"

From Heroes of Hammerwatch wiki
Jump to: navigation, search
Line 26: Line 26:
 
* <code>AddSetFile</code> Used for loading item set definitions.
 
* <code>AddSetFile</code> Used for loading item set definitions.
 
* <code>AddDrinkFile</code> Used for loading tavern drink definitions.
 
* <code>AddDrinkFile</code> Used for loading tavern drink definitions.
 +
* <code>Materials::LoadDyes</code> Used for loading player dye definitions.

Revision as of 17:24, 3 October 2018

SValue loaders are script functions that deserialize sval files at the gamemode initialization step.

They are defined in sval files like this:

<loader>SomeFunction</loader>
<dict>
  <string name="example">example</string>
</dict>

And loaded by scripts like this:

void SomeFunction(SValue@ sval)
{
  string example = GetParamString(UnitPtr(), sval, "example");
  print("SomeFunction example: \"" + example + "\"");
}

You can also specify an order attribute to specify the order in which they are loaded. This is required for sets for example, as they depend on items to exist.

Only one loader tag may exist per file.

Built-in loaders

The following loaders are built-in to Heroes of Hammerwatch:

  • AddItemFile Used for loading item definitions.
  • AddSetFile Used for loading item set definitions.
  • AddDrinkFile Used for loading tavern drink definitions.
  • Materials::LoadDyes Used for loading player dye definitions.