Good news: I have made some progress, I bypassed the function which encrypts the data and I get the same structure as in a ggpack file (the one starting with the signature 0x04030201
Here is an example of 1 savegame converted to json, I had to remove some parts due to the size of the content
Code:
{
"actors": {
"bankmanager": {
"_costume": "BankMgrAnimation",
"_dir": 2,
"_lockFacing": 0,
"_pos": "{541,61}",
"_roomKey": "Bank",
"defaultVerb": 3,
"detective": 0,
"dialog": null,
"enterWalk": 10,
"flags": 3158024,
"gender": 3145728,
"last_selected": 0,
"name": "@30103",
"rambleTID": 0,
"sawRaysBadge": 0,
"sawReyesBadge": 0,
"selectable": 0
},
// other actors,
},
"callbacks": {
"callbacks": [],
"nextGuid": 8000000
},
"currentRoom": "Bridge",
"dialog": {},
"easy_mode": 1,
"gameGUID": "",
"gameScene":
"actorsSelectable": 0,
"actorsTempUnselectable": 0,
"forceTalkieText": 0,
"selectableActors": [
{
"_actorKey": "ray",
"selectable": 0
},
// etc.
]
},
"gameTime": 1003.47,
"globals": {
{
"abducted_agent": null,
"abducted_agent_seen": 0,
"act1": 1,
"act2": 0,
"act2_delores_intro": 0,
"act2_franklin_intro": 0,
"act2_ransome_intro": 0,
"act3": 0,
"act4": 0,
"act4_ransome_done": 0,
"act4_ray_done": 0,
"act4_reyes_done": 0,
"activeRatHole": {
"_objectKey": "bigtopHole4"
},
"actorGreetingTID": 10000375,
"agent_kidnapped": 0,
"agent_needs_dime": 0,
// etc.
},
"inputState": 101,
"inventory": {
"slots":
[
{
"objects": [
"raysBadge",
"raysNotebook",
"cellPhone"
],
"scroll": 0
},
// etc.
]
},
"objects":
"aStreetArcadeDoorWF": {
"flags": 1073742912,
"name": "@29000"
},
// etc.
},
"rooms": {
"AStreet": {
"background": "AStreet",
"speck_of_dust": 1,
"speck_of_dust_collected": 0
},
// etc.
},
"savebuild": 958,
"savetime": 1586606075,
"selectedActor": "boris",
"version": 2
}