diff --git a/configure.py b/configure.py index 7f5209536..858100aa0 100755 --- a/configure.py +++ b/configure.py @@ -687,7 +687,7 @@ config.libs = [ Object(NonMatching, "JSystem/JParticle/JPAField.cpp"), Object(Matching, "JSystem/JParticle/JPAEmitter.cpp"), Object(Matching, "JSystem/JParticle/JPAParticle.cpp"), - Object(NonMatching, "JSystem/JParticle/JPAEmitterManager.cpp"), + Object(Matching, "JSystem/JParticle/JPAEmitterManager.cpp"), Object(NonMatching, "JSystem/JParticle/JPADrawVisitor.cpp"), Object(NonMatching, "JSystem/JParticle/JPADraw.cpp"), Object(Matching, "JSystem/JParticle/JPADrawSetupTev.cpp"), diff --git a/include/JSystem/JParticle/JPAEmitterManager.h b/include/JSystem/JParticle/JPAEmitterManager.h index 63f12e2a2..472e12676 100644 --- a/include/JSystem/JParticle/JPAEmitterManager.h +++ b/include/JSystem/JParticle/JPAEmitterManager.h @@ -26,7 +26,7 @@ public: class JPAEmitterManager { public: JPAEmitterManager(JPAResourceManager*, u32, u32, u32, JKRHeap*); - JPABaseEmitter* createSimpleEmitterID(const JGeometry::TVec3&, u16, u8, u8, JPACallBackBase*, JPACallBackBase2*); + JPABaseEmitter* createSimpleEmitterID(const JGeometry::TVec3&, u16, u8, u8, JPACallBackBase*, JPACallBackBase2*); void calc(u8); void draw(JPADrawInfo*, u8); void deleteEmitter(JPABaseEmitter*); diff --git a/src/JSystem/JParticle/JPAEmitterManager.cpp b/src/JSystem/JParticle/JPAEmitterManager.cpp index f92986cb6..90f85a2e8 100644 --- a/src/JSystem/JParticle/JPAEmitterManager.cpp +++ b/src/JSystem/JParticle/JPAEmitterManager.cpp @@ -47,24 +47,21 @@ JPAEmitterManager::JPAEmitterManager(JPAResourceManager* resMgr, u32 ptclNum, u3 } /* 8025F0E4-8025F2F4 .text createSimpleEmitterID__17JPAEmitterManagerFRCQ29JGeometry8TVec3UsUcUcP34JPACallBackBaseP54JPACallBackBase2 */ -JPABaseEmitter* JPAEmitterManager::createSimpleEmitterID(const JGeometry::TVec3& pos, u16 userID, u8 groupID, u8 rmID, JPACallBackBase* pEmtrCallBack, JPACallBackBase2* pPtclCallBack) { - /* Nonmatching - regalloc */ - JUT_ASSERT(0x56, groupID < 16); - JUT_ASSERT(0x57, rmID < 8); - JUT_ASSERT(0x58, pResMgrArray[rmID] != NULL); +JPABaseEmitter* JPAEmitterManager::createSimpleEmitterID(const JGeometry::TVec3& pos, u16 userID, u8 groupID, u8 rmID, JPACallBackBase* pEmtrCallBack, JPACallBackBase2* pPtclCallBack) { + JUT_ASSERT(86, groupID < 16); + JUT_ASSERT(87, rmID < 8); + JUT_ASSERT(88, pResMgrArray[rmID] != NULL); JPABaseEmitter* emtr; JPAEmitterData* emtrData; - JPAResourceManager* resMgr; emtr = NULL; - resMgr = pResMgrArray[rmID]; - emtrData = resMgr->getEmitterResource()->getByUserIndex(userID); + emtrData = pResMgrArray[rmID]->getEmitterResource()->getByUserIndex(userID); if (emtrData == NULL) { JUT_WARN(98, "%s", "JParticle::Couldn't Create Emitter!"); JUT_WARN(99, "%s", "User Index Number specification has mistaken."); - JUT_WARN(100, "Group ID (%d),EmitterManagerPtr(%x)", groupID, resMgr); + JUT_WARN(100, "Group ID (%d),EmitterManagerPtr(%x)", groupID, this); } else if (mEmtrPool.getNumLinks() != 0) { emtr = mEmtrPool.getFirst()->getObject(); mEmtrPool.remove(emtr->getLinkBufferPtr()); @@ -75,7 +72,7 @@ JPABaseEmitter* JPAEmitterManager::createSimpleEmitterID(const JGeometry::TVec3< emtr->setParticleCallBackPtr(pPtclCallBack); emtr->mGroupID = groupID; emtr->mResMgrID = rmID; - emtr->mGlobalTranslation.set(pos); + emtr->setGlobalTranslation(pos); } return emtr;