skip viewports marked as disabled, might stop parsing some bad data

This commit is contained in:
Ian Curtis 2016-05-03 21:17:37 +00:00
parent 6d1aa4d527
commit 396fba7d24

View file

@ -571,6 +571,10 @@ void CNew3D::RenderViewport(UINT32 addr)
return;
}
if (vpnode[0]&0x20) {
goto next; // skip this viewport
}
curPri = (vpnode[0x00] >> 3) & 3; // viewport priority
nextAddr = vpnode[0x01] & 0xFFFFFF; // next viewport
nodeAddr = vpnode[0x02]; // scene database node pointer
@ -723,6 +727,8 @@ void CNew3D::RenderViewport(UINT32 addr)
// Descend down the node link: Use recursive traversal
DescendNodePtr(nodeAddr);
next:
// render next viewport
if (vpnode[0x01] != 0x01000000) {
RenderViewport(vpnode[0x01]);