SoulMemory reads and decodes data from running instances of souls games. Check the readme here: https://github.com/FrankvdStam/SoulSplitter/blob/main/src/SoulMemory/README.md
$ dotnet add package SoulMemorySouls games speedrun timer, load remover and autosplitter
Currently the official timer for Dark Souls 1, Dark Souls 3, Elden Ring and Sekiro
You can find detailed installation instructions with screenshots here: https://github.com/FrankvdStam/SoulSplitter/wiki/Installation
Not everything is documented, the things that are documented can be found on the wiki.
If you are having trouble, have questions, feature requests or anything else, come find me on discord. Feel free to ping me (@wasted) in the help channel of the respective soulsgame on the speedsouls server, or DM me by user wasted#2747 (DM's are open, no need to send a friend request).
Thank you strimmers, for risking your PB's, to test my broken code!
Catalystz
Johndisandonato
Thank you all!
Special thanks to B3LYP, for his many contributions to the speedrunning community:
Thanks Pav, for the Elden Ring cheat engine table.
Thanks Johndisandonato, pretty much always willing to exhange some ideas about tech stuff
Yapped helped speed up mapping event flags to bosses and graces
And thanks to the soulsmodding community at large, I'm standing on the shoulders of these giants: http://soulsmodding.wikidot.com/
Uses the excellent material design library by James Willock: https://materialdesigninxaml.net/
Thanks to Nordgaren, his tools can be found here:
https://github.com/Nordgaren/DS2S-META
https://github.com/Nordgaren/DS2-META
https://github.com/Nordgaren/Erd-Tools
Thanks thefifthmatt for all the hard work on figuring out how the ER map system works, insane effort! http://soulsmodding.wikidot.com/reference:elden-ring-map-list
Thanks CapitaineToinon for letting me use his DS1 timer code + inventory index reset code!
Thanks Blade for the nologo code!
I use Clion and Resharper from jetbrains to develop SoulSplitter. They have been giving me a free opensource license to use all their products for non-comercial use for a couple years now. Totally awesome, thanks Jetbrains!
The .net build relies on some local files, all can be obtained by cloning livesplit.
Building soulinjectee can be done in the root directory of the repository. You can build it for 32 bit (DS1 PTDE & DS2 vanilla) or for 64 bit (all other soulsgames) - you need the right toolchain/target for each build respectively
64 bit: cargo build --lib
32 bit: cargo build --lib --target=i686-pc-windows-msvc