diff --git a/LEGO1/lego/legoomni/include/legocharacters.h b/LEGO1/lego/legoomni/include/legocharacters.h index aff7a23e..292eb9a9 100644 --- a/LEGO1/lego/legoomni/include/legocharacters.h +++ b/LEGO1/lego/legoomni/include/legocharacters.h @@ -4,7 +4,7 @@ #include "decomp.h" #include "mxtypes.h" -class LegoActor; +class LegoExtraActor; class LegoROI; // SIZE 0x108 @@ -19,13 +19,13 @@ struct LegoCharacterData { MxU8 m_unk0x14; // 0x14 }; - char* m_name; // 0x00 - LegoROI* m_roi; // 0x04 - LegoActor* m_actor; // 0x08 - MxS32 m_unk0x0c; // 0x0c - MxS32 m_unk0x10; // 0x10 - MxU8 m_unk0x14; // 0x14 - Part m_parts[10]; // 0x18 + char* m_name; // 0x00 + LegoROI* m_roi; // 0x04 + LegoExtraActor* m_actor; // 0x08 + MxS32 m_unk0x0c; // 0x0c + MxS32 m_unk0x10; // 0x10 + MxU8 m_unk0x14; // 0x14 + Part m_parts[10]; // 0x18 }; // SIZE 0x58 diff --git a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp index b538dbab..16d7f2de 100644 --- a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp @@ -149,6 +149,11 @@ LegoROI* LegoCharacterManager::GetROI(const char* p_key, MxBool p_createEntity) if (character == NULL) { LegoROI* roi = CreateROI(p_key); + + if (roi == NULL) { + goto done; + } + roi->SetVisibility(FALSE); if (roi != NULL) { @@ -167,9 +172,9 @@ LegoROI* LegoCharacterManager::GetROI(const char* p_key, MxBool p_createEntity) VideoManager()->Get3DManager()->Add(*character->m_roi); } +done: if (character != NULL) { if (p_createEntity && character->m_roi->GetEntity() == NULL) { - // TODO: Match LegoExtraActor* actor = new LegoExtraActor(); actor->SetROI(character->m_roi, FALSE, FALSE); @@ -357,6 +362,7 @@ LegoExtraActor* LegoCharacterManager::FUN_10084c40(const LegoChar*) { return NULL; } + // FUNCTION: LEGO1 0x10084c60 LegoCharacterData* LegoCharacterManager::Find(const char* p_key) { diff --git a/LEGO1/lego/legoomni/src/worlds/registrationbook.cpp b/LEGO1/lego/legoomni/src/worlds/registrationbook.cpp index aef8ad49..549fc89a 100644 --- a/LEGO1/lego/legoomni/src/worlds/registrationbook.cpp +++ b/LEGO1/lego/legoomni/src/worlds/registrationbook.cpp @@ -416,7 +416,7 @@ MxResult RegistrationBook::Tickle() if (m_checkboxHilite) { DDBLTFX op; op.dwSize = sizeof(op); - op.dwROP = 0xcc0020; + op.dwROP = SRCCOPY; if (g_nextCheckbox) { m_checkboxSurface->Blt(NULL, m_checkboxHilite, NULL, DDBLT_ROP, &op);