re3/src/modelinfo/WeaponModelInfo.cpp

56 lines
1.0 KiB
C++

#include "common.h"
#include "ModelInfo.h"
#include "AnimManager.h"
#include "VisibilityPlugins.h"
//--MIAMI: file done
void
CWeaponModelInfo::SetAnimFile(const char *file)
{
if(strcasecmp(file, "null") == 0)
return;
m_animFileName = new char[strlen(file)+1];
strcpy(m_animFileName, file);
}
void
CWeaponModelInfo::ConvertAnimFileIndex(void)
{
if(m_animFileIndex != -1){
// we have a string pointer in that union
int32 index = CAnimManager::GetAnimationBlockIndex(m_animFileName);
delete[] m_animFileName;
m_animFileIndex = index;
}
}
void
CWeaponModelInfo::Init(void)
{
CSimpleModelInfo::Init();
SetWeaponInfo(0);
}
void
CWeaponModelInfo::SetWeaponInfo(int32 weaponId)
{
m_atomics[2] = (RpAtomic*)weaponId;
}
eWeaponType
CWeaponModelInfo::GetWeaponInfo(void)
{
return (eWeaponType)(uintptr)m_atomics[2];
}
void
CWeaponModelInfo::SetAtomic(int n, RpAtomic *atomic)
{
CSimpleModelInfo::SetAtomic(n, atomic);
CVisibilityPlugins::SetAtomicRenderCallback(atomic, CVisibilityPlugins::RenderWeaponCB);
}