diff options
Diffstat (limited to 'src/JSystem/JParticle/JPAResourceManager.cpp')
| -rw-r--r-- | src/JSystem/JParticle/JPAResourceManager.cpp | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/JSystem/JParticle/JPAResourceManager.cpp b/src/JSystem/JParticle/JPAResourceManager.cpp new file mode 100644 index 00000000..e06be753 --- /dev/null +++ b/src/JSystem/JParticle/JPAResourceManager.cpp @@ -0,0 +1,84 @@ +// +// Generated By: dol2asm +// Translation Unit: JPAResourceManager +// + +#include "JSystem/JParticle/JPAResourceManager.h" +#include "JSystem/JParticle/JPADynamicsBlock.h" +#include "JSystem/JParticle/JPAResource.h" +#include "string.h" + +struct JPAResourceLoader { + /* 8027D8A0 */ JPAResourceLoader(u8 const*, JPAResourceManager*); +}; + +/* 80273E10-80273E68 26E750 0058+00 0/0 2/2 0/0 .text __ct__18JPAResourceManagerFPCvP7JKRHeap */ +JPAResourceManager::JPAResourceManager(void const* pData, JKRHeap* pHeap) { + mpResArr = NULL; + mpTexArr = NULL; + mResMax = 0; + mResNum = 0; + mTexMax = 0; + mTexNum = 0; + mpHeap = pHeap; + JPAResourceLoader loader((u8 const*)pData, this); +} + +/* 80273E68-80273EA8 26E7A8 0040+00 1/1 1/1 0/0 .text getResource__18JPAResourceManagerCFUs */ +JPAResource* JPAResourceManager::getResource(u16 usrIdx) const { + for (u16 i = 0; i < mResNum; i++) + if (mpResArr[i]->getUsrIdx() == usrIdx) + return mpResArr[i]; + return NULL; +} + +/* 80273EA8-80273EEC 26E7E8 0044+00 0/0 2/2 0/0 .text + * checkUserIndexDuplication__18JPAResourceManagerCFUs */ +bool JPAResourceManager::checkUserIndexDuplication(u16 usrIdx) const { + for (s32 i = 0; i < mResNum; i++) + if (mpResArr[i]->getUsrIdx() == usrIdx) + return true; + return false; +} + +/* 80273EEC-80273F8C 26E82C 00A0+00 0/0 2/2 0/0 .text + * swapTexture__18JPAResourceManagerFPC7ResTIMGPCc */ +const ResTIMG* JPAResourceManager::swapTexture(ResTIMG const* img, char const* swapName) { + const ResTIMG* ret = NULL; + + for (s32 i = 0; i < mTexNum; i++) { + if (strcmp(swapName, mpTexArr[i]->getName()) == 0) { + JUTTexture* tex = mpTexArr[i]->getJUTTexture(); + ret = tex->getTexInfo(); + tex->storeTIMG(img, (u8)0); + break; + } + } + + return ret; +} + +/* 80273F8C-80273FAC 26E8CC 0020+00 0/0 1/1 0/0 .text + * registRes__18JPAResourceManagerFP11JPAResource */ +void JPAResourceManager::registRes(JPAResource* res) { + mpResArr[mResNum] = res; + mResNum++; +} + +/* 80273FAC-80273FCC 26E8EC 0020+00 0/0 1/1 0/0 .text + * registTex__18JPAResourceManagerFP10JPATexture */ +void JPAResourceManager::registTex(JPATexture* tex) { + mpTexArr[mTexNum] = tex; + mTexNum++; +} + +/* 80273FCC-80274010 26E90C 0044+00 0/0 6/6 0/0 .text getResUserWork__18JPAResourceManagerCFUs */ +u32 JPAResourceManager::getResUserWork(u16 usrIdx) const { + u32 ret = 0; + + JPAResource* res = getResource(usrIdx); + if (res != NULL) + ret = res->getDyn()->getResUserWork(); + + return ret; +}
\ No newline at end of file |
