mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
daPy_lk_c::commonProcInit match
This commit is contained in:
@@ -62,7 +62,7 @@ public:
|
||||
void checkSePlaying(u32);
|
||||
void seStopActor(Vec*, u32);
|
||||
void seDeleteObject(Vec*);
|
||||
void getLinkVoiceVowel(u32);
|
||||
u8 getLinkVoiceVowel(u32);
|
||||
void linkVoiceStart(u32, Vec*, u8, s8);
|
||||
void monsSeInit();
|
||||
void monsSeStart(u32, Vec*, u32, u32, s8);
|
||||
|
||||
@@ -29,6 +29,8 @@ public:
|
||||
void makeEmitterColor(u16, MtxP, const cXyz*, const GXColor*, const GXColor*);
|
||||
void setup(JPABaseEmitter* emitter, const cXyz*, const csXyz*, s8) { mpEmitter = emitter; }
|
||||
|
||||
JPABaseEmitter* getEmitter() { return mpEmitter; }
|
||||
|
||||
/* 0x04 */ JPABaseEmitter* mpEmitter;
|
||||
/* 0x08 */ MtxP mpMtx;
|
||||
}; // Size: 0x0C
|
||||
@@ -78,6 +80,7 @@ private:
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum daPy_FLG0 {
|
||||
daPyFlg0_UNK4 = 0x00000004,
|
||||
daPyFlg0_UNK10 = 0x00000010,
|
||||
daPyFlg0_CUT_AT_FLG = 0x00000040,
|
||||
daPyFlg0_PUSH_PULL_KEEP = 0x00000800,
|
||||
@@ -90,36 +93,42 @@ public:
|
||||
};
|
||||
|
||||
enum daPy_FLG1 {
|
||||
daPy_FLG1_EQUIP_DRAGON_SHIELD = 0x00000001,
|
||||
daPy_FLG1_NPC_CALL_COMMAND = 0x00000002,
|
||||
daPy_FLG1_FORCE_VOMIT_JUMP = 0x00000010,
|
||||
daPy_FLG1_NPC_NOT_CHANGE = 0x00000040,
|
||||
daPy_FLG1_CONFUSE = 0x00000100,
|
||||
daPy_FLG1_FREEZE_STATE = 0x00000800,
|
||||
daPy_FLG1_SHIP_TACT = 0x00001000,
|
||||
daPy_FLG1_USE_ARROW_EFFECT = 0x00002000,
|
||||
daPy_FLG1_LETTER_READ_EYE_MOVE = 0x00004000,
|
||||
daPy_FLG1_UNK8000 = 0x00008000,
|
||||
daPy_FLG1_FOREST_WATER_USE = 0x00020000,
|
||||
daPy_FLG1_WATER_DROP = 0x00080000,
|
||||
daPy_FLG1_VINE_CATCH = 0x02000000,
|
||||
daPy_FLG1_LAST_COMBO_WAIT = 0x20000000,
|
||||
daPyFlg1_EQUIP_DRAGON_SHIELD = 0x00000001,
|
||||
daPyFlg1_NPC_CALL_COMMAND = 0x00000002,
|
||||
daPyFlg1_FORCE_VOMIT_JUMP = 0x00000010,
|
||||
daPyFlg1_NPC_NOT_CHANGE = 0x00000040,
|
||||
daPyFlg1_UNK80 = 0x00000080,
|
||||
daPyFlg1_CONFUSE = 0x00000100,
|
||||
daPyFlg1_FREEZE_STATE = 0x00000800,
|
||||
daPyFlg1_SHIP_TACT = 0x00001000,
|
||||
daPyFlg1_USE_ARROW_EFFECT = 0x00002000,
|
||||
daPyFlg1_LETTER_READ_EYE_MOVE = 0x00004000,
|
||||
daPyFlg1_UNK8000 = 0x00008000,
|
||||
daPyFlg1_FOREST_WATER_USE = 0x00020000,
|
||||
daPyFlg1_WATER_DROP = 0x00080000,
|
||||
daPyFlg1_UNK800000 = 0x00800000,
|
||||
daPyFlg1_UNK1000000 = 0x01000000,
|
||||
daPyFlg1_VINE_CATCH = 0x02000000,
|
||||
daPyFlg1_UNK8000000 = 0x08000000,
|
||||
daPyFlg1_LAST_COMBO_WAIT = 0x20000000,
|
||||
};
|
||||
|
||||
enum daPy_RFLG0 {
|
||||
daPy_RFLG0_ROPE_GRAB_RIGHT_HAND = 0x00000004,
|
||||
daPy_RFLG0_GRAB_UP_END = 0x00000020,
|
||||
daPy_RFLG0_AUTO_JUMP_LAND = 0x00000040,
|
||||
daPy_RFLG0_RIGHT_FOOT_ON_GROUND = 0x00000400,
|
||||
daPy_RFLG0_LEFT_FOOT_ON_GROUND = 0x00000800,
|
||||
daPy_RFLG0_FRONT_ROLL_CRASH = 0x00002000,
|
||||
daPy_RFLG0_UNK4000 = 0x00004000,
|
||||
daPy_RFLG0_GRAB_UP_START = 0x00008000,
|
||||
daPy_RFLG0_ATTENTION_LOCK = 0x00010000,
|
||||
daPy_RFLG0_HAMMER_QUAKE = 0x00020000,
|
||||
daPy_RFLG0_GRAB_PUT_START = 0x00400000,
|
||||
daPy_RFLG0_TACT_USE = 0x01000000,
|
||||
daPy_RFLG0_FAIRY_USE = 0x02000000,
|
||||
daPyRFlg0_UNK2 = 0x00000002,
|
||||
daPyRFlg0_ROPE_GRAB_RIGHT_HAND = 0x00000004,
|
||||
daPyRFlg0_GRAB_UP_END = 0x00000020,
|
||||
daPyRFlg0_AUTO_JUMP_LAND = 0x00000040,
|
||||
daPyRFlg0_RIGHT_FOOT_ON_GROUND = 0x00000400,
|
||||
daPyRFlg0_LEFT_FOOT_ON_GROUND = 0x00000800,
|
||||
daPyRFlg0_FRONT_ROLL_CRASH = 0x00002000,
|
||||
daPyRFlg0_UNK4000 = 0x00004000,
|
||||
daPyRFlg0_GRAB_UP_START = 0x00008000,
|
||||
daPyRFlg0_ATTENTION_LOCK = 0x00010000,
|
||||
daPyRFlg0_HAMMER_QUAKE = 0x00020000,
|
||||
daPyRFlg0_GRAB_PUT_START = 0x00400000,
|
||||
daPyRFlg0_TACT_USE = 0x01000000,
|
||||
daPyRFlg0_FAIRY_USE = 0x02000000,
|
||||
daPyRFlg0_UNK8000000 = 0x08000000,
|
||||
// 0x00000001 and 0x00000002 set in daPy_lk_c::dProcLastCombo
|
||||
// 0x00001000 set in daPy_lk_c::procCrawlMove_init, checked in checkNoCollisionCorret__9daPy_lk_cFv
|
||||
// 0x04000000 set in daPy_lk_c::procShipPaddle
|
||||
@@ -168,42 +177,42 @@ public:
|
||||
void onNoResetFlg1(daPy_FLG1 flag) { mNoResetFlg1 |= flag; }
|
||||
void offNoResetFlg1(daPy_FLG1 flag) { mNoResetFlg1 &= ~flag; }
|
||||
bool checkNoResetFlg1(daPy_FLG1 flag) const { return mNoResetFlg1 & flag; }
|
||||
bool checkEquipDragonShield() const { return checkNoResetFlg1(daPy_FLG1_EQUIP_DRAGON_SHIELD); }
|
||||
void onNpcCall() { onNoResetFlg1(daPy_FLG1_NPC_CALL_COMMAND); }
|
||||
void offNpcCallCommand() { offNoResetFlg1(daPy_FLG1_NPC_CALL_COMMAND); }
|
||||
bool checkNpcCallCommand() const { return checkNoResetFlg1(daPy_FLG1_NPC_CALL_COMMAND); }
|
||||
void onForceVomitJump() { onNoResetFlg1(daPy_FLG1_FORCE_VOMIT_JUMP); }
|
||||
void onNpcNotChange() { onNoResetFlg1(daPy_FLG1_NPC_NOT_CHANGE); }
|
||||
void offNpcNotChange() { offNoResetFlg1(daPy_FLG1_NPC_NOT_CHANGE); }
|
||||
void onConfuse() { onNoResetFlg1(daPy_FLG1_CONFUSE); }
|
||||
void offConfuse() { offNoResetFlg1(daPy_FLG1_CONFUSE); }
|
||||
bool checkConfuse() const { return checkNoResetFlg1(daPy_FLG1_CONFUSE); }
|
||||
bool checkFreezeState() const { return checkNoResetFlg1(daPy_FLG1_FREEZE_STATE); }
|
||||
void onShipTact() { onNoResetFlg1(daPy_FLG1_SHIP_TACT); }
|
||||
void offShipTact() { offNoResetFlg1(daPy_FLG1_SHIP_TACT); }
|
||||
void onUseArrowEffect() { onNoResetFlg1(daPy_FLG1_USE_ARROW_EFFECT); }
|
||||
void offUseArrowEffect() { offNoResetFlg1(daPy_FLG1_USE_ARROW_EFFECT); }
|
||||
void onLetterReadEyeMove() { onNoResetFlg1(daPy_FLG1_LETTER_READ_EYE_MOVE); }
|
||||
bool checkForestWaterUse() const { return checkNoResetFlg1(daPy_FLG1_FOREST_WATER_USE); }
|
||||
void onWaterDrop() { onNoResetFlg1(daPy_FLG1_WATER_DROP); }
|
||||
void onVineCatch() { onNoResetFlg1(daPy_FLG1_VINE_CATCH); }
|
||||
bool checkLastComboWait() const { return checkNoResetFlg1(daPy_FLG1_LAST_COMBO_WAIT); }
|
||||
bool checkEquipDragonShield() const { return checkNoResetFlg1(daPyFlg1_EQUIP_DRAGON_SHIELD); }
|
||||
void onNpcCall() { onNoResetFlg1(daPyFlg1_NPC_CALL_COMMAND); }
|
||||
void offNpcCallCommand() { offNoResetFlg1(daPyFlg1_NPC_CALL_COMMAND); }
|
||||
bool checkNpcCallCommand() const { return checkNoResetFlg1(daPyFlg1_NPC_CALL_COMMAND); }
|
||||
void onForceVomitJump() { onNoResetFlg1(daPyFlg1_FORCE_VOMIT_JUMP); }
|
||||
void onNpcNotChange() { onNoResetFlg1(daPyFlg1_NPC_NOT_CHANGE); }
|
||||
void offNpcNotChange() { offNoResetFlg1(daPyFlg1_NPC_NOT_CHANGE); }
|
||||
void onConfuse() { onNoResetFlg1(daPyFlg1_CONFUSE); }
|
||||
void offConfuse() { offNoResetFlg1(daPyFlg1_CONFUSE); }
|
||||
bool checkConfuse() const { return checkNoResetFlg1(daPyFlg1_CONFUSE); }
|
||||
bool checkFreezeState() const { return checkNoResetFlg1(daPyFlg1_FREEZE_STATE); }
|
||||
void onShipTact() { onNoResetFlg1(daPyFlg1_SHIP_TACT); }
|
||||
void offShipTact() { offNoResetFlg1(daPyFlg1_SHIP_TACT); }
|
||||
void onUseArrowEffect() { onNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT); }
|
||||
void offUseArrowEffect() { offNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT); }
|
||||
void onLetterReadEyeMove() { onNoResetFlg1(daPyFlg1_LETTER_READ_EYE_MOVE); }
|
||||
bool checkForestWaterUse() const { return checkNoResetFlg1(daPyFlg1_FOREST_WATER_USE); }
|
||||
void onWaterDrop() { onNoResetFlg1(daPyFlg1_WATER_DROP); }
|
||||
void onVineCatch() { onNoResetFlg1(daPyFlg1_VINE_CATCH); }
|
||||
bool checkLastComboWait() const { return checkNoResetFlg1(daPyFlg1_LAST_COMBO_WAIT); }
|
||||
|
||||
void onResetFlg0(daPy_RFLG0 flag) { mResetFlg0 |= flag; }
|
||||
void offNoResetFlg0(daPy_RFLG0 flag) { mResetFlg0 &= ~flag; }
|
||||
void offResetFlg0(daPy_RFLG0 flag) { mResetFlg0 &= ~flag; }
|
||||
bool checkResetFlg0(daPy_RFLG0 flag) const { return mResetFlg0 & flag; }
|
||||
bool getRopeGrabRightHand() const { return checkResetFlg0(daPy_RFLG0_ROPE_GRAB_RIGHT_HAND); }
|
||||
bool getGrabUpEnd() const { return checkResetFlg0(daPy_RFLG0_GRAB_UP_END); }
|
||||
bool getAutoJumpLand() const { return checkResetFlg0(daPy_RFLG0_AUTO_JUMP_LAND); }
|
||||
bool getRightFootOnGround() const { return checkResetFlg0(daPy_RFLG0_RIGHT_FOOT_ON_GROUND); }
|
||||
bool getLeftFootOnGround() const { return checkResetFlg0(daPy_RFLG0_LEFT_FOOT_ON_GROUND); }
|
||||
bool checkFrontRollCrash() const { return checkResetFlg0(daPy_RFLG0_FRONT_ROLL_CRASH); }
|
||||
bool getGrabUpStart() const { return checkResetFlg0(daPy_RFLG0_GRAB_UP_START); }
|
||||
bool checkAttentionLock() const { return checkResetFlg0(daPy_RFLG0_ATTENTION_LOCK); }
|
||||
bool checkHammerQuake() const { return checkResetFlg0(daPy_RFLG0_HAMMER_QUAKE); }
|
||||
bool getGrabPutStart() const { return checkResetFlg0(daPy_RFLG0_GRAB_PUT_START); }
|
||||
bool checkFairyUse() const { return checkResetFlg0(daPy_RFLG0_FAIRY_USE); }
|
||||
bool checkTactUse() const { return checkResetFlg0(daPy_RFLG0_TACT_USE); }
|
||||
bool getRopeGrabRightHand() const { return checkResetFlg0(daPyRFlg0_ROPE_GRAB_RIGHT_HAND); }
|
||||
bool getGrabUpEnd() const { return checkResetFlg0(daPyRFlg0_GRAB_UP_END); }
|
||||
bool getAutoJumpLand() const { return checkResetFlg0(daPyRFlg0_AUTO_JUMP_LAND); }
|
||||
bool getRightFootOnGround() const { return checkResetFlg0(daPyRFlg0_RIGHT_FOOT_ON_GROUND); }
|
||||
bool getLeftFootOnGround() const { return checkResetFlg0(daPyRFlg0_LEFT_FOOT_ON_GROUND); }
|
||||
bool checkFrontRollCrash() const { return checkResetFlg0(daPyRFlg0_FRONT_ROLL_CRASH); }
|
||||
bool getGrabUpStart() const { return checkResetFlg0(daPyRFlg0_GRAB_UP_START); }
|
||||
bool checkAttentionLock() const { return checkResetFlg0(daPyRFlg0_ATTENTION_LOCK); }
|
||||
bool checkHammerQuake() const { return checkResetFlg0(daPyRFlg0_HAMMER_QUAKE); }
|
||||
bool getGrabPutStart() const { return checkResetFlg0(daPyRFlg0_GRAB_PUT_START); }
|
||||
bool checkFairyUse() const { return checkResetFlg0(daPyRFlg0_FAIRY_USE); }
|
||||
bool checkTactUse() const { return checkResetFlg0(daPyRFlg0_TACT_USE); }
|
||||
|
||||
// checkSwordMiniGame__9daPy_py_cCFv
|
||||
// checkNormalSwordEquip__9daPy_py_cCFv
|
||||
|
||||
+833
-137
File diff suppressed because it is too large
Load Diff
@@ -406,6 +406,7 @@ void dKy_Sound_init();
|
||||
void dKy_change_colpat(u8 param_0);
|
||||
void dKy_custom_colset(u8 param_0, u8 param_1, f32 i_blend);
|
||||
u8 dKy_pship_existense_chk();
|
||||
void dKy_Itemgetcol_chg_off();
|
||||
void dKy_Itemgetcol_chg_move();
|
||||
void dKy_arrowcol_chg_on(cXyz*, int);
|
||||
void dKy_arrowcol_chg_move();
|
||||
|
||||
@@ -81,6 +81,10 @@ inline void mDoAud_seStart(u32 i_sfxID, Vec* i_sePos, u32 param_2, s8 i_reverb)
|
||||
mDoAud_zelAudio_c::getInterface()->seStart(i_sfxID, i_sePos, param_2, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
|
||||
inline void mDoAud_seStop(u32 i_sfxID, s32 param_2) {
|
||||
mDoAud_zelAudio_c::getInterface()->seStop(i_sfxID, param_2);
|
||||
}
|
||||
|
||||
inline void mDoAud_seStopActor(Vec* param_1, u32 param_2) {
|
||||
mDoAud_zelAudio_c::getInterface()->seStopActor(param_1, param_2);
|
||||
}
|
||||
@@ -89,6 +93,14 @@ inline void mDoAud_seDeleteObject(Vec* i_sePos) {
|
||||
mDoAud_zelAudio_c::getInterface()->seDeleteObject(i_sePos);
|
||||
}
|
||||
|
||||
inline u8 mDoAud_getLinkVoiceVowel(u32 param_1) {
|
||||
return mDoAud_zelAudio_c::getInterface()->getLinkVoiceVowel(param_1);
|
||||
}
|
||||
|
||||
inline void mDoAud_linkVoiceStart(u32 i_sfxID, Vec* i_sePos, u8 param_3, s8 param_4) {
|
||||
mDoAud_zelAudio_c::getInterface()->linkVoiceStart(i_sfxID, i_sePos, param_3, param_4);
|
||||
}
|
||||
|
||||
inline void mDoAud_monsSeStart(u32 param_0, Vec* param_1, u32 param_2, u32 param_3, s8 i_reverb) {
|
||||
mDoAud_zelAudio_c::getInterface()->monsSeStart(param_0, param_1, param_2, param_3, i_reverb);
|
||||
}
|
||||
|
||||
+184
-13
@@ -16,6 +16,8 @@
|
||||
#include "d/d_kankyo.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "d/actor/d_a_itembase.h"
|
||||
#include "d/d_item_data.h"
|
||||
|
||||
#include "d/actor/d_a_player_HIO.inc"
|
||||
|
||||
@@ -47,8 +49,8 @@ void daPy_lk_c::seStartSwordCut(u32) {
|
||||
}
|
||||
|
||||
/* 8010314C-801031A4 .text voiceStart__9daPy_lk_cFUl */
|
||||
void daPy_lk_c::voiceStart(u32) {
|
||||
/* Nonmatching */
|
||||
void daPy_lk_c::voiceStart(u32 param_1) {
|
||||
mDoAud_linkVoiceStart(param_1, &mEyePos, mDoAud_getLinkVoiceVowel(param_1), field_0x34bf);
|
||||
}
|
||||
|
||||
/* 801031A4-801031DC .text itemButton__9daPy_lk_cCFv */
|
||||
@@ -136,9 +138,9 @@ void daPy_lk_c::setAnimeHeap(JKRSolidHeap* animeHeap) {
|
||||
|
||||
/* 801041EC-80104240 .text setItemHeap__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setItemHeap() {
|
||||
if (!checkResetFlg0(daPy_RFLG0_UNK4000)) {
|
||||
if (!checkResetFlg0(daPyRFlg0_UNK4000)) {
|
||||
mCurrItemHeapIdx ^= 1;
|
||||
onResetFlg0(daPy_RFLG0_UNK4000);
|
||||
onResetFlg0(daPyRFlg0_UNK4000);
|
||||
}
|
||||
setAnimeHeap(mpItemHeaps[mCurrItemHeapIdx]);
|
||||
}
|
||||
@@ -149,7 +151,7 @@ void daPy_lk_c::setBlurPosResource(u16) {
|
||||
}
|
||||
|
||||
/* 80104280-80104364 .text getItemAnimeResource__9daPy_lk_cFUs */
|
||||
void daPy_lk_c::getItemAnimeResource(u16) {
|
||||
J3DAnmTransform* daPy_lk_c::getItemAnimeResource(u16) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
@@ -509,7 +511,7 @@ void daPy_lk_c::checkItemEquipAnime() const {
|
||||
}
|
||||
|
||||
/* 8010C528-8010C570 .text checkEquipAnime__9daPy_lk_cCFv */
|
||||
void daPy_lk_c::checkEquipAnime() const {
|
||||
BOOL daPy_lk_c::checkEquipAnime() const {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
@@ -724,7 +726,7 @@ void daPy_lk_c::checkOpenBottleItem(int) const {
|
||||
}
|
||||
|
||||
/* 8011201C-80112044 .text checkBowItem__9daPy_lk_cCFi */
|
||||
void daPy_lk_c::checkBowItem(int) const {
|
||||
BOOL daPy_lk_c::checkBowItem(int) const {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
@@ -755,7 +757,7 @@ void daPy_lk_c::checkSubjectEnd(int) {
|
||||
|
||||
/* 80112280-80112330 .text checkGuardAccept__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkGuardAccept() {
|
||||
if (field_0x3618 & 0x40 && !checkBowAnime()) {
|
||||
if (mProcFlags & 0x40 && !checkBowAnime()) {
|
||||
u32 stageType = dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo());
|
||||
if (stageType != 2 ||
|
||||
strcmp(dComIfGp_getStartStageName(), "Ojhous") == 0 ||
|
||||
@@ -773,8 +775,177 @@ void daPy_lk_c::cancelNoDamageMode() {
|
||||
}
|
||||
|
||||
/* 80112348-80112954 .text commonProcInit__9daPy_lk_cFQ29daPy_lk_c9daPy_PROC */
|
||||
void daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) {
|
||||
ProcInitTableEntry& procInit = mProcInitTable[procID];
|
||||
|
||||
s32 temp_r29;
|
||||
BOOL resetDemoAnime = FALSE;
|
||||
s32 temp_r28;
|
||||
|
||||
if (mCurProcID == 0x19) {
|
||||
mDoAud_seStop(JA_SE_LK_RUN_SLIP, 0);
|
||||
} else if (mCurProcID == 0x70 || (mCurProcID == 0x6E && procID != 0x70)) {
|
||||
mActorKeepRope.clearData();
|
||||
} else if (mCurProcID == 0xB7) {
|
||||
seStartOnlyReverb(JA_SE_LK_ITEM_TAKEOUT);
|
||||
mpHeldItemModel = NULL;
|
||||
} else if (mCurProcID == 0x92) {
|
||||
setSmallFanModel();
|
||||
} else if (mCurProcID == 0x93) {
|
||||
deleteEquipItem(0);
|
||||
mMaxFallSpeed = daPy_HIO_autoJump_c0::m.field_0x10;
|
||||
setSmallFanModel();
|
||||
mHeldItemType = DEKU_LEAF;
|
||||
field_0x35f0 = field_0x3688.y;
|
||||
field_0x3730 = cXyz::Zero;
|
||||
field_0x34E0 = 0;
|
||||
field_0x34E4 = 0;
|
||||
} else if (mCurProcID == 0x28) {
|
||||
mMaxFallSpeed = daPy_HIO_autoJump_c0::m.field_0x10;
|
||||
} else if (mCurProcID == 0xA9) {
|
||||
resetDemoAnime = TRUE;
|
||||
speed.y = 0.0f;
|
||||
} else if (mCurProcID == 0xAE || mCurProcID == 0xD0) {
|
||||
dKy_Itemgetcol_chg_off();
|
||||
if (mCurProcID == 0xAE && field_0x34d8 != 0) {
|
||||
field_0x34c2 = 0xB;
|
||||
}
|
||||
} else if (mCurProcID == 0xC3 || mCurProcID == 0xA2) {
|
||||
daItemBase_c* item = (daItemBase_c*)fopAcM_getItemEventPartner(this);
|
||||
if (item && (fopAcM_GetName(item) == PROC_ITEM || fopAcM_GetName(item) == PROC_Demo_Item)) {
|
||||
item->dead();
|
||||
}
|
||||
} else if (mCurProcID == 0xCD) {
|
||||
deleteEquipItem(0);
|
||||
} else if (mCurProcID == 0x57) {
|
||||
if (field_0x33a8.getEmitter()) {
|
||||
field_0x33a8.getEmitter()->setGlobalAlpha(0);
|
||||
}
|
||||
} else if (mCurProcID == 0x8D) {
|
||||
deleteArrow();
|
||||
}
|
||||
|
||||
returnKeepItemData();
|
||||
|
||||
temp_r28 = (mProcFlags & 0x40000) >> 0x12;
|
||||
|
||||
if (mProcFlags & 0x10040820) {
|
||||
field_0x34c2 = 0xA;
|
||||
}
|
||||
|
||||
temp_r29 = ((mProcFlags & 0x2) >> 1) ^ 1;
|
||||
|
||||
mCurProcID = procID;
|
||||
mCurProcFunc = procInit.mProcFunc;
|
||||
field_0x3598 = 0.0f;
|
||||
mProcFlags = procInit.mProcFlags;
|
||||
|
||||
if (field_0x34c2 == 1) {
|
||||
field_0x34c2 = 2;
|
||||
}
|
||||
|
||||
if (mProcFlags & 0x10040820) {
|
||||
field_0x34c2 = 0xB;
|
||||
}
|
||||
|
||||
if (mProcFlags & 0x20) {
|
||||
mAcch.OffLineCheck();
|
||||
} else {
|
||||
mAcch.OnLineCheck();
|
||||
}
|
||||
|
||||
dComIfGp_clearPlayerStatus0(0, ~0x00400010);
|
||||
dComIfGp_clearPlayerStatus1(0, ~0xFFF48400);
|
||||
|
||||
mGravity = daPy_HIO_autoJump_c0::m.field_0xC;
|
||||
field_0x34F2 = 0;
|
||||
field_0x34F4 = 0;
|
||||
onResetFlg0(daPyRFlg0_UNK8000000);
|
||||
field_0x34c5 = 0;
|
||||
offNoResetFlg0(daPyFlg0_UNK4);
|
||||
offResetFlg0(daPyRFlg0_UNK2);
|
||||
offNoResetFlg1(daPyFlg1_UNK8000000);
|
||||
|
||||
field_0x3544 = 0;
|
||||
mSightPacket.offDrawFlg();
|
||||
mSightPacket.offLockFlg();
|
||||
field_0x35c4 = 0.0f;
|
||||
mFanSwingCb.onAlphaOutFlg();
|
||||
shape_angle.x = 0;
|
||||
shape_angle.z = 0;
|
||||
field_0x34EC = 0;
|
||||
|
||||
if (!(checkEquipAnime() && (mProcFlags & 0x4)) && !(mProcFlags & 0x1000)) {
|
||||
if (!(checkGrabAnime() || checkBoomerangThrowAnime()) || !(mProcFlags & 0x4000)) {
|
||||
resetActAnimeUpper(UPPER_UNK2, -1.0f);
|
||||
if (!(mProcFlags & 0x00100000)) {
|
||||
freeGrabItem();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!(mProcFlags & 0x00100000) && !checkGrabAnime() && mActorKeepGrab.getActor()) {
|
||||
freeGrabItem();
|
||||
}
|
||||
|
||||
if (temp_r29 && (mProcFlags & 2)) {
|
||||
field_0x3688 = current.pos;
|
||||
field_0x35f0 = field_0x3688.y;
|
||||
field_0x35f4 = field_0x3688.y;
|
||||
}
|
||||
|
||||
if (mCurProcID != 0x37) {
|
||||
mSwimTailEcallBack[0].onEnd();
|
||||
mSwimTailEcallBack[1].onEnd();
|
||||
}
|
||||
|
||||
if (!(mProcFlags & 0x40000)) {
|
||||
field_0x3608 = 0.0f;
|
||||
}
|
||||
|
||||
resetFootEffect();
|
||||
|
||||
if (resetDemoAnime) {
|
||||
resetDemoTextureAnime();
|
||||
}
|
||||
|
||||
field_0x338c.end();
|
||||
field_0x33a8.end();
|
||||
field_0x32e4.end();
|
||||
field_0x32f0.end();
|
||||
mSmokeEcallBack.end();
|
||||
|
||||
if (!(field_0x2b0 < 0.0f)) {
|
||||
field_0x35d8 = 0.0f;
|
||||
}
|
||||
|
||||
offNoResetFlg1(static_cast<daPy_FLG1>(daPyFlg1_UNK80 | daPyFlg1_UNK800000 | daPyFlg1_UNK1000000));
|
||||
|
||||
field_0x35ec = 0.0f;
|
||||
|
||||
if (mHeldItemType == HUMMER) {
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(0x97));
|
||||
} else if (checkBowItem(mHeldItemType) && !checkBowAnime()) {
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(0xD));
|
||||
}
|
||||
|
||||
field_0x35e8 = 0.0f;
|
||||
|
||||
if (!(mProcFlags & 0x800) && mCurProcID != 0x76 && mCurProcID != 0x7D) {
|
||||
freeRopeItem();
|
||||
}
|
||||
if (!(mProcFlags & 0x200)) {
|
||||
freeHookshotItem();
|
||||
}
|
||||
if (temp_r28 && !(mProcFlags & 0x40000)) {
|
||||
swimOutAfter(0);
|
||||
}
|
||||
|
||||
g_dComIfG_gameInfo.play.field_0x4941 = 0; // is this dComIfGp_setAdvanceDirection__FUc?
|
||||
|
||||
setBgCheckParam();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80112954-80112A24 .text procScope_init__9daPy_lk_cFi */
|
||||
@@ -1427,7 +1598,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int param_2, f32 param_3, int i_po
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (checkNoResetFlg0(daPyFlg0_UNK10) && mCurProc != 0xB2) {
|
||||
if (checkNoResetFlg0(daPyFlg0_UNK10) && mCurProcID != 0xB2) {
|
||||
i_point = field_0x34CB;
|
||||
} else {
|
||||
i_point = field_0x3594;
|
||||
@@ -1467,7 +1638,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int param_2, f32 param_3, int i_po
|
||||
|
||||
dStage_changeScene(scls_idx, 0.0f, param_1, -1);
|
||||
} else {
|
||||
if (mCurProc == 0xB2) {
|
||||
if (mCurProcID == 0xB2) {
|
||||
dStage_changeScene(0, 0.0f, param_1, -1);
|
||||
} else {
|
||||
int roomNo = dComIfGs_getRestartRoomNo();
|
||||
@@ -1483,7 +1654,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int param_2, f32 param_3, int i_po
|
||||
dComIfGp_setNextStage(dComIfGp_getStartStageName(), i_point, current.roomNo, -1, 0.0f, param_1, 1, 0);
|
||||
}
|
||||
|
||||
if (mCurProc != 0xB2) {
|
||||
if (mCurProcID != 0xB2) {
|
||||
u32 roomParam = setParamData(-1, 0, param_2, 0);
|
||||
dComIfGs_setRestartRoomParam(roomParam);
|
||||
mDoAud_seStart(JA_SE_FORCE_BACK, NULL, 0, 0);
|
||||
|
||||
@@ -638,13 +638,13 @@ void dComIfGp_setNextStage(const char* i_stageName, s16 i_point, s8 i_roomNo, s8
|
||||
if (daPy_getPlayerLinkActorClass() != NULL) {
|
||||
u32 mode = daPy_getPlayerLinkActorClass()->mNoResetFlg1;
|
||||
|
||||
if (mode & daPy_lk_c::daPy_FLG1_EQUIP_DRAGON_SHIELD) {
|
||||
if (mode & daPy_lk_c::daPyFlg1_EQUIP_DRAGON_SHIELD) {
|
||||
i_lastMode |= 0x8000;
|
||||
}
|
||||
|
||||
i_lastMode |= daPy_getPlayerLinkActorClass()->field_0x354e << 16;
|
||||
|
||||
if (mode & daPy_lk_c::daPy_FLG1_UNK8000) {
|
||||
if (mode & daPy_lk_c::daPyFlg1_UNK8000) {
|
||||
i_lastMode |= 0x4000;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user