List of Fixes

Updated 3 weeks ago

Tweaks:

Artifice AudioSource lag

  • Artifice will no longer try to play a disabled audio source near the ship every frame, causing possible frame drops
    • Does this by checking a box that should stop this from happening, and it's worked so far, it's just a bit band-aid-y so there's probably better solutions.

Landmine console log

  • Landmines no longer print their "audio spatializer failed to" blablabla
    • Does this by instantiating a new GameObject on every mine that has an AudioSource with identical parameters. The mine and its PlayAudioAnimationEvent are told to use this new AudioSource, which luckily does not print that.

Spike Roof Trap console log

  • Spike Traps no longer print "PlayOneShot called with null AudioClip"
    • Does this by injecting a silent AudioClip in the PlayAudioAnimationEvent calling PlayOneShot.

Debug time toggle

  • Pressing the button to store furniture while the menu is open will toggle TimeOfDay.Instance.globalTimeSpeedMultiplier from its normal value to 0 and vice versa.
    • Only does this when playing in editor, such as with LethalDevMode.

Reset TimeOfDay music

  • The TimeOfDay.Instance.playDelayedMusicCoroutine is set to null to make it possible for ambient music to play again on later days
    • Even if non-ambient music such as at the Company and going back into the facility prevent it from going back to null, and thus preventing it from restarting and playing music on later days.
    • It does this after a random chance. It is guaranteed to reset in singleplayer and quickly drops off the more players there are, because other people's voices then fill the silence.

AnimatedObjectTrigger null error

  • A HarmonyTranspiler adds a null-check to AnimatedObjectTrigger's PlayAudio() in case it wants to play audio but has a null ParticleSystem
    • This predominantly fixes the Experimentation garage door not playing sound nor syncing properly. But it theoretically also fixes every other instance of this breaking.
    • It is theoretically also the most prone to breaking if another mod already fixes this with their own Transpiler.

ModelReplacementAPI first-person arms lag

  • ModelReplacementAPI's first-person models no longer act jittery while the ship is moving
    • Did this by introducing a new Update() that checks if you're locally wearing a replaced model, and then if the model's Transform.parent is different from your player object's Transform.parent, and then reparents the replaced model to whatever your player is parented to.
    • Also fixes this on the mineshaft elevator and I guess every other object that parents the player to non-PlayersContainers.
    • Only does this every 0.5 seconds instead of every frame to hopefully save performance.
    • Turned off by default in v0.0.2 since ModelReplacementAPI apparently addressed this by then.

Mineshaft navigation to elevator

  • The ship monitor will now draw a line to the elevator button when watching a player that's underground in the mineshaft
    • Apparently by default it tries to draw a line to the above-ground doors, which it can't find and shoots the line off to wherever it thinks is closest.
    • This also uses a HarmonyTranspiler, and replaces the entire chunk of code between finding the main entrance position to draw a line to and checking if the path can be calculated. Transpilers are very much prone to errors, and this only affects one dungeon type anyway, so feel free to turn this off.

Spectate camera flashlight

  • The spectate camera's flashlight no longer has a so-called "cookie" (a texture, basically) that would be so large it would throw errors in the console log every frame and prevent other flashlights from properly turning on
    • This flashlight is theoretically already in the base game, but primarily available through SpectateEnemies.
    • Means other mods that enable this flashlight are also affected, but the light itself looks and functions the same.