mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 08:54:15 +00:00
rename functions and parameters in OrientableROI (#1512)
This commit is contained in:
@@ -611,8 +611,8 @@ MxU32 Act2Actor::FUN_10019700(MxFloat p_param)
|
|||||||
|
|
||||||
MxMatrix matrix = m_roi->GetLocal2World();
|
MxMatrix matrix = m_roi->GetLocal2World();
|
||||||
matrix[3][1] += 1.0f;
|
matrix[3][1] += 1.0f;
|
||||||
brickstrROI->FUN_100a58f0(matrix);
|
brickstrROI->SetLocal2World(matrix);
|
||||||
brickstrROI->VTable0x14();
|
brickstrROI->WrappedUpdateWorldData();
|
||||||
|
|
||||||
Vector3 col0(matrix[0]);
|
Vector3 col0(matrix[0]);
|
||||||
Vector3 col1(matrix[1]);
|
Vector3 col1(matrix[1]);
|
||||||
|
|||||||
@@ -138,8 +138,8 @@ MxU32 Act3Actor::VTable0x90(float p_time, Matrix4& p_transform)
|
|||||||
m_unk0x1c = 0;
|
m_unk0x1c = 0;
|
||||||
|
|
||||||
positionRef -= g_unk0x10104ef0;
|
positionRef -= g_unk0x10104ef0;
|
||||||
m_roi->FUN_100a58f0(p_transform);
|
m_roi->SetLocal2World(p_transform);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -163,8 +163,8 @@ MxResult Act3Actor::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
|||||||
|
|
||||||
Vector3(local2world[3]) += g_unk0x10104ef0;
|
Vector3(local2world[3]) += g_unk0x10104ef0;
|
||||||
|
|
||||||
roi->FUN_100a58f0(local2world);
|
roi->SetLocal2World(local2world);
|
||||||
roi->VTable0x14();
|
roi->WrappedUpdateWorldData();
|
||||||
|
|
||||||
p_actor->SetActorState(c_two | c_noCollide);
|
p_actor->SetActorState(c_two | c_noCollide);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -271,8 +271,8 @@ void Act3Ammo::Animate(float p_time)
|
|||||||
positionRef.Clear();
|
positionRef.Clear();
|
||||||
transform.RotateX(0.6);
|
transform.RotateX(0.6);
|
||||||
positionRef = position;
|
positionRef = position;
|
||||||
m_roi->FUN_100a58f0(transform);
|
m_roi->SetLocal2World(transform);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -280,8 +280,8 @@ void Act3Ammo::Animate(float p_time)
|
|||||||
m_unk0x158 = 0;
|
m_unk0x158 = 0;
|
||||||
|
|
||||||
positionRef -= g_unk0x10104f08;
|
positionRef -= g_unk0x10104f08;
|
||||||
m_roi->FUN_100a58f0(transform);
|
m_roi->SetLocal2World(transform);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -363,8 +363,8 @@ void Act3Ammo::Animate(float p_time)
|
|||||||
|
|
||||||
MxMatrix localb0(local104);
|
MxMatrix localb0(local104);
|
||||||
local104.Product(local60, localb0);
|
local104.Product(local60, localb0);
|
||||||
m_roi->FUN_100a58f0(local104);
|
m_roi->SetLocal2World(local104);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
|
|
||||||
if (m_BADuration <= m_unk0x7c) {
|
if (m_BADuration <= m_unk0x7c) {
|
||||||
m_worldSpeed = 0.0f;
|
m_worldSpeed = 0.0f;
|
||||||
|
|||||||
@@ -89,24 +89,24 @@ void Doors::Animate(float p_time)
|
|||||||
local10.Clear();
|
local10.Clear();
|
||||||
local58.RotateY(-local8);
|
local58.RotateY(-local8);
|
||||||
local10 = m_ltDoorLocal[3];
|
local10 = m_ltDoorLocal[3];
|
||||||
m_ltDoor->FUN_100a58f0(local58);
|
m_ltDoor->SetLocal2World(local58);
|
||||||
m_ltDoor->VTable0x14();
|
m_ltDoor->WrappedUpdateWorldData();
|
||||||
|
|
||||||
local58 = m_rtDoorLocal;
|
local58 = m_rtDoorLocal;
|
||||||
local10.Clear();
|
local10.Clear();
|
||||||
local58.RotateY(local8);
|
local58.RotateY(local8);
|
||||||
local10 = m_rtDoorLocal[3];
|
local10 = m_rtDoorLocal[3];
|
||||||
m_rtDoor->FUN_100a58f0(local58);
|
m_rtDoor->SetLocal2World(local58);
|
||||||
m_rtDoor->VTable0x14();
|
m_rtDoor->WrappedUpdateWorldData();
|
||||||
|
|
||||||
m_unk0x1f4 = local8;
|
m_unk0x1f4 = local8;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_unk0x158 + g_unk0x100d8e84 < p_time) {
|
if (m_unk0x158 + g_unk0x100d8e84 < p_time) {
|
||||||
m_ltDoor->FUN_100a58f0(m_ltDoorLocal);
|
m_ltDoor->SetLocal2World(m_ltDoorLocal);
|
||||||
m_rtDoor->FUN_100a58f0(m_rtDoorLocal);
|
m_rtDoor->SetLocal2World(m_rtDoorLocal);
|
||||||
m_ltDoor->VTable0x14();
|
m_ltDoor->WrappedUpdateWorldData();
|
||||||
m_rtDoor->VTable0x14();
|
m_rtDoor->WrappedUpdateWorldData();
|
||||||
m_unk0x154 = 1;
|
m_unk0x154 = 1;
|
||||||
m_actorState = c_initial;
|
m_actorState = c_initial;
|
||||||
m_unk0x1f4 = 0;
|
m_unk0x1f4 = 0;
|
||||||
|
|||||||
@@ -391,8 +391,8 @@ void Helicopter::VTable0x74(Matrix4& p_transform)
|
|||||||
FUN_10010c30();
|
FUN_10010c30();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_roi->FUN_100a58f0(p_transform);
|
m_roi->SetLocal2World(p_transform);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
if (m_cameraFlag) {
|
if (m_cameraFlag) {
|
||||||
FUN_10010c30();
|
FUN_10010c30();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -630,7 +630,7 @@ void IslePathActor::VTable0xec(MxMatrix p_transform, LegoPathBoundary* p_boundar
|
|||||||
m_world->Add(this);
|
m_world->Add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_roi->FUN_100a58f0(p_transform);
|
m_roi->SetLocal2World(p_transform);
|
||||||
if (m_cameraFlag) {
|
if (m_cameraFlag) {
|
||||||
FUN_1003eda0();
|
FUN_1003eda0();
|
||||||
FUN_10010c30();
|
FUN_10010c30();
|
||||||
@@ -648,6 +648,6 @@ void IslePathActor::FUN_1001b660()
|
|||||||
|
|
||||||
up *= -1.0f;
|
up *= -1.0f;
|
||||||
position.EqualsCross(direction, up);
|
position.EqualsCross(direction, up);
|
||||||
m_roi->FUN_100a58f0(transform);
|
m_roi->SetLocal2World(transform);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ void LegoCarBuild::FUN_10022f30()
|
|||||||
void LegoCarBuild::VTable0x6c()
|
void LegoCarBuild::VTable0x6c()
|
||||||
{
|
{
|
||||||
m_unk0x178 = m_unk0x1c0;
|
m_unk0x178 = m_unk0x1c0;
|
||||||
m_unk0x110->WrappedSetLocalTransform(m_unk0x178);
|
m_unk0x110->WrappedSetLocal2WorldWithWorldDataUpdate(m_unk0x178);
|
||||||
m_unk0x2a4 = Vector4(m_unk0x110->GetWorldPosition());
|
m_unk0x2a4 = Vector4(m_unk0x110->GetWorldPosition());
|
||||||
|
|
||||||
VTable0x70();
|
VTable0x70();
|
||||||
@@ -406,7 +406,7 @@ void LegoCarBuild::FUN_10023130(MxLong p_x, MxLong p_y)
|
|||||||
local78[3][2] = m_unk0x178[3][2] + local18[2];
|
local78[3][2] = m_unk0x178[3][2] + local18[2];
|
||||||
local78[3][3] = 1.0;
|
local78[3][3] = 1.0;
|
||||||
|
|
||||||
m_unk0x110->WrappedSetLocalTransform(local78);
|
m_unk0x110->WrappedSetLocal2WorldWithWorldDataUpdate(local78);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -267,7 +267,7 @@ void LegoCarBuildAnimPresenter::StreamingTickle()
|
|||||||
|
|
||||||
CalcLocalTransform(cameraPosition, dirVec, upVec, localTransform);
|
CalcLocalTransform(cameraPosition, dirVec, upVec, localTransform);
|
||||||
|
|
||||||
videoManagerROI->WrappedSetLocalTransform(localTransform);
|
videoManagerROI->WrappedSetLocal2WorldWithWorldDataUpdate(localTransform);
|
||||||
lego3dview->Moved(*videoManagerROI);
|
lego3dview->Moved(*videoManagerROI);
|
||||||
videoManager->Get3DManager()->SetFrustrum(fov, 0.1, 250.0);
|
videoManager->Get3DManager()->SetFrustrum(fov, 0.1, 250.0);
|
||||||
|
|
||||||
|
|||||||
@@ -2808,7 +2808,7 @@ void LegoAnimationManager::FUN_100648f0(LegoTranInfo* p_tranInfo, MxLong p_unk0x
|
|||||||
|
|
||||||
Mx3DPointFloat vec;
|
Mx3DPointFloat vec;
|
||||||
vec.Clear();
|
vec.Clear();
|
||||||
viewROI->FUN_100a5a30(vec);
|
viewROI->SetWorldVelocity(vec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2841,7 +2841,7 @@ void LegoAnimationManager::FUN_10064b50(MxLong p_time)
|
|||||||
|
|
||||||
LegoROI* viewROI = VideoManager()->GetViewROI();
|
LegoROI* viewROI = VideoManager()->GetViewROI();
|
||||||
|
|
||||||
viewROI->WrappedSetLocalTransform(mat);
|
viewROI->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
VideoManager()->Get3DManager()->Moved(*viewROI);
|
VideoManager()->Get3DManager()->Moved(*viewROI);
|
||||||
SoundManager()->UpdateListener(
|
SoundManager()->UpdateListener(
|
||||||
viewROI->GetWorldPosition(),
|
viewROI->GetWorldPosition(),
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b5b0(MxLong p_time)
|
|||||||
LegoROI* roi = m_roiMap[i];
|
LegoROI* roi = m_roiMap[i];
|
||||||
|
|
||||||
if (roi != NULL) {
|
if (roi != NULL) {
|
||||||
roi->WrappedSetLocalTransform(m_unk0x68[i]);
|
roi->WrappedSetLocal2WorldWithWorldDataUpdate(m_unk0x68[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -450,7 +450,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b6d0(MxLong p_time)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (und != 0) {
|
if (und != 0) {
|
||||||
viewROI->WrappedSetLocalTransform(m_tranInfo->m_unk0x2c);
|
viewROI->WrappedSetLocal2WorldWithWorldDataUpdate(m_tranInfo->m_unk0x2c);
|
||||||
VideoManager()->Get3DManager()->Moved(*viewROI);
|
VideoManager()->Get3DManager()->Moved(*viewROI);
|
||||||
m_world->PlaceActor(actor);
|
m_world->PlaceActor(actor);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -551,7 +551,7 @@ LegoROI* LegoCharacterManager::CreateActorROI(const char* p_key)
|
|||||||
Mx3DPointFloat(g_actorLODs[i + 1].m_up),
|
Mx3DPointFloat(g_actorLODs[i + 1].m_up),
|
||||||
mat
|
mat
|
||||||
);
|
);
|
||||||
childROI->WrappedSetLocalTransform(mat);
|
childROI->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
|
|
||||||
if (g_actorLODs[i + 1].m_flags & LegoActorLOD::c_flag1 && (i != 0 || part.m_unk0x00[part.m_unk0x08] != 0)) {
|
if (g_actorLODs[i + 1].m_flags & LegoActorLOD::c_flag1 && (i != 0 || part.m_unk0x00[part.m_unk0x08] != 0)) {
|
||||||
|
|
||||||
@@ -577,7 +577,7 @@ LegoROI* LegoCharacterManager::CreateActorROI(const char* p_key)
|
|||||||
Mx3DPointFloat(g_actorLODs[c_topLOD].m_up),
|
Mx3DPointFloat(g_actorLODs[c_topLOD].m_up),
|
||||||
mat
|
mat
|
||||||
);
|
);
|
||||||
roi->WrappedSetLocalTransform(mat);
|
roi->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
|
|
||||||
info->m_roi = roi;
|
info->m_roi = roi;
|
||||||
success = TRUE;
|
success = TRUE;
|
||||||
@@ -1066,7 +1066,7 @@ MxResult LegoCharacterManager::FUN_10085870(LegoROI* p_roi)
|
|||||||
|
|
||||||
p_roi->SetUnknown0x80(boundingBox);
|
p_roi->SetUnknown0x80(boundingBox);
|
||||||
|
|
||||||
p_roi->VTable0x14();
|
p_roi->WrappedUpdateWorldData();
|
||||||
|
|
||||||
result = SUCCESS;
|
result = SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ void LegoGameState::SetActor(MxU8 p_actorId)
|
|||||||
newActor->SetROI(roi, FALSE, FALSE);
|
newActor->SetROI(roi, FALSE, FALSE);
|
||||||
|
|
||||||
if (oldActor) {
|
if (oldActor) {
|
||||||
newActor->GetROI()->FUN_100a58f0(oldActor->GetROI()->GetLocal2World());
|
newActor->GetROI()->SetLocal2World(oldActor->GetROI()->GetLocal2World());
|
||||||
newActor->SetBoundary(oldActor->GetBoundary());
|
newActor->SetBoundary(oldActor->GetBoundary());
|
||||||
delete oldActor;
|
delete oldActor;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -666,8 +666,8 @@ MxResult LegoPlantManager::Tickle()
|
|||||||
|
|
||||||
SET3(locald8[3], localec);
|
SET3(locald8[3], localec);
|
||||||
|
|
||||||
entry->m_roi->FUN_100a58f0(locald8);
|
entry->m_roi->SetLocal2World(locald8);
|
||||||
entry->m_roi->VTable0x14();
|
entry->m_roi->WrappedUpdateWorldData();
|
||||||
|
|
||||||
if (entry->m_time < time) {
|
if (entry->m_time < time) {
|
||||||
LegoPlantInfo* info = GetInfo(entry->m_entity);
|
LegoPlantInfo* info = GetInfo(entry->m_entity);
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ void RotateY(LegoROI* p_roi, MxFloat p_angle)
|
|||||||
mat[i][2] = (local2world[i][2] * fcos) - (local2world[i][0] * fsin);
|
mat[i][2] = (local2world[i][2] * fcos) - (local2world[i][0] * fsin);
|
||||||
}
|
}
|
||||||
|
|
||||||
p_roi->WrappedSetLocalTransform(mat);
|
p_roi->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1003de80
|
// FUNCTION: LEGO1 0x1003de80
|
||||||
@@ -218,7 +218,7 @@ void FUN_1003e050(LegoAnimPresenter* p_presenter)
|
|||||||
LegoROI* roi = video->GetViewROI();
|
LegoROI* roi = video->GetViewROI();
|
||||||
Lego3DView* view = video->Get3DManager()->GetLego3DView();
|
Lego3DView* view = video->Get3DManager()->GetLego3DView();
|
||||||
|
|
||||||
roi->WrappedSetLocalTransform(viewMatrix);
|
roi->WrappedSetLocal2WorldWithWorldDataUpdate(viewMatrix);
|
||||||
view->Moved(*roi);
|
view->Moved(*roi);
|
||||||
FUN_1003eda0();
|
FUN_1003eda0();
|
||||||
video->Get3DManager()->SetFrustrum(cam, 0.1, 250.0);
|
video->Get3DManager()->SetFrustrum(cam, 0.1, 250.0);
|
||||||
@@ -480,7 +480,7 @@ void FUN_1003eda0()
|
|||||||
|
|
||||||
LegoROI* viewROI = VideoManager()->GetViewROI();
|
LegoROI* viewROI = VideoManager()->GetViewROI();
|
||||||
if (viewROI) {
|
if (viewROI) {
|
||||||
viewROI->FUN_100a5a30(vec);
|
viewROI->SetWorldVelocity(vec);
|
||||||
SoundManager()->UpdateListener(
|
SoundManager()->UpdateListener(
|
||||||
viewROI->GetWorldPosition(),
|
viewROI->GetWorldPosition(),
|
||||||
viewROI->GetWorldDirection(),
|
viewROI->GetWorldDirection(),
|
||||||
|
|||||||
@@ -108,8 +108,8 @@ void Act2Brick::FUN_1007a670(MxMatrix& p_param1, MxMatrix& p_param2, LegoPathBou
|
|||||||
p_boundary->AddActor(this);
|
p_boundary->AddActor(this);
|
||||||
|
|
||||||
SetActorState(c_disabled);
|
SetActorState(c_disabled);
|
||||||
m_roi->FUN_100a58f0(p_param1);
|
m_roi->SetLocal2World(p_param1);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
m_roi->SetVisibility(TRUE);
|
m_roi->SetVisibility(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,8 +147,8 @@ MxResult Act2Brick::Tickle()
|
|||||||
VPV3(local2world[3], local2world[3], m_unk0x168);
|
VPV3(local2world[3], local2world[3], m_unk0x168);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_roi->FUN_100a58f0(local2world);
|
m_roi->SetLocal2World(local2world);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ void LegoCameraController::FUN_100123e0(const Matrix4& p_transform, MxU32 p_und)
|
|||||||
}
|
}
|
||||||
|
|
||||||
((TimeROI*) pov)->FUN_100a9b40(mat, Timer()->GetTime());
|
((TimeROI*) pov)->FUN_100a9b40(mat, Timer()->GetTime());
|
||||||
pov->WrappedSetLocalTransform(mat);
|
pov->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
m_lego3DView->Moved(*pov);
|
m_lego3DView->Moved(*pov);
|
||||||
|
|
||||||
SoundManager()->UpdateListener(
|
SoundManager()->UpdateListener(
|
||||||
|
|||||||
@@ -442,8 +442,8 @@ MxResult LegoNavController::UpdateLocation(const char* p_location)
|
|||||||
Mx3DPointFloat vec;
|
Mx3DPointFloat vec;
|
||||||
vec.Clear();
|
vec.Clear();
|
||||||
|
|
||||||
viewROI->FUN_100a5a30(vec);
|
viewROI->SetWorldVelocity(vec);
|
||||||
viewROI->WrappedSetLocalTransform(mat);
|
viewROI->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
VideoManager()->Get3DManager()->Moved(*viewROI);
|
VideoManager()->Get3DManager()->Moved(*viewROI);
|
||||||
|
|
||||||
SoundManager()->UpdateListener(
|
SoundManager()->UpdateListener(
|
||||||
@@ -480,8 +480,8 @@ MxResult LegoNavController::UpdateLocation(MxU32 p_location)
|
|||||||
Mx3DPointFloat vec;
|
Mx3DPointFloat vec;
|
||||||
vec.Clear();
|
vec.Clear();
|
||||||
|
|
||||||
viewROI->FUN_100a5a30(vec);
|
viewROI->SetWorldVelocity(vec);
|
||||||
viewROI->WrappedSetLocalTransform(mat);
|
viewROI->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
VideoManager()->Get3DManager()->Moved(*viewROI);
|
VideoManager()->Get3DManager()->Moved(*viewROI);
|
||||||
|
|
||||||
SoundManager()->UpdateListener(
|
SoundManager()->UpdateListener(
|
||||||
@@ -930,7 +930,7 @@ MxLong LegoNavController::Notify(MxParam& p_param)
|
|||||||
MxMatrix mat;
|
MxMatrix mat;
|
||||||
mat.SetIdentity();
|
mat.SetIdentity();
|
||||||
mat.RotateX(0.2618f);
|
mat.RotateX(0.2618f);
|
||||||
roi->WrappedVTable0x24(mat);
|
roi->WrappedUpdateWorldDataWithTransform(mat);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'J': {
|
case 'J': {
|
||||||
@@ -938,7 +938,7 @@ MxLong LegoNavController::Notify(MxParam& p_param)
|
|||||||
MxMatrix mat;
|
MxMatrix mat;
|
||||||
mat.SetIdentity();
|
mat.SetIdentity();
|
||||||
mat.RotateZ(0.2618f);
|
mat.RotateZ(0.2618f);
|
||||||
roi->WrappedVTable0x24(mat);
|
roi->WrappedUpdateWorldDataWithTransform(mat);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'K': {
|
case 'K': {
|
||||||
@@ -946,7 +946,7 @@ MxLong LegoNavController::Notify(MxParam& p_param)
|
|||||||
LegoROI* roi = LegoOmni::GetInstance()->GetVideoManager()->GetViewROI();
|
LegoROI* roi = LegoOmni::GetInstance()->GetVideoManager()->GetViewROI();
|
||||||
mat.SetIdentity();
|
mat.SetIdentity();
|
||||||
mat.RotateZ(-0.2618f);
|
mat.RotateZ(-0.2618f);
|
||||||
roi->WrappedVTable0x24(mat);
|
roi->WrappedUpdateWorldDataWithTransform(mat);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'L':
|
case 'L':
|
||||||
@@ -957,7 +957,7 @@ MxLong LegoNavController::Notify(MxParam& p_param)
|
|||||||
MxMatrix mat;
|
MxMatrix mat;
|
||||||
mat.SetIdentity();
|
mat.SetIdentity();
|
||||||
mat.RotateX(-0.2618f);
|
mat.RotateX(-0.2618f);
|
||||||
roi->WrappedVTable0x24(mat);
|
roi->WrappedUpdateWorldDataWithTransform(mat);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'N':
|
case 'N':
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ MxResult LegoPointOfViewController::Tickle()
|
|||||||
|
|
||||||
CalcLocalTransform(newPos, newDir, pov->GetWorldUp(), mat);
|
CalcLocalTransform(newPos, newDir, pov->GetWorldUp(), mat);
|
||||||
((TimeROI*) pov)->FUN_100a9b40(mat, Timer()->GetTime());
|
((TimeROI*) pov)->FUN_100a9b40(mat, Timer()->GetTime());
|
||||||
pov->WrappedSetLocalTransform(mat);
|
pov->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
m_lego3DView->Moved(*pov);
|
m_lego3DView->Moved(*pov);
|
||||||
|
|
||||||
SoundManager()->UpdateListener(
|
SoundManager()->UpdateListener(
|
||||||
@@ -171,7 +171,7 @@ MxResult LegoPointOfViewController::Tickle()
|
|||||||
Mx3DPointFloat vel;
|
Mx3DPointFloat vel;
|
||||||
|
|
||||||
vel.Clear();
|
vel.Clear();
|
||||||
pov->FUN_100a5a30(vel);
|
pov->SetWorldVelocity(vel);
|
||||||
|
|
||||||
SoundManager()->UpdateListener(
|
SoundManager()->UpdateListener(
|
||||||
pov->GetWorldPosition(),
|
pov->GetWorldPosition(),
|
||||||
@@ -210,7 +210,7 @@ void LegoPointOfViewController::SetEntity(LegoEntity* p_entity)
|
|||||||
mat
|
mat
|
||||||
);
|
);
|
||||||
|
|
||||||
pov->WrappedSetLocalTransform(mat);
|
pov->WrappedSetLocal2WorldWithWorldDataUpdate(mat);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
TickleManager()->RegisterClient(this, 10);
|
TickleManager()->RegisterClient(this, 10);
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ MxU32 LegoExtraActor::VTable0x90(float p_time, Matrix4& p_transform)
|
|||||||
m_actorState = c_initial;
|
m_actorState = c_initial;
|
||||||
m_scheduledTime = 0.0f;
|
m_scheduledTime = 0.0f;
|
||||||
positionRef -= g_unk0x10104c18;
|
positionRef -= g_unk0x10104c18;
|
||||||
m_roi->FUN_100a58f0(p_transform);
|
m_roi->SetLocal2World(p_transform);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -229,8 +229,8 @@ MxResult LegoExtraActor::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!b) {
|
if (!b) {
|
||||||
m_roi->FUN_100a58f0(matrix2);
|
m_roi->SetLocal2World(matrix2);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
FUN_1002ad8a();
|
FUN_1002ad8a();
|
||||||
assert(m_roi);
|
assert(m_roi);
|
||||||
assert(SoundManager()->GetCacheSoundManager());
|
assert(SoundManager()->GetCacheSoundManager());
|
||||||
@@ -254,7 +254,7 @@ MxResult LegoExtraActor::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
|||||||
MxMatrix matrix3 = MxMatrix(roi->GetLocal2World());
|
MxMatrix matrix3 = MxMatrix(roi->GetLocal2World());
|
||||||
Vector3 positionRef(matrix3[3]);
|
Vector3 positionRef(matrix3[3]);
|
||||||
positionRef += g_unk0x10104c18;
|
positionRef += g_unk0x10104c18;
|
||||||
roi->FUN_100a58f0(matrix3);
|
roi->SetLocal2World(matrix3);
|
||||||
|
|
||||||
float dotX = dir.Dot(dir, Mx3DPointFloat(1.0f, 0, 0));
|
float dotX = dir.Dot(dir, Mx3DPointFloat(1.0f, 0, 0));
|
||||||
float dotZ = dir.Dot(dir, Mx3DPointFloat(0, 0, 1.0f));
|
float dotZ = dir.Dot(dir, Mx3DPointFloat(0, 0, 1.0f));
|
||||||
@@ -346,7 +346,7 @@ void LegoExtraActor::Animate(float p_time)
|
|||||||
m_whichAnim = 0;
|
m_whichAnim = 0;
|
||||||
m_actorState = c_initial;
|
m_actorState = c_initial;
|
||||||
SetWorldSpeed(m_prevWorldSpeed);
|
SetWorldSpeed(m_prevWorldSpeed);
|
||||||
m_roi->FUN_100a58f0(m_unk0x18);
|
m_roi->SetLocal2World(m_unk0x18);
|
||||||
m_lastTime = p_time;
|
m_lastTime = p_time;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -382,12 +382,12 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
|
|||||||
void LegoPathActor::VTable0x74(Matrix4& p_transform)
|
void LegoPathActor::VTable0x74(Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
if (m_userNavFlag) {
|
if (m_userNavFlag) {
|
||||||
m_roi->WrappedSetLocalTransform(p_transform);
|
m_roi->WrappedSetLocal2WorldWithWorldDataUpdate(p_transform);
|
||||||
FUN_10010c30();
|
FUN_10010c30();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_roi->WrappedSetLocalTransform(p_transform);
|
m_roi->WrappedSetLocal2WorldWithWorldDataUpdate(p_transform);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
|
|
||||||
if (m_cameraFlag) {
|
if (m_cameraFlag) {
|
||||||
FUN_10010c30();
|
FUN_10010c30();
|
||||||
@@ -731,11 +731,11 @@ void LegoPathActor::VTable0xa4(MxBool& p_und1, MxS32& p_und2)
|
|||||||
void LegoPathActor::VTable0xa8()
|
void LegoPathActor::VTable0xa8()
|
||||||
{
|
{
|
||||||
m_lastTime = Timer()->GetTime();
|
m_lastTime = Timer()->GetTime();
|
||||||
m_roi->FUN_100a58f0(m_unk0xec);
|
m_roi->SetLocal2World(m_unk0xec);
|
||||||
m_roi->VTable0x14();
|
m_roi->WrappedUpdateWorldData();
|
||||||
|
|
||||||
if (m_userNavFlag) {
|
if (m_userNavFlag) {
|
||||||
m_roi->WrappedSetLocalTransform(m_unk0xec);
|
m_roi->WrappedSetLocal2WorldWithWorldDataUpdate(m_unk0xec);
|
||||||
FUN_10010c30();
|
FUN_10010c30();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ MxU32 LegoRaceActor::VTable0x90(float p_time, Matrix4& p_transform)
|
|||||||
m_unk0x08 = 0;
|
m_unk0x08 = 0;
|
||||||
|
|
||||||
positionRef -= g_unk0x10102b08;
|
positionRef -= g_unk0x10102b08;
|
||||||
m_roi->FUN_100a58f0(p_transform);
|
m_roi->SetLocal2World(p_transform);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ MxResult LegoRaceActor::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
|||||||
|
|
||||||
Vector3(matr[3]) += g_unk0x10102b08;
|
Vector3(matr[3]) += g_unk0x10102b08;
|
||||||
|
|
||||||
roi->FUN_100a58f0(matr);
|
roi->SetLocal2World(matr);
|
||||||
|
|
||||||
p_actor->SetActorState(c_two);
|
p_actor->SetActorState(c_two);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ void LegoRaceCar::FUN_10012ff0(float p_param)
|
|||||||
r->GetCameraController()->FUN_100123e0(transformationMatrix, 0);
|
r->GetCameraController()->FUN_100123e0(transformationMatrix, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_roi->FUN_100a58f0(transformationMatrix);
|
m_roi->SetLocal2World(transformationMatrix);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -469,7 +469,7 @@ MxResult LegoRaceCar::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
|||||||
matr = roi->GetLocal2World();
|
matr = roi->GetLocal2World();
|
||||||
|
|
||||||
Vector3(matr[3]) += g_unk0x10102af0;
|
Vector3(matr[3]) += g_unk0x10102af0;
|
||||||
roi->FUN_100a58f0(matr);
|
roi->SetLocal2World(matr);
|
||||||
|
|
||||||
p_actor->SetActorState(c_two);
|
p_actor->SetActorState(c_two);
|
||||||
}
|
}
|
||||||
@@ -683,7 +683,7 @@ MxResult LegoJetski::HitActor(LegoPathActor* p_actor, MxBool p_bool)
|
|||||||
matr = roi->GetLocal2World();
|
matr = roi->GetLocal2World();
|
||||||
|
|
||||||
Vector3(matr[3]) += g_unk0x10102af0;
|
Vector3(matr[3]) += g_unk0x10102af0;
|
||||||
roi->FUN_100a58f0(matr);
|
roi->SetLocal2World(matr);
|
||||||
|
|
||||||
p_actor->SetActorState(c_two);
|
p_actor->SetActorState(c_two);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -659,8 +659,8 @@ void LegoAnimPresenter::PutFrame()
|
|||||||
dir *= dirsqr;
|
dir *= dirsqr;
|
||||||
up *= upsqr;
|
up *= upsqr;
|
||||||
|
|
||||||
m_unk0x8c[i]->FUN_100a58f0(mat);
|
m_unk0x8c[i]->SetLocal2World(mat);
|
||||||
m_unk0x8c[i]->VTable0x14();
|
m_unk0x8c[i]->WrappedUpdateWorldData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -689,7 +689,7 @@ MxResult LegoAnimPresenter::FUN_1006afc0(MxMatrix*& p_matrix, float p_und)
|
|||||||
if (m_roiMap[i] != NULL) {
|
if (m_roiMap[i] != NULL) {
|
||||||
mat = p_matrix[i];
|
mat = p_matrix[i];
|
||||||
p_matrix[i] = m_roiMap[i]->GetLocal2World();
|
p_matrix[i] = m_roiMap[i]->GetLocal2World();
|
||||||
m_roiMap[i]->FUN_100a58f0(mat);
|
m_roiMap[i]->SetLocal2World(mat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ void LegoLoopingAnimPresenter::PutFrame()
|
|||||||
dir *= dirsqr;
|
dir *= dirsqr;
|
||||||
up *= upsqr;
|
up *= upsqr;
|
||||||
|
|
||||||
m_unk0x8c[i]->FUN_100a58f0(mat);
|
m_unk0x8c[i]->SetLocal2World(mat);
|
||||||
m_unk0x8c[i]->VTable0x14();
|
m_unk0x8c[i]->WrappedUpdateWorldData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ MxResult LegoVideoManager::Create(MxVideoParam& p_videoParam, MxU32 p_frequencyM
|
|||||||
pLODList->Release();
|
pLODList->Release();
|
||||||
|
|
||||||
CalcLocalTransform(posVec, dirVec, upVec, outMatrix);
|
CalcLocalTransform(posVec, dirVec, upVec, outMatrix);
|
||||||
m_viewROI->WrappedSetLocalTransform(outMatrix);
|
m_viewROI->WrappedSetLocal2WorldWithWorldDataUpdate(outMatrix);
|
||||||
|
|
||||||
m_3dManager->Add(*m_viewROI);
|
m_3dManager->Add(*m_viewROI);
|
||||||
m_3dManager->SetPointOfView(*m_viewROI);
|
m_3dManager->SetPointOfView(*m_viewROI);
|
||||||
|
|||||||
@@ -502,8 +502,8 @@ void LegoAct2::ReadyWorld()
|
|||||||
|
|
||||||
MxMatrix local2world = roi->GetLocal2World();
|
MxMatrix local2world = roi->GetLocal2World();
|
||||||
local2world[3][0] -= 1.5;
|
local2world[3][0] -= 1.5;
|
||||||
roi->FUN_100a58f0(local2world);
|
roi->SetLocal2World(local2world);
|
||||||
roi->VTable0x14();
|
roi->WrappedUpdateWorldData();
|
||||||
|
|
||||||
roi = FindROI("Block02");
|
roi = FindROI("Block02");
|
||||||
sphere = roi->GetBoundingSphere();
|
sphere = roi->GetBoundingSphere();
|
||||||
@@ -688,8 +688,8 @@ void LegoAct2::FUN_100517b0()
|
|||||||
local2world[3][1] += 1.5;
|
local2world[3][1] += 1.5;
|
||||||
|
|
||||||
LegoROI* roi = brick.GetROI();
|
LegoROI* roi = brick.GetROI();
|
||||||
roi->FUN_100a58f0(local2world);
|
roi->SetLocal2World(local2world);
|
||||||
roi->VTable0x14();
|
roi->WrappedUpdateWorldData();
|
||||||
brick.PlayWhistleSound();
|
brick.PlayWhistleSound();
|
||||||
m_nextBrick++;
|
m_nextBrick++;
|
||||||
}
|
}
|
||||||
@@ -828,9 +828,9 @@ void LegoAct2::SpawnBricks()
|
|||||||
}
|
}
|
||||||
|
|
||||||
SET3(local2world[3], location);
|
SET3(local2world[3], location);
|
||||||
roi->FUN_100a58f0(local2world);
|
roi->SetLocal2World(local2world);
|
||||||
roi->SetVisibility(TRUE);
|
roi->SetVisibility(TRUE);
|
||||||
roi->VTable0x14();
|
roi->WrappedUpdateWorldData();
|
||||||
entity = roi->GetEntity();
|
entity = roi->GetEntity();
|
||||||
brick->PlayWhistleSound();
|
brick->PlayWhistleSound();
|
||||||
m_nextBrick++;
|
m_nextBrick++;
|
||||||
@@ -852,9 +852,9 @@ void LegoAct2::SpawnBricks()
|
|||||||
}
|
}
|
||||||
|
|
||||||
SET3(local2world[3], location);
|
SET3(local2world[3], location);
|
||||||
roi->FUN_100a58f0(local2world);
|
roi->SetLocal2World(local2world);
|
||||||
roi->SetVisibility(TRUE);
|
roi->SetVisibility(TRUE);
|
||||||
roi->VTable0x14();
|
roi->WrappedUpdateWorldData();
|
||||||
entity = roi->GetEntity();
|
entity = roi->GetEntity();
|
||||||
brick->PlayWhistleSound();
|
brick->PlayWhistleSound();
|
||||||
m_nextBrick++;
|
m_nextBrick++;
|
||||||
@@ -876,9 +876,9 @@ void LegoAct2::SpawnBricks()
|
|||||||
}
|
}
|
||||||
|
|
||||||
SET3(local2world[3], location);
|
SET3(local2world[3], location);
|
||||||
roi->FUN_100a58f0(local2world);
|
roi->SetLocal2World(local2world);
|
||||||
roi->SetVisibility(TRUE);
|
roi->SetVisibility(TRUE);
|
||||||
roi->VTable0x14();
|
roi->WrappedUpdateWorldData();
|
||||||
entity = roi->GetEntity();
|
entity = roi->GetEntity();
|
||||||
brick->PlayWhistleSound();
|
brick->PlayWhistleSound();
|
||||||
m_nextBrick++;
|
m_nextBrick++;
|
||||||
@@ -914,9 +914,9 @@ void LegoAct2::SpawnBricks()
|
|||||||
}
|
}
|
||||||
|
|
||||||
SET3(local2world[3], location);
|
SET3(local2world[3], location);
|
||||||
roi->FUN_100a58f0(local2world);
|
roi->SetLocal2World(local2world);
|
||||||
roi->SetVisibility(TRUE);
|
roi->SetVisibility(TRUE);
|
||||||
roi->VTable0x14();
|
roi->WrappedUpdateWorldData();
|
||||||
entity = roi->GetEntity();
|
entity = roi->GetEntity();
|
||||||
brick->PlayWhistleSound();
|
brick->PlayWhistleSound();
|
||||||
m_nextBrick++;
|
m_nextBrick++;
|
||||||
|
|||||||
@@ -393,7 +393,7 @@ LegoResult LegoROI::FUN_100a8da0(LegoTreeNode* p_node, const Matrix4& p_matrix,
|
|||||||
if (roi != NULL) {
|
if (roi != NULL) {
|
||||||
FUN_100a8cb0(data, p_time, mat);
|
FUN_100a8cb0(data, p_time, mat);
|
||||||
roi->m_local2world.Product(mat, p_matrix);
|
roi->m_local2world.Product(mat, p_matrix);
|
||||||
roi->VTable0x1c();
|
roi->UpdateWorldData();
|
||||||
|
|
||||||
LegoBool und = data->FUN_100a0990(p_time);
|
LegoBool und = data->FUN_100a0990(p_time);
|
||||||
roi->SetVisibility(und);
|
roi->SetVisibility(und);
|
||||||
@@ -421,7 +421,7 @@ void LegoROI::FUN_100a8e80(LegoTreeNode* p_node, Matrix4& p_matrix, LegoTime p_t
|
|||||||
LegoROI* roi = p_roiMap[data->GetUnknown0x20()];
|
LegoROI* roi = p_roiMap[data->GetUnknown0x20()];
|
||||||
if (roi != NULL) {
|
if (roi != NULL) {
|
||||||
roi->m_local2world.Product(mat, p_matrix);
|
roi->m_local2world.Product(mat, p_matrix);
|
||||||
roi->VTable0x1c();
|
roi->UpdateWorldData();
|
||||||
|
|
||||||
LegoBool und = data->FUN_100a0990(p_time);
|
LegoBool und = data->FUN_100a0990(p_time);
|
||||||
roi->SetVisibility(und);
|
roi->SetVisibility(und);
|
||||||
@@ -750,7 +750,7 @@ void TimeROI::FUN_100a9b40(Matrix4& p_matrix, LegoTime p_time)
|
|||||||
targetPosition -= vec;
|
targetPosition -= vec;
|
||||||
targetPosition /= time / 1000.0;
|
targetPosition /= time / 1000.0;
|
||||||
|
|
||||||
FUN_100a5a30(targetPosition);
|
SetWorldVelocity(targetPosition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,15 +17,15 @@ OrientableROI::OrientableROI()
|
|||||||
IDENTMAT4(m_local2world);
|
IDENTMAT4(m_local2world);
|
||||||
|
|
||||||
m_parentROI = NULL;
|
m_parentROI = NULL;
|
||||||
ToggleUnknown0xd8(TRUE);
|
SetNeedsWorldDataUpdate(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Maybe an overload based on MxMatrix type
|
// Maybe an overload based on MxMatrix type
|
||||||
// FUNCTION: LEGO1 0x100a46a0
|
// FUNCTION: LEGO1 0x100a46a0
|
||||||
// FUNCTION: BETA10 0x10165268
|
// FUNCTION: BETA10 0x10165268
|
||||||
void OrientableROI::WrappedSetLocalTransform(const Matrix4& p_transform)
|
void OrientableROI::WrappedSetLocal2WorldWithWorldDataUpdate(const Matrix4& p_local2world)
|
||||||
{
|
{
|
||||||
SetLocalTransform(p_transform);
|
SetLocal2WorldWithWorldDataUpdate(p_local2world);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a46b0
|
// FUNCTION: LEGO1 0x100a46b0
|
||||||
@@ -57,14 +57,14 @@ void OrientableROI::UpdateTransformationRelativeToParent(const Matrix4& p_transf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateWorldData(mat);
|
UpdateWorldDataWithTransformAndChildren(mat);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Maybe an overload based on MxMatrix type
|
// Maybe an overload based on MxMatrix type
|
||||||
// FUNCTION: LEGO1 0x100a5090
|
// FUNCTION: LEGO1 0x100a5090
|
||||||
void OrientableROI::WrappedVTable0x24(const Matrix4& p_transform)
|
void OrientableROI::WrappedUpdateWorldDataWithTransform(const Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
VTable0x24(p_transform);
|
UpdateWorldDataWithTransform(p_transform);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a50a0
|
// FUNCTION: LEGO1 0x100a50a0
|
||||||
@@ -101,21 +101,21 @@ void OrientableROI::GetLocalTransform(Matrix4& p_transform)
|
|||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a58f0
|
// FUNCTION: LEGO1 0x100a58f0
|
||||||
// FUNCTION: BETA10 0x10167b77
|
// FUNCTION: BETA10 0x10167b77
|
||||||
void OrientableROI::FUN_100a58f0(const Matrix4& p_transform)
|
void OrientableROI::SetLocal2World(const Matrix4& p_local2world)
|
||||||
{
|
{
|
||||||
m_local2world = p_transform;
|
m_local2world = p_local2world;
|
||||||
ToggleUnknown0xd8(TRUE);
|
SetNeedsWorldDataUpdate(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a5910
|
// FUNCTION: LEGO1 0x100a5910
|
||||||
void OrientableROI::VTable0x1c()
|
void OrientableROI::UpdateWorldData()
|
||||||
{
|
{
|
||||||
UpdateWorldBoundingVolumes();
|
UpdateWorldBoundingVolumes();
|
||||||
UpdateWorldVelocity();
|
UpdateWorldVelocity();
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a5930
|
// FUNCTION: LEGO1 0x100a5930
|
||||||
void OrientableROI::SetLocalTransform(const Matrix4& p_transform)
|
void OrientableROI::SetLocal2WorldWithWorldDataUpdate(const Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
m_local2world = p_transform;
|
m_local2world = p_transform;
|
||||||
UpdateWorldBoundingVolumes();
|
UpdateWorldBoundingVolumes();
|
||||||
@@ -123,7 +123,7 @@ void OrientableROI::SetLocalTransform(const Matrix4& p_transform)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a5960
|
// FUNCTION: LEGO1 0x100a5960
|
||||||
void OrientableROI::VTable0x24(const Matrix4& p_transform)
|
void OrientableROI::UpdateWorldDataWithTransform(const Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
MxMatrix l_matrix(m_local2world);
|
MxMatrix l_matrix(m_local2world);
|
||||||
m_local2world.Product(p_transform, l_matrix);
|
m_local2world.Product(p_transform, l_matrix);
|
||||||
@@ -132,7 +132,7 @@ void OrientableROI::VTable0x24(const Matrix4& p_transform)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a59b0
|
// FUNCTION: LEGO1 0x100a59b0
|
||||||
void OrientableROI::UpdateWorldData(const Matrix4& p_transform)
|
void OrientableROI::UpdateWorldDataWithTransformAndChildren(const Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
MxMatrix l_matrix(m_local2world);
|
MxMatrix l_matrix(m_local2world);
|
||||||
m_local2world.Product(l_matrix, p_transform);
|
m_local2world.Product(l_matrix, p_transform);
|
||||||
@@ -143,13 +143,13 @@ void OrientableROI::UpdateWorldData(const Matrix4& p_transform)
|
|||||||
if (comp) {
|
if (comp) {
|
||||||
for (CompoundObject::iterator iter = comp->begin(); !(iter == comp->end()); iter++) {
|
for (CompoundObject::iterator iter = comp->begin(); !(iter == comp->end()); iter++) {
|
||||||
ROI* child = *iter;
|
ROI* child = *iter;
|
||||||
static_cast<OrientableROI*>(child)->UpdateWorldData(p_transform);
|
static_cast<OrientableROI*>(child)->UpdateWorldDataWithTransformAndChildren(p_transform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a5a30
|
// FUNCTION: LEGO1 0x100a5a30
|
||||||
void OrientableROI::FUN_100a5a30(const Vector3& p_world_velocity)
|
void OrientableROI::SetWorldVelocity(const Vector3& p_world_velocity)
|
||||||
{
|
{
|
||||||
m_world_velocity = p_world_velocity;
|
m_world_velocity = p_world_velocity;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,21 +23,21 @@ public:
|
|||||||
const BoundingSphere& GetWorldBoundingSphere() const override; // vtable+0x10
|
const BoundingSphere& GetWorldBoundingSphere() const override; // vtable+0x10
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a5db0
|
// FUNCTION: LEGO1 0x100a5db0
|
||||||
virtual void VTable0x14() { VTable0x1c(); } // vtable+0x14
|
virtual void WrappedUpdateWorldData() { UpdateWorldData(); } // vtable+0x14
|
||||||
|
|
||||||
virtual void UpdateWorldBoundingVolumes() = 0; // vtable+0x18
|
virtual void UpdateWorldBoundingVolumes() = 0; // vtable+0x18
|
||||||
virtual void VTable0x1c(); // vtable+0x1c
|
virtual void UpdateWorldData(); // vtable+0x1c
|
||||||
virtual void SetLocalTransform(const Matrix4& p_transform); // vtable+0x20
|
virtual void SetLocal2WorldWithWorldDataUpdate(const Matrix4& p_local2world); // vtable+0x20
|
||||||
virtual void VTable0x24(const Matrix4& p_transform); // vtable+0x24
|
virtual void UpdateWorldDataWithTransform(const Matrix4& p_transform); // vtable+0x24
|
||||||
virtual void UpdateWorldData(const Matrix4& p_transform); // vtable+0x28
|
virtual void UpdateWorldDataWithTransformAndChildren(const Matrix4& p_transform); // vtable+0x28
|
||||||
virtual void UpdateWorldVelocity(); // vtable+0x2c
|
virtual void UpdateWorldVelocity(); // vtable+0x2c
|
||||||
|
|
||||||
void WrappedSetLocalTransform(const Matrix4& p_transform);
|
void WrappedSetLocal2WorldWithWorldDataUpdate(const Matrix4& p_local2world);
|
||||||
void UpdateTransformationRelativeToParent(const Matrix4& p_transform);
|
void UpdateTransformationRelativeToParent(const Matrix4& p_transform);
|
||||||
void WrappedVTable0x24(const Matrix4& p_transform);
|
void WrappedUpdateWorldDataWithTransform(const Matrix4& p_transform);
|
||||||
void GetLocalTransform(Matrix4& p_transform);
|
void GetLocalTransform(Matrix4& p_transform);
|
||||||
void FUN_100a58f0(const Matrix4& p_transform);
|
void SetLocal2World(const Matrix4& p_local2world);
|
||||||
void FUN_100a5a30(const Vector3& p_world_velocity);
|
void SetWorldVelocity(const Vector3& p_world_velocity);
|
||||||
|
|
||||||
// FUNCTION: BETA10 0x1000fbf0
|
// FUNCTION: BETA10 0x1000fbf0
|
||||||
const Matrix4& GetLocal2World() const { return m_local2world; }
|
const Matrix4& GetLocal2World() const { return m_local2world; }
|
||||||
@@ -57,9 +57,9 @@ public:
|
|||||||
void SetParentROI(OrientableROI* p_parentROI) { m_parentROI = p_parentROI; }
|
void SetParentROI(OrientableROI* p_parentROI) { m_parentROI = p_parentROI; }
|
||||||
|
|
||||||
// FUNCTION: BETA10 0x10168800
|
// FUNCTION: BETA10 0x10168800
|
||||||
void ToggleUnknown0xd8(BOOL p_enable)
|
void SetNeedsWorldDataUpdate(BOOL p_needsWorldDataUpdate)
|
||||||
{
|
{
|
||||||
if (p_enable) {
|
if (p_needsWorldDataUpdate) {
|
||||||
m_unk0xd8 |= c_bit1 | c_bit2;
|
m_unk0xd8 |= c_bit1 | c_bit2;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ const Tgl::Group* ViewROI::GetGeometry() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a9ee0
|
// FUNCTION: LEGO1 0x100a9ee0
|
||||||
void ViewROI::UpdateWorldData(const Matrix4& parent2world)
|
void ViewROI::UpdateWorldDataWithTransformAndChildren(const Matrix4& parent2world)
|
||||||
{
|
{
|
||||||
OrientableROI::UpdateWorldData(parent2world);
|
OrientableROI::UpdateWorldDataWithTransformAndChildren(parent2world);
|
||||||
|
|
||||||
if (geometry) {
|
if (geometry) {
|
||||||
Tgl::FloatMatrix4 matrix;
|
Tgl::FloatMatrix4 matrix;
|
||||||
@@ -42,9 +42,9 @@ void ViewROI::UpdateWorldData(const Matrix4& parent2world)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a9fc0
|
// FUNCTION: LEGO1 0x100a9fc0
|
||||||
void ViewROI::VTable0x24(const Matrix4& p_transform)
|
void ViewROI::UpdateWorldDataWithTransform(const Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
OrientableROI::VTable0x24(p_transform);
|
OrientableROI::UpdateWorldDataWithTransform(p_transform);
|
||||||
if (geometry) {
|
if (geometry) {
|
||||||
Tgl::FloatMatrix4 matrix;
|
Tgl::FloatMatrix4 matrix;
|
||||||
Matrix4 in(matrix);
|
Matrix4 in(matrix);
|
||||||
@@ -54,9 +54,9 @@ void ViewROI::VTable0x24(const Matrix4& p_transform)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100aa0a0
|
// FUNCTION: LEGO1 0x100aa0a0
|
||||||
void ViewROI::SetLocalTransform(const Matrix4& p_transform)
|
void ViewROI::SetLocal2WorldWithWorldDataUpdate(const Matrix4& p_transform)
|
||||||
{
|
{
|
||||||
OrientableROI::SetLocalTransform(p_transform);
|
OrientableROI::SetLocal2WorldWithWorldDataUpdate(p_transform);
|
||||||
if (geometry) {
|
if (geometry) {
|
||||||
Tgl::FloatMatrix4 matrix;
|
Tgl::FloatMatrix4 matrix;
|
||||||
Matrix4 in(matrix);
|
Matrix4 in(matrix);
|
||||||
@@ -66,9 +66,9 @@ void ViewROI::SetLocalTransform(const Matrix4& p_transform)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100aa180
|
// FUNCTION: LEGO1 0x100aa180
|
||||||
void ViewROI::VTable0x1c()
|
void ViewROI::UpdateWorldData()
|
||||||
{
|
{
|
||||||
OrientableROI::VTable0x1c();
|
OrientableROI::UpdateWorldData();
|
||||||
if (geometry) {
|
if (geometry) {
|
||||||
Tgl::FloatMatrix4 matrix;
|
Tgl::FloatMatrix4 matrix;
|
||||||
Matrix4 in(matrix);
|
Matrix4 in(matrix);
|
||||||
|
|||||||
@@ -49,12 +49,12 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float IntrinsicImportance() const override; // vtable+0x04
|
float IntrinsicImportance() const override; // vtable+0x04
|
||||||
void VTable0x1c() override; // vtable+0x1c
|
void UpdateWorldData() override; // vtable+0x1c
|
||||||
void SetLocalTransform(const Matrix4& p_transform) override; // vtable+0x20
|
void SetLocal2WorldWithWorldDataUpdate(const Matrix4& p_transform) override; // vtable+0x20
|
||||||
void VTable0x24(const Matrix4& p_transform) override; // vtable+0x24
|
void UpdateWorldDataWithTransform(const Matrix4& p_transform) override; // vtable+0x24
|
||||||
virtual Tgl::Group* GetGeometry(); // vtable+0x30
|
virtual Tgl::Group* GetGeometry(); // vtable+0x30
|
||||||
virtual const Tgl::Group* GetGeometry() const; // vtable+0x34
|
virtual const Tgl::Group* GetGeometry() const; // vtable+0x34
|
||||||
|
|
||||||
int GetUnknown0xe0() { return m_unk0xe0; }
|
int GetUnknown0xe0() { return m_unk0xe0; }
|
||||||
void SetUnknown0xe0(int p_unk0xe0) { m_unk0xe0 = p_unk0xe0; }
|
void SetUnknown0xe0(int p_unk0xe0) { m_unk0xe0 = p_unk0xe0; }
|
||||||
@@ -62,7 +62,7 @@ public:
|
|||||||
static unsigned char SetLightSupport(unsigned char p_lightSupport);
|
static unsigned char SetLightSupport(unsigned char p_lightSupport);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void UpdateWorldData(const Matrix4& parent2world) override; // vtable+0x28
|
void UpdateWorldDataWithTransformAndChildren(const Matrix4& parent2world) override; // vtable+0x28
|
||||||
|
|
||||||
Tgl::Group* geometry; // 0xdc
|
Tgl::Group* geometry; // 0xdc
|
||||||
int m_unk0xe0; // 0xe0
|
int m_unk0xe0; // 0xe0
|
||||||
|
|||||||
Reference in New Issue
Block a user