You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Information about any bug you have found in the vanilla code.
Entry format
A good post in this category would typically have:
A short and descriptive name
List or range of game versions the bug occurs in
A summary of what goes wrong and when
Steps to reproduce
Fixes and workarounds
You or someone else can put temporary fixes for the found bug in the replies. A reply with a fix should have all necessary information to apply the fix, and additional contexts (such as guesses as to when the fix may fail, whether it can be freely stacked with identical hooks, etc).
Example entry
# UnrecognizedAttributes fields are not deserializing properly## Applies to
Rain World 1.9.*## Summary
global::SaveUtils.PopulateUnrecognizedStringAttrs does not work properly, causing all unrecognized attributes to be discarded
## Steps to reproduce- Put some extra data into an object of one of the classes supporting UnrecognizedAttributes
- Cause the game to save object's savedata to savefile
- Cause the game to reload data from savefile
- Custom strings are missing on the object
Example workaround
The issue above could be remedied by applying
the following ILHook to IL.SaveUtils.PopulateUnrecognizedStringAttrs:
![ilhook.cs](ilhook.cs)
Note that this ilhook should be applied inside its own try block,
as it will throw an error if an identical hook was applied before it.
attached code:
internalstaticvoid__IL_FixUnrecognizedAttrs(MonoMod.Cil.ILContextil){MonoMod.Cil.ILCursorc=new(il);if(c.TryGotoNext(MonoMod.Cil.MoveType.After,(x)=>x.MatchLdarg(1),(x)=>x.MatchLdarg(0),(x)=>x.MatchLdlen(),(x)=>x.MatchConvI4(),(x)=>x.MatchBlt(outILLabeltarget))){c.Prev.OpCode=OpCodes.Pop;c.Prev.Operand=null;c.Emit(OpCodes.Pop);}else{thrownewException("Could not find injection point; presumed an identical hook is already in place");}}
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
What goes here
Information about any bug you have found in the vanilla code.
Entry format
A good post in this category would typically have:
Fixes and workarounds
You or someone else can put temporary fixes for the found bug in the replies. A reply with a fix should have all necessary information to apply the fix, and additional contexts (such as guesses as to when the fix may fail, whether it can be freely stacked with identical hooks, etc).
Example entry
Example workaround
attached code:
Beta Was this translation helpful? Give feedback.
All reactions