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