This improves the extended culling options with the following changes:
Unifies the "draw distance" and "update distance" sliders into one slider for the user. It is not expensive to only do one over the other, so this simplifies the user experience.
We can still add conditional overrides for preventing actor updates when ever we end up adding a "exclude glitch useful actors" option like on SoH
Previously we were extending the Z based culling both backwards and forwards, as well as scaling multiple values when we shouldn't have. Now we only scale the forward cull check, so things behind the camera remain culled at normal distance.
The aspect ratio multiplier was being applied to the "is above" and "is below" cullzone checks, when it shouldn't. Now only the horizontal check is scaled by the aspect ratio.
Our shipShouldDraw override for the actor draw check was bypassing the actor flags check entirely. The actorFlags is how the game hides actors when Song of Soaring or Song of Time songs are played. Now we take a copy of the actor flags and apply the "is actor active" flag to it so that flag checking logic is still performed.
Ship_CalcShouldDrawAndUpdate now performs the vanilla cull checks first and bails out early if the actor would draw normally for vanilla.
This improves the extended culling options with the following changes:
shipShouldDraw
override for the actor draw check was bypassing the actor flags check entirely. TheactorFlags
is how the game hides actors when Song of Soaring or Song of Time songs are played. Now we take a copy of the actor flags and apply the "is actor active" flag to it so that flag checking logic is still performed.Ship_CalcShouldDrawAndUpdate
now performs the vanilla cull checks first and bails out early if the actor would draw normally for vanilla.Fixes #835
Build Artifacts