BattletechModders / ModTek

Mod system for HBS's PC game BattleTech.
GNU Lesser General Public License v2.1
121 stars 34 forks source link

4.2.0: "ModTek Died!" on Steam Deck #234

Open MaridaConnoisseur opened 3 months ago

MaridaConnoisseur commented 3 months ago

I have added './run.sh %command%' to Launch Options and changed compatibility settings to Steam Linux Runtime 3.0 in order for ModTek to even load, as it refuses to load from the default Proton selection. From running run.sh from terminal, I get a lot of errors of being able to load mono libraries, and failing to hook seemingly everything before 'terminate called without an active exception'. Simply double-clicking run.sh, the screen flashes black. Running from Steam gives the "ModTek Died!" error Attached: log files. Logs.tar.gz

CptMoore commented 3 months ago

The normal way is to run it from steam. I am concerned about the following error (Illegal..):

01:02:16.0670407 ModTek [ERROR] Uncaught ModTek exception!
    System.ExecutionEngineException: String conversion error: Illegal byte sequence encounted in the input.
      at (wrapper managed-to-native) System.Reflection.Assembly.get_fullname(System.Reflection.Assembly)
      at System.Reflection.Assembly.ToString () [0x0000f] in <d7ac571ca2d04b2f981d0d886fa067cf>:0 
      at System.Reflection.Assembly.get_FullName () [0x00000] in <d7ac571ca2d04b2f981d0d886fa067cf>:0 
      at ModTek.Util.AssemblyUtil.FindMethods (System.Reflection.Assembly assembly, System.String methodName, System.String typeName) [0x00120] in <686a2d93b3844bc7b3af8400654533db>:0 
      at ModTek.Features.Manifest.Mods.ModDefExLoading.FinishedLoading (ModTek.ModDefEx modDef, System.Collections.Generic.List`1[T] ModLoadOrder) [0x00021] in <686a2d93b3844bc7b3af8400654533db>:0 

as that might indicate some special characters where they should not be.

Maybe its an issue with %20 in XAI%20Logo and Custom%20Components and XAI%20ReSize

in ModTek.log they appear as whitespace in assemblies_loaded.log they appear as %20

can you rename the folders to remove the whitespace and try again? If that works, I have to check where the conversion form whitespace to %20 happens in ModTek code.

CptMoore commented 3 months ago

I've also updated ModTek@latest to avoid using get_FullName in the first place. See https://github.com/BattletechModders/ModTek/releases/tag/latest

This is just an ugly workaround, as the "Ilegal byte sequence" error hints at a fundamental issue somewhere.