-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhancement: Game State Editing #8
Comments
Here's what it dumps at the moment.
Doors coords are from counting either Horizontal or Vertical walls from 0,0 in the top left. |
Looks good. We can add this as an extra tab if a continue.sav is found in the same directory as the prof.sav |
I have established that the sector map is generated based on the int at location 2079 in your example (7F6B 0000). Changing the value of this radically alters the map. My guess is that it's used as a seed to a random number generator which is then used to generate the layout. |
Gah. Well, if it turns out sensor data isn't parsable, there's still the possibility of a "randomize map" button. :P The first big mystery block (977-1221 above) describes all possible systems in a fixed order: Shields, Engines, Oxygen, Weapons, Drone Ctrl, Medbay, Pilot, Sensors, Doors, Teleporter, Cloaking, Artillery. First, an int describing reserve capacity. So... systems that are present are 28 bytes. Systems that aren't are 4 bytes. A smaller block, (2024-2028 above, appearing right after weapons) is a count of drones, which in this example was 0. They have a bunch of int attributes I haven't nailed down yet. |
I just looked at an escort-quest ship while it was still on-screen. Stored exactly like the player's, except using an id from autoBlueprints.xml. So I'll be moving [blueprint/name/layout through augments] out of SavedGameState into a generic ShipState class. The ship I saw was at the end of the file, so I don't know if it was after the beacons, or part of the final one. |
I've added parsing for cargo, beacons and sector data. The ship data at the end of the file is there if you save while there's another ship at the current beacon (e.g. if you accept surrender or avoid combat). It's not a part of the beacon list. |
Something's not quite right about door indexing. Engi cruiser 2's doors aren't all in ShipLayout.txt order. |
Okay doors are fixed in commit 870728e . The game sorts doors at runtime prior to saving, same relative order, except vacuum-adjacent doors are moved to the end. |
Okay doors are fixed in commit 870728e . The game sorts doors at runtime prior to saving, same relative order, except vacuum-adjacent doors are moved to the end. |
So that's what the 'close' button does. :P |
Good timing with v11. I was in the middle of writing commit 77cdbda which edits almost every crew field. |
When v12 comes out, screenshots would be nice.
|
Editing the forum thread's description to mention saved game editing would be good too. |
I've partially deciphered the continue.sav file and written a parser with a toString() method to dump some of its contents. Should I commit it?
The text was updated successfully, but these errors were encountered: