Stop select model rendering destroyed subsystems#7225
Open
MjnMixael wants to merge 1 commit intoscp-fs2open:masterfrom
Open
Stop select model rendering destroyed subsystems#7225MjnMixael wants to merge 1 commit intoscp-fs2open:masterfrom
MjnMixael wants to merge 1 commit intoscp-fs2open:masterfrom
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.
Fixes #7158 where destroyed submodels were being rendered simultaneously with regular submodels for ship/weapon select rotating and overhead model rendering.
This was likely caused when these render methods were converted to be more independent so the Lua API could call them arbitrarily for SCPUI. Or maybe it was always like this, I can't really remember.
The root cause was that these methods were using a shorthand method for render calls that did not require a model instance. Without the model instance the subsystem data never gets setup so all submodels are just rendered without concern. I first thought a simple fix would be a new MR_ flag to skip -destroyed rendering and that did work. But further research revealed that tech model rendering prefers a full instance create/delete every frame specifically to avoid this issue. It's more churn every frame than the flag but I opted for consistency in this case especially since in the UI we don't have all that much going on anyway.