# HG changeset patch # User Ritor1 # Date 1370095766 -21600 # Node ID 1b570a110e6c97aa147c939c47c8be1d281495e9 # Parent 9604cb70c67b2287f2153fc4151c114448373b7c# Parent e7871ca07661358a0bcb6e8014f0f98843ff11c8 Слияние diff -r 9604cb70c67b -r 1b570a110e6c Indoor.cpp --- a/Indoor.cpp Sat Jun 01 20:09:18 2013 +0600 +++ b/Indoor.cpp Sat Jun 01 20:09:26 2013 +0600 @@ -299,10 +299,10 @@ for (uint i = 0; i < pBspRenderer->num_faces; ++i) { v2 = pBspRenderer->faces[i].uNodeID; - if (pBspRenderer->nodes[v2].viewing_portal_id == -1) + //if (pBspRenderer->nodes[v2].viewing_portal_id == -1) IndoorLocation::ExecDraw_d3d(pBspRenderer->faces[i].uFaceID, nullptr, 4, nullptr); - else - IndoorLocation::ExecDraw_d3d(pBspRenderer->faces[i].uFaceID, pBspRenderer->nodes[v2].std__vector_0007AC, 4, pBspRenderer->nodes[v2].pPortalBounding); + //else + //IndoorLocation::ExecDraw_d3d(pBspRenderer->faces[i].uFaceID, pBspRenderer->nodes[v2].std__vector_0007AC, 4, pBspRenderer->nodes[v2].pPortalBounding); } } else for (uint j = 0; j < pBspRenderer->num_faces; ++j ) @@ -1373,9 +1373,11 @@ if (face_max_screenspace_y < stru_50B700._screen_space_y[i]) face_max_screenspace_y = stru_50B700._screen_space_y[i]; } - + //_screen_space_x = 719, 568, 493 + //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)) @@ -1420,7 +1422,7 @@ nodes[num_nodes].std__vector_0007AC, nodes[num_nodes].pPortalBounding); } - if ( v29 ) + if ( 1 ) { assert(num_nodes < 150); diff -r 9604cb70c67b -r 1b570a110e6c mm7_1.cpp --- a/mm7_1.cpp Sat Jun 01 20:09:18 2013 +0600 +++ b/mm7_1.cpp Sat Jun 01 20:09:26 2013 +0600 @@ -2300,6 +2300,8 @@ int a3a; // [sp+48h] [bp+8h]@76 int a3b; // [sp+48h] [bp+8h]@87 + //try graphic engine with function returning 1 always, and without + return 1; v4 = a1; v5 = a2; v74 = a1;