branchrust_reboot/main/optimize_reduce_dynamic_occlusioncancel
13 Commits over 0 Days - ∞cph!
Remove the IsEntityDynamic() override in CookingWorkbenchBBQ because that is not the normal BBQ :(
- don't worry about normal bbq anyways, it was already static and seemed to work fine with occlusion
Mark ladder as static when parented to building block
Set additional entities as static so industrial adapters & codelocks parented are also considered static
- furnaces / ovens (exclude BBQ because they open & close)
- fridge
- lockers
- codelocks themselves (was accounting for doors but not the codelocks individually)
merge from main -> optimize_reduce_dynamic_occlusion
Set dynamic_occlusion_pausing to enabled instead of disabled
Switch certain dynamic occlusion entities to static occludees when we know they can't move
- convar `dynamic_occlusion_pausing` (0 = off, 1 = codelocks + industrial adapters on boxes, 2 = codelocks on doors)
- currently (and by default) every entity is considered dynamic if parented
- now certain entities can indicate if they are static (like boxes)
- converts codelocks to dynamic while the door is opening, converts back to static once finished
- will check all parents so a box parented to a tugboat will still be considered dynamic since it will find the tugboat as root parent
- reduces dynamic ocludee count by 80% (417->74) on a sample base (converts nearly all codelocks and industrial adapters)
- refresh entity dynamic status when running `refresh_renderers`
Make dynamicOccludees list public so it works with the command
Set industrial adapter to not be dynamic
- still gets set to dynamic at all times since it's always spawned parented to an entity
Add `print_occlusion` command to print the amount of dynamic ocludees