/* Z2SoundHandles.cpp autogenerated by split.py v0.3 at 2021-01-05 01:21:30.657620 */ #include "Z2AudioLib/Z2SoundHandles/Z2SoundHandles.h" #include "JSystem/JAudio2/JASGenericMemPool.h" #include "JSystem/JAudio2/JASMemPool.h" #include "global.h" extern "C" { void __ct__10JSUPtrLinkFPv(void); void __dl__FPv(void); void __dt__10JSUPtrLinkFv(void); void func_80361C24(void); void remove__10JSUPtrListFP10JSUPtrLink(void); void append__10JSUPtrListFP10JSUPtrLink(void); } // additional symbols needed for Z2SoundHandles.cpp // autogenerated by split.py v0.3 at 2021-01-05 01:21:30.649510 extern u8 lbl_804341B8; extern u8 lbl_80450B5C; extern u8 lbl_80451348; extern u8 lbl_804341C4; Z2SoundHandles::Z2SoundHandles() { mNumHandles = 0; } Z2SoundHandles::~Z2SoundHandles() { deleteHandlesPool(); } void Z2SoundHandles::initHandlesPool(u8 pNumHandles) { mNumHandles = pNumHandles; } asm void Z2SoundHandles::deleteHandlesPool() { nofralloc #include "Z2AudioLib/Z2SoundHandles/asm/func_802AB120.s" } extern "C" { // __dt__31JASMemPool<17Z2SoundHandlePool>Fv // JASMemPool<17Z2SoundHandlePool>::~JASMemPool<17Z2SoundHandlePool>(void) asm void JASMemPool_NS_dtor_X4_(void) { nofralloc #include "Z2AudioLib/Z2SoundHandles/asm/func_802AB200.s" } }; JAISoundHandle* Z2SoundHandles::getHandleSoundID(JAISoundID pSoundId) { JSULink* link; for (link = this->getFirst(); link != NULL; link = link->getNext()) { JAISoundHandle* handle = link->getObject(); if (handle->isSoundAttached()) { if ((*handle)->getID() == pSoundId) { return handle; } } } return NULL; } JAISoundHandle* Z2SoundHandles::getHandleUserData(u32 pUserData) { JSULink* link; for (link = this->getFirst(); link != NULL; link = link->getNext()) { JAISoundHandle* handle = link->getObject(); if (handle->isSoundAttached()) { if ((*handle)->getUserData() == pUserData) { return handle; } } } return NULL; } extern "C" { // getFreeHandle__14Z2SoundHandlesFv // Z2SoundHandles::getFreeHandle(void) asm void getFreeHandle__14Z2SoundHandlesFv(void) { nofralloc #include "Z2AudioLib/Z2SoundHandles/asm/func_802AB2D8.s" } // getLowPrioSound__14Z2SoundHandlesF10JAISoundID // Z2SoundHandles::getLowPrioSound(JAISoundID) asm void getLowPrioSound__14Z2SoundHandlesF10JAISoundID(void) { nofralloc #include "Z2AudioLib/Z2SoundHandles/asm/func_802AB3D0.s" } }; // stopAllSounds__14Z2SoundHandlesFUl // Z2SoundHandles::stopAllSounds(unsigned long) void Z2SoundHandles::stopAllSounds(u32 fadeout) { JSULink* link; for (link = this->getFirst(); link != NULL; link = link->getNext()) { JAISoundHandle* handle = link->getObject(); //! @meme: explicit operator bool call required to match and be similar //! to CHN_debug; could more concisely write handle->isSoundAttached //! (for some reason cast-to-bool doesn't work?) if (handle && handle->operator bool()) { (*handle)->stop(fadeout); } } } bool Z2SoundHandles::isActive() const { JSULink* link; for (link = this->getFirst(); link != NULL; link = link->getNext()) { if (link->getObject()->isSoundAttached()) { return true; } } return false; } // setPos__14Z2SoundHandlesFRCQ29JGeometry8TVec3 // Z2SoundHandles::setPos(JGeometry::TVec3) asm void Z2SoundHandles::setPos(const JGeometry::TVec3& pos) { nofralloc #include "Z2AudioLib/Z2SoundHandles/asm/func_802AB538.s" }