Saved game data

Revision as of 13:55, 22 November 2024 by DansFriend (talk | contribs) (→‎Saved game)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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   Saved game icon colour palette.

Frame 1

This frame is used to store a PS1 saved game icon:  

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. The offsets in the table below are relative to the beginning of Frame 4.

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 Memory Card data block are 0x20C, 0x75C, and 0xCAC.

Saved game

The offsets in the table below 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-32 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.
Pause Menu Options
Name Offset Length Value Meaning
Options flags 0x8 4 00000100 (NTSC-U default) Various flags from the Pause Menu. 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 2 0-127 (80 default) FX volume. Can be set through the Pause Menu.
Speech volume 0xE 2 0-127 (110 default) Speech volume. Can be set through the Pause Menu.
Music volume 0x10 2 0-127 (64 default) Music volume. Can be set through the Pause Menu.
Lighting 0x12 2 (-192)-128 (32 default) Lighting. Can be set through the Pause Menu.
Screen adjust (horizontal) 0x16 2 0 (default) Horizontal screen adjustment. Can be set through the Pause Menu.
Screen adjust (vertical) 0x18 2 0 (default) Vertical screen adjustment. Can be set through the Pause Menu.
Button layout 0x1A 2 0-2 (0 default) Button layout. Can be set through the Pause Menu.
Player Stats
Name Offset Length Value Meaning
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 energy 0x20 4 300 (default) Dan's current energy (as seen in the Life Bar). Starts at 300. Changes when enemies attack Dan or when he heals.
Current stored energy 0x24 4 0 (default) Current stored energy. Starts at 0, set to 300 once first Life Bottle is picked up.
Maximum stored energy 0x28 4 0 (default) Maximum stored energy. Starts at 0, set to 300 once first Life Bottle is picked up. Only changes when Life Bottles are picked up.
Current weapon 0x2C 4
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 4
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 4
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 2 -1 The default value is -1 (FF FF), which means Dan doesn't have the Small Sword in his inventory. It is set to 0 when Dan obtains it.
Throwing Daggers 0xB4 2 -1 The default value is -1 (FF FF), which means Dan doesn't have the Throwing Daggers in his inventory. Set to 100 when Dan obtains them, which is the amount of daggers.
Copper Shield 0x128 2 -1 The default value is -1 (FF FF), which means Dan doesn't have the Copper Shield in his inventory. It is set to 150 (0x96) when Dan obtains it, which is the durability of the shield.
Gold Pieces 0x138 2 0-32767 The default value is 0. Updated when Dan picks up treasure. Because the value is a signed short, the maximum size is 32,767. If more gold should be collected, the value will break. It will no longer be displayed in the HUD and Dan won't be able to use it to buy anything from Merchant Gargoyles.
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 - Small Sword to moneybag N/A 4 06 01 36 B3 Changes the Small Sword pickup from Dan's Crypt into a moneybag.
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

Gaming Wiki Network