IsMissionSave is not defined in my template. I have a poorly named local int isMissionThread that is set by the template to 1 if the thead.index is negative - because I haven't worked out the proper bitwise evaluation for 0x8000. S
hould I rename this variable to isMissionSave. It seems like a more appropriate description. No. that bit is part of the mission thread.
I'm worried about IsOddJob = 2 as I have a Not = 1 evaluation for the missionText field I need to test.
I'm going to try again to make a few saves using different saving strategies.
Tracked variables for each save are SaveGameStateType, isOddJob and missionReplaySetting if available:
Alley.Quicksave.GTASAsf10.b, 3, 0 (195,000 bytes)
Started a new game and walked towards Jefferson until the mini-map stopped flashing.
Alley.SaveAnywhere.GTASAsf1.b, 3, 0 (195,000 bytes)
Used a cleo mod to show the save screen.
Jefferson.Safehouse.GTASAsf3.b, 3, 0 (195,000 bytes)
Edited the previous save with some cash, fireproof, infinite sprint, cities unlocked and,
Bought the Jefferson safehouse to save.
ArchEsp.Checkpoint.GTASAsf10.b 3, 0, 1 - (390,000 bytes) broke my template (dropbox)
Modified save, cleo mission select, proceeded with Architectural Espionage until CJ enters the building. "Saving Checkpoint"
ArchEsp.Autosave.GTASAsf9.b, 2, 0, 0 (195,000 bytes)
Auto-save generated after completing Architectural Espionage without failing or reloading. Didn't see the message, may have missed it.
ArchEsp.RetrySave.GTASAsf10.b, 5, 0, 1 (260,000 bytes)
Save created in slot 10 when a mission begins. Used to retry a failed mission.
ArchEsp.ObjectSave.GTASAsf10.b, 3, 0, 1 (260,000 bytes)
Save created when pausing during a mission retry (tends to glitch objects)
if (FileSize() == 390000) isCheckpointSave = 1, isMobile = 1;;
When isMobile was enabled for all files of this size, the checkpoint save managed to parse until it hit the nPlayerCars field at offset +576 in the players struct of the PlayerObjects block. Earlier in the players struct is a set of 12 unknownmobile1 bytes in what looks like an int and 8 flag bytes of an unknown grouping, My memory suggests that the first int is usually -1, as it is in the ObjectSave. In the Checkpoint save it's 147.
Crap. The int(?) at +408 has a value of 18 in the Jefferson.Safehouse.