mirror of https://github.com/zeldaret/tp.git
d_a_cstatue Matching (#2419)
* d_a_cstatue * fix includes in d_com_inf_game * remove todos * create daCstatue_TYPE enum * name fields and add enums * fix procCopyRodSwingInit * apply suggestions
This commit is contained in:
parent
8d167fc32f
commit
885981cd0b
|
|
@ -1627,7 +1627,7 @@ config.libs = [
|
|||
ActorRel(Equivalent, "d_a_coach_2D"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_coach_fire"),
|
||||
ActorRel(Equivalent, "d_a_cow"),
|
||||
ActorRel(NonMatching, "d_a_cstatue"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_cstatue"),
|
||||
ActorRel(Equivalent, "d_a_do"), # Z2SoundObjSimple dtor
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_door_boss"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_door_bossL5"),
|
||||
|
|
|
|||
|
|
@ -2,18 +2,18 @@
|
|||
#define D_A_D_A_ALINK_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "Z2AudioLib/Z2WolfHowlMgr.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/actor/d_a_tag_mmsg.h"
|
||||
#include "d/d_eye_hl.h"
|
||||
#include "d/d_jnt_col.h"
|
||||
#include "d/d_msg_flow.h"
|
||||
#include "d/d_particle_copoly.h"
|
||||
#include "d/d_save.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/actor/d_a_tag_mmsg.h"
|
||||
|
||||
class J2DAnmColorKey;
|
||||
class J2DAnmTransformKey;
|
||||
|
|
@ -147,9 +147,7 @@ public:
|
|||
daAlink_matAnm_c() { init(); }
|
||||
|
||||
/* 8009D8E4 */ void init();
|
||||
/* 800D0180 */ void offSetFlg() {
|
||||
mSetFlag = FALSE;
|
||||
}
|
||||
/* 800D0180 */ void offSetFlg() { mSetFlag = FALSE; }
|
||||
|
||||
/* 800D0B8C */ virtual ~daAlink_matAnm_c() {}
|
||||
/* 8009D90C */ virtual void calc(J3DMaterial*) const;
|
||||
|
|
@ -157,7 +155,7 @@ public:
|
|||
static void decMorfFrame() { cLib_calcTimer<u8>(&m_morf_frame); }
|
||||
static void setMorfFrame(u8 i_frame) { m_morf_frame = i_frame; }
|
||||
static u8 getMorfFrame() { return m_morf_frame; }
|
||||
|
||||
|
||||
static void onEyeMoveFlg() { m_eye_move_flg = true; }
|
||||
static void offEyeMoveFlg() { m_eye_move_flg = false; }
|
||||
static bool getEyeMoveFlg() { return m_eye_move_flg; }
|
||||
|
|
@ -895,7 +893,8 @@ public:
|
|||
/* 0x00000100 */ MODE_UNK_100 = 0x100,
|
||||
/* 0x00000400 */ MODE_RIDING = 0x400,
|
||||
/* 0x00000800 */ MODE_UNK_800 = 0x800,
|
||||
/* 0x00001000 */ MODE_UNK_1000 = 0x1000, // affects things like anim set when controlling rod statue
|
||||
/* 0x00001000 */ MODE_UNK_1000 =
|
||||
0x1000, // affects things like anim set when controlling rod statue
|
||||
/* 0x00002000 */ MODE_UNK_2000 = 0x2000,
|
||||
/* 0x00004000 */ MODE_UNK_4000 = 0x4000,
|
||||
/* 0x00008000 */ MODE_UNK_8000 = 0x8000,
|
||||
|
|
@ -1408,8 +1407,8 @@ public:
|
|||
/* 800AC738 */ void setDoubleAnimeBlendRatio(f32);
|
||||
/* 800AC754 */ void commonDoubleAnime(J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*,
|
||||
J3DAnmTransform*, f32, f32, f32, int);
|
||||
/* 800ACA14 */ int setDoubleAnime(f32, f32, f32, daAlink_c::daAlink_ANM,
|
||||
daAlink_c::daAlink_ANM, int, f32);
|
||||
/* 800ACA14 */ int setDoubleAnime(f32, f32, f32, daAlink_c::daAlink_ANM, daAlink_c::daAlink_ANM,
|
||||
int, f32);
|
||||
/* 800ACD40 */ void commonSingleAnime(J3DAnmTransform*, J3DAnmTransform*, f32, f32, s16);
|
||||
/* 800ACF80 */ void setSingleAnimeBase(daAlink_c::daAlink_ANM anmID);
|
||||
/* 800ACFB0 */ void setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM anmID, f32);
|
||||
|
|
@ -1725,10 +1724,10 @@ public:
|
|||
/* 800D0110 */ BOOL checkWolfEnemyThrowAnime() const {
|
||||
return checkUpperAnime(0x2BD) || checkUpperAnime(0x2BE);
|
||||
}
|
||||
/* 800D014C */ void setMidnaTalkStatus(u8 status) {
|
||||
dComIfGp_setZStatus(status, 0);
|
||||
/* 800D014C */ void setMidnaTalkStatus(u8 status) { dComIfGp_setZStatus(status, 0); }
|
||||
/* 800D0164 */ void set3DStatus(u8 status, u8 direction) {
|
||||
dComIfGp_set3DStatus(status, direction, 0);
|
||||
}
|
||||
/* 800D0164 */ void set3DStatus(u8 status, u8 direction) { dComIfGp_set3DStatus(status, direction, 0); }
|
||||
/* 800D2684 */ void checkCutTurnCharge();
|
||||
/* 800D0E08 */ void checkLightSwordMtrl();
|
||||
/* 800D0E98 */ BOOL checkSwordEquipAnime() const;
|
||||
|
|
@ -1748,8 +1747,8 @@ public:
|
|||
/* 800D1454 */ void checkComboCnt();
|
||||
/* 800D152C */ void setCutType(u8);
|
||||
/* 800D1540 */ void setCylAtParam(u32, dCcG_At_Spl, u8, u8, int, f32, f32);
|
||||
/* 800D1688 */ void setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, f32 param_4,
|
||||
f32 i_radius);
|
||||
/* 800D1688 */ void setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp,
|
||||
f32 param_4, f32 i_radius);
|
||||
/* 800D1788 */ static BOOL notSwordHitVibActor(fopAc_ac_c*);
|
||||
/* 800D17EC */ BOOL setSwordHitVibration(dCcD_GObjInf*);
|
||||
/* 800D1920 */ BOOL checkAtShieldHit(dCcD_GObjInf&);
|
||||
|
|
@ -2717,7 +2716,8 @@ public:
|
|||
/* 80120500 */ int commonLargeDamageUpInit(int, int, s16, s16);
|
||||
/* 80120534 */ int commonFallInit(int);
|
||||
/* 80120580 */ JPABaseEmitter* setEmitter(u32*, u16, cXyz const*, csXyz const*);
|
||||
/* 80120634 */ JPABaseEmitter* setEmitterPolyColor(u32*, u16, cBgS_PolyInfo&, cXyz const*, csXyz const*);
|
||||
/* 80120634 */ JPABaseEmitter* setEmitterPolyColor(u32*, u16, cBgS_PolyInfo&, cXyz const*,
|
||||
csXyz const*);
|
||||
/* 801206C4 */ JPABaseEmitter* setEmitterColor(u32*, u16, cXyz const*, csXyz const*);
|
||||
/* 80120778 */ void stopDrawParticle(u32);
|
||||
/* 801207BC */ void setEffectFrontRollParam();
|
||||
|
|
@ -2788,7 +2788,7 @@ public:
|
|||
/* 80129114 */ void setBlendWolfAtnMoveAnime(f32);
|
||||
/* 8012933C */ void setBlendWolfAtnBackMoveAnime(f32);
|
||||
/* 8012948C */ int setDoubleAnimeWolf(f32, f32, f32, daAlink_c::daAlink_WANM,
|
||||
daAlink_c::daAlink_WANM, int, f32);
|
||||
daAlink_c::daAlink_WANM, int, f32);
|
||||
/* 80129678 */ void setSingleAnimeWolfBase(daAlink_c::daAlink_WANM);
|
||||
/* 801296A8 */ void setSingleAnimeWolfBaseMorf(daAlink_c::daAlink_WANM, f32);
|
||||
/* 801296D8 */ void setSingleAnimeWolfBaseSpeed(daAlink_c::daAlink_WANM, f32, f32);
|
||||
|
|
@ -3022,8 +3022,13 @@ public:
|
|||
/* 80140984 */ void statusWindowDraw();
|
||||
/* 80140AC8 */ void resetStatusWindow();
|
||||
/* 8018280C */ fopAc_ac_c* getChainGrabActor() { return field_0x2844.getActor(); }
|
||||
/* 80182814 */ bool checkCokkoGlide() const { return mProcID == PROC_AUTO_JUMP && mProcVar2.field_0x300c != 0; }
|
||||
/* 8018283C */ BOOL checkCameraLargeDamage() const { return mProcID == PROC_LARGE_DAMAGE || mProcID == PROC_LARGE_DAMAGE_WALL || mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP; }
|
||||
/* 80182814 */ bool checkCokkoGlide() const {
|
||||
return mProcID == PROC_AUTO_JUMP && mProcVar2.field_0x300c != 0;
|
||||
}
|
||||
/* 8018283C */ BOOL checkCameraLargeDamage() const {
|
||||
return mProcID == PROC_LARGE_DAMAGE || mProcID == PROC_LARGE_DAMAGE_WALL ||
|
||||
mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP;
|
||||
}
|
||||
/* 80182870 */ const cXyz& getHsSubChainTopPos() const { return mIronBallBgChkPos; }
|
||||
/* 80182888 */ BOOL checkCutHeadProc() const { return mProcID == PROC_CUT_HEAD; }
|
||||
/* 8018289C */ fopAc_ac_c* getRideActor() { return mRideAcKeep.getActor(); }
|
||||
|
|
@ -3048,29 +3053,47 @@ public:
|
|||
if (mHeldItemModel != NULL && checkBottleItem(mEquipItem)) {
|
||||
return mHeldItemModel->getBaseTRMtx();
|
||||
}
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
virtual BOOL checkPlayerGuard() const;
|
||||
virtual u32 checkPlayerFly() const {
|
||||
return checkModeFlg(MODE_SWIMMING | MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_NO_COLLISION | MODE_CLIMB | MODE_JUMP);
|
||||
return checkModeFlg(MODE_SWIMMING | MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 |
|
||||
MODE_NO_COLLISION | MODE_CLIMB | MODE_JUMP);
|
||||
}
|
||||
virtual BOOL checkFrontRoll() const { return mProcID == PROC_FRONT_ROLL; }
|
||||
virtual BOOL checkWolfDash() const { return mProcID == PROC_WOLF_DASH; }
|
||||
virtual BOOL checkAutoJump() const { return mProcID == PROC_AUTO_JUMP || mProcID == PROC_WOLF_AUTO_JUMP; }
|
||||
virtual bool checkSideStep() const { return (mProcID == PROC_SIDESTEP || mProcID == PROC_WOLF_SIDESTEP) && mProcVar1.field_0x300a != 0; }
|
||||
virtual bool checkWolfTriggerJump() const { return mProcID == PROC_WOLF_SIDESTEP || mProcID == PROC_WOLF_JUMP_ATTACK; }
|
||||
virtual BOOL checkAutoJump() const {
|
||||
return mProcID == PROC_AUTO_JUMP || mProcID == PROC_WOLF_AUTO_JUMP;
|
||||
}
|
||||
virtual bool checkSideStep() const {
|
||||
return (mProcID == PROC_SIDESTEP || mProcID == PROC_WOLF_SIDESTEP) &&
|
||||
mProcVar1.field_0x300a != 0;
|
||||
}
|
||||
virtual bool checkWolfTriggerJump() const {
|
||||
return mProcID == PROC_WOLF_SIDESTEP || mProcID == PROC_WOLF_JUMP_ATTACK;
|
||||
}
|
||||
virtual BOOL checkGuardBreakMode() const { return mProcID == PROC_GUARD_BREAK; }
|
||||
virtual bool checkLv3Slide() const { return mProcID == PROC_SLIDE && mProcVar3.field_0x300e != 0; }
|
||||
virtual bool checkLv3Slide() const {
|
||||
return mProcID == PROC_SLIDE && mProcVar3.field_0x300e != 0;
|
||||
}
|
||||
virtual bool checkWolfHowlDemoMode() const { return mProcID == PROC_WOLF_HOWL_DEMO; }
|
||||
virtual bool checkChainBlockPushPull();
|
||||
virtual BOOL checkElecDamage() const { return mProcID == PROC_ELEC_DAMAGE; }
|
||||
virtual BOOL checkEmptyBottleSwing() const { return mEquipItem == fpcNm_ITEM_EMPTY_BOTTLE && mProcID == PROC_BOTTLE_SWING; }
|
||||
virtual BOOL checkEmptyBottleSwing() const {
|
||||
return mEquipItem == fpcNm_ITEM_EMPTY_BOTTLE && mProcID == PROC_BOTTLE_SWING;
|
||||
}
|
||||
virtual BOOL checkBottleSwingMode() const { return mProcID == PROC_BOTTLE_SWING; }
|
||||
virtual BOOL checkHawkWait() const { return mProcID == PROC_HAWK_SUBJECT; }
|
||||
virtual BOOL checkGoatThrow() const { return mProcID == PROC_GOAT_CATCH && mProcVar2.field_0x300c != 0; }
|
||||
virtual BOOL checkGoatThrowAfter() const { return mProcID == PROC_GOAT_CATCH && field_0x3478 > 0.0f; }
|
||||
virtual BOOL checkWolfTagLockJump() const { return mProcID == PROC_WOLF_TAG_JUMP && field_0x3198 == 0; }
|
||||
virtual BOOL checkGoatThrow() const {
|
||||
return mProcID == PROC_GOAT_CATCH && mProcVar2.field_0x300c != 0;
|
||||
}
|
||||
virtual BOOL checkGoatThrowAfter() const {
|
||||
return mProcID == PROC_GOAT_CATCH && field_0x3478 > 0.0f;
|
||||
}
|
||||
virtual BOOL checkWolfTagLockJump() const {
|
||||
return mProcID == PROC_WOLF_TAG_JUMP && field_0x3198 == 0;
|
||||
}
|
||||
virtual BOOL checkWolfTagLockJumpLand() const { return mProcID == PROC_WOLF_TAG_JUMP_LAND; }
|
||||
virtual BOOL checkWolfRope();
|
||||
virtual BOOL checkWolfRopeHang() const { return mProcID == PROC_WOLF_ROPE_HANG; }
|
||||
|
|
@ -3080,13 +3103,24 @@ public:
|
|||
virtual BOOL checkWolfWait() const { return mProcID == PROC_WOLF_WAIT; }
|
||||
virtual BOOL checkWolfJumpAttack() const { return mProcID == PROC_WOLF_JUMP_ATTACK; }
|
||||
virtual BOOL checkWolfRSit() const { return mProcID == PROC_WOLF_SIT; }
|
||||
virtual BOOL checkBottleDrinkEnd() const { return mProcID == PROC_BOTTLE_DRINK && mProcVar3.field_0x300e != 0; }
|
||||
virtual BOOL checkBottleDrinkEnd() const {
|
||||
return mProcID == PROC_BOTTLE_DRINK && mProcVar3.field_0x300e != 0;
|
||||
}
|
||||
virtual BOOL checkWolfDig() const { return mProcID == PROC_WOLF_DIG; }
|
||||
virtual BOOL checkCutCharge() const { return mProcID == PROC_CUT_TURN_MOVE; }
|
||||
virtual BOOL checkCutTurnCharge() const { return mProcID == PROC_CUT_TURN_MOVE && mProcVar2.field_0x300c == 0; }
|
||||
virtual BOOL checkCutLargeJumpCharge() const { return mProcID == PROC_CUT_TURN_MOVE && mProcVar2.field_0x300c != 0; }
|
||||
virtual BOOL checkComboCutTurn() const { return mProcID == PROC_CUT_TURN && mComboCutCount != 0; }
|
||||
virtual BOOL checkClimbMove() const { return mProcID == PROC_CLIMB_MOVE_UPDOWN || mProcID == PROC_LADDER_MOVE || mProcID == PROC_CLIMB_MOVE_SIDE; }
|
||||
virtual BOOL checkCutTurnCharge() const {
|
||||
return mProcID == PROC_CUT_TURN_MOVE && mProcVar2.field_0x300c == 0;
|
||||
}
|
||||
virtual BOOL checkCutLargeJumpCharge() const {
|
||||
return mProcID == PROC_CUT_TURN_MOVE && mProcVar2.field_0x300c != 0;
|
||||
}
|
||||
virtual BOOL checkComboCutTurn() const {
|
||||
return mProcID == PROC_CUT_TURN && mComboCutCount != 0;
|
||||
}
|
||||
virtual BOOL checkClimbMove() const {
|
||||
return mProcID == PROC_CLIMB_MOVE_UPDOWN || mProcID == PROC_LADDER_MOVE ||
|
||||
mProcID == PROC_CLIMB_MOVE_SIDE;
|
||||
}
|
||||
virtual BOOL checkGrassWhistle() const { return mProcID == PROC_GRASS_WHISTLE_WAIT; }
|
||||
virtual BOOL checkBoarRun() const { return mProcID == PROC_BOAR_RUN; }
|
||||
virtual f32 getBaseAnimeFrameRate() const { return mUnderFrameCtrl[0].getRate(); }
|
||||
|
|
@ -3118,13 +3152,18 @@ public:
|
|||
virtual void onFrollCrashFlg(u8, int);
|
||||
virtual MtxP getModelJointMtx(u16);
|
||||
virtual MtxP getHeadMtx() {
|
||||
return mpLinkModel->getAnmMtx(field_0x30b4);;
|
||||
return mpLinkModel->getAnmMtx(field_0x30b4);
|
||||
;
|
||||
}
|
||||
virtual bool setHookshotCarryOffset(fpc_ProcID, cXyz const*);
|
||||
virtual BOOL checkCutJumpCancelTurn() const { return (mProcID == PROC_CUT_JUMP || mProcID == PROC_CUT_JUMP_LAND) && field_0x3198 != 2; }
|
||||
virtual BOOL checkCutJumpCancelTurn() const {
|
||||
return (mProcID == PROC_CUT_JUMP || mProcID == PROC_CUT_JUMP_LAND) && field_0x3198 != 2;
|
||||
}
|
||||
virtual bool checkIronBallReturn() const;
|
||||
virtual bool checkIronBallGroundStop() const;
|
||||
virtual BOOL checkSingleBoarBattleSecondBowReady() const { return mProcID == PROC_HORSE_BOW_SUBJECT && mProcVar2.field_0x300c != 0; }
|
||||
virtual BOOL checkSingleBoarBattleSecondBowReady() const {
|
||||
return mProcID == PROC_HORSE_BOW_SUBJECT && mProcVar2.field_0x300c != 0;
|
||||
}
|
||||
virtual void setClothesChange(int);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, short, int);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
|
||||
|
|
@ -3132,7 +3171,9 @@ public:
|
|||
virtual bool setThrowDamage(short, f32, f32, int, int, int);
|
||||
virtual bool checkSetNpcTks(cXyz*, int, int);
|
||||
virtual int setRollJump(f32, f32, short);
|
||||
virtual void playerStartCollisionSE(u32 param_0, u32 param_1) { mZ2Link.startCollisionSE(param_0, param_1); }
|
||||
virtual void playerStartCollisionSE(u32 param_0, u32 param_1) {
|
||||
mZ2Link.startCollisionSE(param_0, param_1);
|
||||
}
|
||||
virtual void cancelDungeonWarpReadyNeck() {
|
||||
if (mProcID != PROC_DUNGEON_WARP_READY) {
|
||||
return;
|
||||
|
|
@ -3166,7 +3207,9 @@ public:
|
|||
}
|
||||
return (daSpinner_c*)spinnerActor;
|
||||
}
|
||||
virtual BOOL checkHorseRideNotReady() const { return checkHorseRide() && mProcID != PROC_HORSE_RIDE && mProcID != PROC_HORSE_GETOFF; }
|
||||
virtual BOOL checkHorseRideNotReady() const {
|
||||
return checkHorseRide() && mProcID != PROC_HORSE_RIDE && mProcID != PROC_HORSE_GETOFF;
|
||||
}
|
||||
virtual bool checkArrowChargeEnd() const;
|
||||
virtual f32 getSearchBallScale() const { return mSearchBallScale; }
|
||||
virtual int checkFastShotTime() { return mFastShotTime; }
|
||||
|
|
@ -3183,9 +3226,13 @@ public:
|
|||
virtual bool checkUseKandelaar(int);
|
||||
virtual void setDkCaught(fopAc_ac_c*);
|
||||
virtual void onPressedDamage(cXyz const&, short);
|
||||
virtual bool checkPriActorOwn(fopAc_ac_c const* p_actor) const { return field_0x27f4 == p_actor; }
|
||||
virtual bool checkPriActorOwn(fopAc_ac_c const* p_actor) const {
|
||||
return field_0x27f4 == p_actor;
|
||||
}
|
||||
virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2);
|
||||
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const* p_actor) const { return field_0x281c.getActorConst() == p_actor; }
|
||||
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const* p_actor) const {
|
||||
return field_0x281c.getActorConst() == p_actor;
|
||||
}
|
||||
virtual void setWolfEnemyHangBiteAngle(short angle) {
|
||||
if (mProcID != PROC_WOLF_ENEMY_HANG_BITE) {
|
||||
return;
|
||||
|
|
@ -3199,8 +3246,12 @@ public:
|
|||
virtual void onSpinnerPathForceRemove();
|
||||
virtual int getIronBallBgHit() const;
|
||||
virtual cXyz* getIronBallCenterPos();
|
||||
virtual bool checkCanoeFishingGetLeft() const { return mProcID == PROC_CANOE_FISHING_GET && mProcVar3.field_0x300e == 0; }
|
||||
virtual bool checkCanoeFishingGetRight() const { return mProcID == PROC_CANOE_FISHING_GET && mProcVar3.field_0x300e == 1; }
|
||||
virtual bool checkCanoeFishingGetLeft() const {
|
||||
return mProcID == PROC_CANOE_FISHING_GET && mProcVar3.field_0x300e == 0;
|
||||
}
|
||||
virtual bool checkCanoeFishingGetRight() const {
|
||||
return mProcID == PROC_CANOE_FISHING_GET && mProcVar3.field_0x300e == 1;
|
||||
}
|
||||
virtual u8 checkBeeChildDrink() const { return field_0x2fd3; }
|
||||
virtual void skipPortalObjWarp();
|
||||
virtual BOOL checkTreasureRupeeReturn(int) const;
|
||||
|
|
@ -3243,7 +3294,9 @@ public:
|
|||
virtual cXyz* getHookshotTopPos();
|
||||
virtual bool checkHookshotReturnMode() const;
|
||||
virtual bool checkHookshotShootReturnMode() const;
|
||||
virtual bool checkOctaIealHang() const { return mProcID == PROC_BOSS_BODY_HANG && field_0x32cc == 0; }
|
||||
virtual bool checkOctaIealHang() const {
|
||||
return mProcID == PROC_BOSS_BODY_HANG && field_0x32cc == 0;
|
||||
}
|
||||
virtual void cancelOctaIealHang() {
|
||||
if (mProcID != PROC_BOSS_BODY_HANG) {
|
||||
return;
|
||||
|
|
@ -3262,12 +3315,16 @@ public:
|
|||
}
|
||||
mProcVar0.field_0x3008 = 1;
|
||||
}
|
||||
virtual bool checkDragonHangRide() const { return mProcID == PROC_BOSS_BODY_HANG && field_0x32cc != 0; }
|
||||
virtual bool checkDragonHangRide() const {
|
||||
return mProcID == PROC_BOSS_BODY_HANG && field_0x32cc != 0;
|
||||
}
|
||||
virtual void changeDragonActor(fopAc_ac_c*);
|
||||
virtual u8 getClothesChangeWaitTimer() const { return mClothesChangeWaitTimer; }
|
||||
virtual u8 getShieldChangeWaitTimer() const { return mShieldChangeWaitTimer; }
|
||||
virtual u8 getSwordChangeWaitTimer() const { return mSwordChangeWaitTimer; }
|
||||
virtual BOOL checkMetamorphose() const { return mProcID == PROC_METAMORPHOSE && mProcVar1.field_0x300a == 0; }
|
||||
virtual BOOL checkMetamorphose() const {
|
||||
return mProcID == PROC_METAMORPHOSE && mProcVar1.field_0x300a == 0;
|
||||
}
|
||||
virtual BOOL checkWolfDownAttackPullOut() const { return mProcID == PROC_WOLF_DOWN_AT_LAND; }
|
||||
virtual BOOL checkBootsOrArmorHeavy() const;
|
||||
virtual s32 getBottleOpenAppearItem() const;
|
||||
|
|
@ -3276,14 +3333,17 @@ public:
|
|||
virtual BOOL checkSinkDead() const { return field_0x2fbd == 0xFF; }
|
||||
virtual BOOL checkHorseStart() { return checkHorseStart(getLastSceneMode(), getStartMode()); }
|
||||
virtual Z2WolfHowlMgr* getWolfHowlMgrP() { return &mZ2WolfHowlMgr; }
|
||||
virtual BOOL checkWolfHowlSuccessAnime() const { return checkUnderMove0BckNoArcWolf(WANM_HOWL_SUCCESS); }
|
||||
virtual BOOL checkWolfHowlSuccessAnime() const {
|
||||
return checkUnderMove0BckNoArcWolf(WANM_HOWL_SUCCESS);
|
||||
}
|
||||
virtual BOOL checkCopyRodTopUse();
|
||||
virtual bool checkCopyRodEquip() const { return mEquipItem == fpcNm_ITEM_COPY_ROD; }
|
||||
virtual BOOL checkCutJumpMode() const { return mProcID == PROC_CUT_JUMP; }
|
||||
|
||||
static BOOL checkDebugMoveInput() {
|
||||
if (mDoCPd_c::isConnect(PAD_3)) {
|
||||
return mDoCPd_c::getHoldB(PAD_1) && mDoCPd_c::getAnalogR(PAD_1) > 0.8f && mDoCPd_c::getTrigA(PAD_1);
|
||||
return mDoCPd_c::getHoldB(PAD_1) && mDoCPd_c::getAnalogR(PAD_1) > 0.8f &&
|
||||
mDoCPd_c::getTrigA(PAD_1);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
|
@ -3292,7 +3352,6 @@ public:
|
|||
u32 checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; }
|
||||
BOOL checkSmallUpperGuardAnime() const { return checkUpperAnime(0x16); }
|
||||
BOOL checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); }
|
||||
|
||||
|
||||
// this might be a fake match, but helps fix usage in many functions
|
||||
#pragma push
|
||||
|
|
@ -3319,7 +3378,9 @@ public:
|
|||
return (mEquipItem == fpcNm_ITEM_BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(0x54);
|
||||
}
|
||||
bool checkDkCaught2Anime() const { return checkUpperAnime(0x262); }
|
||||
BOOL checkCopyRodThrowAnime() const { return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(0x53); }
|
||||
BOOL checkCopyRodThrowAnime() const {
|
||||
return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(0x53);
|
||||
}
|
||||
BOOL checkCutDashChargeAnime() const { return checkUpperAnime(0x83); }
|
||||
BOOL checkBoomerangAnimeAndReturnWait() const { return checkBoomerangAnime(); }
|
||||
BOOL checkTwoHandItemEquipAnime() const { return checkUpperAnime(0x245); }
|
||||
|
|
@ -3334,7 +3395,9 @@ public:
|
|||
bool checkBowShootAnime() const { return checkUpperAnime(0xC); }
|
||||
bool checkBowWaitAnime() const { return checkUpperAnime(0xD); }
|
||||
BOOL checkGrabUpThrowAnime() const { return checkUpperAnime(0x170); }
|
||||
BOOL checkGrabSideThrowAnime() const { return checkUpperAnime(0x51) || mUpperAnmHeap[0].getIdx() == 0x51; }
|
||||
BOOL checkGrabSideThrowAnime() const {
|
||||
return checkUpperAnime(0x51) || mUpperAnmHeap[0].getIdx() == 0x51;
|
||||
}
|
||||
BOOL checkGrabHeavyThrowAnime() const { return checkUpperAnime(0x17B); }
|
||||
BOOL checkGrabAnimeUp() const { return checkUpperAnime(0x16C); }
|
||||
BOOL checkGrabAnimeSide() const { return checkUpperAnime(0x50); }
|
||||
|
|
@ -3350,8 +3413,12 @@ public:
|
|||
bool checkIronBallSwingAnime() const { return checkUpperAnime(0x19B); }
|
||||
bool checkDashDamageAnime() const { return checkUpperAnime(0xAD); }
|
||||
bool checkBoomerangCatchAnime() const { return checkUpperAnime(0x52); }
|
||||
BOOL checkCopyRodReadyAnime() const { return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(0x54); }
|
||||
BOOL checkCanoeFishingWaitAnime() const { return checkUpperAnime(0x5D) || checkUpperAnime(0x260); }
|
||||
BOOL checkCopyRodReadyAnime() const {
|
||||
return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(0x54);
|
||||
}
|
||||
BOOL checkCanoeFishingWaitAnime() const {
|
||||
return checkUpperAnime(0x5D) || checkUpperAnime(0x260);
|
||||
}
|
||||
BOOL checkCopyRodControllAnime() const { return checkUpperAnime(0x202); }
|
||||
BOOL checkWolfHeadDamageAnime() const { return checkUpperAnime(0x2A7); }
|
||||
BOOL checkExchangeRodAnime() const { return checkUpperAnime(0x68); }
|
||||
|
|
@ -3444,7 +3511,9 @@ public:
|
|||
cXyz* getMidnaHairAtnPos() { return &mMidnaHairAtnPos; }
|
||||
|
||||
const daAlink_AnmData* getAnmData(daAlink_ANM anmID) const { return &m_anmDataTable[anmID]; }
|
||||
const daAlink_FaceTexData* getFaceTexData(daAlink_FTANM i_anmID) const { return &m_faceTexDataTable[i_anmID]; }
|
||||
const daAlink_FaceTexData* getFaceTexData(daAlink_FTANM i_anmID) const {
|
||||
return &m_faceTexDataTable[i_anmID];
|
||||
}
|
||||
|
||||
s16 getCameraAngleX() const { return field_0x310a; }
|
||||
s16 getCameraAngleY() const { return field_0x310c; }
|
||||
|
|
@ -3466,7 +3535,8 @@ public:
|
|||
var_r5 = 0;
|
||||
|
||||
if (mItemAcKeep.getActor() != NULL &&
|
||||
mItemAcKeep.getActor()->eventInfo.checkCommandDemoAccrpt() != 0) {
|
||||
mItemAcKeep.getActor()->eventInfo.checkCommandDemoAccrpt() != 0)
|
||||
{
|
||||
var_r5 = 1;
|
||||
}
|
||||
|
||||
|
|
@ -3490,10 +3560,8 @@ public:
|
|||
}
|
||||
|
||||
BOOL checkSlideMode() {
|
||||
return mProcID == PROC_SLIDE ||
|
||||
mProcID == PROC_SLIDE_LAND ||
|
||||
mProcID == PROC_WOLF_SLIDE_READY ||
|
||||
mProcID == PROC_WOLF_SLIDE_LAND ||
|
||||
return mProcID == PROC_SLIDE || mProcID == PROC_SLIDE_LAND ||
|
||||
mProcID == PROC_WOLF_SLIDE_READY || mProcID == PROC_WOLF_SLIDE_LAND ||
|
||||
mProcID == PROC_WOLF_SLIDE;
|
||||
}
|
||||
|
||||
|
|
@ -3517,7 +3585,9 @@ public:
|
|||
f32 getCopyRodBallDisFlyMax() const { return mSearchBallScale; }
|
||||
|
||||
void clearIronBallActor() { field_0x173c.SetActor(this); }
|
||||
BOOL checkCanoeRideOwn(const fopAc_ac_c* param_0) const { return checkCanoeRide() && mRideAcKeep.getActorConst() == param_0; }
|
||||
BOOL checkCanoeRideOwn(const fopAc_ac_c* param_0) const {
|
||||
return checkCanoeRide() && mRideAcKeep.getActorConst() == param_0;
|
||||
}
|
||||
bool checkWolfDashMode() const { return checkNoResetFlg1(FLG1_DASH_MODE); }
|
||||
bool checkWolfLieWaterIn() const { return mWaterY > current.pos.y + 20.5f; }
|
||||
|
||||
|
|
@ -3545,6 +3615,12 @@ public:
|
|||
bool checkSpinnerRideWait() const {
|
||||
return mProcID == PROC_SPINNER_WAIT && mProcVar2.field_0x300c == 0;
|
||||
}
|
||||
bool checkCopyRodSwingMode() { return mProcID == PROC_COPY_ROD_SWING; }
|
||||
bool checkCopyRodSwingModeInit() {
|
||||
return mProcID == PROC_COPY_ROD_SWING && mProcVar2.field_0x300c != 0;
|
||||
}
|
||||
float transAnimeMoveX() { return field_0x3464; }
|
||||
float transAnimeMoveZ() { return field_0x3468; }
|
||||
bool checkRoofSwitchHang() const { return mProcID == PROC_ROOF_SWITCH_HANG; }
|
||||
bool checkCanoeWait() const { return mProcID == PROC_CANOE_WAIT; }
|
||||
bool checkCanoeSubjectivity() const { return mProcID == PROC_CANOE_SUBJECTIVITY; }
|
||||
|
|
@ -3578,9 +3654,7 @@ public:
|
|||
|
||||
void clearComboReserb() { offNoResetFlg2(FLG2_UNK_2); }
|
||||
|
||||
void setDamageColorTime() {
|
||||
mDamageColorTime = 32 - (mDamageTimer % 16);
|
||||
}
|
||||
void setDamageColorTime() { mDamageColorTime = 32 - (mDamageTimer % 16); }
|
||||
|
||||
BOOL setEnemyBomb(fopAc_ac_c* i_actor) { return exchangeGrabActor(i_actor); }
|
||||
|
||||
|
|
@ -3606,9 +3680,7 @@ public:
|
|||
return getDirectionFromAngle(field_0x2fe2 - current.angle.y);
|
||||
}
|
||||
|
||||
bool checkAnmEnd(daPy_frameCtrl_c* i_frameCtrl) {
|
||||
return i_frameCtrl->checkAnmEnd();
|
||||
}
|
||||
bool checkAnmEnd(daPy_frameCtrl_c* i_frameCtrl) { return i_frameCtrl->checkAnmEnd(); }
|
||||
|
||||
BOOL checkCrawlWaterIn() { return mWaterY > current.pos.y + 15.5f; }
|
||||
|
||||
|
|
@ -3632,7 +3704,7 @@ public:
|
|||
bool checkRootTransXClearMode() { return field_0x2f99 & 1; }
|
||||
bool checkRootTransYClearMode() { return field_0x2f99 & 2; }
|
||||
bool checkRootTransClearContinueMode() { return field_0x2f99 & 8; }
|
||||
s16 checkWindStoneHowl() {return mProcVar4.field_0x3010; }
|
||||
s16 checkWindStoneHowl() { return mProcVar4.field_0x3010; }
|
||||
u8 getCorrectCurveID() { return mZ2WolfHowlMgr.getCorrectCurveID(); }
|
||||
u8 getCorrectLineNum() { return mZ2WolfHowlMgr.getCorrectLineNum(); }
|
||||
u32 getWolfHowlTimer() { return mZ2WolfHowlMgr.getTimer(); }
|
||||
|
|
@ -3648,7 +3720,9 @@ public:
|
|||
|
||||
fopAc_ac_c* getAtnActor() { return mTargetedActor; }
|
||||
|
||||
void itemHitSE(u32 param_1, u32 param_2, Z2SoundObjBase* param_3) { mZ2Link.startHitItemSE(param_1, param_2, param_3, -1.0f); }
|
||||
void itemHitSE(u32 param_1, u32 param_2, Z2SoundObjBase* param_3) {
|
||||
mZ2Link.startHitItemSE(param_1, param_2, param_3, -1.0f);
|
||||
}
|
||||
|
||||
BOOL checkStartFall() { return getStartMode() == 3; }
|
||||
|
||||
|
|
@ -3667,21 +3741,13 @@ public:
|
|||
mDoMtx_multVec(getRightHandMatrix(), &m_handRightInSidePos, o_pos);
|
||||
}
|
||||
|
||||
cXyz* getLineTopPosP() {
|
||||
return mSight.getPosP();
|
||||
}
|
||||
cXyz* getLineTopPosP() { return mSight.getPosP(); }
|
||||
|
||||
cXyz* getBoomerangLockPosP() {
|
||||
return &mHeldItemRootPos;
|
||||
}
|
||||
cXyz* getBoomerangLockPosP() { return &mHeldItemRootPos; }
|
||||
|
||||
BOOL boomerangLockTrigger() {
|
||||
return itemActionTrigger();
|
||||
}
|
||||
BOOL boomerangLockTrigger() { return itemActionTrigger(); }
|
||||
|
||||
BOOL checkBoomerangLockTrigger() {
|
||||
return boomerangLockTrigger();
|
||||
}
|
||||
BOOL checkBoomerangLockTrigger() { return boomerangLockTrigger(); }
|
||||
|
||||
BOOL checkDemoSpinnerKeep() const {
|
||||
return mDemo.getDemoMode() == 14 && mDemo.getParam0() == 1;
|
||||
|
|
@ -3705,9 +3771,7 @@ public:
|
|||
|
||||
inline void startRestartRoomFromOut(int, u32, int);
|
||||
|
||||
u16 getReadyItem() {
|
||||
return dComIfGp_getSelectItem(mSelectItemId);
|
||||
}
|
||||
u16 getReadyItem() { return dComIfGp_getSelectItem(mSelectItemId); }
|
||||
|
||||
static daAlink_BckData const m_mainBckShield[20];
|
||||
static daAlink_BckData const m_mainBckSword[5];
|
||||
|
|
@ -3720,7 +3784,6 @@ public:
|
|||
static Vec const m_handLeftInSidePos;
|
||||
static Vec const m_handRightInSidePos;
|
||||
|
||||
|
||||
static daAlink_procInitTable m_procInitTable[];
|
||||
static daAlink_procFunc m_demoInitTable[];
|
||||
static EffParamProc m_fEffParamProc[];
|
||||
|
|
@ -3780,8 +3843,8 @@ public:
|
|||
/* 0x00704 */ J3DAnmTextureSRTKey* mpKanteraGlowBtk;
|
||||
/* 0x00708 */ J3DModel* mHeldItemModel;
|
||||
/* 0x0070C */ J3DModel* mpHookTipModel; // related to held item
|
||||
/* 0x00710 */ J3DModel* field_0x0710; // related to held item
|
||||
/* 0x00714 */ J3DModel* field_0x0714; // related to held item
|
||||
/* 0x00710 */ J3DModel* field_0x0710; // related to held item
|
||||
/* 0x00714 */ J3DModel* field_0x0714; // related to held item
|
||||
/* 0x00718 */ J3DAnmTextureSRTKey* field_0x0718;
|
||||
/* 0x0071C */ J3DAnmTextureSRTKey* field_0x071c;
|
||||
/* 0x00720 */ J3DAnmTextureSRTKey* field_0x0720;
|
||||
|
|
@ -4377,7 +4440,7 @@ struct daAlinkHIO_anm_c {
|
|||
/* 0x08 */ f32 mStartFrame;
|
||||
/* 0x0C */ f32 mInterpolation;
|
||||
/* 0x10 */ f32 mCancelFrame;
|
||||
}; // size: 0x14
|
||||
}; // size: 0x14
|
||||
|
||||
struct daAlinkHIO_basic_c1 {
|
||||
/* 0x00 */ bool mOneHitKill;
|
||||
|
|
@ -4833,7 +4896,7 @@ public:
|
|||
/* 0x54 */ s16 mGuardBodyInterpolation;
|
||||
/* 0x56 */ s16 mSmallGuardLRAngleMax;
|
||||
/* 0x58 */ s16 mSmallGuardFBAngleMax;
|
||||
/* 0x5C */ f32 mCrouchGuardAnmSpeed; // Unused
|
||||
/* 0x5C */ f32 mCrouchGuardAnmSpeed; // Unused
|
||||
/* 0x60 */ f32 mCrouchGuardInterpolation; // Unused
|
||||
/* 0x64 */ f32 mGuardSpeedNormal;
|
||||
/* 0x68 */ f32 mGuardSpeedLarge;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,54 @@
|
|||
#include "d/d_particle_copoly.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
enum daCstatue_FLG0 {
|
||||
daCstatue_FLG0_1 = 0x1,
|
||||
daCstatue_FLG0_2 = 0x2,
|
||||
daCstatue_FLG0_4 = 0x4,
|
||||
daCstatue_FLG0_8 = 0x8,
|
||||
daCstatue_FLG0_10 = 0x10,
|
||||
daCstatue_FLG0_20 = 0x20,
|
||||
daCstatue_FLG0_Demo = 0x40,
|
||||
daCstatue_FLG0_80 = 0x80,
|
||||
daCstatue_FLG0_100 = 0x100,
|
||||
daCstatue_FLG0_200 = 0x200,
|
||||
daCstatue_FLG0_400 = 0x400,
|
||||
daCstatue_FLG0_800 = 0x800,
|
||||
daCstatue_FLG0_1000 = 0x1000,
|
||||
};
|
||||
|
||||
enum daCstatue_MoveMode {
|
||||
daCstatue_MoveMode_0,
|
||||
daCstatue_MoveMode_1,
|
||||
daCstatue_MoveMode_2,
|
||||
daCstatue_MoveMode_3,
|
||||
};
|
||||
|
||||
enum daCstatue_DemoMode {
|
||||
daCstatue_DemoMode_0,
|
||||
daCstatue_DemoMode_1,
|
||||
daCstatue_DemoMode_2,
|
||||
daCstatue_DemoMode_3,
|
||||
};
|
||||
|
||||
enum daCstatueWarpMode {
|
||||
daCstatueWarpMode_Active = 0x1,
|
||||
daCstatueWarpMode_Ground = 0x2,
|
||||
};
|
||||
|
||||
enum daCstatueType {
|
||||
daCstatueType_Normal,
|
||||
daCstatueType_Small,
|
||||
daCstatueType_Normal2,
|
||||
daCstatueType_BossRight,
|
||||
daCstatueType_BossLeft,
|
||||
daCstatueType_N,
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
* @class daCstatue_c
|
||||
* @brief Dominion Rod Statue (small?)
|
||||
* @brief Dominion Rod Statue
|
||||
*
|
||||
* @details
|
||||
*
|
||||
|
|
@ -16,84 +60,85 @@
|
|||
class daCstatue_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 806636AC */ void atHitCallback(fopAc_ac_c*);
|
||||
/* 806636EC */ void createHeap();
|
||||
/* 80663D28 */ void create();
|
||||
/* 806636EC */ int createHeap();
|
||||
/* 80663D28 */ int create();
|
||||
/* 80664840 */ ~daCstatue_c();
|
||||
/* 80664AA0 */ void setRoomInfo();
|
||||
/* 80664B38 */ void setMatrix();
|
||||
/* 80664C9C */ void posMove();
|
||||
/* 8066555C */ void setCollision();
|
||||
/* 80665E14 */ void checkHammerReverse();
|
||||
/* 80665E14 */ BOOL checkHammerReverse();
|
||||
/* 80665F80 */ void setDemo();
|
||||
/* 80666390 */ void setAnime();
|
||||
/* 80666B80 */ void initBrk(u16);
|
||||
/* 80666B80 */ int initBrk(u16);
|
||||
/* 80666BF8 */ void initStopBrkBtk();
|
||||
/* 80666C38 */ void initStartBrkBtk();
|
||||
/* 80666DE8 */ void execute();
|
||||
/* 80667438 */ void draw();
|
||||
/* 80666DE8 */ int execute();
|
||||
/* 80667438 */ int draw();
|
||||
|
||||
bool checkNormalType() const { return mType == 0; }
|
||||
bool checkNotSmallType() const { return mType == 1; }
|
||||
bool checkBossType() const { return mType == 4 || mType == 3; }
|
||||
bool checkBossAtGroundHit() const { return mBossAtGndHit == 1; }
|
||||
bool checkNormalType() const { return mType == daCstatueType_Normal; }
|
||||
bool checkNotSmallType() const { return mType != daCstatueType_Small; }
|
||||
bool checkBossType() const {
|
||||
return mType == daCstatueType_BossLeft || mType == daCstatueType_BossRight;
|
||||
}
|
||||
cXyz& getBallPos() { return mBallPos; }
|
||||
void onWarpGround(const cXyz& pos) {
|
||||
field_0xb14 = pos;
|
||||
field_0xae1 = 3;
|
||||
void onWarpGround(const cXyz& pos) {
|
||||
mWarpTarget = pos;
|
||||
mWarpMode = daCstatueWarpMode_Active | daCstatueWarpMode_Ground;
|
||||
}
|
||||
void warpStart(const cXyz& pos) {
|
||||
field_0xb14 = pos;
|
||||
field_0xae1 = 1;
|
||||
}
|
||||
void onStateFlg0(int flg) {
|
||||
mStateFlg0 |= flg;
|
||||
mWarpTarget = pos;
|
||||
mWarpMode = daCstatueWarpMode_Active;
|
||||
}
|
||||
void onStateFlg0(daCstatue_FLG0 flg) { mStateFlg0 |= flg; }
|
||||
void offStateFlg0(daCstatue_FLG0 flg) { mStateFlg0 &= ~flg; }
|
||||
bool checkStateFlg0(daCstatue_FLG0 flg) const { return mStateFlg0 & flg; }
|
||||
void warpDelete() {
|
||||
onStateFlg0(1);
|
||||
field_0xae1 = 1;
|
||||
onStateFlg0(daCstatue_FLG0_1);
|
||||
mWarpMode = daCstatueWarpMode_Active;
|
||||
}
|
||||
|
||||
static u8 const m_bckIdxTable[70 + 2 /* padding */];
|
||||
static u16 const m_bckIdxTable[daCstatueType_N][7];
|
||||
|
||||
private:
|
||||
/* 0x568 */ char* mResName;
|
||||
/* 0x568 */ const char* mResName;
|
||||
/* 0x56C */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x574 */ J3DModel* field_0x574;
|
||||
/* 0x578 */ mDoExt_McaMorfSO* field_0x578;
|
||||
/* 0x57C */ mDoExt_btkAnm field_0x57c;
|
||||
/* 0x594 */ mDoExt_brkAnm field_0x594;
|
||||
/* 0x5AC */ dBgS_AcchCir field_0x5ac[4];
|
||||
/* 0x6AC */ dBgS_StatueAcch field_0x6ac;
|
||||
/* 0x884 */ dCcD_Stts field_0x884;
|
||||
/* 0x8C0 */ dCcD_Cyl field_0x8c0;
|
||||
/* 0x9FC */ dCcD_Cyl* field_0x9fc;
|
||||
/* 0xA00 */ dCcD_Cps* field_0xa00;
|
||||
/* 0xA04 */ dCcD_Cps* field_0xa04;
|
||||
/* 0xA08 */ dCcD_Sph* field_0xa08;
|
||||
/* 0xA0C */ mDoExt_invisibleModel field_0xa0c;
|
||||
/* 0xA14 */ Z2Creature field_0xa14;
|
||||
/* 0xAA4 */ dPaPo_c field_0xaa4;
|
||||
/* 0xADC */ u8 mReverb;
|
||||
/* 0x574 */ J3DModel* mModel;
|
||||
/* 0x578 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x57C */ mDoExt_btkAnm mAnim1;
|
||||
/* 0x594 */ mDoExt_brkAnm mAnim2;
|
||||
/* 0x5AC */ dBgS_AcchCir mAcchCir[4];
|
||||
/* 0x6AC */ dBgS_StatueAcch mStatueAcch;
|
||||
/* 0x884 */ dCcD_Stts mStts;
|
||||
/* 0x8C0 */ dCcD_Cyl mCyl1;
|
||||
/* 0x9FC */ dCcD_Cyl* mCyl2;
|
||||
/* 0xA00 */ dCcD_Cps* mCps1;
|
||||
/* 0xA04 */ dCcD_Cps* mCps2;
|
||||
/* 0xA08 */ dCcD_Sph* mSph;
|
||||
/* 0xA0C */ mDoExt_invisibleModel mInvisible;
|
||||
/* 0xA14 */ Z2Creature mSound;
|
||||
/* 0xAA4 */ dPaPo_c mPaPo;
|
||||
/* 0xADC */ s8 mReverb;
|
||||
/* 0xADD */ u8 mType;
|
||||
/* 0xADE */ u8 field_0xade;
|
||||
/* 0xADF */ u8 field_0xadf;
|
||||
/* 0xAE0 */ u8 field_0xae0;
|
||||
/* 0xAE1 */ u8 field_0xae1;
|
||||
/* 0xAE2 */ u8 field_0xae2;
|
||||
/* 0xAE3 */ u8 field_0xae3;
|
||||
/* 0xAE4 */ u8 field_0xae4;
|
||||
/* 0xADE */ u8 mParam0;
|
||||
/* 0xADF */ u8 mCurrentAnim;
|
||||
/* 0xAE0 */ u8 mMoveMode;
|
||||
/* 0xAE1 */ u8 mWarpMode;
|
||||
/* 0xAE2 */ u8 mParam1;
|
||||
/* 0xAE3 */ u8 mDemoMode;
|
||||
/* 0xAE4 */ u8 mParam2;
|
||||
/* 0xAE5 */ u8 mBossAtGndHit;
|
||||
/* 0xAE6 */ u8 field_0xae6[0xAE8 - 0xAE6];
|
||||
/* 0xAE8 */ s16 field_0xae8;
|
||||
/* 0xAEA */ s16 field_0xaea;
|
||||
/* 0xAE6 */ u16 unused;
|
||||
/* 0xAE8 */ s16 mDemoTimer;
|
||||
/* 0xAEA */ s16 mTimer1;
|
||||
/* 0xAEC */ u32 mStateFlg0;
|
||||
/* 0xAF0 */ u32 field_0xaf0;
|
||||
/* 0xAF4 */ f32 field_0xaf4;
|
||||
/* 0xAF8 */ f32 field_0xaf8;
|
||||
/* 0xAFC */ f32 field_0xafc;
|
||||
/* 0xB00 */ f32 field_0xb00;
|
||||
/* 0xB04 */ f32 field_0xb04;
|
||||
/* 0xB08 */ cXyz field_0xb08;
|
||||
/* 0xB14 */ cXyz field_0xb14;
|
||||
/* 0xAF0 */ u32 mShadowKey;
|
||||
/* 0xAF4 */ cXyz mSomePos;
|
||||
/* 0xB00 */ f32 mControlDistanceOffset;
|
||||
/* 0xB04 */ f32 mTargetFrame;
|
||||
/* 0xB08 */ cXyz mLinkPos;
|
||||
/* 0xB14 */ cXyz mWarpTarget;
|
||||
/* 0xB20 */ cXyz mBallPos;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ public:
|
|||
SetStatue();
|
||||
}
|
||||
|
||||
/* 806646F8 */ virtual ~dBgS_StatueAcch();
|
||||
/* 806646F8 */ virtual ~dBgS_StatueAcch() {}
|
||||
};
|
||||
|
||||
class dBgS_BombAcch : public dBgS_Acch {
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
#ifndef D_COM_D_COM_INF_GAME_H
|
||||
#define D_COM_D_COM_INF_GAME_H
|
||||
|
||||
#include "d/d_cc_s.h"
|
||||
#include "d/d_attention.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/d_vibration.h"
|
||||
#include "d/d_cc_s.h"
|
||||
#include "d/d_event.h"
|
||||
#include "d/d_event_manager.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/d_save.h"
|
||||
#include "d/d_vibration.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "global.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
|
||||
class JKRAramArchive;
|
||||
class dSmplMdl_draw_c;
|
||||
|
|
@ -681,7 +681,9 @@ public:
|
|||
}
|
||||
|
||||
f32 getCameraZoomForcus(int i_no) { return mCameraInfo[i_no].mCameraZoomForcus; }
|
||||
void setCameraZoomForcus(int i_no, f32 i_focus) { mCameraInfo[i_no].mCameraZoomForcus = i_focus; }
|
||||
void setCameraZoomForcus(int i_no, f32 i_focus) {
|
||||
mCameraInfo[i_no].mCameraZoomForcus = i_focus;
|
||||
}
|
||||
|
||||
f32 getCameraZoomScale(int i_no) { return mCameraInfo[i_no].mCameraZoomScale; }
|
||||
void setCameraZoomScale(int i_no, f32 i_scale) { mCameraInfo[i_no].mCameraZoomScale = i_scale; }
|
||||
|
|
@ -916,7 +918,8 @@ inline BOOL dComIfG_isDebugMode() {
|
|||
/**
|
||||
* Attempts to add a new Object Resource Archive (*.arc) into the Resource Control.
|
||||
* @param i_arcName Name of archive to be added
|
||||
* @param i_mountDirection The direction to mount the archive. mDoDvd_MOUNT_DIRECTION_HEAD or mDoDvd_MOUNT_DIRECTION_TAIL
|
||||
* @param i_mountDirection The direction to mount the archive. mDoDvd_MOUNT_DIRECTION_HEAD or
|
||||
* mDoDvd_MOUNT_DIRECTION_TAIL
|
||||
* @param i_heap Pointer to heap to load resources into
|
||||
* @return TRUE if successful, FALSE otherwise
|
||||
*/
|
||||
|
|
@ -1397,6 +1400,10 @@ inline void dComIfGs_onTbox(int i_no) {
|
|||
g_dComIfG_gameInfo.info.getMemory().getBit().onTbox(i_no);
|
||||
}
|
||||
|
||||
inline void dComIfGs_offTbox(int i_no) {
|
||||
g_dComIfG_gameInfo.info.getMemory().getBit().offTbox(i_no);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isSaveItem(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isItem(i_no);
|
||||
}
|
||||
|
|
@ -1641,7 +1648,8 @@ inline s8 dComIfGs_getHorseRestartRoomNo() {
|
|||
return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getRoomNo();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setHorseRestart(const char* i_stageName, cXyz& i_pos, s16 i_angle, s8 i_roomNo) {
|
||||
inline void dComIfGs_setHorseRestart(const char* i_stageName, cXyz& i_pos, s16 i_angle,
|
||||
s8 i_roomNo) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().set(i_stageName, i_pos, i_angle, i_roomNo);
|
||||
}
|
||||
|
||||
|
|
@ -2176,8 +2184,8 @@ inline void dComIfGp_att_LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist,
|
|||
|
||||
inline void dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist,
|
||||
f32 i_upDist, f32 i_downDist, s16 i_angle, int param_5) {
|
||||
dComIfGp_getAttention().CatchRequest(param_0, param_1, i_horizontalDist, i_upDist,
|
||||
i_downDist, i_angle, param_5);
|
||||
dComIfGp_getAttention().CatchRequest(param_0, param_1, i_horizontalDist, i_upDist, i_downDist,
|
||||
i_angle, param_5);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_att_getLookTarget() {
|
||||
|
|
@ -2873,11 +2881,13 @@ inline u32 dComIfGp_getCameraAttentionStatus(int i_no) {
|
|||
return g_dComIfG_gameInfo.play.getCameraAttentionStatus(i_no);
|
||||
}
|
||||
|
||||
inline void dComIfGp_saveCameraPosition(int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy, s16 i_bank) {
|
||||
inline void dComIfGp_saveCameraPosition(int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy,
|
||||
s16 i_bank) {
|
||||
g_dComIfG_gameInfo.play.saveCameraPosition(i, i_pos, i_target, i_fovy, i_bank);
|
||||
}
|
||||
|
||||
inline void dComIfGp_loadCameraPosition(int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy, s16* o_bank) {
|
||||
inline void dComIfGp_loadCameraPosition(int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy,
|
||||
s16* o_bank) {
|
||||
g_dComIfG_gameInfo.play.loadCameraPosition(i, o_pos, o_target, o_fovy, o_bank);
|
||||
}
|
||||
|
||||
|
|
@ -3049,8 +3059,9 @@ inline void dComIfGp_setMesgBgmOff() {
|
|||
g_dComIfG_gameInfo.play.setMesgBgm(0);
|
||||
}
|
||||
|
||||
inline bool dComIfGp_checkMesgBgm() {
|
||||
return g_dComIfG_gameInfo.play.checkMesgBgm(); }
|
||||
inline bool dComIfGp_checkMesgBgm() {
|
||||
return g_dComIfG_gameInfo.play.checkMesgBgm();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setMessageCountNumber(u32 number) {
|
||||
g_dComIfG_gameInfo.play.setMessageCountNumber(number);
|
||||
|
|
@ -3246,11 +3257,10 @@ inline void dComIfGp_drawSimpleModel() {
|
|||
g_dComIfG_gameInfo.play.drawSimpleModel();
|
||||
}
|
||||
|
||||
inline void dComIfGp_entrySimpleModel(J3DModel *model,int roomNo) {
|
||||
inline void dComIfGp_entrySimpleModel(J3DModel* model, int roomNo) {
|
||||
g_dComIfG_gameInfo.play.entrySimpleModel(model, roomNo);
|
||||
}
|
||||
|
||||
|
||||
inline dStage_Multi_c* dComIfGp_getMulti() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getMulti();
|
||||
}
|
||||
|
|
@ -3288,7 +3298,7 @@ inline void dComIfGp_deleteSimpleModel() {
|
|||
}
|
||||
|
||||
inline void dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz* param_2,
|
||||
const csXyz* param_3, const cXyz* param_4, u32 i_atType) {
|
||||
const csXyz* param_3, const cXyz* param_4, u32 i_atType) {
|
||||
g_dComIfG_gameInfo.play.getParticle()->setHitMark(i_hitmark, param_1, param_2, param_3, param_4,
|
||||
i_atType);
|
||||
}
|
||||
|
|
@ -3321,7 +3331,7 @@ inline void dComIfGp_setMesgCameraInfoActor(fopAc_ac_c* param_1, fopAc_ac_c* par
|
|||
}
|
||||
|
||||
inline void dComIfGp_setMesgCameraAttrInfo(int param_1) {
|
||||
g_dComIfG_gameInfo.play.setMesgCamInfoBasicID(param_1);
|
||||
g_dComIfG_gameInfo.play.setMesgCamInfoBasicID(param_1);
|
||||
}
|
||||
|
||||
inline dComIfG_MesgCamInfo_c* dComIfGp_getMesgCameraInfo() {
|
||||
|
|
@ -3482,7 +3492,6 @@ inline void dComIfGp_event_offHindFlag(u16 i_flag) {
|
|||
g_dComIfG_gameInfo.play.getEvent().offHindFlag(i_flag);
|
||||
}
|
||||
|
||||
|
||||
inline void dComIfGp_evmng_cutEnd(int param_0) {
|
||||
dComIfGp_getPEvtManager()->cutEnd(param_0);
|
||||
}
|
||||
|
|
@ -3977,13 +3986,13 @@ inline u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInf
|
|||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_setPolyColor(u16 param_1, cBgS_PolyInfo& param_2,
|
||||
const cXyz* param_3, const dKy_tevstr_c* param_4,
|
||||
const csXyz* param_5, const cXyz* param_6, int param_7,
|
||||
dPa_levelEcallBack* param_8, s8 param_9,
|
||||
const cXyz* param_10) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setPoly(param_1, param_2, param_3,
|
||||
param_4, param_5, param_6, param_7,
|
||||
param_8, param_9, param_10);
|
||||
const cXyz* param_3,
|
||||
const dKy_tevstr_c* param_4,
|
||||
const csXyz* param_5, const cXyz* param_6,
|
||||
int param_7, dPa_levelEcallBack* param_8,
|
||||
s8 param_9, const cXyz* param_10) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setPoly(
|
||||
param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10);
|
||||
}
|
||||
|
||||
int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle,
|
||||
|
|
@ -4294,11 +4303,11 @@ inline void dComIfGd_imageDrawShadow(Mtx param_0) {
|
|||
g_dComIfG_gameInfo.drawlist.imageDrawShadow(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGd_set3DlineMat(mDoExt_3DlineMat_c *param_0) {
|
||||
inline void dComIfGd_set3DlineMat(mDoExt_3DlineMat_c* param_0) {
|
||||
g_dComIfG_gameInfo.drawlist.set3DlineMat(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c *param_0) {
|
||||
inline void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c* param_0) {
|
||||
g_dComIfG_gameInfo.drawlist.set3DlineMatDark(param_0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,10 @@ public:
|
|||
setPosition(i_tboxNo, 12, i_pos, param_2);
|
||||
}
|
||||
|
||||
static void setIconPositionOfCstatue(int i_tboxNo, const Vec* i_pos) {
|
||||
setPosition(i_tboxNo, 15, i_pos, -1);
|
||||
}
|
||||
|
||||
static void setCarryIron(int i_tboxNo, const Vec* i_pos) {
|
||||
setPosition(i_tboxNo, 11, i_pos, -1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,8 +33,7 @@
|
|||
const fpc_ProcID procID = fopAcM_GetID(i_this); \
|
||||
"Create -> " actor_name_str "(id=%d)\n"
|
||||
|
||||
#define fopAcM_RegisterDelete(i_this, actor_name_str) \
|
||||
"Delete -> " actor_name_str "\n"
|
||||
#define fopAcM_RegisterDelete(i_this, actor_name_str) "Delete -> " actor_name_str "\n"
|
||||
|
||||
#define fopAcM_RegisterCreate(actor_class, i_this, actor_name_str) \
|
||||
static_cast<actor_class*>(i_this); \
|
||||
|
|
@ -380,7 +379,8 @@ inline int fopAcM_GetCullSize(const fopAc_ac_c* i_actor) {
|
|||
}
|
||||
|
||||
inline BOOL fopAcM_CULLSIZE_IS_BOX(int i_culltype) {
|
||||
return (i_culltype >= 0 && i_culltype < fopAc_CULLBOX_CUSTOM_e) || i_culltype == fopAc_CULLBOX_CUSTOM_e;
|
||||
return (i_culltype >= 0 && i_culltype < fopAc_CULLBOX_CUSTOM_e) ||
|
||||
i_culltype == fopAc_CULLBOX_CUSTOM_e;
|
||||
}
|
||||
|
||||
inline const cXyz& fopAcM_getCullSizeSphereCenter(const fopAc_ac_c* i_actor) {
|
||||
|
|
@ -602,8 +602,7 @@ fpc_ProcID fopAcM_createItemFromTable(cXyz const* i_pos, int i_tableNo, int i_it
|
|||
bool i_createDirect);
|
||||
|
||||
fpc_ProcID fopAcM_createDemoItem(const cXyz* i_pos, int i_itemNo, int i_itemBitNo,
|
||||
const csXyz* i_angle, int i_roomNo, const cXyz* scale,
|
||||
u8 param_7);
|
||||
const csXyz* i_angle, int i_roomNo, const cXyz* scale, u8 param_7);
|
||||
|
||||
fpc_ProcID fopAcM_createItemForBoss(const cXyz* i_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, f32 i_speedF,
|
||||
|
|
@ -767,21 +766,23 @@ inline void fopAcM_effSmokeSet2(u32* param_0, u32* param_1, cXyz const* param_2,
|
|||
fopAcM_effSmokeSet1(param_0, param_1, param_2, param_3, param_4, param_5, 0);
|
||||
}
|
||||
|
||||
inline void fopAcM_setWarningMessage_f(const fopAc_ac_c* i_actor, const char* i_filename, int i_line, const char* i_msg, ...) {
|
||||
inline void fopAcM_setWarningMessage_f(const fopAc_ac_c* i_actor, const char* i_filename,
|
||||
int i_line, const char* i_msg, ...) {
|
||||
#ifdef DEBUG
|
||||
/* va_list args;
|
||||
va_start(args, i_msg);
|
||||
|
||||
char buf[64];
|
||||
snprintf(buf, sizeof(buf), "<%s> %s", dStage_getName(fopAcM_GetProfName(i_actor), i_actor->subtype), i_msg);
|
||||
setWarningMessage_f_va(JUTAssertion::getSDevice(), i_filename, i_line, buf, args);
|
||||
snprintf(buf, sizeof(buf), "<%s> %s", dStage_getName(fopAcM_GetProfName(i_actor),
|
||||
i_actor->subtype), i_msg); setWarningMessage_f_va(JUTAssertion::getSDevice(), i_filename,
|
||||
i_line, buf, args);
|
||||
|
||||
va_end(args); */
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
#define fopAcM_setWarningMessage(i_actor, i_filename, i_line, i_msg) \
|
||||
#define fopAcM_setWarningMessage(i_actor, i_filename, i_line, i_msg) \
|
||||
fopAcM_setWarningMessage_f(i_actor, i_filename, i_line, i_msg)
|
||||
#else
|
||||
#define fopAcM_setWarningMessage(...)
|
||||
|
|
@ -798,6 +799,7 @@ public:
|
|||
static cXyz* getCrossP() { return mLineCheck.GetCrossP(); }
|
||||
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
|
||||
static bool getTriPla(cM3dGPla* o_tri) { return dComIfG_Bgsp().GetTriPla(mLineCheck, o_tri); }
|
||||
static s32 getWallCode() { return dComIfG_Bgsp().GetWallCode(mLineCheck); }
|
||||
static bool checkWallHit() {
|
||||
cM3dGPla poly;
|
||||
getTriPla(&poly);
|
||||
|
|
|
|||
|
|
@ -74,7 +74,8 @@ BOOL daAlink_c::checkForestOldCentury() {
|
|||
/* 800E145C-800E1530 0DBD9C 00D4+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkCopyRodTopUse() {
|
||||
// Event flag 0x2580: Dominion Rod power restored
|
||||
return (dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e != 0)) ||
|
||||
return (dComIfGs_isEventBit(0x2580) &&
|
||||
!(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e != 0)) ||
|
||||
dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 ||
|
||||
checkForestOldCentury();
|
||||
}
|
||||
|
|
@ -252,7 +253,8 @@ void daAlink_c::checkUpperItemActionCopyRodFly() {
|
|||
int daAlink_c::checkNextActionCopyRod() {
|
||||
if ((checkBoomerangCatchAnime() &&
|
||||
mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame) ||
|
||||
checkNoResetFlg1(FLG1_UNK_10000)) {
|
||||
checkNoResetFlg1(FLG1_UNK_10000))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -382,7 +384,10 @@ int daAlink_c::procCopyRodSwingInit() {
|
|||
commonProcInit(PROC_COPY_ROD_SWING);
|
||||
daCstatue_c* statue = (daCstatue_c*)getCopyRodControllActor();
|
||||
|
||||
if (statue != NULL && ((fopAcM_GetName(statue) == PROC_CSTATUE && !statue->checkNotSmallType()) || fopAcM_GetName(statue) != PROC_CSTATUE)) {
|
||||
if (statue != NULL &&
|
||||
((fopAcM_GetName(statue) == PROC_CSTATUE && statue->checkNotSmallType()) ||
|
||||
fopAcM_GetName(statue) != PROC_CSTATUE))
|
||||
{
|
||||
setSingleAnimeParam(ANM_COPYROD_SWING_LARGE, &daAlinkHIO_copyRod_c0::m.mBigSwingAnm);
|
||||
field_0x3478 = 13.0f;
|
||||
field_0x347c = 21.0f;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue