diff --git a/LEGO1/lego/legoomni/include/legoanimationmanager.h b/LEGO1/lego/legoomni/include/legoanimationmanager.h index f216ca30..81a8b481 100644 --- a/LEGO1/lego/legoomni/include/legoanimationmanager.h +++ b/LEGO1/lego/legoomni/include/legoanimationmanager.h @@ -32,20 +32,20 @@ struct ModelInfo { // SIZE 0x30 struct AnimInfo { - char* m_name; // 0x00 - MxU32 m_objectId; // 0x04 - MxS16 m_location; // 0x08 - MxBool m_unk0x0a; // 0x0a - MxU8 m_unk0x0b; // 0x0b - MxU8 m_unk0x0c; // 0x0c - MxU8 m_unk0x0d; // 0x0d - float m_unk0x10[4]; // 0x10 - MxU8 m_modelCount; // 0x20 - MxU16 m_unk0x22; // 0x22 - ModelInfo* m_models; // 0x24 - MxS8 m_unk0x28; // 0x28 - MxBool m_unk0x29; // 0x29 - MxS8 m_unk0x2a[3]; // 0x2a + char* m_name; // 0x00 + MxU32 m_objectId; // 0x04 + MxS16 m_location; // 0x08 + MxBool m_unk0x0a; // 0x0a + MxU8 m_unk0x0b; // 0x0b + MxU8 m_unk0x0c; // 0x0c + MxU8 m_unk0x0d; // 0x0d + float m_unk0x10[4]; // 0x10 + MxU8 m_modelCount; // 0x20 + MxU16 m_unk0x22; // 0x22 + ModelInfo* m_models; // 0x24 + MxS8 m_characterIndex; // 0x28 + MxBool m_unk0x29; // 0x29 + MxS8 m_unk0x2a[3]; // 0x2a }; // VTABLE: LEGO1 0x100d8d80 diff --git a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp index 51f9cea1..2e1c4466 100644 --- a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp @@ -679,7 +679,7 @@ MxResult LegoAnimationManager::LoadWorldInfo(LegoOmni::World p_worldId) goto done; } - m_anims[j].m_unk0x28 = GetCharacterIndex(m_anims[j].m_name + strlen(m_anims[j].m_name) - 2); + m_anims[j].m_characterIndex = GetCharacterIndex(m_anims[j].m_name + strlen(m_anims[j].m_name) - 2); m_anims[j].m_unk0x29 = FALSE; for (k = 0; k < 3; k++) { @@ -1615,7 +1615,8 @@ MxU16 LegoAnimationManager::FUN_10062110( MxS8 index = GetCharacterIndex(p_roi->GetName()); for (MxU16 i = m_unk0x0e; i <= m_unk0x10; i++) { - if (m_anims[i].m_unk0x28 == index && m_anims[i].m_unk0x0c & p_unk0x0c && m_anims[i].m_unk0x29) { + if (m_anims[i].m_characterIndex == index && m_anims[i].m_unk0x0c & p_unk0x0c && + m_anims[i].m_unk0x29) { MxS32 vehicleId = g_characters[index].m_vehicleId; if (vehicleId >= 0) { MxBool found = FALSE; @@ -1636,7 +1637,7 @@ MxU16 LegoAnimationManager::FUN_10062110( MxU16 unk0x22 = m_anims[i].m_unk0x22; for (i = i + 1; i <= m_unk0x10; i++) { - if (m_anims[i].m_unk0x28 == index && m_anims[i].m_unk0x0c & p_unk0x0c && + if (m_anims[i].m_characterIndex == index && m_anims[i].m_unk0x0c & p_unk0x0c && m_anims[i].m_unk0x29 && m_anims[i].m_unk0x22 < unk0x22) { result = i; unk0x22 = m_anims[i].m_unk0x22;