Skip to content

Savegame File Structure

tolik518 edited this page Jan 17, 2021 · 4 revisions

First of all we need to open our save game in a hex editor
I'd recommend working with Hex Workshop since it supports bookmarks, which make the life a lot easier.
You will get something like this.

hex

The first 4 bytes are not known yet what the stand for also the byte at 0x000C seems like to have no function
at the moment since it has always the value of 0x42. Looking for 0x42 at 0x000C is probaby a good method to
verify if a file is a proper save game file.

The structure:

Position Length (in bytes) Type Name Comment Example Example Meaning
0x00000000 4 ??? ??? ??? 6B 00 00 00 ???
0x00000004 4 Int32 hat 46 75 00 00 Big Eggshell
0x00000008 4 Int32 facegear 4F 9C 00 00 Monkey Ears
0x0000000C 1 ??? ??? Always 42 42 ???
0x0000000D 4 Int32 hair 00 71 02 00 Hairstyle 0
0x00000011 4 Int32 weapon 50 C3 00 00 Wooden Sword
0x00000015 4 Int32 shield 20 4E 00 00 Wooden Shield
0x00000019 4 Int32 armor A4 5F 01 00 Barbarian Strap
0x0000001D 4 Int32 shoes A0 86 01 00 Mountain Boots
0x00000021 4 Int32 accessory1 9F 38 01 00 Restless Spirit
0x00000025 4 Int32 accessory2 97 38 01 00 Blue Ribbon Brooch
0x00000029 4 Int32 stylehat 30 75 00 00 Straw Boater
0x0000002D 4 Int32 stylefacegear 40 9C 00 00 Blindfold
0x00000031 4 Int32 styleweapon 50 C3 00 00 Wooden Sword
0x00000035 4 Int32 styleshield 20 4E 00 00 Wooden Shield
0x00000039 1 bool HatHidden? 00 Not Hidden
0x0000003A 1 bool FacegearHidden? 01 Hidden
0x0000003B 4 Int32 lastOneHander 50 C3 00 00 Wooden Sword
0x0000003F 4 Int32 LastTwoHander 6F EA 00 00 Angels Thirst
0x00000043 4 Int32 LastBow FF FF FF FF None
0x00000047 1 byte Quickslot0Type If 1{length 4} else if 2 {length 2} else length 0 01
0x00000048 2 Int32/Int16 QuickSlot0 We have 10 Quickslots 34 27 00 00 Gift Box
Offset
0x00000000 1 byte HairColor 00 Black
0x00000001 1 byte SkinColor 01
0x00000002 1 byte PonchoColor 04 LightGrey
0x00000003 1 byte ShirtColor 04 LightGrey
0x00000067 1 byte PantsColor 06 DarkRed
0x00000004 1 byte male? 01 Male
0x00000005 1 byte name_length 08 8 Charakters Nickname
0x00000006 name_length Char[] Nickname 54 6F 6C 69 6B 35 31 38 Tolik518
..
Offset
0x00000000 4 Int32 inventory_length Not the same as number of items in the game 6C 01 00 00 364 Items
0x00000004 4 Int32 Item ID 0E 00 00 00 Card Album
0x000000A 4 Int32 Count 01 00 00 00 1 Times
0x00000010 4 Int32 Position B5 A0 00 00 41141
Offset
0x00000000 4 ??? ??? ??? B7 A0 00 00 41143
0x00000004 4 Int32 Shady Merchant length 03 00 00 00 3 Items in the Display
0x0000000A 4 Int32 Item ID 6D 75 00 00 Statue Mask
0x00000010 4 Int32 Count 01 00 00 00 1 Times
Offset
0x00000000 4 Int32 Cards count 1F 00 00 00 31 Cards
0x00000004 4 Int32 Card ID 00 00 00 00 ???
Offset
0x00000000 4 Int32 Treasure Map Count 08 00 00 00 8 Treasure maps
0x00000004 2 Int16 Treasure Map E8 03
Offset
0x00000000 4 Int32 idk Treasure Map Count again? 08 00 00 00 8 ???
0x00000004 2 Int16 idk ED 03 ???
Offset
0x00000000 4 Int32 Skill/Talents Count 0D 00 00 00 13 different skills
0x00000004 2 Int16 Skill/talent ID E9 03 Two Handed Spin
0x00000006 1 Byte Skill/Talent Level 09 Level 9
Offset
0x00000000 2 Int16 Level 1C 28
0x00000002 4 Int32 Current EXP 01 00 00 00 1 Exp
0x00000006 4 Int32 EXP Needed? 10 27 00 00 10000 Exp
0x0000000A 4 Int32 EXP ?? 10 27 00 00 10000 ???
0x0000000E 2 Int16 Talent Point 01 00 1
0x00000010 2 Int16 Silver Skill point 06 00 6
0x00000012 2 Int16 Gold Skill point 01 00 1
0x00000014 4 Int32 Money/Gold 01 27 01 00 75521 Gold

How to read the rest of the file is not known yet, but we know that gold, pets and skills are stored there

Clone this wiki locally