2024-07-26 19:42:55 +10:00

59 lines
2.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Keys stored in save file
%LocalAppData%\CrabChampions\Saved\SavedGames
SaveSlot.sav
save appears to be seralised as
## This was an incorrect assumption
PropertyName (Fixed size) Property Type (Fixed size) Property (Dynamic based on type?)
## These were also somewhat incorrect, I don't think the fields are byte aligned anymore
Propertyname:
- Not fixed size
- Appears to be NULL terminated strings
- Appears to be fit into 16 byte chunks
- IE: 'Keys' is stored in 16 bytes and 'AccountLevel' is stored in 32 bytes
- After keys there is an `0x0C` that I am not sure what that is yet, its after the NULL byte for a few strings
- There is always a value after the NULL byte I've seen `0x0C` and `0x0D` so far (Might indicate the size of the data or the data is always a fixed size)
PropertyType
- Not fixed size
- Appears to be fit into 16 byte chunks
- IE: 'IntProperty' is stored in 32 bytes
- Value is directly after padding
- Value stored in MAYBE 16 bytes ( HIGHLY DOUBT IT)
- 16 bytes contain `19 00 00 00 0B 00 00 00`
- 19 being the current keys I have
---------
Property Type fields
[PROPERTY_TYPE_NAME][NULL][PROPERTY_SIZE][NULL * 8][PROPERTY_VALUE][NULL * 3][NEXT_LABEL_SIZE][NULL * 3]
```
IntProperty
```
```
49 6E 74 50 72 6F 70 65 72 74 79 00 04 00 00 00 00 00 00 00 00 19 00 00 00 0B 00 00 00
```
```
Keys IntProperty
```
```
00 00 00 05 00 00 00 4B 65 79 73 00 0C 00 00 00 49 6E 74 50 72 6F 70 65 72 74 79 00 04 00 00 00 00 00 00 00 00 09 00 00 00
```
# Format is (This one seems correct)
[NULL] * 3 | [SIZE OF LABEL] | [NULL] to end of value size | [LABEL] (NULL TERMINATED) | [NULL] | [PROPERTY TYPE LABEL SIZE] | [NULL] to end of value size | [PROPERTY TYPE LABEL] (NULL TERMINATED) | [NULL] to end of value size | [SIZE OF DATA VALUE] | [NULL * 8] (padding?) | [DATA VALUE] | [NULL] to end of value size
Property/Type/Offset
Keys/Int/0x12DB
appears to use three null bytes as a separator between things