fix: memory leaks in Item wrappers and optimize CustomItems#763
Open
MS-crew wants to merge 6 commits intoExMod-Team:devfrom
Open
fix: memory leaks in Item wrappers and optimize CustomItems#763MS-crew wants to merge 6 commits intoExMod-Team:devfrom
MS-crew wants to merge 6 commits intoExMod-Team:devfrom
Conversation
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.
Description
Updated Item.Destroy so if an item isnt actually in an inventory it properly removes it from the dict and forces gameobject destroy so the leak is completely gone.
CustomGrenade.Throw was throwing nres when player was null cause server host doesnt have a camera or fpc role. also it was spawning a whole dummy item just to throw it which is bad for perf so i rewrote it to just use native throwable templates.
CustomWeapon.Spawn was leaving the temporary firearm in memory after creating the pickup. added a destroy call for that.
Fixed genericfirearm damage handler cause ragdolls were only showing bullet wounds and when dying attacker is null from client side. it reads the ammo type directly from the native template module now.
GenerateAttachments was literally spawning every single gun on server startup just to read attachments which is nonsense. changed it to use native templates
fun fact: before this fix, exiled was casually leaving 14 dead firearm objects in memory on server startup before any plugins even did anything. that's completely gone now.
What is the current behavior? (You can also link to an open issue here)
What is the new behavior? (if this is a feature change)
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information:
Types of changes
Submission checklist
Patches (if there are any changes related to Harmony patches)
Other