Lovrom8 / RSMods

383 stars 34 forks source link

Incompatible with RSASIO #131

Closed QuaniumHalex closed 1 year ago

QuaniumHalex commented 1 year ago

New mod will not load with RSASIO, they will each load seperately as expected, but nothing when placed together in the game folder. Tested on fresh steam install. game does a white screen, see the pick in the lower right, lockup, p00f gone.

mdias commented 1 year ago

@Lovrom8 note that I changed a bit how the Two RTC Message patch works on RS ASIO 0.6.0. I believe this is the only place where RSMods and RS ASIO attempt to patch the same thing, so I would imagine this might be where the crash happens.

Instead of inserting the jmp as before, I just replace some stuff with nops until a jmp that's already in there jumps to the same place we used to jump to.

Lovrom8 commented 1 year ago

Thank you! I'll take a look at it.

What I noticed (and what is very odd), is that it stops crashing when I remove our Midi stuff. For some weird reason when we don't initialize Midi, it works (or well, atleast it doesn't crash almost instantly)

Looking at the dump (with MIDI enabled), it crashes somewhere in Patched_CoCreateInstance image

mdias commented 1 year ago

Hmm, I did have some issues with some of the CoCreateInstance patching of some locations. Can you check with the attached RS ASIO DLL file?

Alternatively, if you want to compile from source disable the call Patch_CallRelativeAddress<(void*)&Patched_CoCreateInstance>(offsets_CoCreateInstanceRel);. From what I checked, only one of the CoCreateInstance locations is really needed for RS ASIO, but I figured I'd patch all 5 like the previous version did.

RS_ASIO_abs_cocreateinstance.zip

Lovrom8 commented 1 year ago

That seems to have done the trick. Dayum, very fast and straight to root of the problem :0

mdias commented 1 year ago

Yeah, I had issues before with patching all addresses in a relative manner. I'll post an update to RS ASIO :)

mdias commented 1 year ago

Fixed version of RS ASIO released.

Sorry for the trouble @Lovrom8 , and thank you for the awesome work!

Lovrom8 commented 1 year ago

Not a problem! Hell, thank you for the quick response and cooperation. Rock on! \m/

QuaniumHalex commented 1 year ago

thank you both for your quick collaboration and solution, cheers!