Strangely, after making that code change above, the PC version is now loading at the RH successfully. Weird...
Edit to add: Just confirmed - reverting back to the original code makes the game load at the main station.
Saving at Rock Hermits (strict game)
Moderators: winston, another_commander, Getafix
-
- Quite Grand Sub-Admiral
- Posts: 6943
- Joined: Wed Feb 28, 2007 7:54 am
Re: Saving at Rock Hermits (strict game)
Do you see it?
Mac
PC
Check out the number sequence - on the PC part, the number -0.354187 is inserted as the first number where things start going wrong, but the rest are still good, they are just moved one position to the "right", making the x coordinate on the Mac be the y coordinate on PC, the y becoming z and everything is shifted from that point onwards. Possibly happens again later but this first occurrence is obvious. So I guess that somewhere an extra call to randf() takes place on the PC, which generates a random number used for something, then we get back to here but the rng is already off by one number.
Note that the logs you generated are not only hermit positions, they are positions of everything that had to call this function. To get the hermit positions you need to filter out the function calls which were made for location code "PLANET_ORBIT_HIGH".
Mac
Code: Select all
7:54:43.150 [testing]: vectorrandomspatial 0.407700, -0.451431, 0.366425 <-- discrepancy starts from here
17:54:43.150 [testing]: vectorrandomspatial 0.150391, 0.312866, 0.115997
17:54:43.150 [testing]: vectorrandomspatial 0.404861, -0.416000, 0.006058
17:54:43.150 [testing]: vectorrandomspatial 0.150940, 0.322449, -0.091125
17:54:43.158 [testing]: vectorrandomspatial -0.184799, -0.442520, 0.434433
17:54:43.158 [testing]: vectorrandomspatial -0.100800, 0.493774, 0.466095
...
Code: Select all
This
\/\/\/
17:56:10.326 [testing]: vectorrandomspatial -0.354187, 0.407700, -0.451431 <-- discrepancy starts from here
17:56:10.327 [testing]: vectorrandomspatial 0.366425, 0.150391, 0.312866
17:56:10.327 [testing]: vectorrandomspatial 0.115997, 0.091049, 0.040863
17:56:10.327 [testing]: vectorrandomspatial 0.195999, -0.120193, -0.470261
17:56:10.327 [testing]: vectorrandomspatial 0.058716, -0.417999, 0.472214
17:56:10.327 [testing]: vectorrandomspatial 0.055130, 0.198639, -0.233292
...
Note that the logs you generated are not only hermit positions, they are positions of everything that had to call this function. To get the hermit positions you need to filter out the function calls which were made for location code "PLANET_ORBIT_HIGH".
-
- Quite Grand Sub-Admiral
- Posts: 6943
- Joined: Wed Feb 28, 2007 7:54 am
Re: Saving at Rock Hermits (strict game)
Happens later too, a bunch of floats inserted out of sequence, with the sequence resuming much later in the "list" in the PC version.
I think we have either unbalanced calls to randf() between PC and Mac or some weird stack manipulation which could explain why entering a simple printf which does stuff to the stack seems to fix it (wouldn't trust that as a fix, though).
I think we have either unbalanced calls to randf() between PC and Mac or some weird stack manipulation which could explain why entering a simple printf which does stuff to the stack seems to fix it (wouldn't trust that as a fix, though).