diff --git a/LEGO1/lego/legoomni/include/helicopter.h b/LEGO1/lego/legoomni/include/helicopter.h index 2f64238d..8d887d73 100644 --- a/LEGO1/lego/legoomni/include/helicopter.h +++ b/LEGO1/lego/legoomni/include/helicopter.h @@ -38,14 +38,9 @@ class HelicopterState : public LegoState { return TRUE; } // vtable+0x18 - void SetUnknown8(MxU32 p_unk0x08) { m_unk0x08 = p_unk0x08; } - MxU32 GetUnkown8() { return m_unk0x08; } - // SYNTHETIC: LEGO1 0x1000e190 // HelicopterState::`scalar deleting destructor' - // TODO: Most likely getters/setters are not used according to BETA. - MxU32 m_unk0x08; // 0x08 }; diff --git a/LEGO1/lego/legoomni/include/legonamedpart.h b/LEGO1/lego/legoomni/include/legonamedpart.h index dcdee2f9..a03da68c 100644 --- a/LEGO1/lego/legoomni/include/legonamedpart.h +++ b/LEGO1/lego/legoomni/include/legonamedpart.h @@ -12,7 +12,18 @@ class LegoNamedPart { m_name = p_name; m_list = p_list; } - ~LegoNamedPart() { delete m_list; } + ~LegoNamedPart() + { + LegoLODListCursor cursor(m_list); + LegoLOD* lod; + + while (cursor.First(lod)) { + cursor.Detach(); + delete lod; + } + + delete m_list; + } const MxString* GetName() const { return &m_name; } LegoLODList* GetList() { return m_list; } diff --git a/LEGO1/lego/legoomni/include/legoworld.h b/LEGO1/lego/legoomni/include/legoworld.h index 52ef3baf..9845e451 100644 --- a/LEGO1/lego/legoomni/include/legoworld.h +++ b/LEGO1/lego/legoomni/include/legoworld.h @@ -102,7 +102,7 @@ class LegoWorld : public LegoEntity { MxCore* Find(const MxAtomId& p_atom, MxS32 p_entityId); // FUNCTION: BETA10 0x1002b4f0 - LegoCameraController* GetCamera() { return m_cameraController; } + LegoCameraController* GetCameraController() { return m_cameraController; } LegoEntityList* GetEntityList() { return m_entityList; } LegoOmni::World GetWorldId() { return m_worldId; } diff --git a/LEGO1/lego/legoomni/src/actors/act2actor.cpp b/LEGO1/lego/legoomni/src/actors/act2actor.cpp index 2a66642d..52506121 100644 --- a/LEGO1/lego/legoomni/src/actors/act2actor.cpp +++ b/LEGO1/lego/legoomni/src/actors/act2actor.cpp @@ -444,6 +444,8 @@ MxS32 Act2Actor::VTable0xa0() { undefined4 newLocation; + assert(!m_grec); + CurrentWorld(); MxU16 randomVal = rand() / (RAND_MAX / 2) + 1; diff --git a/LEGO1/lego/legoomni/src/actors/helicopter.cpp b/LEGO1/lego/legoomni/src/actors/helicopter.cpp index 059145ae..bdec74e4 100644 --- a/LEGO1/lego/legoomni/src/actors/helicopter.cpp +++ b/LEGO1/lego/legoomni/src/actors/helicopter.cpp @@ -30,6 +30,7 @@ DECOMP_SIZE_ASSERT(Matrix4, 0x08) DECOMP_SIZE_ASSERT(MxMatrix, 0x48) // FUNCTION: LEGO1 0x10001e60 +// FUNCTION: BETA10 0x1002a0d0 Helicopter::Helicopter() { m_maxLinearVel = 60; @@ -43,6 +44,7 @@ Helicopter::~Helicopter() } // FUNCTION: LEGO1 0x100032c0 +// FUNCTION: BETA10 0x1002a16d MxResult Helicopter::Create(MxDSAction& p_dsAction) { MxResult result = IslePathActor::Create(p_dsAction); @@ -52,6 +54,8 @@ MxResult Helicopter::Create(MxDSAction& p_dsAction) ((Act3*) m_world)->SetHelicopter(this); } + assert(m_world); + if (m_world != NULL) { m_world->Add(this); } @@ -61,6 +65,7 @@ MxResult Helicopter::Create(MxDSAction& p_dsAction) } // FUNCTION: LEGO1 0x10003320 +// FUNCTION: BETA10 0x1002a240 void Helicopter::CreateState() { m_state = (HelicopterState*) GameState()->GetState("HelicopterState"); @@ -70,8 +75,11 @@ void Helicopter::CreateState() } // FUNCTION: LEGO1 0x10003360 +// FUNCTION: BETA10 0x1002a29a void Helicopter::Exit() { + assert(UserActor() == this); + if (GameState()->GetCurrentAct() == LegoGameState::e_act1) { SpawnPlayer( LegoGameState::e_unk40, @@ -94,7 +102,7 @@ void Helicopter::Exit() } } - m_state->SetUnknown8(0); + m_state->m_unk0x08 = 0; RemoveFromCurrentWorld(m_script, IsleScript::c_HelicopterDashboard_Bitmap); RemoveFromCurrentWorld(m_script, IsleScript::c_HelicopterArms_Ctl); RemoveFromCurrentWorld(m_script, IsleScript::c_Helicopter_TakeOff_Ctl); @@ -110,6 +118,7 @@ void Helicopter::Exit() } // FUNCTION: LEGO1 0x10003480 +// FUNCTION: BETA10 0x1002a3db MxLong Helicopter::HandleClick() { if (!FUN_1003ef60()) { @@ -118,6 +127,7 @@ MxLong Helicopter::HandleClick() if (!m_world) { m_world = CurrentWorld(); + assert(m_world); } AnimationManager()->FUN_1005f6d0(FALSE); @@ -163,6 +173,8 @@ MxLong Helicopter::HandleClick() MxLong Helicopter::HandleControl(LegoControlManagerNotificationParam& p_param) { MxLong result = 0; + + assert(m_world); MxAtomId script; switch (GameState()->GetCurrentAct()) { @@ -199,9 +211,10 @@ MxLong Helicopter::HandleControl(LegoControlManagerNotificationParam& p_param) break; } - Act1State* state = (Act1State*) GameState()->GetState("Act1State"); + Act1State* act1State = (Act1State*) GameState()->GetState("Act1State"); + assert(act1State); if (m_state->m_unk0x08 == 0) { - state->m_unk0x018 = 4; + act1State->m_unk0x018 = 4; m_state->m_unk0x08 = 1; m_world->RemoveActor(this); InvokeAction(Extra::ActionType::e_start, script, IsleScript::c_HelicopterTakeOff_Anim, NULL); @@ -238,11 +251,11 @@ MxLong Helicopter::HandleControl(LegoControlManagerNotificationParam& p_param) assert(m_pathController); - if (m_world && m_world->GetCamera()) { + if (m_world && m_world->GetCameraController()) { Mx3DPointFloat location, direction, lookat; - location = m_world->GetCamera()->GetWorldLocation(); - direction = m_world->GetCamera()->GetWorldDirection(); + location = m_world->GetCameraController()->GetWorldLocation(); + direction = m_world->GetCameraController()->GetWorldDirection(); lookat = direction; lookat *= 3.0f; @@ -250,7 +263,7 @@ MxLong Helicopter::HandleControl(LegoControlManagerNotificationParam& p_param) Mx3DPointFloat v68, va4, up; Mx3DPointFloat v90(0, 1, 0); - v68 = m_world->GetCamera()->GetWorldUp(); + v68 = m_world->GetCameraController()->GetWorldUp(); va4.EqualsCross(v68, direction); up.EqualsCross(va4, v90); @@ -295,14 +308,17 @@ MxLong Helicopter::HandleControl(LegoControlManagerNotificationParam& p_param) } // FUNCTION: LEGO1 0x10003c20 +// FUNCTION: BETA10 0x1002ab4c MxLong Helicopter::HandleEndAnim(LegoEndAnimNotificationParam& p_param) { - MxU32 ret = 0; + MxLong result = 0; - switch (m_state->GetUnkown8()) { + switch (m_state->m_unk0x08) { case 1: { if (GameState()->GetCurrentAct() == LegoGameState::e_act1) { - ((Act1State*) GameState()->GetState("Act1State"))->SetUnknown18(4); + Act1State* act1State = (Act1State*) GameState()->GetState("Act1State"); + assert(act1State); + act1State->m_unk0x018 = 4; SpawnPlayer( LegoGameState::e_unk42, TRUE, @@ -317,25 +333,17 @@ MxLong Helicopter::HandleEndAnim(LegoEndAnimNotificationParam& p_param) ); } - m_state->SetUnknown8(2); + m_state->m_unk0x08 = 2; MxMatrix matrix; matrix.SetIdentity(); - - float s = sin(0.5235987901687622); // PI / 6, 30 deg - float c = cos(0.5235987901687622); // PI / 6, 30 deg - - float matrixCopy[4][4]; - memcpy(matrixCopy, matrix.GetData(), sizeof(matrixCopy)); - for (MxS32 i = 0; i < 4; i++) { - matrix.GetData()[i][1] = matrixCopy[i][1] * c - matrixCopy[i][2] * s; - matrix.GetData()[i][2] = matrixCopy[i][2] * c + matrixCopy[i][1] * s; - } - + matrix.RotateX(0.5235987901687622); // PI / 6, 30 deg Vector3 at(matrix[3]), dir(matrix[2]), up(matrix[1]); - m_world->GetCamera()->SetWorldTransform(at, dir, up); + + assert(m_world && m_world->GetCameraController()); + m_world->GetCameraController()->SetWorldTransform(at, dir, up); FUN_10010c30(); - ret = 1; + result = 1; break; } case 3: { @@ -344,10 +352,14 @@ MxLong Helicopter::HandleEndAnim(LegoEndAnimNotificationParam& p_param) Vector3 at(matrix[3]), dir(matrix[2]), up(matrix[1]); at[1] = 1.25; - m_world->GetCamera()->SetWorldTransform(at, dir, up); + + assert(m_world && m_world->GetCameraController()); + m_world->GetCameraController()->SetWorldTransform(at, dir, up); if (GameState()->GetCurrentAct() == LegoGameState::e_act1) { - ((Act1State*) GameState()->GetState("Act1State"))->SetUnknown18(0); + Act1State* act1State = (Act1State*) GameState()->GetState("Act1State"); + assert(act1State); + act1State->m_unk0x018 = 0; SpawnPlayer( LegoGameState::e_unk41, TRUE, @@ -362,13 +374,13 @@ MxLong Helicopter::HandleEndAnim(LegoEndAnimNotificationParam& p_param) ); } - m_state->SetUnknown8(0); - ret = 1; + m_state->m_unk0x08 = 0; + result = 1; break; } } - return ret; + return result; } // FUNCTION: LEGO1 0x10003e90 @@ -414,7 +426,7 @@ void Helicopter::Animate(float p_time) v2 *= f2; v2 += v1; - m_world->GetCamera()->FUN_100123e0(mat, 0); + m_world->GetCameraController()->FUN_100123e0(mat, 0); } else { if (m_state->m_unk0x08 == 4) { @@ -424,7 +436,7 @@ void Helicopter::Animate(float p_time) ((Act3*) m_world)->FUN_10073430(); } - LegoPathActor::m_actorState = c_disabled; + SetActorState(c_disabled); } } else { @@ -445,7 +457,7 @@ void Helicopter::FUN_100042a0(const Matrix4& p_matrix) Vector3 vec5(m_unk0x1a8[2]); // EDI Vector3 vec6(m_unk0x1a8[3]); // locala0 // esp+0x28 - m_world->GetCamera()->FUN_100123b0(local48); + m_world->GetCameraController()->FUN_100123b0(local48); m_unk0x1a8.SetIdentity(); local90 = p_matrix; diff --git a/LEGO1/lego/legoomni/src/common/legoactors.cpp b/LEGO1/lego/legoomni/src/common/legoactors.cpp index acab09e1..7bf10520 100644 --- a/LEGO1/lego/legoomni/src/common/legoactors.cpp +++ b/LEGO1/lego/legoomni/src/common/legoactors.cpp @@ -8,88 +8,88 @@ DECOMP_SIZE_ASSERT(LegoActorLOD, 0x58) // GLOBAL: LEGO1 0x100da3b0 LegoActorLOD g_actorLODs[] = { - {"top", "top", 0, 0.000267, 0.780808, -0.01906, 0.951612, -0.461166, -0.002794, -0.299442, 0.4617, - 1.56441, 0.261321, 0, 0, 0, 0, 0, 1, 0, 1, 0}, - {"body", "body", LegoActorLOD::c_flag1, - 0.00158332, 0.401828, -0.00048697, - 0.408071, -0.287507, 0.150419, - -0.147452, 0.289219, 0.649774, - 0.14258, -0.00089, 0.436353, - 0.007277, 0, 0, - 1, 0, 1, - 0}, - {"infohat", "infohat", LegoActorLOD::c_flag2, - 0, -0.00938, -0.01955, - 0.35, -0.231822, -0.140237, - -0.320954, 0.234149, 0.076968, - 0.249083, 0.000191, 1.519793, - 0.001767, 0, 0, - 1, 0, 1, - 0}, + {"top", "top", 0, 0.000267f, 0.780808f, -0.01906f, 0.951612f, -0.461166f, -0.002794f, -0.299442f, 0.4617f, + 1.56441f, 0.261321f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f}, + {"body", "body", LegoActorLOD::c_flag1, + 0.00158332f, 0.401828f, -0.00048697f, + 0.408071f, -0.287507f, 0.150419f, + -0.147452f, 0.289219f, 0.649774f, + 0.14258f, -0.00089f, 0.436353f, + 0.007277f, 0.0f, 0.0f, + 1.0f, 0.0f, 1.0f, + 0.0f}, + {"infohat", "infohat", LegoActorLOD::c_flag2, + 0.0f, -0.00938f, -0.01955f, + 0.35f, -0.231822f, -0.140237f, + -0.320954f, 0.234149f, 0.076968f, + 0.249083f, 0.000191f, 1.519793f, + 0.001767f, 0.0f, 0.0f, + 1.0f, 0.0f, 1.0f, + 0.0f}, {"infogron", "infogron", LegoActorLOD::c_flag2, - 0, 0.11477, 0.00042, - 0.26, -0.285558, -0.134391, - -0.142231, 0.285507, 0.152986, - 0.143071, -0.00089, 0.436353, - 0.007277, 0, 0, - 1, 0, 1, - 0}, - {"head", "head", LegoActorLOD::c_flag1, - 0, -0.03006, 0, - 0.3, -0.189506, -0.209665, - -0.189824, 0.189532, 0.228822, - 0.194945, -0.00105, 1.293115, - 0.001781, 0, 0, - 1, 0, 1, - 0}, - {"arm-lft", "arm-lft", LegoActorLOD::c_flag2, - -0.06815, -0.0973747, 0.0154655, - 0.237, -0.137931, -0.282775, - -0.105316, 0.000989, 0.100221, - 0.140759, -0.225678, 0.963312, - 0.023286, -0.003031, -0.017187, - 0.999848, 0.173622, 0.984658, - 0.017453}, - {"arm-rt", "arm-rt", LegoActorLOD::c_flag2, - 0.0680946, -0.097152, 0.0152722, - 0.237, 0.00141, -0.289604, - -0.100831, 0.138786, 0.09291, - 0.145437, 0.223494, 0.963583, - 0.018302, 0, 0, - 1, -0.173648, 0.984808, - 0}, - {"claw-lft", "claw-lft", LegoActorLOD::c_flag2, - 0.000773381, -0.101422, -0.0237761, - 0.15, -0.089838, -0.246208, - -0.117735, 0.091275, 0.000263, - 0.07215, -0.341869, 0.700355, - 0.092779, 0.000001, 0.000003, - 1, 0.190812, 0.981627, - -0.000003}, - {"claw-rt", "claw-lft", LegoActorLOD::c_flag2, - 0.000773381, -0.101422, -0.0237761, - 0.15, -0.095016, -0.245349, - -0.117979, 0.086528, 0.00067, - 0.069743, 0.343317, 0.69924, - 0.096123, 0.00606, -0.034369, - 0.999391, -0.190704, 0.981027, - 0.034894}, - {"leg-lft", "leg", LegoActorLOD::c_flag2, - 0.00433584, -0.177404, -0.0313928, - 0.33, -0.129782, -0.440428, - -0.184207, 0.13817, 0.118415, - 0.122607, -0.156339, 0.436087, - 0.006822, 0, 0, - 1, 0, 1, - 0}, - {"leg-rt", "leg", LegoActorLOD::c_flag2, - 0.00433584, -0.177404, -0.0313928, - 0.33, -0.132864, -0.437138, - -0.183944, 0.134614, 0.12043, - 0.121888, 0.151154, 0.436296, - 0.007373, 0, 0, - 1, 0, 1, - 0} + 0.0f, 0.11477f, 0.00042f, + 0.26f, -0.285558f, -0.134391f, + -0.142231f, 0.285507f, 0.152986f, + 0.143071f, -0.00089f, 0.436353f, + 0.007277f, 0.0f, 0.0f, + 1.0f, 0.0f, 1.0f, + 0.0f}, + {"head", "head", LegoActorLOD::c_flag1, + 0.0f, -0.03006f, 0.0f, + 0.3f, -0.189506f, -0.209665f, + -0.189824f, 0.189532f, 0.228822f, + 0.194945f, -0.00105f, 1.293115f, + 0.001781f, 0.0f, 0.0f, + 1.0f, 0.0f, 1.0f, + 0.0f}, + {"arm-lft", "arm-lft", LegoActorLOD::c_flag2, + -0.06815f, -0.0973747f, 0.0154655f, + 0.237f, -0.137931f, -0.282775f, + -0.105316f, 0.000989f, 0.100221f, + 0.140759f, -0.225678f, 0.963312f, + 0.023286f, -0.003031f, -0.017187f, + 0.999848f, 0.173622f, 0.984658f, + 0.017453f}, + {"arm-rt", "arm-rt", LegoActorLOD::c_flag2, + 0.0680946f, -0.097152f, 0.0152722f, + 0.237f, 0.00141f, -0.289604f, + -0.100831f, 0.138786f, 0.09291f, + 0.145437f, 0.223494f, 0.963583f, + 0.018302f, 0.0f, 0.0f, + 1.0f, -0.173648f, 0.984808f, + 0.0f}, + {"claw-lft", "claw-lft", LegoActorLOD::c_flag2, + 0.000773381f, -0.101422f, -0.0237761f, + 0.15f, -0.089838f, -0.246208f, + -0.117735f, 0.091275f, 0.000263f, + 0.07215f, -0.341869f, 0.700355f, + 0.092779f, 0.000001f, 0.000003f, + 1.0f, 0.190812f, 0.981627f, + -0.000003f}, + {"claw-rt", "claw-lft", LegoActorLOD::c_flag2, + 0.000773381f, -0.101422f, -0.0237761f, + 0.15f, -0.095016f, -0.245349f, + -0.117979f, 0.086528f, 0.00067f, + 0.069743f, 0.343317f, 0.69924f, + 0.096123f, 0.00606f, -0.034369f, + 0.999391f, -0.190704f, 0.981027f, + 0.034894f}, + {"leg-lft", "leg", LegoActorLOD::c_flag2, + 0.00433584f, -0.177404f, -0.0313928f, + 0.33f, -0.129782f, -0.440428f, + -0.184207f, 0.13817f, 0.118415f, + 0.122607f, -0.156339f, 0.436087f, + 0.006822f, 0.0f, 0.0f, + 1.0f, 0.0f, 1.0f, + 0.0f}, + {"leg-rt", "leg", LegoActorLOD::c_flag2, + 0.00433584f, -0.177404f, -0.0313928f, + 0.33f, -0.132864f, -0.437138f, + -0.183944f, 0.134614f, 0.12043f, + 0.121888f, 0.151154f, 0.436296f, + 0.007373f, 0.0f, 0.0f, + 1.0f, 0.0f, 1.0f, + 0.0f} }; // GLOBAL: LEGO1 0x100da778 diff --git a/LEGO1/lego/legoomni/src/common/legoplants.cpp b/LEGO1/lego/legoomni/src/common/legoplants.cpp index daa892ec..f58245f5 100644 --- a/LEGO1/lego/legoomni/src/common/legoplants.cpp +++ b/LEGO1/lego/legoomni/src/common/legoplants.cpp @@ -15,19 +15,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_20", 1, - -7e1, - 8, - -8.40763, + -70.0f, + 8.0f, + -8.40763f, NULL, - -73.75, - 8, - -8.4375, - 1, - 0, - 0, - 0, - 1, - 0}, + -73.75f, + 8.0f, + -8.4375f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -39,19 +39,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_20", 3, - -15.45, - 0, - -41.32, + -15.45f, + 0.0f, + -41.32f, NULL, - -16.8125, - 0, - -41.2, - 1, - 0, - 0, - 0, - 1, - 0}, + -16.8125f, + 0.0f, + -41.2f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -63,19 +63,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_24", 1, - -69.7176, - 7, - -25.25, + -69.7176f, + 7.0f, + -25.25f, NULL, - -71, - 7, - -25, - 1, - 0, - 0, - 0, - 1, - 0}, + -71.0f, + 7.0f, + -25.0f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -87,19 +87,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_27", 1, - 82.75, - 4, - 29.24163, + 82.75f, + 4.0f, + 29.24163f, NULL, - 82.6125, - 4, - 27.625, - 1, - 0, - 0, - 0, - 1, - 0}, + 82.6125f, + 4.0f, + 27.625f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -111,19 +111,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int18", 3, - 28.15, - 2, - 29.27804, + 28.15f, + 2.0f, + 29.27804f, NULL, - 29.8125, - 2, - 27.6875, - 1, - 0, - 0, - 0, - 1, - 0}, + 29.8125f, + 2.0f, + 27.6875f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -135,19 +135,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int48", 0, - 85.16238, - 9, - -0.83761, + 85.16238f, + 9.0f, + -0.83761f, NULL, - 86.125, - 8.80447, - 0.3125, - 1, - 0, - 0, - 0, - 1, - 0}, + 86.125f, + 8.80447f, + 0.3125f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -159,19 +159,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int18", 3, - 24.31819, - 2, - 29.04404, + 24.31819f, + 2.0f, + 29.04404f, NULL, - 22.8125, - 2, - 27.6875, - 1, - 0, - 0, - 0, - 1, - 0}, + 22.8125f, + 2.0f, + 27.6875f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -183,19 +183,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int56", 4, - -64.125, - 14, - 27.5, + -64.125f, + 14.0f, + 27.5f, NULL, - -61.6875, - 14, - 28, - 1, - 0, - 0, - 0, - 1, - 0}, + -61.6875f, + 14.0f, + 28.0f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -207,19 +207,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int67", 3, - -23.3197, - 1, - 29.00803, + -23.3197f, + 1.0f, + 29.00803f, NULL, - -21.9375, - 1, - 27.6875, - 1, - 0, - 0, - 0, - 1, - 0}, + -21.9375f, + 1.0f, + 27.6875f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -231,19 +231,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_79", 3, - 9.15, - 0, - -18.1854, + 9.15f, + 0.0f, + -18.1854f, NULL, - 9.15, - 0, - -19.9375, - 1, - 0, - 0, - 0, - 1, - 0}, + 9.15f, + 0.0f, + -19.9375f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -255,19 +255,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_79", 1, - 9.15, - 0, - -14.5695, + 9.15f, + 0.0f, + -14.5695f, NULL, - 9.15, - 0, - -12.9375, - 1, - 0, - 0, - 0, - 1, - 0}, + 9.15f, + 0.0f, + -12.9375f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -279,19 +279,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_151", 1, - -75.7186, - 4, - 44.60529, + -75.7186f, + 4.0f, + 44.60529f, NULL, - -74.9375, - 4, - 44.3875, - 1, - 0, - 0, - 0, - 1, - 0}, + -74.9375f, + 4.0f, + 44.3875f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -303,19 +303,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int53", 6, - -22.375, - 0, - -81.875, + -22.375f, + 0.0f, + -81.875f, NULL, - -21.625, - 0, - -83, - 1, - 0, - 0, - 0, - 1, - 0}, + -21.625f, + 0.0f, + -83.0f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -327,19 +327,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_47", 1, - 42.8125, - 0, - -48.125, + 42.8125f, + 0.0f, + -48.125f, NULL, - 47.75, - -0.299, - -58.125, - 0.6751, - -0.1071, - 0.7299, - 0, - 1, - 0}, + 47.75f, + -0.299f, + -58.125f, + 0.6751f, + -0.1071f, + 0.7299f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -351,19 +351,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_155", 1, - -39, - 0, - 40.8125, + -39.0f, + 0.0f, + 40.8125f, NULL, - -41, - 0, - 39.5, - 1, - 0, - 0, - 0, - 1, - 0}, + -41.0f, + 0.0f, + 39.5f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -375,19 +375,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg03_05", 3, - -35.125, - 0, - 3.875, + -35.125f, + 0.0f, + 3.875f, NULL, - -35, - 0, - 0, - 1, - 0, - 0, - 0, - 1, - 0}, + -35.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_bush, @@ -399,19 +399,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_128", 3, - -59.3624, - 14, - 22.86249, + -59.3624f, + 14.0f, + 22.86249f, NULL, - -58.375, - 14, - 21.98749, - 1, - 0, - 0, - 0, - 1, - 0}, + -58.375f, + 14.0f, + 21.98749f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_bush, @@ -423,19 +423,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int48", 4, - 87.9875, - 9, - -1.125, + 87.9875f, + 9.0f, + -1.125f, NULL, - 87.3, - 8.609336, - 1.125, - 1, - 0, - 0, - 0, - 1, - 0}, + 87.3f, + 8.609336f, + 1.125f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_bush, @@ -447,19 +447,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_18", 1, - -69.6875, - 8, - -3.5, + -69.6875f, + 8.0f, + -3.5f, NULL, - -73.8, - 8, - -5.3, - 1, - 0, - 0, - 0, - 1, - 0}, + -73.8f, + 8.0f, + -5.3f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_bush, @@ -471,19 +471,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_85", 1, - -26.45, - 0, - -48.5, + -26.45f, + 0.0f, + -48.5f, NULL, - -25.45, - 0, - -46.5, - 1, - 0, - 0, - 0, - 1, - 0}, + -25.45f, + 0.0f, + -46.5f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -495,19 +495,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_123", 3, - -60.625, - 14, - 22.9375, + -60.625f, + 14.0f, + 22.9375f, NULL, - -6e1, - 14, - 24, - 1, - 0, - 0, - 0, - 1, - 0}, + -60.0f, + 14.0f, + 24.0f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -519,19 +519,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_131", 1, - -63.7755, - 14, - 26.70394, + -63.7755f, + 14.0f, + 26.70394f, NULL, - -65, - 14, - 26, - 1, - 0, - 0, - 0, - 1, - 0}, + -65.0f, + 14.0f, + 26.0f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -543,19 +543,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_61", 3, - 70.1875, - 1, - -78.3125, + 70.1875f, + 1.0f, + -78.3125f, NULL, - 72.6875, - 1, - -80.3125, - 1, - 0, - 0, - 0, - 1, - 0}, + 72.6875f, + 1.0f, + -80.3125f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -567,19 +567,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_33", 1, - -64.1875, - 7, - -45.25, + -64.1875f, + 7.0f, + -45.25f, NULL, - -64.1875, - 7, - -43.4375, - 1, - 0, - 0, - 0, - 1, - 0}, + -64.1875f, + 7.0f, + -43.4375f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -591,19 +591,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_59", 1, - -47.8124, - 1.8634, - -58.2624, + -47.8124f, + 1.8634f, + -58.2624f, NULL, - -47.8124, - 1.875, - -60.2624, - 0.174, - 0, - 0.985, - 0, - 1, - 0}, + -47.8124f, + 1.875f, + -60.2624f, + 0.174f, + 0.0f, + 0.985f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -615,19 +615,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_32", 1, - 25.5, - 0, - 9, + 25.5f, + 0.0f, + 9.0f, NULL, - 22.8125, - 0, - 9, - 0, - 0, - 1, - 0, - 1, - 0}, + 22.8125f, + 0.0f, + 9.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -639,19 +639,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int25", 0, - 27.1875, - 0, - -16.3125, + 27.1875f, + 0.0f, + -16.3125f, NULL, - 29.8125, - 0, - -14.3125, - 1, - 0, - 0, - 0, - 1, - 0}, + 29.8125f, + 0.0f, + -14.3125f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -663,19 +663,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_01", 1, - -19.625, - 0, - -17.9375, + -19.625f, + 0.0f, + -17.9375f, NULL, - -19.625, - 0, - -2e1, - 0, - 0, - 1, - 0, - 1, - 0}, + -19.625f, + 0.0f, + -20.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -687,19 +687,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_95", 3, - 34.125, - 0, - 3.5125, + 34.125f, + 0.0f, + 3.5125f, NULL, - 32.9375, - 0, - 2.95, - -1, - 0, - 0, - 0, - 1, - 0}, + 32.9375f, + 0.0f, + 2.95f, + -1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -711,19 +711,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int25", 1, - 25.6875, - 0, - -16.4375, + 25.6875f, + 0.0f, + -16.4375f, NULL, - 22.8125, - 0, - -12.9375, - 0, - 0, - 1, - 0, - 1, - 0}, + 22.8125f, + 0.0f, + -12.9375f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -735,19 +735,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int26", 1, - 24.25, - 0, - -44.5, + 24.25f, + 0.0f, + -44.5f, NULL, - 22.8125, - 0, - -43.0625, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + 22.8125f, + 0.0f, + -43.0625f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -759,19 +759,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int26", 6, - 28.25, - 0, - -47.3125, + 28.25f, + 0.0f, + -47.3125f, NULL, - 29.8125, - 0, - -45.875, - 0, - 0, - 1, - 0, - 1, - 0}, + 29.8125f, + 0.0f, + -45.875f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -783,19 +783,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int10", 1, - -69.125, - 7, - -29.125, + -69.125f, + 7.0f, + -29.125f, NULL, - -70.5625, - 7, - -29.875, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + -70.5625f, + 7.0f, + -29.875f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -807,19 +807,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_61", 3, - 70.75, - 1, - -76.5625, + 70.75f, + 1.0f, + -76.5625f, NULL, - 73.5, - 1, - -78.25, - 0, - 0, - 1, - 0, - 1, - 0}, + 73.5f, + 1.0f, + -78.25f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -831,19 +831,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int04", 5, - -94.4, - 4, - -15.3125, + -94.4f, + 4.0f, + -15.3125f, NULL, - -94.875, - 4, - -13.3125, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + -94.875f, + 4.0f, + -13.3125f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -855,19 +855,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_79", 1, - 9.15, - 0, - -14.5695, + 9.15f, + 0.0f, + -14.5695f, NULL, - 9.15, - 0, - -11.5625, - 0, - 0, - 1, - 0, - 1, - 0}, + 9.15f, + 0.0f, + -11.5625f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -879,19 +879,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_58", 3, - 66.2125, - 0, - -17.5625, + 66.2125f, + 0.0f, + -17.5625f, NULL, - 65.33261, - 0.11868, - -19.8125, - 0, - 0, - 1, - 0, - 1, - 0}, + 65.33261f, + 0.11868f, + -19.8125f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -903,19 +903,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int34", 4, - 0.375, - 0, - -44.8875, + 0.375f, + 0.0f, + -44.8875f, NULL, - -1.3125, - 0, - -43.075, - 0, - 0, - 1, - 0, - 1, - 0}, + -1.3125f, + 0.0f, + -43.075f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -927,19 +927,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_32", 1, - 25.5, - 0, - 9.8, + 25.5f, + 0.0f, + 9.8f, NULL, - 22.8125, - 0, - 10.4875, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + 22.8125f, + 0.0f, + 10.4875f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -951,19 +951,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int22", 6, - 28.92499, - 0, - 6.45, + 28.92499f, + 0.0f, + 6.45f, NULL, - 29.8, - 0, - 8.0125, - 0, - 0, - 1, - 0, - 1, - 0}, + 29.8f, + 0.0f, + 8.0125f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -975,19 +975,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_28", 1, - 85.5, - 4, - 22.25, + 85.5f, + 4.0f, + 22.25f, NULL, - 82.5625, - 4, - 26.25, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + 82.5625f, + 4.0f, + 26.25f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -999,19 +999,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_176", 0, - 73.875, - 1, - -82.9375, + 73.875f, + 1.0f, + -82.9375f, NULL, - 74.75, - 1, - -81.25, - 1, - 0, - 0, - 0, - 1, - 0}, + 74.75f, + 1.0f, + -81.25f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1023,19 +1023,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_35", 3, - 26.25, - 0, - -12.45, + 26.25f, + 0.0f, + -12.45f, NULL, - 22.8125, - 0, - -11.575, - 1, - 0, - 0, - 0, - 1, - 0}, + 22.8125f, + 0.0f, + -11.575f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1047,19 +1047,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_79", 3, - 9.15, - 0, - -18.1854, + 9.15f, + 0.0f, + -18.1854f, NULL, - 9.0875, - 0, - -21.3125, - 0, - 0, - 1, - 0, - 1, - 0}, + 9.0875f, + 0.0f, + -21.3125f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1071,19 +1071,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_01", 3, - -19.75, - 0, - -15.3125, + -19.75f, + 0.0f, + -15.3125f, NULL, - -19.75, - 0, - -12.875, - 0, - 0, - 1, - 0, - 1, - 0}, + -19.75f, + 0.0f, + -12.875f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1095,19 +1095,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_56", 3, - 72.8125, - 0, - -25.9375, + 72.8125f, + 0.0f, + -25.9375f, NULL, - 70.6875, - 0, - -26.5625, - -0.9848, - 0, - 1.1736, - 0, - 1, - 0}, + 70.6875f, + 0.0f, + -26.5625f, + -0.9848f, + 0.0f, + 1.1736f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1119,19 +1119,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int67", 0, - -26.9375, - 1, - 29.075, + -26.9375f, + 1.0f, + 29.075f, NULL, - -28.9375, - 1, - 27.7, - 1, - 0, - 0, - 0, - 1, - 0}, + -28.9375f, + 1.0f, + 27.7f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1143,19 +1143,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int51", 3, - -2.125, - 0, - -17.6875, + -2.125f, + 0.0f, + -17.6875f, NULL, - -3.25, - 0, - -19.75, - 0, - 0, - 1, - 0, - 1, - 0}, + -3.25f, + 0.0f, + -19.75f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1167,19 +1167,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_57", 1, - -23.875, - 0, - -54.9375, + -23.875f, + 0.0f, + -54.9375f, NULL, - -25.1875, - 0, - -52.625, - 0, - 0, - 1, - 0, - 1, - 0}, + -25.1875f, + 0.0f, + -52.625f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_flower, @@ -1191,19 +1191,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int04", 5, - -94, - 4, - -15.3125, + -94.0f, + 4.0f, + -15.3125f, NULL, - -95.9375, - 4, - -14.25, - 0, - 0, - 1, - 0, - 1, - 0}, + -95.9375f, + 4.0f, + -14.25f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1215,19 +1215,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_36", 3, - 18.6875, - 0, - -14.6375, + 18.6875f, + 0.0f, + -14.6375f, NULL, - 18.75, - 0, - -10.95, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + 18.75f, + 0.0f, + -10.95f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1239,19 +1239,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_30", 1, - 25.1375, - 2, - 25.5, + 25.1375f, + 2.0f, + 25.5f, NULL, - 21.8875, - 1.84509, - 25.5, - 0, - 0, - 1, - 0, - 1, - 0}, + 21.8875f, + 1.84509f, + 25.5f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1263,19 +1263,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_30", 3, - 27.45, - 2, - 25.5, + 27.45f, + 2.0f, + 25.5f, NULL, - 30.95, - 2, - 25.5, - 0, - 0, - 1, - 0, - 1, - 0}, + 30.95f, + 2.0f, + 25.5f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1287,19 +1287,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_78", 1, - 64.35749, - 0, - 10.95579, + 64.35749f, + 0.0f, + 10.95579f, NULL, - 66.67, - 0.256506, - 10.95579, - 0, - 0, - -1, - 0, - 1, - 0}, + 66.67f, + 0.256506f, + 10.95579f, + 0.0f, + 0.0f, + -1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1311,19 +1311,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_38", 1, - 9.625, - 0, - -45.375, + 9.625f, + 0.0f, + -45.375f, NULL, - 9.625, - 0, - -4e1, - 0.5, - 0, - 0.866, - 0, - 1, - 0}, + 9.625f, + 0.0f, + -40.0f, + 0.5f, + 0.0f, + 0.866f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1335,19 +1335,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_76", 3, - 65, - 0, - 7.0125, + 65.0f, + 0.0f, + 7.0125f, NULL, - 62, - 0, - 2.825, - 0, - 0, - 1, - 0, - 1, - 0}, + 62.0f, + 0.0f, + 2.825f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1359,19 +1359,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_35", 1, - 27.4375, - 0, - -8.125, + 27.4375f, + 0.0f, + -8.125f, NULL, - 33.375, - 0, - -8.125, - 0.342, - 0, - 0.94, - 0, - 1, - 0}, + 33.375f, + 0.0f, + -8.125f, + 0.342f, + 0.0f, + 0.94f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1383,19 +1383,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_23", 3, - 18.825, - 1.7575, - 30.125, + 18.825f, + 1.7575f, + 30.125f, NULL, - 18.825, - 1, - 25.5, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + 18.825f, + 1.0f, + 25.5f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1407,19 +1407,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_130", 1, - -67.5, - 14, - 23.25, + -67.5f, + 14.0f, + 23.25f, NULL, - -63.6875, - 14, - 21.4375, - 0, - 0, - 1, - 0, - 1, - 0}, + -63.6875f, + 14.0f, + 21.4375f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1431,19 +1431,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_13", 3, - -92.75, - 4, - 2.5, + -92.75f, + 4.0f, + 2.5f, NULL, - -95.625, - 4, - 2.5, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + -95.625f, + 4.0f, + 2.5f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1455,19 +1455,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_09", 1, - -8e1, - 4, - -52.6875, + -80.0f, + 4.0f, + -52.6875f, NULL, - -8e1, - 4, - -55.875, - 0, - 0, - 1, - 0, - 1, - 0}, + -80.0f, + 4.0f, + -55.875f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1479,19 +1479,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_53", 1, - -8.75, - 0, - -45.5, + -8.75f, + 0.0f, + -45.5f, NULL, - -8.75, - 0, - -40.75, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + -8.75f, + 0.0f, + -40.75f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1503,19 +1503,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_37", 3, - 27.5, - 0, - -32, + 27.5f, + 0.0f, + -32.0f, NULL, - 35.625, - 0, - -32, - 0, - 0, - 1, - 0, - 1, - 0}, + 35.625f, + 0.0f, + -32.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1527,19 +1527,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_127", 1, - -62.25, - 14, - 26.6875, + -62.25f, + 14.0f, + 26.6875f, NULL, - -61, - 14, - 26.8125, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + -61.0f, + 14.0f, + 26.8125f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1551,19 +1551,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_01", 1, - -16, - 0, - -18.575, + -16.0f, + 0.0f, + -18.575f, NULL, - -16, - 0, - -22.45, - 0, - 0, - 1, - 0, - 1, - 0}, + -16.0f, + 0.0f, + -22.45f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1575,19 +1575,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_17", 1, - -76.4325, - 8, - 5.875, + -76.4325f, + 8.0f, + 5.875f, NULL, - -78, - 8, - 2.375, - 0, - 0, - 1, - 0, - 1, - 0}, + -78.0f, + 8.0f, + 2.375f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1599,19 +1599,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_38", 1, - -77.1875, - 7, - -36.9375, + -77.1875f, + 7.0f, + -36.9375f, NULL, - -72, - 7, - -36.5, - 0, - 0, - 1, - 0, - 1, - 0}, + -72.0f, + 7.0f, + -36.5f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1623,19 +1623,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg02_82", 1, - 97, - 0, - -42.125, + 97.0f, + 0.0f, + -42.125f, NULL, - 98.1875, - 0, - -41.3125, - 0.707, - 0, - 0.707, - 0, - 1, - 0}, + 98.1875f, + 0.0f, + -41.3125f, + 0.707f, + 0.0f, + 0.707f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_palm, @@ -1647,19 +1647,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_15", 3, - 96.5, - 4, - 18.75, + 96.5f, + 4.0f, + 18.75f, NULL, - 97.5, - 4, - 18.25, - 0, - 0, - 1, - 0, - 1, - 0}, + 97.5f, + 4.0f, + 18.25f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -1671,19 +1671,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "", 1, - 0, - 0, - 0, + 0.0f, + 0.0f, + 0.0f, NULL, - -67.5, - 14, - 23.25, - 0, - 0, - 1, - 0, - 1, - 0}, + -67.5f, + 14.0f, + 23.25f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -1695,19 +1695,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "int48", 4, - 87.9875, - 9, - -1.125, + 87.9875f, + 9.0f, + -1.125f, NULL, - 88.75, - 8.75, - 0.875, - 0.259, - 0, - 0.966, - 0, - 1, - 0}, + 88.75f, + 8.75f, + 0.875f, + 0.259f, + 0.0f, + 0.966f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -1719,19 +1719,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_01", 3, - -48.625, - 7, - -23.1875, + -48.625f, + 7.0f, + -23.1875f, NULL, - -50.4375, - 7, - -25, - 0, - 0, - 1, - 0, - 1, - 0}, + -50.4375f, + 7.0f, + -25.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -1743,19 +1743,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_01", 0, - -48.625, - 7, - -23.1875, + -48.625f, + 7.0f, + -23.1875f, NULL, - -49.125, - 7, - -25.8, - 0, - 0, - 1, - 0, - 1, - 0}, + -49.125f, + 7.0f, + -25.8f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -1767,19 +1767,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg01_01", 3, - -48.625, - 7, - -23.1875, + -48.625f, + 7.0f, + -23.1875f, NULL, - -51.25, - 7, - -23.75, - 0, - 0, - 1, - 0, - 1, - 0}, + -51.25f, + 7.0f, + -23.75f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_act1 | LegoPlantInfo::c_act2 | LegoPlantInfo::c_act3, LegoPlantInfo::e_tree, @@ -1791,19 +1791,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "edg00_129", 1, - -56.75, - 14, - 26.625, + -56.75f, + 14.0f, + 26.625f, NULL, - -58, - 14, - 26.75, - 0, - 0, - 1, - 0, - 1, - 0}, + -58.0f, + 14.0f, + 26.75f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_imain, LegoPlantInfo::e_flower, @@ -1815,19 +1815,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "", 1, - 0, - 0, - 0, + 0.0f, + 0.0f, + 0.0f, NULL, - -4.33403, - -2.18029, - -1.53595, - 0, - 0, - 1, - 0, - 1, - 0}, + -4.33403f, + -2.18029f, + -1.53595f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_imain, LegoPlantInfo::e_flower, @@ -1839,19 +1839,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "", 1, - 0, - 0, - 0, + 0.0f, + 0.0f, + 0.0f, NULL, - 1.280536, - -2.18024, - -1.57823, - 0, - 0, - -1, - 0, - 1, - 0}, + 1.280536f, + -2.18024f, + -1.57823f, + 0.0f, + 0.0f, + -1.0f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_ielev, LegoPlantInfo::e_flower, @@ -1863,19 +1863,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "", 1, - 0, - 0, - 0, + 0.0f, + 0.0f, + 0.0f, NULL, - -1.52465, - -0.52473, - -11.1617, - -0.0175, - 0, - -0.9998, - 0, - 1, - 0}, + -1.52465f, + -0.52473f, + -11.1617f, + -0.0175f, + 0.0f, + -0.9998f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_ielev, LegoPlantInfo::e_flower, @@ -1887,19 +1887,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "", 1, - 0, - 0, - 0, + 0.0f, + 0.0f, + 0.0f, NULL, - 1.439563, - -0.52554, - -11.1846, - 0.866, - 0, - -0.5, - 0, - 1, - 0}, + 1.439563f, + -0.52554f, + -11.1846f, + 0.866f, + 0.0f, + -0.5f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_iisle, LegoPlantInfo::e_flower, @@ -1911,19 +1911,19 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "", 1, - 0, - 0, - 0, + 0.0f, + 0.0f, + 0.0f, NULL, - -1.82829, - -0.52554, - -11.7741, - 0.866, - 0, - -0.5, - 0, - 1, - 0}, + -1.82829f, + -0.52554f, + -11.7741f, + 0.866f, + 0.0f, + -0.5f, + 0.0f, + 1.0f, + 0.0f}, {NULL, LegoPlantInfo::c_iisle, LegoPlantInfo::e_flower, @@ -1935,17 +1935,17 @@ LegoPlantInfo g_plantInfoInit[81] = { -1, "", 1, - 0, - 0, - 0, - NULL, - 1.801479, - -0.52473, - -11.75, - -0.0175, - 0, - -0.9998, - 0, - 1, - 0} + 0.0f, + 0.0f, + 0.0f, + NULL, + 1.801479f, + -0.52473f, + -11.75f, + -0.0175f, + 0.0f, + -0.9998f, + 0.0f, + 1.0f, + 0.0f} }; diff --git a/LEGO1/lego/legoomni/src/common/legoutils.cpp b/LEGO1/lego/legoomni/src/common/legoutils.cpp index b8f76c6f..8c8b2cae 100644 --- a/LEGO1/lego/legoomni/src/common/legoutils.cpp +++ b/LEGO1/lego/legoomni/src/common/legoutils.cpp @@ -386,7 +386,7 @@ void NotifyEntity(const char* p_filename, MxS32 p_entityId, LegoEntity* p_sender // FUNCTION: LEGO1 0x1003eab0 void SetCameraControllerFromIsle() { - InputManager()->SetCamera(FindWorld(*g_isleScript, IsleScript::c__Isle)->GetCamera()); + InputManager()->SetCamera(FindWorld(*g_isleScript, IsleScript::c__Isle)->GetCameraController()); } // FUNCTION: LEGO1 0x1003eae0 diff --git a/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp b/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp index 1a8dada3..1d2f9459 100644 --- a/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp @@ -56,7 +56,8 @@ MxResult MxTransitionManager::GetDDrawSurfaceFromVideoManager() // vtable+0x14 // FUNCTION: LEGO1 0x1004bac0 MxResult MxTransitionManager::Tickle() { - if (m_animationSpeed + m_systemTime > SDL_GetTicks()) { + Uint64 time = m_animationSpeed + m_systemTime; + if (time > SDL_GetTicks()) { return SUCCESS; } diff --git a/LEGO1/lego/legoomni/src/entity/legoentity.cpp b/LEGO1/lego/legoomni/src/entity/legoentity.cpp index f6c4a200..ea569ad7 100644 --- a/LEGO1/lego/legoomni/src/entity/legoentity.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoentity.cpp @@ -44,21 +44,21 @@ void LegoEntity::ResetWorldTransform(MxBool p_cameraFlag) { LegoWorld* world = CurrentWorld(); - if (world != NULL && world->GetCamera() != NULL) { + if (world != NULL && world->GetCameraController() != NULL) { m_cameraFlag = p_cameraFlag; if (m_cameraFlag) { - world->GetCamera()->SetEntity(this); - world->GetCamera()->SetWorldTransform( + world->GetCameraController()->SetEntity(this); + world->GetCameraController()->SetWorldTransform( Mx3DPointFloat(0.0F, 1.25F, 0.0F), Mx3DPointFloat(0.0F, 0.0F, 1.0F), Mx3DPointFloat(0.0F, 1.0F, 0.0F) ); } else { - if (world->GetCamera()->GetEntity() == this) { - world->GetCamera()->SetEntity(NULL); - world->GetCamera()->SetWorldTransform( + if (world->GetCameraController()->GetEntity() == this) { + world->GetCameraController()->SetEntity(NULL); + world->GetCameraController()->SetWorldTransform( Mx3DPointFloat(0.0F, 0.0F, 0.0F), Mx3DPointFloat(0.0F, 0.0F, 1.0F), Mx3DPointFloat(0.0F, 1.0F, 0.0F) @@ -74,10 +74,10 @@ void LegoEntity::SetWorldTransform(const Vector3& p_location, const Vector3& p_d { LegoWorld* world = CurrentWorld(); - if (world != NULL && world->GetCamera() != NULL) { + if (world != NULL && world->GetCameraController() != NULL) { m_cameraFlag = TRUE; - world->GetCamera()->SetEntity(this); - world->GetCamera()->SetWorldTransform(p_location, p_direction, p_up); + world->GetCameraController()->SetEntity(this); + world->GetCameraController()->SetWorldTransform(p_location, p_direction, p_up); } } @@ -195,8 +195,8 @@ void LegoEntity::FUN_10010c30() { LegoWorld* world = CurrentWorld(); - if (m_cameraFlag && world && world->GetCamera() && m_roi) { - world->GetCamera()->FUN_100123e0(m_roi->GetLocal2World(), 1); + if (m_cameraFlag && world && world->GetCameraController() && m_roi) { + world->GetCameraController()->FUN_100123e0(m_roi->GetLocal2World(), 1); } } diff --git a/LEGO1/lego/legoomni/src/entity/legolocations.cpp b/LEGO1/lego/legoomni/src/entity/legolocations.cpp index 393f4b68..5926704f 100644 --- a/LEGO1/lego/legoomni/src/entity/legolocations.cpp +++ b/LEGO1/lego/legoomni/src/entity/legolocations.cpp @@ -7,1038 +7,1052 @@ DECOMP_SIZE_ASSERT(LegoLocation::Boundary, 0x18) LegoLocation g_locations[] = { {0, "look at origin from z=-8", - 0, - 1.25, - -8, - 0, - 0, - 1, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 0.0f, + 1.25f, + -8.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {1, "LCAMBA1", - 0.852546, - 1.25, - -17.078703, - 0.990515, - 0, - -0.137405, - 0, - 1, - 0, - {"EDG02_13", 2, 0.75, 0, 0.25, 1}, - {NULL, 0, 0, 0, 0, 0}, + 0.852546f, + 1.25f, + -17.078703f, + 0.990515f, + 0.0f, + -0.137405f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_13", 2, 0.75f, 0, 0.25f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 40}, {2, "LCAMBA2", - 3.505301, - 1.25, - -27.955006, - -0.002102, - 0, - 0.999998, - 0, - 1, - 0, - {"EDG02_37", 2, 0.75, 0, 0.25, 1}, - {NULL, 0, 0, 0, 0, 0}, + 3.505301f, + 1.25f, + -27.955006f, + -0.002102f, + 0.0f, + 0.999998f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_37", 2, 0.75f, 0, 0.25f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 20}, {3, "LCAMBA3", - -7.472569, - 1.25, - -16.129034, - 1, - 0, - 0.000926, - 0, - 1, - 0, - {"EDG02_26", 0, 0.75, 2, 0.25, 1}, - {NULL, 0, 0, 0, 0, 0}, + -7.472569f, + 1.25f, + -16.129034f, + 1.0f, + 0.0f, + 0.000926f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_26", 0, 0.75f, 2, 0.25f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 20}, {4, "LCAMBA4", - 38.55205, - 1.25, - -16.129, - -0.999997, - 0, - 0.002449, - 0, - 1, - 0, - {"EDG00_146", 0, 0.5, 2, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + 38.55205f, + 1.25f, + -16.129f, + -0.999997f, + 0.0f, + 0.002449f, + 0.0f, + 1.0f, + 0.0f, + {"EDG00_146", 0, 0.5f, 2, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 30}, {5, "LCAMCA1", - -36.778473, - -1.996432, - 30.392212, - 0.001013, - 0, - -0.999999, - 0, - 1, - 0, - {"INT01", 2, 0.5, 6, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + -36.778473f, + -1.996432f, + 30.392212f, + 0.001013f, + 0.0f, + -0.999999f, + 0.0f, + 1.0f, + 0.0f, + {"INT01", 2, 0.5f, 6, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {6, "LCAMCA2", - -36.774277, - -1.996432, - 24.695135, - -0.305789, - 0.001457, - 0.952098, - 0.000446, - 0.999999, - -0.001387, - {"EDG00_104", 0, 0.5, 2, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + -36.774277f, + -1.996432f, + 24.695135f, + -0.305789f, + 0.001457f, + 0.952098f, + 0.000446f, + 0.999999f, + -0.001387f, + {"EDG00_104", 0, 0.5f, 2, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {7, "LCAMCA3", - -36.888363, - 0.5625, - 33.169434, - -0.091475, - -0.001896, - 0.995806, - -0.000173, - 0.999998, - 0.001888, - {"EDG02_58", 2, 0.25, 0, 0.75, 1}, - {NULL, 0, 0, 0, 0, 0}, + -36.888363f, + 0.5625f, + 33.169434f, + -0.091475f, + -0.001896f, + 0.995806f, + -0.000173f, + 0.999998f, + 0.001888f, + {"EDG02_58", 2, 0.25f, 0, 0.75f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {8, "LCAMGS1", - 27.647768, - 1.25, - -4.07201, - 0, - 0, - 1, - 0, - 1, - 0, - {"EDG02_40", 2, 0.25, 0, 0.25, 1}, - {NULL, 0, 0, 0, 0, 0}, + 27.647768f, + 1.25f, + -4.07201f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_40", 2, 0.25f, 0, 0.25f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 70}, {9, "LCAMGS2", - 25.153421, - 1.25, - 6.101026, - 0, - 0, - -1, - 0, - 1, - 0, - {"INT19", 1, 0.75, 0, 0.75, 1}, - {NULL, 0, 0, 0, 0, 0}, + 25.153421f, + 1.25f, + 6.101026f, + 0.0f, + 0.0f, + -1.0f, + 0.0f, + 1.0f, + 0.0f, + {"INT19", 1, 0.75f, 0, 0.75f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {10, "LCAMGS3", - 29.506308, - 1.25, - -1.23529, - -1, - 0, - 0, - 0, - 1, - 0, - {"EDG00_74", 0, 0.5, 2, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + 29.506308f, + 1.25f, + -1.23529f, + -1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + {"EDG00_74", 0, 0.5f, 2, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {11, "LCAMHO1", - 84.22306, - 4.78298, - 29.150623, - 0.779248, - 0, - -0.626715, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 84.22306f, + 4.78298f, + 29.150623f, + 0.779248f, + 0.0f, + -0.626715f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 50}, {12, "LCAMHO2", - 90.92687, - 4.78298, - 23.340658, - -0.983254, - 0, - 0.182241, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 90.92687f, + 4.78298f, + 23.340658f, + -0.983254f, + 0.0f, + 0.182241f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {13, "LCAMHO3", - 87.66666, - 4.829471, - 20.905437, - 0.841755, - -0.006868, - 0.539817, - 0.005781, - 0.999976, - 0.003708, - {"EDG02_27", 1, 0.89, 2, 0.89, 0}, - {NULL, 0, 0, 0, 0, 0}, + 87.66666f, + 4.829471f, + 20.905437f, + 0.841755f, + -0.006868f, + 0.539817f, + 0.005781f, + 0.999976f, + 0.003708f, + {"EDG02_27", 1, 0.89f, 2, 0.89f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {14, "LCAMHO4", - 86.33506, - 4.814447, - 20.489912, - 0.948965, - 0.035898, - 0.313331, - -0.034088, - 0.999355, - -0.011255, - {"EDG02_27", 1, 0.89, 2, 0.89, 0}, - {NULL, 0, 0, 0, 0, 0}, + 86.33506f, + 4.814447f, + 20.489912f, + 0.948965f, + 0.035898f, + 0.313331f, + -0.034088f, + 0.999355f, + -0.011255f, + {"EDG02_27", 1, 0.89f, 2, 0.89f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {15, "LCAMIC1", - 80.11602, - 10.193289, - -17.946644, - 0.664706, - 0, - 0.747105, - 0, - 1, - 0, - {"EDG00_69", 2, 0.5, 0, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + 80.11602f, + 10.193289f, + -17.946644f, + 0.664706f, + 0.0f, + 0.747105f, + 0.0f, + 1.0f, + 0.0f, + {"EDG00_69", 2, 0.5f, 0, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {16, "LCAMIC2", - 86.31804, - 10.193289, - -11.24872, - -0.936663, - 0, - -0.350231, - 0, - 1, - 0, - {"EDG02_66", 2, 0.5, 0, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + 86.31804f, + 10.193289f, + -11.24872f, + -0.936663f, + 0.0f, + -0.350231f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_66", 2, 0.5f, 0, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {17, "LCAMIC3", - 86.82608, - 10.193289, - -4.398705, - 0.466761, - 0, - -0.884383, - 0, - 1, - 0, - {"EDG02_68", 0, 0.5, 2, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + 86.82608f, + 10.193289f, + -4.398705f, + 0.466761f, + 0.0f, + -0.884383f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_68", 0, 0.5f, 2, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 20}, {18, "LCAMJA1", - 95.05279, - 1.318484, - -46.451622, - 0.93196, - 0.006837, - 0.362497, - -0.006372, - 0.999977, - -0.002478, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 95.05279f, + 1.318484f, + -46.451622f, + 0.93196f, + 0.006837f, + 0.362497f, + -0.006372f, + 0.999977f, + -0.002478f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {19, "LCAMJA2", - 97.214066, - 1.318484, - -49.035267, - -0.892783, - -0.012109, - 0.450324, - -0.010811, - 0.999927, - 0.005453, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 97.214066f, + 1.318484f, + -49.035267f, + -0.892783f, + -0.012109f, + 0.450324f, + -0.010811f, + 0.999927f, + 0.005453f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {20, "LCAMJA3", - 94.12146, - 1.25, - -48.242523, - -1, - 0, - -0.000415, - 0, - 1, - 0, - {"INT33", 1, 0.9, 3, 0.9, 0}, - {NULL, 0, 0, 0, 0, 0}, + 94.12146f, + 1.25f, + -48.242523f, + -1.0f, + 0.0f, + -0.000415f, + 0.0f, + 1.0f, + 0.0f, + {"INT33", 1, 0.9f, 3, 0.9f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {21, "LCAMJA4", - 95.58649, - 1.17483, - -43.42485, - 0.137268, - 0.010506, - -0.990478, - -0.001442, - 0.999945, - 0.010407, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 95.58649f, + 1.17483f, + -43.42485f, + 0.137268f, + 0.010506f, + -0.990478f, + -0.001442f, + 0.999945f, + 0.010407f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {22, "LCAMJA5", - 91.586105, - 1.17483, - -48.882996, - 0.702508, - 0.010117, - 0.711604, - -0.007107, - 0.999949, - -0.007199, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 91.586105f, + 1.17483f, + -48.882996f, + 0.702508f, + 0.010117f, + 0.711604f, + -0.007107f, + 0.999949f, + -0.007199f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {23, "LCAMJS1", - 9.885858, - 0.154871, - -54.080086, - 0.573803, - -0.001138, - -0.818993, - 0.000653, - 0.999999, - -0.000932, - {"INT26", 0, 0.5, 3, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + 9.885858f, + 0.154871f, + -54.080086f, + 0.573803f, + -0.001138f, + -0.818993f, + 0.000653f, + 0.999999f, + -0.000932f, + {"INT26", 0, 0.5f, 3, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {24, "LCAMJS2", - 14.753909, - 0.125, - -55.5238, - -0.789437, - 0, - -0.613832, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 14.753909f, + 0.125f, + -55.5238f, + -0.789437f, + 0.0f, + -0.613832f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {25, "LCAMJS3", - 12.373611, - 0.925977, - -64.69941, - 0.114162, - 0, - 0.993462, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 12.373611f, + 0.925977f, + -64.69941f, + 0.114162f, + 0.0f, + 0.993462f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {26, "LCAMJS4", - 27.136557, - 1.125, - -41.8613, - -0.187784, - -0.001389, - -0.982209, - -0.000261, - 0.999999, - -0.001364, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 27.136557f, + 1.125f, + -41.8613f, + -0.187784f, + -0.001389f, + -0.982209f, + -0.000261f, + 0.999999f, + -0.001364f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {27, "LCAMMT1", - -63.277508, - 15.25, - 23.717245, - -0.985194, - 0, - 0.171445, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -63.277508f, + 15.25f, + 23.717245f, + -0.985194f, + 0.0f, + 0.171445f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 50}, {28, "LCAMMT2", - -58.28056, - 15.25, - 22.75, - 0.829409, - 0, - -0.558642, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -58.28056f, + 15.25f, + 22.75f, + 0.829409f, + 0.0f, + -0.558642f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {29, "LCAMPK1", - 39.875, - 1.25, - -1, - 0.587492, - 0, - -0.80923, - 0, - 1, - 0, - {"EDG00_83", 0, 0.9, 2, 0.9, 0}, - {NULL, 0, 0, 0, 0, 0}, + 39.875f, + 1.25f, + -1.0f, + 0.587492f, + 0.0f, + -0.80923f, + 0.0f, + 1.0f, + 0.0f, + {"EDG00_83", 0, 0.9f, 2, 0.9f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 50}, {30, "LCAMPK2", - 63.75, - 1.25, - 15.5625, - -0.968277, - 0, - -0.249878, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 63.75f, + 1.25f, + 15.5625f, + -0.968277f, + 0.0f, + -0.249878f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {31, "LCAMPK4", - 49.5625, - 1.25, - 0, - -0.480011, - 0, - -0.877262, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 49.5625f, + 1.25f, + 0.0f, + -0.480011f, + 0.0f, + -0.877262f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 25}, {32, "LCAMPO1", - -24.38507, - 1.25, - -55.71749, - -1, - 0, - 0.000066, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -24.38507f, + 1.25f, + -55.71749f, + -1.0f, + 0.0f, + 0.000066f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 20}, {33, "LCAMPO2", - -41.35899, - 1.790912, - -56.728477, - 0.967347, - 0, - 0.253455, - 0, - 1, - 0, - {"EDG00_191", 0, 0.5, 2, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + -41.35899f, + 1.790912f, + -56.728477f, + 0.967347f, + 0.0f, + 0.253455f, + 0.0f, + 1.0f, + 0.0f, + {"EDG00_191", 0, 0.5f, 2, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {34, "LCAMPS1", - 63.1466, - 2.25, - -81.58665, - 0.860361, - 0, - -0.509685, - 0, - 1, - 0, - {"EDG02_40", 0, 0.5, 2, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + 63.1466f, + 2.25f, + -81.58665f, + 0.860361f, + 0.0f, + -0.509685f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_40", 0, 0.5f, 2, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 25}, {35, "LCAMPS2", - 70.99095, - 2.25, - -87.82898, - -0.746009, - 0, - 0.665936, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 70.99095f, + 2.25f, + -87.82898f, + -0.746009f, + 0.0f, + 0.665936f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 25}, {36, "LCAMPS3", - 73.92391, - 2.25, - -71.65845, - -0.480404, - 0, - -0.877047, - 0, - 1, - 0, - {"EDG02_66", 1, 0.15, 2, 0.15, 0}, - {NULL, 0, 0, 0, 0, 0}, + 73.92391f, + 2.25f, + -71.65845f, + -0.480404f, + 0.0f, + -0.877047f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_66", 1, 0.15f, 2, 0.15f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 25}, {37, "LCAMPS4", - 61.471172, - 1.829919, - -74.37842, - 0.812146, - 0, - -0.583455, - 0, - 1, - 0, - {"EDG02_40", 0, 0.5, 2, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + 61.471172f, + 1.829919f, + -74.37842f, + 0.812146f, + 0.0f, + -0.583455f, + 0.0f, + 1.0f, + 0.0f, + {"EDG02_40", 0, 0.5f, 2, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {38, "LCAMPZ1", - -19.517637, - 1.25, - -44.645412, - -0.582251, - 0, - 0.813009, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -19.517637f, + 1.25f, + -44.645412f, + -0.582251f, + 0.0f, + 0.813009f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 80}, {39, "LCAMPZ2", - -21.870003, - 1.25, - -41.47747, - 0.310142, - 0, - 0.95069, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -21.870003f, + 1.25f, + -41.47747f, + 0.310142f, + 0.0f, + 0.95069f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 90}, {40, "LCAMPZ3", - -21.860731, - 1.25, - -41.47234, - 0.877738, - 0, - -0.479141, - 0, - 1, - 0, - {"EDG00_24", 0, 0.9, 2, 0.9, 1}, - {NULL, 0, 0, 0, 0, 0}, + -21.860731f, + 1.25f, + -41.47234f, + 0.877738f, + 0.0f, + -0.479141f, + 0.0f, + 1.0f, + 0.0f, + {"EDG00_24", 0, 0.9f, 2, 0.9f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {41, "LCAMPZ4", - -20.492962, - 1.25, - -43.951485, - 0, - 0, - 1, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -20.492962f, + 1.25f, + -43.951485f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {42, "LCAMPZ5", - -11.0625, - 1.25, - -45.75, - -0.998358, - 0, - -0.057283, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -11.0625f, + 1.25f, + -45.75f, + -0.998358f, + 0.0f, + -0.057283f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 50}, {43, "LCAMPZ6", - -14.837131, - 1.25, - -41.580185, - -0.485221, - 0, - 0.874392, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -14.837131f, + 1.25f, + -41.580185f, + -0.485221f, + 0.0f, + 0.874392f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {44, "LCAMPZ7", - -22.17942, - 1.25, - -41.132347, - 0.697186, - 0, - 0.716891, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -22.17942f, + 1.25f, + -41.132347f, + 0.697186f, + 0.0f, + 0.716891f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {45, "LCAMRA1", - -68.90462, - 10.238018, - -15.521397, - -0.150999, - -0.051266, - -0.987204, - -0.007751, - 0.998685, - -0.050677, - {"EDG00_03", 1, 0.5, 3, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + -68.90462f, + 10.238018f, + -15.521397f, + -0.150999f, + -0.051266f, + -0.987204f, + -0.007751f, + 0.998685f, + -0.050677f, + {"EDG00_03", 1, 0.5f, 3, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {46, "LCAMRA2", - -67.931305, - 7.883309, - -28.911201, - -0.596641, - -0.000131, - 0.802509, - -0.000078, - 1, - 0.000105, - {"EDG01_17", 0, 0.5, 3, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + -67.931305f, + 7.883309f, + -28.911201f, + -0.596641f, + -0.000131f, + 0.802509f, + -0.000078f, + 1.0f, + 0.000105f, + {"EDG01_17", 0, 0.5f, 3, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 25}, {47, "LCAMRA3", - -57.06778, - 7.883309, - -45.567757, - -0.982252, - -0.000114, - 0.187564, - -0.000112, - 1, - 0.000021, - {"EDG01_40", 2, 0.5, 0, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + -57.06778f, + 7.883309f, + -45.567757f, + -0.982252f, + -0.000114f, + 0.187564f, + -0.000112f, + 1.0f, + 0.000021f, + {"EDG01_40", 2, 0.5f, 0, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {48, "LCAMRA4", - -72.23135, - 7.912604, - -45.26192, - 0.993571, - -0.036148, - -0.10728, - 0.035939, - 0.999346, - -0.00388, - {"EDG01_27", 0, 0.5, 2, 0.5, 1}, - {NULL, 0, 0, 0, 0, 0}, + -72.23135f, + 7.912604f, + -45.26192f, + 0.993571f, + -0.036148f, + -0.10728f, + 0.035939f, + 0.999346f, + -0.00388f, + {"EDG01_27", 0, 0.5f, 2, 0.5f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 25}, {49, "LCAMRA5", - -84.27638, - 4.683791, - -52.99282, - 0.976109, - -0.025475, - -0.215783, - 0.024875, - 0.999675, - -0.005499, - {"EDG01_08", 2, 0.7, 0, 0.7, 1}, - {NULL, 0, 0, 0, 0, 0}, + -84.27638f, + 4.683791f, + -52.99282f, + 0.976109f, + -0.025475f, + -0.215783f, + 0.024875f, + 0.999675f, + -0.005499f, + {"EDG01_08", 2, 0.7f, 0, 0.7f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 25}, {50, "LCAMRA6", - -86.96998, - 5.265254, - -16.33013, - -0.999696, - 0.000378, - -0.024655, - 0.000378, - 1, - 0.000009, - {"EDG01_13", 1, 0.2, 0, 0.2, 1}, - {NULL, 0, 0, 0, 0, 0}, + -86.96998f, + 5.265254f, + -16.33013f, + -0.999696f, + 0.000378f, + -0.024655f, + 0.000378f, + 1.0f, + 0.000009f, + {"EDG01_13", 1, 0.2f, 0, 0.2f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {51, "LCAMRT1", - -11.308265, - 1.25, - 9.629765, - 1, - 0, - 0, - 0, - 1, - 0, - {"EDG03_10", 0, 0.5, 2, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + -11.308265f, + 1.25f, + 9.629765f, + 1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + {"EDG03_10", 0, 0.5f, 2, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 80}, {52, "LCAMRT2", - -2.950222, - 1.25, - 12.345603, - 0.816763, - 0, - -0.576974, - 0, - 1, - 0, - {"EDG03_10", 0, 0.5, 2, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + -2.950222f, + 1.25f, + 12.345603f, + 0.816763f, + 0.0f, + -0.576974f, + 0.0f, + 1.0f, + 0.0f, + {"EDG03_10", 0, 0.5f, 2, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {53, "LCAMRT3", - -0.87654, - 1.25, - 11.844613, - 0.006162, - 0, - -0.999981, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -0.87654f, + 1.25f, + 11.844613f, + 0.006162f, + 0.0f, + -0.999981f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, {54, "LCAMRT4", - 0.4375, - 1.25, - 7, - -0.748454, - 0, - -0.663187, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 0.4375f, + 1.25f, + 7.0f, + -0.748454f, + 0.0f, + -0.663187f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {55, "LCAMRT5", - -27.213715, - 1.25, - 13.280918, - -0.670318, - 0, - -0.742074, - 0, - 1, - 0, - {"EDG03_05", 1, 0.5, 2, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + -27.213715f, + 1.25f, + 13.280918f, + -0.670318f, + 0.0f, + -0.742074f, + 0.0f, + 1.0f, + 0.0f, + {"EDG03_05", 1, 0.5f, 2, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {56, "LCAMRT6", - -21.811115, - 1.25, - 9.006517, - 0.97496, - 0, - 0.222379, - 0, - 1, - 0, - {"EDG03_10", 0, 0.5, 2, 0.5, 0}, - {NULL, 0, 0, 0, 0, 0}, + -21.811115f, + 1.25f, + 9.006517f, + 0.97496f, + 0.0f, + 0.222379f, + 0.0f, + 1.0f, + 0.0f, + {"EDG03_10", 0, 0.5f, 2, 0.5f, 0}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 60}, {57, "LCAMST1", - -40.1615, - 2.02756, - -56.701893, - -0.958601, - 0, - -0.284751, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -40.1615f, + 2.02756f, + -56.701893f, + -0.958601f, + 0.0f, + -0.284751f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 20}, {58, "LCAMST2", - -48.750553, - 2.703701, - -55.472034, - -0.032008, - 0, - -0.999488, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -48.750553f, + 2.703701f, + -55.472034f, + -0.032008f, + 0.0f, + -0.999488f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {59, "LCAMZG1", - 31.694365, - 1.25, - -2.814015, - -0.650445, - 0, - 0.759553, - 0, - 1, - 0, - {"INT22", 0, 0.4, 2, 0.4, 1}, - {NULL, 0, 0, 0, 0, 0}, + 31.694365f, + 1.25f, + -2.814015f, + -0.650445f, + 0.0f, + 0.759553f, + 0.0f, + 1.0f, + 0.0f, + {"INT22", 0, 0.4f, 2, 0.4f, 1}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {60, "LCAMZI1", - 93.37283, - 10.1875, - -10.382307, - 0, - 0, - 1, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 93.37283f, + 10.1875f, + -10.382307f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {61, "LCAMZI2", - 93.37283, - 19.4375, - -10.382307, - 0, - 0, - 1, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 93.37283f, + 19.4375f, + -10.382307f, + 0.0f, + 0.0f, + 1.0f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {62, "LCAMZIE", - 93.375, - 19.4375, - -10.375, - 0.967075, - -0.254493, - 0, - 0.254493, - 0.967075, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 93.375f, + 19.4375f, + -10.375f, + 0.967075f, + -0.254493f, + 0.0f, + 0.254493f, + 0.967075f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {63, "LCAMZIN", - 93.37283, - 19.4375, - -10.382307, - 0, - -0.254006, - 0.967203, - 0, - 0.967203, - 0.254006, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 93.37283f, + 19.4375f, + -10.382307f, + 0.0f, + -0.254006f, + 0.967203f, + 0.0f, + 0.967203f, + 0.254006f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {64, "LCAMZIS", - 93.37283, - 19.4375, - -10.382307, - 0, - -0.254982, - -0.966946, - 0, - 0.966946, - -0.254982, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 93.37283f, + 19.4375f, + -10.382307f, + 0.0f, + -0.254982f, + -0.966946f, + 0.0f, + 0.966946f, + -0.254982f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {65, "LCAMZIW", - 93.375, - 19.4375, - -10.375, - -0.967075, - -0.254493, - 0, - -0.254493, - 0.967075, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 93.375f, + 19.4375f, + -10.375f, + -0.967075f, + -0.254493f, + 0.0f, + -0.254493f, + 0.967075f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {66, "LCAMZP1", - 73.70144, - 2.25, - -88.91317, - -0.911398, - 0, - 0.411526, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + 73.70144f, + 2.25f, + -88.91317f, + -0.911398f, + 0.0f, + 0.411526f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {67, "LCAMRT7", - -1.170637, - 1.25, - 5.082029, - -1, - 0, - -0.000599, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -1.170637f, + 1.25f, + 5.082029f, + -1.0f, + 0.0f, + -0.000599f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 0}, {68, "LCAMJS5", - -1.734375, - -0.625, - -61.8125, - -0.454574, - 0, - -0.890709, - 0, - 1, - 0, - {NULL, 0, 0, 0, 0, 0}, - {NULL, 0, 0, 0, 0, 0}, + -1.734375f, + -0.625f, + -61.8125f, + -0.454574f, + 0.0f, + -0.890709f, + 0.0f, + 1.0f, + 0.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, FALSE, 100}, - {69, "overhead", 0, 135, 0, 0, -1, 0, 0, 0, 1, {NULL, 0, 0, 0, 0, 0}, {NULL, 0, 0, 0, 0, 0}, FALSE, 0} + {69, + "overhead", + 0.0f, + 135.0f, + 0.0f, + 0.0f, + -1.0f, + 0.0f, + 0.0f, + 0.0f, + 1.0f, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + {NULL, 0, 0.0f, 0, 0.0f, FALSE}, + FALSE, + 0} }; diff --git a/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp b/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp index 54113b6d..3066c6d0 100644 --- a/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp +++ b/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp @@ -541,8 +541,8 @@ MxResult LegoNavController::ProcessJoystickInput(MxBool& p_und) if (povPosition >= 0) { LegoWorld* world = CurrentWorld(); - if (world && world->GetCamera()) { - world->GetCamera()->FUN_10012320(DTOR(povPosition)); + if (world && world->GetCameraController()) { + world->GetCameraController()->FUN_10012320(DTOR(povPosition)); p_und = TRUE; } } diff --git a/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp b/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp index 66cc40e5..182945d5 100644 --- a/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp @@ -183,6 +183,7 @@ void LegoAnimActor::ClearMaps() } // FUNCTION: LEGO1 0x1001c870 +// FUNCTION: BETA10 0x1003e7e4 void LegoAnimActor::SetWorldSpeed(MxFloat p_worldSpeed) { if (p_worldSpeed < 0) { diff --git a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp index b1fbf485..cc7fa38d 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp @@ -414,7 +414,7 @@ void LegoPathActor::Animate(float p_time) LegoWorld* world = CurrentWorld(); if (world) { - world->GetCamera()->FUN_10012290(DTOR(m_unk0x14c)); + world->GetCameraController()->FUN_10012290(DTOR(m_unk0x14c)); } } } diff --git a/LEGO1/lego/legoomni/src/race/legoracers.cpp b/LEGO1/lego/legoomni/src/race/legoracers.cpp index ee5e48d5..f941da66 100644 --- a/LEGO1/lego/legoomni/src/race/legoracers.cpp +++ b/LEGO1/lego/legoomni/src/race/legoracers.cpp @@ -343,8 +343,8 @@ void LegoRaceCar::FUN_10012ff0(float p_param) // Possible bug in the original code: The first argument is not initialized a->GetAnimTreePtr()->GetCamAnim()->FUN_1009f490(deltaTime, transformationMatrix); - if (r->GetCamera()) { - r->GetCamera()->FUN_100123e0(transformationMatrix, 0); + if (r->GetCameraController()) { + r->GetCameraController()->FUN_100123e0(transformationMatrix, 0); } m_roi->FUN_100a58f0(transformationMatrix); diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index 194ab71a..42741147 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -637,7 +637,7 @@ void LegoAnimPresenter::PutFrame() FUN_1006b9a0(m_anim, time, m_unk0x78); - if (m_unk0x8c != NULL && m_currentWorld != NULL && m_currentWorld->GetCamera() != NULL) { + if (m_unk0x8c != NULL && m_currentWorld != NULL && m_currentWorld->GetCameraController() != NULL) { for (MxS32 i = 0; i < m_unk0x94; i++) { if (m_unk0x8c[i] != NULL) { MxMatrix mat(m_unk0x8c[i]->GetLocal2World()); @@ -653,7 +653,7 @@ void LegoAnimPresenter::PutFrame() up = und; - up -= m_currentWorld->GetCamera()->GetWorldLocation(); + up -= m_currentWorld->GetCameraController()->GetWorldLocation(); dir /= dirsqr; pos.EqualsCross(dir, up); pos.Unitize(); @@ -719,7 +719,7 @@ MxResult LegoAnimPresenter::FUN_1006b140(LegoROI* p_roi) for (i = 1; i <= m_roiMapSize; i++) { if (m_roiMap[i] == p_roi) { - if (local5c[i].Unknown(local58) != SUCCESS) { + if (local5c[i].BETA_1005a590(local58) != SUCCESS) { goto done; } @@ -933,8 +933,8 @@ void LegoAnimPresenter::FUN_1006b9a0(LegoAnim* p_anim, MxLong p_time, Matrix4* p MxMatrix transform(mat); p_anim->GetCamAnim()->FUN_1009f490(p_time, transform); - if (m_currentWorld != NULL && m_currentWorld->GetCamera() != NULL) { - m_currentWorld->GetCamera()->FUN_100123e0(transform, 0); + if (m_currentWorld != NULL && m_currentWorld->GetCameraController() != NULL) { + m_currentWorld->GetCameraController()->FUN_100123e0(transform, 0); } } diff --git a/LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp index 093b849e..93b4720d 100644 --- a/LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp @@ -50,7 +50,7 @@ void LegoLoopingAnimPresenter::PutFrame() FUN_1006b9a0(m_anim, time, m_unk0x78); - if (m_unk0x8c != NULL && m_currentWorld != NULL && m_currentWorld->GetCamera() != NULL) { + if (m_unk0x8c != NULL && m_currentWorld != NULL && m_currentWorld->GetCameraController() != NULL) { for (MxS32 i = 0; i < m_unk0x94; i++) { if (m_unk0x8c[i] != NULL) { MxMatrix mat(m_unk0x8c[i]->GetLocal2World()); @@ -66,7 +66,7 @@ void LegoLoopingAnimPresenter::PutFrame() up = und; - up -= m_currentWorld->GetCamera()->GetWorldLocation(); + up -= m_currentWorld->GetCameraController()->GetWorldLocation(); dir /= dirsqr; pos.EqualsCross(dir, up); pos.Unitize(); diff --git a/LEGO1/lego/sources/misc/legostorage.h b/LEGO1/lego/sources/misc/legostorage.h index 16cc976c..aca41bec 100644 --- a/LEGO1/lego/sources/misc/legostorage.h +++ b/LEGO1/lego/sources/misc/legostorage.h @@ -138,7 +138,7 @@ class LegoFile : public LegoStorage { const char* data = p_str.GetData(); LegoU32 fullLength = strlen(data); - LegoU16 limitedLength = fullLength; + LegoU16 limitedLength = (LegoU16) fullLength; Write(&limitedLength, sizeof(limitedLength)); Write((char*) data, (LegoS16) fullLength); diff --git a/LEGO1/library_msvc.h b/LEGO1/library_msvc.h index 34f6941c..38e19a29 100644 --- a/LEGO1/library_msvc.h +++ b/LEGO1/library_msvc.h @@ -675,6 +675,9 @@ // LIBRARY: BETA10 0x100f9a50 // _sin +// LIBRARY: BETA10 0x100f9a5a +// _cos + // LIBRARY: BETA10 0x100f95d0 // _sqrt diff --git a/LEGO1/mxgeometry/mxgeometry3d.h b/LEGO1/mxgeometry/mxgeometry3d.h index 64164a4e..1b41d03e 100644 --- a/LEGO1/mxgeometry/mxgeometry3d.h +++ b/LEGO1/mxgeometry/mxgeometry3d.h @@ -164,9 +164,8 @@ inline int UnknownMx4DPointFloat::BETA_1004aaa0(Matrix4& p_matrix, float p_f) if (FUN_100040a0(v, p_f) == 0) { return p_matrix.FromQuaternion(v); } - else { - return -1; - } + + return -1; } // FUNCTION: LEGO1 0x10004520 @@ -198,15 +197,17 @@ inline int UnknownMx4DPointFloat::FUN_100040a0(Vector4& p_v, float p_f) { if (m_unk0x30 == c_bit1) { p_v = m_unk0x00; - p_v[3] = (1.0 - p_f) * acos((double) p_v[3]) * 2.0; + p_v[3] = (float) ((1.0 - p_f) * acos((double) p_v[3]) * 2.0); return p_v.NormalizeQuaternion(); } - else if (m_unk0x30 == c_bit2) { + + if (m_unk0x30 == c_bit2) { p_v = m_unk0x18; - p_v[3] = p_f * acos((double) p_v[3]) * 2.0; + p_v[3] = (float) (p_f * acos((double) p_v[3]) * 2.0); return p_v.NormalizeQuaternion(); } - else if (m_unk0x30 == (c_bit1 | c_bit2)) { + + if (m_unk0x30 == (c_bit1 | c_bit2)) { int i; double d1 = p_v.Dot(m_unk0x00, m_unk0x18); double a; @@ -225,7 +226,7 @@ inline int UnknownMx4DPointFloat::FUN_100040a0(Vector4& p_v, float p_f) } for (i = 0; i < 4; i++) { - p_v[i] = m_unk0x00[i] * a + m_unk0x18[i] * b; + p_v[i] = (float) (m_unk0x00[i] * a + m_unk0x18[i] * b); } } else { @@ -237,15 +238,14 @@ inline int UnknownMx4DPointFloat::FUN_100040a0(Vector4& p_v, float p_f) b = sin(p_f * 1.570796326794895); for (i = 0; i < 3; i++) { - p_v[i] = m_unk0x00[i] * a + p_v[i] * b; + p_v[i] = (float) (m_unk0x00[i] * a + p_v[i] * b); } } return 0; } - else { - return -1; - } + + return -1; } #endif // MXGEOMETRY3D_H diff --git a/LEGO1/realtime/matrix.h b/LEGO1/realtime/matrix.h index b0ace048..8704d739 100644 --- a/LEGO1/realtime/matrix.h +++ b/LEGO1/realtime/matrix.h @@ -179,7 +179,7 @@ class Matrix4 { } } - inline int Unknown(Matrix4& p_mat); + inline int BETA_1005a590(Matrix4& p_mat); // FUNCTION: LEGO1 0x1006b500 void Swap(int p_d1, int p_d2) @@ -202,9 +202,11 @@ class Matrix4 { // FUNCTION: BETA10 0x100101c0 inline void Matrix4::ToQuaternion(Vector4& p_outQuat) { - float trace = m_data[0][0] + m_data[1][1] + m_data[2][2]; - if (trace > 0) { - trace = sqrt(trace + 1.0); + float trace; + float localc = m_data[0][0] + m_data[1][1] + m_data[2][2]; + + if (localc > 0) { + trace = (float) sqrt(localc + 1.0); p_outQuat[3] = trace * 0.5f; trace = 0.5f / trace; p_outQuat[0] = (m_data[2][1] - m_data[1][2]) * trace; @@ -212,7 +214,6 @@ inline void Matrix4::ToQuaternion(Vector4& p_outQuat) p_outQuat[2] = (m_data[1][0] - m_data[0][1]) * trace; } else { - // GLOBAL: LEGO1 0x100d4090 static int rotateIndex[] = {1, 2, 0}; @@ -228,7 +229,7 @@ inline void Matrix4::ToQuaternion(Vector4& p_outQuat) int next = rotateIndex[largest]; int nextNext = rotateIndex[next]; - float trace = sqrt(*Element(largest, largest) - (*Element(nextNext, nextNext) + *Element(next, next)) + 1.0); + trace = (float) sqrt(*Element(largest, largest) - (*Element(nextNext, nextNext) + *Element(next, next)) + 1.0); p_outQuat[largest] = trace * 0.5f; trace = 0.5f / trace; @@ -243,55 +244,56 @@ inline void Matrix4::ToQuaternion(Vector4& p_outQuat) // FUNCTION: BETA10 0x10010550 inline int Matrix4::FromQuaternion(const Vector4& p_vec) { - float len = p_vec.LenSquared(); + float local14 = p_vec.LenSquared(); - if (len > 0.0f) { - float v7 = 2.0f / len; + if (local14 > 0.0f) { + local14 = 2.0f / local14; - float v9 = p_vec[0] * v7; - float v11 = p_vec[1] * v7; - float v12 = p_vec[2] * v7; + float local24 = p_vec[0] * local14; + float local34 = p_vec[1] * local14; + float local10 = p_vec[2] * local14; - float v13 = p_vec[3] * v9; - float v14 = p_vec[3] * v11; - float v16 = p_vec[3] * v12; + float local28 = p_vec[3] * local24; + float local2c = p_vec[3] * local34; + float local30 = p_vec[3] * local10; - float v17 = p_vec[0] * v9; - float v22 = p_vec[0] * v11; - float v23 = p_vec[0] * v12; + float local38 = p_vec[0] * local24; + float local8 = p_vec[0] * local34; + float localc = p_vec[0] * local10; - float v18 = p_vec[1] * v11; - float v24 = p_vec[1] * v12; - float v19 = p_vec[2] * v12; + float local18 = p_vec[1] * local34; + float local1c = p_vec[1] * local10; + float local20 = p_vec[2] * local10; - m_data[0][0] = 1.0f - (v18 + v19); - m_data[1][0] = v22 + v16; - m_data[2][0] = v23 - v14; + m_data[0][0] = 1.0f - (local18 + local20); + m_data[1][0] = local8 + local30; + m_data[2][0] = localc - local2c; - m_data[0][1] = v22 - v16; - m_data[1][1] = 1.0f - (v17 + v19); - m_data[2][1] = v24 + v13; + m_data[0][1] = local8 - local30; + m_data[1][1] = 1.0f - (local38 + local20); + m_data[2][1] = local1c + local28; - m_data[0][2] = v14 + v23; - m_data[1][2] = v24 - v13; - m_data[2][2] = 1.0f - (v18 + v17); + m_data[0][2] = local2c + localc; + m_data[1][2] = local1c - local28; + m_data[2][2] = 1.0f - (local18 + local38); - m_data[3][0] = 0; - m_data[3][1] = 0; - m_data[3][2] = 0; + m_data[3][0] = 0.0f; + m_data[3][1] = 0.0f; + m_data[3][2] = 0.0f; m_data[3][3] = 1.0f; - m_data[0][3] = 0; - m_data[1][3] = 0; - m_data[2][3] = 0; + m_data[0][3] = 0.0f; + m_data[1][3] = 0.0f; + m_data[2][3] = 0.0f; return 0; } - - return -1; + else { + return -1; + } } // FUNCTION: BETA10 0x1005a590 -inline int Matrix4::Unknown(Matrix4& p_mat) +inline int Matrix4::BETA_1005a590(Matrix4& p_mat) { float local5c[4][4]; Matrix4 localc(local5c); diff --git a/LEGO1/realtime/vector.h b/LEGO1/realtime/vector.h index 360363b9..e3e71476 100644 --- a/LEGO1/realtime/vector.h +++ b/LEGO1/realtime/vector.h @@ -121,35 +121,33 @@ class Vector2 { return -1; } // vtable+0x44 -private: // FUNCTION: LEGO1 0x100021c0 - virtual void Add(float p_value) { AddImpl(p_value); } // vtable+0x50 + virtual void operator+=(float p_value) { AddImpl(p_value); } // vtable+0x50 // FUNCTION: LEGO1 0x100021d0 - virtual void Add(const float* p_other) { AddImpl(p_other); } // vtable+0x4c + virtual void operator+=(const float* p_other) { AddImpl(p_other); } // vtable+0x4c // FUNCTION: LEGO1 0x100021e0 - virtual void Add(const Vector2& p_other) { AddImpl(p_other.m_data); } // vtable+0x48 + virtual void operator+=(const Vector2& p_other) { AddImpl(p_other.m_data); } // vtable+0x48 // FUNCTION: LEGO1 0x100021f0 - virtual void Sub(const float* p_other) { SubImpl(p_other); } // vtable+0x58 + virtual void operator-=(const float* p_other) { SubImpl(p_other); } // vtable+0x58 // FUNCTION: LEGO1 0x10002200 - virtual void Sub(const Vector2& p_other) { SubImpl(p_other.m_data); } // vtable+0x54 + virtual void operator-=(const Vector2& p_other) { SubImpl(p_other.m_data); } // vtable+0x54 // FUNCTION: LEGO1 0x10002210 - virtual void Mul(const float* p_other) { MulImpl(p_other); } // vtable+0x64 + virtual void operator*=(const float* p_other) { MulImpl(p_other); } // vtable+0x64 // FUNCTION: LEGO1 0x10002220 - virtual void Mul(const Vector2& p_other) { MulImpl(p_other.m_data); } // vtable+0x60 + virtual void operator*=(const Vector2& p_other) { MulImpl(p_other.m_data); } // vtable+0x60 // FUNCTION: LEGO1 0x10002230 - virtual void Mul(const float& p_value) { MulImpl(p_value); } // vtable+0x5c + virtual void operator*=(const float& p_value) { MulImpl(p_value); } // vtable+0x5c // FUNCTION: LEGO1 0x10002240 - virtual void Div(const float& p_value) { DivImpl(p_value); } // vtable+0x68 + virtual void operator/=(const float& p_value) { DivImpl(p_value); } // vtable+0x68 -public: // FUNCTION: LEGO1 0x10002250 virtual void SetVector(const float* p_other) { EqualsImpl(p_other); } // vtable+0x70 @@ -192,19 +190,6 @@ class Vector2 { // FUNCTION: BETA10 0x1001d170 const float& operator[](int idx) const { return m_data[idx]; } - void operator+=(float p_value) { Add(p_value); } - void operator+=(const float* p_other) { Add(p_other); } - void operator+=(const Vector2& p_other) { Add(p_other); } - - void operator-=(const float* p_other) { Sub(p_other); } - void operator-=(const Vector2& p_other) { Sub(p_other); } - - void operator*=(const float* p_other) { Mul(p_other); } - void operator*=(const Vector2& p_other) { Mul(p_other); } - void operator*=(const float& p_value) { Mul(p_value); } - - void operator/=(const float& p_value) { Div(p_value); } - protected: float* m_data; // 0x04 }; @@ -467,38 +452,36 @@ class Vector4 : public Vector3 { // FUNCTION: BETA10 0x10048ad0 inline int Vector4::NormalizeQuaternion() { - float* v = m_data; - float magnitude = v[0] * v[0] + v[2] * v[2] + v[1] * v[1]; - if (magnitude > 0.0f) { - float theta = v[3] * 0.5f; - v[3] = cos(theta); - magnitude = sin(theta) / sqrt(magnitude); - Vector3::MulImpl(magnitude); - return 0; - } + float length = m_data[0] * m_data[0] + m_data[1] * m_data[1] + m_data[2] * m_data[2]; - return -1; -} + if (length > 0.0f) { + float theta = m_data[3] * 0.5f; + float magnitude = sin((double) theta); + m_data[3] = cos((double) theta); -inline static float QuaternionProductScalarPart(const float* bDat, const float* aDat) -{ - // We have no indication from the beta that this function exists, - // but it helps with the stack layout of Vector4::EqualsHamiltonProduct() - return aDat[3] * bDat[3] - (aDat[0] * bDat[0] + aDat[2] * bDat[2] + aDat[1] * bDat[1]); + magnitude = magnitude / (float) sqrt((double) length); + m_data[0] *= magnitude; + m_data[1] *= magnitude; + m_data[2] *= magnitude; + return 0; + } + else { + return -1; + } } // FUNCTION: LEGO1 0x10002bf0 // FUNCTION: BETA10 0x10048c20 inline int Vector4::EqualsHamiltonProduct(const Vector4& p_a, const Vector4& p_b) { - m_data[3] = QuaternionProductScalarPart(p_a.m_data, p_b.m_data); + m_data[3] = p_a.m_data[3] * p_b.m_data[3] - + (p_a.m_data[0] * p_b.m_data[0] + p_a.m_data[2] * p_b.m_data[2] + p_a.m_data[1] * p_b.m_data[1]); Vector3::EqualsCrossImpl(p_a.m_data, p_b.m_data); m_data[0] = p_b.m_data[3] * p_a.m_data[0] + p_a.m_data[3] * p_b.m_data[0] + m_data[0]; m_data[1] = p_b.m_data[1] * p_a.m_data[3] + p_a.m_data[1] * p_b.m_data[3] + m_data[1]; m_data[2] = p_b.m_data[2] * p_a.m_data[3] + p_a.m_data[2] * p_b.m_data[3] + m_data[2]; - return 0; } diff --git a/LEGO1/tgl/tglvector.h b/LEGO1/tgl/tglvector.h index 8612724f..49d60c0a 100644 --- a/LEGO1/tgl/tglvector.h +++ b/LEGO1/tgl/tglvector.h @@ -10,15 +10,15 @@ namespace Tgl namespace Constant { -const float Pi = 3.14159265358979323846; +const double Pi = 3.14159265358979323846; }; -inline float DegreesToRadians(float degrees) +inline double DegreesToRadians(double degrees) { return Constant::Pi * (degrees / 180.0); } -inline float RadiansToDegrees(float radians) +inline double RadiansToDegrees(double radians) { return (radians / Constant::Pi) * 180.0; }