I've just started to use CE in this week for creating an autosplitter of Astroneer Glitchwalkers DLC.
Here I've succeeded to find the two pointes which are essential for the speedrun.
- "GameSessionStarted" : I re-found as great pioneers did. I know it is a bitfield (started: 1, creative mode: 2), and shared by normal and glitchwalkers mode.
- Opened status of gateways in Aeoluz : It's a bitfield (alpha: 1, delta: 2, zeta: 4). It can be easily found to check the value changing as 0, 1, 3 and 7.
In detail, I just found two pointers, and also found 2,000+ pointer paths by several pointer scans, then I chose and added one of them in my table. It doesn't work on a loaded instance but only available on a new instance (it's no matter for the speedrun).
I can't predict how the value moves. I also tried to remove SteamDRM to check the code but couldn't read assembly, and to make matters worse, DLC is not applied on the unpacked one.
Now I started to consider using image recognition based splitters, but I think it is preferrable for every runners to check memory for exact splitting with less CPU usage.
Does anyone can help to find it or share useful information for a beginner?