Mercurial > mm7
changeset 1235:7da06d00ad25
Слияние
author | Ritor1 |
---|---|
date | Sun, 09 Jun 2013 21:10:32 +0600 |
parents | 6c55c6bd67e0 (diff) de876af42e0d (current diff) |
children | d7ba42663d59 |
files | mm7_4.cpp mm7_data.h |
diffstat | 3 files changed, 55 insertions(+), 63 deletions(-) [+] |
line wrap: on
line diff
--- a/Indoor.cpp Sun Jun 09 16:30:07 2013 +0200 +++ b/Indoor.cpp Sun Jun 09 21:10:32 2013 +0600 @@ -1312,8 +1312,6 @@ return; } - - if (p->uFaceID == uFaceID) return; if (!node_id && @@ -1337,10 +1335,8 @@ nodes[num_nodes].uViewportZ = pBLVRenderParams->uViewportZ; nodes[num_nodes].uViewportY = pBLVRenderParams->uViewportY; nodes[num_nodes].uViewportW = pBLVRenderParams->uViewportW; - nodes[num_nodes].field_C._43F9E1(pBLVRenderParams->uViewportX, - pBLVRenderParams->uViewportY, - pBLVRenderParams->uViewportZ, - pBLVRenderParams->uViewportW); + nodes[num_nodes].field_C._43F9E1(pBLVRenderParams->uViewportX, pBLVRenderParams->uViewportY, + pBLVRenderParams->uViewportZ, pBLVRenderParams->uViewportW); AddBspNodeToRenderList(++num_nodes - 1); return; } @@ -1381,7 +1377,7 @@ //savegame: qw , 0Bh and 0x1D4h //problem here when standing near/on portal, condition is false because of face_min_screenspace_x > p->uViewportZ if (face_max_screenspace_x >= p->uViewportX && -// face_min_screenspace_x <= p->uViewportZ && + face_min_screenspace_x <= p->uViewportZ && face_max_screenspace_y >= p->uViewportY && face_min_screenspace_y <= p->uViewportW && sub_424829(num_vertices, &nodes[num_nodes].field_C, &p->field_C, uFaceID))
--- a/Viewport.cpp Sun Jun 09 16:30:07 2013 +0200 +++ b/Viewport.cpp Sun Jun 09 21:10:32 2013 +0600 @@ -180,61 +180,59 @@ //----- (00443365) -------------------------------------------------------- void ViewingParams::_443365() - { - - Vec3_short_ *v3; // eax@4 - Vec3_short_ *v6; // eax@12 - int minimum_y; // [sp+10h] [bp-10h]@2 - int maximum_y; // [sp+14h] [bp-Ch]@2 - int minimum_x; // [sp+18h] [bp-8h]@2 - int maximum_x; // [sp+1Ch] [bp-4h]@2 +{ + Vec3_short_ *v3; // eax@4 + Vec3_short_ *v6; // eax@12 + int minimum_y; // [sp+10h] [bp-10h]@2 + int maximum_y; // [sp+14h] [bp-Ch]@2 + int minimum_x; // [sp+18h] [bp-8h]@2 + int maximum_x; // [sp+1Ch] [bp-4h]@2 - - InitGrayPalette(); - if ( uCurrentlyLoadedLevelType == LEVEL_Indoor ) - { - minimum_x = 0x40000000; - minimum_y = 0x40000000; + InitGrayPalette(); + if ( uCurrentlyLoadedLevelType == LEVEL_Indoor ) + { + minimum_x = 0x40000000; + minimum_y = 0x40000000; - maximum_x = -0x40000000; - maximum_y = -0x40000000; - for (int i=0; i<pIndoor->pMapOutlines->uNumOutlines; ++i) - { - v3 = &pIndoor->pVertices[pIndoor->pMapOutlines->pOutlines[i].uFace1ID]; + maximum_x = -0x40000000; + maximum_y = -0x40000000; + for (int i=0; i<pIndoor->pMapOutlines->uNumOutlines; ++i) + { + v3 = &pIndoor->pVertices[pIndoor->pMapOutlines->pOutlines[i].uFace1ID]; - if ( v3->x < minimum_x ) - minimum_x = v3->x; - if ( v3->x > maximum_x ) - maximum_x = v3->x; - if ( v3->y < minimum_y ) - minimum_y = v3->x; - if ( v3->y > maximum_y ) - maximum_y = v3->x; + if ( v3->x < minimum_x ) + minimum_x = v3->x; + if ( v3->x > maximum_x ) + maximum_x = v3->x; + if ( v3->y < minimum_y ) + minimum_y = v3->x; + if ( v3->y > maximum_y ) + maximum_y = v3->x; - v6 = &pIndoor->pVertices[pIndoor->pMapOutlines->pOutlines[i].uFace2ID]; + v6 = &pIndoor->pVertices[pIndoor->pMapOutlines->pOutlines[i].uFace2ID]; + + if ( v6->x < minimum_x ) + minimum_x = v3->x; + if ( v6->x > maximum_x ) + maximum_x = v3->x; - if ( v6->x < minimum_x ) - minimum_x = v3->x; - if ( v6->x > maximum_x ) - maximum_x = v3->x; - - if ( v6->y < minimum_y ) - minimum_y = v3->y; - if ( v6->y > maximum_y ) - maximum_y = v3->y; - } + if ( v6->y < minimum_y ) + minimum_y = v3->y; + if ( v6->y > maximum_y ) + maximum_y = v3->y; + } - uMinimapZoom = 1024; - indoor_center_x = (signed int)(minimum_x + maximum_x) / 2; - field_28 = 10; - indoor_center_y = (signed int)(minimum_y + maximum_y) / 2; - } - else - { - indoor_center_x = 0; - indoor_center_y = 0; - uMinimapZoom = _576E2C_current_minimap_zoom; - field_28 = dword_576E28; - } - field_2C = 384; - } \ No newline at end of file + uMinimapZoom = 1024; + indoor_center_x = (signed int)(minimum_x + maximum_x) / 2; + field_28 = 10; + indoor_center_y = (signed int)(minimum_y + maximum_y) / 2; + } + else + { + indoor_center_x = 0; + indoor_center_y = 0; + uMinimapZoom = _576E2C_current_minimap_zoom; + field_28 = dword_576E28; + } + field_2C = 384; +} \ No newline at end of file
--- a/mm7_3.cpp Sun Jun 09 16:30:07 2013 +0200 +++ b/mm7_3.cpp Sun Jun 09 21:10:32 2013 +0600 @@ -11018,10 +11018,8 @@ pBspRenderer->nodes[0].uViewportZ = pBLVRenderParams->uViewportZ; pBspRenderer->nodes[0].uViewportY = pBLVRenderParams->uViewportY; pBspRenderer->nodes[0].uViewportX = pBLVRenderParams->uViewportX; - pBspRenderer->nodes[0].field_C._43F9E1(pBLVRenderParams->uViewportX, - pBLVRenderParams->uViewportY, - pBLVRenderParams->uViewportZ, - pBLVRenderParams->uViewportW); + pBspRenderer->nodes[0].field_C._43F9E1(pBLVRenderParams->uViewportX, pBLVRenderParams->uViewportY, + pBLVRenderParams->uViewportZ, pBLVRenderParams->uViewportW); pBspRenderer->nodes[0].uFaceID = -1; pBspRenderer->nodes[0].viewing_portal_id = -1; pBspRenderer->num_nodes = 1;