mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 07:37:59 -05:00
Implement/match ViewManager::FUN_100a6150 (#934)
This commit is contained in:
parent
c1c78cb8aa
commit
01735bdc28
2 changed files with 31 additions and 4 deletions
|
@ -8,6 +8,9 @@
|
||||||
|
|
||||||
DECOMP_SIZE_ASSERT(ViewManager, 0x1bc)
|
DECOMP_SIZE_ASSERT(ViewManager, 0x1bc)
|
||||||
|
|
||||||
|
// GLOBAL: LEGO1 0x100dbc78
|
||||||
|
int g_unk0x100dbc78[8][3] = {{0, 0, 0}, {0, 0, 1}, {0, 1, 0}, {1, 0, 0}, {0, 1, 1}, {1, 0, 1}, {1, 1, 0}, {1, 1, 1}};
|
||||||
|
|
||||||
// GLOBAL: LEGO1 0x100dbcd8
|
// GLOBAL: LEGO1 0x100dbcd8
|
||||||
int g_unk0x100dbcd8[18] = {0, 1, 5, 6, 2, 3, 3, 0, 4, 1, 2, 6, 0, 3, 2, 4, 5, 6};
|
int g_unk0x100dbcd8[18] = {0, 1, 5, 6, 2, 3, 3, 0, 4, 1, 2, 6, 0, 3, 2, 4, 5, 6};
|
||||||
|
|
||||||
|
@ -55,11 +58,35 @@ ViewManager::~ViewManager()
|
||||||
SetPOVSource(NULL);
|
SetPOVSource(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100a6150
|
// FUNCTION: LEGO1 0x100a6150
|
||||||
// FUNCTION: BETA10 0x10172164
|
// FUNCTION: BETA10 0x10172164
|
||||||
undefined4 ViewManager::FUN_100a6150(const BoundingBox& p_bounding_box)
|
unsigned int ViewManager::FUN_100a6150(const BoundingBox& p_bounding_box)
|
||||||
{
|
{
|
||||||
return 1;
|
const Vector3* box[] = {&p_bounding_box.Min(), &p_bounding_box.Max()};
|
||||||
|
|
||||||
|
float und[8][3];
|
||||||
|
int i, j, k;
|
||||||
|
|
||||||
|
for (i = 0; i < 8; i++) {
|
||||||
|
for (j = 0; j < 3; j++) {
|
||||||
|
und[i][j] = box[g_unk0x100dbc78[i][j]]->operator[](j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < 6; i++) {
|
||||||
|
for (k = 0; k < 8; k++) {
|
||||||
|
if (unk0x150[i][0] * und[k][0] + unk0x150[i][2] * und[k][2] + unk0x150[i][1] * und[k][1] + unk0x150[i][3] >=
|
||||||
|
0.0f) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (k == 8) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a6410
|
// FUNCTION: LEGO1 0x100a6410
|
||||||
|
|
|
@ -23,7 +23,7 @@ class ViewManager {
|
||||||
|
|
||||||
void Remove(ViewROI* p_roi);
|
void Remove(ViewROI* p_roi);
|
||||||
void RemoveAll(ViewROI* p_roi);
|
void RemoveAll(ViewROI* p_roi);
|
||||||
undefined4 FUN_100a6150(const BoundingBox& p_bounding_box);
|
unsigned int FUN_100a6150(const BoundingBox& p_bounding_box);
|
||||||
void FUN_100a65b0(ViewROI* p_roi, int p_und);
|
void FUN_100a65b0(ViewROI* p_roi, int p_und);
|
||||||
void FUN_100a66a0(ViewROI* p_roi);
|
void FUN_100a66a0(ViewROI* p_roi);
|
||||||
void SetPOVSource(const OrientableROI* point_of_view);
|
void SetPOVSource(const OrientableROI* point_of_view);
|
||||||
|
|
Loading…
Reference in a new issue