Are you using the legit Steam version of the game? Using this table yields invalid pointers for the whole table for me.
For me:
Looking inside of Engine.dll there is:
int __thiscall GAME::Options::Load(int, char *)
Which calls:
char __thiscall sub_10130300(char *this, int a2, char a3)
In here we have a loop that loads each of the options from the options file. This function loads the options.txt file located in the folder:
C:\User\Documents\My Games\Grim Dawn\Settings\options.txt
The options descriptions can be seen on the left with their value on the right. Cloud Saving is one of the options marked as 'cloudSaving'.
This value is handled as a boolean (true/false).
This function is called like this:
Code: Select all
001EF371 - 52 - push edx
001EF372 - 8D 8B D8010000 - lea ecx,[ebx+000001D8]
001EF378 - FF 15 74923300 - call dword ptr ["grim dawn.std::_Mutex::_Mutex"+1C626] { ->Engine.GAME::Options::Load }
Debugging these, I came up with a base pointer for the allocated options object at:
[GAME::gEngine] + 0x290
From there I debugged the options array functions and found that cloudSave was being altered via:
[[[[GAME::gEngine] + 0x290]+0x90]+0]
Mileage may vary and this may not be a reliable address to use. Just a quick summary from looking at it.