Implement LegoCarBuild functions, refactor BackgroundAudioManager (#1117)

* Implement LegoCarBuild functions, refactor BackgroundAudioManager

* Refactor LegoVehicleBuildState::m_animationState to enum

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2024-10-25 18:04:01 +02:00
committed by GitHub
parent b5fee6b240
commit c38e157fdb
17 changed files with 242 additions and 54 deletions

View File

@@ -16,6 +16,14 @@ class MxActionNotificationParam;
// SIZE 0x50
class LegoVehicleBuildState : public LegoState {
public:
enum AnimationState {
e_unknown0 = 0,
e_entering = 1,
e_unknown2 = 2,
e_cutscene = 3,
e_exiting = 6
};
LegoVehicleBuildState(const char* p_classType);
// FUNCTION: LEGO1 0x10025ff0
@@ -46,15 +54,11 @@ public:
// * LegoJetskiBuildState
MxString m_className; // 0x38
// Known States:
// * 1 == enter(ing) build screen
// * 3 == cutscene/dialogue
// * 6 == exit(ing) build screen
MxU32 m_animationState; // 0x48
undefined m_unk0x4c; // 0x4c
MxBool m_unk0x4d; // 0x4d
MxBool m_unk0x4e; // 0x4e
MxU8 m_placedPartCount; // 0x4f
AnimationState m_animationState; // 0x48
undefined m_unk0x4c; // 0x4c
MxBool m_unk0x4d; // 0x4d
MxBool m_unk0x4e; // 0x4e
MxU8 m_placedPartCount; // 0x4f
};
typedef LegoVehicleBuildState LegoRaceCarBuildState;
@@ -114,7 +118,7 @@ public:
undefined4 FUN_100246e0(MxLong p_x, MxLong p_y);
MxS32 FUN_10024850(MxLong p_x, MxLong p_y);
undefined4 FUN_10024890(LegoEventNotificationParam* p_param);
void FUN_10024c20(LegoEventNotificationParam* p_param);
undefined4 FUN_10024c20(LegoEventNotificationParam* p_param);
void FUN_10024ef0();
void FUN_10024f50();
void FUN_10024f70(MxBool p_enabled);
@@ -198,7 +202,7 @@ private:
// variable name verified by BETA10 0x1006cba7
LegoGameState::Area m_destLocation; // 0x334
undefined4 m_unk0x338; // 0x338
MxPresenter* m_unk0x338; // 0x338
MxControlPresenter* m_unk0x33c; // 0x33c
undefined4 m_unk0x340; // 0x340
undefined4 m_unk0x344; // 0x344