Open DemoJameson opened 3 years ago
I guess it's because MonoMod didn't relink IteratorStateMachine
and causing the parameter still refers to patch_
class so the game failed to load it when trying to get the MoveNext()
method. It will be fixed in #351.
For now, you can try first get the instructions of TransitionRoutine
and get the state machine class from the operand of IL_0001
, then just hook the MoveNext()
method of the class:
IL_0000: ldc.i4.0
IL_0001: newobj instance void Celeste.Level/'<TransitionRoutine>d__25'::.ctor(int32)
Or you can try https://www.pastery.net/jzvbdv/ (only tested with a console application, not guaranteed to work)
Tested now that #351 is merged, still crashes
- [ ]
Correct multiple IteratorStateMachine attributes on a single iterator methodIt will break a lot of mods, so it's better to only include this after we have a solution to migrate.
The patch didn't get merged eventually, I forgot to edit the comment in this issue. 😅