Open
Conversation
Previously, an exception was thrown and caught every time the player dies. This is bad for performance and messes with debugging efforts that involve breaking when a handled exception is thrown. With this change, system behavior does not change in an observable way, but an exception is not thrown in the process.
Previously, there was a "Key is already present in the dictionary" crash when hot-reloading VivHelper. Added guardrails to prevent that error and safely reload the module.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I'm on a crusade to reduce the number of exceptions that get thrown during normal gameplay, including caught exceptions. It tanks performance, especially with the VS debugger attached, and interferes with my efforts to debug my own stuff.
Previously, VivHelper threw and caught an exception every time the player respawns at a spawn point that is not a vivhelper "spawn facing direction" spawnpoint (so almost every time). This PR handles the case that causes the error without that exception getting thrown.
This PR also adds guardrails against a crash that previously occurred when hot-reloading the code module.