d_a_obj_togeTrap OK (#2545)

* d_a_ibj_togeTrap OK

* Fix broken matches
This commit is contained in:
hatal175
2025-07-20 01:45:51 -07:00
committed by GitHub
parent 541501d781
commit d9ac8d7e3f
12 changed files with 604 additions and 776 deletions
+6 -1
View File
@@ -221,11 +221,16 @@ public:
/* 0x0 */ u8 unk_0x0;
};
class daAlinkHIO_c {
class daAlinkHIO_c
#ifdef DEBUG
: public mDoHIO_entry_c
#endif
{
public:
/* 80140B88 */ daAlinkHIO_c();
/* 80140C10 */ virtual ~daAlinkHIO_c();
void genMessage(JORMContext*);
void jumpStateUpdate(const cXyz*, const cXyz*, f32);
/* 0x04 */ u8 field_0x4[0xC - 0x4];
+80 -14
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_TOGETRAP_H
#define D_A_OBJ_TOGETRAP_H
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,15 +13,24 @@
* @details
*
*/
class daTogeTrap_c : public fopAc_ac_c {
class daTogeTrap_c : public dBgS_MoveBgActor {
public:
typedef void (daTogeTrap_c::*modeFunc)();
enum Mode {
MODE_WAIT,
MODE_MOVE_UP,
MODE_MOVE_DOWN,
MODE_BREAK,
};
/* 80D17C74 */ void setBaseMtx();
/* 80D17D5C */ void CreateHeap();
/* 80D17E14 */ void create();
/* 80D18244 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
/* 80D1825C */ void Execute(f32 (**)[3][4]);
/* 80D17D5C */ int CreateHeap();
/* 80D17E14 */ int create();
/* 80D18244 */ static void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
/* 80D1825C */ int Execute(Mtx**);
/* 80D182C8 */ void moveMain();
/* 80D185DC */ void playerAreaCheck();
/* 80D185DC */ BOOL playerAreaCheck();
/* 80D186B0 */ void init_modeWait();
/* 80D186BC */ void modeWait();
/* 80D186C0 */ void init_modeMoveUp();
@@ -28,23 +39,78 @@ public:
/* 80D188DC */ void modeMoveDown();
/* 80D18994 */ void init_modeBreak();
/* 80D18A5C */ void modeBreak();
/* 80D18BEC */ void Draw();
/* 80D18CA4 */ void Delete();
/* 80D18BEC */ int Draw();
/* 80D18CA4 */ int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
private:
/* 0x568 */ u8 field_0x568[0xae4 - 0x568];
/* 0x5A0 */ dCcD_Stts mStts;
/* 0x5DC */ dCcD_Cyl mCyls[4];
/* 0xACC */ request_of_phase_process_class mPhase;
/* 0xAD4 */ J3DModel* mModel;
/* 0xAD8 */ J3DModel* mWolfEyeModel;
/* 0xADC */ u8 mMode;
/* 0xADD */ u8 field_0xadd;
/* 0xADE */ u8 mSwBit;
/* 0xADF */ bool mIsWolfEye;
/* 0xAE0 */ BOOL mIsPlayerInArea;
};
STATIC_ASSERT(sizeof(daTogeTrap_c) == 0xae4);
class daTogeTrap_HIO_c {
class daTogeTrap_HIO_c : public fOpAcm_HIO_entry_c {
public:
/* 80D17B6C */ daTogeTrap_HIO_c();
/* 80D18DA8 */ ~daTogeTrap_HIO_c();
/* 80D18DA8 */ ~daTogeTrap_HIO_c() {}
#ifdef DEBUG
void genMessage(JORMContext* ctx) {
// Speed
ctx->genLabel("--- 速 出現時---", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
// Initial speed
ctx->genSlider("初速", &mInitialSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200,
0x18);
// Max
ctx->genSlider("最大", &mMaxSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
// Speed when pulling
ctx->genLabel("--- 速度 引っ込み時---", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("初速", &mInitialDownSpeed, 0.0, 10000.0, 0, NULL, 0xffff, 0xffff, 0x200,
0x18);
// Max
ctx->genSlider("最大", &mMaxDownSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200,
0x18);
// Range
ctx->genSlider("範囲", &mRange, 0.1f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
// Spinner speed
ctx->genSlider("スピナー速度", &mSpinnerSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200,
0x18);
// Vibration
ctx->startComboBox("振動", &mVibration, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a);
// Strength 1-8
ctx->genComboBoxItem("強さ1", 1);
ctx->genComboBoxItem("強さ2", 2);
ctx->genComboBoxItem("強さ3", 3);
ctx->genComboBoxItem("強さ4", 4);
ctx->genComboBoxItem("強さ5", 5);
ctx->genComboBoxItem("強さ6", 6);
ctx->genComboBoxItem("強さ7", 7);
ctx->genComboBoxItem("強さ8", 8);
ctx->endComboBox();
}
#endif
/* 0x08 */ f32 mRange;
/* 0x0C */ f32 mInitialSpeed;
/* 0x10 */ f32 mMaxSpeed;
/* 0x14 */ f32 mInitialDownSpeed;
/* 0x18 */ f32 mMaxDownSpeed;
/* 0x1C */ f32 mSpinnerSpeed;
/* 0x20 */ u8 mVibration;
};
#endif /* D_A_OBJ_TOGETRAP_H */
+169 -169
View File
@@ -710,175 +710,175 @@ public:
bool getDkCaught() const { return checkNoResetFlg1(FLG1_DK_CAUGHT); }
bool getStCaught() const { return checkNoResetFlg1(FLG1_UNK_80000000); }
virtual cXyz* getMidnaAtnPos() const { return NULL; }
virtual void setMidnaMsgNum(fopAc_ac_c*, u16) {}
virtual MtxP getModelMtx() { return cullMtx; }
virtual MtxP getInvMtx() { return cullMtx; }
virtual cXyz* getShadowTalkAtnPos() { return &current.pos; }
virtual f32 getGroundY() = 0;
virtual MtxP getLeftItemMatrix() { return cullMtx; }
virtual MtxP getRightItemMatrix() { return cullMtx; }
virtual MtxP getLeftHandMatrix() { return cullMtx; }
virtual MtxP getRightHandMatrix() { return cullMtx; }
virtual MtxP getLinkBackBone1Matrix() { return cullMtx; }
virtual MtxP getWolfMouthMatrix() { return cullMtx; }
virtual MtxP getWolfBackbone2Matrix() { return cullMtx; }
virtual MtxP getBottleMtx() { return NULL; }
virtual BOOL checkPlayerGuard() const { return FALSE; }
virtual u32 checkPlayerFly() const { return 0; }
virtual BOOL checkFrontRoll() const { return FALSE; }
virtual BOOL checkWolfDash() const { return FALSE; }
virtual BOOL checkAutoJump() const { return FALSE; }
virtual bool checkSideStep() const { return FALSE; }
virtual bool checkWolfTriggerJump() const { return FALSE; }
virtual BOOL checkGuardBreakMode() const { return FALSE; }
virtual bool checkLv3Slide() const { return FALSE; }
virtual bool checkWolfHowlDemoMode() const { return FALSE; }
virtual bool checkChainBlockPushPull() { return FALSE; }
virtual BOOL checkElecDamage() const { return FALSE; }
virtual BOOL checkEmptyBottleSwing() const { return FALSE; }
virtual BOOL checkBottleSwingMode() const { return FALSE; }
virtual BOOL checkHawkWait() const { return FALSE; }
virtual BOOL checkGoatThrow() const { return FALSE; }
virtual BOOL checkGoatThrowAfter() const { return FALSE; }
virtual BOOL checkWolfTagLockJump() const { return FALSE; }
virtual BOOL checkWolfTagLockJumpLand() const { return FALSE; }
virtual BOOL checkWolfRope() { return FALSE; }
virtual BOOL checkWolfRopeHang() const { return FALSE; }
virtual BOOL checkRollJump() const { return FALSE; }
virtual BOOL checkGoronRideWait() const { return FALSE; }
virtual BOOL checkWolfChain() const { return FALSE; }
virtual BOOL checkWolfWait() const { return FALSE; }
virtual BOOL checkWolfJumpAttack() const { return FALSE; }
virtual BOOL checkWolfRSit() const { return FALSE; }
virtual bool checkBubbleFly() const { return FALSE; }
virtual BOOL checkBottleDrinkEnd() const { return FALSE; }
virtual BOOL checkWolfDig() const { return FALSE; }
virtual BOOL checkCutCharge() const { return FALSE; }
virtual BOOL checkCutTurnCharge() const { return FALSE; }
virtual BOOL checkCutLargeJumpCharge() const { return FALSE; }
virtual BOOL getBokoFlamePos(cXyz*) { return FALSE; }
virtual BOOL checkComboCutTurn() const { return FALSE; }
virtual BOOL checkClimbMove() const { return FALSE; }
virtual BOOL checkGrassWhistle() const { return FALSE; }
virtual BOOL checkBoarRun() const { return FALSE; }
virtual bool checkFmChainPut() const { return FALSE; }
virtual BOOL checkHorseElecDamage() const { return FALSE; }
virtual f32 getBaseAnimeFrameRate() const { return 1.0f; }
virtual f32 getBaseAnimeFrame() const { return 0.0f; }
virtual void setAnimeFrame(f32) {}
virtual BOOL checkWolfLock(fopAc_ac_c*) const { return FALSE; }
virtual bool cancelWolfLock(fopAc_ac_c*) { return FALSE; }
virtual s32 getAtnActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
virtual s32 getItemID() const { return fpcM_ERROR_PROCESS_ID_e; }
virtual u32 getGrabActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
virtual BOOL exchangeGrabActor(fopAc_ac_c*) { return FALSE; }
virtual BOOL setForceGrab(fopAc_ac_c*, int, int) { return FALSE; }
virtual void setForcePutPos(cXyz const&) {}
virtual u32 checkPlayerNoDraw() { return FALSE; }
virtual bool checkRopeTag() { return FALSE; }
virtual void voiceStart(u32) {}
virtual void seStartOnlyReverb(u32) {}
virtual void seStartOnlyReverbLevel(u32) {}
virtual void setOutPower(f32, short, int) {}
virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*) {}
virtual void onMagneGrab(f32, f32) {}
virtual void onFrollCrashFlg(u8, int) {}
virtual MtxP getModelJointMtx(u16) { return NULL; }
virtual MtxP getHeadMtx() { return NULL; }
virtual bool setHookshotCarryOffset(fpc_ProcID, cXyz const*) { return FALSE; }
virtual BOOL checkCutJumpCancelTurn() const { return FALSE; }
virtual bool checkIronBallReturn() const { return FALSE; }
virtual bool checkIronBallGroundStop() const { return FALSE; }
virtual BOOL checkSingleBoarBattleSecondBowReady() const { return FALSE; }
virtual bool checkPointSubWindowMode() const { return FALSE; }
virtual void setClothesChange(int) {}
virtual void setPlayerPosAndAngle(cXyz const*, short, int) {}
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*) {}
virtual void setPlayerPosAndAngle(f32 (*)[4]) {}
virtual bool setThrowDamage(short, f32, f32, int, int, int) { return FALSE; }
virtual bool checkSetNpcTks(cXyz*, int, int) { return FALSE; }
virtual int setRollJump(f32, f32, short) { return FALSE; }
virtual void playerStartCollisionSE(u32, u32) {}
virtual void changeTextureAnime(u16, u16, int) {}
virtual void cancelChangeTextureAnime() {}
virtual void cancelDungeonWarpReadyNeck() {}
virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*) {}
virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*) {}
virtual void onSceneChangeDead(u8, int) {}
virtual u32 checkHorseRide() const { return false; }
virtual u32 checkBoarRide() const { return 0; }
virtual u32 checkCanoeRide() const { return 0; }
virtual u32 checkBoardRide() const { return 0; }
virtual u32 checkSpinnerRide() const { return 0; }
virtual daSpinner_c* getSpinnerActor() { return NULL; }
virtual BOOL checkHorseRideNotReady() const { return FALSE; }
virtual bool checkArrowChargeEnd() const { return FALSE; }
virtual f32 getSearchBallScale() const { return 0.0f; }
virtual int checkFastShotTime() { return FALSE; }
virtual bool checkNoEquipItem() const { return TRUE; }
virtual bool checkFireMaterial() const { return FALSE; }
virtual bool checkKandelaarSwing(int) const { return FALSE; }
virtual s16 getBoardCutTurnOffsetAngleY() const { return 0; }
virtual cXyz* getMagneHitPos() { return &mSwordTopPos; }
virtual cXyz* getMagneBootsTopVec() { return &current.pos; }
virtual cXyz* getKandelaarFlamePos() { return NULL; }
virtual bool checkUseKandelaar(int) { return FALSE; }
virtual void setDkCaught(fopAc_ac_c*) {}
virtual void onPressedDamage(cXyz const&, short) {}
virtual bool checkPriActorOwn(fopAc_ac_c const*) const { return FALSE; }
virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2) { return FALSE; }
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const { return FALSE; }
virtual void setWolfEnemyHangBiteAngle(short) {}
virtual void setKandelaarMtx(f32 (*)[4], int, int) {}
virtual bool getStickAngleFromPlayerShape(short*) const { return FALSE; }
virtual bool checkSpinnerPathMove() { return FALSE; }
virtual bool checkSpinnerTriggerAttack() { return FALSE; }
virtual void onSpinnerPathForceRemove() {}
virtual int getIronBallBgHit() const { return FALSE; }
virtual cXyz* getIronBallCenterPos() { return NULL; }
virtual bool checkCanoeFishingGetLeft() const { return FALSE; }
virtual bool checkCanoeFishingGetRight() const { return FALSE; }
virtual u8 checkBeeChildDrink() const { return FALSE; }
virtual void skipPortalObjWarp() {}
virtual BOOL checkTreasureRupeeReturn(int) const { return FALSE; }
virtual void setSumouReady(fopAc_ac_c*) {}
virtual bool checkAcceptDungeonWarpAlink(int) { return FALSE; }
virtual s16 getSumouCounter() const { return 0; }
virtual s16 checkSumouWithstand() const { return 0; }
virtual void cancelGoronThrowEvent() {}
virtual void setSumouGraspCancelCount(int) {}
virtual void setSumouPushBackDirection(short) {}
virtual void setSumouLoseHeadUp() {}
virtual s16 getGiantPuzzleAimAngle() const { return shape_angle.y; }
virtual void setGoronSideMove(fopAc_ac_c*) {}
virtual void setCargoCarry(fopAc_ac_c*) {}
virtual bool getDpdFarFlg() const { return 0; }
virtual cXyz* getHookshotTopPos() { return NULL; }
virtual bool checkHookshotReturnMode() const { return FALSE; }
virtual bool checkHookshotShootReturnMode() const { return FALSE; }
virtual bool checkOctaIealHang() const { return FALSE; }
virtual void cancelOctaIealHang() {}
virtual void cancelDragonHangBackJump() {}
virtual void setOctaIealWildHang() {}
virtual bool checkDragonHangRide() const { return FALSE; }
virtual void changeDragonActor(fopAc_ac_c*) {}
virtual u8 getClothesChangeWaitTimer() const { return 0; }
virtual u8 getShieldChangeWaitTimer() const { return 0; }
virtual u8 getSwordChangeWaitTimer() const { return 0; }
virtual BOOL checkMetamorphose() const { return FALSE; }
virtual BOOL checkWolfDownAttackPullOut() const { return FALSE; }
virtual BOOL checkBootsOrArmorHeavy() const { return FALSE; }
virtual s32 getBottleOpenAppearItem() const { return fpcM_ERROR_PROCESS_ID_e; }
virtual bool checkItemSwordEquip() const { return FALSE; }
virtual f32 getSinkShapeOffset() const { return 0.0f; }
virtual BOOL checkSinkDead() const { return FALSE; }
virtual BOOL checkHorseStart() { return FALSE; }
virtual Z2WolfHowlMgr* getWolfHowlMgrP() { return NULL; }
virtual BOOL checkWolfHowlSuccessAnime() const { return FALSE; }
virtual BOOL checkCopyRodTopUse() { return FALSE; }
virtual bool checkCopyRodEquip() const { return FALSE; }
virtual BOOL checkCutJumpMode() const { return FALSE; }
/* vt 0X008 */ virtual cXyz* getMidnaAtnPos() const { return NULL; }
/* vt 0X00C */ virtual void setMidnaMsgNum(fopAc_ac_c*, u16) {}
/* vt 0X010 */ virtual MtxP getModelMtx() { return cullMtx; }
/* vt 0X014 */ virtual MtxP getInvMtx() { return cullMtx; }
/* vt 0X018 */ virtual cXyz* getShadowTalkAtnPos() { return &current.pos; }
/* vt 0X01C */ virtual f32 getGroundY() = 0;
/* vt 0X020 */ virtual MtxP getLeftItemMatrix() { return cullMtx; }
/* vt 0X024 */ virtual MtxP getRightItemMatrix() { return cullMtx; }
/* vt 0X028 */ virtual MtxP getLeftHandMatrix() { return cullMtx; }
/* vt 0X02C */ virtual MtxP getRightHandMatrix() { return cullMtx; }
/* vt 0X030 */ virtual MtxP getLinkBackBone1Matrix() { return cullMtx; }
/* vt 0X034 */ virtual MtxP getWolfMouthMatrix() { return cullMtx; }
/* vt 0X038 */ virtual MtxP getWolfBackbone2Matrix() { return cullMtx; }
/* vt 0X03C */ virtual MtxP getBottleMtx() { return NULL; }
/* vt 0X040 */ virtual BOOL checkPlayerGuard() const { return FALSE; }
/* vt 0X044 */ virtual u32 checkPlayerFly() const { return 0; }
/* vt 0X048 */ virtual BOOL checkFrontRoll() const { return FALSE; }
/* vt 0X04C */ virtual BOOL checkWolfDash() const { return FALSE; }
/* vt 0X050 */ virtual BOOL checkAutoJump() const { return FALSE; }
/* vt 0X054 */ virtual bool checkSideStep() const { return FALSE; }
/* vt 0X058 */ virtual bool checkWolfTriggerJump() const { return FALSE; }
/* vt 0X05C */ virtual BOOL checkGuardBreakMode() const { return FALSE; }
/* vt 0X060 */ virtual bool checkLv3Slide() const { return FALSE; }
/* vt 0X064 */ virtual bool checkWolfHowlDemoMode() const { return FALSE; }
/* vt 0X068 */ virtual bool checkChainBlockPushPull() { return FALSE; }
/* vt 0X06C */ virtual BOOL checkElecDamage() const { return FALSE; }
/* vt 0X070 */ virtual BOOL checkEmptyBottleSwing() const { return FALSE; }
/* vt 0X074 */ virtual BOOL checkBottleSwingMode() const { return FALSE; }
/* vt 0X078 */ virtual BOOL checkHawkWait() const { return FALSE; }
/* vt 0X07C */ virtual BOOL checkGoatThrow() const { return FALSE; }
/* vt 0X080 */ virtual BOOL checkGoatThrowAfter() const { return FALSE; }
/* vt 0X084 */ virtual BOOL checkWolfTagLockJump() const { return FALSE; }
/* vt 0X088 */ virtual BOOL checkWolfTagLockJumpLand() const { return FALSE; }
/* vt 0X08C */ virtual BOOL checkWolfRope() { return FALSE; }
/* vt 0X090 */ virtual BOOL checkWolfRopeHang() const { return FALSE; }
/* vt 0X094 */ virtual BOOL checkRollJump() const { return FALSE; }
/* vt 0X098 */ virtual BOOL checkGoronRideWait() const { return FALSE; }
/* vt 0X09C */ virtual BOOL checkWolfChain() const { return FALSE; }
/* vt 0X0A0 */ virtual BOOL checkWolfWait() const { return FALSE; }
/* vt 0X0A4 */ virtual BOOL checkWolfJumpAttack() const { return FALSE; }
/* vt 0X0A8 */ virtual BOOL checkWolfRSit() const { return FALSE; }
/* vt 0X0AC */ virtual bool checkBubbleFly() const { return FALSE; }
/* vt 0X0B0 */ virtual BOOL checkBottleDrinkEnd() const { return FALSE; }
/* vt 0X0B4 */ virtual BOOL checkWolfDig() const { return FALSE; }
/* vt 0X0B8 */ virtual BOOL checkCutCharge() const { return FALSE; }
/* vt 0X0BC */ virtual BOOL checkCutTurnCharge() const { return FALSE; }
/* vt 0X0C0 */ virtual BOOL checkCutLargeJumpCharge() const { return FALSE; }
/* vt 0X0C4 */ virtual BOOL getBokoFlamePos(cXyz*) { return FALSE; }
/* vt 0X0C8 */ virtual BOOL checkComboCutTurn() const { return FALSE; }
/* vt 0X0CC */ virtual BOOL checkClimbMove() const { return FALSE; }
/* vt 0X0D0 */ virtual BOOL checkGrassWhistle() const { return FALSE; }
/* vt 0X0D4 */ virtual BOOL checkBoarRun() const { return FALSE; }
/* vt 0X0D8 */ virtual bool checkFmChainPut() const { return FALSE; }
/* vt 0X0DC */ virtual BOOL checkHorseElecDamage() const { return FALSE; }
/* vt 0X0E0 */ virtual f32 getBaseAnimeFrameRate() const { return 1.0f; }
/* vt 0X0E4 */ virtual f32 getBaseAnimeFrame() const { return 0.0f; }
/* vt 0X0E8 */ virtual void setAnimeFrame(f32) {}
/* vt 0X0EC */ virtual BOOL checkWolfLock(fopAc_ac_c*) const { return FALSE; }
/* vt 0X0F0 */ virtual bool cancelWolfLock(fopAc_ac_c*) { return FALSE; }
/* vt 0X0F4 */ virtual s32 getAtnActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
/* vt 0X0F8 */ virtual s32 getItemID() const { return fpcM_ERROR_PROCESS_ID_e; }
/* vt 0X0FC */ virtual u32 getGrabActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
/* vt 0X100 */ virtual BOOL exchangeGrabActor(fopAc_ac_c*) { return FALSE; }
/* vt 0X104 */ virtual BOOL setForceGrab(fopAc_ac_c*, int, int) { return FALSE; }
/* vt 0X108 */ virtual void setForcePutPos(cXyz const&) {}
/* vt 0X10C */ virtual u32 checkPlayerNoDraw() { return FALSE; }
/* vt 0X110 */ virtual bool checkRopeTag() { return FALSE; }
/* vt 0X114 */ virtual void voiceStart(u32) {}
/* vt 0X118 */ virtual void seStartOnlyReverb(u32) {}
/* vt 0X11C */ virtual void seStartOnlyReverbLevel(u32) {}
/* vt 0X120 */ virtual void setOutPower(f32, short, int) {}
/* vt 0X124 */ virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*) {}
/* vt 0X128 */ virtual void onMagneGrab(f32, f32) {}
/* vt 0X12C */ virtual void onFrollCrashFlg(u8, int) {}
/* vt 0X130 */ virtual MtxP getModelJointMtx(u16) { return NULL; }
/* vt 0X134 */ virtual MtxP getHeadMtx() { return NULL; }
/* vt 0X138 */ virtual bool setHookshotCarryOffset(fpc_ProcID, cXyz const*) { return FALSE; }
/* vt 0X13C */ virtual BOOL checkCutJumpCancelTurn() const { return FALSE; }
/* vt 0X140 */ virtual bool checkIronBallReturn() const { return FALSE; }
/* vt 0X144 */ virtual bool checkIronBallGroundStop() const { return FALSE; }
/* vt 0X148 */ virtual BOOL checkSingleBoarBattleSecondBowReady() const { return FALSE; }
/* vt 0X14C */ virtual bool checkPointSubWindowMode() const { return FALSE; }
/* vt 0X150 */ virtual void setClothesChange(int) {}
/* vt 0X154 */ virtual void setPlayerPosAndAngle(cXyz const*, short, int) {}
/* vt 0X158 */ virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*) {}
/* vt 0X15C */ virtual void setPlayerPosAndAngle(f32 (*)[4]) {}
/* vt 0X160 */ virtual bool setThrowDamage(short, f32, f32, int, int, int) { return FALSE; }
/* vt 0X164 */ virtual bool checkSetNpcTks(cXyz*, int, int) { return FALSE; }
/* vt 0X168 */ virtual int setRollJump(f32, f32, short) { return FALSE; }
/* vt 0X16C */ virtual void playerStartCollisionSE(u32, u32) {}
/* vt 0X170 */ virtual void changeTextureAnime(u16, u16, int) {}
/* vt 0X174 */ virtual void cancelChangeTextureAnime() {}
/* vt 0X178 */ virtual void cancelDungeonWarpReadyNeck() {}
/* vt 0X17C */ virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*) {}
/* vt 0X180 */ virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*) {}
/* vt 0X184 */ virtual void onSceneChangeDead(u8, int) {}
/* vt 0X188 */ virtual u32 checkHorseRide() const { return false; }
/* vt 0X18C */ virtual u32 checkBoarRide() const { return 0; }
/* vt 0X190 */ virtual u32 checkCanoeRide() const { return 0; }
/* vt 0X194 */ virtual u32 checkBoardRide() const { return 0; }
/* vt 0X198 */ virtual u32 checkSpinnerRide() const { return 0; }
/* vt 0X19C */ virtual daSpinner_c* getSpinnerActor() { return NULL; }
/* vt 0X1A0 */ virtual BOOL checkHorseRideNotReady() const { return FALSE; }
/* vt 0X1A4 */ virtual bool checkArrowChargeEnd() const { return FALSE; }
/* vt 0X1A8 */ virtual f32 getSearchBallScale() const { return 0.0f; }
/* vt 0X1AC */ virtual int checkFastShotTime() { return FALSE; }
/* vt 0X1B0 */ virtual bool checkNoEquipItem() const { return TRUE; }
/* vt 0X1B4 */ virtual bool checkFireMaterial() const { return FALSE; }
/* vt 0X1B8 */ virtual bool checkKandelaarSwing(int) const { return FALSE; }
/* vt 0X1BC */ virtual s16 getBoardCutTurnOffsetAngleY() const { return 0; }
/* vt 0X1C0 */ virtual cXyz* getMagneHitPos() { return &mSwordTopPos; }
/* vt 0X1C4 */ virtual cXyz* getMagneBootsTopVec() { return &current.pos; }
/* vt 0X1C8 */ virtual cXyz* getKandelaarFlamePos() { return NULL; }
/* vt 0X1CC */ virtual bool checkUseKandelaar(int) { return FALSE; }
/* vt 0X1D0 */ virtual void setDkCaught(fopAc_ac_c*) {}
/* vt 0X1D4 */ virtual void onPressedDamage(cXyz const&, short) {}
/* vt 0X1D8 */ virtual bool checkPriActorOwn(fopAc_ac_c const*) const { return FALSE; }
/* vt 0X1DC */ virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2) { return FALSE; }
/* vt 0X1E0 */ virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const { return FALSE; }
/* vt 0X1E4 */ virtual void setWolfEnemyHangBiteAngle(short) {}
/* vt 0X1E8 */ virtual void setKandelaarMtx(f32 (*)[4], int, int) {}
/* vt 0X1EC */ virtual bool getStickAngleFromPlayerShape(short*) const { return FALSE; }
/* vt 0X1F0 */ virtual bool checkSpinnerPathMove() { return FALSE; }
/* vt 0X1F4 */ virtual bool checkSpinnerTriggerAttack() { return FALSE; }
/* vt 0X1F8 */ virtual void onSpinnerPathForceRemove() {}
/* vt 0X1FC */ virtual int getIronBallBgHit() const { return FALSE; }
/* vt 0X200 */ virtual cXyz* getIronBallCenterPos() { return NULL; }
/* vt 0X204 */ virtual bool checkCanoeFishingGetLeft() const { return FALSE; }
/* vt 0X208 */ virtual bool checkCanoeFishingGetRight() const { return FALSE; }
/* vt 0X20C */ virtual u8 checkBeeChildDrink() const { return FALSE; }
/* vt 0X210 */ virtual void skipPortalObjWarp() {}
/* vt 0X214 */ virtual BOOL checkTreasureRupeeReturn(int) const { return FALSE; }
/* vt 0X218 */ virtual void setSumouReady(fopAc_ac_c*) {}
/* vt 0X21C */ virtual bool checkAcceptDungeonWarpAlink(int) { return FALSE; }
/* vt 0X220 */ virtual s16 getSumouCounter() const { return 0; }
/* vt 0X224 */ virtual s16 checkSumouWithstand() const { return 0; }
/* vt 0X228 */ virtual void cancelGoronThrowEvent() {}
/* vt 0X22C */ virtual void setSumouGraspCancelCount(int) {}
/* vt 0X230 */ virtual void setSumouPushBackDirection(short) {}
/* vt 0X234 */ virtual void setSumouLoseHeadUp() {}
/* vt 0X238 */ virtual s16 getGiantPuzzleAimAngle() const { return shape_angle.y; }
/* vt 0X23C */ virtual void setGoronSideMove(fopAc_ac_c*) {}
/* vt 0X240 */ virtual void setCargoCarry(fopAc_ac_c*) {}
/* vt 0X244 */ virtual bool getDpdFarFlg() const { return 0; }
/* vt 0X248 */ virtual cXyz* getHookshotTopPos() { return NULL; }
/* vt 0X24C */ virtual bool checkHookshotReturnMode() const { return FALSE; }
/* vt 0X250 */ virtual bool checkHookshotShootReturnMode() const { return FALSE; }
/* vt 0X254 */ virtual bool checkOctaIealHang() const { return FALSE; }
/* vt 0X258 */ virtual void cancelOctaIealHang() {}
/* vt 0X25C */ virtual void cancelDragonHangBackJump() {}
/* vt 0X260 */ virtual void setOctaIealWildHang() {}
/* vt 0X264 */ virtual bool checkDragonHangRide() const { return FALSE; }
/* vt 0X268 */ virtual void changeDragonActor(fopAc_ac_c*) {}
/* vt 0X26C */ virtual u8 getClothesChangeWaitTimer() const { return 0; }
/* vt 0X270 */ virtual u8 getShieldChangeWaitTimer() const { return 0; }
/* vt 0X274 */ virtual u8 getSwordChangeWaitTimer() const { return 0; }
/* vt 0X278 */ virtual BOOL checkMetamorphose() const { return FALSE; }
/* vt 0X27C */ virtual BOOL checkWolfDownAttackPullOut() const { return FALSE; }
/* vt 0X280 */ virtual BOOL checkBootsOrArmorHeavy() const { return FALSE; }
/* vt 0X284 */ virtual s32 getBottleOpenAppearItem() const { return fpcM_ERROR_PROCESS_ID_e; }
/* vt 0X288 */ virtual bool checkItemSwordEquip() const { return FALSE; }
/* vt 0X28C */ virtual f32 getSinkShapeOffset() const { return 0.0f; }
/* vt 0X290 */ virtual BOOL checkSinkDead() const { return FALSE; }
/* vt 0X294 */ virtual BOOL checkHorseStart() { return FALSE; }
/* vt 0X298 */ virtual Z2WolfHowlMgr* getWolfHowlMgrP() { return NULL; }
/* vt 0X29C */ virtual BOOL checkWolfHowlSuccessAnime() const { return FALSE; }
/* vt 0X2A0 */ virtual BOOL checkCopyRodTopUse() { return FALSE; }
/* vt 0X2A4 */ virtual bool checkCopyRodEquip() const { return FALSE; }
/* vt 0X2A8 */ virtual BOOL checkCutJumpMode() const { return FALSE; }
f32 getSpeedF() const { return speedF; }