this is from the first information about the crew. the first 4 bytes are the length of the string that follows, which is the name of a crew member. all of the info stated like that. with the length of the field and then the field. before first crew member there is another number which is the number of crew member.
figuring out what each little area of code is a bit more hard because so little of it is actually legible.
ps. I wouldn't worry about the offsets as they change if have a different length field that precedes it.
So then is the 64 00 00 00 in front of all of the positional data the length of the positional data value that follows?
it should be. i think there is only one time when i found this not to be true but im not sure why, im investigating it. once i get a more complete picture of the data structure of the sav file ill share the code. all of the data is encoded in little-endian and the lengths are longs.
so far i can only read the crew memeber information. so what i said might change.
this is from the first information about the crew. the first 4 bytes are the length of the string that follows, which is the name of a crew member. all of the info stated like that. with the length of the field and then the field. before first crew member there is another number which is the number of crew member.
figuring out what each little area of code is a bit more hard because so little of it is actually legible.
ps. I wouldn't worry about the offsets as they change if have a different length field that precedes it.
So then is the 64 00 00 00 in front of all of the positional data the length of the positional data value that follows?
it should be. i think there is only one time when i found this not to be true but im not sure why, im investigating it. once i get a more complete picture of the data structure of the sav file ill share the code. all of the data is encoded in little-endian and the lengths are longs.
so far i can only read the crew memeber information. so what i said might change.
I'll keep you up to date on what I find as well. I can change crew members' locations now without issue, but I tried adding an extra crew member and it just hangs when I click continue. I made changes everywhere I thought I would need to, but didn't seem to work.
I haven't started on crew stuff ... I'm sequentially pushing through it. So far there isn't much of interest to report. Anyway, longs? The profile.sav file was all 32bit integers (including the booleans, ugh). I'll see what I can dig up of worth to post here now that I've got my desktop access again.
To be clear, we're all talking about continue.sav, right?
swixel wrote:I haven't started on crew stuff ... I'm sequentially pushing through it. So far there isn't much of interest to report. Anyway, longs? The profile.sav file was all 32bit integers (including the booleans, ugh). I'll see what I can dig up of worth to post here now that I've got my desktop access again.
To be clear, we're all talking about continue.sav, right?
Yes.
Also, I found door states! They're in between the final crew member and the series of FF FF FF FF over and over. I'll let you know exactly what I find.
EDIT: False alarm. For some reason, the very first action you take on your ship alters a bunch of stuff in the save.
ChickenBandit wrote:
EDIT: False alarm. For some reason, the very first action you take on your ship alters a bunch of stuff in the save.
I'm not surprised. I know little about all this, but even I could tell there was something weird happening, given the differences between two save games with the same ship in the very first system. For one thing, there's bound to be data that isn't user-facing, and who knows when things like the sector map are generated?
ChickenBandit wrote:
EDIT: False alarm. For some reason, the very first action you take on your ship alters a bunch of stuff in the save.
I'm not surprised. I know little about all this, but even I could tell there was something weird happening, given the differences between two save games with the same ship in the very first system. For one thing, there's bound to be data that isn't user-facing, and who knows when things like the sector map are generated?
Oddly enough, the moment you take your first action (i.e. moving a crew member or opening a door) it stays consistent from then on (or at least it seems so). That said, I couldn't find any difference in my two save files where one had a door open and the other didn't. I'll check again.
ChickenBandit wrote:Oddly enough, the moment you take your first action (i.e. moving a crew member or opening a door) it stays consistent from then on (or at least it seems so). That said, I couldn't find any difference in my two save files where one had a door open and the other didn't. I'll check again.
It's achievement related information. Precisely what, I don't know yet.
swixel wrote:I haven't started on crew stuff ... I'm sequentially pushing through it. So far there isn't much of interest to report. Anyway, longs? The profile.sav file was all 32bit integers (including the booleans, ugh). I'll see what I can dig up of worth to post here now that I've got my desktop access again.
To be clear, we're all talking about continue.sav, right?
32 bit integers are longs. they are "long" bc integers used to be 16 bit. of course things have changed.
ive done a bit more digging and there is a stats area that is between the two times the ship name and type appear. this messed up my program but im working on fixing it right now.
ChickenBandit wrote:
EDIT: False alarm. For some reason, the very first action you take on your ship alters a bunch of stuff in the save.
I'm not surprised. I know little about all this, but even I could tell there was something weird happening, given the differences between two save games with the same ship in the very first system. For one thing, there's bound to be data that isn't user-facing, and who knows when things like the sector map are generated?
Oddly enough, the moment you take your first action (i.e. moving a crew member or opening a door) it stays consistent from then on (or at least it seems so). That said, I couldn't find any difference in my two save files where one had a door open and the other didn't. I'll check again.
Ok, I actually did find the door status info this time. It's just a little bit after the FF FF FF FF segment. I'll be analyzing it now for real this time.
BTW, I would recommend Notepad+ +, there's a Hex editor plugin and a comparison plugin, which is how I was able to find the difference.
arhimmel wrote:32 bit integers are longs. they are "long" bc integers used to be 16 bit. of course things have changed.
Oh, right. I was calibrating around words (32bits), assuming you meant a 64bit (too much modern C++ work where 'long' indicates 64bit for me now).. I haven't/don't tend to use 16bit-based syntax and just work around words, so my bad. I'm also working on this in C# to get some practice in it (adding to my confusion, an 'int' is 32 bits here too ). Haven't looked into your code yet, but will release my C# stuff once I'm done getting the structure variant flags out of the way so we can at least pull data in a sane way.
I think I've identified types if nothing else ...
And I'm using Sublime Text 2, but it's commercial.