diff options
author | aap <aap@papnet.eu> | 2020-05-10 10:04:20 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2020-05-10 10:04:20 +0200 |
commit | e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274 (patch) | |
tree | bab6161fcd3d49bd6805619cb304d6958d1147a1 /src/modelinfo/WeaponModelInfo.cpp | |
parent | Merge pull request #528 from Nick007J/miami (diff) | |
download | re3-e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274.tar re3-e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274.tar.gz re3-e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274.tar.bz2 re3-e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274.tar.lz re3-e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274.tar.xz re3-e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274.tar.zst re3-e9fbd2ccfd9bd70cfdae0161f4c32aa29f6b7274.zip |
Diffstat (limited to 'src/modelinfo/WeaponModelInfo.cpp')
-rw-r--r-- | src/modelinfo/WeaponModelInfo.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/modelinfo/WeaponModelInfo.cpp b/src/modelinfo/WeaponModelInfo.cpp new file mode 100644 index 00000000..fe5ead01 --- /dev/null +++ b/src/modelinfo/WeaponModelInfo.cpp @@ -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); +} + |