Skip to content

Memory Addresses and Pointers

JakeArnoldJakeArnold Member Posts: 1
edited October 2019 in General Modding
Hi, just wondering if anyone has found any memory address pointers in the past for this game as I'm looking to make an autosplitter for livesplit. I thought that it would be best to ask before spending time looking for them as it's proving to be quite difficult as I'm not very proficient with CheatEngine.

I'm looking for values such as which Chapter I'm currently in.

Thanks in advance and if this is in the wrong place I'm happy to repost it in the correct place.

Comments

  • fearlessfearless Member Posts: 40
    I had a look at the game in x64dbg and talked to @Bubb regarding this. There are some functions that appear to lookup a global variable for chapter: CInfGame::GetCurrentChapter and Infinity_GetMaxChapterPage. The game engine uses hashes to lookup keys for variable values, but i don't think there is a consistent memory location that would store that value for the autosplitter livesplit to use.

    We even talked through the possibility of using the EEex loader for reading that global variable, storing it and exporting the memory location to an ini file or something for an external program to pick up. Problem is that the chapter global variable is updated a number of times in the engine, and it would have to be re-read and the address of the stored value updated in the ini file, and there doesn't appear to be a way of reliably reading that global variable in response to that. And as far as we are aware there doesn't appear to be a OnChapterChanged type event/callback which would be nice to have to allow such an update.

    We even walked through the possibility of using and implementing timers in the EEex loader, but realized that it wouldn't be feasible to add that to the game, as it would slow it down and the timer consistency couldn't be guaranteed with respect to updating the chapter value for the speedrun program to pick up the change - which would lead to inconsistent times in speed run.

    There may be other possible solutions to tackling this, just none that come to mind at the moment.
Sign In or Register to comment.