VGFM Save Format
In Vinyl Goddess From Mars you can save in both Map level and a regular level, but restoring a game saved inside a regular level makes you appear on the Map level, standing just before a marker of the level you saved in. The state of Map level (including gate keys and gates) as well as your position, score and health is saved. Six save positions are available.
The file DATA.DAT stores 6 saved games, each one is 109 bytes long, making the total file size of 654 bytes.
This is the data structure of one saved game entry:
|0||BYTE||name||Name of saved game represented by zero-terminated indexes to the game's font (not ASCII, 'A' = 0x1A). The game lets you type at most 21 characters, only capital letters or space.|
|24||UINT16LE||pixelX||X-coordinate of player's position on Map level in pixels (1 tile = 16 pixels)|
|26||UINT16LE||pixelY||Y-coordinate of player's position on Map level in pixels (1 tile = 16 pixels)|
|28||INT16LE||difficulty||-1 = easy, 0 = moderate, 1 = hard|
|30||UINT16LE||numKeys||Number of gate keys you carry|
|32||UINT16LE||*||Unknown, but has a meaningful value|
|34||UINT16LE||episode||0 = first episode|
|36||UINT16LE||health||9 = full health, 0 = one hit point|
|38||BOOL||finishedLevels||Levels you finished, levels from the second episode start at index 9 and so on|
|65||BYTE||*||Unknown, but confirmed that the status of gate keys and gates is stored inside this field|
|102||BYTE||scoreDigits||Player's score, each decimal digit is stored separately, $FF means no digit, least significant digit at the first index|
This file format was reverse engineered by Hisymak. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)