Mercurial > mm7
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 |