Skip to content

Commit 2c4ddf5

Browse files
committed
Account for variable number of passes in scene node
1 parent 90da70b commit 2c4ddf5

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Src/D3D9Render.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,9 @@ void UD3D9Render::DrawWorld(FSceneNode* frame) {
384384
child.Coords.Origin = FVector();
385385
child.Coords /= skyZone->Rotation;
386386
child.Coords.Origin = skyZone->Location;
387-
child.Draw[0] = NULL;
388-
child.Draw[1] = NULL;
389-
child.Draw[2] = NULL;
387+
for (FBspDrawList*& entry : child.Draw) {
388+
entry = NULL;
389+
};
390390
child.Sprite = NULL;
391391
d3d9Dev->startWorldDraw(&child);
392392
drawFrame(&child, d3d9Dev, modelFacets, objs, lockedTextures, true);
@@ -453,8 +453,8 @@ void UD3D9Render::drawFrame(FSceneNode* frame, UD3D9RenderDevice* d3d9Dev, Model
453453
std::unordered_set<ABrush*> visibleMovers;
454454
std::bitset<64> visibleZoneBits;
455455
visibleZoneBits[frame->ZoneNumber] = true;
456-
for (int pass : {0, 1, 2}) {
457-
for (FBspDrawList* drawList = frame->Draw[pass]; drawList; drawList = drawList->Next) {
456+
for (FBspDrawList*& pass : frame->Draw) {
457+
for (FBspDrawList* drawList = pass; drawList; drawList = drawList->Next) {
458458
if (frame->Level->BrushTracker && frame->Level->BrushTracker->SurfIsDynamic(drawList->iSurf)) {
459459
visibleMovers.insert(frame->Level->Model->Surfs(drawList->iSurf).Actor);
460460
}

0 commit comments

Comments
 (0)