Saved game data: Difference between revisions
DansFriend (talk | contribs) |
DansFriend (talk | contribs) |
||
Line 102: | Line 102: | ||
|- | |- | ||
|'''Current weapon''' | |'''Current weapon''' | ||
| | |0x2C | ||
|1 | |1 | ||
|{{CollapsibleContent|show=see more|hide=see less|width=12.75em|00 - Small Sword|01 - Broad Sword<br>02 - Magic Sword<br>03 - Throwing Daggers<br>04 - Axe<br>05 - Club<br>06 - Crossbow<br>07 - Chicken Drumsticks<br>08 - Arm<br>09 - Lightning<br>0A - Longbow<br>0B - Spear<br>0C - Hammer<br>0D Flaming Longbow<br>0E - Magic Longbow<br>0F - Good Lightning<br>10 - Dragon Armour<br>11 - Chaos Rune<br>12 - None}} | |{{CollapsibleContent|show=see more|hide=see less|width=12.75em|00 - Small Sword|01 - Broad Sword<br>02 - Magic Sword<br>03 - Throwing Daggers<br>04 - Axe<br>05 - Club<br>06 - Crossbow<br>07 - Chicken Drumsticks<br>08 - Arm<br>09 - Lightning<br>0A - Longbow<br>0B - Spear<br>0C - Hammer<br>0D Flaming Longbow<br>0E - Magic Longbow<br>0F - Good Lightning<br>10 - Dragon Armour<br>11 - Chaos Rune<br>12 - None}} | ||
Line 108: | Line 108: | ||
|- | |- | ||
|'''Current shield''' | |'''Current shield''' | ||
| | |0x30 | ||
|1 | |1 | ||
|{{CollapsibleContent|show=see more|hide=see less|width=12.75em|00 - None|01 - Copper Shield<br>02 - Silver Shield<br>03 - Gold Shield}} | |{{CollapsibleContent|show=see more|hide=see less|width=12.75em|00 - None|01 - Copper Shield<br>02 - Silver Shield<br>03 - Gold Shield}} | ||
Line 122: | Line 122: | ||
|- | |- | ||
|'''Small Sword''' | |'''Small Sword''' | ||
| | |0xA0 | ||
|4 | |4 | ||
| | |<code>FF FF 00 00</code> | ||
|The default value is | |The default value is <code>FF FF 00 00</code>, which means Dan doesn't have the Small Sword in his inventory. It is set to <code>00 00 00 00</code> when Dan obtains it. | ||
|- | |- | ||
|'''Copper Shield''' | |'''Copper Shield''' | ||
| | |0x128 | ||
|4 | |4 | ||
| | |<code>FF FF 00 00</code> | ||
|The default value is | |The default value is <code>FF FF 00 00</code>, which means Dan doesn't have the Copper Shield in his inventory. It is set to <code>96 00 00 00</code> (150) when Dan obtains it, which is the durability of the shield. | ||
|- | |||
! colspan="5" | Level Changes | |||
|- | |||
! Name | |||
! Offset | |||
! Length | |||
! Value | |||
! Meaning | |||
|- | |||
| '''Length of array''' | |||
| 0x14C | |||
| 4 | |||
| 0 | |||
| 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 | |||
| <code>00 00 00 00</code> | |||
|This is where the "level changes" array begins. | |||
|} | |} | ||
Revision as of 11:50, 21 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.
Frame 0
This frame is the header for a block of PS1 saved data.
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.
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.
Saved game
General | ||||
---|---|---|---|---|
Name | Offset | Length | Value | Meaning |
Checksum | 0x0 | 4 | Number | Used to verify save game integrity. Uses the Checksum-16 algorithm. |
Save game count | 0x6 | 1 | Number | Number of times the game has been saved. |
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 |
The weapon Dan is currently wielding. |
Current shield | 0x30 | 1 | 00 - None
01 - Copper Shield |
The shield Dan is currently wielding. If set without having set its durability in the inventory, it will immediately break. |
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 | 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. |
Frames 35 to 63
These are unused.
|