<plugin>
 <tag>rain</tag>
 <struct>
  <name>Main</name>
  <size>0</size>

  <value>
   <type>reflexive</type>
   <offset>0x24</offset>
   <name>Particle Types</name>
  </value>
 </struct>

 <struct>
  <name>Particle Types</name>
  <size>604</size>

  <value>
   <type>bitmask32</type>
   <offset>0x20</offset>
   <name>Flags</name>
   <bitmask>
    <bit>32</bit>
    <name>Interpolate Colours in HSV</name>
   </bitmask>
   <bitmask>
    <bit>31</bit>
    <name>...Along Long Hue Path</name>
   </bitmask>
   <bitmask>
    <bit>30</bit>
    <name>Random Rotation</name>
   </bitmask>
  </value>
  <value>
   <type>float</type>
   <offset>0x24</offset>
   <name>Fade-In Start Distance</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x28</offset>
   <name>Fade-In End Distance</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x2C</offset>
   <name>Fade-Out Start Distance</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x30</offset>
   <name>Fade-Out End Distance</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x34</offset>
   <name>Fade-In Start Height</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x38</offset>
   <name>Fade-In End Height</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x3C</offset>
   <name>Fade-Out Start Height</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x40</offset>
   <name>Fade-Out End Height</name>
  </value>
  <value>
   <type>float</type>
   <offset>0xA4</offset>
   <name>Minimum Particles</name>
  </value>
  <value>
   <type>float</type>
   <offset>0xA8</offset>
   <name>Maximum Particles</name>
  </value>
  <value>
   <type>float</type>
   <offset>0xCC</offset>
   <name>Minimum Acceleration Magnitude</name>
  </value>
  <value>
   <type>float</type>
   <offset>0xD0</offset>
   <name>Maximum Acceleration Magnitude</name>
  </value>
  <value>
   <type>float</type>
   <offset>0xD4</offset>
   <name>Acceleration Turning Rate</name>
  </value>
  <value>
   <type>float</type>
   <offset>0xD8</offset>
   <name>Acceleration Change Rate</name>
  </value>
  <value>
   <type>float</type>
   <offset>0xFC</offset>
   <name>Minimum Particle Radius</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x100</offset>
   <name>Maximum Particle Radius</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x104</offset>
   <name>Minimum Animation Rate</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x108</offset>
   <name>Maximum Animation Rate</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x10C</offset>
   <name>Minimum Rotation Rate</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x110</offset>
   <name>Maximum Rotation Rate</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x134</offset>
   <name>Colour Lower Bound - A</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x138</offset>
   <name>Colour Lower Bound - R</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x13C</offset>
   <name>Colour Lower Bound - G</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x140</offset>
   <name>Colour Lower Bound - B</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x144</offset>
   <name>Colour Upper Bound - A</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x148</offset>
   <name>Colour Upper Bound - R</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x14C</offset>
   <name>Colour Upper Bound - G</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x150</offset>
   <name>Colour Upper Bound - B</name>
  </value>

  <value>
   <type>bitmask32</type>
   <offset>0x190</offset>
   <name>Shader</name>
   <bitmask>
    <bit>1</bit>
    <name>Shader</name>
    <info>title</info>
   </bitmask>
  </value>

  <value>
   <type>id16</type>
   <offset>0x1A4</offset>
   <name>Render Mode</name>
   <option>
    <value>0</value>
    <name>Screen Facing</name>
   </option>
   <option>
    <value>1</value>
    <name>Parallel to Direction</name>
   </option>
   <option>
    <value>2</value>
    <name>Perpendicular to Direction</name>
   </option>
  </value>
  <value>
   <type>id16</type>
   <offset>0x1A6</offset>
   <name>Render Direction Source</name>
   <option>
    <value>0</value>
    <name>From Velocity</name>
   </option>
   <option>
    <value>1</value>
    <name>From Acceleration</name>
   </option>
  </value>
  <value>
   <type>bitmask32</type>
   <offset>0x1CE</offset>
   <name>Shader Flags</name>
   <bitmask>
    <bit>32</bit>
    <name>Sort Bias</name>
   </bitmask>
   <bitmask>
    <bit>31</bit>
    <name>Non-Linear Tint</name>
   </bitmask>
   <bitmask>
    <bit>30</bit>
    <name>Don't Overdraw First Person Weapon</name>
   </bitmask>
  </value>
  <value>
   <type>id16</type>
   <offset>0x1D2</offset>
   <name>Frame-Buffer Blend Function</name>
   <option>
    <value>0</value>
    <name>Alpha Blend</name>
   </option>
   <option>
    <value>1</value>
    <name>Multiply</name>
   </option>
   <option>
    <value>2</value>
    <name>Double Multiply</name>
   </option>
   <option>
    <value>3</value>
    <name>Add</name>
   </option>
   <option>
    <value>4</value>
    <name>Subtract</name>
   </option>
   <option>
    <value>5</value>
    <name>Component Minimum</name>
   </option>
   <option>
    <value>6</value>
    <name>Component Maximum</name>
   </option>
   <option>
    <value>7</value>
    <name>Alpha-Multiply Add</name>
   </option>
  </value>
  <value>
   <type>id16</type>
   <offset>0x1D4</offset>
   <name>Frame-Buffer Fade Mode</name>
   <option>
    <value>0</value>
    <name>None</name>
   </option>
   <option>
    <value>1</value>
    <name>Fade When Perpendicular</name>
   </option>
   <option>
    <value>2</value>
    <name>Fade When Parallel</name>
   </option>
  </value>
  <value>
   <type>bitmask32</type>
   <offset>0x1D4</offset>
   <name>Map Flags</name>
   <bitmask>
    <bit>32</bit>
    <name>Un-Filtered</name>
   </bitmask>
  </value>  

  <value>
   <type>bitmask32</type>
   <offset>0x190</offset>
   <name>Secondary Map</name>
   <bitmask>
    <bit>1</bit>
    <name>Secondary Map</name>
    <info>title</info>
   </bitmask>
  </value>
  
  <value>
   <type>id16</type>
   <offset>0x204</offset>
   <name>Anchor</name>
   <option>
    <value>0</value>
    <name>With Primary</name>
   </option>
   <option>
    <value>1</value>
    <name>With Screen Space</name>
   </option>
   <option>
    <value>2</value>
    <name>Z-Sprite</name>
   </option>
  </value>
  <value>
   <type>bitmask32</type>
   <offset>0x206</offset>
   <name>Flags</name>
   <bitmask>
    <bit>16</bit>
    <name>Un-Filtered</name>
   </bitmask>
  </value>
  <value>
   <type>id16</type>
   <offset>0x208</offset>
   <name>U-Animation Source</name>
   <option>
    <value>0</value>
    <name>None</name>
   </option>
   <option>
    <value>1</value>
    <name>"A" Out</name>
   </option>
   <option>
    <value>2</value>
    <name>"B" Out</name>
   </option>
   <option>
    <value>3</value>
    <name>"C" Out</name>
   </option>
   <option>
    <value>4</value>
    <name>"D" Out</name>
   </option>
  </value>
  <value>
   <type>id16</type>
   <offset>0x20A</offset>
   <name>U-Animation Function</name>
   <option>
    <value>0</value>
    <name>One</name>
   </option>
   <option>
    <value>1</value>
    <name>Zero</name>
   </option>
   <option>
    <value>2</value>
    <name>Cosine</name>
   </option>
   <option>
    <value>3</value>
    <name>Cosine (Variable Period)</name>
   </option>
   <option>
    <value>4</value>
    <name>Diagonal Wave</name>
   </option>
   <option>
    <value>5</value>
    <name>Diagonal Wave (Variable Period)</name>
   </option>
   <option>
    <value>6</value>
    <name>Slide</name>
   </option>
   <option>
    <value>7</value>
    <name>Slide (Variable Period)</name>
   </option>
   <option>
    <value>8</value>
    <name>Noise</name>
   </option>
   <option>
    <value>9</value>
    <name>Jitter</name>
   </option>
   <option>
    <value>10</value>
    <name>Wander</name>
   </option>
   <option>
    <value>11</value>
    <name>Spark</name>
   </option>
  </value>
  <value>
   <type>float</type>
   <offset>0x20C</offset>
   <name>U-Animation Period</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x210</offset>
   <name>U-Animation Phase</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x214</offset>
   <name>U-Animation Scale</name>
  </value>
  <value>
   <type>id16</type>
   <offset>0x218</offset>
   <name>V-Animation Source</name>
   <option>
    <value>0</value>
    <name>None</name>
   </option>
   <option>
    <value>1</value>
    <name>"A" Out</name>
   </option>
   <option>
    <value>2</value>
    <name>"B" Out</name>
   </option>
   <option>
    <value>3</value>
    <name>"C" Out</name>
   </option>
   <option>
    <value>4</value>
    <name>"D" Out</name>
   </option>
  </value>
  <value>
   <type>id16</type>
   <offset>0x21A</offset>
   <name>V-Animation Function</name>
   <option>
    <value>0</value>
    <name>One</name>
   </option>
   <option>
    <value>1</value>
    <name>Zero</name>
   </option>
   <option>
    <value>2</value>
    <name>Cosine</name>
   </option>
   <option>
    <value>3</value>
    <name>Cosine (Variable Period)</name>
   </option>
   <option>
    <value>4</value>
    <name>Diagonal Wave</name>
   </option>
   <option>
    <value>5</value>
    <name>Diagonal Wave (Variable Period)</name>
   </option>
   <option>
    <value>6</value>
    <name>Slide</name>
   </option>
   <option>
    <value>7</value>
    <name>Slide (Variable Period)</name>
   </option>
   <option>
    <value>8</value>
    <name>Noise</name>
   </option>
   <option>
    <value>9</value>
    <name>Jitter</name>
   </option>
   <option>
    <value>10</value>
    <name>Wander</name>
   </option>
   <option>
    <value>11</value>
    <name>Spark</name>
   </option>
  </value>
  <value>
   <type>float</type>
   <offset>0x21C</offset>
   <name>V-Animation Period</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x220</offset>
   <name>V-Animation Phase</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x224</offset>
   <name>V-Animation Scale</name>
  </value>
  <value>
   <type>id16</type>
   <offset>0x228</offset>
   <name>Rotation-Animation Source</name>
   <option>
    <value>0</value>
    <name>None</name>
   </option>
   <option>
    <value>1</value>
    <name>"A" Out</name>
   </option>
   <option>
    <value>2</value>
    <name>"B" Out</name>
   </option>
   <option>
    <value>3</value>
    <name>"C" Out</name>
   </option>
   <option>
    <value>4</value>
    <name>"D" Out</name>
   </option>
  </value>
  <value>
   <type>id16</type>
   <offset>0x22A</offset>
   <name>Rotation-Animation Function</name>
   <option>
    <value>0</value>
    <name>One</name>
   </option>
   <option>
    <value>1</value>
    <name>Zero</name>
   </option>
   <option>
    <value>2</value>
    <name>Cosine</name>
   </option>
   <option>
    <value>3</value>
    <name>Cosine (Variable Period)</name>
   </option>
   <option>
    <value>4</value>
    <name>Diagonal Wave</name>
   </option>
   <option>
    <value>5</value>
    <name>Diagonal Wave (Variable Period)</name>
   </option>
   <option>
    <value>6</value>
    <name>Slide</name>
   </option>
   <option>
    <value>7</value>
    <name>Slide (Variable Period)</name>
   </option>
   <option>
    <value>8</value>
    <name>Noise</name>
   </option>
   <option>
    <value>9</value>
    <name>Jitter</name>
   </option>
   <option>
    <value>10</value>
    <name>Wander</name>
   </option>
   <option>
    <value>11</value>
    <name>Spark</name>
   </option>
  </value>
  <value>
   <type>float</type>
   <offset>0x22C</offset>
   <name>Rotation-Animation Period</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x230</offset>
   <name>Rotation-Animation Phase</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x234</offset>
   <name>Rotation-Animation Scale</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x238</offset>
   <name>Rotation-Animation Center (X)</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x23C</offset>
   <name>Rotation-Animation Center (Y)</name>
  </value>
  <value>
   <type>float</type>
   <offset>0x240</offset>
   <name>Z-Sprite Radius Scale</name>
  </value>

 </struct>
</plugin>