emoose / MBINCompiler

Now maintained by monkeyman192: https://github.com/monkeyman192/MBINCompiler
Other
43 stars 69 forks source link

Investigate unknown int64 inside GcSimulationGlobals - maybe pre-set seed for the RNG? #85

Open emoose opened 7 years ago

emoose commented 7 years ago

Right now the int64 at 0x100 (0x160 in the raw MBIN file) is the only field inside GcSimulationGlobals that's unnamed (besides an unused string), I'm unsure what it's for but it gets used in a function containing the string "PlanetRoot", which is called by cGcSimulation::Construct()

Value is set to 128450284362 / 0x1DE83BCB4A in GoG 1.03, maybe changing it will change some of the procedural generation stuff, but I'm not really sure how to test if things have changed though since this is probably baked into the save file too.

Maybe loading an invalid scene, therefore kicking us into the error scene, might show some differences?

EDIT: tried doing this, didn't notice any differences. Using latest GoG it doesn't seem to load the same error scene as before neither... scene loading might have been removed entirely since I couldn't get anything to load, didn't really try for long though.

Maybe trying to warp to a new place, then exit (without saving), change seed and then warp there again will show some changes, trying it out now.

EDIT: No dice, maybe it is baked into the save, I tried decrypting mine and searching for the value above and couldn't find anything though... Could be that this "seed" actually has nothing to do with the RNG, or maybe it only affects something minor.