mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-08-04 11:55:07 -04:00
Inside Ironforge the interior emptied out at doorways and hallways. Portal culling used two different positions. The gate that decides whether to cull at all tested the camera's containing group; the traversal that decides which groups survive started from the character's. Each had a reason written down, and each reason was sound on its own — but between them they left a case neither covers: camera in one interior group, character in another. The walk then asks which rooms are reachable from one place while judging the doors by what is visible from another. That is not an edge case. It is every doorway and every hallway, which is where this was reported. Ironforge shows it worst because of what saves everywhere else. Exterior groups are seeded into the visible set unconditionally, so in a city WMO the streets and facades stay drawn however the traversal goes. Ironforge is interior throughout, that seed contributes almost nothing, and the whole result rests on the walk. A portal traversal is a visibility query from the camera, since the frustum it tests against is the camera's, so it now starts there. The character position was introduced to stop an orbiting third-person camera culling a building's interior; the gate above it declines to portal-cull at all when the camera is not in an interior group, which covers that case, so the workaround has outlived its cause. The parameter that carried it is gone rather than left accepting a value nothing reads.