CWeaponModelInfo
This commit is contained in:
53
src/modelinfo/WeaponModelInfo.cpp
Normal file
53
src/modelinfo/WeaponModelInfo.cpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#include "common.h"
|
||||
|
||||
#include "ModelInfo.h"
|
||||
#include "AnimManager.h"
|
||||
#include "VisibilityPlugins.h"
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
int32
|
||||
CWeaponModelInfo::GetWeaponInfo(void)
|
||||
{
|
||||
return (int32)(uintptr)m_atomics[2];
|
||||
}
|
||||
|
||||
void
|
||||
CWeaponModelInfo::SetAtomic(int n, RpAtomic *atomic)
|
||||
{
|
||||
CSimpleModelInfo::SetAtomic(n, atomic);
|
||||
CVisibilityPlugins::SetAtomicRenderCallback(atomic, CVisibilityPlugins::RenderWeaponCB);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user