﻿<?xml version="1.0" encoding="utf-8"?>
<plugin class="jmad" author="Moonfish" headersize="172">
  <tag name="Parent Animation Graph" offset="0" />
  <id name="Parent Animation Graph" offset="4" />
  <bitmask8 name="Inheritance Flags" offset="8">
    <option name="Inherit Root Trans Scale Only" value="0" />
    <option name="Inherit For Use On Player" value="1" />
  </bitmask8>
  <bitmask8 name="Private Flags*" offset="9">
    <option name="Prepared For Cache" value="0" />
    <option name="Unused" value="1" />
    <option name="Imported With Codec Compressors" value="2" />
    <option name="Unused Smelly Flag" value="3" />
    <option name="Written To Cache" value="4" />
    <option name="Animation Data Reordered" value="5" />
  </bitmask8>
  <short name="Animation Codec Pack*" offset="10" />
  <struct name="Animation Graph Node Block" offset="12" size="32" maxelements="255" padalign="4">
    <stringid name="Name^" offset="0" />
    <short name="Next Sibling Node Index*" offset="4" />
    <short name="First Child Node Index*" offset="6" />
    <short name="Parent Node Index*" offset="8" />
    <bitmask8 name="Model Flags*" offset="10">
      <option name="Primary Model" value="0" />
      <option name="Secondary Model" value="1" />
      <option name="Local Root" value="2" />
      <option name="Left Hand" value="3" />
      <option name="Right Hand" value="4" />
      <option name="Left Arm Member" value="5" />
    </bitmask8>
    <bitmask8 name="Node Joint Flags" offset="11">
      <option name="Ball-Socket" value="0" />
      <option name="Hinge" value="1" />
      <option name="No Movement" value="2" />
    </bitmask8>
    <float name="Base Vector* (x)" offset="12" />
    <float name="Base Vector* (y)" offset="12" />
    <float name="Base Vector* (z)" offset="12" />
    <float name="Vector Range*" offset="24" />
    <float name="Z Pos*" offset="28" />
  </struct>
  <struct name="Animation Graph Sound Reference Block" offset="20" size="12" maxelements="512" padalign="4">
    <tag name="Sound^" offset="0" />
    <id name="Sound^" offset="4" />
    <bitmask16 name="Flags" offset="8">
      <option name="Allow On Player" value="0" />
      <option name="Left Arm Only" value="1" />
      <option name="Right Arm Only" value="2" />
      <option name="First-Person Only" value="3" />
      <option name="Forward Only" value="4" />
      <option name="Reverse Only" value="5" />
    </bitmask16>
    <unused size="2" offset="10" />
  </struct>
  <struct name="Animation Graph Effect Reference Block" offset="28" size="12" maxelements="512" padalign="4">
    <tag name="Effect^" offset="0" />
    <id name="Effect^" offset="4" />
    <bitmask16 name="Flags" offset="8">
      <option name="Allow On Player" value="0" />
      <option name="Left Arm Only" value="1" />
      <option name="Right Arm Only" value="2" />
      <option name="First-Person Only" value="3" />
      <option name="Forward Only" value="4" />
      <option name="Reverse Only" value="5" />
    </bitmask16>
    <unused size="2" offset="10" />
  </struct>
  <struct name="Animation Blend Screen Block" offset="36" size="28" maxelements="64" padalign="4">
    <stringid name="Label^" offset="0" />
    <float name="Right Yaw Per Frame" offset="4" />
    <float name="Left Yaw Per Frame" offset="8" />
    <short name="Right Frame Count" offset="12" />
    <short name="Left Frame Count" offset="14" />
    <float name="Down Pitch Per Frame" offset="16" />
    <float name="Up Pitch Per Frame" offset="20" />
    <short name="Down Pitch Frame Count" offset="24" />
    <short name="Up Pitch Frame Count" offset="26" />
  </struct>
  <struct name="Animation Pool Block" offset="44" size="108" maxelements="2048" padalign="4">
    <stringid name="Name*^" offset="0" />
    <int name="Node List Checksum*" offset="4" />
    <int name="Production Checksum*" offset="8" />
    <int name="Import Checksum*" offset="12" />
    <enum8 name="Type*" offset="16">
      <option name="Base" value="0" />
      <option name="Overlay" value="1" />
      <option name="Replacement" value="2" />
    </enum8>
    <enum8 name="Frame Info Type*" offset="17">
      <option name="None" value="0" />
      <option name="Dx,Dy" value="1" />
      <option name="Dx,Dy,Dyaw" value="2" />
      <option name="Dx,Dy,Dz,Dyaw" value="3" />
    </enum8>
    <byte name="Blend Screen" offset="18" />
    <byte name="Node Count*" offset="19" />
    <short name="Frame Count*" offset="20" />
    <bitmask8 name="Internal Flags*" offset="22">
      <option name="&lt;Unused0&gt;!" value="0" />
      <option name="World Relative" value="1" />
      <option name="&lt;Unused1&gt;!" value="2" />
      <option name="&lt;Unused2&gt;!" value="3" />
      <option name="&lt;Unused3&gt;!" value="4" />
      <option name="Compression Disabled" value="5" />
      <option name="Old Production Checksum" value="6" />
      <option name="Valid Production Checksum" value="7" />
    </bitmask8>
    <bitmask8 name="Production Flags" offset="23">
      <option name="Do Not Monitor Changes" value="0" />
      <option name="Verify Sound Events" value="1" />
      <option name="Do Not Inherit For Player Graphs" value="2" />
    </bitmask8>
    <bitmask16 name="Playback Flags" offset="24">
      <option name="Disable Interpolation In" value="0" />
      <option name="Disable Interpolation Out" value="1" />
      <option name="Disable Mode Ik" value="2" />
      <option name="Disable Weapon Ik" value="3" />
      <option name="Disable Weapon Aim/1St Person" value="4" />
      <option name="Disable Look Screen" value="5" />
      <option name="Disable Transition Adjustment" value="6" />
    </bitmask16>
    <enum8 name="Desired Compression" offset="26">
      <option name="Best Score" value="0" />
      <option name="Best Compression" value="1" />
      <option name="Best Accuracy" value="2" />
      <option name="Best Fullframe" value="3" />
      <option name="Best Small Keyframe" value="4" />
      <option name="Best Large Keyframe" value="5" />
    </enum8>
    <enum8 name="Current Compression*" offset="27">
      <option name="Best Score" value="0" />
      <option name="Best Compression" value="1" />
      <option name="Best Accuracy" value="2" />
      <option name="Best Fullframe" value="3" />
      <option name="Best Small Keyframe" value="4" />
      <option name="Best Large Keyframe" value="5" />
    </enum8>
    <float name="Weight" offset="28" />
    <int name="Parent Graph Index!" offset="32" />
    <int name="Parent Graph Block Index!" offset="36" />
    <int name="Parent Graph Block Offset!" offset="40" />
    <short name="Parent Graph Starting Point Index!" offset="44" />
    <short name="Loop Frame Index" offset="46" />
    <short name="Parent Animation*!" offset="48" />
    <short name="Next Animation*!" offset="50" />
    <struct name="animation data*!" offset="52" size="1">
      <byte name="data" offset="1" />
    </struct>
    <byte name="0" offset="60" />
    <byte name="0" offset="61" />
    <short name="0" offset="62" />
    <short name="0" offset="64" />
    <short name="0" offset="66" />
    <int name="0" offset="68" />
    <int name="0" offset="72" />
    <struct name="Animation Frame Event Block" offset="76" size="4" maxelements="512" padalign="4">
      <enum16 name="Type" offset="0">
        <option name="Primary Keyframe" value="0" />
        <option name="Secondary Keyframe" value="1" />
        <option name="Left Foot" value="2" />
        <option name="Right Foot" value="3" />
        <option name="Allow Interruption" value="4" />
        <option name="Transition A" value="5" />
        <option name="Transition B" value="6" />
        <option name="Transition C" value="7" />
        <option name="Transition D" value="8" />
        <option name="Both-Feet Shuffle" value="9" />
        <option name="Body Impact" value="10" />
      </enum16>
      <short name="Frame" offset="2" />
    </struct>
    <struct name="Animation Sound Event Block" offset="84" size="8" maxelements="512" padalign="4">
      <short name="Sound" offset="0" />
      <short name="Frame" offset="2" />
      <stringid name="Marker Name" offset="4" />
    </struct>
    <struct name="Animation Effect Event Block" offset="92" size="4" maxelements="512" padalign="4">
      <short name="Effect" offset="0" />
      <short name="Frame" offset="2" />
    </struct>
    <struct name="Object Space Node Data Block" offset="100" size="28" maxelements="255" padalign="4">
      <short name="Node Index*" offset="0" />
      <bitmask16 name="Component Flags" offset="2">
        <option name="Rotation" value="0" />
        <option name="Translation" value="1" />
        <option name="Scale" value="2" />
      </bitmask16>
      <short name="Rotation X*" offset="4" />
      <short name="Rotation Y*" offset="6" />
      <short name="Rotation Z*" offset="8" />
      <short name="Rotation W*" offset="10" />
      <float name="Default Translation* (x)" offset="12" />
      <float name="Default Translation* (y)" offset="12" />
      <float name="Default Translation* (z)" offset="12" />
      <float name="Default Scale*" offset="24" />
    </struct>
  </struct>
  <struct name="Animation Mode Block" offset="52" size="20" maxelements="512" padalign="4">
    <stringid name="Label^" offset="0" />
    <struct name="Weapon Class Block" offset="4" size="20" maxelements="64" padalign="4">
      <stringid name="Label^" offset="0" />
      <struct name="Weapon Type Block" offset="4" size="52" maxelements="64" padalign="4">
        <stringid name="Label^" offset="0" />
        <struct name="Animation Entry Block" offset="4" size="8" maxelements="256" padalign="4">
          <stringid name="Label^" offset="0" />
          <short name="Graph Index*" offset="4" />
          <short name="Animation*" offset="6" />
        </struct>
        <struct name="Animation Entry Block" offset="12" size="8" maxelements="256" padalign="4">
          <stringid name="Label^" offset="0" />
          <short name="Graph Index*" offset="4" />
          <short name="Animation*" offset="6" />
        </struct>
        <struct name="Damage Animation Block" offset="20" size="12" maxelements="8" padalign="4">
          <stringid name="Label^" offset="0" />
          <struct name="Damage Direction Block" offset="4" size="8" maxelements="4" padalign="4">
            <struct name="Damage Region Block" offset="0" size="4" maxelements="11" padalign="4">
              <short name="Graph Index*" offset="0" />
              <short name="Animation*" offset="2" />
            </struct>
          </struct>
        </struct>
        <struct name="Animation Transition Block" offset="28" size="20" maxelements="256" padalign="4">
          <stringid name="Full Name^" description="name of the mode &amp; state of the source" offset="0" />
          <stringid name="State Name*" description="name of the state" offset="4" />
          <unused size="2" offset="8" />
          <byte name="Index A*" description="first level sub-index into state" offset="10" />
          <byte name="Index B*" description="second level sub-index into state" offset="11" />
          <struct name="Animation Transition Destination Block" offset="12" size="20" maxelements="32" padalign="4">
            <stringid name="Full Name^" description="name of the mode &amp; state this transitions to" offset="0" />
            <stringid name="Mode*" description="name of the mode" offset="4" />
            <stringid name="State Name*" description="name of the state" offset="8" />
            <enum8 name="Frame Event Link*" description="which frame event to link to" offset="12">
              <option name="NO KEYFRAME" value="0" />
              <option name="KEYFRAME TYPE A" value="1" />
              <option name="KEYFRAME TYPE B" value="2" />
              <option name="KEYFRAME TYPE C" value="3" />
              <option name="KEYFRAME TYPE D" value="4" />
            </enum8>
            <unused size="1" offset="13" />
            <byte name="Index A*" description="first level sub-index into state" offset="14" />
            <byte name="Index B*" description="second level sub-index into state" offset="15" />
            <short name="Graph Index*" offset="16" />
            <short name="Animation*" offset="18" />
          </struct>
        </struct>
        <struct name="Precache List Block" offset="36" size="4" maxelements="1024" padalign="4">
          <int name="Cache Block Index" offset="0" />
        </struct>
        <struct name="Precache List Block" offset="44" size="4" maxelements="1024" padalign="4">
          <int name="Cache Block Index" offset="0" />
        </struct>
      </struct>
      <struct name="Animation Ik Block" offset="12" size="8" maxelements="8" padalign="4">
        <stringid name="Marker" description="the marker name on the object being attached" offset="0" />
        <stringid name="Attach To Marker" description="the marker name object (weapon, vehicle, etc.) the above marker is being attached to" offset="4" />
      </struct>
    </struct>
    <struct name="Animation Ik Block" offset="12" size="8" maxelements="8" padalign="4">
      <stringid name="Marker" description="the marker name on the object being attached" offset="0" />
      <stringid name="Attach To Marker" description="the marker name object (weapon, vehicle, etc.) the above marker is being attached to" offset="4" />
    </struct>
  </struct>
  <struct name="Vehicle Suspension Block" offset="60" size="40" maxelements="32" padalign="4">
    <stringid name="Label^" offset="0" />
    <short name="Graph Index*" offset="4" />
    <short name="Animation*" offset="6" />
    <stringid name="Marker Name" offset="8" />
    <float name="Mass Point Offset" offset="12" />
    <float name="Full Extension Ground Depth" offset="16" />
    <float name="Full Compression Ground Depth" offset="20" />
    <stringid name="Region Name" offset="24" />
    <float name="Destroyed Mass Point Offset" offset="28" />
    <float name="Destroyed Full Extension Ground Depth" offset="32" />
    <float name="Destroyed Full Compression Ground Depth" offset="36" />
  </struct>
  <struct name="Object Animation Block" offset="68" size="20" maxelements="32" padalign="4">
    <stringid name="Label^" offset="0" />
    <short name="Graph Index*" offset="4" />
    <short name="Animation*" offset="6" />
    <unused size="2" offset="8" />
    <enum16 name="Function Controls" offset="10">
      <option name="Frame" value="0" />
      <option name="Scale" value="1" />
    </enum16>
    <stringid name="Function" offset="12" />
    <unused size="4" offset="16" />
  </struct>
  <struct name="Inherited Animation Block" offset="76" size="32" maxelements="8" padalign="4">
    <tag name="Inherited Graph*" offset="0" />
    <id name="Inherited Graph*" offset="4" />
    <struct name="Inherited Animation Node Map Block" offset="8" size="2" maxelements="255" padalign="4">
      <short name="Local Node" offset="0" />
    </struct>
    <struct name="Inherited Animation Node Map Flag Block" offset="16" size="4" maxelements="255" padalign="4">
      <int name="Local Node Flags" offset="0" />
    </struct>
    <float name="Root Z Offset*" offset="24" />
    <int name="Inheritance Flags*" offset="28" />
  </struct>
  <struct name="Weapon Class Lookup Block" offset="84" size="8" maxelements="64" padalign="4">
    <stringid name="Weapon Name^" offset="0" />
    <stringid name="Weapon Class" offset="4" />
  </struct>
  <unused size="32" offset="92" />
  <unused size="32" offset="124" />
  <struct name="last import results*" offset="156" size="1">
    <byte name="data" offset="1" />
  </struct>
  <struct name="Additional Node Data Block" offset="164" size="60" maxelements="255" padalign="4">
    <stringid name="Node Name^" offset="0" />
    <float name="Default Rotation* (i)" offset="4" />
    <float name="Default Rotation* (j)" offset="4" />
    <float name="Default Rotation* (k)" offset="4" />
    <float name="Default Rotation* (w)" offset="4" />
    <float name="Default Translation* (x)" offset="20" />
    <float name="Default Translation* (y)" offset="20" />
    <float name="Default Translation* (z)" offset="20" />
    <float name="Default Scale*" offset="32" />
    <float name="Min Bounds (x)" offset="36" />
    <float name="Min Bounds (y)" offset="36" />
    <float name="Min Bounds (z)" offset="36" />
    <float name="Max Bounds (x)" offset="48" />
    <float name="Max Bounds (y)" offset="48" />
    <float name="Max Bounds (z)" offset="48" />
  </struct>
  
  
  <struct name="Post-Processed Animation Block Info" offset="172" visible="false" size="20" label="Unknown">
    <id name="Owner" offset="0" />
    <int name="Block Size*" offset="52" />
    <int name="Block Offset*" offset="56" />
	<unused size="8" offset="60" />
  </struct>
  <struct name="Post-Processed * Block" offset="180" visible="false" size="24" label="">
    <int name="Unknown" offset="0" visible="False" />
    <int name="Unknown" offset="4" visible="False" />
    <int name="Unknown" offset="8" visible="False" />
    <int name="Unknown" offset="12" visible="False" />
    <int name="Unknown" offset="16" visible="False" />
    <int name="Unknown" offset="20" visible="False" />
  </struct>

  
</plugin>