ValveSoftware / ValveSoftware/Proton

Let's Build a Zoo (1547890)

Open
#5,288 19 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

.NET Game compatibility - Unofficial XAudio2
Dominant language
C++
Stars
32.8k
Forks
1.6k
PR merge metrics
PR metrics pending

Description

Compatibility Report

  • Name of the game with compatibility issues: Let's Build a Zoo
  • Steam AppID of the game: 1547890

System Information

  • GPU: Nvidia RTX 3060 Ti
  • Driver/LLVM version: nvidia 470.62.07
  • Kernel version: 5.15
  • Link to full system information report as Gist:
  • Proton version: Experimental

I confirm:

  • that I haven't found an existing compatibility report for this game.
  • that I have checked whether there are updates for my system available.

Symptoms

RESOLVED: Game crashes just after opening logo animation
NEW: The above issue has a workaround to just skip the music when it nullrefs, (assuming it's a simple try...catch) but the root problem still exists. Currently the observable symptom is that there is no music when running with Proton.

Reproduction

Just start the game

steam-1547890.log

Relevant bit seems to be:
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
  at SEngine.Content.MonogameEmbedLoad.LoadMP3SongFromEmbeddedResource (System.String FilePathFromContentFolder) [0x00075] in <d0589cb77133403999f2f2140f835d66>:0 
  at SEngine.Content.LoadSongForPlatform.LoadThisSong (Microsoft.Xna.Framework.Content.ContentManager contentManager, System.String FilePathFromContentFolder) [0x00000] in <d0589cb77133403999f2f2140f835d66>:0 
  at TinyZoo.Audio.MusicManager.LoadThisSong (TinyZoo.Audio.SongTitle songtitle) [0x000a3] in <8ec0f307dfe0413b826235f770724f40>:0 
  at TinyZoo.Audio.MusicManager.LoadMusic () [0x00042] in <8ec0f307dfe0413b826235f770724f40>:0 
  at TinyZoo.AssetContainer.LoadAssetsDuringSplash (Microsoft.Xna.Framework.Content.ContentManager contentmanager, SpringIAP.SpringIAPManager springIAPmanager, TinyZoo.Player player, System.Int32& Index, System.Boolean& IsDone) [0x00116] in <8ec0f307dfe0413b826235f770724f40>:0 
  at TinyZoo.SplashScreen.SplashManager.UpdateSplashManager (TinyZoo.Player[] players, Microsoft.Xna.Framework.Content.ContentManager contentmanager, System.Single DeltaTime) [0x0013c] in <8ec0f307dfe0413b826235f770724f40>:0 
  at TinyZoo.GameStateManager.UpdateGameStateManager (System.Single DeltaTime, TinyZoo.Player[]& players, Microsoft.Xna.Framework.Content.ContentManager Content, SpringIAP.SpringIAPManager springIAPmanager, Microsoft.Xna.Framework.GraphicsDeviceManager graphics, Microsoft.Xna.Framework.Graphics.GraphicsDevice _GraphicsDevice) [0x00172] in <8ec0f307dfe0413b826235f770724f40>:0 
  at TinyZoo.Game1.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x001c6] in <8ec0f307dfe0413b826235f770724f40>:0 
  at Microsoft.Xna.Framework.Game.DoUpdate (Microsoft.Xna.Framework.GameTime gameTime) [0x00019] in <115d97b957eb41cabade1b29d1e7edf4>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x00127] in <115d97b957eb41cabade1b29d1e7edf4>:0 
  at MonoGame.Framework.WinFormsGameWindow.TickOnIdle (System.Object sender, System.EventArgs e) [0x00014] in <115d97b957eb41cabade1b29d1e7edf4>:0 
  at System.Windows.Forms.Application+ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle (System.Int32 grfidlef) [0x0001a] in <2736a4f873604bfea9e5f3a0d64b37d6>:0 
  at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (System.IntPtr dwComponentID, System.Int32 reason, System.Int32 pvLoopData) [0x00243] in <2736a4f873604bfea9e5f3a0d64b37d6>:0 
  at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner (System.Int32 reason, System.Windows.Forms.ApplicationContext context) [0x00282] in <2736a4f873604bfea9e5f3a0d64b37d6>:0 
  at System.Windows.Forms.Application+ThreadContext.RunMessageLoop (System.Int32 reason, System.Windows.Forms.ApplicationContext context) [0x0001a] in <2736a4f873604bfea9e5f3a0d64b37d6>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Application+ThreadContext.RunMessageLoop(int,System.Windows.Forms.ApplicationContext)
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x0000d] in <2736a4f873604bfea9e5f3a0d64b37d6>:0 
  at MonoGame.Framework.WinFormsGameWindow.RunLoop () [0x00011] in <115d97b957eb41cabade1b29d1e7edf4>:0 
  at MonoGame.Framework.WinFormsGamePlatform.RunLoop () [0x00000] in <115d97b957eb41cabade1b29d1e7edf4>:0 
  at Microsoft.Xna.Framework.Game.Run (Microsoft.Xna.Framework.GameRunBehavior runBehavior) [0x0008b] in <115d97b957eb41cabade1b29d1e7edf4>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x0000c] in <115d97b957eb41cabade1b29d1e7edf4>:0 
  at TinyZoo.Program.Main (System.String[] args) [0x00015] in <8ec0f307dfe0413b826235f770724f40>:0 (1)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the missing-music behavior with Proton Experimental and inspect steam-1547890.log, especially the SEngine.Content.MonogameEmbedLoad.LoadMP3SongFromEmbeddedResource stack entry. Done means the game launches and music loads under Proton without the reported NullReferenceException.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
game-dev, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.