MBU-Team / OpenMBU

A reverse engineered version of Marble Blast Ultra from Xbox 360
156 stars 20 forks source link

Memory based autosplitter #219

Open thearst3rd opened 6 months ago

thearst3rd commented 6 months ago

I created the previous autosplitter when I was less comfortable with writing livesplit autosplitters, and opted for a file-based approach. This isn't recommended since the OS and device IO have time to get in the way and make timings inaccurate.

This pull request updates the autosplitter class to allocate a chunk of memory with an easily scannable header and known layout. An external memory scanner can find the header and drive the timer start/split/load removal functionality. I have implemented that auto splitter here for use in the LiveSplit Auto Splitting Runtime: https://codeberg.org/thearst3rd/openmbu-asr