comparison Indoor.cpp @ 1078:b44dee7e70e8

added a structure for 0x50B700-0x50BBB8
author zipi
date Sat, 25 May 2013 20:18:23 +0100
parents d6bea22f8b53
children 5d5c78088274
comparison
equal deleted inserted replaced
1077:2210109f280d 1078:b44dee7e70e8
3 #include "LightmapBuilder.h" 3 #include "LightmapBuilder.h"
4 #include "DecalBuilder.h" 4 #include "DecalBuilder.h"
5 #include "ParticleEngine.h" 5 #include "ParticleEngine.h"
6 #include "stru9.h" 6 #include "stru9.h"
7 #include "stru10.h" 7 #include "stru10.h"
8 #include "stru367.h"
8 9
9 #include "BSPModel.h" 10 #include "BSPModel.h"
10 #include "Outdoor.h" 11 #include "Outdoor.h"
11 #include "SpriteObject.h" 12 #include "SpriteObject.h"
12 #include "Events.h" 13 #include "Events.h"
1354 1355
1355 auto num_vertices = sub_423B5D(uFaceID); 1356 auto num_vertices = sub_423B5D(uFaceID);
1356 if (num_vertices < 2) 1357 if (num_vertices < 2)
1357 return; 1358 return;
1358 1359
1359 auto face_min_screenspace_x = _50BAC8_screen_space_x[0], 1360 auto face_min_screenspace_x = stru_50B700._screen_space_x[0],
1360 face_max_screenspace_x = _50BAC8_screen_space_x[0]; 1361 face_max_screenspace_x = stru_50B700._screen_space_x[0];
1361 auto face_min_screenspace_y = _50B9D8_screen_space_y[0], 1362 auto face_min_screenspace_y = stru_50B700._screen_space_y[0],
1362 face_max_screenspace_y = _50B9D8_screen_space_y[0]; 1363 face_max_screenspace_y = stru_50B700._screen_space_y[0];
1363 for (uint i = 1; i < num_vertices; ++i) 1364 for (uint i = 1; i < num_vertices; ++i)
1364 { 1365 {
1365 if (face_min_screenspace_x > _50BAC8_screen_space_x[i]) 1366 if (face_min_screenspace_x > stru_50B700._screen_space_x[i])
1366 face_min_screenspace_x = _50BAC8_screen_space_x[i]; 1367 face_min_screenspace_x = stru_50B700._screen_space_x[i];
1367 if (face_max_screenspace_x < _50BAC8_screen_space_x[i]) 1368 if (face_max_screenspace_x < stru_50B700._screen_space_x[i])
1368 face_max_screenspace_x = _50BAC8_screen_space_x[i]; 1369 face_max_screenspace_x = stru_50B700._screen_space_x[i];
1369 1370
1370 if (face_min_screenspace_y > _50B9D8_screen_space_y[i]) 1371 if (face_min_screenspace_y > stru_50B700._screen_space_y[i])
1371 face_min_screenspace_y = _50B9D8_screen_space_y[i]; 1372 face_min_screenspace_y = stru_50B700._screen_space_y[i];
1372 if (face_max_screenspace_y < _50B9D8_screen_space_y[i]) 1373 if (face_max_screenspace_y < stru_50B700._screen_space_y[i])
1373 face_max_screenspace_y = _50B9D8_screen_space_y[i]; 1374 face_max_screenspace_y = stru_50B700._screen_space_y[i];
1374 } 1375 }
1375 1376
1376 if (face_max_screenspace_x >= p->uViewportX && 1377 if (face_max_screenspace_x >= p->uViewportX &&
1377 face_min_screenspace_x <= p->uViewportZ && 1378 face_min_screenspace_x <= p->uViewportZ &&
1378 face_max_screenspace_y >= p->uViewportY && 1379 face_max_screenspace_y >= p->uViewportY &&
1509 { 1510 {
1510 v10 = sub_423B5D(uFaceID); 1511 v10 = sub_423B5D(uFaceID);
1511 v19 = v10; 1512 v19 = v10;
1512 if ( v10 ) 1513 if ( v10 )
1513 { 1514 {
1514 v11 = _50BAC8_screen_space_x[0]; 1515 v11 = stru_50B700._screen_space_x[0];
1515 v12 = _50B9D8_screen_space_y[0]; 1516 v12 = stru_50B700._screen_space_y[0];
1516 v23 = _50BAC8_screen_space_x[0]; 1517 v23 = stru_50B700._screen_space_x[0];
1517 v13 = 1; 1518 v13 = 1;
1518 v22 = _50B9D8_screen_space_y[0]; 1519 v22 = stru_50B700._screen_space_y[0];
1519 if ( v10 > 1 ) 1520 if ( v10 > 1 )
1520 { 1521 {
1521 do 1522 do
1522 { 1523 {
1523 v14 = _50BAC8_screen_space_x[v13]; 1524 v14 = stru_50B700._screen_space_x[v13];
1524 if ( v14 < v23 ) 1525 if ( v14 < v23 )
1525 v23 = _50BAC8_screen_space_x[v13]; 1526 v23 = stru_50B700._screen_space_x[v13];
1526 if ( v14 > v11 ) 1527 if ( v14 > v11 )
1527 v11 = _50BAC8_screen_space_x[v13]; 1528 v11 = stru_50B700._screen_space_x[v13];
1528 v15 = _50B9D8_screen_space_y[v13]; 1529 v15 = stru_50B700._screen_space_y[v13];
1529 if ( v15 < v22 ) 1530 if ( v15 < v22 )
1530 v22 = _50B9D8_screen_space_y[v13]; 1531 v22 = stru_50B700._screen_space_y[v13];
1531 if ( v15 > v12 ) 1532 if ( v15 > v12 )
1532 v12 = _50B9D8_screen_space_y[v13]; 1533 v12 = stru_50B700._screen_space_y[v13];
1533 v10 = v19; 1534 v10 = v19;
1534 ++v13; 1535 ++v13;
1535 } 1536 }
1536 while ( v13 < v19 ); 1537 while ( v13 < v19 );
1537 } 1538 }