rlurking wrote: ↑Thu Sep 03, 2020 3:36 am
Looks like this is the place to dump CK3 info.
ck3.exe+29B1BF0 is the base address of the structure containing ironman flag & the integrity/checksum flag
+F9 = checksum/integrity, 0 disables achievements
+FA = ironman, 0 disables ironman
- The +F9 check seems to be a rollup of all the different checks that are done (mod checksum, save file modification, debug mode enabled) that were independent flags in CK2
ck3.exe+29B076A is the debug/console enabled flag (normally enable by setting -debug_mode as a flag in a shortcut to the exe)
- Unlike in CK2, running console commands does not flip the integrity switch, instead it only checks against the debug/console enabled flag.
There is a whole list of checks, I'm currently writing a debug-mode switch for in-game use and an achievement-with-mods function.
These are only part of the whole list.
ck3.exe+29B1BF0 is indeed base, but these are all the checks with what I think they do:
+ F8*, Checksum during startup
+ F9, Checksum during gameplay, regular checks for integrity
+ FA*, Ironman check during startup
+ FB, Perhaps savegame integrity or steam check? It has to be set to 1 in order for the achievements to work.
+ 100*, Possibly Ruler Designer? (It hasn't been implemented yet). Value should be 0 for achievements.
*These get reset to 0 before entering the main menu by the game itself.
The debug pointer (ck3.exe+29B076A) alters the checksum, so it's linked to +F9 and +F8 for that reason.
Edit: By manually setting all these pointers and overwriting the debug check in the checksum I can now get achievements with debug mode and mods active (and with the rules mod I just made you can also change game rules). Now I just need to make sure I replace every necessary function and we're all set