-
-
Notifications
You must be signed in to change notification settings - Fork 14
Linux Compatibility
Transpiler patches are not guaranteed to work on Linux
The reason is that the IL on Linux is different, maybe they are using Mono.
Since the transpiler patches depend on the actual IL code, they may fail to produce valid output. It causes SE to abruptly crash at the CLR level, which cannot be caught in C#, therefore it does not produce usable logs. It usually happens while starting the game.
The proper solution would be to detect that the plugin is running on Linux. Your plugin either has to disable the transpiler patches and any features which depend on them or make the transpiler patches work properly in both cases.
You would have to record the original IL code on Linux or run your IDE in Wine to use its decompiler to see the IL code and test your transpiler directly.
It would approximately double the effort required to write and maintain those patches over subsequent game versions.