From 2bfebc079392678a4af1db5ce18d0d8d6697e365 Mon Sep 17 00:00:00 2001 From: jonschz Date: Sat, 31 Aug 2024 11:31:10 +0200 Subject: [PATCH] Add BETA10 variable names for presenters --- LEGO1/lego/legoomni/include/legocarbuild.h | 52 +++---- .../lego/legoomni/src/build/legocarbuild.cpp | 135 ++++++++++-------- LEGO1/library_msvc.h | 3 + tools/ncc/skip.yml | 21 +++ 4 files changed, 127 insertions(+), 84 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legocarbuild.h b/LEGO1/lego/legoomni/include/legocarbuild.h index 3a722a2f..ca9334a3 100644 --- a/LEGO1/lego/legoomni/include/legocarbuild.h +++ b/LEGO1/lego/legoomni/include/legocarbuild.h @@ -141,31 +141,33 @@ class LegoCarBuild : public LegoWorld { MxS32 m_unk0x298; // 0x298 MxS32 m_unk0x29c; // 0x29c - MxFloat m_unk0x2a0; // 0x2a0 - Mx4DPointFloat m_unk0x2a4; // 0x2a4 - Mx4DPointFloat m_unk0x2bc; // 0x2bc - MxBool m_unk0x2d4; // 0x2d4 - MxStillPresenter* m_colorBookBitmap; // 0x2dc - MxControlPresenter* m_yellowCtl; // 0x2e0 - MxControlPresenter* m_redCtl; // 0x2e4 - MxControlPresenter* m_blueCtl; // 0x2e8 - MxControlPresenter* m_greenCtl; // 0x2ec - MxControlPresenter* m_grayCtl; // 0x2f0 - MxControlPresenter* m_blackCtl; // 0x2f4 - MxSoundPresenter* m_shelfSound; // 0x2f8 - MxSoundPresenter* m_placeBrickSound; // 0x2fc - MxSoundPresenter* m_getBrickSound; // 0x300 - MxSoundPresenter* m_paintSound; // 0x304 - MxSoundPresenter* m_decalSound; // 0x308 - MxStillPresenter* m_decalBitmap; // 0x30c - MxControlPresenter* m_decalsCtl0; // 0x310 - MxControlPresenter* m_decalsCtl1; // 0x314 - MxControlPresenter* m_decalsCtl2; // 0x318 - MxControlPresenter* m_decalsCtl3; // 0x31c - MxControlPresenter* m_decalsCtl4; // 0x320 - MxControlPresenter* m_decalsCtl5; // 0x324 - MxControlPresenter* m_decalsCtl6; // 0x328 - MxControlPresenter* m_decalsCtl7; // 0x32c + MxFloat m_unk0x2a0; // 0x2a0 + Mx4DPointFloat m_unk0x2a4; // 0x2a4 + Mx4DPointFloat m_unk0x2bc; // 0x2bc + MxBool m_unk0x2d4; // 0x2d4 + + // variable names verified by BETA10 0x1006b27a + MxStillPresenter* m_ColorBook_Bitmap; // 0x2dc + MxControlPresenter* m_Yellow_Ctl; // 0x2e0 + MxControlPresenter* m_Red_Ctl; // 0x2e4 + MxControlPresenter* m_Blue_Ctl; // 0x2e8 + MxControlPresenter* m_Green_Ctl; // 0x2ec + MxControlPresenter* m_Gray_Ctl; // 0x2f0 + MxControlPresenter* m_Black_Ctl; // 0x2f4 + MxSoundPresenter* m_Shelf_Sound; // 0x2f8 + MxSoundPresenter* m_PlaceBrick_Sound; // 0x2fc + MxSoundPresenter* m_GetBrick_Sound; // 0x300 + MxSoundPresenter* m_Paint_Sound; // 0x304 + MxSoundPresenter* m_Decal_Sound; // 0x308 + MxStillPresenter* m_Decal_Bitmap; // 0x30c + MxControlPresenter* m_Decals_Ctl; // 0x310 + MxControlPresenter* m_Decals_Ctl1; // 0x314 + MxControlPresenter* m_Decals_Ctl2; // 0x318 + MxControlPresenter* m_Decals_Ctl3; // 0x31c + MxControlPresenter* m_Decals_Ctl4; // 0x320 + MxControlPresenter* m_Decals_Ctl5; // 0x324 + MxControlPresenter* m_Decals_Ctl6; // 0x328 + MxControlPresenter* m_Decals_Ctl7; // 0x32c // variable name verified by BETA10 0x1006b219 LegoVehicleBuildState* m_buildState; // 0x32c diff --git a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp index bcd62a20..62535af2 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp @@ -37,27 +37,27 @@ LegoCarBuild::LegoCarBuild() m_unk0xf8 = 0xffffffff; m_unk0x2d4 = '\0'; m_unk0x258 = 0; - m_colorBookBitmap = 0; - m_yellowCtl = 0; - m_redCtl = 0; - m_blueCtl = 0; - m_greenCtl = 0; - m_grayCtl = 0; - m_blackCtl = 0; - m_shelfSound = 0; - m_placeBrickSound = 0; - m_getBrickSound = 0; - m_paintSound = 0; - m_decalSound = 0; - m_decalBitmap = 0; - m_decalsCtl0 = 0; - m_decalsCtl1 = 0; - m_decalsCtl2 = 0; - m_decalsCtl3 = 0; - m_decalsCtl4 = 0; - m_decalsCtl5 = 0; - m_decalsCtl6 = 0; - m_decalsCtl7 = NULL; + m_ColorBook_Bitmap = 0; + m_Yellow_Ctl = 0; + m_Red_Ctl = 0; + m_Blue_Ctl = 0; + m_Green_Ctl = 0; + m_Gray_Ctl = 0; + m_Black_Ctl = 0; + m_Shelf_Sound = 0; + m_PlaceBrick_Sound = 0; + m_GetBrick_Sound = 0; + m_Paint_Sound = 0; + m_Decal_Sound = 0; + m_Decal_Bitmap = 0; + m_Decals_Ctl = 0; + m_Decals_Ctl1 = 0; + m_Decals_Ctl2 = 0; + m_Decals_Ctl3 = 0; + m_Decals_Ctl4 = 0; + m_Decals_Ctl5 = 0; + m_Decals_Ctl6 = 0; + m_Decals_Ctl7 = NULL; m_unk0x33c = 0; m_buildState = 0; m_unk0x104 = 0; @@ -151,32 +151,49 @@ MxResult LegoCarBuild::Create(MxDSAction& p_dsAction) } // FUNCTION: LEGO1 0x10022d10 +// FUNCTION: BETA10 0x1006b27a void LegoCarBuild::InitPresenters() { - m_colorBookBitmap = (MxStillPresenter*) Find("MxStillPresenter", "ColorBook_Bitmap"); - m_yellowCtl = (MxControlPresenter*) Find("MxControlPresenter", "Yellow_Ctl"); - m_redCtl = (MxControlPresenter*) Find("MxControlPresenter", "Red_Ctl"); - m_blueCtl = (MxControlPresenter*) Find("MxControlPresenter", "Blue_Ctl"); - m_greenCtl = (MxControlPresenter*) Find("MxControlPresenter", "Green_Ctl"); - m_grayCtl = (MxControlPresenter*) Find("MxControlPresenter", "Gray_Ctl"); - m_blackCtl = (MxControlPresenter*) Find("MxControlPresenter", "Black_Ctl"); - m_shelfSound = (MxSoundPresenter*) Find("MxSoundPresenter", "Shelf_Sound"); - m_placeBrickSound = (MxSoundPresenter*) Find("MxSoundPresenter", "PlaceBrick_Sound"); - m_getBrickSound = (MxSoundPresenter*) Find("MxSoundPresenter", "GetBrick_Sound"); - m_paintSound = (MxSoundPresenter*) Find("MxSoundPresenter", "Paint_Sound"); - m_decalSound = (MxSoundPresenter*) Find("MxSoundPresenter", "Decal_Sound"); - m_decalsCtl0 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl"); - m_decalsCtl1 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl1"); - m_decalsCtl2 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl2"); - m_decalBitmap = (MxStillPresenter*) Find("MxStillPresenter", "Decal_Bitmap"); - if (m_decalBitmap) { - m_decalsCtl3 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl3"); - m_decalsCtl4 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl4"); - m_decalsCtl5 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl5"); - m_decalsCtl6 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl6"); - m_decalsCtl7 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl7"); + m_ColorBook_Bitmap = (MxStillPresenter*) Find("MxStillPresenter", "ColorBook_Bitmap"); + assert(m_ColorBook_Bitmap); + m_Yellow_Ctl = (MxControlPresenter*) Find("MxControlPresenter", "Yellow_Ctl"); + assert(m_Yellow_Ctl); + m_Red_Ctl = (MxControlPresenter*) Find("MxControlPresenter", "Red_Ctl"); + assert(m_Red_Ctl); + m_Blue_Ctl = (MxControlPresenter*) Find("MxControlPresenter", "Blue_Ctl"); + assert(m_Blue_Ctl); + m_Green_Ctl = (MxControlPresenter*) Find("MxControlPresenter", "Green_Ctl"); + assert(m_Green_Ctl); + m_Gray_Ctl = (MxControlPresenter*) Find("MxControlPresenter", "Gray_Ctl"); + assert(m_Gray_Ctl); + m_Black_Ctl = (MxControlPresenter*) Find("MxControlPresenter", "Black_Ctl"); + assert(m_Black_Ctl); + m_Shelf_Sound = (MxSoundPresenter*) Find("MxSoundPresenter", "Shelf_Sound"); + assert(m_Shelf_Sound); + m_PlaceBrick_Sound = (MxSoundPresenter*) Find("MxSoundPresenter", "PlaceBrick_Sound"); + assert(m_PlaceBrick_Sound); + m_GetBrick_Sound = (MxSoundPresenter*) Find("MxSoundPresenter", "GetBrick_Sound"); + assert(m_GetBrick_Sound); + m_Paint_Sound = (MxSoundPresenter*) Find("MxSoundPresenter", "Paint_Sound"); + assert(m_Paint_Sound); + m_Decal_Sound = (MxSoundPresenter*) Find("MxSoundPresenter", "Decal_Sound"); + m_Decals_Ctl = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl"); + m_Decals_Ctl1 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl1"); + m_Decals_Ctl2 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl2"); + m_Decal_Bitmap = (MxStillPresenter*) Find("MxStillPresenter", "Decal_Bitmap"); + assert(m_Decal_Bitmap); + if (m_Decal_Bitmap) { + m_Decals_Ctl3 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl3"); + assert(m_Decals_Ctl3); + m_Decals_Ctl4 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl4"); + assert(m_Decals_Ctl4); + m_Decals_Ctl5 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl5"); + assert(m_Decals_Ctl5); + m_Decals_Ctl6 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl6"); + assert(m_Decals_Ctl6); + m_Decals_Ctl7 = (MxControlPresenter*) Find("MxControlPresenter", "Decals_Ctl7"); + assert(m_Decals_Ctl7); } - return; } // STUB: LEGO1 0x10022f30 @@ -461,25 +478,25 @@ void LegoCarBuild::FUN_10024f50() void LegoCarBuild::SetPresentersEnabled(MxBool p_enabled) { m_presentersEnabled = p_enabled; - m_colorBookBitmap->Enable(p_enabled); - m_yellowCtl->Enable(p_enabled); - m_redCtl->Enable(p_enabled); - m_blueCtl->Enable(p_enabled); - m_greenCtl->Enable(p_enabled); - m_grayCtl->Enable(p_enabled); - m_blackCtl->Enable(p_enabled); + m_ColorBook_Bitmap->Enable(p_enabled); + m_Yellow_Ctl->Enable(p_enabled); + m_Red_Ctl->Enable(p_enabled); + m_Blue_Ctl->Enable(p_enabled); + m_Green_Ctl->Enable(p_enabled); + m_Gray_Ctl->Enable(p_enabled); + m_Black_Ctl->Enable(p_enabled); } // FUNCTION: LEGO1 0x10025010 void LegoCarBuild::TogglePresentersEnabled() { - m_colorBookBitmap->Enable(!m_colorBookBitmap->IsEnabled()); - m_yellowCtl->Enable(!m_yellowCtl->IsEnabled()); - m_redCtl->Enable(!m_redCtl->IsEnabled()); - m_blueCtl->Enable(!m_blueCtl->IsEnabled()); - m_greenCtl->Enable(!m_greenCtl->IsEnabled()); - m_grayCtl->Enable(!m_grayCtl->IsEnabled()); - m_blackCtl->Enable(!m_blackCtl->IsEnabled()); + m_ColorBook_Bitmap->Enable(!m_ColorBook_Bitmap->IsEnabled()); + m_Yellow_Ctl->Enable(!m_Yellow_Ctl->IsEnabled()); + m_Red_Ctl->Enable(!m_Red_Ctl->IsEnabled()); + m_Blue_Ctl->Enable(!m_Blue_Ctl->IsEnabled()); + m_Green_Ctl->Enable(!m_Green_Ctl->IsEnabled()); + m_Gray_Ctl->Enable(!m_Gray_Ctl->IsEnabled()); + m_Black_Ctl->Enable(!m_Black_Ctl->IsEnabled()); } // FUNCTION: LEGO1 0x100256c0 @@ -530,7 +547,7 @@ void LegoCarBuild::FUN_10025db0(const char* p_param1, undefined4 p_param2) MxS16 sVar3 = 1 - ((p_param2 / 5) & 1); - if (m_yellowCtl == m_unk0x33c) { + if (m_Yellow_Ctl == m_unk0x33c) { if (sVar3 != g_unk0x100f11cc) { TogglePresentersEnabled(); g_unk0x100f11cc = sVar3; diff --git a/LEGO1/library_msvc.h b/LEGO1/library_msvc.h index dfddcfcb..a4c6cd0a 100644 --- a/LEGO1/library_msvc.h +++ b/LEGO1/library_msvc.h @@ -666,4 +666,7 @@ // GLOBAL: LEGO1 0x1010a730 // __nstream +// LIBRARY: BETA10 0x100f9060 +// _assert + #endif diff --git a/tools/ncc/skip.yml b/tools/ncc/skip.yml index 6062e7b1..6950fbca 100644 --- a/tools/ncc/skip.yml +++ b/tools/ncc/skip.yml @@ -31,3 +31,24 @@ i_actor: "Allow original naming from beta" score: "Allow original naming from beta" c_LOCATIONS_NUM: "Allow original naming from beta" m_Map_Ctl: "Allow original naming from beta" +m_ColorBook_Bitmap: "Allow original naming from beta" +m_Yellow_Ctl: "Allow original naming from beta" +m_Red_Ctl: "Allow original naming from beta" +m_Blue_Ctl: "Allow original naming from beta" +m_Green_Ctl: "Allow original naming from beta" +m_Gray_Ctl: "Allow original naming from beta" +m_Black_Ctl: "Allow original naming from beta" +m_Shelf_Sound: "Allow original naming from beta" +m_PlaceBrick_Sound: "Allow original naming from beta" +m_GetBrick_Sound: "Allow original naming from beta" +m_Paint_Sound: "Allow original naming from beta" +m_Decal_Sound: "Allow original naming from beta" +m_Decal_Bitmap: "Allow original naming from beta" +m_Decals_Ctl: "Allow original naming from beta" +m_Decals_Ctl1: "Allow original naming from beta" +m_Decals_Ctl2: "Allow original naming from beta" +m_Decals_Ctl3: "Allow original naming from beta" +m_Decals_Ctl4: "Allow original naming from beta" +m_Decals_Ctl5: "Allow original naming from beta" +m_Decals_Ctl6: "Allow original naming from beta" +m_Decals_Ctl7: "Allow original naming from beta"