mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-07 05:14:58 -04:00
Merge pull request #504 from Sage-of-Mirrors/obj_mknjd
Majority of daObjMknjD Done
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "JSystem/J3DGraphBase/J3DVertex.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
|
||||
@@ -538,17 +538,17 @@ private:
|
||||
}; // Size: 0x1C
|
||||
|
||||
inline u16 calcZModeID(u8 param_0, u8 param_1, u8 param_2) {
|
||||
return ((param_1 * 2) & 0x1FE) + (param_0 * 0x10) + param_2;
|
||||
return (param_1 * 2) + (param_0 * 0x10) + param_2;
|
||||
}
|
||||
|
||||
extern u8 j3dZModeTable[96];
|
||||
extern J3DZModeInfo j3dZModeTable[2];
|
||||
|
||||
struct J3DZMode {
|
||||
J3DZMode() { mZModeID = j3dDefaultZModeID; }
|
||||
|
||||
u8 getCompareEnaable() const { return j3dZModeTable[mZModeID * 3]; }
|
||||
u8 getFunc() const { return j3dZModeTable[mZModeID * 3 + 1]; }
|
||||
u8 getUpdateEnable() const { return j3dZModeTable[mZModeID * 3 + 2]; }
|
||||
u8 getCompareEnaable() const { return j3dZModeTable[mZModeID].mCompareEnable; }
|
||||
u8 getFunc() const { return j3dZModeTable[mZModeID].mFunc; }
|
||||
u8 getUpdateEnable() const { return j3dZModeTable[mZModeID].mUpdateEnable; }
|
||||
|
||||
void setZModeInfo(const J3DZModeInfo& info) {
|
||||
mZModeID = calcZModeID(info.mCompareEnable, info.mFunc, info.mUpdateEnable);
|
||||
@@ -558,6 +558,14 @@ struct J3DZMode {
|
||||
J3DGDSetZMode(getCompareEnaable(), GXCompare(getFunc()), getUpdateEnable());
|
||||
}
|
||||
|
||||
void setCompareEnable(u8 i_compare) {
|
||||
mZModeID = calcZModeID(i_compare, j3dZModeTable[mZModeID].mFunc, j3dZModeTable[mZModeID].mUpdateEnable);
|
||||
}
|
||||
|
||||
void setUpdateEnable(u8 i_enable) {
|
||||
mZModeID = calcZModeID(j3dZModeTable[mZModeID].mCompareEnable, j3dZModeTable[mZModeID].mFunc, i_enable);
|
||||
}
|
||||
|
||||
/* 0x0 */ u16 mZModeID;
|
||||
};
|
||||
|
||||
@@ -572,6 +580,18 @@ struct J3DBlend : public J3DBlendInfo {
|
||||
void load(u8 ditherEnable) {
|
||||
J3DGDSetBlendMode(getBlendMode(), getSrcFactor(), getDstFactor(), getLogicOp(), ditherEnable);
|
||||
}
|
||||
|
||||
void setType(u8 i_type) {
|
||||
mBlendMode = i_type;
|
||||
}
|
||||
|
||||
void setSrcFactor(u8 i_src) {
|
||||
mSrcFactor = i_src;
|
||||
}
|
||||
|
||||
void setDstFactor(u8 i_dst) {
|
||||
mDstFactor = i_dst;
|
||||
}
|
||||
};
|
||||
|
||||
extern const J3DFogInfo j3dDefaultFogInfo;
|
||||
|
||||
@@ -85,12 +85,22 @@ public:
|
||||
JPASetRMtxTVecfromMtx(mtx, mGlobalRotation, mGlobalTranslation);
|
||||
}
|
||||
void setGlobalTranslation(f32 x, f32 y, f32 z) { mGlobalTranslation.set(x, y, z); }
|
||||
void setGlobalParticleScale(const JGeometry::TVec3<float>& scale) {
|
||||
void setGlobalScale(const JGeometry::TVec3<float>& scale) {
|
||||
mGlobalScale.set(scale);
|
||||
mGlobalScale2D.set(scale);
|
||||
}
|
||||
void setGlobalParticleScale(const JGeometry::TVec3<float>& scale) {
|
||||
mGlobalScale.set(scale);
|
||||
}
|
||||
void setGlobalDynamicsScale(const JGeometry::TVec3<float>& scale) {
|
||||
mGlobalScale2D.set(scale);
|
||||
}
|
||||
void setMaxFrame(s32 maxFrame) { mMaxFrame = maxFrame; }
|
||||
|
||||
void setVolumeSweep(float i_volSweep) { mVolumeSweep = i_volSweep; }
|
||||
void setLifeTime(s16 i_lifeTime) { mLifeTime = i_lifeTime; }
|
||||
void setRate(float i_rate) { mRate = i_rate; }
|
||||
|
||||
void stopCreateParticle() { setStatus(JPAEmtrStts_StopEmit); }
|
||||
|
||||
void becomeInvalidEmitter() {
|
||||
|
||||
@@ -96,6 +96,9 @@ public:
|
||||
void changeDemoMoveAngle(s16 angle) { mDemo.setMoveAngle(angle); }
|
||||
u8 getCutType() const { return mAttackState; }
|
||||
|
||||
void onPlayerNoDraw() { field_0x29c |= 0x8000000; }
|
||||
void offPlayerNoDraw() { field_0x29c &= ~0x8000000; }
|
||||
|
||||
virtual MtxP getLeftHandMatrix() = 0;
|
||||
virtual MtxP getRightHandMatrix() = 0;
|
||||
virtual void getGroundY() = 0;
|
||||
|
||||
@@ -902,6 +902,10 @@ inline fopAc_ac_c* dComIfGp_getPlayer(int idx) {
|
||||
return g_dComIfG_gameInfo.play.getPlayer(idx);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_getCb1Player() {
|
||||
return g_dComIfG_gameInfo.play.getPlayerPtr(1);
|
||||
}
|
||||
|
||||
inline roomRead_class* dComIfGp_getStageRoom() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getRoom();
|
||||
}
|
||||
@@ -1274,6 +1278,10 @@ inline fopAc_ac_c* dComIfGp_event_getTalkPartner() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(t);
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_setTalkPartner(void* i_actor) {
|
||||
g_dComIfG_gameInfo.play.getEvent().setPtT(i_actor);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_event_getItemPartner() {
|
||||
u32 i = g_dComIfG_gameInfo.play.getEvent().mPtItem;
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(i);
|
||||
@@ -1297,7 +1305,7 @@ inline s32 dComIfGp_evmng_getEventPrio(s16 eventIdx) {
|
||||
return dComIfGp_getEventManager().getEventPrio(eventIdx);
|
||||
}
|
||||
|
||||
inline s16 dComIfGp_evmng_getEventIdx(char* pName, u8 evNo) {
|
||||
inline s16 dComIfGp_evmng_getEventIdx(const char* pName, u8 evNo) {
|
||||
return dComIfGp_getEventManager().getEventIdx(pName, evNo);
|
||||
}
|
||||
|
||||
@@ -1313,7 +1321,7 @@ inline f32* dComIfGp_evmng_getMyFloatP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<f32*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 0)); //type 0 is float
|
||||
}
|
||||
|
||||
inline Vec* dComIfGp_evmng_getMyVec3dP(int staffIdx, const char* name) {
|
||||
inline Vec* dComIfGp_evmng_getMyXyzP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<Vec*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 1)); //type 1 is vec3f
|
||||
}
|
||||
|
||||
@@ -1325,6 +1333,10 @@ inline char* dComIfGp_evmng_getMyStringP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<char*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 4)); //type 4 is string
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_startCheck(s16 eventID) {
|
||||
return dComIfGp_getEventManager().startCheck(eventID);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_startCheck(const char* pName) {
|
||||
return dComIfGp_getEventManager().startCheckOld(pName);
|
||||
}
|
||||
@@ -1450,6 +1462,7 @@ inline void dComIfGd_setListP1() {
|
||||
|
||||
inline void dComIfGd_setListBG() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListBG();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListBG();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setXluListBG() {
|
||||
@@ -1559,14 +1572,14 @@ inline JPABaseEmitter* dComIfGp_particle_set(u16 particleID, const cXyz* pos, co
|
||||
pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
const cXyz* scale) {
|
||||
return dComIfGp_particle_set(particleID, pos, angle, scale, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
inline void dComIfGp_particle_setStripes(u16 particleID, cXyz* pos, csXyz* angle, cXyz* scale, u8 param_4, u16 param_5) {
|
||||
inline JPABaseEmitter* dComIfGp_particle_setP1(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
const cXyz* scale, u8 alpha,
|
||||
dPa_levelEcallBack* pCallBack, s8 setupInfo,
|
||||
const GXColor* pPrmColor, const GXColor* pEnvColor,
|
||||
const cXyz* pScale2D) {
|
||||
dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle();
|
||||
pParticle->setNormalStripes(particleID, pos, angle, scale, param_4, param_5);
|
||||
return pParticle->setNormalP1(particleID, pos, angle, scale, alpha, pCallBack, setupInfo,
|
||||
pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_setToon(u16 particleID, const cXyz* pos,
|
||||
@@ -1579,6 +1592,26 @@ inline JPABaseEmitter* dComIfGp_particle_setToon(u16 particleID, const cXyz* pos
|
||||
pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_setProjection(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
const cXyz* scale, u8 alpha,
|
||||
dPa_levelEcallBack* pCallBack, s8 setupInfo,
|
||||
const GXColor* pPrmColor, const GXColor* pEnvColor,
|
||||
const cXyz* pScale2D) {
|
||||
dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle();
|
||||
return pParticle->setProjection(particleID, pos, angle, scale, alpha, pCallBack, setupInfo,
|
||||
pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
const cXyz* scale) {
|
||||
return dComIfGp_particle_set(particleID, pos, angle, scale, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
inline void dComIfGp_particle_setStripes(u16 particleID, cXyz* pos, csXyz* angle, cXyz* scale, u8 param_4, u16 param_5) {
|
||||
dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle();
|
||||
pParticle->setNormalStripes(particleID, pos, angle, scale, param_4, param_5);
|
||||
}
|
||||
|
||||
inline void dComIfGp_particle_calc3D() {
|
||||
g_dComIfG_gameInfo.play.getParticle()->calc3D();
|
||||
}
|
||||
|
||||
+3
-2
@@ -69,7 +69,7 @@ public:
|
||||
void remove();
|
||||
void getStageEventDt();
|
||||
void nextStageEventDt(void*);
|
||||
void getPId(void*);
|
||||
int getPId(void*);
|
||||
fopAc_ac_c * convPId(unsigned int);
|
||||
void getTactFreeMStick(int);
|
||||
void getTactFreeCStick(int);
|
||||
@@ -78,6 +78,7 @@ public:
|
||||
u8 getTalkXYBtn() { return mTalkButton; }
|
||||
bool chkTalkXY() { return mTalkButton == 1 || mTalkButton == 2 || mTalkButton == 3; }
|
||||
void setPtI_Id(u32 id) { mPtItem = id; }
|
||||
void setPtT(void* i_actor) { mPtTalk = getPId(i_actor); }
|
||||
u8 getPreItemNo() { return mItemNo; }
|
||||
|
||||
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
@@ -116,4 +117,4 @@ public:
|
||||
/* 0xEE */ u8 mTactFreeCStick[4];
|
||||
}; // Size = 0xF4
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
void getEventData(s16);
|
||||
s16 getEventIdx(const char*, u8);
|
||||
void order(s16);
|
||||
void startCheck(s16);
|
||||
BOOL startCheck(s16);
|
||||
BOOL startCheckOld(const char*);
|
||||
BOOL endCheck(s16);
|
||||
BOOL endCheckOld(const char*);
|
||||
@@ -76,4 +76,4 @@ inline int dEvmng_strcmp(const char* s1, const char* s2) {
|
||||
return strcmp(s1, s2);
|
||||
}
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_MANAGER_H */
|
||||
#endif /* D_EVENT_D_EVENT_MANAGER_H */
|
||||
|
||||
+15
-2
@@ -370,12 +370,25 @@ public:
|
||||
const cXyz* pScale2D) {
|
||||
return set(0, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
JPABaseEmitter* setToon(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
JPABaseEmitter* setNormalP1(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack,
|
||||
s8 setupInfo, const GXColor* pPrmColor, const GXColor* pEnvColor,
|
||||
const cXyz* pScale2D) {
|
||||
return set(1, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
JPABaseEmitter* setToon(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack,
|
||||
s8 setupInfo, const GXColor* pPrmColor, const GXColor* pEnvColor,
|
||||
const cXyz* pScale2D) {
|
||||
return set(2, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
JPABaseEmitter* setProjection(u16 particleID, const cXyz* pos, const csXyz* angle,
|
||||
const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack,
|
||||
s8 setupInfo, const GXColor* pPrmColor, const GXColor* pEnvColor,
|
||||
const cXyz* pScale2D) {
|
||||
return set(4, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D);
|
||||
}
|
||||
|
||||
|
||||
void drawModelParticle() { mModelCtrl->draw(); }
|
||||
|
||||
@@ -392,4 +405,4 @@ public:
|
||||
/* 0x001C */ dPa_simpleEcallBack mSimpleCallbacks[25];
|
||||
};
|
||||
|
||||
#endif /* D_PARTICLE */
|
||||
#endif /* D_PARTICLE */
|
||||
|
||||
@@ -119,12 +119,12 @@ public:
|
||||
void setEventId(s16 id) { mEventId = id; }
|
||||
void setCondition(u16 condition) { mCondition = condition; }
|
||||
u16 getCondition() { return mCondition; }
|
||||
void setArchiveName(char* name) { mArchiveName = name; }
|
||||
//void setArchiveName(char* name) { mArchiveName = name; }
|
||||
u8 getMapToolId() { return mMapToolId; }
|
||||
s16 getEventId() { return mEventId; }
|
||||
s16 getIdx() { return mIndex; }
|
||||
void setIdx(u8 i_idx) { mIndex = i_idx; }
|
||||
char* getArchiveName() { return mArchiveName; }
|
||||
//char* getArchiveName() { return mArchiveName; }
|
||||
BOOL chkCondition(u16 condition) { return (mCondition & condition) == condition; }
|
||||
void onCondition(u16 cond) { mCondition |= cond; }
|
||||
void offCondition(u16 cond) { mCondition &= ~cond; }
|
||||
@@ -135,20 +135,14 @@ public:
|
||||
bool checkCommandDemoAccrpt() { return mCommand == 2; }
|
||||
bool checkCommandCatch() { return mCommand == 6; }
|
||||
|
||||
void suspendProc(void* actor) {
|
||||
if (field_0x10 != NULL) {
|
||||
field_0x14(actor);
|
||||
}
|
||||
}
|
||||
|
||||
/* 0x04 */ u16 mCommand;
|
||||
/* 0x06 */ u16 mCondition;
|
||||
/* 0x08 */ s16 mEventId;
|
||||
/* 0x0A */ u8 mMapToolId;
|
||||
/* 0x0B */ s8 mIndex;
|
||||
/* 0x0C */ char* mArchiveName;
|
||||
/* 0x10 */ u8 field_0x10;
|
||||
/* 0x14 */ void (*field_0x14)(void*);
|
||||
/* 0x0C */ s16 (*mpEventCB)(void*, int);
|
||||
/* 0x10 */ s16 (*mpCheckCB)(void*, int);
|
||||
/* 0x14 */ s16 (*mpPhotoCB)(void*, int);
|
||||
}; // Size = 0x18
|
||||
|
||||
struct actor_place {
|
||||
|
||||
@@ -19,7 +19,7 @@ typedef struct base_process_class {
|
||||
/* 0x0A */ s8 mUnk0;
|
||||
/* 0x0B */ u8 mPauseFlag;
|
||||
/* 0x0C */ s8 mInitState;
|
||||
/* 0x0D */ u8 mUnk2;
|
||||
/* 0x0D */ s8 mCreateResult;
|
||||
/* 0x0E */ s16 mProfName;
|
||||
/* 0x10 */ process_profile_definition* mpProf;
|
||||
/* 0x14 */ struct create_request* mpCtRq;
|
||||
|
||||
@@ -70,6 +70,10 @@ inline void* fpcM_LyJudge(process_node_class* i_node, fpcLyIt_JudgeFunc i_func,
|
||||
return fpcLyIt_Judge(&i_node->mLayer, i_func, i_data);
|
||||
}
|
||||
|
||||
inline s8 fpcM_CreateResult(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mCreateResult;
|
||||
}
|
||||
|
||||
void fpcM_Draw(void* pProc);
|
||||
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc);
|
||||
s32 fpcM_Execute(void* pProc);
|
||||
|
||||
@@ -39,6 +39,10 @@ int mDoAud_load1stDynamicWave();
|
||||
|
||||
extern JKRSolidHeap* g_mDoAud_audioHeap;
|
||||
|
||||
inline void mDoAud_bgmStart(u32 param_0) {
|
||||
mDoAud_zelAudio_c::getInterface()->bgmStart(param_0, 0, 0);
|
||||
}
|
||||
|
||||
inline void mDoAud_bgmStop(u32 param_0) {
|
||||
mDoAud_zelAudio_c::getInterface()->bgmStop(param_0, 0);
|
||||
}
|
||||
@@ -51,6 +55,10 @@ inline void mDoAud_load2ndDynamicWave() {
|
||||
mDoAud_zelAudio_c::getInterface()->load2ndDynamicWave();
|
||||
}
|
||||
|
||||
inline void mDoAud_taktModeMuteOff() {
|
||||
mDoAud_zelAudio_c::getInterface()->taktModeMuteOff();
|
||||
}
|
||||
|
||||
inline void mDoAud_resetProcess() {
|
||||
if (mDoAud_zelAudio_c::isResetFlag()) {
|
||||
mDoAud_zelAudio_c::getInterface()->resetProcess();
|
||||
|
||||
+10
-10
@@ -191,7 +191,7 @@ void daArrow_c::setBlur() {
|
||||
/* 800D4994-800D4A04 .text createBlur__9daArrow_cFv */
|
||||
void daArrow_c::createBlur() {
|
||||
if (!mPtclFollowCb.getEmitter()) {
|
||||
dComIfGp_particle_setToon(0x48, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x48, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb, -1, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -393,7 +393,7 @@ bool daArrow_c::check_water_in() {
|
||||
|
||||
if (mArrowType == TYPE_FIRE) {
|
||||
mInWaterTimer = 1;
|
||||
dComIfGp_particle_setToon(0x35A, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x35A, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
if (field_0x6e4 == 0) {
|
||||
dKy_arrowcol_chg_on(¤t.pos, 0);
|
||||
}
|
||||
@@ -407,7 +407,7 @@ bool daArrow_c::check_water_in() {
|
||||
dKy_arrowcol_chg_on(¤t.pos, 1);
|
||||
}
|
||||
} else if (mArrowType == TYPE_LIGHT) {
|
||||
dComIfGp_particle_setToon(0x2A1, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x2A1, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0);
|
||||
if (field_0x6e4 == 0) {
|
||||
dKy_arrowcol_chg_on(¤t.pos, 2);
|
||||
@@ -691,7 +691,7 @@ BOOL daArrow_c::procMove() {
|
||||
mDoMtx_stack_c::ZXYrotM(temp10.x, temp10.y, 0);
|
||||
cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4);
|
||||
|
||||
dComIfGp_particle_setToon(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0);
|
||||
fopAcM_delete(this);
|
||||
} else {
|
||||
@@ -792,15 +792,15 @@ BOOL daArrow_c::procMove() {
|
||||
cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4);
|
||||
|
||||
if (mArrowType == TYPE_FIRE) {
|
||||
dComIfGp_particle_setToon(0x29A, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setToon(0x29B, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x29A, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x29B, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
fopAcM_seStartCurrent(this, JA_SE_OBJ_FIRE_ARW_EFF, 0);
|
||||
field_0x698 = 0;
|
||||
} else if (mArrowType == TYPE_ICE) {
|
||||
if (dComIfG_Bgsp()->ChkGrpInf(mLinChk, 0x200)) {
|
||||
fopAcM_create(PROC_Obj_Magmarock, NULL, &field_0x6a8, current.roomNo, NULL, NULL, -1, NULL);
|
||||
} else {
|
||||
dComIfGp_particle_setToon(0x29E, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x29E, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
|
||||
fopAcM_createChild(
|
||||
PROC_ARROW_ICEEFF, fpcM_GetID(this),
|
||||
@@ -811,7 +811,7 @@ BOOL daArrow_c::procMove() {
|
||||
fopAcM_seStartCurrent(this, JA_SE_OBJ_ICE_ARW_EFF, 0);
|
||||
}
|
||||
} else if (mArrowType == TYPE_LIGHT) {
|
||||
dComIfGp_particle_setToon(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0);
|
||||
field_0x698 = 0;
|
||||
}
|
||||
@@ -829,7 +829,7 @@ BOOL daArrow_c::procMove() {
|
||||
csXyz temp9;
|
||||
cM3d_CalcVecZAngle(triPla->mNormal, &temp9);
|
||||
|
||||
dComIfGp_particle_setToon(0xC, &field_0x6a8, &temp9, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
dComIfGp_particle_setP1(0xC, &field_0x6a8, &temp9, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_REBOUND, mtrlSndId);
|
||||
} else {
|
||||
fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_HIT, mtrlSndId);
|
||||
@@ -1142,7 +1142,7 @@ BOOL daArrow_c::_execute() {
|
||||
scaleVec.x = scale;
|
||||
scaleVec.y = scale;
|
||||
scaleVec.z = scale;
|
||||
mpSparkleEmitter->setGlobalParticleScale(scaleVec);
|
||||
mpSparkleEmitter->setGlobalScale(scaleVec);
|
||||
} else {
|
||||
mpSparkleEmitter->becomeInvalidEmitter();
|
||||
mpSparkleEmitter = NULL;
|
||||
|
||||
+1051
-132
File diff suppressed because it is too large
Load Diff
@@ -564,4 +564,3 @@ void dPa_setColorEcallBack::setup(JPABaseEmitter*, const cXyz*, const csXyz*, si
|
||||
// dPa_setColorEcallBack::~dPa_setColorEcallBack() {
|
||||
// /* Nonmatching */
|
||||
// }
|
||||
|
||||
|
||||
@@ -119,19 +119,19 @@ s32 fpcBs_SubCreate(base_process_class* i_proc) {
|
||||
case 2:
|
||||
case cPhs_COMPLEATE_e:
|
||||
fpcBs_DeleteAppend(i_proc);
|
||||
i_proc->mUnk2 = 2;
|
||||
i_proc->mCreateResult = 2;
|
||||
return 2;
|
||||
case cPhs_INIT_e:
|
||||
case 1:
|
||||
i_proc->mInitState = 1;
|
||||
i_proc->mUnk2 = 0;
|
||||
i_proc->mCreateResult = 0;
|
||||
return cPhs_INIT_e;
|
||||
case 3:
|
||||
i_proc->mUnk2 = 3;
|
||||
i_proc->mCreateResult = 3;
|
||||
return 3;
|
||||
case cPhs_ERROR_e:
|
||||
default:
|
||||
i_proc->mUnk2 = 5;
|
||||
i_proc->mCreateResult = 5;
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user