0x0ade / FEZMod-Legacy

Kinda dead FEZ mod. Check the linked issue comment for further info.
https://github.com/0x0ade/FEZMod-Legacy/issues/5#issuecomment-341082111
MIT License
22 stars 2 forks source link

Crash at game load #27

Closed ghost closed 8 years ago

ghost commented 8 years ago

I tested the last version (0.3a7) and the game crashes when pressing "Continue game". I have Windows 10. Here is the exception message (sorry, I don't know how to launch game in English so the report is in French...).

(19:40:08.202) [FEZMod] System.TypeInitializationException: Une exception a été levée par l'initialiseur de type pour 'FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2'. ---> System.InvalidOperationException: Impossible d'exécuter la méthode, car soit la méthode proprement dite, soit le type contenant n'est pas pleinement instancié(e).
   à FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2.orig_.cctor()
   à FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2..cctor()
   --- Fin de la trace de la pile d'exception interne ---
   à FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2.Draw(BaseEffect effect)
   à FezEngine.Structure.Group.Draw(BaseEffect effect)
   à FezEngine.Services.LevelMaterializer.DrawTrileLights(Mesh m, BaseEffect effect)
   à FezEngine.Structure.Mesh.Draw()
   à FezEngine.Components.LightingPostProcess.PreDraw(GameTime gameTime)
   à System.Action`1.Invoke(T obj)
   à FezEngine.Services.TargetRenderingManager.OnPreDraw(GameTime gameTime)
   à FezGame.Fez.Draw(GameTime gameTime)
   à Microsoft.Xna.Framework.Game.DoDraw(GameTime gameTime)
   à Microsoft.Xna.Framework.Game.Tick()
   à Microsoft.Xna.Framework.OpenTKGameWindow.OnUpdateFrame(Object sender, FrameEventArgs e)
   à System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   à OpenTK.GameWindow.OnUpdateFrame(FrameEventArgs e)
   à OpenTK.GameWindow.RaiseUpdateFrame(Stopwatch update_watch, Double& next_update, FrameEventArgs update_args)
   à OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   à Microsoft.Xna.Framework.OpenTKGamePlatform.RunLoop()
   à Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
   à FezGame.Program.orig_MainInternal()
   à FezGame.Program.MainInternal()
(19:40:08.203) [FEZMod] System.InvalidOperationException: Impossible d'exécuter la méthode, car soit la méthode proprement dite, soit le type contenant n'est pas pleinement instancié(e).
   à FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2.orig_.cctor()
   à FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2..cctor()

This error happens when launching the game in Editor mode too.

0x0ade commented 8 years ago

I can't seem to replicate the issue on Linux / Mono. I'll definitely reboot into Windows and try again with both 0.3a7 and the devbuilds.

0x0ade commented 8 years ago

Sorry for the quite late reply, but I've fixed quite some 1.11- and 1.12- related bugs that affected all platforms. I've also been using Windows for quite some time.

Could you try again with the newest devbuild in the FEZMod Installer? https://www.dropbox.com/s/21t3w3vtthrlxca/FEZMod.Installer.exe?dl=0

ghost commented 8 years ago

Same error here (in English : http://pastebin.com/DEzGEACK). Doing "New Game" raises this error too.

0x0ade commented 8 years ago

I am not able to reproduce this via .NET 4.6, nor Mono 4.X, tested with both FEZ 1.11 and 1.12-DEBUG. The .NET Core source hints me towards the generic type being initialized without generic arguments..?

Well, I guess it's Windows 10's fault.™

What version(s) of .NET have you got installed?

ghost commented 8 years ago

I have .NET 2.0, 3.0, 3.5, 4, 4.5, 4.5.1, 4.5.2 and 4.6. Running FEZMod in compatibility mode (Windows 7) didn't worked too.

0x0ade commented 8 years ago

What codepath does FEZMod use? (It's in the JAFM Log.txt)

ghost commented 8 years ago

Is it that ?

(12:58:15.711) [FEZMod] Running .NET 4.5+ codepath for setting the default culture.

0x0ade commented 8 years ago

Yup, it's that. I can't remember that it's broken in .NET 4.5+.

Could you please uninstall FEZMod via the installer, then "fix files" via Steam and try again? Honestly, I never expected such an issue to appear. I'm not hooking Group.Draw, and the SIIP code works on every machine I've tested it on... including my phone.

ghost commented 8 years ago

My bad. That's my fault. The game works now. ><

0x0ade commented 8 years ago

Heh, it's my fault for not delivering an installer in the first place.

At least the actual crashes with .NET / Windows are fixed, but unrelated to this issue. So thanks for reminding me to check FEZMod on Windows again :D

I'll close this issue then.