﻿<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="style.xsl" ?>
<saveFileFormat>
  <inputSource index="0" name="doomsave.svg" titleName="DOOM" info="doomsave.svg file stored in the save(x) save located under title ID 58410824.">
    <magicBytes position="0x0047" length="4" value="0x20313130" />
  </inputSource>
<!--
  <inputSource index="0" format="STFS" name="save(x)" info="Save located under title ID 58410824.">
    <file required="true" name="doomsave.svg">
      <magicBytes position="0x0047" length="4" value="0x20313130" />
    </file>
  </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="0x0052" length="1" readOnly="true" label="Map" />
  </group>
  <group index="1" title="Stats">
    <numericData source="0" offset="0x007C" length="4" label="Health">
      <suggestedValue value="100" label="100" />
      <suggestedValue value="200" label="200" />
      <suggestedValue value="2147483647" label="Max" />
    </numericData>
    <numericData source="0" offset="0x0080" length="4" label="Armor">
      <suggestedValue value="100" label="100" />
      <suggestedValue value="200" label="200" />
      <suggestedValue value="2147483647" label="Max" />
    </numericData>
    <numericData source="0" offset="0x0057" length="3" format="time-seconds" label="Time">
      <valueAdjustment operator="/" value="35" />
    </numericData>
    <numericData source="0" offset="0x0128" length="4" label="Kill Count" />
    <numericData source="0" offset="0x012C" length="4" label="Item Count" />
    <numericData source="0" offset="0x0130" length="4" label="Secret Count" />
  </group>
  <group index="2" title="Weapons &amp; Ammo">
    <group index="0" title="Weapons">
      <bitmaskData label="Fist">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00D7" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Pistol">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00DB" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Shotgun">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00DF" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Chaingun">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00E3" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Rocket Launcher">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00E7" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Plasma Gun">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00EB" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="BFG9000">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00EF" length="1" bit="0" />
      </bitmaskData>
      <bitmaskData label="Chainsaw">
        <meta id="weapon" />
        <bitmaskDataItem source="0" offset="0x00F3" 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="0x00CF" 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">
      <numericData source="0" offset="0x00F8" 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="0x00FC" 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="0x0104" 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="0x0100" 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">
      <numericData source="0" offset="0x0108" 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="0x010C" 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="0x0114" 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="0x0110" 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="3" title="Keys">
    <bitmaskData label="Blue Key">
      <meta id="key" />
      <bitmaskDataItem source="0" offset="0x00A3" length="1" bit="0" />
    </bitmaskData>
    <bitmaskData label="Yellow Key">
      <meta id="key" />
      <bitmaskDataItem source="0" offset="0x00A7" length="1" bit="0" />
    </bitmaskData>
    <bitmaskData label="Red Key">
      <meta id="key" />
      <bitmaskDataItem source="0" offset="0x00AB" length="1" bit="0" />
    </bitmaskData>
    <bitmaskData label="Blue Skull Key">
      <meta id="key" />
      <bitmaskDataItem source="0" offset="0x00AF" length="1" bit="0" />
    </bitmaskData>
    <bitmaskData label="Yellow Skull Key">
      <meta id="key" />
      <bitmaskDataItem source="0" offset="0x00B3" length="1" bit="0" />
    </bitmaskData>
    <bitmaskData label="Red Skull Key">
      <meta id="key" />
      <bitmaskDataItem source="0" offset="0x00B7" length="1" bit="0" />
    </bitmaskData>
    <metaItem id="key" type="set-all-bitmask">
      <metaSelection check="check" label="All Keys" />
    </metaItem>
  </group>
  <group index="4" title="Power-Ups &amp; Items">
    <numericData source="0" offset="0x0088" length="4" format="time-seconds" label="Invulnerability (Time Remaining)">
      <valueAdjustment operator="/" value="35" />
      <suggestedValue value="0" label="None" />
      <suggestedValue value="2147483647" label="Max" />
    </numericData>
    <numericData source="0" offset="0x008C" length="4" format="time-seconds" label="Berserk (Time Remaining)">
      <valueAdjustment operator="/" value="35" />
      <suggestedValue value="0" label="None" />
      <suggestedValue value="2147483647" label="Max" />
    </numericData>
    <numericData source="0" offset="0x0090" length="4" format="time-seconds" label="Partial Invisibility (Time Remaining)">
      <valueAdjustment operator="/" value="35" />
      <suggestedValue value="0" label="None" />
      <suggestedValue value="2147483647" label="Max" />
    </numericData>
    <numericData source="0" offset="0x0094" length="4" format="time-seconds" label="Radiation Shielding Suit (Time Remaining)">
      <valueAdjustment operator="/" value="35" />
      <suggestedValue value="0" label="None" />
      <suggestedValue value="2147483647" label="Max" />
    </numericData>
    <bitmaskData label="Computer Area Map">
      <bitmaskDataItem source="0" offset="0x009B" length="1" bit="0" />
    </bitmaskData>
    <numericData source="0" offset="0x009C" length="4" format="time-seconds" label="Light Amplification Visor (Time Remaining)">
      <valueAdjustment operator="/" value="35" />
      <suggestedValue value="0" label="None" />
      <suggestedValue value="2147483647" label="Max" />
    </numericData>
    <bitmaskData label="Backpack">
      <bitmaskDataItem source="0" offset="0x00BB" length="1" bit="0" />
    </bitmaskData>
  </group>
<!-- Cheats don't work :(
  <group index="5" title="Cheats">
    <bitmaskData label="No Clipping">
      <bitmaskDataItem source="0" offset="0x0120" length="1" bit="0" />
    </bitmaskData>
    <bitmaskData label="God Mode">
      <bitmaskDataItem source="0" offset="0x0120" length="1" bit="1" />
    </bitmaskData>
    <bitmaskData label="No Momentum">
      <bitmaskDataItem source="0" offset="0x0120" length="1" bit="2" />
    </bitmaskData>
  </group>
-->
</saveFileFormat>
