Mercurial > mm7
diff mm7_1.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 | 1ff57450f090 |
children | 26dfde53decd |
line wrap: on
line diff
--- a/mm7_1.cpp Thu Mar 14 23:44:03 2013 +0200 +++ b/mm7_1.cpp Fri Mar 15 04:13:24 2013 +0200 @@ -5826,7 +5826,7 @@ else { dword_50B700 = 0; - if ( !v1->TwoSided() ) + if ( !v1->Portal() ) return 0; } //v66 = v1->uNumVertices; @@ -6122,15 +6122,15 @@ v70 = (signed int)(v56 - v58) * (signed __int64)(dword_50BAD4[v57 - 1] - dword_50BAD4[v57]) / (dword_50B9E4[v57 - 1] - v58); v59 = dword_50BAD4[v57]; } - dword_50BAC8[v55] = v70 + v59; + _50BAC8_screen_space_x[v55] = v70 + v59; v56 = pBLVRenderParams->uViewportW; - dword_50B9D8_ys[v55] = pBLVRenderParams->uViewportW; + _50B9D8_screen_space_y[v55] = pBLVRenderParams->uViewportW; ++v55; } if ( v85 ) { - dword_50BAC8[v55] = dword_50BAD4[v57]; - dword_50B9D8_ys[v55++] = dword_50B9E4[v57]; + _50BAC8_screen_space_x[v55] = dword_50BAD4[v57]; + _50B9D8_screen_space_y[v55++] = dword_50B9E4[v57]; } ++ie; thise = v85; @@ -6140,12 +6140,12 @@ if ( !v55 ) return 0; v61 = pRenderer->pRenderD3D == 0; - dword_50BAC8[v55] = dword_50BAC8[0]; - dword_50B9D8_ys[v55] = dword_50B9D8_ys[0]; + _50BAC8_screen_space_x[v55] = _50BAC8_screen_space_x[0]; + _50B9D8_screen_space_y[v55] = _50B9D8_screen_space_y[0]; if ( v61 && v55 > 3 ) { - dword_50BAC8[v55 + 1] = dword_50BAC8[1]; - dword_50B9D8_ys[v55 + 1] = dword_50B9D8_ys[1]; + _50BAC8_screen_space_x[v55 + 1] = _50BAC8_screen_space_x[1]; + _50B9D8_screen_space_y[v55 + 1] = _50B9D8_screen_space_y[1]; thisf = 2 * (dword_50B700 != 0) - 1; if ( v55 > 0 ) { @@ -6163,8 +6163,8 @@ if ( v64 >= v55 ) v64 -= v55; if ( thisf - * ((dword_50B9D8_ys[v64] - dword_50B9D8_ys[v63]) * (dword_50BAC8[v62] - dword_50BAC8[v63]) - - (dword_50B9D8_ys[v62] - dword_50B9D8_ys[v63]) * (dword_50BAC8[v64] - dword_50BAC8[v63])) < 0 ) + * ((_50B9D8_screen_space_y[v64] - _50B9D8_screen_space_y[v63]) * (_50BAC8_screen_space_x[v62] - _50BAC8_screen_space_x[v63]) + - (_50B9D8_screen_space_y[v62] - _50B9D8_screen_space_y[v63]) * (_50BAC8_screen_space_x[v64] - _50BAC8_screen_space_x[v63])) < 0 ) { v62 = v80; v71 = v80; @@ -6175,16 +6175,16 @@ v65 = v71; if ( v71 < v55 || (v65 = v71 - v55, v71 - v55 < v55) ) { - memcpy(&dword_50B9D8_ys[v65], &dword_50B9D8_ys[v65 + 1], 4 * ((unsigned int)(4 * (v55 - v65)) >> 2)); - memcpy(&dword_50BAC8[v65], &dword_50BAC8[v65 + 1], 4 * ((unsigned int)(4 * (v55 - v65)) >> 2)); + memcpy(&_50B9D8_screen_space_y[v65], &_50B9D8_screen_space_y[v65 + 1], 4 * ((unsigned int)(4 * (v55 - v65)) >> 2)); + memcpy(&_50BAC8_screen_space_x[v65], &_50BAC8_screen_space_x[v65 + 1], 4 * ((unsigned int)(4 * (v55 - v65)) >> 2)); } --v55; } } while ( v62 - 1 < v55 ); } - dword_50BAC8[v55] = dword_50BAC8[0]; - dword_50B9D8_ys[v55] = dword_50B9D8_ys[0]; + _50BAC8_screen_space_x[v55] = _50BAC8_screen_space_x[0]; + _50B9D8_screen_space_y[v55] = _50B9D8_screen_space_y[0]; } return v55; } @@ -6544,23 +6544,23 @@ v60 = a2; if ( !a1 || (!dword_50B700 ? (v64 = -1, v6 = 1, v63 = 1) : (v6 = 1, v63 = -1, v64 = 1), - v7 = dword_50B9D8_ys[0], + v7 = _50B9D8_screen_space_y[0], v65 = 0, - v8 = dword_50B9D8_ys[0], + v8 = _50B9D8_screen_space_y[0], a1 <= v6) ) return 0; do { - v9 = dword_50B9D8_ys[v6]; + v9 = _50B9D8_screen_space_y[v6]; if ( v9 >= v7 ) { if ( v9 > v8 ) - v8 = dword_50B9D8_ys[v6]; + v8 = _50B9D8_screen_space_y[v6]; } else { v65 = v6; - v7 = dword_50B9D8_ys[v6]; + v7 = _50B9D8_screen_space_y[v6]; } ++v6; } @@ -6588,8 +6588,8 @@ { v10 -= v74; } - v12 = dword_50B9D8_ys[v10]; - if ( v12 <= dword_50B9D8_ys[v11] ) + v12 = _50B9D8_screen_space_y[v10]; + if ( v12 <= _50B9D8_screen_space_y[v11] ) { v55 = v10; v11 = v10; @@ -6614,12 +6614,12 @@ } v67 = v13; LABEL_27: - if ( dword_50B9D8_ys[v13] != dword_50B9D8_ys[v55] ) + if ( _50B9D8_screen_space_y[v13] != _50B9D8_screen_space_y[v55] ) { - v14 = dword_50BAC8[v55]; + v14 = _50BAC8_screen_space_x[v55]; v62 = v14 << 16; - v54 = ((dword_50BAC8[v13] - v14) << 16) / (dword_50B9D8_ys[v13] - dword_50B9D8_ys[v55]); - v5->array_18[v7] = LOWORD(dword_50BAC8[v55]); + v54 = ((_50BAC8_screen_space_x[v13] - v14) << 16) / (_50B9D8_screen_space_y[v13] - _50B9D8_screen_space_y[v55]); + v5->array_18[v7] = LOWORD(_50BAC8_screen_space_x[v55]); } v15 = v65; v69 = 0; @@ -6639,8 +6639,8 @@ { v15 -= v74; } - v17 = dword_50B9D8_ys[v15]; - if ( v17 <= dword_50B9D8_ys[v16] ) + v17 = _50B9D8_screen_space_y[v15]; + if ( v17 <= _50B9D8_screen_space_y[v16] ) { v61 = v15; v16 = v15; @@ -6667,14 +6667,14 @@ LABEL_44: v19 = v18; v20 = v61; - v53 = dword_50B9D8_ys[v19] - dword_50B9D8_ys[v61]; - if ( dword_50B9D8_ys[v19] != dword_50B9D8_ys[v61] ) + v53 = _50B9D8_screen_space_y[v19] - _50B9D8_screen_space_y[v61]; + if ( _50B9D8_screen_space_y[v19] != _50B9D8_screen_space_y[v61] ) { - v21 = dword_50BAC8[v20]; + v21 = _50BAC8_screen_space_x[v20]; v5 = v60; v61 = v21 << 16; - v53 = ((dword_50BAC8[v19] - v21) << 16) / v53; - v60->array_3D8[v73] = LOWORD(dword_50BAC8[v20]); + v53 = ((_50BAC8_screen_space_x[v19] - v21) << 16) / v53; + v60->array_3D8[v73] = LOWORD(_50BAC8_screen_space_x[v20]); } v22 = v7; v70 = v7; @@ -6685,7 +6685,7 @@ do { v24 = v67; - if ( v22 < dword_50B9D8_ys[v67] || v22 == v73 ) + if ( v22 < _50B9D8_screen_space_y[v67] || v22 == v73 ) goto LABEL_57; v25 = v64 + v67; v67 = v25; @@ -6702,16 +6702,16 @@ v67 = v25; LABEL_55: v26 = v25; - v27 = dword_50B9D8_ys[v26] - dword_50B9D8_ys[v24]; - if ( dword_50B9D8_ys[v26] - dword_50B9D8_ys[v24] > 0 ) + v27 = _50B9D8_screen_space_y[v26] - _50B9D8_screen_space_y[v24]; + if ( _50B9D8_screen_space_y[v26] - _50B9D8_screen_space_y[v24] > 0 ) { - v28 = dword_50BAC8[v24]; - v54 = ((dword_50BAC8[v26] - v28) << 16) / v27; + v28 = _50BAC8_screen_space_x[v24]; + v54 = ((_50BAC8_screen_space_x[v26] - v28) << 16) / v27; v62 = v28 << 16; } LABEL_57: v29 = v66; - if ( v70 >= dword_50B9D8_ys[v66] && v70 != v73 ) + if ( v70 >= _50B9D8_screen_space_y[v66] && v70 != v73 ) { v30 = v63 + v66; v66 += v63; @@ -6727,11 +6727,11 @@ v66 = v30; } v31 = v30; - v32 = dword_50B9D8_ys[v31] - dword_50B9D8_ys[v29]; - if ( dword_50B9D8_ys[v31] - dword_50B9D8_ys[v29] > 0 ) + v32 = _50B9D8_screen_space_y[v31] - _50B9D8_screen_space_y[v29]; + if ( _50B9D8_screen_space_y[v31] - _50B9D8_screen_space_y[v29] > 0 ) { - v33 = dword_50BAC8[v29]; - v53 = ((dword_50BAC8[v31] - v33) << 16) / v32; + v33 = _50BAC8_screen_space_x[v29]; + v53 = ((_50BAC8_screen_space_x[v31] - v33) << 16) / v32; v61 = v33 << 16; } }