<plugin class="grhi" author="conure" version="1" headersize="0">
 <text name="weapon hud screen alignment" visible="true"/>
 <enum16 name="WHSA - anchor" offset="0x0" visible="true">
  <option name="top left" vale="0"/>
  <option name="top right" vale="1"/>
  <option name="bottem left" vale="2"/>
  <option name="bottem right" vale="3"/>
  <option name="center" vale="4"/>
 </enum16>
 <text name="unit hud backround" visible="true"/>
 <short name="UHB - anchor offset - x" offset="0x24" visible="true"/>
 <short name="UHB - anchor offset - y" offset="0x26" visible="true"/>
 <float name="UHB - width scale" offset="0x28" visible="true"/>
 <float name="UHB - height scale" offset="0x2c" visible="true"/>
 <bitmask32 name="UHB - scaling flags" offset="0x30" visible="true">
  <option name="dont scale offset" vale="31"/>
  <option name="dont scale size" vale="30"/>
  <option name="use high res scale" vale="29"/>
 </bitmask32>
 <dependency name="UHB - interface bitmap" offset="0x48" visible="true"/>
 <colorByte name="UHB - default color" offset="0x58" visible="true"/>
 <colorByte name="UHB - flashing color" offset="0x5c" visible="true"/>
 <Float name="UHB - flashing period" offset="0x60" visible="true"/>
 <float name="UHB - flash delay" offset="0x64" visible="true"/>
 <short name="UHB - number of flashes" offset="0x68" visible="true"/>
 <bitmask32 name="UHB - flash flags" offset="0x6a" visible="true">
  <option name="reverse default/flashing color" value="31"/>
 </bitmask32>
 <float name="UHB - flash length" offset="0x6c" visible="true"/>
 <colorbyte name="UHB - disabled color" offset="0x70" visible="true"/>
 <short name="UHB - sequence index" offset="0x78" visible="true"/>
 <struct name="multitex overlay 1" offset="0x7c" visible="true" size="480">
  <short name="type" offset="0x0" visible="true"/>
  <enum16 name="framebufferblend func" offset="0x4" visible="true">
   <option name="alpha blend" value="0"/>
   <option name="multiply" value="1"/>
   <option name="double multiply" value="2"/>
   <option name="add" value="3"/>
   <option name="subtract" value="4"/>
   <option name="component min" value="5"/>
   <option name="component max" value="6"/>
   <option name="alpha-multiply add" value="7"/>
  </enum16>
  <text name="anchors" subtext="where you want the origin of the texture. texture uses the coordinates supplied. screen uses the origin of the screen as the origin of the texture." visible="true"/>
  <enum16 name="primary anchor" offset="0x28" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="secondary anchor" offset="0x2a" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="tertiary anchor" offset="0x2c" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <text name="blending function" subtext="how to blend the textures together" visible="true"/>
  <enum16 name="0 to 1 blend func" offset="0x2e" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <enum16 name="1 to 2 blend func" offset="0x30" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <text name="map scales" subtext="how much to scale the textures" visible="true"/>
  <float name="primary scale - x" offset="0x34" visible="true"/>
  <float name="primary scale - y" offset="0x38" visible="true"/>
  <float name="secondary scale - x" offset="0x3c" visible="true"/>
  <float name="secondary scale - y" offset="0x40" visible="true"/>
  <float name="tertiary scale - x" offset="0x44" visible="true"/>
  <float name="tertiary scale - y" offset="0x48" visible="true"/>
  <text name="map offsets" subtext="how much to offset the origin of the texture" visible="true"/>
  <float name="primary offset - x" offset="0x4c" visible="true"/>
  <float name="primary offset - y" offset="0x50" visible="true"/>
  <float name="secondary offset - x" offset="0x54" visible="true"/>
  <float name="secondary offset - y" offset="0x58" visible="true"/>
  <float name="tertiary offset - x" offset="0x5c" visible="true"/>
  <float name="tertiary offset - y" offset="0x60" visible="true"/>
  <text name="map" subtext="which map to use" visible="true"/>
  <dependency name="primary" offset="0x64" visible="true"/>
  <dependency name="secondary" offset="0x74" visible="true"/>
  <dependency name="tertiary" offset="0x84" visible="true"/>
  <enum16 name="primary wrap mode" offset="0x94" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="secondary wrap mode" offset="0x96" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="tertiary wrap mode" offset="0x98" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <struct name="effectors 1" offset="0x154" visible="true" size="220">
   <Text name="source/destination" subtext="These describe the relationship that causes the effect. *destination type is the type of variable you want to be effected. *destination tells which texture map (or geometry offset) to apply it to. *source says which value to look at when computing the effect." visible="true"/>
   <enum16 name="destination type" offset="0x40" visible="true">
    <option name="tint [0,1]" value="0"/>
    <option name="horizontal offset" value="1"/>
    <option name="vertical offset" value="2"/>
    <option name="fade [0,1]" value="3"/>
   </enum16>
   <enum16 name="destination" offset="0x42" visible="true">
    <option name="geometry offset" value="0"/>
    <option name="primary map" value="1"/>
    <option name="secondary map" value="2"/>
    <option name="tertiary map" value="3"/>
   </enum16>
   <enum16 name="source" offset="0x44" visible="true">
    <option name="player pitch" value="0"/>
    <option name="player pitch tangent" value="1"/>
    <option name="player yaw" value="2"/>
    <option name="weapon ammo (total)" value="3"/>
    <option name="weapon ammo (loaded)" value="4"/>
    <option name="weapon heat" value="5"/>
    <option name="explicit (uses low bound)" value="6"/>
    <option name="weapon zoom level" value="7"/>
   </enum16>
   <text name="in/out bounds" subtext="When the source is at the lower inbound, the destination ends up the lower outbound and vice-versa applies for the upper values." visible="true"/>
   <float name="in bounds - from" offset="0x48" visible="true"/>
   <float name="in bounds - to" offset="0x4c" visible="true"/>
   <float name="out bounds - from" offset="0x50" visible="true"/>
   <float name="out bounds - to" offset="0x54" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0x98" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0xA4" visible="true"/>
   <enum16 name="periodic function" offset="0xb0" visible="true">
    <option name="one" value="0"/>
    <option name="zero" value="1"/>
    <option name="cosine" value="2"/>
    <option name="cosine (varible period)" value="3"/>
    <option name="diagonal wave" value="4"/>
    <option name="diagonal wave (variable period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (variable period)" value="7"/>
    <option name="noise" value="8"/>
    <option name="jitter" value="9"/>
    <option name="wander" value="10"/>
    <option name="spark" value="11"/>
   </enum16>
   <float name="function period" offset="0xb4" visible="true"/>
   <float name="function phase" offset="0xb8" visible="true"/>
  </struct>
 </struct>
 <text name="shield panel background" visible="true"/>
 <short name="SPB - anchor offset - x" offset="0x8c" visible="true"/>
 <short name="SPB - anchor offset - y" offset="0x8e" visible="true"/>
 <float name="SPB - width scale" offset="0x90" visible="true"/>
 <float name="SPB - height scale" offset="0x94" visible="true"/>
 <bitmask32 name="SPB - scaling flags" offset="0x98" visible="true">
  <option name="dont scale offset" vale="31"/>
  <option name="dont scale size" vale="30"/>
  <option name="use high res scale" vale="29"/>
 </bitmask32>
 <dependency name="SPB - interface bitmap" offset="0xb0" visible="true"/>
 <colorByte name="SPB - default color" offset="0xc0" visible="true"/>
 <colorByte name="SPB - flashing color" offset="0xc4" visible="true"/>
 <Float name="SPB - flashing period" offset="0xc8" visible="true"/>
 <float name="SPB - flash delay" offset="0xcc" visible="true"/>
 <short name="SPB - number of flashes" offset="0xd0" visible="true"/>
 <bitmask32 name="SPB - flash flags" offset="0xd2" visible="true">
  <option name="reverse default/flashing color" value="31"/>
 </bitmask32>
 <float name="SPB - flash length" offset="0xd4" visible="true"/>
 <colorbyte name="SPB - disabled color" offset="0xd8" visible="true"/>
 <short name="SPB - sequence index" offset="0xe0" visible="true"/>
 <struct name="multitex overlay 2" offset="0xe4" visible="true" size="480">
  <short name="type" offset="0x0" visible="true"/>
  <enum16 name="framebufferblend func" offset="0x4" visible="true">
   <option name="alpha blend" value="0"/>
   <option name="multiply" value="1"/>
   <option name="double multiply" value="2"/>
   <option name="add" value="3"/>
   <option name="subtract" value="4"/>
   <option name="component min" value="5"/>
   <option name="component max" value="6"/>
   <option name="alpha-multiply add" value="7"/>
  </enum16>
  <text name="anchors" subtext="where you want the origin of the texture. texture uses the coordinates supplied. screen uses the origin of the screen as the origin of the texture." visible="true"/>
  <enum16 name="primary anchor" offset="0x28" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="secondary anchor" offset="0x2a" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="tertiary anchor" offset="0x2c" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <text name="blending function" subtext="how to blend the textures together" visible="true"/>
  <enum16 name="0 to 1 blend func" offset="0x2e" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <enum16 name="1 to 2 blend func" offset="0x30" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <text name="map scales" subtext="how much to scale the textures" visible="true"/>
  <float name="primary scale - x" offset="0x34" visible="true"/>
  <float name="primary scale - y" offset="0x38" visible="true"/>
  <float name="secondary scale - x" offset="0x3c" visible="true"/>
  <float name="secondary scale - y" offset="0x40" visible="true"/>
  <float name="tertiary scale - x" offset="0x44" visible="true"/>
  <float name="tertiary scale - y" offset="0x48" visible="true"/>
  <text name="map offsets" subtext="how much to offset the origin of the texture" visible="true"/>
  <float name="primary offset - x" offset="0x4c" visible="true"/>
  <float name="primary offset - y" offset="0x50" visible="true"/>
  <float name="secondary offset - x" offset="0x54" visible="true"/>
  <float name="secondary offset - y" offset="0x58" visible="true"/>
  <float name="tertiary offset - x" offset="0x5c" visible="true"/>
  <float name="tertiary offset - y" offset="0x60" visible="true"/>
  <text name="map" subtext="which map to use" visible="true"/>
  <dependency name="primary" offset="0x64" visible="true"/>
  <dependency name="secondary" offset="0x74" visible="true"/>
  <dependency name="tertiary" offset="0x84" visible="true"/>
  <enum16 name="primary wrap mode" offset="0x94" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="secondary wrap mode" offset="0x96" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="tertiary wrap mode" offset="0x98" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <struct name="effectors 2" offset="0x154" visible="true" size="220">
   <Text name="source/destination" subtext="These describe the relationship that causes the effect. *destination type is the type of variable you want to be effected. *destination tells which texture map (or geometry offset) to apply it to. *source says which value to look at when computing the effect." visible="true"/>
   <enum16 name="destination type" offset="0x40" visible="true">
    <option name="tint [0,1]" value="0"/>
    <option name="horizontal offset" value="1"/>
    <option name="vertical offset" value="2"/>
    <option name="fade [0,1]" value="3"/>
   </enum16>
   <enum16 name="destination" offset="0x42" visible="true">
    <option name="geometry offset" value="0"/>
    <option name="primary map" value="1"/>
    <option name="secondary map" value="2"/>
    <option name="tertiary map" value="3"/>
   </enum16>
   <enum16 name="source" offset="0x44" visible="true">
    <option name="player pitch" value="0"/>
    <option name="player pitch tangent" value="1"/>
    <option name="player yaw" value="2"/>
    <option name="weapon ammo (total)" value="3"/>
    <option name="weapon ammo (loaded)" value="4"/>
    <option name="weapon heat" value="5"/>
    <option name="explicit (uses low bound)" value="6"/>
    <option name="weapon zoom level" value="7"/>
   </enum16>
   <text name="in/out bounds" subtext="When the source is at the lower inbound, the destination ends up the lower outbound and vice-versa applies for the upper values." visible="true"/>
   <float name="in bounds - from" offset="0x48" visible="true"/>
   <float name="in bounds - to" offset="0x4c" visible="true"/>
   <float name="out bounds - from" offset="0x50" visible="true"/>
   <float name="out bounds - to" offset="0x54" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0x98" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0xA4" visible="true"/>
   <enum16 name="periodic function" offset="0xb0" visible="true">
    <option name="one" value="0"/>
    <option name="zero" value="1"/>
    <option name="cosine" value="2"/>
    <option name="cosine (varible period)" value="3"/>
    <option name="diagonal wave" value="4"/>
    <option name="diagonal wave (variable period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (variable period)" value="7"/>
    <option name="noise" value="8"/>
    <option name="jitter" value="9"/>
    <option name="wander" value="10"/>
    <option name="spark" value="11"/>
   </enum16>
   <float name="function period" offset="0xb4" visible="true"/>
   <float name="function phase" offset="0xb8" visible="true"/>
  </struct>
 </struct>
 <text name="shield panel meter" visible="true"/>
 <short name="SPM - anchor offset - x" offset="0xf4" visible="true"/>
 <short name="SPM - anchor offset - y" offset="0xf6" visible="true"/>
 <float name="SPM - width scale" offset="0xf8" visible="true"/>
 <float name="SPM - height scale" offset="0xfc" visible="true"/>
 <bitmask32 name="SPM - scaling flags" offset="0x100" visible="true">
  <option name="dont scale offset" value="31"/>
  <option name="dont scale size" value="30"/>
  <option name="use high res scale" value="29"/>
 </bitmask32>
 <dependency name="SPM - meter bitmap" offset="0x118" visible="true"/>
 <colorByte name="SPM - color at meter minimum" offset="0x128" visible="true"/>
 <colorByte name="SPM - color at meter maximum" offset="0x12c" visible="true"/>
 <colorByte name="SPM - flash color" offset="0x130" visible="true"/>
 <colorByte name="SPM - empty color" offset="0x134" visible="true"/>
 <bitmask8 name="SPM - flags" offset="0x138" visible="true">
  <option name="use min/max for state change" value="7"/>
  <option name="interpolate between min/max flash colors" value="6"/>
  <option name="interpolate color along hsv space" value="5"/>
  <option name="...more colors for hsv interpolation" value="4"/>
  <option name="invert interpolation" value="3"/>
 </bitmask8>
 <char name="SPM - minumum meter value" offset="0x139" visible="true"/>
 <short name="SPM - sequence index" offset="0x13a" visible="true"/>
 <char name="SPM - alpha multiplier" offset="0x13c" visible="true"/>
 <char name="SPM - alpha bias" offset="0x13d" visible="true"/>
 <short name="SPM - value scale" offset="0x13e" visible="true"/>
 <float name="SPM - opacity" offset="0x140" visible="true"/>
 <float name="SPM - translucency" offset="0x144" visible="true"/>
 <colorbyte name="SPM - disabled color" offset="0x148" visible="true"/>
 <colorbyte name="SPM - overcharge minimum color" offset="0x15c" visible="true"/>
 <colorbyte name="SPM - overcharge maximum color" offset="0x160" visible="true"/>
 <colorbyte name="SPM - overcharge flash color" offset="0x164" visible="true"/>
 <colorbyte name="SPM - overcharge empty color" offset="0x168" visible="true"/>
 <text name="health panel background" visible="true"/>
 <short name="HPB - anchor offset - x" offset="0x17c" visible="true"/>
 <short name="HPB - anchor offset - y" offset="0x17e" visible="true"/>
 <float name="HPB - width scale" offset="0x180" visible="true"/>
 <float name="HPB - height scale" offset="0x184" visible="true"/>
 <bitmask32 name="HPB - scaling flags" offset="0x188" visible="true">
  <option name="dont scale offset" vale="31"/>
  <option name="dont scale size" vale="30"/>
  <option name="use high res scale" vale="29"/>
 </bitmask32>
 <dependency name="HPB - interface bitmap" offset="0x1a0" visible="true"/>
 <colorByte name="HPB - default color" offset="0x1b0" visible="true"/>
 <colorByte name="HPB - flashing color" offset="0x1b4" visible="true"/>
 <Float name="HPB - flashing period" offset="0x1b8" visible="true"/>
 <float name="HPB - flash delay" offset="0x1bc" visible="true"/>
 <short name="HPB - number of flashes" offset="0x1c0" visible="true"/>
 <bitmask32 name="HPB - flash flags" offset="0x1c2" visible="true">
  <option name="reverse default/flashing color" value="31"/>
 </bitmask32>
 <float name="HPB - flash length" offset="0x1c4" visible="true"/>
 <colorbyte name="HPB - disabled color" offset="0x1c8" visible="true"/>
 <short name="HPB - sequence index" offset="0x1d0" visible="true"/>
 <struct name="multitex overlay 3" offset="0x1d4" visible="true" size="480">
  <short name="type" offset="0x0" visible="true"/>
  <enum16 name="framebufferblend func" offset="0x4" visible="true">
   <option name="alpha blend" value="0"/>
   <option name="multiply" value="1"/>
   <option name="double multiply" value="2"/>
   <option name="add" value="3"/>
   <option name="subtract" value="4"/>
   <option name="component min" value="5"/>
   <option name="component max" value="6"/>
   <option name="alpha-multiply add" value="7"/>
  </enum16>
  <text name="anchors" subtext="where you want the origin of the texture. texture uses the coordinates supplied. screen uses the origin of the screen as the origin of the texture." visible="true"/>
  <enum16 name="primary anchor" offset="0x28" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="secondary anchor" offset="0x2a" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="tertiary anchor" offset="0x2c" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <text name="blending function" subtext="how to blend the textures together" visible="true"/>
  <enum16 name="0 to 1 blend func" offset="0x2e" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <enum16 name="1 to 2 blend func" offset="0x30" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <text name="map scales" subtext="how much to scale the textures" visible="true"/>
  <float name="primary scale - x" offset="0x34" visible="true"/>
  <float name="primary scale - y" offset="0x38" visible="true"/>
  <float name="secondary scale - x" offset="0x3c" visible="true"/>
  <float name="secondary scale - y" offset="0x40" visible="true"/>
  <float name="tertiary scale - x" offset="0x44" visible="true"/>
  <float name="tertiary scale - y" offset="0x48" visible="true"/>
  <text name="map offsets" subtext="how much to offset the origin of the texture" visible="true"/>
  <float name="primary offset - x" offset="0x4c" visible="true"/>
  <float name="primary offset - y" offset="0x50" visible="true"/>
  <float name="secondary offset - x" offset="0x54" visible="true"/>
  <float name="secondary offset - y" offset="0x58" visible="true"/>
  <float name="tertiary offset - x" offset="0x5c" visible="true"/>
  <float name="tertiary offset - y" offset="0x60" visible="true"/>
  <text name="map" subtext="which map to use" visible="true"/>
  <dependency name="primary" offset="0x64" visible="true"/>
  <dependency name="secondary" offset="0x74" visible="true"/>
  <dependency name="tertiary" offset="0x84" visible="true"/>
  <enum16 name="primary wrap mode" offset="0x94" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="secondary wrap mode" offset="0x96" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="tertiary wrap mode" offset="0x98" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <struct name="effectors 3" offset="0x154" visible="true" size="220">
   <Text name="source/destination" subtext="These describe the relationship that causes the effect. *destination type is the type of variable you want to be effected. *destination tells which texture map (or geometry offset) to apply it to. *source says which value to look at when computing the effect." visible="true"/>
   <enum16 name="destination type" offset="0x40" visible="true">
    <option name="tint [0,1]" value="0"/>
    <option name="horizontal offset" value="1"/>
    <option name="vertical offset" value="2"/>
    <option name="fade [0,1]" value="3"/>
   </enum16>
   <enum16 name="destination" offset="0x42" visible="true">
    <option name="geometry offset" value="0"/>
    <option name="primary map" value="1"/>
    <option name="secondary map" value="2"/>
    <option name="tertiary map" value="3"/>
   </enum16>
   <enum16 name="source" offset="0x44" visible="true">
    <option name="player pitch" value="0"/>
    <option name="player pitch tangent" value="1"/>
    <option name="player yaw" value="2"/>
    <option name="weapon ammo (total)" value="3"/>
    <option name="weapon ammo (loaded)" value="4"/>
    <option name="weapon heat" value="5"/>
    <option name="explicit (uses low bound)" value="6"/>
    <option name="weapon zoom level" value="7"/>
   </enum16>
   <text name="in/out bounds" subtext="When the source is at the lower inbound, the destination ends up the lower outbound and vice-versa applies for the upper values." visible="true"/>
   <float name="in bounds - from" offset="0x48" visible="true"/>
   <float name="in bounds - to" offset="0x4c" visible="true"/>
   <float name="out bounds - from" offset="0x50" visible="true"/>
   <float name="out bounds - to" offset="0x54" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0x98" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0xA4" visible="true"/>
   <enum16 name="periodic function" offset="0xb0" visible="true">
    <option name="one" value="0"/>
    <option name="zero" value="1"/>
    <option name="cosine" value="2"/>
    <option name="cosine (varible period)" value="3"/>
    <option name="diagonal wave" value="4"/>
    <option name="diagonal wave (variable period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (variable period)" value="7"/>
    <option name="noise" value="8"/>
    <option name="jitter" value="9"/>
    <option name="wander" value="10"/>
    <option name="spark" value="11"/>
   </enum16>
   <float name="function period" offset="0xb4" visible="true"/>
   <float name="function phase" offset="0xb8" visible="true"/>
  </struct>
 </struct>
 <text name="health panel meter" visible="true"/>
 <short name="HPM - anchor offset - x" offset="0x1e4" visible="true"/>
 <short name="HPM - anchor offset - y" offset="0x1e6" visible="true"/>
 <float name="HPM - width scale" offset="0x1e8" visible="true"/>
 <float name="HPM - height scale" offset="0x1ec" visible="true"/>
 <bitmask32 name="HPM - scaling flags" offset="0x1f0" visible="true">
  <option name="dont scale offset" value="31"/>
  <option name="dont scale size" value="30"/>
  <option name="use high res scale" value="29"/>
 </bitmask32>
 <dependency name="HPM - meter bitmap" offset="0x208" visible="true"/>
 <colorByte name="HPM - color at meter minimum" offset="0x218" visible="true"/>
 <colorByte name="HPM - color at meter maximum" offset="0x21c" visible="true"/>
 <colorByte name="HPM - flash color" offset="0x220" visible="true"/>
 <colorByte name="HPM - empty color" offset="0x224" visible="true"/>
 <bitmask8 name="HPM - flags" offset="0x228" visible="true">
  <option name="use min/max for state change" value="7"/>
  <option name="interpolate between min/max flash colors" value="6"/>
  <option name="interpolate color along hsv space" value="5"/>
  <option name="...more colors for hsv interpolation" value="4"/>
  <option name="invert interpolation" value="3"/>
 </bitmask8>
 <char name="HPM - minumum meter value" offset="0x229" visible="true"/>
 <short name="HPM - sequence index" offset="0x22a" visible="true"/>
 <char name="HPM - alpha multiplier" offset="0x22c" visible="true"/>
 <char name="HPM - alpha bias" offset="0x22d" visible="true"/>
 <short name="HPM - value scale" offset="0x22e" visible="true"/>
 <float name="HPM - opacity" offset="0x230" visible="true"/>
 <float name="HPM - translucency" offset="0x234" visible="true"/>
 <colorbyte name="HPM - disabled color" offset="0x238" visible="true"/>
 <colorbyte name="HPM - medium health color" offset="0x24c" visible="true"/>
 <float name="HPM - max color health fraction cutoff" offset="0x250" visible="true"/>
 <float name="HPM - min color health fraction cutoff" offset="0x254" visible="true"/>
 <text name="motion sensor background" visible="true"/>
 <short name="MSB - anchor offset - x" offset="0x26c" visible="true"/>
 <short name="MSB - anchor offset - y" offset="0x26e" visible="true"/>
 <float name="MSB - width scale" offset="0x270" visible="true"/>
 <float name="MSB - height scale" offset="0x274" visible="true"/>
 <bitmask32 name="MSB - scaling flags" offset="0x278" visible="true">
  <option name="dont scale offset" vale="31"/>
  <option name="dont scale size" vale="30"/>
  <option name="use high res scale" vale="29"/>
 </bitmask32>
 <dependency name="MSB - interface bitmap" offset="0x290" visible="true"/>
 <colorByte name="MSB - default color" offset="0x2a0" visible="true"/>
 <colorByte name="MSB - flashing color" offset="0x2a4" visible="true"/>
 <Float name="MSB - flashing period" offset="0x2a8" visible="true"/>
 <float name="MSB - flash delay" offset="0x2ac" visible="true"/>
 <short name="MSB - number of flashes" offset="0x2b0" visible="true"/>
 <bitmask32 name="MSB - flash flags" offset="0x2b2" visible="true">
  <option name="reverse default/flashing color" value="31"/>
 </bitmask32>
 <float name="MSB - flash length" offset="0x2b4" visible="true"/>
 <colorbyte name="MSB - disabled color" offset="0x2b8" visible="true"/>
 <short name="MSB - sequence index" offset="0x2c0" visible="true"/>
 <struct name="multitex overlay 4" offset="0x2c4" visible="true" size="480">
  <short name="type" offset="0x0" visible="true"/>
  <enum16 name="framebufferblend func" offset="0x4" visible="true">
   <option name="alpha blend" value="0"/>
   <option name="multiply" value="1"/>
   <option name="double multiply" value="2"/>
   <option name="add" value="3"/>
   <option name="subtract" value="4"/>
   <option name="component min" value="5"/>
   <option name="component max" value="6"/>
   <option name="alpha-multiply add" value="7"/>
  </enum16>
  <text name="anchors" subtext="where you want the origin of the texture. texture uses the coordinates supplied. screen uses the origin of the screen as the origin of the texture." visible="true"/>
  <enum16 name="primary anchor" offset="0x28" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="secondary anchor" offset="0x2a" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="tertiary anchor" offset="0x2c" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <text name="blending function" subtext="how to blend the textures together" visible="true"/>
  <enum16 name="0 to 1 blend func" offset="0x2e" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <enum16 name="1 to 2 blend func" offset="0x30" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <text name="map scales" subtext="how much to scale the textures" visible="true"/>
  <float name="primary scale - x" offset="0x34" visible="true"/>
  <float name="primary scale - y" offset="0x38" visible="true"/>
  <float name="secondary scale - x" offset="0x3c" visible="true"/>
  <float name="secondary scale - y" offset="0x40" visible="true"/>
  <float name="tertiary scale - x" offset="0x44" visible="true"/>
  <float name="tertiary scale - y" offset="0x48" visible="true"/>
  <text name="map offsets" subtext="how much to offset the origin of the texture" visible="true"/>
  <float name="primary offset - x" offset="0x4c" visible="true"/>
  <float name="primary offset - y" offset="0x50" visible="true"/>
  <float name="secondary offset - x" offset="0x54" visible="true"/>
  <float name="secondary offset - y" offset="0x58" visible="true"/>
  <float name="tertiary offset - x" offset="0x5c" visible="true"/>
  <float name="tertiary offset - y" offset="0x60" visible="true"/>
  <text name="map" subtext="which map to use" visible="true"/>
  <dependency name="primary" offset="0x64" visible="true"/>
  <dependency name="secondary" offset="0x74" visible="true"/>
  <dependency name="tertiary" offset="0x84" visible="true"/>
  <enum16 name="primary wrap mode" offset="0x94" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="secondary wrap mode" offset="0x96" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="tertiary wrap mode" offset="0x98" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <struct name="effectors" offset="0x154" visible="true" size="220">
   <Text name="source/destination" subtext="These describe the relationship that causes the effect. *destination type is the type of variable you want to be effected. *destination tells which texture map (or geometry offset) to apply it to. *source says which value to look at when computing the effect." visible="true"/>
   <enum16 name="destination type" offset="0x40" visible="true">
    <option name="tint [0,1]" value="0"/>
    <option name="horizontal offset" value="1"/>
    <option name="vertical offset" value="2"/>
    <option name="fade [0,1]" value="3"/>
   </enum16>
   <enum16 name="destination" offset="0x42" visible="true">
    <option name="geometry offset" value="0"/>
    <option name="primary map" value="1"/>
    <option name="secondary map" value="2"/>
    <option name="tertiary map" value="3"/>
   </enum16>
   <enum16 name="source" offset="0x44" visible="true">
    <option name="player pitch" value="0"/>
    <option name="player pitch tangent" value="1"/>
    <option name="player yaw" value="2"/>
    <option name="weapon ammo (total)" value="3"/>
    <option name="weapon ammo (loaded)" value="4"/>
    <option name="weapon heat" value="5"/>
    <option name="explicit (uses low bound)" value="6"/>
    <option name="weapon zoom level" value="7"/>
   </enum16>
   <text name="in/out bounds" subtext="When the source is at the lower inbound, the destination ends up the lower outbound and vice-versa applies for the upper values." visible="true"/>
   <float name="in bounds - from" offset="0x48" visible="true"/>
   <float name="in bounds - to" offset="0x4c" visible="true"/>
   <float name="out bounds - from" offset="0x50" visible="true"/>
   <float name="out bounds - to" offset="0x54" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0x98" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0xA4" visible="true"/>
   <enum16 name="periodic function" offset="0xb0" visible="true">
    <option name="one" value="0"/>
    <option name="zero" value="1"/>
    <option name="cosine" value="2"/>
    <option name="cosine (varible period)" value="3"/>
    <option name="diagonal wave" value="4"/>
    <option name="diagonal wave (variable period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (variable period)" value="7"/>
    <option name="noise" value="8"/>
    <option name="jitter" value="9"/>
    <option name="wander" value="10"/>
    <option name="spark" value="11"/>
   </enum16>
   <float name="function period" offset="0xb4" visible="true"/>
   <float name="function phase" offset="0xb8" visible="true"/>
  </struct>
 </struct>
 <text name="motion sensor foreground" visible="true"/>
 <short name="MSF - anchor offset - x" offset="0x2D4" visible="true"/>
 <short name="MSF - anchor offset - y" offset="0x2D6" visible="true"/>
 <float name="MSF - width scale" offset="0x2D8" visible="true"/>
 <float name="MSF - height scale" offset="0x2DC" visible="true"/>
 <bitmask32 name="MSF - scaling flags" offset="0x2E0" visible="true">
  <option name="dont scale offset" vale="31"/>
  <option name="dont scale size" vale="30"/>
  <option name="use high res scale" vale="29"/>
 </bitmask32>
 <dependency name="MSF - interface bitmap" offset="0x2F8" visible="true"/>
 <colorByte name="MSF - default color" offset="0x308" visible="true"/>
 <colorByte name="MSF - flashing color" offset="0x30C" visible="true"/>
 <Float name="MSF - flashing period" offset="0x310" visible="true"/>
 <float name="MSF - flash delay" offset="0x314" visible="true"/>
 <short name="MSF - number of flashes" offset="0x318" visible="true"/>
 <bitmask32 name="MSF - flash flags" offset="0x31A" visible="true">
  <option name="reverse default/flashing color" value="31"/>
 </bitmask32>
 <float name="MSF - flash length" offset="0x31C" visible="true"/>
 <colorbyte name="MSF - disabled color" offset="0x320" visible="true"/>
 <short name="MSF - sequence index" offset="0x328" visible="true"/>
 <struct name="multitex overlay 5" offset="0x32c" visible="true" size="480">
  <short name="type" offset="0x0" visible="true"/>
  <enum16 name="framebufferblend func" offset="0x4" visible="true">
   <option name="alpha blend" value="0"/>
   <option name="multiply" value="1"/>
   <option name="double multiply" value="2"/>
   <option name="add" value="3"/>
   <option name="subtract" value="4"/>
   <option name="component min" value="5"/>
   <option name="component max" value="6"/>
   <option name="alpha-multiply add" value="7"/>
  </enum16>
  <text name="anchors" subtext="where you want the origin of the texture. texture uses the coordinates supplied. screen uses the origin of the screen as the origin of the texture." visible="true"/>
  <enum16 name="primary anchor" offset="0x28" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="secondary anchor" offset="0x2a" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <enum16 name="tertiary anchor" offset="0x2c" visible="true">
   <option name="texture" value="0"/>
   <option name="screen" value="1"/>
  </enum16>
  <text name="blending function" subtext="how to blend the textures together" visible="true"/>
  <enum16 name="0 to 1 blend func" offset="0x2e" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <enum16 name="1 to 2 blend func" offset="0x30" visible="true">
   <option name="add" value="0"/>
   <option name="subtract" value="1"/>
   <option name="multiply" value="2"/>
   <option name="multiply2x" value="3"/>
   <option name="dot" value="4"/>
  </enum16>
  <text name="map scales" subtext="how much to scale the textures" visible="true"/>
  <float name="primary scale - x" offset="0x34" visible="true"/>
  <float name="primary scale - y" offset="0x38" visible="true"/>
  <float name="secondary scale - x" offset="0x3c" visible="true"/>
  <float name="secondary scale - y" offset="0x40" visible="true"/>
  <float name="tertiary scale - x" offset="0x44" visible="true"/>
  <float name="tertiary scale - y" offset="0x48" visible="true"/>
  <text name="map offsets" subtext="how much to offset the origin of the texture" visible="true"/>
  <float name="primary offset - x" offset="0x4c" visible="true"/>
  <float name="primary offset - y" offset="0x50" visible="true"/>
  <float name="secondary offset - x" offset="0x54" visible="true"/>
  <float name="secondary offset - y" offset="0x58" visible="true"/>
  <float name="tertiary offset - x" offset="0x5c" visible="true"/>
  <float name="tertiary offset - y" offset="0x60" visible="true"/>
  <text name="map" subtext="which map to use" visible="true"/>
  <dependency name="primary" offset="0x64" visible="true"/>
  <dependency name="secondary" offset="0x74" visible="true"/>
  <dependency name="tertiary" offset="0x84" visible="true"/>
  <enum16 name="primary wrap mode" offset="0x94" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="secondary wrap mode" offset="0x96" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <enum16 name="tertiary wrap mode" offset="0x98" visible="true">
   <option name="clamp" value="0"/>
   <option name="wrap" value="1"/>
  </enum16>
  <struct name="effectors" offset="0x154" visible="true" size="220">
   <Text name="source/destination" subtext="These describe the relationship that causes the effect. *destination type is the type of variable you want to be effected. *destination tells which texture map (or geometry offset) to apply it to. *source says which value to look at when computing the effect." visible="true"/>
   <enum16 name="destination type" offset="0x40" visible="true">
    <option name="tint [0,1]" value="0"/>
    <option name="horizontal offset" value="1"/>
    <option name="vertical offset" value="2"/>
    <option name="fade [0,1]" value="3"/>
   </enum16>
   <enum16 name="destination" offset="0x42" visible="true">
    <option name="geometry offset" value="0"/>
    <option name="primary map" value="1"/>
    <option name="secondary map" value="2"/>
    <option name="tertiary map" value="3"/>
   </enum16>
   <enum16 name="source" offset="0x44" visible="true">
    <option name="player pitch" value="0"/>
    <option name="player pitch tangent" value="1"/>
    <option name="player yaw" value="2"/>
    <option name="weapon ammo (total)" value="3"/>
    <option name="weapon ammo (loaded)" value="4"/>
    <option name="weapon heat" value="5"/>
    <option name="explicit (uses low bound)" value="6"/>
    <option name="weapon zoom level" value="7"/>
   </enum16>
   <text name="in/out bounds" subtext="When the source is at the lower inbound, the destination ends up the lower outbound and vice-versa applies for the upper values." visible="true"/>
   <float name="in bounds - from" offset="0x48" visible="true"/>
   <float name="in bounds - to" offset="0x4c" visible="true"/>
   <float name="out bounds - from" offset="0x50" visible="true"/>
   <float name="out bounds - to" offset="0x54" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0x98" visible="true"/>
   <colorRGB name="tint color lower bound" offset="0xA4" visible="true"/>
   <enum16 name="periodic function" offset="0xb0" visible="true">
    <option name="one" value="0"/>
    <option name="zero" value="1"/>
    <option name="cosine" value="2"/>
    <option name="cosine (varible period)" value="3"/>
    <option name="diagonal wave" value="4"/>
    <option name="diagonal wave (variable period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (variable period)" value="7"/>
    <option name="noise" value="8"/>
    <option name="jitter" value="9"/>
    <option name="wander" value="10"/>
    <option name="spark" value="11"/>
   </enum16>
   <float name="function period" offset="0xb4" visible="true"/>
   <float name="function phase" offset="0xb8" visible="true"/>
  </struct>
 </struct>
 <text name="motion sensor center" visible="true"/>
 <short name="MSC - anchor offset - x" offset="0x35C" visible="true"/>
 <short name="MSC - anchor offset - y" offset="0x35e" visible="true"/>
 <float name="MSC - width scale" offset="0x360" visible="true"/>
 <float name="MSC - height scale" offset="0x364" visible="true"/>
 <bitmask32 name="MSC - scaling flags" offset="0x368" visible="true">
  <option name="dont scale offset" vale="31"/>
  <option name="dont scale size" vale="30"/>
  <option name="use high res scale" vale="29"/>
 </bitmask32>
 <text name="auxilary overlays" visible="true"/>
 <enum16 name="AO - anchor" offset="0x380" visible="true">
  <option name="top left" vale="0"/>
  <option name="top right" vale="1"/>
  <option name="bottem left" vale="2"/>
  <option name="bottem right" vale="3"/>
  <option name="center" vale="4"/>
 </enum16>
 <struct name="overlays" offset="0x3a4" visible="true" size="132">
  <short name="anchor offset - x" offset="0x0" visible="true"/>
  <short name="anchor offset - y" offset="0x2" visible="true"/>
  <float name="width scale" offset="0x4" visible="true"/>
  <float name="height scale" offset="0x8" visible="true"/>
  <bitmask32 name="scaling flags" offset="0xc" visible="true">
   <option name="dont scale offset" vale="31"/>
   <option name="dont scale size" vale="30"/>
   <option name="use high res scale" vale="29"/>
  </bitmask32>
  <dependency name="interface bitmap" offset="0x24" visible="true"/>
  <colorByte name="default color" offset="0x34" visible="true"/>
  <colorByte name="flashing color" offset="0x38" visible="true"/>
  <Float name="flashing period" offset="0x3c" visible="true"/>
  <float name="flash delay" offset="0x40" visible="true"/>
  <short name="number of flashes" offset="0x44" visible="true"/>
  <bitmask32 name="flash flags" offset="0x46" visible="true">
   <option name="reverse default/flashing color" value="31"/>
  </bitmask32>
  <float name="flash length" offset="0x48" visible="true"/>
  <colorbyte name="disabled color" offset="0x4c" visible="true"/>
  <short name="sequence index" offset="0x54" visible="true"/>
  <bitmask32 name="flags" offset="0x6a" visible="true">
   <option name="use team color" value="31"/>
  </bitmask32>
  <struct name="multitex overlay" offset="0x58" visible="true" size="480">
   <short name="type" offset="0x0" visible="true"/>
   <enum16 name="framebufferblend func" offset="0x4" visible="true">
    <option name="alpha blend" value="0"/>
    <option name="multiply" value="1"/>
    <option name="double multiply" value="2"/>
    <option name="add" value="3"/>
    <option name="subtract" value="4"/>
    <option name="component min" value="5"/>
    <option name="component max" value="6"/>
    <option name="alpha-multiply add" value="7"/>
   </enum16>
   <text name="anchors" subtext="where you want the origin of the texture. texture uses the coordinates supplied. screen uses the origin of the screen as the origin of the texture." visible="true"/>
   <enum16 name="primary anchor" offset="0x28" visible="true">
    <option name="texture" value="0"/>
    <option name="screen" value="1"/>
   </enum16>
   <enum16 name="secondary anchor" offset="0x2a" visible="true">
    <option name="texture" value="0"/>
    <option name="screen" value="1"/>
   </enum16>
   <enum16 name="tertiary anchor" offset="0x2c" visible="true">
    <option name="texture" value="0"/>
    <option name="screen" value="1"/>
   </enum16>
   <text name="blending function" subtext="how to blend the textures together" visible="true"/>
   <enum16 name="0 to 1 blend func" offset="0x2e" visible="true">
    <option name="add" value="0"/>
    <option name="subtract" value="1"/>
    <option name="multiply" value="2"/>
    <option name="multiply2x" value="3"/>
    <option name="dot" value="4"/>
   </enum16>
   <enum16 name="1 to 2 blend func" offset="0x30" visible="true">
    <option name="add" value="0"/>
    <option name="subtract" value="1"/>
    <option name="multiply" value="2"/>
    <option name="multiply2x" value="3"/>
    <option name="dot" value="4"/>
   </enum16>
   <text name="map scales" subtext="how much to scale the textures" visible="true"/>
   <float name="primary scale - x" offset="0x34" visible="true"/>
   <float name="primary scale - y" offset="0x38" visible="true"/>
   <float name="secondary scale - x" offset="0x3c" visible="true"/>
   <float name="secondary scale - y" offset="0x40" visible="true"/>
   <float name="tertiary scale - x" offset="0x44" visible="true"/>
   <float name="tertiary scale - y" offset="0x48" visible="true"/>
   <text name="map offsets" subtext="how much to offset the origin of the texture" visible="true"/>
   <float name="primary offset - x" offset="0x4c" visible="true"/>
   <float name="primary offset - y" offset="0x50" visible="true"/>
   <float name="secondary offset - x" offset="0x54" visible="true"/>
   <float name="secondary offset - y" offset="0x58" visible="true"/>
   <float name="tertiary offset - x" offset="0x5c" visible="true"/>
   <float name="tertiary offset - y" offset="0x60" visible="true"/>
   <text name="map" subtext="which map to use" visible="true"/>
   <dependency name="primary" offset="0x64" visible="true"/>
   <dependency name="secondary" offset="0x74" visible="true"/>
   <dependency name="tertiary" offset="0x84" visible="true"/>
   <enum16 name="primary wrap mode" offset="0x94" visible="true">
    <option name="clamp" value="0"/>
    <option name="wrap" value="1"/>
   </enum16>
   <enum16 name="secondary wrap mode" offset="0x96" visible="true">
    <option name="clamp" value="0"/>
    <option name="wrap" value="1"/>
   </enum16>
   <enum16 name="tertiary wrap mode" offset="0x98" visible="true">
    <option name="clamp" value="0"/>
    <option name="wrap" value="1"/>
   </enum16>
   <struct name="effectors" offset="0x154" visible="true" size="220">
    <Text name="source/destination" subtext="These describe the relationship that causes the effect. *destination type is the type of variable you want to be effected. *destination tells which texture map (or geometry offset) to apply it to. *source says which value to look at when computing the effect." visible="true"/>
    <enum16 name="destination type" offset="0x40" visible="true">
     <option name="tint [0,1]" value="0"/>
     <option name="horizontal offset" value="1"/>
     <option name="vertical offset" value="2"/>
     <option name="fade [0,1]" value="3"/>
    </enum16>
    <enum16 name="destination" offset="0x42" visible="true">
     <option name="geometry offset" value="0"/>
     <option name="primary map" value="1"/>
     <option name="secondary map" value="2"/>
     <option name="tertiary map" value="3"/>
    </enum16>
    <enum16 name="source" offset="0x44" visible="true">
     <option name="player pitch" value="0"/>
     <option name="player pitch tangent" value="1"/>
     <option name="player yaw" value="2"/>
     <option name="weapon ammo (total)" value="3"/>
     <option name="weapon ammo (loaded)" value="4"/>
     <option name="weapon heat" value="5"/>
     <option name="explicit (uses low bound)" value="6"/>
     <option name="weapon zoom level" value="7"/>
    </enum16>
    <text name="in/out bounds" subtext="When the source is at the lower inbound, the destination ends up the lower outbound and vice-versa applies for the upper values." visible="true"/>
    <float name="in bounds - from" offset="0x48" visible="true"/>
    <float name="in bounds - to" offset="0x4c" visible="true"/>
    <float name="out bounds - from" offset="0x50" visible="true"/>
    <float name="out bounds - to" offset="0x54" visible="true"/>
    <colorRGB name="tint color lower bound" offset="0x98" visible="true"/>
    <colorRGB name="tint color lower bound" offset="0xA4" visible="true"/>
    <enum16 name="periodic function" offset="0xb0" visible="true">
     <option name="one" value="0"/>
     <option name="zero" value="1"/>
     <option name="cosine" value="2"/>
     <option name="cosine (varible period)" value="3"/>
     <option name="diagonal wave" value="4"/>
     <option name="diagonal wave (variable period)" value="5"/>
     <option name="slide" value="6"/>
     <option name="slide (variable period)" value="7"/>
     <option name="noise" value="8"/>
     <option name="jitter" value="9"/>
     <option name="wander" value="10"/>
     <option name="spark" value="11"/>
    </enum16>
    <float name="function period" offset="0xb4" visible="true"/>
    <float name="function phase" offset="0xb8" visible="true"/>
   </struct>
  </struct>
 </struct>
 <text name="hud warning sound" visible="true"/>
 <struct name="sounds" offset="0x3c0" visible="true" size="56">
  <dependency name="sound" offset="0x0" visible="true"/>
  <bitmask32 name="latched to" offset="0x10" visible="true">
   <option name="shield recharging" value="31"/>
   <option name="shield damaged" value="30"/>
   <option name="shield low" value="29"/>
   <option name="shield empty" value="28"/>
   <option name="health low" value="27"/>
   <option name="health empty" value="26"/>
   <option name="health minor damage" value="25"/>
   <option name="health major damage" value="24"/>
  </bitmask32>
  <float name="scale" offset="0x14" visible="true"/>
 </struct>
 <struct name="meters" offset="0x3cc" visible="true" size="324">
 <text name="background" visible="true"/>
  <short name="B - anchor offset - x" offset="0x14" visible="true"/>
  <short name="B - anchor offset - y" offset="0x16" visible="true"/>
  <float name="B - width scale" offset="0x18" visible="true"/>
  <float name="B - height scale" offset="0x1c" visible="true"/>
  <bitmask32 name="B - scaling flags" offset="0x20" visible="true">
   <option name="dont scale offset" vale="31"/>
   <option name="dont scale size" vale="30"/>
   <option name="use high res scale" vale="29"/>
  </bitmask32>
  <dependency name="B - interface bitmap" offset="0x38" visible="true"/>
  <colorByte name="B - default color" offset="0x48" visible="true"/>
  <colorByte name="B - flashing color" offset="0x4c" visible="true"/>
  <Float name="B - flashing period" offset="0x50" visible="true"/>
  <float name="B - flash delay" offset="0x54" visible="true"/>
  <short name="B - number of flashes" offset="0x58" visible="true"/>
  <bitmask32 name="B - flash flags" offset="0x5a" visible="true">
   <option name="reverse default/flashing color" value="31"/>
  </bitmask32>
  <float name="B - flash length" offset="0x5c" visible="true"/>
  <colorbyte name="B - disabled color" offset="0x60" visible="true"/>
  <short name="B - sequence index" offset="0x68" visible="true"/>
  <text name="meter" visible="true"/>
  <short name="M - anchor offset - x" offset="0x7C" visible="true"/>
  <short name="M - anchor offset - y" offset="0x7E" visible="true"/>
  <float name="M - width scale" offset="0x80" visible="true"/>
  <float name="M - height scale" offset="0x84" visible="true"/>
  <bitmask32 name="M - scaling flags" offset="0x88" visible="true">
   <option name="dont scale offset" value="31"/>
   <option name="dont scale size" value="30"/>
   <option name="use high res scale" value="29"/>
  </bitmask32>
  <dependency name="M - meter bitmap" offset="0xA0" visible="true"/>
  <colorByte name="M - color at meter minimum" offset="0xB0" visible="true"/>
  <colorByte name="M - color at meter maximum" offset="0xB4" visible="true"/>
  <colorByte name="M - flash color" offset="0xB8" visible="true"/>
  <colorByte name="M - empty color" offset="0xBC" visible="true"/>
  <bitmask8 name="M - flags" offset="0xC0" visible="true">
   <option name="use min/max for state change" value="7"/>
   <option name="interpolate between min/max flash colors" value="6"/>
   <option name="interpolate color along hsv space" value="5"/>
   <option name="...more colors for hsv interpolation" value="4"/>
   <option name="invert interpolation" value="3"/>
  </bitmask8>
  <char name="M - minumum meter value" offset="0xC1" visible="true"/>
  <short name="M - sequence index" offset="0xC2" visible="true"/>
  <char name="M - alpha multiplier" offset="0xC4" visible="true"/>
  <char name="M - alpha bias" offset="0xC5" visible="true"/>
  <short name="M - value scale" offset="0xC6" visible="true"/>
  <float name="M - opacity" offset="0xC8" visible="true"/>
  <float name="M - translucency" offset="0xCC" visible="true"/>
  <colorbyte name="M - disabled color" offset="0xD0" visible="true"/>
  <float name="M - minimum fraction cutoff" offset="0xe4" visible="true"/>
  <bitmask32 name="M - flags" offset="0xea" visible="true">
   <option name="show only when active" value="31"/>
   <option name="flash once if activated while disabled" value="30"/>
  </bitmask32>
  <struct name="multitex overlay" offset="0x6c" visible="true" size="480">
   <short name="type" offset="0x0" visible="true"/>
   <enum16 name="framebufferblend func" offset="0x4" visible="true">
    <option name="alpha blend" value="0"/>
    <option name="multiply" value="1"/>
    <option name="double multiply" value="2"/>
    <option name="add" value="3"/>
    <option name="subtract" value="4"/>
    <option name="component min" value="5"/>
    <option name="component max" value="6"/>
    <option name="alpha-multiply add" value="7"/>
   </enum16>
   <text name="anchors" subtext="where you want the origin of the texture. texture uses the coordinates supplied. screen uses the origin of the screen as the origin of the texture." visible="true"/>
   <enum16 name="primary anchor" offset="0x28" visible="true">
    <option name="texture" value="0"/>
    <option name="screen" value="1"/>
   </enum16>
   <enum16 name="secondary anchor" offset="0x2a" visible="true">
    <option name="texture" value="0"/>
    <option name="screen" value="1"/>
   </enum16>
   <enum16 name="tertiary anchor" offset="0x2c" visible="true">
    <option name="texture" value="0"/>
    <option name="screen" value="1"/>
   </enum16>
   <text name="blending function" subtext="how to blend the textures together" visible="true"/>
   <enum16 name="0 to 1 blend func" offset="0x2e" visible="true">
    <option name="add" value="0"/>
    <option name="subtract" value="1"/>
    <option name="multiply" value="2"/>
    <option name="multiply2x" value="3"/>
    <option name="dot" value="4"/>
   </enum16>
   <enum16 name="1 to 2 blend func" offset="0x30" visible="true">
    <option name="add" value="0"/>
    <option name="subtract" value="1"/>
    <option name="multiply" value="2"/>
    <option name="multiply2x" value="3"/>
    <option name="dot" value="4"/>
   </enum16>
   <text name="map scales" subtext="how much to scale the textures" visible="true"/>
   <float name="primary scale - x" offset="0x34" visible="true"/>
   <float name="primary scale - y" offset="0x38" visible="true"/>
   <float name="secondary scale - x" offset="0x3c" visible="true"/>
   <float name="secondary scale - y" offset="0x40" visible="true"/>
   <float name="tertiary scale - x" offset="0x44" visible="true"/>
   <float name="tertiary scale - y" offset="0x48" visible="true"/>
   <text name="map offsets" subtext="how much to offset the origin of the texture" visible="true"/>
   <float name="primary offset - x" offset="0x4c" visible="true"/>
   <float name="primary offset - y" offset="0x50" visible="true"/>
   <float name="secondary offset - x" offset="0x54" visible="true"/>
   <float name="secondary offset - y" offset="0x58" visible="true"/>
   <float name="tertiary offset - x" offset="0x5c" visible="true"/>
   <float name="tertiary offset - y" offset="0x60" visible="true"/>
   <text name="map" subtext="which map to use" visible="true"/>
   <dependency name="primary" offset="0x64" visible="true"/>
   <dependency name="secondary" offset="0x74" visible="true"/>
   <dependency name="tertiary" offset="0x84" visible="true"/>
   <enum16 name="primary wrap mode" offset="0x94" visible="true">
    <option name="clamp" value="0"/>
    <option name="wrap" value="1"/>
   </enum16>
   <enum16 name="secondary wrap mode" offset="0x96" visible="true">
    <option name="clamp" value="0"/>
    <option name="wrap" value="1"/>
   </enum16>
   <enum16 name="tertiary wrap mode" offset="0x98" visible="true">
    <option name="clamp" value="0"/>
    <option name="wrap" value="1"/>
   </enum16>
   <struct name="effectors" offset="0x154" visible="true" size="220">
    <Text name="source/destination" subtext="These describe the relationship that causes the effect. *destination type is the type of variable you want to be effected. *destination tells which texture map (or geometry offset) to apply it to. *source says which value to look at when computing the effect." visible="true"/>
    <enum16 name="destination type" offset="0x40" visible="true">
     <option name="tint [0,1]" value="0"/>
     <option name="horizontal offset" value="1"/>
     <option name="vertical offset" value="2"/>
     <option name="fade [0,1]" value="3"/>
    </enum16>
    <enum16 name="destination" offset="0x42" visible="true">
     <option name="geometry offset" value="0"/>
     <option name="primary map" value="1"/>
     <option name="secondary map" value="2"/>
     <option name="tertiary map" value="3"/>
    </enum16>
    <enum16 name="source" offset="0x44" visible="true">
     <option name="player pitch" value="0"/>
     <option name="player pitch tangent" value="1"/>
     <option name="player yaw" value="2"/>
     <option name="weapon ammo (total)" value="3"/>
     <option name="weapon ammo (loaded)" value="4"/>
     <option name="weapon heat" value="5"/>
     <option name="explicit (uses low bound)" value="6"/>
     <option name="weapon zoom level" value="7"/>
    </enum16>
    <text name="in/out bounds" subtext="When the source is at the lower inbound, the destination ends up the lower outbound and vice-versa applies for the upper values." visible="true"/>
    <float name="in bounds - from" offset="0x48" visible="true"/>
    <float name="in bounds - to" offset="0x4c" visible="true"/>
    <float name="out bounds - from" offset="0x50" visible="true"/>
    <float name="out bounds - to" offset="0x54" visible="true"/>
    <colorRGB name="tint color lower bound" offset="0x98" visible="true"/>
    <colorRGB name="tint color lower bound" offset="0xA4" visible="true"/>
    <enum16 name="periodic function" offset="0xb0" visible="true">
     <option name="one" value="0"/>
     <option name="zero" value="1"/>
     <option name="cosine" value="2"/>
     <option name="cosine (varible period)" value="3"/>
     <option name="diagonal wave" value="4"/>
     <option name="diagonal wave (variable period)" value="5"/>
     <option name="slide" value="6"/>
     <option name="slide (variable period)" value="7"/>
     <option name="noise" value="8"/>
     <option name="jitter" value="9"/>
     <option name="wander" value="10"/>
     <option name="spark" value="11"/>
    </enum16>
    <float name="function period" offset="0xb4" visible="true"/>
    <float name="function phase" offset="0xb8" visible="true"/>
   </struct>
  </struct>
 </struct>
</plugin>