Special items
- Last UpdatedDec 04, 2023
- 2 minute read
Special items are functions that do not not belong to the plant items or process itself (such as weather, malfunction triggering, animation override) that are designed to be handled by the XR Instructor or the iOS application.

Specials.xml
The sample project contains a specials.xml file with a basic implementation for the specials.
-
The specials configuration is based upon a define of MDSTRING type.
-
The structure of the define must be as shown and the numberOfGroups must match the number of set elements.
-
A group is a set of homogeneous variables that would be presented together to the user, such as weather conditions or the various parameters of a particular animation.
Code example
This is a code example for specials.xml.
<define name="specials" type="mdstring">
<set key="config">
<item key="numberOfGroups" value="33"/>
</set>
<set key="group_0">
<item key="name" value="Weather Conditions"/>
<item key="numberOfItems" value="4"/>
<item key="item_0_name" value="Weather State"/>
<item key="item_0_type" value="sint"/>
<item key="item_0_setvar" value="set_weatherState.execute"/>
<item key="item_0_getvar" value="weatherState.value"/>
<item key="item_0_constraints" value="combo:Normal=0,Fog=1,Rain=2,Snow=3"/>
<item key="item_1_name" value="Fog Intensity"/>
<item key="item_1_type" value="sfloat"/>
<item key="item_1_setvar" value="set_fogIntensity.execute"/>
<item key="item_1_getvar" value="fogIntensity.value"/>
<item key="item_1_constraints" value="range:0 1"/>
<item key="item_2_name" value="Rain Intensity"/>
<item key="item_2_type" value="sfloat"/>
<item key="item_2_setvar" value="set_rainIntensity.execute"/>
<item key="item_2_getvar" value="rainIntensity.value"/>
<item key="item_2_constraints" value="range:0 1"/>
<item key="item_3_name" value="Snow Intensity"/>
<item key="item_3_type" value="sfloat"/>
<item key="item_3_setvar" value="set_snowIntensity.execute"/>
<item key="item_3_getvar" value="snowIntensity.value"/>
<item key="item_3_constraints" value="range:0 1"/>
</set> <set key="group_1">
<item key="name" value="Wind Conditions"/>
<item key="numberOfItems" value="2"/>
<item key="item_0_name" value="Wind Direction"/>
<item key="item_0_type" value="svec3"/>
<item key="item_0_handler" value="WindDirectionHandler"/>
<item key="item_0_handlerParams" value="angleOffset=0"/>
<item key="item_0_setvar" value="set_windDirection.execute"/>
<item key="item_0_getvar" value="windDirection.value"/>
<item key="item_1_name" value="Wind Intensity"/>
<item key="item_1_type" value="sfloat"/>
<item key="item_1_setvar" value="set_windIntensity.execute"/>
<item key="item_1_getvar" value="windIntensity.value"/>
<item key="item_1_constraints" value="range:0 1"/>
</set>
<!-- ... -->
</define>