<plugin class="pctl" author="conure" version="1" headersize="0">
 <dependency name="point physics" offset="0x38" visible="true"/>
 <enum16 name="system update physics" offset="0x48" visible="true">
  <option name="defualt" value="0"/>
  <option name="explosion" value="1"/>
 </enum16>
 <struct name="physics constants" offset="0x50" visible="true" size="4">
  <float name="k" offset="0x0" visible="true"/>
 </struct>
 <struct name="particle types" offset="0x5c" visible="true" size="128">
  <string32 name="name" offset="0x0" visible="true"/>
  <bitmask32 name="flags" offset="0x22" visible="true">
   <option name="type states loop" value="31"/>
   <option name="...forward/backward" value="30"/>
   <option name="particle states loop" value="29"/>
   <option name="...forward/backward" value="28"/>
   <option name="particles die in water" value="27"/>
   <option name="particles die in air" value="26"/>
   <option name="particles die on ground" value="25"/>
   <option name="rotational sprites animate sideways" value="24"/>
   <option name="disabled" value="23"/>
   <option name="tint by effect color" value="22"/>
   <option name="initial count scales with effect" value="21"/>
   <option name="minimum count sclae with effect" value="20"/>
   <option name="creation rates scale with effect" value="19"/>
   <option name="scale scales with effect" value="18"/>
   <option name="animation rates scale with effect" value="17"/>
   <option name="rotation rates scales with effect" value="16"/>
   <option name="dont draw in first person" value="15"/>
   <option name="dont draw in third person" value="14"/>
  </bitmask32>
  <short name="initial particle count" offset="0x24" visible="true"/>
  <enum16 name="complex sprite render modes" offset="0x28" visible="true">
   <option name="simple" value="0"/>
   <option name="rotational" value="1"/>
  </enum16>
  <float name="radius" offset="0x2c" visible="true"/> 
  <enum16 name="complex sprite render modes" offset="0x54" visible="true">
   <option name="defualt" value="0"/>
   <option name="explosion" value="1"/>
   <option name="jet" value="2"/>
  </enum16>
  <struct name="physics constants" offset="0x5c" visible="true" size="4">
   <float name="k" offset="0x0" visible="true"/>
  </struct>
  <struct name="states" offset="0x68" visible="true" size="192">
   <string32 name="name" offset="0x0" visible="true"/>
   <float name="duration bounds" offset="0x20" visible="true"/> 
   <float name="duration bounds - to" offset="0x24" visible="true"/> 
   <float name="transition time bounds" offset="0x28" visible="true"/> 
   <float name="transition times bounds - to" offset="0x2c" visible="true"/> 
   <float name="scale multiplier" offset="0x34" visible="true"/> 
   <float name="animation rate multiplier" offset="0x38" visible="true"/> 
   <float name="rotation rate mulitplier" offset="0x3c" visible="true"/>
   <colorARGB name="color multiplier" offset="0x40" visible="true"/> 
   <float name="duration bounds" offset="0x50" visible="true"/> 
   <float name="duration bounds" offset="0x54" visible="true"/> 
   <float name="duration bounds" offset="0x58" visible="true"/>
   <enum16 name="particle creation physics" offset="0xb0" visible="true">
    <option name="default" value="0"/>
    <option name="explosion" value="1"/>
    <option name="jet" value="2"/>
   </enum16>
   <struct name="physics constants" offset="0xb4" visible="true" size="4">
    <float name="k" offset="0x0" visible="true"/>
   </struct>
  </struct>
  <struct name="particle states" offset="0x74" visible="true" size="376">
   <string32 name="name" offset="0x0" visible="true"/>
   <float name="duration bounds" offset="0x20" visible="true"/> 
   <float name="duration bounds - to" offset="0x24" visible="true"/> 
   <float name="transition time bounds" offset="0x28" visible="true"/> 
   <float name="transition times bounds - to" offset="0x2c" visible="true"/> 
   <dependency name="bitmaps" offset="0x30" visible="true"/>
   <float name="sequence index" offset="0x40" visible="true"/>
   <float name="scale" offset="0x48" visible="true"/>
   <float name="scale - to" offset="0x4c" visible="true"/>
   <float name="animation rate" offset="0x50" visible="true"/>
   <float name="animation rate - to" offset="0x54" visible="true"/>
   <float name="rotation rate" offset="0x58" visible="true"/>
   <float name="rotation rate - to" offset="0x5c" visible="true"/>
   <colorARGB name="color 1" offset="0x60" visible="true"/>
   <colorARGB name="color 2" offset="0x70" visible="true"/>
   <float name="radius multiplier" offset="0x80" visible="true"/>
   <dependency name="point physics" offset="0x84" visible="true"/>
   <bitmask32 name="shader flags" offset="0xe0" visible="true">
    <option name="sort bias" value="31"/>
    <option name="nonlinear tint" value="30"/>
    <option name="dont overdraw fp weapon" value="29"/>
   </bitmask32>
   <enum16 name="framebuffer blend function" offset="0xe2" 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 minimum" value="5"/>
    <option name="component max" value="6"/>
    <option name="alpha-multiply add" value="7"/>
   </enum16>
   <enum16 name="framebuffer blend function" offset="0xe4" visible="true">
    <option name="none" value="0"/>
    <option name="fade when perpendicular" value="1"/>
    <option name="fade when parallel" value="2"/>
   </enum16>
   <bitmask32 name="map flags" offset="0xe6" visible="true">
    <option name="unfiltered" value="31"/>
   </bitmask32>
   <dependency name="bitmap" offset="0x104" visible="true"/>
   <enum16 name="anchor" offset="0x114" visible="true">
    <option name="with primary" value="0"/>
    <option name="with screen space" value="1"/>
    <option name="zsprite" value="2"/>
   </enum16>
   <bitmask32 name="flags" offset="0x116" visible="true">
    <option name="unfiltered" value="31"/>
   </bitmask32>
   <enum16 name="u-animation source" offset="0x118" visible="true">
    <option name="none" value="0"/>
    <option name="A out" value="1"/>
    <option name="B out" value="2"/>
    <option name="C out" value="3"/>
    <option name="D out" value="4"/>
   </enum16>
   <enum16 name="u-animation function" offset="0x11a" 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 (varible period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (varible 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="u animation period" offset="0x11c" visible="true"/>
   <float name="u animation phase" offset="0x120" visible="true"/>
   <float name="u animation scale" offset="0x124" visible="true"/>
   <enum16 name="v-animation source" offset="0x128" visible="true">
    <option name="none" value="0"/>
    <option name="A out" value="1"/>
    <option name="B out" value="2"/>
    <option name="C out" value="3"/>
    <option name="D out" value="4"/>
   </enum16>
   <enum16 name="v-animation function" offset="0x12a" 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 (varible period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (varible 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="v animation period" offset="0x12c" visible="true"/>
   <float name="v animation phase" offset="0x130" visible="true"/>
   <float name="v animation scale" offset="0x134" visible="true"/>
   <enum16 name="rotation-animation source" offset="0x138" visible="true">
    <option name="none" value="0"/>
    <option name="A out" value="1"/>
    <option name="B out" value="2"/>
    <option name="C out" value="3"/>
    <option name="D out" value="4"/>
   </enum16>
   <enum16 name="rotation-animation function" offset="0x13a" 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 (varible period)" value="5"/>
    <option name="slide" value="6"/>
    <option name="slide (varible 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="rotation animation period" offset="0x13c" visible="true"/>
   <float name="rotation animation phase" offset="0x140" visible="true"/>
   <float name="rotation animation scale" offset="0x144" visible="true"/>
   <float name="rotation animation center - x" offset="0x148" visible="true"/>
   <float name="rotation animation center - y" offset="0x14c" visible="true"/>
   <float name="zsprite radius scale" offset="0x154" visible="true"/>
   <struct name="physics constants" offset="0x16c" visible="true" size="4">
    <float name="k" offset="0x0" visible="true"/>
   </struct>
  </struct>
 </struct>
</plugin>