Saved game data: Difference between revisions

    From Gallowpedia, the MediEvil Wiki. You'll be dying to read!
     
    (5 intermediate revisions by the same user not shown)
    Line 2: Line 2:
    This page documents ''[[MediEvil]]'' '''saved game data''' formats.
    This page documents ''[[MediEvil]]'' '''saved game data''' formats.
    ==''MediEvil'' (1998 original)==
    ==''MediEvil'' (1998 original)==
    A PlayStation Memory Card data block consists of 64 frames. Each frame is 128 bytes long.
    A PlayStation Memory Card data block consists of 64 frames. Each frame is 128 bytes long.<ref>{{Cite web|url=https://www.psdevwiki.com/ps3/PS1_Savedata#Memory_card_PS1_(original)|site=PS3 Developer wiki|title=PS1 Savedata|retrieved=November 22, 2024}}</ref>
    ===Frame 0===
    ===Frame 0===
    This frame is the header for a block of PS1 saved data.
    This frame is the header for a block of PS1 saved data.
    Line 72: Line 72:


    ====Saved games====
    ====Saved games====
    The file can hold a maximum of three saved games. Each saved game is 1360 bytes long.
    The file can hold a maximum of three saved games. Each saved game is 1360 bytes long. The offsets for the saved games relative to the beginning of the entire Memory Card data block are 0x20C, 0x75C, and 0xCAC.
    =====Saved game=====
    =====Saved game=====
    The offsets in this table are relative to the beginning of a saved game.
    {| class="wikitable"
    {| class="wikitable"
    ! colspan="5" | General
    ! colspan="5" | General
    Line 87: Line 88:
    | 4
    | 4
    | Number
    | Number
    | Used to verify save game integrity. Uses the Checksum-16 algorithm.
    | Used to verify saved game integrity. Uses the Checksum-16 algorithm.
    |-
    |-
    |'''Level index'''
    |'''Level index'''
    Line 100: Line 101:
    |Number
    |Number
    |Number of times the game has been saved.
    |Number of times the game has been saved.
    |-
    |'''Options flags'''
    |0x8
    |1
    |<code>00000100</code> (NTSC-U default)
    |Various flags for options. From right to left:<br>Flag 0: Vibration (0 for on, 1 for off)<br>Flag 1: Audio Mode (0 for stereo, 1 for mono)<br>Flag 2: Walk/Run toggle (0 for on, 1 for off)
    |-
    |'''FX volume'''
    |0xC
    |4
    |0-127 (80 default)
    |FX volume. Can be set through Options in the Pause Menu.
    |-
    |-
    |'''Time played'''
    |'''Time played'''
    Line 192: Line 205:
    ===Frames 35 to 63===
    ===Frames 35 to 63===
    These are unused.
    These are unused.
     
    ==References==
    {{Reflist}}
    ==Navigation==
    ==Navigation==
    {{Empty section|Navigation}}
    {{Empty section|Navigation}}
    [[Category:Files in MediEvil]]
    [[Category:Files in MediEvil]]

    Latest revision as of 01:44, 22 November 2024

    The following article contains original research by Dan's Friend and Lazlo52.

    This page documents MediEvil saved game data formats.

    MediEvil (1998 original)

    A PlayStation Memory Card data block consists of 64 frames. Each frame is 128 bytes long.[1]

    Frame 0

    This frame is the header for a block of PS1 saved data.

    Name Offset Length Value Meaning
    Magic 0x0 2 SC Signature for all PS1 saved game data.
    Icon flag 0x2 1 11 This means the icon for the saved game consists of a single image.
    Number of blocks 0x3 1 1 How many blocks the save will take up on a memory card.
    Title 0x4 64 MediEvil      Name of the saved game in Shift JIS format.
    Icon colour palette 0x96 32 MediEvil1998-MemoryCardIconPalette.png Saved game icon colour palette.

    Frame 1

    This frame is used to store a PS1 saved game icon: MediEvil-Memory-Card.png

    Frames 2-3

    These frames are reserved for additional images in case the icon is meant to be animated, but are unused by MediEvil.

    Frames 4-34

    These frames contain the actual MediEvil saved game data.

    File header

    The header is 12 bytes long.

    Name Offset Length Value Meaning
    Magic 0x0 4 60SM Signature for MediEvil saved game data.
    Saved games 0x4 1 0-2 The number of saved games.

    Saved games

    The file can hold a maximum of three saved games. Each saved game is 1360 bytes long. The offsets for the saved games relative to the beginning of the entire Memory Card data block are 0x20C, 0x75C, and 0xCAC.

    Saved game

    The offsets in this table are relative to the beginning of a saved game.

    General
    Name Offset Length Value Meaning
    Checksum 0x0 4 Number Used to verify saved game integrity. Uses the Checksum-16 algorithm.
    Level index 0x4 2
    01 - The Graveyard

    02 - Return to the Graveyard
    03 - Cemetery Hill
    04 - The Hilltop Mausoleum
    05 - Scarecrow Fields
    06 - Dan's Crypt
    07 - The Ant Caves
    08 - The Crystal Caves
    09 - Pumpkin Gorge
    0A - The Pumpkin Serpent
    0B - The Sleeping Village
    0C - Pools Of The Ancient Dead
    0D - The Asylum Grounds
    0E - Inside The Asylum
    0F - The Enchanted Earth
    10 - The Gallows Gauntlet
    11 - The Haunted Ruins
    12 - Hall of Heroes
    13 - The Ghost Ship
    14 - The Entrance Hall
    15 - The Time Device
    16 - The Lake
    17 - Zarok's Lair
    18 - *Programmers's Playground

    The index of the level the name of which will be displayed on the saved game tombstone and in the save game menu. Although 00 should be "*Title Level", setting the value to this will make the saved game unselectable.
    Save game count 0x6 2 Number Number of times the game has been saved.
    Options flags 0x8 1 00000100 (NTSC-U default) Various flags for options. From right to left:
    Flag 0: Vibration (0 for on, 1 for off)
    Flag 1: Audio Mode (0 for stereo, 1 for mono)
    Flag 2: Walk/Run toggle (0 for on, 1 for off)
    FX volume 0xC 4 0-127 (80 default) FX volume. Can be set through Options in the Pause Menu.
    Time played 0x1C 4 Number Time the player has played the game for. Displayed on the tombstones in the main menu and on the save game screen.
    Current weapon 0x2C 1
    00 - Small Sword

    01 - Broad Sword
    02 - Magic Sword
    03 - Throwing Daggers
    04 - Axe
    05 - Club
    06 - Crossbow
    07 - Chicken Drumsticks
    08 - Arm
    09 - Lightning
    0A - Longbow
    0B - Spear
    0C - Hammer
    0D Flaming Longbow
    0E - Magic Longbow
    0F - Good Lightning
    10 - Dragon Armour
    11 - Chaos Rune
    12 - None

    The weapon Dan is currently wielding.
    Current shield 0x30 1
    00 - None

    01 - Copper Shield
    02 - Silver Shield
    03 - Gold Shield

    The shield Dan is currently wielding. If set without having set its durability in the inventory, it will immediately break.
    Current map position 0x4C 1
    00 - Dan's Crypt

    01 - The Graveyard
    02 - Return to the Graveyard
    03 - Cemetery Hill
    04 - The Hilltop Mausoleum
    05 - Scarecrow Fields
    06 - The Enchanted Earth
    07 - Pumpkin Gorge
    08 - The Pumpkin Serpent
    09 - The Sleeping Village
    0A - The Asylum Grounds
    0B - Inside The Asylum
    0C - Pools Of The Ancient Dead
    0D - The Lake
    0E - The Crystal Caves
    0F - The Gallows Gauntlet
    10 - The Haunted Ruins
    11 - The Ghost Ship
    12 - The Entrance Hall
    13 - The Time Device
    14 - Zarok's Lair

    Dan's current position on the map. Setting this to a level that is locked will allow Dan to enter that level, but may create a softlocked saved game if previous levels are not unlocked on the map.
    Inventory
    Name Offset Length Value Meaning
    Small Sword 0xA0 4 FF FF 00 00 The default value is FF FF 00 00, which means Dan doesn't have the Small Sword in his inventory. It is set to 00 00 00 00 when Dan obtains it.
    Copper Shield 0x128 4 FF FF 00 00 The default value is FF FF 00 00, which means Dan doesn't have the Copper Shield in his inventory. It is set to 96 00 00 00 (150) when Dan obtains it, which is the durability of the shield.
    Level Changes
    Name Offset Length Value Meaning
    Length of array 0x14C 4 0-256 Length of the "level changes" array. The array grows each time something happens that should change a level permanently on replays.
    Start of array 0x150 Length of array * 4 00 00 00 00 This is where the "level changes" array begins. The maximum amount of members in the array is 256 (1024 bytes).
    CR - don't play starting cutscene N/A 4 06 00 21 B6 Makes it so that the cutscene at the beginning of Dan's Crypt with the Information Gargoyles is skipped.
    CR - hide Small Sword N/A 4 06 01 36 B3 Removes the Small Sword pickup from Dan's Crypt.
    CR - Life Bottle on dirt mound to moneybag N/A 4 06 01 E4 B5 Changes the Life Bottle on the dirt mound in Dan's Crypt into a moneybag.
    CR - secret Life Bottle to moneybag N/A 4 06 01 C6 B6 Changes the Life Bottle behind the breakable wall in Dan's Crypt into a moneybag.

    Frames 35 to 63

    These are unused.

    References

    1. PS1 Savedata on PS3 Developer wiki. Retrieved November 22, 2024.

    Navigation