﻿<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="style.xsl" ?>
<saveFileFormat>
  <inputSource index="0" name="doomsave.svg" titleName="DOOM 2" info="doomsave.svg file stored in the save(x) save located under title ID 584109B6.">
    <magicBytes position="0x0047" length="4" value="0x20313131" />
  </inputSource>
  <group index="0" title="Info">
    <optionData format="dropdown">
      <optionDataItem source="0" offset="0x0004" length="1" label="Save Slot" />
      <optionChoice value="0x30" label="0" />
      <optionChoice value="0x31" label="1" />
      <optionChoice value="0x32" label="2" />
      <optionChoice value="0x33" label="3" />
      <optionChoice value="0x34" label="4" />
      <optionChoice value="0x35" label="5" />
      <optionChoice value="0x36" label="6" />
      <optionChoice value="0x37" label="7" />
      <optionChoice value="0x38" label="8" />
      <optionChoice value="0x39" label="9" />
    </optionData>
    <optionData format="dropdown">
      <optionDataItem source="0" offset="0x0050" length="1" label="Difficulty" />
      <optionChoice value="0x00" label="I'm Too Young To Die!" />
      <optionChoice value="0x01" label="Hey, Not Too Rough!" />
      <optionChoice value="0x02" label="Hurt Me Plenty!" />
      <optionChoice value="0x03" label="Ultra-Violence" />
      <optionChoice value="0x04" label="Nightmare" />
    </optionData>
    <numericData source="0" offset="0x0051" length="1" readOnly="true" label="Episode" />
    <numericData source="0" offset="0x0053" length="1" readOnly="true" label="Map" />
  </group>
  <group index="1" title="Stats">
    <variableOffsetBlock index="0" baseOffset="0x0061">
      <offsetItem source="0" offset="0x005D" length="4" />
      <numericData source="0" offset="0x0021" length="4" label="Health">
        <suggestedValue value="100" label="100" />
        <suggestedValue value="200" label="200" />
        <suggestedValue value="2147483647" label="Max" />
      </numericData>
      <numericData source="0" offset="0x0025" length="4" label="Armor">
        <suggestedValue value="100" label="100" />
        <suggestedValue value="200" label="200" />
        <suggestedValue value="2147483647" label="Max" />
      </numericData>
    </variableOffsetBlock>
    <numericData index="1" source="0" offset="0x0058" length="3" format="time-seconds" label="Time">
      <valueAdjustment operator="/" value="35" />
    </numericData>
    <variableOffsetBlock index="2" baseOffset="0x0061">
      <offsetItem source="0" offset="0x005D" length="4" />
      <numericData source="0" offset="0x00CD" length="4" label="Kill Count" />
      <numericData source="0" offset="0x00D1" length="4" label="Item Count" />
      <numericData source="0" offset="0x00D5" length="4" label="Secret Count" />
    </variableOffsetBlock>
  </group>
  <variableOffsetBlock index="2" baseOffset="0x0061">
    <offsetItem source="0" offset="0x005D" length="4" />
    <group index="0" title="Weapons &amp; Ammo">
      <group index="0" title="Weapons">
        <bitmaskData label="Fist">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x007C" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="Pistol">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x0080" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="Shotgun">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x0084" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="Chaingun">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x0088" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="Rocket Launcher">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x008C" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="Plasma Gun">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x0090" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="BFG9000">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x0094" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="Chainsaw">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x0098" length="1" bit="0" />
        </bitmaskData>
        <bitmaskData label="Super Shotgun">
          <meta id="weapon" />
          <bitmaskDataItem source="0" offset="0x009C" length="1" bit="0" />
        </bitmaskData>
        <metaItem id="weapon" type="set-all-bitmask">
          <metaSelection check="check" label="All Weapons" />
        </metaItem>
        <optionData format="dropdown">
          <optionDataItem source="0" offset="0x0074" length="1" label="Current Weapon" />
          <optionChoice value="0x00" label="Fist" />
          <optionChoice value="0x01" label="Pistol" />
          <optionChoice value="0x02" label="Shotgun" />
          <optionChoice value="0x03" label="Chaingun" />
          <optionChoice value="0x04" label="Rocket Launcher" />
          <optionChoice value="0x05" label="Plasma Gun" />
          <optionChoice value="0x06" label="BFG9000" />
          <optionChoice value="0x07" label="Chainsaw" />
          <optionChoice value="0x08" label="Super Shotgun" />
        </optionData>
      </group>
      <group index="1" title="Ammo">
        <offsetItem source="0" offset="0x005D" length="4" />
        <numericData source="0" offset="0x009D" length="4" label="Bullets">
          <suggestedValue value="200" label="200" info="Default maximum" />
          <suggestedValue value="400" label="400" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
        <numericData source="0" offset="0x00A1" length="4" label="Shells">
          <suggestedValue value="50" label="50" info="Default maximum" />
          <suggestedValue value="100" label="100" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
        <numericData source="0" offset="0x0A9" length="4" label="Rockets">
          <suggestedValue value="50" label="50" info="Default maximum" />
          <suggestedValue value="100" label="100" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
        <numericData source="0" offset="0x00A5" length="4" label="Cells">
          <suggestedValue value="300" label="300" info="Default maximum" />
          <suggestedValue value="600" label="600" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
      </group>
      <group index="2" title="Ammo Capacity">
        <offsetItem source="0" offset="0x005D" length="4" />
        <numericData source="0" offset="0x00AD" length="4" label="Bullets">
          <suggestedValue value="200" label="200" info="Default maximum" />
          <suggestedValue value="400" label="400" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
        <numericData source="0" offset="0x00B1" length="4" label="Shells">
          <suggestedValue value="50" label="50" info="Default maximum" />
          <suggestedValue value="100" label="100" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
        <numericData source="0" offset="0x00B9" length="4" label="Rockets">
          <suggestedValue value="50" label="50" info="Default maximum" />
          <suggestedValue value="100" label="100" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
        <numericData source="0" offset="0x00B5" length="4" label="Cells">
          <suggestedValue value="300" label="300" info="Default maximum" />
          <suggestedValue value="600" label="600" info="Default maximum with backpack" />
          <suggestedValue value="2147483647" label="Max" />
        </numericData>
      </group>
    </group>
    <group index="1" title="Keys">
      <offsetItem source="0" offset="0x005D" length="4" />
      <bitmaskData label="Blue Key">
        <meta id="key" />
        <bitmaskDataItem source="0" offset="0x0048" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Yellow Key">
        <meta id="key" />
        <bitmaskDataItem source="0" offset="0x004C" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Red Key">
        <meta id="key" />
        <bitmaskDataItem source="0" offset="0x0050" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Blue Skull Key">
        <meta id="key" />
        <bitmaskDataItem source="0" offset="0x0054" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Yellow Skull Key">
        <meta id="key" />
        <bitmaskDataItem source="0" offset="0x0058" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Red Skull Key">
        <meta id="key" />
        <bitmaskDataItem source="0" offset="0x005C" length="1" bit="0" />
      </bitmaskData>
      <metaItem id="key" type="set-all-bitmask">
        <metaSelection check="check" label="All Keys" />
      </metaItem>
    </group>
    <group index="2" title="Power-Ups &amp; Items">
      <offsetItem source="0" offset="0x005D" length="4" />
      <numericData source="0" offset="0x0002D" length="4" format="time-seconds" label="Invulnerability (Time Remaining)">
        <valueAdjustment operator="/" value="35" />
        <suggestedValue value="0" label="None" />
        <suggestedValue value="61356675" label="Max" />
      </numericData>
      <numericData source="0" offset="0x0031" length="4" format="time-seconds" label="Berserk (Time Remaining)">
        <valueAdjustment operator="/" value="35" />
        <suggestedValue value="0" label="None" />
        <suggestedValue value="61356675" label="Max" />
      </numericData>
      <numericData source="0" offset="0x0035" length="4" format="time-seconds" label="Partial Invisibility (Time Remaining)">
        <valueAdjustment operator="/" value="35" />
        <suggestedValue value="0" label="None" />
        <suggestedValue value="61356675" label="Max" />
      </numericData>
      <numericData source="0" offset="0x0039" length="4" format="time-seconds" label="Radiation Shielding Suit (Time Remaining)">
        <valueAdjustment operator="/" value="35" />
        <suggestedValue value="0" label="None" />
        <suggestedValue value="61356675" label="Max" />
      </numericData>
      <bitmaskData label="Computer Area Map">
        <bitmaskDataItem source="0" offset="0x0040" length="1" bit="0" />
      </bitmaskData>
      <numericData source="0" offset="0x0041" length="4" format="time-seconds" label="Light Amplification Visor (Time Remaining)">
        <valueAdjustment operator="/" value="35" />
        <suggestedValue value="0" label="None" />
        <suggestedValue value="61356675" label="Max" />
      </numericData>
      <bitmaskData label="Backpack">
        <bitmaskDataItem source="0" offset="0x0060" length="1" bit="0" />
      </bitmaskData>
    </group>
  </variableOffsetBlock>
<!-- Cheats don't work :(
  <group index="3" title="Cheats">
    <variableOffsetBlock index="2" baseOffset="0x0061">
      <offsetItem source="0" offset="0x005D" length="4" />
      <bitmaskData label="No Clipping">
        <bitmaskDataItem source="0" offset="0x00C5" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="God Mode">
        <bitmaskDataItem source="0" offset="0x00C5" length="1" bit="1" />
      </bitmaskData>
      <bitmaskData label="No Momentum">
        <bitmaskDataItem source="0" offset="0x00C5" length="1" bit="2" />
      </bitmaskData>
    </variableOffsetBlock>
  </group>
-->
</saveFileFormat>
