Saved game data (disambiguation): Difference between revisions
DansFriend (talk | contribs) |
DansFriend (talk | contribs) |
||
Line 144: | Line 144: | ||
| 0x14C | | 0x14C | ||
| 4 | | 4 | ||
| 0 | | 0-256 | ||
| Length of the "level changes" array. The array grows each time something happens that should change a level permanently on replays. | | Length of the "level changes" array. The array grows each time something happens that should change a level permanently on replays. | ||
|- | |- | ||
Line 151: | Line 151: | ||
| Length of array * 4 | | Length of array * 4 | ||
| <code>00 00 00 00</code> | | <code>00 00 00 00</code> | ||
|This is where the "level changes" array begins. | |This is where the "level changes" array begins. The maximum amount of members in the array is 256 (1024 bytes). | ||
|} | |} | ||
Revision as of 11:55, 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-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). |
Frames 35 to 63
These are unused.
|