comparison mm7_5.cpp @ 676:ecfb1b3c9a39

BLV: when standing right on the portal (orange wall) everything looks fine
author Nomad
date Fri, 15 Mar 2013 04:13:24 +0200
parents a5750c94b022
children c0bfb386b15f
comparison
equal deleted inserted replaced
675:92c1e1250e7c 676:ecfb1b3c9a39
9249 void BspRenderer::MakeVisibleSectorList() 9249 void BspRenderer::MakeVisibleSectorList()
9250 { 9250 {
9251 int v6; // ebx@3 9251 int v6; // ebx@3
9252 9252
9253 uNumVisibleNotEmptySectors = 0; 9253 uNumVisibleNotEmptySectors = 0;
9254 for (uint i = 0; i < pNumSectors; ++i) 9254 for (uint i = 0; i < num_nodes; ++i)
9255 { 9255 {
9256 v6 = 0;
9257 if (!uNumVisibleNotEmptySectors) 9256 if (!uNumVisibleNotEmptySectors)
9258 { 9257 {
9259 pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[uNumVisibleNotEmptySectors++] = pSectors[i].uSectorID; 9258 pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[uNumVisibleNotEmptySectors++] = nodes[i].uSectorID;
9259 continue;
9260 } 9260 }
9261 else 9261
9262 { 9262 v6 = 0;
9263 while (pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[v6] != pSectors[i].uSectorID ) 9263 while (pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[v6] != nodes[i].uSectorID )
9264 { 9264 {
9265 ++v6; 9265 ++v6;
9266 if ( v6 >= uNumVisibleNotEmptySectors) 9266 if ( v6 >= uNumVisibleNotEmptySectors)
9267 { 9267 {
9268 pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[uNumVisibleNotEmptySectors++] = pSectors[i].uSectorID; 9268 pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[uNumVisibleNotEmptySectors++] = nodes[i].uSectorID;
9269 continue;
9270 } 9269 }
9271 } 9270 }
9272 } 9271
9273 } 9272 }
9274 } 9273 }
9275 9274
9276 9275
9277 //----- (0043F515) -------------------------------------------------------- 9276 //----- (0043F515) --------------------------------------------------------
11564 sDepthb < *(__int16 *)((char *)&pIndoor->pSectors->uNumWalls + v61) 11563 sDepthb < *(__int16 *)((char *)&pIndoor->pSectors->uNumWalls + v61)
11565 + 2 * *(__int16 *)((char *)&pIndoor->pSectors->uNumFloors + v61); 11564 + 2 * *(__int16 *)((char *)&pIndoor->pSectors->uNumFloors + v61);
11566 ++sDepthb ) 11565 ++sDepthb )
11567 { 11566 {
11568 v62 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v60->pWalls + v61))[sDepthb]]; 11567 v62 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v60->pWalls + v61))[sDepthb]];
11569 if ( v62->TwoSided() 11568 if ( v62->Portal()
11570 || v119 > v62->pBounding.x2 11569 || v119 > v62->pBounding.x2
11571 || v123 < v62->pBounding.x1 11570 || v123 < v62->pBounding.x1
11572 || v127 > v62->pBounding.y2 11571 || v127 > v62->pBounding.y2
11573 || v131 < v62->pBounding.y1 11572 || v131 < v62->pBounding.y1
11574 || v135 > v62->pBounding.z2 11573 || v135 > v62->pBounding.z2
11730 v82 = pOut.x; 11729 v82 = pOut.x;
11731 } 11730 }
11732 while ( 1 ) 11731 while ( 1 )
11733 { 11732 {
11734 v90 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v88->pWalls + v89))[v162]]; 11733 v90 = &pIndoor->pFaces[(*(unsigned __int16 **)((char *)&v88->pWalls + v89))[v162]];
11735 if ( v90->TwoSided() 11734 if ( v90->Portal()
11736 || v120 > v90->pBounding.x2 11735 || v120 > v90->pBounding.x2
11737 || v124 < v90->pBounding.x1 11736 || v124 < v90->pBounding.x1
11738 || v128 > v90->pBounding.y2 11737 || v128 > v90->pBounding.y2
11739 || v132 < v90->pBounding.y1 11738 || v132 < v90->pBounding.y1
11740 || v136 > v90->pBounding.z2 11739 || v136 > v90->pBounding.z2