diff --git a/configure.py b/configure.py index 3362b88eb..a17ccef0e 100644 --- a/configure.py +++ b/configure.py @@ -567,7 +567,7 @@ config.libs = [ Object(Matching, "JSystem/JParticle/JPAFieldBlock.cpp"), Object(Matching, "JSystem/JParticle/JPAKeyBlock.cpp"), Object(Matching, "JSystem/JParticle/JPATexture.cpp"), - Object(NonMatching, "JSystem/JParticle/JPAResourceManager.cpp"), + Object(Matching, "JSystem/JParticle/JPAResourceManager.cpp"), Object(NonMatching, "JSystem/JParticle/JPAEmitterLoader.cpp"), Object(NonMatching, "JSystem/JParticle/JPAMath.cpp"), Object(NonMatching, "JSystem/JParticle/JPAField.cpp"), diff --git a/include/JSystem/JParticle/JPAEmitterLoader.h b/include/JSystem/JParticle/JPAEmitterLoader.h index 86fd9ca88..117859226 100644 --- a/include/JSystem/JParticle/JPAEmitterLoader.h +++ b/include/JSystem/JParticle/JPAEmitterLoader.h @@ -17,6 +17,8 @@ struct JPAEmitterData { public: JPAEmitterData() : pLinkInfoArray(NULL) {} JPADataBlockLinkInfo** getLinkInfo() { return pLinkInfoArray; } + void setUserIndex(u16 v) { userIndex = v; } + u16 getUserIndex() { return userIndex; } public: /* 0x00 */ JPADataBlockLinkInfo** pLinkInfoArray; diff --git a/src/JSystem/JParticle/JPAResourceManager.cpp b/src/JSystem/JParticle/JPAResourceManager.cpp index 59c32af62..a155fe227 100644 --- a/src/JSystem/JParticle/JPAResourceManager.cpp +++ b/src/JSystem/JParticle/JPAResourceManager.cpp @@ -38,6 +38,13 @@ JPAEmitterResource::JPAEmitterResource(u32 num, JKRHeap* heap) { JUT_ASSERT(93, pEmtrResArray); } +static void dummy2() { + OSReport("(eArraySize != 0) && (tArraySize != 0)"); + OSReport("pEmtrResMgr && pTexResMgr"); + OSReport("jpa file %s was not found\n"); + OSReport("binData"); +} + /* 80258E70-80258F18 .text registration__18JPAEmitterResourceFP14JPAEmitterDataUs */ void JPAEmitterResource::registration(JPAEmitterData* res, u16 userIndex) { JUT_ASSERT(107, registNum < maxNum); @@ -51,9 +58,8 @@ void JPAEmitterResource::registration(JPAEmitterData* res, u16 userIndex) { /* 80258F18-80258F5C .text getByUserIndex__18JPAEmitterResourceFUs */ JPAEmitterData * JPAEmitterResource::getByUserIndex(u16 userIndex) { for (u32 i = 0; i < registNum; i++) { - JPAEmitterData * data = pEmtrResArray[i]; - if (data->userIndex == userIndex) - return data; + if (pEmtrResArray[i]->getUserIndex() == userIndex) + return pEmtrResArray[i]; } return NULL; } @@ -61,8 +67,7 @@ JPAEmitterData * JPAEmitterResource::getByUserIndex(u16 userIndex) { /* 80258F5C-80258FA0 .text checkUserIndexDuplication__18JPAEmitterResourceFUs */ BOOL JPAEmitterResource::checkUserIndexDuplication(u16 userIndex) { for (u32 i = 0; i < registNum; i++) { - JPAEmitterData * data = pEmtrResArray[i]; - if (data->userIndex == userIndex) + if (pEmtrResArray[i]->getUserIndex() == userIndex) return TRUE; } return FALSE;