diff options
Diffstat (limited to 'src/entities/Entity.cpp')
-rw-r--r-- | src/entities/Entity.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/entities/Entity.cpp b/src/entities/Entity.cpp index 9b6be5f6..1073deb3 100644 --- a/src/entities/Entity.cpp +++ b/src/entities/Entity.cpp @@ -126,6 +126,7 @@ CEntity::CreateRwObject(void) m_matrix.AttachRW(RwFrameGetMatrix(RpAtomicGetFrame((RpAtomic*)m_rwObject)), false); else if(RwObjectGetType(m_rwObject) == rpCLUMP) m_matrix.AttachRW(RwFrameGetMatrix(RpClumpGetFrame((RpClump*)m_rwObject)), false); + mi->AddRef(); } } @@ -139,6 +140,7 @@ CEntity::AttachToRwObject(RwObject *obj) m_matrix.Attach(RwFrameGetMatrix(RpAtomicGetFrame((RpAtomic*)m_rwObject)), false); else if(RwObjectGetType(m_rwObject) == rpCLUMP) m_matrix.Attach(RwFrameGetMatrix(RpClumpGetFrame((RpClump*)m_rwObject)), false); + CModelInfo::GetModelInfo(m_modelIndex)->AddRef(); } } @@ -239,12 +241,8 @@ CEntity::GetBoundRadius(void) void CEntity::UpdateRwFrame(void) { - if(m_rwObject){ - if(RwObjectGetType(m_rwObject) == rpATOMIC) - RwFrameUpdateObjects(RpAtomicGetFrame((RpAtomic*)m_rwObject)); - else if(RwObjectGetType(m_rwObject) == rpCLUMP) - RwFrameUpdateObjects(RpClumpGetFrame((RpClump*)m_rwObject)); - } + if(m_rwObject) + RwFrameUpdateObjects((RwFrame*)rwObjectGetParent(m_rwObject)); } void |