Matches/fixes

This commit is contained in:
Christian Semmler 2024-03-23 12:58:38 -04:00
parent fcbb5cd041
commit 64a7e03fc3
3 changed files with 16 additions and 10 deletions

View File

@ -4,7 +4,7 @@
#include "decomp.h" #include "decomp.h"
#include "mxtypes.h" #include "mxtypes.h"
class LegoActor; class LegoExtraActor;
class LegoROI; class LegoROI;
// SIZE 0x108 // SIZE 0x108
@ -19,13 +19,13 @@ struct LegoCharacterData {
MxU8 m_unk0x14; // 0x14 MxU8 m_unk0x14; // 0x14
}; };
char* m_name; // 0x00 char* m_name; // 0x00
LegoROI* m_roi; // 0x04 LegoROI* m_roi; // 0x04
LegoActor* m_actor; // 0x08 LegoExtraActor* m_actor; // 0x08
MxS32 m_unk0x0c; // 0x0c MxS32 m_unk0x0c; // 0x0c
MxS32 m_unk0x10; // 0x10 MxS32 m_unk0x10; // 0x10
MxU8 m_unk0x14; // 0x14 MxU8 m_unk0x14; // 0x14
Part m_parts[10]; // 0x18 Part m_parts[10]; // 0x18
}; };
// SIZE 0x58 // SIZE 0x58

View File

@ -149,6 +149,11 @@ LegoROI* LegoCharacterManager::GetROI(const char* p_key, MxBool p_createEntity)
if (character == NULL) { if (character == NULL) {
LegoROI* roi = CreateROI(p_key); LegoROI* roi = CreateROI(p_key);
if (roi == NULL) {
goto done;
}
roi->SetVisibility(FALSE); roi->SetVisibility(FALSE);
if (roi != NULL) { if (roi != NULL) {
@ -167,9 +172,9 @@ LegoROI* LegoCharacterManager::GetROI(const char* p_key, MxBool p_createEntity)
VideoManager()->Get3DManager()->Add(*character->m_roi); VideoManager()->Get3DManager()->Add(*character->m_roi);
} }
done:
if (character != NULL) { if (character != NULL) {
if (p_createEntity && character->m_roi->GetEntity() == NULL) { if (p_createEntity && character->m_roi->GetEntity() == NULL) {
// TODO: Match
LegoExtraActor* actor = new LegoExtraActor(); LegoExtraActor* actor = new LegoExtraActor();
actor->SetROI(character->m_roi, FALSE, FALSE); actor->SetROI(character->m_roi, FALSE, FALSE);
@ -357,6 +362,7 @@ LegoExtraActor* LegoCharacterManager::FUN_10084c40(const LegoChar*)
{ {
return NULL; return NULL;
} }
// FUNCTION: LEGO1 0x10084c60 // FUNCTION: LEGO1 0x10084c60
LegoCharacterData* LegoCharacterManager::Find(const char* p_key) LegoCharacterData* LegoCharacterManager::Find(const char* p_key)
{ {

View File

@ -416,7 +416,7 @@ MxResult RegistrationBook::Tickle()
if (m_checkboxHilite) { if (m_checkboxHilite) {
DDBLTFX op; DDBLTFX op;
op.dwSize = sizeof(op); op.dwSize = sizeof(op);
op.dwROP = 0xcc0020; op.dwROP = SRCCOPY;
if (g_nextCheckbox) { if (g_nextCheckbox) {
m_checkboxSurface->Blt(NULL, m_checkboxHilite, NULL, DDBLT_ROP, &op); m_checkboxSurface->Blt(NULL, m_checkboxHilite, NULL, DDBLT_ROP, &op);