#ifndef D_A_D_A_ALINK_H #define D_A_D_A_ALINK_H #include "JSystem/J3DGraphBase/J3DMatBlock.h" #include "Z2AudioLib/Z2Creature.h" #include "Z2AudioLib/Z2WolfHowlMgr.h" #include "d/a/d_a_player.h" #include "d/bg/d_bg_s.h" #include "d/cc/d_cc_d.h" #include "d/cc/d_cc_mass_s.h" #include "d/d_attention.h" #include "d/d_drawlist.h" #include "d/d_eye_hl.h" #include "d/d_jnt_col.h" #include "d/kankyo/d_kankyo.h" #include "d/meter/d_meter2_info.h" #include "d/msg/d_msg_flow.h" #include "d/particle/d_particle.h" #include "d/particle/d_particle_copoly.h" #include "dolphin/types.h" class fopEn_enemy_c; class daAlinkHIO_anm_c; class J3DAnmTevRegKey; class dCcG_At_Spl; class dDemo_actor_c; class J2DScreen; class J2DPane; class J2DAnmBase; class daAlink_lockCursor_c : public dDlst_base_c { public: /* 80125F14 */ void create(); /* 80126358 */ void update(); /* 80126424 */ virtual void draw(); /* 800CFE68 */ virtual ~daAlink_lockCursor_c(); private: /* 0x04 */ bool field_0x4; /* 0x05 */ u8 field_0x5[3]; /* 0x08 */ J2DScreen* field_0x8; /* 0x0C */ J2DPane* field_0xc; /* 0x10 */ J2DPane* field_0x10; /* 0x14 */ J2DPane* field_0x14; /* 0x18 */ J2DPane* field_0x18; /* 0x1C */ J2DAnmBase* field_0x1c; /* 0x20 */ J2DAnmBase* field_0x20; /* 0x24 */ J2DAnmBase* field_0x24; /* 0x28 */ J2DAnmBase* field_0x28; /* 0x2C */ float field_0x2c; /* 0x30 */ float field_0x30; /* 0x34 */ float field_0x34; /* 0x38 */ float field_0x38; }; class daAlink_sight_c : public daPy_sightPacket_c { public: /* 80126650 */ void create(); /* 80126710 */ void onLockFlg(); /* 801266C0 */ virtual void draw(); /* 800CFDF4 */ virtual ~daAlink_sight_c(); private: /* 0x4C */ bool mLockFlag; /* 0x4D */ u8 field_0x4d[3]; /* 0x50 */ daAlink_lockCursor_c field_0x50; }; class daAlink_blur_c : public J3DPacket { public: /* 801256EC */ void initBlur(f32, int, cXyz const*, cXyz const*, cXyz const*); /* 8012589C */ void copyBlur(cXyz const*, cXyz const*, cXyz const*); /* 80125B0C */ void traceBlur(cXyz const*, cXyz const*, s16); /* 80125BF4 */ virtual void draw(); /* 800CFD58 */ virtual ~daAlink_blur_c(); private: /* 0x010 */ u8 field_0x10[4]; /* 0x014 */ int field_0x14; /* 0x018 */ u8 field_0x18[4]; /* 0x01C */ int field_0x1c; /* 0x020 */ u8 field_0x20[4]; /* 0x024 */ float field_0x24; /* 0x028 */ u8 field_0x28[4]; /* 0x02C */ cXyz field_0x2c; /* 0x038 */ cXyz field_0x38[0x3C]; /* 0x308 */ cXyz field_0x308[0x3C]; }; // Size = 0x5D8 class dAlink_bottleWaterPcallBack_c : public JPAParticleCallBack { public: /* 80124A2C */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); /* 800CFCF8 */ virtual ~dAlink_bottleWaterPcallBack_c(); private: /* 0x04 */ s16 mHitFlg; /* 0x06 */ s16 mAppearFlg; /* 0x08 */ float mKeepMinY; /* 0x0C */ cXyz mHitPos; }; // Size = 0x18 class daAlink_footData_c { public: /* 800CFCB8 */ ~daAlink_footData_c(); /* 800CFCF4 */ daAlink_footData_c(); private: u8 field_0x00[0xa4]; }; class daAlink_c : public daPy_py_c { public: enum daAlink_ANM { GANON_FINISH = 408 // name probably wrong, fix later }; enum daAlink_UPPER { Unk0, Unk1, UPPER_NOW // needs better name. main upper anmheap idx checked for actions }; enum daAlink_UNDER {}; enum daAlink_FTANM {}; enum daAlink_WARP_MAT_MODE {}; enum daAlink_WANM {}; enum MODE_FLG { PLAYER_FLY = 0x70852, }; enum daAlink_PROC { PREACTION_UNEQUIP, SERVICE_WAIT, HUMAN_WAIT = 3, HUMAN_SIDESTEP = 10, HUMAN_SIDESTEP_LAND, HUMAN_SLIDE, FRONT_ROLL = 14, FRONT_ROLL_CRASH, HUMAN_KNOCKBACK, SIDE_ROLL, BACK_JUMP, BACK_JUMP_LAND, SLIP, HUMAN_AUTOJUMP, DIVE_JUMP, ROLL_JUMP, FALL, LAND, SMALL_JUMP, STEP_MOVE, GUARD_SLIP = 29, GUARD_ATTACK, GUARD_BREAK, TURN_MOVE, CUT_NORMAL, CUT_FINISH, CUT_FINISH_JUMP_UP, CUT_FINISH_JUMP_UP_LAND, CUT_REVERSE, CUT_JUMP, CUT_JUMP_LAND, COMBO_CUT_TURN, CUT_CHARGE, CUT_TURN_MOVE, CUT_DOWN, CUT_DOWN_LAND, CUT_HEAD, CUT_HEAD_LAND, CUT_LARGE_JUMP_CHARGE, CUT_LARGE_JUMP, CUT_LARGE_JUMP_LAND, DAMAGE, LAND_DAMAGE = 52, CRAWL_START, CRAWL_MOVE, CRAWL_AUTOMOVE, CRAWL_END, PULL_MOVE, HORSE_RIDE, HORSE_GETOFF, HORSE_TURN = 61, HORSE_JUMP, HORSE_LAND, HORSE_SUBJECTIVITY, HORSE_CUT, HORSE_CUT_CHARGE_READY, HORSE_CUT_TURN, HORSE_DAMAGE, RIDE_BOW_READY, HORSE_BOTTLE_DRINK = 76, HORSE_KANDELAAR_POUR = 78, HORSE_RUN, HORSE_HANG, BOAR_RUN = 83, HANG_START = 85, HANG_FALL_START, HANG_UP, HANG_WAIT, HANG_MOVE, COPY_ROD_SWING = 101, GRAB_READY = 108, GRAB_UP, GRAB_THROW = 111, GRAB_DOWN, GRAB_REBOUND = 114, GRAB_STAND, INSECT_CATCH, PICK_UP, PICK_PUT, HUMAN_ST_ESCAPE, CLIMB_MOVE_VERTICAL = 130, CLIMB_MOVE_HORIZONTAL, CANOE_RIDE = 140, CANOE_JUMP_RIDE, CANOE_GETOFF, CANOE_ROW = 144, CANOE_PADDLE_SHIFT, CANOE_PADDLE_PUT, CANOE_PADDLE_GRAB, CANOE_ROD_GRAB, CANOE_FISHING_REEL = 150, CANOE_FISHING_GET, CANOE_SUBJECTIVITY, CANOE_BOTTLE_DRINK = 160, CANOE_KANDELAAR_POUR, FISHING_FOOD = 163, BOARD_CUT_TURN = 173, FM_CHAIN_UP, BOTTLE_DRINK = 179, EMPTY_BOTTLE_SWING = 181, GRASS_WHISTLE = 186, HAWK_WAIT = 188, FLOOR_DOWN_REBOUND = 189, GORON_RIDE_WAIT, GOAT_THROW = 192, GOAT_STROKE, MAGNE_BOOTS_FLY = 204, BOOTS_EQUIP, SUMOU_PUSH = 207, SUMOU_SIDE_MOVE, SUMOU_ACTION, SUMOU_STAGGER, SUMOU_WIN_LOSE, BOSS_ENEMY_HANG = 220, SCREAM_WAIT = 222, DUNGEON_WARP_READY = 234, WOLF_HOWL = 237, WOLF_WAIT = 241, WOLF_DASH = 243, WOLF_KNOCKBACK = 244, WOLF_SIDESTEP = 247, WOLF_AUTOJUMP = 252, WOLF_RSIT = 255, WOLF_DAMAGE = 263, WOLF_SLIDE = 271, WOLF_ROPE_HANG = 275, WOLF_TAGLOCK_JUMP = 280, WOLF_TAGLOCK_LAND, WOLF_DOWNATTACK_PULLOUT = 291, WOLF_JUMPATTACK = 284, WOLF_ST_ESCAPE = 289, WOLF_CHAIN = 305, WOLF_DIG, WOLF_ENEMY_HANG_BITE = 310, SUBJECTIVITY = 318, POLY_DAMAGE = 321, ELEC_DAMAGE, PUSH_PULL_WAIT, PUSH_MOVE, TRESURE_STAND = 328, METAMORPHOSE = 333, DEAD = 336, LARGE_DAMAGE = 345, LARGE_DAMAGE_WALL, }; // this might be one of the above enums, but not clear yet enum UPPER_ANM { ANM_SMALL_GUARD = 22, ANM_HUMAN_CHAIN_GRAB = 98, ANM_WOLF_CHAIN_GRAB = 672, ANM_WOLF_ENEMY_THROW_LEFT = 701, ANM_WOLF_ENEMY_THROW_RIGHT, }; class firePointEff_c { /* 800CFC3C */ ~firePointEff_c(); /* 800CFC78 */ firePointEff_c(); /* 0x00 */ u8 field_0x0[0xc]; /* 0x0C */ cXyz field_0xc; /* 0x18 */ cXyz field_0x18; /* 0x24 */ cXyz field_0x24; }; class hsChainShape_c { /* 800D0CDC */ ~hsChainShape_c(); /* 80107900 */ void draw(); }; /* 8009D87C */ bool getE3Zhint(); /* 8009D884 */ char* getAlinkArcName(); /* 8009DA60 */ static bool checkStageName(char const*); /* 8009DA98 */ static void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*); /* 8009DB64 */ void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*); /* 8009DC6C */ void setMatrixWorldAxisRot(f32 (*)[4], s16, s16, s16, int, cXyz const*); /* 8009DD90 */ void jointControll(int); /* 8009E7B8 */ void setUpperFront(); /* 8009E91C */ void changeBlendRate(int); /* 8009EB18 */ void resetRootMtx(); /* 8009EB58 */ void modelCallBack(int); /* 8009ECA0 */ void headModelCallBack(int); /* 8009EF7C */ void wolfModelCallBack(int); /* 8009F034 */ void setHatAngle(); /* 8009FFF8 */ void calcHairAngle(s16*); /* 800A002C */ void setHairAngle(cXyz*, f32, f32); /* 800A0744 */ void setLookPosFromOut(cXyz*); /* 800A07D8 */ void checkAttentionPosAngle(cXyz*); /* 800A0868 */ void checkActorPosAngle(fopAc_ac_c*, cXyz**); /* 800A093C */ void getNeckAimPos(cXyz*, int*, int); /* 800A142C */ void getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*); /* 800A1AEC */ void setEyeMove(cXyz*, s16, s16); /* 800A1F90 */ void setNeckAngle(); /* 800A2198 */ void commonLineCheck(cXyz*, cXyz*); /* 800A21E0 */ void getMoveBGActorName(cBgS_PolyInfo&, int); /* 800A2280 */ void checkGoronRide(); /* 800A22E8 */ void setMoveSlantAngle(); /* 800A2710 */ void setArmMatrix(); /* 800A29DC */ void setFootMatrix(); /* 800A2C24 */ void setMatrixOffset(f32*, f32); /* 800A2CE0 */ void setLegAngle(f32, daAlink_footData_c*, s16*, s16*, int); /* 800A3430 */ void footBgCheck(); /* 800A39B8 */ void handBgCheck(); /* 800A3C8C */ void setItemHeap(); /* 800A3CE4 */ void setIdxMask(u16*, u16*); /* 800A3D0C */ void getAnimeResource(daPy_anmHeap_c*, u16, u32); /* 800A3D7C */ void initModel(J3DModelData*, u32, u32); /* 800A3E30 */ void initModel(u16, u32); /* 800A3E98 */ void initModelEnv(u16, u32); /* 800A3F00 */ void initDemoModel(J3DModel**, char const*, u32); /* 800A3F98 */ void initDemoBck(mDoExt_bckAnm**, char const*); /* 800A4068 */ void createHeap(); /* 800A4910 */ void setSelectEquipItem(int); /* 800A4BC8 */ void checkBoarStart(); /* 800A4C40 */ void checkCanoeStart(); /* 800A4CB4 */ void playerInit(); /* 800A54F4 */ BOOL checkHorseStart(u32, int); /* 800A551C */ void setStartProcInit(); /* 800A5CC8 */ void create(); /* 800A662C */ void setRoomInfo(); /* 800A67E0 */ void setShapeAngleOnGround(); /* 800A6B0C */ void setStepsOffset(); /* 800A6DCC */ void iceSlipBgCheck(); /* 800A7050 */ void setIceSlipSpeed(); /* 800A7358 */ void setPolygonSpeed(); /* 800A7950 */ void checkWindSpeedOnAngle() const; /* 800A79EC */ void checkWindSpeedOnAngleAnime(int) const; /* 800A7A5C */ void checkDashAnime() const; /* 800A7ABC */ void checkWindWallRate(cXyz const&); /* 800A7CB0 */ void setWindSpeed(); /* 800A8310 */ void setBodyPartPos(); /* 800A87F8 */ void setAttentionPos(); /* 800A8CE4 */ void setMatrix(); /* 800A9248 */ void simpleAnmPlay(J3DAnmBase*); /* 800A92F0 */ void setSwordPos(); /* 800A9450 */ void setItemMatrix(int); /* 800A9F4C */ void setWolfItemMatrix(); /* 800AA2BC */ void setHandIndex(daAlink_c::daAlink_ANM); /* 800AA2E0 */ void setSwordAtCollision(int); /* 800AA5E8 */ void checkNoCollisionCorret(); /* 800AA6B4 */ void decSwordBlur(); /* 800AA714 */ void resetWolfAtCollision(); /* 800AA7EC */ void setWolfAtCollision(); /* 800AA9DC */ void resetAtCollision(int); /* 800AAABC */ void setAtCollision(); /* 800AB878 */ void setWolfCollisionPos(); /* 800ABAE0 */ void initLockAt(); /* 800ABB28 */ void cancelLockAt(); /* 800ABB84 */ void setCollisionPos(); /* 800ABDB8 */ void setCollision(); /* 800AC394 */ void setFrameCtrl(daPy_frameCtrl_c*, u8, s16, s16, f32, f32); /* 800AC450 */ void getMainBckData(daAlink_c::daAlink_ANM) const; /* 800AC558 */ void checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM) const; /* 800AC5B4 */ void checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM) const; /* 800AC610 */ void getUnderUpperAnime(daAlink_c::daAlink_ANM, J3DAnmTransform**, J3DAnmTransform**, int, u32); /* 800AC738 */ void setDoubleAnimeBlendRatio(f32); /* 800AC754 */ void commonDoubleAnime(J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, f32, f32, f32, int); /* 800ACA14 */ void 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); /* 800ACFB0 */ void setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM, f32); /* 800ACFE0 */ void setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM, f32, f32); /* 800AD00C */ void setSingleAnime(daAlink_c::daAlink_ANM, f32, f32, s16, f32); /* 800AD0F4 */ void setSingleAnimeParam(daAlink_c::daAlink_ANM, daAlinkHIO_anm_c const*); /* 800AD128 */ void animePlay(J3DAnmTransform*, daPy_frameCtrl_c*); /* 800AD170 */ void allAnimePlay(); /* 800AD2D8 */ void setUpperAnimeMorf(f32); /* 800AD340 */ void setUpperAnimeBase(u16); /* 800AD374 */ void setUpperAnimeBaseMorf(u16, f32); /* 800AD3A8 */ void setUpperAnimeBaseSpeed(u16, f32, f32); /* 800AD3D8 */ void setUpperAnime(u16, daAlink_c::daAlink_UPPER, f32, f32, s16, f32); /* 800AD6F0 */ void setUpperAnimeParam(u16, daAlink_c::daAlink_UPPER, daAlinkHIO_anm_c const*); /* 800AD724 */ void resetUpperAnime(daAlink_c::daAlink_UPPER, f32); /* 800AD8F4 */ void setUnderAnimeMorf(f32); /* 800AD964 */ void setUnderAnime(u16, daAlink_c::daAlink_UNDER, f32, f32, s16, f32); /* 800ADAB8 */ void setUnderAnimeParam(u16, daAlink_c::daAlink_UNDER, daAlinkHIO_anm_c const*); /* 800ADAEC */ void resetUnderAnime(daAlink_c::daAlink_UNDER, f32); /* 800ADB78 */ void setOldRootQuaternion(s16, s16, s16); /* 800ADC50 */ void checkAtnLeftAnime(); /* 800ADCEC */ void checkAtnRightAnime(); /* 800ADD88 */ void getMoveGroundAngleSpeedRate(); /* 800ADE14 */ void setBlendMoveAnime(f32); /* 800AEA70 */ void setBlendAtnMoveAnime(f32); /* 800AF11C */ void setBlendAtnBackMoveAnime(f32); /* 800AF4B0 */ void setFaceBck(u16, int, u16); /* 800AF61C */ void setFaceBtp(u16, int, u16); /* 800AF7D0 */ void setFaceBtk(u16, int, u16); /* 800AF8A0 */ void setFaceBasicTexture(daAlink_c::daAlink_FTANM); /* 800AF9A8 */ void setFaceBasicAnime(daAlink_c::daAlink_ANM); /* 800AFAA8 */ void setFacePriTexture(daAlink_c::daAlink_FTANM); /* 800AFB14 */ void setFacePriAnime(daAlink_c::daAlink_ANM); /* 800AFB74 */ void resetFacePriBck(); /* 800AFBD0 */ void resetFacePriBtp(); /* 800AFC2C */ void resetFacePriBtk(); /* 800AFC88 */ void resetFacePriTexture(); /* 800AFCBC */ void resetFacePriAnime(); /* 800AFCF0 */ void playFaceTextureAnime(); /* 800B0098 */ void getGroundAngle(cBgS_PolyInfo*, s16); /* 800B0150 */ void getRoofAngle(cBgS_PolyInfo*, s16); /* 800B01FC */ void getWallEdgePos(cXyz const&, cM3dGPla*, cM3dGPla*, cXyz*, int); /* 800B02BC */ void setFrontWallType(); /* 800B1488 */ void checkWaterPolygonUnder(); /* 800B14B4 */ void setWaterY(); /* 800B154C */ void setHangWaterY(); /* 800B172C */ void setSandDownBgCheckWallH(); /* 800B1770 */ void setBgCheckParam(); /* 800B1B28 */ void checkNotJumpSinkLimit(); /* 800B1B68 */ void checkNotItemSinkLimit(); /* 800B1BAC */ void setSandShapeOffset(); /* 800B1FB8 */ bool checkLv2MiddleBossBgRide(s16); /* 800B1FD8 */ void getSlidePolygon(cM3dGPla*); /* 800B21EC */ void checkSlope() const; /* 800B25CC */ u32 itemTriggerCheck(u8); /* 800B25E8 */ u32 itemButtonCheck(u8); /* 800B2604 */ void itemButton(); /* 800B2634 */ void itemTrigger(); /* 800B2664 */ void spActionButton(); /* 800B2688 */ void spActionTrigger(); /* 800B26AC */ u32 midnaTalkTrigger() const; /* 800B26B8 */ void swordSwingTrigger(); /* 800B26DC */ void setItemActionButtonStatus(u8); /* 800B26FC */ void itemActionTrigger(); /* 800B271C */ void setStickData(); /* 800B2EA4 */ void setAtnList(); /* 800B3220 */ void setRStatus(u8); /* 800B3238 */ void setRStatusEmphasys(u8); /* 800B3250 */ void setDoStatus(u8); /* 800B3268 */ void setDoStatusEmphasys(u8); /* 800B3280 */ void setDoStatusContinuation(u8); /* 800B3298 */ void setBStatus(u8); /* 800B32B0 */ void checkAtnWaitAnime(); /* 800B3358 */ void setTiredVoice(daPy_frameCtrl_c*); /* 800B33E4 */ void checkRestHPAnime(); /* 800B3494 */ void getDirectionFromAngle(s16); /* 800B3500 */ void checkAttentionState(); /* 800B3630 */ void getShapeAngleYAtnActor(); /* 800B3734 */ void setShapeAngleToAtnActor(int); /* 800B3844 */ void initServiceWaitTime(); /* 800B3904 */ void checkZeroSpeedF() const; /* 800B3924 */ void setNormalSpeedF(f32, f32); /* 800B3F2C */ void getStickAngleDistanceRate(); /* 800B3FD4 */ void setSpeedAndAngleNormal(); /* 800B444C */ void setSpeedAndAngleAtn(); /* 800B477C */ void checkRequestTalkActor(dAttList_c*, fopAc_ac_c*); /* 800B47B4 */ void checkServiceWaitMode(); /* 800B48D0 */ void setJumpMode(); /* 800B4908 */ float getMetamorphoseNearDis() const; /* 800B4918 */ float getMetamorphoseFarDis() const; /* 800B4928 */ s16 getMetamorphoseFarAngle() const; /* 800B4938 */ void setMidnaMsg(); /* 800B4950 */ void notTalk(); /* 800B4A08 */ void setTalkStatus(); /* 800B4B2C */ void getFrontRollRate(); /* 800B4B7C */ void decideCommonDoStatus(); /* 800B5284 */ void decideDoStatus(); /* 800B58EC */ void checkWaitAction(); /* 800B5BC0 */ void setFallVoice(); /* 800B5C34 */ void setLandPassiveData(); /* 800B5C64 */ void setStepLandVibration(); /* 800B5CCC */ void checkLandAction(int); /* 800B5F6C */ void checkSlideAction(); /* 800B607C */ void checkAutoJumpAction(); /* 800B69CC */ void checkCutJumpInFly(); /* 800B6A30 */ BOOL checkFrontWallTypeAction(); /* 800B6F28 */ void checkItemActionInitStart(); /* 800B7090 */ void checkItemChangeAutoAction(); /* 800B7168 */ void setFastShotTimer(); /* 800B7190 */ void cancelItemUseQuake(int); /* 800B71EC */ void cancelUpperItemReadyAnime(int); /* 800B72E4 */ void checkItemActorPointer(); /* 800B7390 */ void checkSwordTwirlAction(); /* 800B74B4 */ void checkUpperItemActionFly(); /* 800B7528 */ void checkItemButtonChange(); /* 800B75EC */ void checkUpperItemAction(); /* 800B7B7C */ void orderPeep(); /* 800B7BF8 */ void orderTalk(int); /* 800B80C4 */ void orderZTalk(); /* 800B8374 */ void checkNormalAction(); /* 800B8930 */ void checkReadyItem(); /* 800B8988 */ void checkItemAction(); /* 800B9010 */ bool checkRAction(); /* 800B9018 */ void checkMoveDoAction(); /* 800B9148 */ void checkSideRollAction(int); /* 800B9254 */ void checkNoUpperAnime() const; /* 800B92D0 */ void checkOneHandItemEquipAnime() const; /* 800B92F8 */ void checkItemEquipAnime() const; /* 800B9340 */ void checkEquipAnime() const; /* 800B9398 */ void checkWindDashAnime() const; /* 800B93CC */ void checkSwordTwirlAnime() const; /* 800B93F4 */ void swordEquip(int); /* 800B9580 */ void swordUnequip(); /* 800B9640 */ void itemEquip(u16); /* 800B96A4 */ void itemUnequip(u16, f32); /* 800B97EC */ void checkFastUnequip(); /* 800B983C */ void allUnequip(int); /* 800B994C */ void checkItemChangeFromButton(); /* 800B9D2C */ void checkNextActionFromButton(); /* 800B9F50 */ void checkGroundSpecialMode(); /* 800BA09C */ void commonCheckNextAction(int); /* 800BA0D0 */ int checkNextAction(int); /* 800BA6A0 */ void commonChangeItem(); /* 800BA914 */ void setItemAction(); /* 800BAF08 */ void checkNextActionFromCrouch(int); /* 800BAF80 */ void checkUpperReadyThrowAnime() const; /* 800BB020 */ void getBodyAngleXBasePos(cXyz*); /* 800BB084 */ void getBodyAngleXAtnActor(int); /* 800BB2B0 */ void setBodyAngleXReadyAnime(int); /* 800BB324 */ void setMagicArmorBrk(int); /* 800BB408 */ BOOL checkMagicArmorHeavy() const; /* 800BB4B8 */ void checkHeavyStateOn(int, int); /* 800BB644 */ void initGravity(); /* 800BB770 */ void setSpecialGravity(f32, f32, int); /* 800BB7A0 */ void transAnimeProc(cXyz*, f32, f32); /* 800BBD40 */ void setFootSpeed(); /* 800BBF68 */ void posMove(); /* 800BD6FC */ void autoGroundHit(); /* 800BDD70 */ void startPeepChange(); /* 800BDE20 */ void setLastSceneDamage(int, u32*); /* 800BDE48 */ void setLastSceneMode(u32*); /* 800BDF60 */ void startRestartRoom(u32, int, int, int); /* 800BE26C */ void checkCoachGuardGame(); /* 800BE2C0 */ void checkRoofRestart(); /* 800BE3E4 */ void checkRestartRoom(); /* 800BE9D4 */ void getSceneExitMoveAngle(); /* 800BEAF8 */ void checkSceneChange(int); /* 800BF0B8 */ void voiceStartLevel(u32); /* 800BF0EC */ void seStartSwordCut(u32); /* 800BF194 */ void seStartMapInfo(u32); /* 800BF1CC */ void seStartMapInfoLevel(u32); /* 800BF204 */ void setBasAnime(daAlink_c::daAlink_UNDER); /* 800BF37C */ void initBasAnime(); /* 800BF4E0 */ void resetBasAnime(); /* 800BF500 */ void checkSightLine(f32, cXyz*); /* 800BF79C */ void setMetamorphoseModel(int); /* 800BF854 */ void keepItemData(); /* 800BF884 */ void returnKeepItemData(); /* 800BF8D0 */ void setItemModel(); /* 800BF9F0 */ void setItemActor(); /* 800BFD74 */ void makeItemType(); /* 800BFDB0 */ void checkZoraWearAbility() const; /* 800BFDFC */ BOOL checkMagicArmorWearAbility() const; /* 800BFE48 */ void loadAramBmd(u16, u32); /* 800BFF04 */ void loadAram(u16, u32); /* 800BFF70 */ void loadAramItemBrk(u16, J3DModel*); /* 800BFFCC */ void loadAramItemBtk(u16, J3DModel*); /* 800C0028 */ void loadAramItemBtp(u16, J3DModel*); /* 800C0084 */ void changeItemBck(u16, f32); /* 800C0114 */ void checkGroupItem(int, int) const; /* 800C0164 */ void checkSetItemTrigger(int); /* 800C0208 */ void checkItemSetButton(int); /* 800C0284 */ void checkField(); /* 800C02C8 */ void checkBossRoom(); /* 800C0310 */ void checkDungeon(); /* 800C0358 */ bool checkCastleTown(); /* 800C03A0 */ void checkCloudSea(); /* 800C03E8 */ void checkRoomOnly(); /* 800C044C */ void checkLv2DungeonRoomSpecial(); /* 800C04B4 */ void checkRoomSpecial(); /* 800C0520 */ bool checkRoom(); /* 800C0594 */ bool checkNotBattleStage(); /* 800C05DC */ void checkNotHeavyBootsStage(); /* 800C0630 */ void checkNotAutoJumpStage(); /* 800C0678 */ void checkCastleTownUseItem(u16); /* 800C077C */ void changeItemTriggerKeepProc(u8, int); /* 800C0A9C */ void checkNewItemChange(u8); /* 800C12DC */ void deleteEquipItem(int, int); /* 800C1704 */ void setLight(); /* 800C1CEC */ void setFrontRollCrashShock(u8); /* 800C1E0C */ void changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE); /* 800C1F6C */ void commonProcInit(daAlink_c::daAlink_PROC); /* 800C2DA4 */ BOOL commonProcInitNotSameProc(daAlink_PROC); /* 800C2DDC */ void procPreActionUnequipInit(int, fopAc_ac_c*); /* 800C2EAC */ void procPreActionUnequip(); /* 800C3098 */ bool procServiceWaitInit(); /* 800C30F0 */ void procServiceWait(); /* 800C3224 */ void procTiredWaitInit(); /* 800C3338 */ void procTiredWait(); /* 800C33B8 */ void procWaitInit(); /* 800C3504 */ void procWait(); /* 800C36CC */ void procMoveInit(); /* 800C3730 */ void procMove(); /* 800C3810 */ void procAtnMoveInit(); /* 800C3868 */ bool procAtnMove(); /* 800C38CC */ void procAtnActorWaitInit(); /* 800C397C */ void procAtnActorWait(); /* 800C39EC */ void procAtnActorMoveInit(); /* 800C3A44 */ void procAtnActorMove(); /* 800C3A94 */ void procWaitTurnInit(); /* 800C3B1C */ void procWaitTurn(); /* 800C3C3C */ void procMoveTurnInit(int); /* 800C3D38 */ void procMoveTurn(); /* 800C3DA0 */ void procSideStepInit(int); /* 800C3F60 */ void procSideStep(); /* 800C40F0 */ void procSideStepLandInit(); /* 800C4278 */ void procSideStepLand(); /* 800C4378 */ void procSlideInit(s16); /* 800C4514 */ void procSlide(); /* 800C47AC */ void procSlideLandInit(int); /* 800C4894 */ void procSlideLand(); /* 800C494C */ void procFrontRollInit(); /* 800C4B40 */ void procFrontRoll(); /* 800C4F14 */ void procFrontRollCrashInit(); /* 800C4FFC */ void procFrontRollCrash(); /* 800C5160 */ void procFrontRollSuccessInit(); /* 800C5240 */ void procFrontRollSuccess(); /* 800C5328 */ void procSideRollInit(int); /* 800C5484 */ void procSideRoll(); /* 800C5700 */ void backJumpSpeedDec(); /* 800C57A4 */ void procBackJumpInit(int); /* 800C5964 */ void procBackJump(); /* 800C5A54 */ void procBackJumpLandInit(int); /* 800C5AF0 */ void procBackJumpLand(); /* 800C5C28 */ void procSlipInit(); /* 800C5CA4 */ void procSlip(); /* 800C5E68 */ void procAutoJumpInit(int); /* 800C61EC */ void procAutoJump(); /* 800C66DC */ void procDiveJumpInit(); /* 800C6798 */ void procDiveJump(); /* 800C6850 */ void procRollJumpInit(); /* 800C692C */ void procRollJump(); /* 800C6A48 */ void procFallInit(int, f32); /* 800C6D20 */ void procFall(); /* 800C6F18 */ void procLandInit(f32); /* 800C6FE4 */ void procLand(); /* 800C70F8 */ void procSmallJumpInit(int); /* 800C72D4 */ void procSmallJump(); /* 800C74D4 */ void procStepMoveInit(); /* 800C755C */ void procStepMove(); /* 800C7690 */ void procCrouchInit(); /* 800C76F8 */ void procCrouch(); /* 800C77F4 */ void procCoMetamorphoseInit(); /* 800C7C64 */ void procCoMetamorphose(); /* 800C82E8 */ void procCoMetamorphoseOnlyInit(); /* 800C83A0 */ void procCoMetamorphoseOnly(); /* 800C8460 */ void procFloorDownReboundInit(); /* 800C84D0 */ void procFloorDownRebound(); /* 800C854C */ void procGoronRideWaitInit(fopAc_ac_c*); /* 800C85D8 */ void procGoronRideWait(); /* 800C8700 */ void execute(); /* 800CAFC8 */ void setDrawHand(); /* 800CB480 */ void checkSwordDraw(); /* 800CB53C */ void checkShieldDraw(); /* 800CB5F8 */ void checkItemDraw(); /* 800CB694 */ void initShadowScaleLight(); /* 800CBA38 */ void moveShadowScaleLight(); /* 800CBC18 */ void shadowDraw(); /* 800CC25C */ void modelCalc(J3DModel*); /* 800CC298 */ void basicModelDraw(J3DModel*); /* 800CC2E0 */ void modelDraw(J3DModel*, int); /* 800CC364 */ void setWaterDropColor(J3DGXColorS10 const*); /* 800CC7DC */ void initTevCustomColor(); /* 800CC7FC */ void draw(); /* 800CD7AC */ ~daAlink_c(); /* 800CE294 */ void checkNoSubjectModeCamera(); /* 800CE468 */ void acceptSubjectModeChange(); /* 800CE628 */ void checkSubjectAction(); /* 800CE728 */ void checkBodyAngleX(s16); /* 800CE8A0 */ void setBodyAngleToCamera(); /* 800CEAF4 */ void setSubjectMode(); /* 800CEB58 */ void subjectCancelTrigger(); /* 800CEBD8 */ void checkSubjectEnd(int); /* 800CECE4 */ void searchPeepObj(fopAc_ac_c*, void*); /* 800CED84 */ void procCoSubjectivityInit(); /* 800CEE08 */ void procCoSubjectivity(); /* 800CEF70 */ void procCoSwimSubjectivityInit(); /* 800CF018 */ void procCoSwimSubjectivity(); /* 800CF100 */ void procCoPeepSubjectivityInit(); /* 800CF1B8 */ void procCoPeepSubjectivity(); /* 800CF380 */ daAlink_c(); /* 800CFEB0 */ BOOL checkRideOn() const; /* 800CFF4C */ BOOL checkAttentionLock(); /* 800D0020 */ BOOL checkFmChainGrabAnime() const; /* 800D0048 */ BOOL checkSmallUpperGuardAnime() const; /* 800D00EC */ BOOL checkReinRide() const; /* 800D0110 */ BOOL checkWolfEnemyThrowAnime() const; /* 800D0138 */ u16 checkSpecialDemoMode() const; /* 800D014C */ void setMidnaTalkStatus(u8); /* 800D0164 */ void set3DStatus(u8, u8); /* 800D018C */ u32 checkModeFlg(u32) const; /* 800D2684 */ void checkCutTurnCharge(); /* 800D07A4 */ void checkCutJumpCancelTurn() const; /* 800D0E08 */ void checkLightSwordMtrl(); /* 800D0E98 */ void checkSwordEquipAnime() const; /* 800D0ECC */ void checkCutDashAnime() const; /* 800D0EFC */ void checkCutDashEnemyHit(dCcD_GObjInf&); /* 800D0F5C */ void getSwordAtType(); /* 800D0F90 */ void initCutTurnAt(f32, int); /* 800D102C */ void checkCutFinishJumpUp(); /* 800D1088 */ void changeCutFast(); /* 800D10E0 */ void checkCutFastReady(); /* 800D1268 */ void setSwordModel(); /* 800D1310 */ void offSwordModel(); /* 800D13AC */ void checkCutTypeNoBlur() const; /* 800D13E4 */ void checkCutTurnInput() const; /* 800D1424 */ void getCutTurnDirection() const; /* 800D1430 */ void resetCombo(int); /* 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, u8, u8, int, f32, f32); /* 800D1788 */ void notSwordHitVibActor(fopAc_ac_c*); /* 800D17EC */ void setSwordHitVibration(dCcD_GObjInf*); /* 800D1920 */ void checkAtShieldHit(dCcD_GObjInf&); /* 800D1978 */ void checkCutReverseAt(dCcD_GObjInf*); /* 800D19C8 */ void changeCutReverseProc(daAlink_c::daAlink_ANM); /* 800D1E1C */ void setCutDash(int, int); /* 800D20B4 */ void checkForceSwordSwing(); /* 800D20FC */ void setComboReserb(); /* 800D2188 */ void checkComboReserb(); /* 800D21D0 */ void commonCutAction(); /* 800D2284 */ void setSwordVoiceSe(u32); /* 800D22BC */ void setSwordChargeVoiceSe(); /* 800D2304 */ void setSwordComboVoice(); /* 800D2368 */ void checkCutTurnInputTrigger(); /* 800D23C0 */ void checkCutAction(); /* 800D26EC */ void getCutDirection(); /* 800D2760 */ void checkCutCancelNextMode(int); /* 800D27E4 */ void checkDoCutAction(); /* 800D2890 */ void checkCutBackState(); /* 800D28F4 */ void checkCutHeadState(); /* 800D29D4 */ void checkDownAttackState(); /* 800D2ABC */ void checkCutLargeTurnState() const; /* 800D2B88 */ void cancelCutCharge(); /* 800D2BFC */ void initCutAtnActorSearch(); /* 800D2C54 */ void checkCutAtnActorChange(); /* 800D2C78 */ void setCutJumpSpeed(int); /* 800D2F58 */ void procCutNormalInit(int); /* 800D31B8 */ void procCutNormal(); /* 800D34D8 */ void procCutFinishInit(int); /* 800D382C */ void procCutFinish(); /* 800D3ADC */ void procCutFinishJumpUpInit(); /* 800D3CCC */ void procCutFinishJumpUp(); /* 800D3DD8 */ void procCutFinishJumpUpLandInit(); /* 800D3ECC */ void procCutFinishJumpUpLand(); /* 800D4068 */ void procCutReverseInit(daAlink_c::daAlink_ANM); /* 800D41FC */ void procCutReverse(); /* 800D42FC */ void procCutJumpInit(int); /* 800D43F8 */ void procCutJump(); /* 800D452C */ void procCutJumpLandInit(int); /* 800D4684 */ void procCutJumpLand(); /* 800D47DC */ void procCutTurnInit(int, int); /* 800D4A74 */ void procCutTurn(); /* 800D4C68 */ void procCutTurnChargeInit(); /* 800D4D04 */ void procCutTurnCharge(); /* 800D4DDC */ void procCutTurnMoveInit(int); /* 800D4EFC */ void procCutTurnMove(); /* 800D53C8 */ void procCutDownInit(); /* 800D57F8 */ void procCutDown(); /* 800D58A0 */ void procCutDownLandInit(fopEn_enemy_c*); /* 800D5ADC */ void procCutDownLand(); /* 800D5C88 */ void procCutHeadInit(); /* 800D5FC8 */ void procCutHead(); /* 800D6130 */ void procCutHeadLandInit(); /* 800D618C */ void procCutHeadLand(); /* 800D6238 */ void procCutLargeJumpChargeInit(); /* 800D62A0 */ void procCutLargeJumpCharge(); /* 800D6374 */ void procCutLargeJumpInit(); /* 800D6484 */ void procCutLargeJump(); /* 800D66C0 */ void procCutLargeJumpLandInit(int); /* 800D67FC */ void procCutLargeJumpLand(); /* 800D698C */ void procSwordUnequipSpInit(); /* 800D6A38 */ void procSwordUnequipSp(); /* 800D6D94 */ void getFreezeR() const; /* 800D6DA4 */ void getFreezeG() const; /* 800D6DB4 */ void getFreezeB() const; /* 800D6DC4 */ void checkMiddleBossGoronRoom(); /* 800D6E24 */ void freezeTimerDamage(); /* 800D6F2C */ void checkNoLandDamageSlidePolygon(); /* 800D6FE0 */ void checkCutLandDamage(); /* 800D70A0 */ void checkCaughtEscapeCutTurn(); /* 800D7208 */ void damageMagnification(int, int); /* 800D72BC */ void setDamagePoint(int, int, int, int); /* 800D7478 */ void setDamagePointNormal(int); /* 800D74A4 */ void setLandDamagePoint(int); /* 800D74F4 */ void getDamageVec(dCcD_GObjInf*); /* 800D76C4 */ void setDashDamage(); /* 800D7768 */ void checkIcePolygonDamage(cBgS_PolyInfo*); /* 800D77C8 */ void checkMagicArmorNoDamage(); /* 800D7820 */ void checkPolyDamage(); /* 800D7A98 */ void checkElecReturnDamage(dCcD_GObjInf&, fopAc_ac_c**); /* 800D7B18 */ void damageTimerCount(); /* 800D7BE8 */ void checkHugeAttack(int) const; /* 800D7C14 */ void checkLargeAttack(int) const; /* 800D7C40 */ void checkDamageAction(); /* 800D8F3C */ void procDamageInit(dCcD_GObjInf*, int); /* 800D9514 */ void procDamage(); /* 800D96DC */ void procCoLargeDamageInit(int, int, s16, s16, dCcD_GObjInf*, int); /* 800D9E88 */ void procCoLargeDamage(); /* 800DA180 */ void procLargeDamageUpInit(int, int, s16, s16); /* 800DA554 */ void procLargeDamageUp(); /* 800DA82C */ void procCoLargeDamageWallInit(int, int, s16, s16); /* 800DAC28 */ void procCoLargeDamageWall(); /* 800DAC84 */ void procCoPolyDamageInit(); /* 800DAD90 */ void procCoPolyDamage(); /* 800DAE10 */ void procLandDamageInit(int); /* 800DB060 */ void procLandDamage(); /* 800DB140 */ void procCoElecDamageInit(fopAc_ac_c*, dCcD_GObjInf*, int); /* 800DB418 */ void procCoElecDamage(); /* 800DB5B0 */ void procStEscapeInit(); /* 800DB610 */ void procStEscape(); /* 800DB6A4 */ void procDkCaughtInit(unsigned int); /* 800DB860 */ void procDkCaught(); /* 800DBC98 */ void setScreamWaitAnime(); /* 800DBD1C */ void procScreamWaitInit(); /* 800DBDA4 */ void procScreamWait(); /* 800DBE00 */ void procCoSandWallHitInit(); /* 800DBE74 */ void procCoSandWallHit(); /* 800DBED8 */ void procCoLavaReturnInit(int); /* 800DC214 */ void procCoLavaReturn(); /* 800DC278 */ void procCoSwimFreezeReturnInit(); /* 800DC474 */ void procCoSwimFreezeReturn(); /* 800DC548 */ void checkEnemyGroup(fopAc_ac_c*); /* 800DC5A4 */ void checkSpecialNpc(fopAc_ac_c*); /* 800DC5DC */ void checkShieldAttackEmphasys(); /* 800DC678 */ void checkGuardActionChange(); /* 800DC79C */ void stickArrowIncrement(int); /* 800DC8C4 */ void setArrowShieldActor(fopAc_ac_c*, int); /* 800DCA2C */ void checkWoodShieldEquipNotIronBall() const; /* 800DCA80 */ void getArrowShieldOffset(cXyz const*, csXyz const*, cXyz*, cXyz*) const; /* 800DCD74 */ void setArrowShieldPos(cXyz*, csXyz*, cXyz const*, cXyz const*) const; /* 800DCDF0 */ void checkUpperGuardAnime() const; /* 800DCF04 */ void checkPlayerGuardAndAttack() const; /* 800DCF64 */ void checkGuardAccept(); /* 800DD008 */ void setUpperGuardAnime(f32); /* 800DD018 */ void setShieldGuard(); /* 800DD114 */ void setGuardSe(dCcD_GObjInf*); /* 800DD1D4 */ void setSmallGuard(dCcD_GObjInf*); /* 800DD3E4 */ void procGuardSlipInit(int, dCcD_GObjInf*); /* 800DD894 */ void procGuardSlip(); /* 800DDA10 */ void procGuardAttackInit(); /* 800DDBA8 */ void procGuardAttack(); /* 800DDE58 */ void procGuardBreakInit(); /* 800DDF2C */ void procGuardBreak(); /* 800DE008 */ void procTurnMoveInit(int); /* 800DE380 */ void procTurnMove(); /* 800DE64C */ void getArrowFlyData(f32*, f32*, int) const; /* 800DE740 */ void getArrowIncAtR() const; /* 800DE750 */ void getBombArrowFlyExplodeTime() const; /* 800DE760 */ void getArrowIncAtMaxStart() const; /* 800DE770 */ void getArrowIncAtMax() const; /* 800DE780 */ void checkBowAndSlingItem(int); /* 800DE7D4 */ void setSlingModel(); /* 800DE884 */ void checkBowCameraArrowPosP(s16*, s16*); /* 800DE9B8 */ void checkBowReadyAnime() const; /* 800DE9E8 */ void checkBowAnime() const; /* 800DEA3C */ void makeArrow(); /* 800DEAE4 */ void deleteArrow(); /* 800DEB8C */ void setBowOrSlingStatus(); /* 800DEBC8 */ void changeArrowType(); /* 800DED88 */ void cancelBowMoveRideNotAtn(); /* 800DEE1C */ void cancelBowMove(); /* 800DEEDC */ void setBowReadyAnime(); /* 800DEFB8 */ void setBowReloadAnime(); /* 800DF0BC */ void checkUpperItemActionBow(); /* 800DF798 */ void checkUpperItemActionBowFly(); /* 800DF814 */ void checkNextActionBow(); /* 800DFAE8 */ void setBowModel(); /* 800DFBC8 */ void checkBowGrabLeftHand() const; /* 800DFC28 */ void setBowHangAnime(); /* 800DFC70 */ void setBowNormalAnime(); /* 800DFCD8 */ void setBowSight(); /* 800DFD6C */ void procBowSubjectInit(); /* 800DFDDC */ void procBowSubject(); /* 800DFE3C */ void procBowMoveInit(); /* 800DFEC0 */ void procBowMove(); /* 800DFFE0 */ void checkBoomerangLockAccept(); /* 800E0010 */ void getBoomSpeed(); /* 800E00B0 */ void getBoomCatchSpeed() const; /* 800E00C0 */ void getBoomFlyMax() const; /* 800E011C */ void getBoomLockMax(); /* 800E0190 */ void getBoomBgThroughTime() const; /* 800E01A0 */ void checkBossBabaRoom(); /* 800E01CC */ void cancelBoomerangLock(fopAc_ac_c*); /* 800E0210 */ void getBoomerangActor(); /* 800E0244 */ void checkBoomerangChargeEnd(); /* 800E02B8 */ void checkBoomerangCarry(fopAc_ac_c*); /* 800E03D0 */ void initBoomerangUpperAnimeSpeed(int); /* 800E0440 */ void checkBoomerangAnime() const; /* 800E04AC */ void checkBoomerangThrowAnime() const; /* 800E04E8 */ void setBoomerangReadyQuake(); /* 800E055C */ void setBoomerangReadyAnime(); /* 800E05E8 */ void setThrowBoomerangAnime(); /* 800E0630 */ void setBoomerangCatchAnime(); /* 800E06B8 */ void throwBoomerang(); /* 800E08C4 */ void returnBoomerang(int); /* 800E0A9C */ void checkUpperItemActionBoomerang(); /* 800E0B58 */ void checkUpperItemActionBoomerangFly(); /* 800E0BE4 */ void checkNextActionBoomerang(); /* 800E0D8C */ void checkBoomerangCatchAction(); /* 800E0E64 */ void setBoomerangSight(); /* 800E0F10 */ void procBoomerangSubjectInit(); /* 800E0FA0 */ void procBoomerangSubject(); /* 800E1060 */ void procBoomerangMoveInit(); /* 800E10F4 */ void procBoomerangMove(); /* 800E11D8 */ void procBoomerangCatchInit(); /* 800E1248 */ void procBoomerangCatch(); /* 800E12E0 */ void checkLv6BossRoom(); /* 800E1310 */ void getCopyRodBallSpeed() const; /* 800E1320 */ void getCopyRodBallReturnSpeed() const; /* 800E1330 */ void getCopyRodBallDisMax() const; /* 800E1374 */ void getCopyRodControllActor(); /* 800E1390 */ void getCopyRodCameraActor(); /* 800E13AC */ void initCopyRodUpperAnimeSpeed(int); /* 800E1408 */ void checkForestOldCentury(); /* 800E1530 */ void checkCopyRodAnime() const; /* 800E158C */ void setCopyRodControllAnime(); /* 800E15FC */ void setCopyRodControllUpperSpeedRate(); /* 800E1748 */ void setCopyRodModel(); /* 800E1840 */ void setCopyRodReadyAnime(); /* 800E191C */ void throwCopyRod(); /* 800E1A30 */ void returnCopyRod(); /* 800E1ADC */ void checkUpperItemActionCopyRod(); /* 800E1BB4 */ void checkUpperItemActionCopyRodFly(); /* 800E1C44 */ void checkNextActionCopyRod(); /* 800E1D6C */ void setCopyRodSight(); /* 800E1E20 */ void procCopyRodSubjectInit(); /* 800E1EB0 */ void procCopyRodSubject(); /* 800E1F68 */ void procCopyRodMoveInit(); /* 800E1FFC */ void procCopyRodMove(); /* 800E20C8 */ void procCopyRodSwingInit(); /* 800E21FC */ void procCopyRodSwing(); /* 800E2308 */ void procCopyRodReviveInit(); /* 800E23A4 */ void procCopyRodRevive(); /* 800E23FC */ void concatMagneBootMtx(); /* 800E243C */ void concatMagneBootInvMtx(); /* 800E247C */ void multVecMagneBootInvMtx(cXyz*); /* 800E24B0 */ void commonMagneLineCheck(cXyz*, cXyz*); /* 800E251C */ void checkBootsMoveAnime(int); /* 800E2580 */ void setHeavyBoots(int); /* 800E2738 */ void getMagneBootsLocalAngleY(s16, int); /* 800E2808 */ void setMagneBootsMtx(cBgS_PolyInfo*, int); /* 800E2DC4 */ void cancelMagneBootsOn(); /* 800E2F88 */ void checkMagneBootsFly(); /* 800E3048 */ void procBootsEquipInit(); /* 800E30DC */ void procBootsEquip(); /* 800E3218 */ void procMagneBootsFlyInit(); /* 800E3454 */ void procMagneBootsFly(); /* 800E3760 */ void getBombExplodeTime() const; /* 800E3770 */ void getBombGravity() const; /* 800E3780 */ void getBombMaxFallSpeed() const; /* 800E3790 */ void getBombBoundRate() const; /* 800E37A0 */ void getBombStopSpeedY() const; /* 800E37B0 */ void getBombMaxSpeedY() const; /* 800E37C0 */ void getBombEffScale() const; /* 800E37D0 */ void getBombAtR() const; /* 800E37E0 */ void getEnemyBombColorR() const; /* 800E37F0 */ void getBombWaterGravity() const; /* 800E3800 */ void getBombWaterMaxFallSpeed() const; /* 800E3810 */ void getBombExplodeWaterEffectLimit() const; /* 800E3820 */ void getBombInsectLimitAngle() const; /* 800E38EC */ void checkGrabLineCheck(); /* 800E3BCC */ void getGrabThrowRate(); /* 800E3C1C */ void checkGrabThrowAnime() const; /* 800E3C6C */ void checkGrabAnime() const; /* 800E3C9C */ void checkGrabAnimeAndThrow() const; /* 800E3CF4 */ void checkGrabCarryActor(); /* 800E3D1C */ void checkGrabSlowMoveActor(); /* 800E3D6C */ void checkGrabHeavyActor(); /* 800E3D94 */ void checkGrabSideActor(); /* 800E3DBC */ void setGrabUpperAnime(f32); /* 800E3F20 */ void checkGrabRooster(); /* 800E3F50 */ void setGrabItemPos(); /* 800E4BD4 */ void freeGrabItem(); /* 800E4DEC */ void setGrabUpperSpeedRate(); /* 800E4FA8 */ void setCarryArmAngle(f32, f32); /* 800E5150 */ void checkGrabNotThrow(); /* 800E5170 */ void checkNextActionGrab(); /* 800E53AC */ void initGrabNextMode(); /* 800E53F8 */ void setGrabItemThrow(); /* 800E57AC */ void checkUpperGrabItemThrow(f32); /* 800E5830 */ void putObjLineCheck(dBgS_LinChk&, cXyz*, fopAc_ac_c*); /* 800E5B6C */ void grabLineCheck(cXyz*, cXyz*); /* 800E5BB4 */ void setGrabItemActor(fopAc_ac_c*); /* 800E5CBC */ void procGrabReadyInit(); /* 800E5EC8 */ void procGrabReady(); /* 800E5FD0 */ void procGrabUpInit(); /* 800E6230 */ void procGrabUp(); /* 800E637C */ void procGrabMiss(); /* 800E63F0 */ void procGrabThrowInit(int); /* 800E65F8 */ void procGrabThrow(); /* 800E672C */ void procGrabPutInit(); /* 800E6914 */ void procGrabPut(); /* 800E6A9C */ void procGrabWaitInit(); /* 800E6C34 */ void procGrabWait(); /* 800E6D6C */ void procGrabReboundInit(int); /* 800E6E0C */ void procGrabRebound(); /* 800E6EEC */ void procGrabStandInit(); /* 800E6FE0 */ void procGrabStand(); /* 800E70C0 */ bool checkInsectActorName(fopAc_ac_c*); /* 800E70FC */ void procInsectCatchInit(); /* 800E71D4 */ bool procInsectCatch(); /* 800E7254 */ void procPickUpInit(); /* 800E7460 */ void procPickUp(); /* 800E75EC */ void procPickPutInit(int); /* 800E76E0 */ void procPickPut(); /* 800E7894 */ void checkSetChainPullAnime(s16); /* 800E794C */ s16 getChainStickAngleY(s16) const; /* 800E7994 */ void checkChainEmphasys(); /* 800E79F8 */ void searchFmChainPos(); /* 800E7AEC */ void setFmChainPosFromOut(fopAc_ac_c*, cXyz*, int); /* 800E7C30 */ void procFmChainUpInit(); /* 800E7CC0 */ void procFmChainUp(); /* 800E7DD8 */ void procFmChainStrongPullInit(); /* 800E7E50 */ void procFmChainStrongPull(); /* 800E7ED0 */ void setWallGrabStatus(u8, u8); /* 800E7EE4 */ void getWallGrabStatus(); /* 800E7EF4 */ void wallGrabTrigger(); /* 800E7F18 */ void wallGrabButton(); /* 800E7F3C */ void setPushPullKeepData(dBgW_Base::PushPullLabel, int); /* 800E80A4 */ void checkPushPullTurnBlock(); /* 800E8148 */ void checkPullBehindWall(); /* 800E8298 */ void offGoatStopGame(); /* 800E82B0 */ BOOL checkGoatCatchActor(fopAc_ac_c*); /* 800E8314 */ float getGoatCatchDistance2(); /* 800E8334 */ void endPushPull(); /* 800E8354 */ void getPushPullAnimeSpeed(); /* 800E8428 */ void procCoPushPullWaitInit(int); /* 800E857C */ void procCoPushPullWait(); /* 800E875C */ void procCoPushMoveInit(int, int); /* 800E89F0 */ void procCoPushMove(); /* 800E8D1C */ void procPullMoveInit(int); /* 800E8F44 */ void procPullMove(); /* 800E9210 */ void setGoatStopGameFail(fopAc_ac_c*); /* 800E9344 */ void procGoatMoveInit(); /* 800E9434 */ void procGoatMove(); /* 800E9894 */ void procGoatCatchInit(fopAc_ac_c*, f32); /* 800E9BD0 */ void procGoatCatch(); /* 800EA2A8 */ void procGoatStrokeInit(); /* 800EA3AC */ void procGoatStroke(); /* 800EA3F4 */ void procGoronMoveInit(); /* 800EA4CC */ void procGoronMove(); /* 800EA844 */ void checkSumouVsActor(); /* 800EA8D0 */ void cancelSumouMode(); /* 800EA908 */ void sumouPunchTrigger(); /* 800EA92C */ void setSumouPunchStatus(); /* 800EA950 */ void procSumouReadyInit(); /* 800EAA28 */ void procSumouReady(); /* 800EAC4C */ void procSumouMoveInit(); /* 800EAD84 */ void procSumouMove(); /* 800EB208 */ void procSumouSideMoveInit(); /* 800EB2BC */ void procSumouSideMove(); /* 800EB624 */ void procSumouActionInit(int, int, int); /* 800EBCE0 */ void procSumouAction(); /* 800EC0F8 */ void procSumouStaggerInit(); /* 800EC170 */ void procSumouStagger(); /* 800EC20C */ void procSumouWinLoseInit(); /* 800EC3D8 */ void procSumouWinLose(); /* 800EC538 */ void procSumouShikoInit(); /* 800EC5F4 */ void procSumouShiko(); /* 800EC76C */ void checkHorseZeldaBowMode(); /* 800EC7B0 */ void setHorseZeldaDamage(); /* 800EC7DC */ bool checkHorseDashAccept(); /* 800EC814 */ void checkCowGame(); /* 800EC87C */ void getReinRideDirection(); /* 800EC8F8 */ void checkReinRideBgCheck(); /* 800ECA3C */ void commonInitForceRideRein(); /* 800ECAAC */ void initForceRideBoar(); /* 800ECB58 */ void initForceRideHorse(); /* 800ECBD0 */ void rideGetOff(); /* 800ECD90 */ void checkHorseNotDamageReaction() const; /* 800ECDC4 */ void checkHorseWaitLashAnime() const; /* 800ECDEC */ void checkHorseReinLeftOnly() const; /* 800ECE10 */ void getReinHandType() const; /* 800ECF04 */ void checkHorseLieAnime() const; /* 800ECF5C */ void checkHorseSubjectivity() const; /* 800ECF9C */ void setHorseSwordUpAnime(); /* 800ECFF4 */ void setHorseTurnUpperAnime(int); /* 800ED074 */ void checkHorseNoUpperAnime() const; /* 800ED0D4 */ void getHorseReinHandPos(cXyz*, cXyz*); /* 800ED1F0 */ void checkHorseNotGrab() const; /* 800ED310 */ void setHorseStirrup(); /* 800ED4B8 */ void changeBoarRunRide(); /* 800ED4DC */ void setSyncHorsePos(); /* 800ED78C */ void setSyncBoarPos(); /* 800ED90C */ void setSyncBoarRunPos(); /* 800EDA24 */ void setSyncRidePos(); /* 800EDA78 */ void setHorseTurnAnime(); /* 800EDB48 */ void getBaseHorseAnime(daAlink_c::daAlink_ANM*); /* 800EDD6C */ void checkHorseSpecialProc(); /* 800EDE8C */ void checkHorseServiceWaitAnime(); /* 800EDEEC */ void setSyncHorse(int); /* 800EE64C */ void setSyncBoar(int); /* 800EE918 */ void setSyncRide(int); /* 800EEAE8 */ void setBaseHorseAnimeFrame(); /* 800EEC98 */ void setBaseBoarAnime(); /* 800EED98 */ void setBaseRideAnime(); /* 800EEE30 */ void checkHorseSwordUpSpped(); /* 800EEE5C */ void setHorseSwordUp(int); /* 800EEF30 */ void setRideSubjectAngle(s16); /* 800EF050 */ void setBodyAngleRideReadyAnime(); /* 800EF0E8 */ void checkHorseGetOffWallCheck(cXyz*, cXyz*, s16); /* 800EF198 */ void checkHorseGetOffDirection(); /* 800EF35C */ void boarForceGetOff(); /* 800EF394 */ void horseGetOffEnd(); /* 800EF450 */ void checkNextActionHorse(); /* 800EF598 */ void checkHorseGetOff(); /* 800EF6B0 */ void checkHorseGetOffAndSetDoStatus(); /* 800EF884 */ void setHorseGetOff(int); /* 800EF95C */ void procHorseRideInit(); /* 800EFDC4 */ void procHorseRide(); /* 800F038C */ void procHorseGetOffInit(int); /* 800F0620 */ void procHorseGetOff(); /* 800F0980 */ void procHorseWaitInit(); /* 800F0AA4 */ void procHorseWait(); /* 800F0C6C */ void procHorseTurnInit(); /* 800F0CE4 */ void procHorseTurn(); /* 800F1060 */ void procHorseJumpInit(); /* 800F10F8 */ void procHorseJump(); /* 800F1188 */ void procHorseLandInit(); /* 800F1204 */ void procHorseLand(); /* 800F1294 */ void procHorseSubjectivityInit(); /* 800F12F8 */ void procHorseSubjectivity(); /* 800F13D8 */ void procHorseCutInit(); /* 800F1688 */ void procHorseCut(); /* 800F1894 */ void procHorseCutChargeReadyInit(); /* 800F194C */ void procHorseCutChargeReady(); /* 800F1AAC */ void procHorseCutTurnInit(); /* 800F1BA4 */ void procHorseCutTurn(); /* 800F1D18 */ void procHorseDamageInit(dCcD_GObjInf*); /* 800F2028 */ void procHorseDamage(); /* 800F2150 */ void procHorseBowSubjectInit(); /* 800F21B4 */ void procHorseBowSubject(); /* 800F224C */ void procHorseBowMoveInit(); /* 800F22A8 */ void procHorseBowMove(); /* 800F2334 */ void procHorseGrabMoveInit(); /* 800F2390 */ void procHorseGrabMove(); /* 800F2454 */ void procHorseBoomerangSubjectInit(); /* 800F24C8 */ void procHorseBoomerangSubject(); /* 800F25B4 */ void procHorseBoomerangMoveInit(); /* 800F2628 */ void procHorseBoomerangMove(); /* 800F26F4 */ void procHorseHookshotSubjectInit(); /* 800F2770 */ void procHorseHookshotSubject(); /* 800F2824 */ void procHorseHookshotMoveInit(); /* 800F2898 */ void procHorseHookshotMove(); /* 800F2934 */ void procHorseBottleDrinkInit(u16); /* 800F2AD8 */ void procHorseBottleDrink(); /* 800F2B4C */ void procHorseKandelaarPourInit(); /* 800F2C78 */ void procHorseKandelaarPour(); /* 800F2D84 */ void procHorseComebackInit(); /* 800F2DE4 */ void procHorseComeback(); /* 800F2EE0 */ void procHorseRunInit(); /* 800F2F98 */ void procHorseRun(); /* 800F3430 */ void procHorseHangInit(dCcD_GObjInf*, int); /* 800F3580 */ void procHorseHang(); /* 800F36E4 */ void procHorseGetKeyInit(); /* 800F3754 */ void procHorseGetKey(); /* 800F3818 */ void procHorseLookDownInit(); /* 800F3894 */ void procHorseLookDown(); /* 800F38E8 */ void procBoarRunInit(); /* 800F3998 */ void procBoarRun(); /* 800F3BB0 */ void getCanoeMaxSpeed() const; /* 800F3BDC */ void getCanoeBackMaxSpeed() const; /* 800F3BEC */ void getCanoeCres() const; /* 800F3C18 */ void getCanoeSpeedRate() const; /* 800F3C44 */ void getCanoeMaxRotSpeed() const; /* 800F3CCC */ void getCanoeLocalPaddleTop(); /* 800F3CF8 */ void checkCanoeRideTandem(); /* 800F3D58 */ void checkFishingRodAndLureItem() const; /* 800F3DA0 */ void initFishingRodHand(); /* 800F3DFC */ void getCanoePaddleMatrix(); /* 800F3E4C */ void checkFishingRodGrab(fopAc_ac_c*) const; /* 800F3EB8 */ void checkCanoePaddleGrab(fopAc_ac_c*) const; /* 800F3F38 */ void checkCanoeFishingRodGrabOrPut() const; /* 800F3FC4 */ void initCanoeRide(); /* 800F4008 */ void checkCanoeJumpRide(); /* 800F40E4 */ void setArmReelAnime(); /* 800F4140 */ void setFishingWaitAction(); /* 800F4490 */ void setFishGetFace(); /* 800F4564 */ void setRideCanoeBasePos(fopAc_ac_c*); /* 800F459C */ void setSyncCanoePos(); /* 800F47D8 */ void canoeCommon(); /* 800F4924 */ void checkNextActionCanoe(); /* 800F4A50 */ void procCanoeRideInit(); /* 800F4B90 */ void procCanoeRide(); /* 800F4C78 */ void procCanoeJumpRideInit(fopAc_ac_c*); /* 800F4D84 */ void procCanoeJumpRide(); /* 800F4DF8 */ void procCanoeGetOffInit(); /* 800F5048 */ void procCanoeGetOff(); /* 800F51E4 */ void procCanoeWaitInit(int); /* 800F542C */ void procCanoeWait(); /* 800F571C */ void procCanoeRowInit(int); /* 800F5A1C */ void procCanoeRow(); /* 800F5D04 */ void procCanoePaddleShiftInit(int); /* 800F5DB8 */ void procCanoePaddleShift(); /* 800F5EA8 */ void procCanoePaddlePutInit(int); /* 800F5FEC */ void procCanoePaddlePut(); /* 800F6140 */ void procCanoePaddleGrabInit(); /* 800F6188 */ void procCanoePaddleGrab(); /* 800F6320 */ void procCanoeRodGrabInit(); /* 800F6394 */ void procCanoeRodGrab(); /* 800F6464 */ void procCanoeFishingWaitInit(); /* 800F659C */ void procCanoeFishingWait(); /* 800F67C0 */ void procCanoeFishingReelInit(); /* 800F6874 */ void procCanoeFishingReel(); /* 800F69D4 */ void procCanoeFishingGetInit(); /* 800F6A70 */ void procCanoeFishingGet(); /* 800F6BEC */ void procCanoeSubjectivityInit(); /* 800F6C30 */ void procCanoeSubjectivity(); /* 800F6D10 */ void procCanoeBowSubjectInit(); /* 800F6D64 */ void procCanoeBowSubject(); /* 800F6DF0 */ void procCanoeBowMoveInit(); /* 800F6E44 */ void procCanoeBowMove(); /* 800F6EB0 */ void procCanoeGrabMoveInit(); /* 800F6EFC */ void procCanoeGrabMove(); /* 800F6FA4 */ void procCanoeBoomerangSubjectInit(); /* 800F7010 */ void procCanoeBoomerangSubject(); /* 800F70F0 */ void procCanoeBoomerangMoveInit(); /* 800F715C */ void procCanoeBoomerangMove(); /* 800F7208 */ void procCanoeHookshotSubjectInit(); /* 800F7274 */ void procCanoeHookshotSubject(); /* 800F731C */ void procCanoeHookshotMoveInit(); /* 800F7388 */ void procCanoeHookshotMove(); /* 800F7404 */ void procCanoeBottleDrinkInit(u16); /* 800F7550 */ void procCanoeBottleDrink(); /* 800F75BC */ void procCanoeKandelaarPourInit(); /* 800F7684 */ void procCanoeKandelaarPour(); /* 800F7708 */ void setGroundFishingRodActor(); /* 800F7760 */ void procFishingCastInit(); /* 800F7814 */ void procFishingCast(); /* 800F7988 */ void procFishingFoodInit(); /* 800F7AA8 */ void procFishingFood(); /* 800F7C50 */ void getCrawlMoveAnmSpeed(); /* 800F7C74 */ void getCrawlMoveSpeed(); /* 800F7CE8 */ void setCrawlMoveDirectionArrow(); /* 800F7E48 */ void changeCrawlAutoMoveProc(cXyz*); /* 800F81C0 */ void getCrawlMoveVec(cXyz*, cXyz*, cXyz*, int, int, u8*); /* 800F85C0 */ void crawlBgCheck(cXyz*, cXyz*, int); /* 800F8700 */ void checkCrawlSideWall(cXyz*, cXyz*, cXyz*, cXyz*, s16*, s16*); /* 800F88F8 */ void decideCrawlDoStatus(); /* 800F89E0 */ void checkNotCrawlStand(cXyz*); /* 800F8A50 */ void checkNotCrawlStand(cXyz*, cXyz*); /* 800F8B00 */ void checkCrawlInHoll(cXyz*, cXyz*, cXyz*, int); /* 800F8D04 */ void setCrawlMoveHoll(); /* 800F8DBC */ void setCrawlMoveAngle(); /* 800F8F08 */ void stopHalfMoveAnime(f32); /* 800F8F84 */ void setCrawlAutoMoveAimPos(); /* 800F9210 */ void procCrawlStartInit(); /* 800F9384 */ void procCrawlStart(); /* 800F9474 */ void procCrawlMoveInit(s16, s16); /* 800F95B8 */ void procCrawlMove(); /* 800F99FC */ void procCrawlAutoMoveInit(int, cXyz*); /* 800F9ABC */ void procCrawlAutoMove(); /* 800F9D7C */ void procCrawlEndInit(int, s16, s16); /* 800F9F30 */ void procCrawlEnd(); /* 800F9FDC */ void getHangMoveAnmSpeed(); /* 800F9FFC */ void getHangDirectionFromAngle(); /* 800FA070 */ void hangMoveBgCheck(s16, cXyz*); /* 800FA338 */ void changeHangMoveProc(int); /* 800FA5C8 */ void checkHangFootWall(); /* 800FA6E4 */ void setHangGroundY(); /* 800FA78C */ void changeHangEndProc(); /* 800FA85C */ void checkHangStartSideWall(s16); /* 800FAA7C */ void procHangStartInit(); /* 800FAE14 */ void procHangStart(); /* 800FAECC */ void procHangFallStartInit(cM3dGPla*); /* 800FB1A4 */ void procHangFallStart(); /* 800FB2A0 */ void procHangUpInit(int); /* 800FB328 */ void procHangUp(); /* 800FB43C */ void procHangWaitInit(); /* 800FB544 */ void procHangWait(); /* 800FB650 */ void procHangMoveInit(int); /* 800FB790 */ void procHangMove(); /* 800FBBC8 */ void procHangClimbInit(f32); /* 800FBCD4 */ void procHangClimb(); /* 800FBE04 */ void procHangWallCatchInit(); /* 800FC0D8 */ void procHangWallCatch(); /* 800FC178 */ void procHangReadyInit(); /* 800FC240 */ void procHangReady(); /* 800FC2F4 */ void procHangLeverDownInit(); /* 800FC390 */ void procHangLeverDown(); /* 800FC5A4 */ void setDragonHangPos(); /* 800FC6B4 */ void setOctaIealHangPos(); /* 800FC748 */ void setBossBodyHangPos(); /* 800FC77C */ void procBossBodyHangInit(fopAc_ac_c*); /* 800FC870 */ void procBossBodyHang(); /* 800FCF58 */ void getLadderUnitCount() const; /* 800FCF84 */ void setLadderInit(); /* 800FD048 */ void setLadderPosInit(); /* 800FD1F0 */ void setLadderPos(int); /* 800FD288 */ void getLadderMoveAnmSpeed(); /* 800FD2AC */ void changeLadderMoveProc(int); /* 800FD4A8 */ void setMoveBGLadderCorrect(); /* 800FD5E4 */ void checkLadderFall(); /* 800FD648 */ void procLadderUpStartInit(); /* 800FD7B0 */ void procLadderUpStart(); /* 800FD824 */ void procLadderUpEndInit(int); /* 800FD8E8 */ void procLadderUpEnd(); /* 800FD9CC */ void procLadderDownStartInit(); /* 800FDB74 */ void procLadderDownStart(); /* 800FDC18 */ void procLadderDownEndInit(int); /* 800FDCCC */ void procLadderDownEnd(); /* 800FDD90 */ void procLadderMoveInit(int, int, cXyz*); /* 800FDF50 */ void procLadderMove(); /* 800FE010 */ void getClimbMoveUpDownAnmSpeed(); /* 800FE034 */ void getClimbMoveSideAnmSpeed(); /* 800FE058 */ void checkClimbCode(cBgS_PolyInfo&); /* 800FE114 */ void setClimbInit(); /* 800FE174 */ void setClimbShapeOffset(); /* 800FE3C4 */ void getClimbDirectionFromAngle(); /* 800FE438 */ void changeClimbMoveProc(int); /* 800FE5A0 */ void checkClimbMoveUpDownProc(int); /* 800FE6E8 */ void checkClimbMoveSideProc(int); /* 800FE868 */ void setMoveBGClimbCorrect(); /* 800FEB90 */ void checkBgCorrectClimbMove(cXyz*, cXyz*); /* 800FEC70 */ void checkClimbRoof(f32); /* 800FED50 */ void checkClimbGround(cXyz*, f32); /* 800FEEC0 */ void checkBgClimbMove(int); /* 800FF28C */ void setClimbStartNotGround(); /* 800FF450 */ void procClimbUpStartInit(int); /* 800FF704 */ void procClimbUpStart(); /* 800FF818 */ void procClimbDownStartInit(s16); /* 800FF9A8 */ void procClimbDownStart(); /* 800FFAB0 */ void procClimbMoveUpDownInit(int); /* 800FFC58 */ void procClimbMoveUpDown(); /* 800FFDB0 */ void procClimbMoveSideInit(); /* 800FFF4C */ void procClimbMoveSide(); /* 801000F8 */ void procClimbWaitInit(int, int); /* 80100258 */ void procClimbWait(); /* 801003E4 */ void procClimbToRoofInit(); /* 80100464 */ void procClimbToRoof(); /* 801005CC */ void getRoofHangFMoveAnmSpeed() const; /* 801005F0 */ void getRoofHangSMoveAnmSpeed() const; /* 80100614 */ void setRoofHangHandOnSE(cBgS_PolyInfo*); /* 80100668 */ void checkRoofHangMovePos(); /* 80100770 */ void commonRoofHangProc(); /* 801008EC */ void checkNextActionRoofHang(); /* 80100A10 */ void procRoofHangStartInit(cBgS_PolyInfo const&, cXyz const&, int); /* 80100AE4 */ void procRoofHangStart(); /* 80100BB4 */ void procRoofHangWaitInit(int); /* 80100D38 */ void procRoofHangWait(); /* 80100DA4 */ void procRoofHangFrontMoveInit(); /* 80100EEC */ void procRoofHangFrontMove(); /* 8010121C */ void procRoofHangSideMoveInit(); /* 80101308 */ void procRoofHangSideMove(); /* 801013B8 */ void procRoofHangTurnInit(); /* 80101534 */ void procRoofHangTurn(); /* 8010163C */ void setRoofHangSwitch(); /* 801016AC */ void procRoofSwitchHangInit(fopAc_ac_c*); /* 801017AC */ void procRoofSwitchHang(); /* 80101890 */ void checkZoraWearMaskDraw(); /* 801018E4 */ void checkAcceptUseItemInWater(u16) const; /* 80101934 */ void swimDeleteItem(); /* 801019B8 */ void getZoraSwim() const; /* 80101A18 */ void getSwimFrontMaxSpeed() const; /* 80101AA8 */ void getSwimMaxFallSpeed() const; /* 80101B44 */ void checkOxygenTimer(); /* 80101C94 */ void offOxygenTimer(); /* 80101CB8 */ void checkPossibleWaterInMode() const; /* 80101CF4 */ void setWaterInAnmRate(daPy_frameCtrl_c*, f32); /* 80101D70 */ void swimBgCheck(f32); /* 801023E4 */ void setSpeedAndAngleSwim(); /* 801029C8 */ void checkNextActionSwim(); /* 80102B1C */ void checkSwimAction(int); /* 80103058 */ void checkSwimUpAction(); /* 801032C8 */ void swimOutAfter(int); /* 80103398 */ void checkSwimFall(); /* 801033CC */ void checkSwimOutAction(); /* 80103698 */ void setSwimMoveAnime(); /* 80103EE0 */ void checkSwimButtonAccept(); /* 80103F08 */ void checkUpSwimButtonAccept(); /* 80103F24 */ void checkSwimButtonMove(); /* 80103F94 */ void checkZoraSwimMove(); /* 80103FE8 */ void checkSwimNeckUpDown() const; /* 80104034 */ void setSwimUpDownOffset(); /* 801040F8 */ void procSwimUpInit(); /* 801041E8 */ void procSwimUp(); /* 801042F8 */ void procSwimWaitInit(int); /* 801044B4 */ void procSwimWait(); /* 80104670 */ void procSwimMoveInit(); /* 801047B8 */ void procSwimMove(); /* 80104958 */ void procSwimDiveInit(); /* 80104AA0 */ void procSwimDive(); /* 80104C50 */ void procSwimHookshotSubjectInit(); /* 80104D7C */ void procSwimHookshotSubject(); /* 80104EB8 */ void procSwimHookshotMoveInit(); /* 80104FC4 */ void procSwimHookshotMove(); /* 8010519C */ void procSwimDamageInit(dCcD_GObjInf*); /* 80105728 */ void procSwimDamage(); /* 801058A0 */ void procOctaIealSpitInit(); /* 80105A00 */ void procOctaIealSpit(); /* 80105A98 */ void checkSnowCode() const; /* 80105ABC */ void checkSnowCodePolygon(cBgS_PolyInfo&); /* 80105B10 */ void checkBoardRestart(); /* 80105B58 */ void boardCommon(int); /* 80106534 */ void setCommonBoardAnime(int); /* 8010658C */ void checkNextActionBoard(); /* 80106618 */ void checkBoardSwordTriggerAction(); /* 80106650 */ void commonProcBoardInit(daAlink_c::daAlink_PROC); /* 801066B8 */ void getBoardRowAnmSpeed(); /* 801066EC */ void setBoardLandAnime(); /* 80106774 */ void procBoardRideInit(); /* 801069D0 */ void procBoardRide(); /* 80106A38 */ void procBoardWaitInit(fopAc_ac_c*); /* 80106BCC */ void procBoardWait(); /* 80106E88 */ void procBoardRowInit(); /* 80106F00 */ void procBoardRow(); /* 80107060 */ void procBoardTurnInit(); /* 801070DC */ void procBoardTurn(); /* 80107218 */ void procBoardJumpInit(f32, int); /* 80107300 */ void procBoardJump(); /* 801073D0 */ void procBoardSubjectivityInit(); /* 80107418 */ void procBoardSubjectivity(); /* 801074AC */ void procBoardCutInit(); /* 8010755C */ void procBoardCut(); /* 801075D4 */ void procBoardCutTurnInit(); /* 80107744 */ void procBoardCutTurn(); /* 801083C8 */ void hookshotAtHitCallBack(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); /* 801086DC */ void resetHookshotMode(); /* 8010871C */ void setEnemyBombHookshot(fopAc_ac_c*); /* 80108784 */ void checkLv7BossRoom(); /* 801087B0 */ void checkHookshotStickBG(cBgS_PolyInfo&); /* 80108828 */ void cancelHookshotCarry(); /* 80108864 */ void changeHookshotDrawModel(); /* 801088A0 */ void checkHookshotRoofLv7Boss(); /* 801088C8 */ void checkChaseHookshot(); /* 80108980 */ void checkOctaIealSpecialCollect(); /* 801089E8 */ void checkBossOctaIealRoom(); /* 80108A18 */ void checkHookshotWait() const; /* 80108A3C */ void setHookshotCatchNow(); /* 80108B34 */ void setHookshotModel(); /* 80108DB4 */ void setHookshotSight(); /* 80108EEC */ void cancelHookshotShot(); /* 80108F64 */ void cancelHookshotMove(); /* 8010903C */ void checkHookshotReadyMaterialOffMode() const; /* 80109070 */ void setHookshotReadyMaterial(); /* 801090EC */ void initHookshotUpperAnimeSpeed(int); /* 80109170 */ void initHookshotReady(); /* 801091E4 */ void setHookshotReadyAnime(); /* 80109284 */ void checkUpperItemActionHookshot(); /* 801095C8 */ void checkNextActionHookshot(); /* 801097A0 */ void setHookshotReturnEnd(); /* 80109890 */ void setHookshotHangMoveBGCollect(); /* 80109AAC */ void setHookshotTopPosFly(); /* 80109BDC */ void setHookshotPos(); /* 8010B2DC */ void setHookshotRoofWaitAnime(); /* 8010B35C */ void setHookshotWallWaitAnime(); /* 8010B3AC */ void hookshotRoofTurn(); /* 8010B644 */ void initHookshotRoofWaitActor(fopAc_ac_c*); /* 8010B720 */ void checkNextHookPoint(); /* 8010B84C */ void checkLandHookshotHang(); /* 8010B96C */ void commonHookshotRoofWait(); /* 8010BA6C */ void commonHookshotWallWait(); /* 8010BAA8 */ void procHookshotSubjectInit(); /* 8010BB48 */ void procHookshotSubject(); /* 8010BC08 */ void procHookshotMoveInit(); /* 8010BCA4 */ void procHookshotMove(); /* 8010BD90 */ void procHookshotFlyInit(); /* 8010BEF0 */ void procHookshotFly(); /* 8010C830 */ void procHookshotRoofWaitInit(int, fopAc_ac_c*, int); /* 8010C9F4 */ void procHookshotRoofWait(); /* 8010CC80 */ void procHookshotRoofShootInit(fopAc_ac_c*); /* 8010CD60 */ void procHookshotRoofShoot(); /* 8010CF6C */ void procHookshotRoofBootsInit(fopAc_ac_c*); /* 8010D034 */ void procHookshotRoofBoots(); /* 8010D174 */ void procHookshotWallWaitInit(int, s16, int); /* 8010D38C */ void procHookshotWallWait(); /* 8010D5F4 */ void procHookshotWallShootInit(); /* 8010D6CC */ void procHookshotWallShoot(); /* 8010D93C */ void getSpinnerGravity() const; /* 8010D94C */ void getSpinnerMaxFallSpeed() const; /* 8010D95C */ void getSpinnerJumpRate() const; /* 8010D96C */ void getSpinnerRideMoveTime(); /* 8010D9B0 */ void getSpinnerRideSpeedF(); /* 8010D9F4 */ void getSpinnerRideDecSpeedMax() const; /* 8010DA04 */ void getSpinnerRideDecSpeedMin() const; /* 8010DA14 */ void getSpinnerRideDecSpeedRate() const; /* 8010DA24 */ void getSpinnerRideRotAngleMax() const; /* 8010DA34 */ void getSpinnerRideRotAngleMin() const; /* 8010DAFC */ void checkLv4BossRoom(); /* 8010DBC8 */ void setSpinnerSyncPos(); /* 8010DC64 */ void procSpinnerReadyInit(); /* 8010DDCC */ void procSpinnerReady(); /* 8010DE64 */ void setSpinnerStatus(u8, u8); /* 8010DE78 */ void procSpinnerWaitInit(); /* 8010DF4C */ void procSpinnerWait(); /* 8010E48C */ void bottleModelCallBack(); /* 8010E584 */ void checkOilBottleItemNotGet(u16); /* 8010E5D8 */ void setBottleModel(u16); /* 8010EAC4 */ void commonBottleDrink(int); /* 8010F45C */ void makeFairy(cXyz*, u32); /* 8010F54C */ void procBottleDrinkInit(u16); /* 8010F698 */ void procBottleDrink(); /* 8010F6F4 */ void procBottleOpenInit(u16); /* 8010F8E4 */ void procBottleOpen(); /* 8010FC38 */ void procBottleSwingInit(fopAc_ac_c*, int); /* 8010FF58 */ void procBottleSwing(); /* 801102D0 */ void procBottleGetInit(int); /* 80110518 */ void procBottleGet(); /* 8011078C */ void checkWaterInKandelaarOffset(f32); /* 801107BC */ void checkWaterInKandelaar(f32); /* 80110840 */ void offKandelaarModel(); /* 801108EC */ void kandelaarModelCallBack(); /* 80110C6C */ void checkKandelaarEquipAnime() const; /* 80110C94 */ void preKandelaarDraw(); /* 80110E84 */ void setKandelaarModel(); /* 80110F88 */ void resetOilBottleModel(); /* 80110FE0 */ void commonKandelaarPourInit(); /* 801110B8 */ void commonKandelaarPour(int); /* 8011130C */ void initKandelaarSwing(); /* 80111440 */ void procKandelaarSwingInit(); /* 801115CC */ void procKandelaarSwing(); /* 8011167C */ void procKandelaarPourInit(); /* 80111724 */ void procKandelaarPour(); /* 80111784 */ void setGrassWhistleModel(int); /* 8011181C */ void setHorseWhistleModel(); /* 80111894 */ void procGrassWhistleGetInit(); /* 801119D8 */ void procGrassWhistleGet(); /* 80111A9C */ void procGrassWhistleWaitInit(int, int, int, s16, cXyz*); /* 80111CA4 */ void procGrassWhistleWait(); /* 80111FF0 */ void procCoHorseCallWaitInit(int); /* 801120C8 */ void procCoHorseCallWait(); /* 801121B4 */ void procHawkCatchInit(); /* 80112220 */ void procHawkCatch(); /* 80112278 */ void procHawkSubjectInit(); /* 80112304 */ void procHawkSubject(); /* 80112474 */ void checkIronBallThrowMode() const; /* 801124B4 */ void checkIronBallThrowReturnMode() const; /* 80112568 */ void setIronBallWaitUpperAnime(int); /* 80112628 */ void checkIronBallDelete(); /* 801126F8 */ void setIronBallReturn(int); /* 80112768 */ void setIronBallBgCheckPos(); /* 801127F0 */ void setIronBallModel(); /* 80112C84 */ void setIronBallGroundVec(cXyz const*, cXyz*); /* 80112E7C */ void setIronBallChainPos(); /* 80113CA0 */ void checkIronBallReturnChange(); /* 80113D58 */ void setIronBallPos(); /* 801150E4 */ void checkIronBallAnime() const; /* 8011510C */ void setIronBallReadyAnime(); /* 801151E0 */ void setIronBallBaseAnime(); /* 80115254 */ void checkUpperItemActionIronBall(); /* 801153F8 */ void checkNextActionIronBall(); /* 801154E4 */ void procIronBallSubjectInit(); /* 80115564 */ void procIronBallSubject(); /* 801155EC */ void procIronBallMoveInit(); /* 80115674 */ void procIronBallMove(); /* 8011577C */ void procIronBallThrowInit(); /* 80115860 */ void procIronBallThrow(); /* 801159F0 */ void procIronBallReturnInit(); /* 80115AA0 */ void procIronBallReturn(); /* 80115C20 */ void checkEventRun() const; /* 80115C50 */ void createNpcTks(cXyz*, int, u32); /* 80115EC0 */ void checkDemoAction(); /* 80116E60 */ void checkDemoMoveMode(u32) const; /* 80116E9C */ void setDemoMoveData(u32*, cXyz const*); /* 80117064 */ void setNoDrawSwordShield(int, u16); /* 801171F4 */ void setDemoData(); /* 80117B90 */ void resetDemoBck(); /* 80117C34 */ void endHighModel(); /* 80117C90 */ void resetSpecialEvent(); /* 80117CF8 */ void endDemoMode(); /* 801180EC */ void getDemoLookActor(); /* 80118170 */ void checkFlyAtnWait(); /* 801181A0 */ void setGetItemFace(u16); /* 801182D4 */ void checkGrabTalkActor(fopAc_ac_c*); /* 80118308 */ void setTalkStartBack(cXyz*); /* 8011856C */ void setShapeAngleToTalkActor(); /* 80118654 */ void setTalkAnime(); /* 801186D4 */ void setTradeItemAnime(); /* 80118778 */ void setTradeItemOutHand(); /* 801187B4 */ void checkEndMessage(u32); /* 80118840 */ void setDemoRightHandIndex(u16); /* 801188B0 */ void setDemoLeftHandIndex(u16); /* 8011894C */ void setDemoRide(u16); /* 801189F8 */ void setDemoBodyBck(dDemo_actor_c*, u16); /* 80118AD0 */ void checkFinalBattle(); /* 80118B34 */ void checkRestartDead(int, int); /* 80118BF4 */ void setDeadRideSyncPos(); /* 80118C98 */ void checkDeadHP(); /* 80118D7C */ void checkDeadAction(int); /* 80118FF8 */ void setHighModelBck(mDoExt_bckAnm*, u16); /* 801190A4 */ void setHighModelFaceBtk(u16); /* 80119134 */ void setDemoBrk(J3DAnmTevRegKey**, J3DModel*, u16); /* 801191C4 */ void setStickAnmData(J3DAnmBase*, int, int, u16, int); /* 801195C0 */ void procDemoCommon(); /* 801195F8 */ void procCoToolDemoInit(); /* 801196D8 */ void procCoToolDemo(); /* 80119D98 */ void procCoTalkInit(); /* 80119F64 */ void procCoTalk(); /* 8011A214 */ void procCoOpenTreasureInit(); /* 8011A42C */ void procCoOpenTreasure(); /* 8011A4C0 */ void procCoUnequipInit(); /* 8011A5CC */ void procCoUnequip(); /* 8011A688 */ void setGetSubBgm(int); /* 8011A798 */ void procCoGetItemInit(); /* 8011AC28 */ void procCoGetItem(); /* 8011B3F0 */ void procCoTurnBackInit(); /* 8011B46C */ void procCoTurnBack(); /* 8011B57C */ void procDoorOpenInit(); /* 8011B71C */ void procDoorOpen(); /* 8011B914 */ void procCoLookWaitInit(); /* 8011BA20 */ void procCoLookWait(); /* 8011BABC */ void procCoDemoPushPullWaitInit(); /* 8011BB40 */ void procCoDemoPushMoveInit(); /* 8011BC14 */ void setMonkeyMoveAnime(); /* 8011BC74 */ void procMonkeyMoveInit(); /* 8011BD18 */ void procMonkeyMove(); /* 8011BD6C */ void procDemoBoomerangCatchInit(); /* 8011BDF0 */ void procDemoBoomerangCatch(); /* 8011BE54 */ void procCoDeadInit(int); /* 8011C1B4 */ void procCoDead(); /* 8011C62C */ void procCoLookAroundInit(); /* 8011C760 */ void procCoLookAround(); /* 8011C81C */ void procBossAtnWaitInit(); /* 8011C890 */ void procCoQuakeWaitInit(); /* 8011C904 */ void procCoCaughtInit(); /* 8011C9D0 */ void procLookUpInit(); /* 8011CA4C */ void procLookUp(); /* 8011CA98 */ void procLookUpToGetItemInit(); /* 8011CB20 */ void procLookUpToGetItem(); /* 8011CBD4 */ void procHandPatInit(); /* 8011CCA8 */ void procHandPat(); /* 8011CDE0 */ void procCoFogDeadInit(); /* 8011CF60 */ void procCoFogDead(); /* 8011D0A0 */ void procWolfSmellWaitInit(); /* 8011D110 */ void procCoNodInit(); /* 8011D1F4 */ void procCoNod(); /* 8011D268 */ void procCoEyeAwayInit(); /* 8011D304 */ void procCoGlareInit(); /* 8011D3CC */ void procCoGlare(); /* 8011D474 */ void procGoatStopReadyInit(); /* 8011D4D4 */ void procGoatStopReady(); /* 8011D544 */ void procCoGetReadySitInit(); /* 8011D64C */ void procCoGetReadySit(); /* 8011D6D0 */ void procCoTwGateInit(); /* 8011D7D4 */ void procCoTwGate(); /* 8011D82C */ void procWolfSnowEscapeInit(); /* 8011D8F8 */ void procWolfSnowEscape(); /* 8011DB04 */ void procZoraMoveInit(); /* 8011DB9C */ void procZoraMove(); /* 8011DDD4 */ void procLookAroundTurnInit(); /* 8011DED8 */ void procLookAroundTurn(); /* 8011DF68 */ void procTradeItemOutInit(); /* 8011E060 */ void procTradeItemOut(); /* 8011E3D8 */ void checkLetterItem(int); /* 8011E448 */ void procNotUseItemInit(int); /* 8011E57C */ void procNotUseItem(); /* 8011E6E0 */ void procSwordReadyInit(); /* 8011E748 */ void procSwordReady(); /* 8011E83C */ void setSwordPushAnime(); /* 8011E8E0 */ void procSwordPushInit(); /* 8011E960 */ void procSwordPush(); /* 8011E9F8 */ void procGanonFinishInit(); /* 8011EA78 */ bool procGanonFinish(); /* 8011EAE8 */ void procCutFastReadyInit(); /* 8011EB8C */ void procCutFastReady(); /* 8011EBDC */ void procMasterSwordStickInit(); /* 8011EC60 */ void procMasterSwordStick(); /* 8011ED18 */ bool procMasterSwordPullInit(); /* 8011ED8C */ void procMasterSwordPull(); /* 8011EE40 */ void checkLv7DungeonShop(); /* 8011EE94 */ void procDungeonWarpReadyInit(); /* 8011EFB8 */ void procDungeonWarpReady(); /* 8011F084 */ void procDungeonWarpInit(); /* 8011F0F4 */ void procDungeonWarp(); /* 8011F360 */ void procDungeonWarpSceneStartInit(); /* 8011F460 */ void procDungeonWarpSceneStart(); /* 8011F658 */ void checkAcceptWarp(); /* 8011F7D8 */ void dungeonReturnWarp(); /* 8011F9EC */ void checkWarpStart(); /* 8011FBC0 */ void warpModelTexScroll(); /* 8011FD4C */ void procCoWarpInit(int, int); /* 80120124 */ void procCoWarp(); /* 80120440 */ void commonWaitTurnInit(); /* 80120474 */ void commonGrabPutInit(); /* 80120500 */ void commonLargeDamageUpInit(int, int, s16, s16); /* 80120534 */ void commonFallInit(int); /* 80120580 */ void setEmitter(u32*, u16, cXyz const*, csXyz const*); /* 80120634 */ void setEmitterPolyColor(u32*, u16, cBgS_PolyInfo&, cXyz const*, csXyz const*); /* 801206C4 */ void setEmitterColor(u32*, u16, cXyz const*, csXyz const*); /* 80120778 */ void stopDrawParticle(u32); /* 801207BC */ void setEffectFrontRollParam(); /* 80120880 */ void setEffectSlipParam(); /* 80120B00 */ void setEffectRunParam(); /* 80120DB0 */ void setEffectSmallLandParam(); /* 80121000 */ void setEffectLandParam(); /* 80121004 */ void setEffectSumouParam(); /* 801211C0 */ void setFootEffectProcType(int); /* 80121214 */ void setWolfFootOn(int); /* 80121304 */ void setFootMark(cXyz*, u16, int); /* 80121388 */ void setEffect(); /* 801221F0 */ void setSumouEffect(); /* 801225E8 */ void setWaterfallEffect(cXyz const*, u32*); /* 80122654 */ void setWaterfallEffect(); /* 8012277C */ void setMagneBootsEffect(); /* 801228F4 */ void setSwordChargeEffect(); /* 80122BBC */ void setElecDamageEffect(); /* 80122F18 */ void clearCutTurnEffectID(); /* 80122F78 */ void setCutTurnEffect(); /* 801233A4 */ void setHorseCutTurnEffect(); /* 80123434 */ void setCutLargeJumpLandEffect(); /* 801236BC */ void setBootsLightEffect(); /* 801237A8 */ void setLightningSwordEffect(); /* 801238FC */ void setWolfRollAttackEffect(); /* 801239B0 */ void setWolfDigEffect(); /* 80123BF0 */ void setWolfSwimEndEffect(JPABaseEmitter**, JPABaseEmitter**); /* 80123C8C */ void setWolfLockAttackEffect(); /* 80123D88 */ void setWolfJumpAttackEffect(); /* 80123ED0 */ void setWolfBarrierHitEffect(dBgS_LinChk&); /* 80124144 */ void setCutWaterDropEffect(); /* 801241E0 */ void setWaterDropEffect(); /* 801244E4 */ void setSwordUpColorEffect(); /* 801245EC */ void setSwordCutSplash(); /* 80124738 */ void setMetamorphoseEffectStartLink(); /* 801247A8 */ void setMetamorphoseEffect(); /* 801248A8 */ void setRunSplash(); /* 80124B68 */ void resetFairyEffect(); /* 80124BA4 */ void setBottleEffect(); /* 80124E28 */ void clearFirePointDamageEffect(int); /* 80124EA8 */ void initFirePointDamageEffectAll(); /* 80124FA4 */ void initFirePointDamageEffect(cXyz const*, dCcD_GObjInf*); /* 80125128 */ void setFirePointDamageEffect(); /* 80125338 */ void setFreezeEffect(); /* 80125524 */ void setWoodShieldBurnEffect(); /* 801255BC */ void clearWoodShieldBurnEffect(); /* 80125628 */ void setWoodShieldBurnOutEffect(); /* 80126740 */ void changeCommon(); /* 80126928 */ void changeWolf(); /* 80126F3C */ void changeLink(int); /* 80127C54 */ void onWolfEyeUp(); /* 80127CAC */ void offWolfEyeUp(); /* 80127CF0 */ void wolfSenseTrigger(); /* 80127D14 */ void setWolfSenceStatus(u8); /* 80127D2C */ void wolfClawTrigger(); /* 80127D50 */ void setWolfDigStatus(u8); /* 80127D68 */ BOOL checkWolfShapeReverse() const; /* 80127DC4 */ void checkWolfSideStep() const; /* 80127E08 */ void setWolfTailAngle(); /* 80127F20 */ void checkWolfSlowDash(); /* 80127F50 */ void setSpeedAndAngleWolf(); /* 80128478 */ void setSpeedAndAngleWolfAtn(); /* 80128798 */ void checkWolfAtnWait(); /* 8012880C */ void checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM) const; /* 80128844 */ void setBlendWolfMoveAnime(f32); /* 80128F0C */ void checkWolfAtnMoveBack(s16); /* 80128F5C */ void setWolfAtnMoveDirection(); /* 80129114 */ void setBlendWolfAtnMoveAnime(f32); /* 8012933C */ void setBlendWolfAtnBackMoveAnime(f32); /* 8012948C */ void setDoubleAnimeWolf(f32, f32, f32, daAlink_c::daAlink_WANM, 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); /* 80129704 */ void setSingleAnimeWolf(daAlink_c::daAlink_WANM, f32, f32, s16, f32); /* 80129848 */ void setSingleAnimeWolfParam(daAlink_c::daAlink_WANM, daAlinkHIO_anm_c const*); /* 8012987C */ void checkWolfLandAction(int); /* 80129958 */ void checkMidnaUseAbility() const; /* 801299A8 */ void checkWolfUseAbility(); /* 80129A80 */ void checkWolfGroundSpecialMode(); /* 80129B44 */ void checkNextActionWolf(int); /* 8012A02C */ void wolfSideBgCheck(s16); /* 8012A228 */ void checkWolfAttackReverse(int); /* 8012A330 */ void checkWolfBarrierHitReverse(); /* 8012A41C */ void checkWolfBarrierWallHit(cBgS_PolyInfo&); /* 8012A498 */ void wolfBgCheck(); /* 8012ACCC */ void changeWolfBlendRate(int); /* 8012AD1C */ void setWolfFootMatrix(); /* 8012B724 */ void wolfFootBgCheck(); /* 8012BFA8 */ void checkWolfWaitSlipPolygon(); /* 8012C1F4 */ void setWolfWaitSlip(); /* 8012C308 */ void checkWolfAtnDoCharge(); /* 8012C30C */ void setWolfChainPos(); /* 8012CB0C */ void setWolfAnmVoice(); /* 8012CBE4 */ void procWolfServiceWaitInit(int); /* 8012CD28 */ void procWolfServiceWait(); /* 8012CF68 */ void procWolfTiredWaitInit(); /* 8012CFEC */ void procWolfTiredWait(); /* 8012D050 */ void procWolfMidnaRideShockInit(); /* 8012D104 */ void procWolfMidnaRideShock(); /* 8012D1A8 */ void procWolfWaitInit(); /* 8012D2A8 */ void procWolfWait(); /* 8012D380 */ void procWolfMoveInit(); /* 8012D3E4 */ void procWolfMove(); /* 8012D474 */ void procWolfDashInit(); /* 8012D590 */ void procWolfDash(); /* 8012D8C0 */ void procWolfDashReverseInit(int); /* 8012DA5C */ void procWolfDashReverse(); /* 8012DBA8 */ void procWolfAtnActorMoveInit(); /* 8012DC44 */ void procWolfAtnActorMove(); /* 8012DD08 */ void procWolfWaitTurnInit(); /* 8012DDB4 */ void procWolfWaitTurn(); /* 8012DEC8 */ void procWolfSideStepInit(int); /* 8012E0AC */ void procWolfSideStep(); /* 8012E1E8 */ void procWolfSideStepLandInit(s16); /* 8012E2DC */ void procWolfSideStepLand(); /* 8012E398 */ void procWolfBackJumpInit(int); /* 8012E508 */ void procWolfBackJump(); /* 8012E5F4 */ void procWolfBackJumpLandInit(s16, s16); /* 8012E684 */ void procWolfBackJumpLand(); /* 8012E754 */ void procWolfHowlInit(int); /* 8012E83C */ void procWolfHowl(); /* 8012E9C8 */ void procWolfAutoJumpInit(int); /* 8012EB94 */ void procWolfAutoJump(); /* 8012EDD0 */ void procWolfFallInit(int, f32); /* 8012EFB8 */ void procWolfFall(); /* 8012F138 */ void procWolfLandInit(); /* 8012F1F0 */ void procWolfLand(); /* 8012F278 */ void procWolfSitInit(int); /* 8012F358 */ void procWolfSit(); /* 8012F41C */ void procWolfStepMoveInit(); /* 8012F500 */ void procWolfStepMove(); /* 8012F634 */ void procWolfSlipInit(); /* 8012F6EC */ void procWolfSlip(); /* 8012F840 */ void procWolfSlipTurnInit(int); /* 8012F9C0 */ void procWolfSlipTurn(); /* 8012FB18 */ void procWolfSlipTurnLandInit(); /* 8012FBB4 */ void procWolfSlipTurnLand(); /* 8012FC38 */ void procWolfSlideReadyInit(s16, int); /* 8012FD2C */ void procWolfSlideReady(); /* 8012FE80 */ void procWolfSlideInit(s16, int); /* 8012FFA4 */ void procWolfSlide(); /* 801300D4 */ void procWolfSlideLandInit(); /* 80130138 */ void procWolfSlideLand(); /* 801301E4 */ void procWolfWaitSlipInit(); /* 80130268 */ void procWolfWaitSlip(); /* 80130440 */ void procWolfSlopeStartInit(int); /* 801304D4 */ void procWolfSlopeStart(); /* 80130654 */ void setWolfHowlNotHappen(int); /* 80130700 */ void procWolfHowlDemoInit(); /* 80130BC4 */ void procWolfHowlDemo(); /* 80131450 */ void checkWolfRopeHit(dCcD_GObjInf*, cXyz const*, int) const; /* 80131628 */ void checkWolfRopeJumpHang(); /* 801316A4 */ void getWolfRopeMoveSpeed(); /* 80131718 */ void setWolfRopePosY(); /* 801319F0 */ void initWolfRopeShapeAngle(); /* 80131A6C */ void wolfRopeSwingInc(f32); /* 80131AFC */ void setWolfRopeOffsetY(int); /* 80131C00 */ void getDirectionRopeMove() const; /* 80131C74 */ void procWolfRopeMoveInit(int, int); /* 80131DA0 */ void procWolfRopeMove(); /* 80132738 */ void procWolfRopeHangInit(int); /* 80132914 */ void procWolfRopeHang(); /* 80132D68 */ void procWolfRopeTurnInit(); /* 80132E88 */ void procWolfRopeTurn(); /* 80133054 */ void procWolfRopeStaggerInit(int); /* 80133164 */ void procWolfRopeStagger(); /* 8013384C */ void procWolfRopeSubjectivityInit(); /* 80133930 */ void procWolfRopeSubjectivity(); /* 80133D6C */ void getWolfTagJumpTime() const; /* 80133EF0 */ void checkMidnaLockJumpPoint() const; /* 80134000 */ void procWolfTagJumpInit(fopAc_ac_c*); /* 80134838 */ void procWolfTagJump(); /* 80134DB8 */ void procWolfTagJumpLandInit(fopAc_ac_c*); /* 80134EBC */ void procWolfTagJumpLand(); /* 80135160 */ void procWolfGiantPuzzleInit(); /* 801351F8 */ void procWolfGiantPuzzle(); /* 80135458 */ void setWolfHangGroundY(); /* 801354C8 */ void changeWolfHangEndProc(); /* 801355EC */ void procWolfHangReadyInit(); /* 80135668 */ void procWolfHangReady(); /* 801356F0 */ void procWolfHangWallCatchInit(int); /* 80135AF4 */ void procWolfHangWallCatch(); /* 80135CD8 */ void procWolfHangFallStartInit(cM3dGPla*); /* 80135F00 */ void procWolfHangFallStart(); /* 80136064 */ void setWolfHeadDamage(); /* 801360EC */ void procWolfDamageInit(dCcD_GObjInf*); /* 80136508 */ void procWolfDamage(); /* 80136624 */ void procWolfLargeDamageUpInit(int, int, s16, s16); /* 801369E4 */ void procWolfLargeDamageUp(); /* 80136C18 */ void procWolfLandDamageInit(int); /* 80136DE4 */ void procWolfLandDamage(); /* 80136EC4 */ void setWolfScreamWaitAnime(); /* 80136F54 */ void procWolfScreamWaitInit(); /* 80136FF8 */ void procWolfScreamWait(); /* 801370E4 */ void getWolfLieMoveAnmSpeed(); /* 8013712C */ void getWolfLieMoveSpeed(); /* 801371A0 */ void checkMidnaDisappearMode() const; /* 801371FC */ void checkWolfLieContinue(int); /* 801372B4 */ void checkNextActionWolfFromLie(); /* 80137330 */ void setWolfLieMoveVoice(int); /* 801373F8 */ void checkWolfLieCode(); /* 80137420 */ void procWolfLieStartInit(int); /* 8013753C */ void procWolfLieStart(); /* 80137634 */ void procWolfLieMoveInit(int); /* 801377F0 */ void procWolfLieMove(); /* 80137C90 */ void procWolfLieAutoMoveInit(int, cXyz*); /* 80137D4C */ void procWolfLieAutoMove(); /* 80138000 */ void setSpeedAndAngleSwimWolf(); /* 80138188 */ void getWolfSwimMoveAnmSpeed(); /* 801381F8 */ void decideDoStatusSwimWolf(); /* 801383D8 */ void procWolfSwimUpInit(); /* 80138484 */ void procWolfSwimUp(); /* 8013852C */ void procWolfSwimWaitInit(int); /* 80138644 */ void procWolfSwimWait(); /* 8013871C */ void procWolfSwimMoveInit(); /* 801387A0 */ void procWolfSwimMove(); /* 8013890C */ void procWolfSwimEndWaitInit(int); /* 80138A18 */ void procWolfSwimEndWait(); /* 80138C04 */ void resetWolfEnemyBiteAll(); /* 80138C44 */ void checkWolfEnemyThrowAction(); /* 80138CB8 */ void setWolfLockDomeModel(); /* 80138DC0 */ void setWolfBallModel(); /* 80138F18 */ void resetWolfBallGrab(); /* 80139048 */ void checkWolfLockData(); /* 801391DC */ void getWolfLockActorEnd(); /* 801391E4 */ void searchWolfLockEnemy(fopAc_ac_c*, void*); /* 801392E4 */ void checkWolfComboCnt(); /* 801393A4 */ void checkWolfAttackAction(); /* 801395B4 */ void setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM, f32); /* 80139600 */ void setWolfEnemyHangBitePos(fopEn_enemy_c*); /* 801396F8 */ void setWolfBiteDamage(fopEn_enemy_c*); /* 801397A4 */ void checkWolfLockAttackChargeState(); /* 801398A8 */ void procWolfRollAttackChargeInit(); /* 80139908 */ void procWolfRollAttackCharge(); /* 801399C4 */ void procWolfRollAttackMoveInit(); /* 80139A70 */ void procWolfRollAttackMove(); /* 80139DE0 */ void procWolfJumpAttackInit(int); /* 8013A4F8 */ void procWolfJumpAttack(); /* 8013A7EC */ void procWolfJumpAttackKickInit(); /* 8013A8A0 */ void procWolfJumpAttackKick(); /* 8013A8FC */ void procWolfJumpAttackSlideLandInit(int, int, int); /* 8013AAC4 */ void procWolfJumpAttackSlideLand(); /* 8013AC44 */ void procWolfJumpAttackNormalLandInit(int); /* 8013ACF4 */ void procWolfJumpAttackNormalLand(); /* 8013ADF0 */ void procWolfWaitAttackInit(int); /* 8013AFC0 */ void procWolfWaitAttack(); /* 8013B2A0 */ void procWolfRollAttackInit(int, int); /* 8013B424 */ void procWolfRollAttack(); /* 8013B528 */ void procWolfDownAttackInit(); /* 8013B808 */ void procWolfDownAttack(); /* 8013B964 */ void procWolfDownAtLandInit(fopEn_enemy_c*); /* 8013BA44 */ void procWolfDownAtLand(); /* 8013BC94 */ void procWolfDownAtMissLandInit(); /* 8013BD54 */ void procWolfDownAtMissLand(); /* 8013BE24 */ void procWolfLockAttackInit(int); /* 8013C3E4 */ void procWolfLockAttack(); /* 8013C630 */ void procWolfLockAttackTurnInit(int); /* 8013C7A4 */ void procWolfLockAttackTurn(); /* 8013C8C8 */ void procWolfAttackReverseInit(); /* 8013C9EC */ void procWolfAttackReverse(); /* 8013CB48 */ void procWolfEnemyThrowInit(int); /* 8013CC5C */ void procWolfEnemyThrow(); /* 8013CCF4 */ void procWolfEnemyHangBiteInit(); /* 8013CDEC */ void procWolfEnemyHangBite(); /* 8013D0D4 */ void procWolfGrabUpInit(); /* 8013D3FC */ void procWolfGrabUp(); /* 8013D588 */ void procWolfGrabPutInit(); /* 8013D65C */ void procWolfGrabPut(); /* 8013D818 */ void procWolfGrabThrowInit(); /* 8013D86C */ void procWolfGrabThrow(); /* 8013D930 */ void procWolfPushInit(); /* 8013DA8C */ void procWolfPush(); /* 8013DB6C */ void procWolfCargoCarryInit(); /* 8013DC5C */ void procWolfCargoCarry(); /* 8013DDF8 */ void procWolfChainUpInit(); /* 8013DE70 */ void procWolfChainUp(); /* 8013DF30 */ void procWolfGanonCatchInit(); /* 8013E034 */ void procWolfGanonCatch(); /* 8013E240 */ void procWolfChainReadyInit(); /* 8013E2A8 */ void procWolfChainReady(); /* 8013E6C0 */ void procWolfChainWaitInit(); /* 8013E80C */ void procWolfChainWait(); /* 8013ED44 */ void procWolfDigInit(); /* 8013F1F0 */ void procWolfDig(); /* 8013F4A8 */ void procWolfDigThroughInit(int); /* 8013F7C4 */ void procWolfDigThrough(); /* 8013F90C */ void setSmellSave(); /* 8013FA14 */ void procWolfGetSmellInit(); /* 8013FC24 */ void procWolfGetSmell(); /* 8013FF28 */ void setArcName(int); /* 8013FF90 */ void setShieldArcName(); /* 8013FFD8 */ void setOriginalHeap(JKRExpHeap**, u32); /* 80140064 */ void setShieldChange(); /* 80140070 */ void loadModelDVD(); /* 801401F8 */ void setShieldModel(); /* 80140274 */ void loadShieldModelDVD(); /* 80140338 */ void changeModelDataDirect(int); /* 80140550 */ void changeModelDataDirectWolf(int); /* 801406A8 */ void initStatusWindow(); /* 80140888 */ void statusWindowExecute(cXyz const*, s16); /* 80140984 */ void statusWindowDraw(); /* 80140AC8 */ void resetStatusWindow(); virtual bool getMidnaAtnPos(void) const; virtual void setMidnaMsgNum(fopAc_ac_c*, u16); virtual Mtx* getModelMtx(void); virtual Mtx* getInvMtx(void); virtual cXyz* getShadowTalkAtnPos(void); virtual float getGroundY(); virtual Mtx* getLeftItemMatrix(void); virtual Mtx* getRightItemMatrix(void); virtual Mtx* getLeftHandMatrix(void); virtual Mtx* getRightHandMatrix(void); virtual Mtx* getLinkBackBone1Matrix(void); virtual Mtx* getWolfMouthMatrix(void); virtual Mtx* getWolfBackbone2Matrix(void); virtual bool getBottleMtx(void); virtual bool checkPlayerGuard(void) const; virtual u32 checkPlayerFly() const; virtual BOOL checkFrontRoll() const; virtual bool checkWolfDash() const; virtual bool checkAutoJump(void) const; virtual bool checkSideStep(void) const; virtual bool checkWolfTriggerJump(void) const; virtual bool checkGuardBreakMode(void) const; virtual bool checkLv3Slide(void) const; virtual bool checkWolfHowlDemoMode(void) const; virtual bool checkChainBlockPushPull(void); virtual bool checkElecDamage(void) const; virtual bool checkEmptyBottleSwing(void) const; virtual bool checkBottleSwingMode(void) const; virtual bool checkHawkWait(void) const; virtual bool checkGoatThrow(void) const; virtual bool checkGoatThrowAfter(void) const; virtual bool checkWolfTagLockJump(void) const; virtual bool checkWolfTagLockJumpLand(void) const; virtual bool checkWolfRope(void); virtual bool checkWolfRopeHang(void) const; virtual bool checkRollJump(void) const; virtual bool checkGoronRideWait(void) const; virtual bool checkWolfChain(void) const; virtual bool checkWolfWait(void) const; virtual bool checkWolfJumpAttack(void) const; virtual bool checkWolfRSit(void) const; virtual bool checkBottleDrinkEnd(void) const; virtual bool checkWolfDig(void) const; virtual bool checkCutCharge(void) const; virtual BOOL checkCutTurnCharge(void) const; virtual bool checkCutLargeJumpCharge(void) const; virtual bool checkComboCutTurn(void) const; virtual bool checkClimbMove(void) const; virtual bool checkGrassWhistle(void) const; virtual bool checkBoarRun(void) const; virtual float getBaseAnimeFrameRate(void) const; virtual float getBaseAnimeFrame(void) const; virtual void setAnimeFrame(float); virtual bool checkWolfLock(fopAc_ac_c*) const; virtual bool cancelWolfLock(fopAc_ac_c*); virtual s32 getAtnActorID(void) const; virtual s32 getItemID(void) const; virtual s32 getGrabActorID(void) const; virtual bool exchangeGrabActor(fopAc_ac_c*); virtual bool setForceGrab(fopAc_ac_c*, int, int); virtual void setForcePutPos(cXyz const&); virtual bool checkPlayerNoDraw(void); virtual void voiceStart(u32); virtual void seStartOnlyReverb(u32); virtual void seStartOnlyReverbLevel(u32); virtual void setOutPower(float, short, int); virtual void setGrabCollisionOffset(float, float, cBgS_PolyInfo*); virtual void onFrollCrashFlg(u8, int); virtual MtxP getModelJointMtx(u16); virtual bool getHeadMtx(void); virtual bool setHookshotCarryOffset(unsigned int, cXyz const*); virtual bool checkIronBallReturn(void) const; virtual bool checkIronBallGroundStop(void) const; virtual bool checkSingleBoarBattleSecondBowReady(void) const; virtual void setClothesChange(int); virtual void setPlayerPosAndAngle(float (*)[4]); virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*); virtual void setPlayerPosAndAngle(cXyz const*, short, int); virtual bool setThrowDamage(short, float, float, int, int, int); virtual bool checkSetNpcTks(cXyz*, int, int); virtual bool setRollJump(float, float, short); virtual void playerStartCollisionSE(u32, u32); virtual void cancelDungeonWarpReadyNeck(void); 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; virtual u32 checkBoarRide() const; virtual u32 checkCanoeRide() const; virtual u32 checkBoardRide() const; virtual u32 checkSpinnerRide() const; virtual fopAc_ac_c* getSpinnerActor(void); virtual bool checkHorseRideNotReady(void) const; virtual bool checkArrowChargeEnd(void) const; virtual void getSearchBallScale(void) const; virtual bool checkFastShotTime(void); virtual bool checkNoEquipItem(void) const; virtual bool checkKandelaarSwing(int) const; virtual bool getBoardCutTurnOffsetAngleY(void) const; virtual cXyz* getMagneBootsTopVec(void); virtual bool getKandelaarFlamePos(); virtual bool checkUseKandelaar(int); virtual void setDkCaught(fopAc_ac_c*); virtual void onPressedDamage(cXyz const&, short); virtual bool checkPriActorOwn(fopAc_ac_c const*) const; virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2); virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const; virtual void setWolfEnemyHangBiteAngle(short); virtual void setKandelaarMtx(float (*)[4], int, int); virtual bool getStickAngleFromPlayerShape(short*) const; virtual bool checkSpinnerPathMove(void); virtual bool checkSpinnerTriggerAttack(void); virtual void onSpinnerPathForceRemove(void); virtual bool getIronBallBgHit(void) const; virtual bool getIronBallCenterPos(void); virtual bool checkCanoeFishingGetLeft(void) const; virtual bool checkCanoeFishingGetRight(void) const; virtual bool checkBeeChildDrink(void) const; virtual void skipPortalObjWarp(void); virtual bool checkTreasureRupeeReturn(int) const; virtual void setSumouReady(fopAc_ac_c*); virtual void checkAcceptDungeonWarpAlink(int); virtual s16 getSumouCounter(void) const; virtual s16 checkSumouWithstand(void) const; virtual void cancelGoronThrowEvent(void); virtual void setSumouGraspCancelCount(int); virtual void setSumouPushBackDirection(short); virtual void setSumouLoseHeadUp(void); virtual s16 getGiantPuzzleAimAngle(void) const; virtual void setGoronSideMove(fopAc_ac_c*); virtual void setCargoCarry(fopAc_ac_c*); virtual bool getHookshotTopPos(void); virtual bool checkHookshotReturnMode(void) const; virtual bool checkHookshotShootReturnMode(void) const; virtual bool checkOctaIealHang(void) const; virtual void cancelOctaIealHang(void); virtual void cancelDragonHangBackJump(void); virtual void setOctaIealWildHang(void); virtual bool checkDragonHangRide(void) const; virtual void changeDragonActor(fopAc_ac_c*); virtual u8 getClothesChangeWaitTimer(void) const; virtual u8 getShieldChangeWaitTimer(void) const; virtual bool getSwordChangeWaitTimer(void) const; virtual bool checkMetamorphose(void) const; virtual bool checkWolfDownAttackPullOut(void) const; virtual BOOL checkBootsOrArmorHeavy(void) const; virtual s32 getBottleOpenAppearItem(void) const; virtual bool checkItemSwordEquip(void) const; virtual float getSinkShapeOffset(void) const; virtual bool checkSinkDead(void) const; virtual bool checkHorseStart(void); virtual bool getWolfHowlMgrP(void); virtual bool checkWolfHowlSuccessAnime(void) const; virtual bool checkCopyRodTopUse(void); virtual bool checkCopyRodEquip(void) const; virtual bool checkCutJumpMode(void) const; // inlined version of checkModeFlg u32 i_checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; } bool checkUpperAnime(u16 pIdx) const { return mUpperAnime[UPPER_NOW].getIdx() == pIdx; } bool checkIronBallWaitAnime() const { return checkUpperAnime(0x19C); } s16 checkWolfEyeUp() const { return mWolfEyeUp; } static u8 const m_mainBckShield[80]; static u8 const m_mainBckSword[20]; static u8 const m_mainBckFishing[112]; static u8 const m_anmDataTable[4968]; static void* const m_wlAnmDataTable[294]; static u8 const m_faceTexDataTable[652]; static u8 const m_handLeftOutSidePos[12]; static u8 const m_handRightOutSidePos[12]; static u8 const m_handLeftInSidePos[12]; static u8 const m_handRightInSidePos[12]; static u8 m_procInitTable[5632]; static u8 m_demoInitTable[1140]; static u8 m_fEffParamProc[72]; private: /* 0x0062C */ void* field_0x062C; /* 0x00630 */ void* field_0x0630; /* 0x00634 */ void* field_0x0634; /* 0x00638 */ JKRExpHeap** field_0x0638; /* 0x0063C */ void* field_0x063C; /* 0x00640 */ void* field_0x0640; /* 0x00644 */ void* field_0x0644; /* 0x00648 */ JKRExpHeap** field_0x0648; /* 0x0064C */ J3DModelData* field_0x064C; /* 0x00650 */ J3DModel* field_0x0650; /* 0x00654 */ J3DModel* field_0x0654; /* 0x00658 */ J3DModel* field_0x0658; /* 0x0065C */ J3DModel* field_0x065c; /* 0x00660 */ J3DModel* field_0x0660; /* 0x00664 */ J3DModel* field_0x0664; /* 0x00668 */ J3DModel* field_0x0668; /* 0x0066C */ J3DModel* field_0x066c; /* 0x00670 */ J3DModel* field_0x0670; /* 0x00674 */ J3DModel* field_0x0674; /* 0x00678 */ J3DModel* field_0x0678; /* 0x0067C */ J3DAnmBase* field_0x067c; /* 0x00680 */ J3DAnmBase* field_0x0680; /* 0x00684 */ J3DModel* field_0x0684; /* 0x00688 */ J3DModel* field_0x0688; /* 0x0068C */ J3DAnmBase* field_0x068c; /* 0x00690 */ mDoExt_baseAnm** field_0x0690; /* 0x00694 */ void* field_0x0694; // J3DDeformData /* 0x00698 */ void* field_0x0698; /* 0x0069C */ void* field_0x069c; /* 0x006A0 */ J3DModel* field_0x06a0; /* 0x006A4 */ mDoExt_bckAnm* field_0x06a4; /* 0x006A8 */ J3DModel* field_0x06a8; /* 0x006AC */ mDoExt_bckAnm* field_0x06ac; /* 0x006B0 */ mDoExt_bckAnm* field_0x06b0; /* 0x006B4 */ J3DAnmTransform* field_0x06b4; /* 0x006B8 */ J3DModel* field_0x06b8; /* 0x006BC */ J3DModel* field_0x06bc; /* 0x006C0 */ J3DModelData* field_0x06c0; /* 0x006C4 */ J3DAnmBase* field_0x06c4; /* 0x006C8 */ J3DAnmBase* field_0x06c8; /* 0x006CC */ J3DAnmBase* field_0x06cc; /* 0x006D0 */ void* field_0x06d0; /* 0x006D4 */ void* field_0x06d4; /* 0x006D8 */ void* field_0x06d8; /* 0x006DC */ void* field_0x06dc; /* 0x006E0 */ void* field_0x06e0; /* 0x006E4 */ void* field_0x06e4; /* 0x006E8 */ void* field_0x06e8; /* 0x006EC */ void* field_0x06ec; /* 0x006F0 */ void* field_0x06f0; /* 0x006F4 */ J3DAnmBase* field_0x06f4; /* 0x006F8 */ J3DAnmBase* field_0x06f8; /* 0x006FC */ J3DModel* field_0x06fc; /* 0x00700 */ J3DModel* field_0x0700; /* 0x00704 */ J3DAnmBase* field_0x0704; /* 0x00708 */ J3DModel* field_0x0708; /* 0x0070C */ J3DModel* field_0x070c; /* 0x00710 */ J3DModel* field_0x0710; /* 0x00714 */ J3DModel* field_0x0714; /* 0x00718 */ J3DAnmBase* field_0x0718; /* 0x0071C */ J3DAnmBase* field_0x071c; /* 0x00720 */ J3DAnmBase* field_0x0720; /* 0x00724 */ J3DAnmBase* field_0x0724; /* 0x00728 */ J3DAnmBase* field_0x0728; /* 0x0072C */ J3DAnmBase* field_0x072c; /* 0x00730 */ mDoExt_bckAnm field_0x730; /* 0x0074C */ mDoExt_bckAnm field_0x74C; /* 0x00768 */ u8 field_0x0768[0x5C]; /* 0x007C4 */ daPy_actorKeep_c field_0x07C4[10]; /* 0x00814 */ dCcD_Stts field_0x814; /* 0x00850 */ dCcD_Cyl field_0x850[3]; /* 0x00C04 */ dCcD_Cyl field_0xC04[3]; /* 0x00FB8 */ dCcD_Sph field_0xFB8; /* 0x010F0 */ dCcD_Cyl field_0x10F0; /* 0x0122C */ dCcD_Cps field_0x122C[3]; /* 0x015F8 */ dCcD_Cps field_0x15F8; /* 0x0173C */ dCcD_Stts field_0x173c; /* 0x01778 */ dCcD_Sph field_0x1778; /* 0x018B0 */ dBgS_AcchCir field_0x18B0[3]; /* 0x01970 */ dBgS_LinkAcch mLinkAcch; /* 0x01B48 */ dBgS_LinkLinChk mLinkLinChk; /* 0x01BB8 */ dBgS_RopeLinChk mRopeLinChk; /* 0x01C28 */ dBgS_BoomerangLinChk mBoomerangLinChk; /* 0x01C98 */ dBgS_ArrowLinChk mArrowLinChk; /* 0x01D08 */ dBgS_LinkGndChk mLinkGndChk; /* 0x01D5C */ dBgS_LinkRoofChk mLinkRoofChk; /* 0x01DAC */ dBgS_LinkLinChk mLinkLinChk2; /* 0x01E1C */ cBgS_PolyInfo mPolyInfo1; /* 0x01E2C */ cBgS_PolyInfo mPolyInfo2; /* 0x01E3C */ cBgS_PolyInfo mPolyInfo3; /* 0x01E4C */ cBgS_PolyInfo mPolyInfo4; /* 0x01E5C */ dBgS_ObjLinChk mObjLinChk; /* 0x01ECC */ dBgS_ObjGndChk mObjGndChk; /* 0x01F20 */ u8 field_0x1f20[8]; /* 0x01F28 */ mDoExt_AnmRatioPack field_0x1f28[3]; /* 0x01F40 */ mDoExt_AnmRatioPack field_0x1f40[3]; /* 0x01F58 */ daPy_anmHeap_c mUnderAnime[3]; /* 0x01F94 */ daPy_anmHeap_c mUpperAnime[3]; /* 0x01FD0 */ daPy_frameCtrl_c mFrameCtrl1[3]; /* 0x02018 */ daPy_frameCtrl_c mFrameCtrl2[3]; /* 0x02060 */ void* field_0x2060; // mDoExt_MtxCalcOldFrame* /* 0x02064 */ daAlink_sight_c mSight; /* 0x020F0 */ daPy_anmHeap_c mAnmHeap3; /* 0x02104 */ daPy_anmHeap_c mAnmHeap4; /* 0x02118 */ daPy_anmHeap_c mAnmHeap5; /* 0x0212C */ daPy_anmHeap_c mAnmHeap6; /* 0x02140 */ daPy_anmHeap_c mAnmHeap7; /* 0x02154 */ mDoExt_bckAnm field_0x2154; /* 0x02170 */ u8 field_0x2170[0x18]; /* 0x02188 */ dEyeHL_c mEyeHL1; /* 0x0219C */ dEyeHL_c mEyeHL2; /* 0x021B0 */ daPy_anmHeap_c mItemHeap[2]; /* 0x021D8 */ daPy_anmHeap_c mAnmHeap9; /* 0x021EC */ u8 field_0x21ec[4]; /* 0x021F0 */ daAlink_blur_c mBlur; /* 0x027C8 */ dAlink_bottleWaterPcallBack_c field_0x27c8; /* 0x027E0 */ dAttention_c* mAttention; /* 0x027E4 */ dAttList_c* mAttList; /* 0x027E8 */ dAttList_c* mAttList2; /* 0x027EC */ fopAc_ac_c* mTargetedActor; /* 0x027F0 */ fopAc_ac_c* field_0x27f0; /* 0x027F4 */ fopAc_ac_c* field_0x27f4; /* 0x027F8 */ fopAc_ac_c* field_0x27f8; /* 0x027FC */ fopAc_ac_c* field_0x27fc; /* 0x02800 */ fopAc_ac_c* field_0x2800; /* 0x02804 */ fopAc_ac_c* field_0x2804; /* 0x02808 */ fopAc_ac_c* field_0x2808; /* 0x0280C */ daPy_actorKeep_c field_0x280c; /* 0x02814 */ daPy_actorKeep_c mRideActor; // daspinnerc? /* 0x0281C */ daPy_actorKeep_c field_0x281c; /* 0x02824 */ daPy_actorKeep_c mItemActor; // name might be wrong /* 0x0282C */ daPy_actorKeep_c field_0x282c; /* 0x02834 */ daPy_actorKeep_c field_0x2834; /* 0x0283C */ daPy_actorKeep_c field_0x283c; /* 0x02844 */ daPy_actorKeep_c field_0x2844; /* 0x0284C */ daPy_actorKeep_c field_0x284c; /* 0x02854 */ daPy_actorKeep_c field_0x2854; /* 0x0285C */ daPy_actorKeep_c field_0x285c; /* 0x02864 */ dMsgFlow_c mMsgFlow; /* 0x028B0 */ u8 field_0x28b0[0x40]; /* 0x028F0 */ int field_0x28f0; /* 0x028F4 */ int mAtnActorID; /* 0x028F8 */ int field_0x28f8; /* 0x028FC */ int field_0x28fc; /* 0x02900 */ void* field_0x2900; /* 0x02904 */ daAlink_footData_c mFootData1[2]; /* 0x02A4C */ daAlink_footData_c mFootData2[2]; /* 0x02B94 */ float* field_0x2b94; /* 0x02B98 */ float* field_0x2b98; /* 0x02B98 */ float* field_0x2b9c; /* 0x02BA0 */ float* field_0x2ba0; /* 0x02BA4 */ float* field_0x2ba4; /* 0x02BA8 */ float* field_0x2ba8; /* 0x02BAC */ cXyz field_0x2bac; /* 0x02BB8 */ Mtx mInvMtx; /* 0x02BE8 */ Mtx field_0x2be8; /* 0x02C18 */ Mtx field_0x2c18; /* 0x02C48 */ Mtx field_0x2c48; /* 0x02C78 */ Mtx field_0x2c78; /* 0x02CA8 */ Z2CreatureLink mZ2Link; /* 0x02D78 */ void* field_0x2d78; /* 0x02D7C */ daPy_frameCtrl_c* field_0x2d7c; /* 0x02D80 */ int field_0x2d80; /* 0x02D84 */ Z2WolfHowlMgr mZ2WolfHowlMgr; /* 0x02E44 */ dJntCol_c field_0x2e44; /* 0x02E54 */ dPaPo_c field_0x2e54; /* 0x02E8C */ u8 field_0x2e8c[0x90]; /* 0x02F1C */ dPaPo_c* field_0x2f1c; /* 0x02F20 */ dPa_hermiteEcallBack_c field_0x2f20; /* 0x02F38 */ dPa_hermiteEcallBack_c field_0x2f38; /* 0x02F50 */ Vec* field_0x2f50; /* 0x02F54 */ Vec* field_0x2f54; /* 0x02F58 */ u16* field_0x2f58; /* 0x02F5C */ LIGHT_INFLUENCE field_0x2f5c; /* 0x02F7C */ u8 field_0x2f7c[16]; /* 0x02F8C */ u8 field_0x2f8c; /* 0x02F8D */ u8 mItemTrigger; /* 0x02F8E */ u8 mItemButton; /* 0x02F8F */ u8 field_0x2f8f; /* 0x02F90 */ u8 field_0x2f90; /* 0x02F91 */ u8 field_0x2f91; /* 0x02F92 */ u8 field_0x2f92; /* 0x02F93 */ u8 field_0x2f93; /* 0x02F94 */ u8 field_0x2f94; /* 0x02F95 */ u8 field_0x2f95; /* 0x02F96 */ u8 field_0x2f96; /* 0x02F97 */ u8 field_0x2f97; /* 0x02F98 */ u8 field_0x2f98; /* 0x02F99 */ u8 field_0x2f99; /* 0x02F9A */ s8 field_0x2f9a; /* 0x02F9B */ u8 field_0x2f9b; /* 0x02F9C */ u8 mSelectItemId; /* 0x02F9D */ u8 field_0x2f9d; /* 0x02F9E */ u8 field_0x2f9e; /* 0x02F9F */ u8 field_0x2f9f; /* 0x02FA0 */ u8 field_0x2fa0; /* 0x02FA1 */ u8 field_0x2fa1; /* 0x02FA2 */ u8 field_0x2fa2; /* 0x02FA3 */ u8 field_0x2fa3; /* 0x02FA4 */ u8 field_0x2fa4; /* 0x02FA5 */ u8 field_0x2fa5; /* 0x02FA6 */ u8 field_0x2fa6; /* 0x02FA7 */ u8 field_0x2fa7; /* 0x02FA8 */ u8 field_0x2fa8; /* 0x02FA9 */ u8 field_0x2fa9; /* 0x02FAA */ u8 mRideStatus; /* 0x02FAB */ u8 field_0x2fab; /* 0x02FAC */ u8 field_0x2fac; /* 0x02FAD */ u8 field_0x2fad; /* 0x02FAE */ u8 field_0x2fae; /* 0x02FAF */ u8 field_0x2faf; /* 0x02FB0 */ u8 field_0x2fb0; /* 0x02FB1 */ u8 field_0x2fb1; /* 0x02FB2 */ u8 field_0x2fb2; /* 0x02FB3 */ u8 field_0x2fb3; /* 0x02FB4 */ u8 field_0x2fb4; /* 0x02FB5 */ u8 field_0x2fb5; /* 0x02FB6 */ u8 field_0x2fb6; /* 0x02FB7 */ u8 field_0x2fb7; /* 0x02FB8 */ u8 field_0x2fb8; /* 0x02FB9 */ u8 field_0x2fb9; /* 0x02FBA */ u8 field_0x2fba; /* 0x02FBB */ u8 field_0x2fbb; /* 0x02FBC */ u8 field_0x2fbc; /* 0x02FBD */ u8 field_0x2fbd; /* 0x02FBE */ u8 field_0x2fbe; /* 0x02FBF */ u8 mClothesChangeWaitTimer; /* 0x02FC0 */ u8 field_0x2fc0; /* 0x02FC1 */ u8 field_0x2fc1; /* 0x02FC2 */ u8 field_0x2fc2; /* 0x02FC3 */ u8 field_0x2fc3; /* 0x02FC4 */ u8 field_0x2fc4; /* 0x02FC5 */ u8 field_0x2fc5; /* 0x02FC6 */ u8 field_0x2fc6; /* 0x02FC7 */ u8 field_0x2fc7; /* 0x02FC8 */ u8 field_0x2fc8; /* 0x02FC9 */ u8 field_0x2fc9; /* 0x02FCA */ u8 field_0x2fca; /* 0x02FCB */ u8 field_0x2fcb; /* 0x02FCC */ u8 field_0x2fcc; /* 0x02FCD */ u8 field_0x2fcd; /* 0x02FCE */ u8 field_0x2fce; /* 0x02FCF */ u8 field_0x2fcf; /* 0x02FD0 */ u8 field_0x2fd0; /* 0x02FD1 */ u8 mShieldChangeWaitTimer; /* 0x02FD2 */ u8 field_0x2fd2; /* 0x02FD3 */ u8 field_0x2fd3; /* 0x02FD4 */ u8 field_0x2fd4; /* 0x02FD5 */ u8 field_0x2fd5; /* 0x02FD6 */ u8 field_0x2fd6; /* 0x02FD7 */ u8 field_0x2fd7; /* 0x02FD8 */ u8 field_0x2fd8; /* 0x02FD9 */ u8 field_0x2fd9[3]; /* 0x02FDC */ u16 field_0x2fdc; /* 0x02FDE */ u16 field_0x2fde; /* 0x02FE0 */ u16 field_0x2fe0; /* 0x02FE2 */ s16 field_0x2fe2; /* 0x02FE4 */ s16 field_0x2fe4; /* 0x02FE6 */ s16 field_0x2fe6; /* 0x02FE8 */ u16 mActionID; /* 0x02FEA */ u16 field_0x2fea; /* 0x02FEC */ s16 field_0x2fec; /* 0x02FEE */ s16 field_0x2fee; /* 0x02FF0 */ s16 field_0x2ff0; /* 0x02FF2 */ s16 field_0x2ff2; /* 0x02FF4 */ s16 field_0x2ff4; /* 0x02FF6 */ s16 field_0x2ff6; /* 0x02FF8 */ s16 field_0x2ff8; /* 0x02FFA */ s16 field_0x2ffa; /* 0x02FFC */ s16 field_0x2ffc; /* 0x02FFE */ s16 field_0x2ffe; /* 0x03000 */ s16 field_0x3000; /* 0x03002 */ s16 field_0x3002; /* 0x03004 */ s16 field_0x3004; /* 0x03006 */ s16 field_0x3006; /* 0x03008 */ s16 field_0x3008; /* 0x0300A */ s16 field_0x300a; /* 0x0300C */ s16 mCommonCounter; // might need more accurate name /* 0x0300E */ s16 field_0x300e; /* 0x03010 */ s16 field_0x3010; /* 0x03012 */ s16 field_0x3012; /* 0x03014 */ s16 field_0x3014; /* 0x03016 */ u8 field_0x3016[2]; /* 0x03018 */ s16 field_0x3018; /* 0x0301A */ s16 field_0x301a; /* 0x0301C */ s16 field_0x301c; /* 0x0301E */ s16 field_0x301e; /* 0x03020 */ s16 field_0x3020; /* 0x03022 */ s16 field_0x3022; /* 0x03024 */ s16 field_0x3024; /* 0x03026 */ s16 field_0x3026; /* 0x03028 */ s16 field_0x3028; /* 0x0302A */ u8 field_0x302a[2]; /* 0x0302C */ s16 field_0x302c; /* 0x0302E */ s16 field_0x302e; /* 0x03030 */ s16 field_0x3030; /* 0x03032 */ s16 field_0x3032; /* 0x03034 */ s16 field_0x3034; /* 0x03036 */ s16 field_0x3036; /* 0x03038 */ u8 field_0x3038[2]; /* 0x0303A */ s16 field_0x303a; /* 0x0303C */ u8 field_0x303c[4]; /* 0x03040 */ s16 field_0x3040; /* 0x03042 */ s16 field_0x3042; /* 0x03044 */ s16 field_0x3044; /* 0x03046 */ s16 field_0x3046; /* 0x03048 */ s16 field_0x3048; /* 0x0304A */ s16 field_0x304a; /* 0x0304C */ u8 field_0x304c[2]; /* 0x0304E */ s16 field_0x304e; /* 0x03050 */ u8 field_0x3050[4]; /* 0x03054 */ s16 field_0x3054; /* 0x03056 */ s16 field_0x3056; /* 0x03058 */ u8 field_0x3058[2]; /* 0x0305A */ s16 field_0x305a; /* 0x0305C */ s16 field_0x305c; /* 0x0305E */ u8 field_0x305e[2]; /* 0x03060 */ s16 field_0x3060; /* 0x03062 */ s16 field_0x3062; /* 0x03064 */ s16 field_0x3064; /* 0x03066 */ s16 field_0x3066; /* 0x03068 */ u8 field_0x3068[4]; /* 0x0306C */ s16 field_0x306c; /* 0x0306E */ s16 field_0x306e; /* 0x03070 */ s16 field_0x3070; /* 0x03072 */ s16 field_0x3072; /* 0x03074 */ s16 field_0x3074; /* 0x03076 */ s16 field_0x3076; /* 0x03078 */ s16 field_0x3078; /* 0x0307A */ s16 field_0x307a; /* 0x0307C */ s16 field_0x307c; /* 0x0307E */ s16 field_0x307e; /* 0x03080 */ s16 field_0x3080; /* 0x03082 */ s16 field_0x3082; /* 0x03084 */ u16 field_0x3084; /* 0x03086 */ u16 field_0x3086; /* 0x03088 */ s16 field_0x3088; /* 0x0308A */ s16 field_0x308a; /* 0x0308C */ s16 field_0x308c; /* 0x0308E */ s16 field_0x308e; /* 0x03090 */ s16 field_0x3090; /* 0x03092 */ s16 field_0x3092; /* 0x03094 */ s16 field_0x3094; /* 0x03096 */ u8 field_0x3096[4]; /* 0x0309A */ s16 field_0x309a; /* 0x0309C */ u8 field_0x309c[4]; /* 0x030A0 */ s16 field_0x30a0; /* 0x030A2 */ s16 field_0x30a2; /* 0x030A4 */ s16 field_0x30a4; /* 0x030A6 */ s16 field_0x30a6; /* 0x030A8 */ u16 field_0x30a8; /* 0x030AA */ u16 field_0x30aa; /* 0x030AC */ s16 mWolfEyeUp; /* 0x030AE */ u16 field_0x30ae; /* 0x030B0 */ s16 field_0x30b0; /* 0x030B2 */ s16 field_0x30b2; /* 0x030B4 */ u16 field_0x30b4; /* 0x030B6 */ u16 field_0x30b6; /* 0x030B8 */ u16 field_0x30b8; /* 0x030BA */ u16 field_0x30ba; /* 0x030BC */ u16 field_0x30bc; /* 0x030BE */ u16 field_0x30be; /* 0x030C0 */ u16 field_0x30c0; /* 0x030C2 */ u16 field_0x30c2; /* 0x030C4 */ u16 field_0x30c4; /* 0x030C6 */ u16 field_0x30c6; /* 0x030C8 */ s16 field_0x30c8; /* 0x030CA */ s16 field_0x30ca; /* 0x030CC */ s16 field_0x30cc; /* 0x030CE */ u16 field_0x30ce; /* 0x030D0 */ s16 field_0x30d0; /* 0x030D2 */ s16 field_0x30d2; /* 0x030D4 */ u16 field_0x30d4; /* 0x030D6 */ s16 field_0x30d6; /* 0x030D8 */ u8 field_0x30d8[0x14]; /* 0x030EC */ s16 field_0x30ec; /* 0x030EE */ s16 field_0x30ee; /* 0x030F0 */ u16 field_0x30f0; /* 0x030F2 */ u8 field_0x30f2[2]; /* 0x030F4 */ s16 field_0x30f4; /* 0x030F6 */ s16 field_0x30f6; /* 0x030F8 */ s16 field_0x30f8; /* 0x030FA */ s16 field_0x30fa; /* 0x030FC */ u16 field_0x30fc; /* 0x030FE */ u16 field_0x30fe; /* 0x03100 */ u16 field_0x3100; /* 0x03102 */ s16 field_0x3102; /* 0x03104 */ s16 field_0x3104; /* 0x03106 */ u16 field_0x3106; /* 0x03108 */ s16 field_0x3108; /* 0x0310A */ s16 field_0x310a; /* 0x0310C */ s16 field_0x310c; /* 0x0310E */ s16 field_0x310e; /* 0x03110 */ s16 field_0x3110; /* 0x03112 */ u16 field_0x3112; /* 0x03114 */ s16 field_0x3114; /* 0x03116 */ s16 field_0x3116; /* 0x03118 */ s16 field_0x3118; /* 0x0311A */ s16 field_0x311a; /* 0x0311C */ s16 field_0x311c; /* 0x0311E */ s16 field_0x311e; /* 0x03120 */ u16 mMidnaMsgNum; /* 0x03122 */ s16 field_0x3122; /* 0x03124 */ s16 field_0x3124; /* 0x03126 */ s16 field_0x3126; /* 0x03128 */ s16 field_0x3128; /* 0x0312A */ csXyz field_0x312a[2]; /* 0x03136 */ csXyz field_0x3136[2]; /* 0x03142 */ csXyz field_0x3142[4]; /* 0x0315A */ csXyz field_0x315a; /* 0x03160 */ csXyz field_0x3160; /* 0x03166 */ csXyz field_0x3166; /* 0x0316C */ csXyz field_0x316c; /* 0x03172 */ u8 field_0x3172[2]; /* 0x03174 */ int field_0x3174; /* 0x03178 */ int field_0x3178; /* 0x0317C */ dAttention_c* field_0x317c; /* 0x03180 */ int field_0x3180; /* 0x03184 */ int field_0x3184; /* 0x03184 */ int field_0x3188; /* 0x0318C */ int field_0x318c; /* 0x03190 */ int field_0x3190; /* 0x03194 */ int field_0x3194; /* 0x03198 */ int field_0x3198; /* 0x0319C */ int field_0x319c; /* 0x031A0 */ u32 mModeFlg; /* 0x031A4 */ int field_0x31a4; /* 0x031A8 */ u8 field_0x31a8[8]; /* 0x031B0 */ int field_0x31b0; /* 0x031B4 */ u8 field_0x31b4[8]; /* 0x031BC */ u32 field_0x31bc; /* 0x031C0 */ u32 field_0x31c0; /* 0x031C4 */ u32 field_0x31c4; /* 0x031C8 */ u32 field_0x31c8; /* 0x031CC */ u32 field_0x31cc; /* 0x031D0 */ u32 field_0x31d0; /* 0x031D4 */ u32 field_0x31d4; /* 0x031D8 */ u8 field_0x31d8[12]; /* 0x031E4 */ u32 field_0x31e4; /* 0x031E8 */ u8 field_0x31e8[16]; /* 0x031F8 */ u32 field_0x31f8; /* 0x031FC */ u32 field_0x31fc; /* 0x03200 */ u32 field_0x3200; /* 0x03204 */ u32 field_0x3204; /* 0x03208 */ u32 field_0x3208; /* 0x0320C */ u8 field_0x320c[16]; /* 0x0321C */ u32 field_0x321c; /* 0x03220 */ u32 field_0x3220; /* 0x03224 */ u32 field_0x3224; /* 0x03228 */ u8 field_0x3228[24]; /* 0x03240 */ u32 field_0x3240; /* 0x03244 */ u8 field_0x3244[20]; /* 0x03258 */ u32 field_0x3258; /* 0x0325C */ u32 field_0x325c; /* 0x03260 */ u8 field_0x3260[40]; /* 0x03288 */ u32 field_0x3288; /* 0x0328C */ u32 field_0x328c; /* 0x03290 */ u32 field_0x3290; /* 0x03294 */ u32 field_0x3294; /* 0x03298 */ u8 field_0x3298[8]; /* 0x032A0 */ J3DGXColorS10 field_0x32a0[2]; /* 0x032B0 */ J3DGXColorS10 field_0x32b0[2]; /* 0x032C0 */ s16 field_0x32c0; /* 0x032C2 */ u8 field_0x32c2[2]; /* 0x032C4 */ u16 field_0x32c4; /* 0x032C6 */ u16 field_0x32c6; /* 0x032C8 */ u32 field_0x32c8; /* 0x032CC */ u32 field_0x32cc; /* 0x032D0 */ u32 field_0x32d0; /* 0x032D4 */ u32 field_0x32d4; /* 0x032D8 */ firePointEff_c field_0x32d8[4]; /* 0x03398 */ float mNormalSpeed; /* 0x0339C */ float mSpeedModifier; /* 0x033A0 */ float field_0x33a0; /* 0x033A4 */ float field_0x33a4; /* 0x033A8 */ float field_0x33a8; /* 0x033AC */ float field_0x33ac; /* 0x033B0 */ float field_0x33b0; /* 0x033B4 */ float field_0x33b4; /* 0x033B8 */ float field_0x33b8; /* 0x033BC */ float field_0x33bc; /* 0x033C0 */ float field_0x33c0; /* 0x033C4 */ float field_0x33c4; /* 0x033C8 */ float field_0x33c8; /* 0x033CC */ float field_0x33cc; /* 0x033D0 */ float field_0x33d0; /* 0x033D4 */ float field_0x33d4; /* 0x033D8 */ float field_0x33d8; /* 0x033DC */ float field_0x33dc; /* 0x033E0 */ float field_0x33e0; /* 0x033E4 */ float field_0x33e4; /* 0x033E8 */ float field_0x33e8; /* 0x033EC */ float field_0x33ec; /* 0x033F0 */ float field_0x33f0; /* 0x033F4 */ float field_0x33f4; /* 0x033F8 */ float field_0x33f8; /* 0x033FC */ float field_0x33fc; /* 0x03400 */ float field_0x3400; /* 0x03404 */ float field_0x3404; /* 0x03408 */ float field_0x3408; /* 0x0340C */ float field_0x340c; /* 0x03410 */ float field_0x3410; /* 0x03414 */ float field_0x3414; /* 0x03418 */ float field_0x3418; /* 0x0341C */ float field_0x341c; /* 0x03420 */ float field_0x3420; /* 0x03424 */ float field_0x3424; /* 0x03428 */ float field_0x3428; /* 0x0342C */ float field_0x342c; /* 0x03430 */ float field_0x3430; /* 0x03434 */ float mHeavySpeedMultiplier; /* 0x03438 */ float field_0x3438; /* 0x0343C */ float field_0x343c; /* 0x03440 */ float field_0x3440; /* 0x03444 */ float field_0x3444; /* 0x03448 */ float field_0x3448; /* 0x0344C */ float field_0x344c; /* 0x03450 */ u8 field_0x3450[4]; /* 0x03454 */ float field_0x3454; /* 0x03458 */ float field_0x3458; /* 0x0345C */ float field_0x345c; /* 0x03460 */ float field_0x3460; /* 0x03464 */ float field_0x3464; /* 0x03468 */ float field_0x3468; /* 0x0346C */ float field_0x346c; /* 0x03470 */ float field_0x3470; /* 0x03474 */ float field_0x3474; /* 0x03478 */ float field_0x3478; /* 0x0347C */ float field_0x347c; /* 0x03480 */ float field_0x3480; /* 0x03484 */ float field_0x3484; /* 0x03488 */ float field_0x3488; /* 0x0348C */ float field_0x348c; /* 0x03490 */ float field_0x3490; /* 0x03494 */ float field_0x3494; /* 0x03498 */ cXyz field_0x3498; /* 0x034A4 */ cXyz field_0x34a4; /* 0x034B0 */ cXyz field_0x34b0; /* 0x034BC */ cXyz field_0x34bc; /* 0x034C8 */ cXyz field_0x34c8; /* 0x034D4 */ cXyz field_0x34d4; /* 0x034E0 */ cXyz field_0x34e0; /* 0x034EC */ cXyz field_0x34ec; /* 0x034F8 */ cXyz field_0x34f8; /* 0x03504 */ cXyz field_0x3504; /* 0x03510 */ cXyz field_0x3510; /* 0x0351C */ cXyz field_0x351c; /* 0x03528 */ cXyz field_0x3528; /* 0x03534 */ cXyz field_0x3534; /* 0x03540 */ cXyz field_0x3540; /* 0x0354C */ cXyz field_0x354c[4]; /* 0x0357C */ cXyz mLookPosFromOut; /* 0x03588 */ cXyz field_0x3588; /* 0x03594 */ cXyz field_0x3594; /* 0x035A0 */ cXyz field_0x35a0; /* 0x035AC */ cXyz field_0x35ac; /* 0x035B8 */ cXyz field_0x35b8; /* 0x035C4 */ cXyz field_0x35c4; /* 0x035D0 */ cXyz field_0x35d0; /* 0x035DC */ cXyz field_0x35dc; /* 0x035E8 */ cXyz field_0x35e8; /* 0x035F4 */ cXyz mMidnaAtnPos; /* 0x03600 */ cXyz field_0x3600; /* 0x0360C */ cXyz field_0x360c; /* 0x03618 */ cXyz field_0x3618; /* 0x03624 */ cXyz field_0x3624; /* 0x03630 */ cXyz field_0x3630; /* 0x0363C */ cXyz field_0x363c[4]; /* 0x0366C */ cXyz field_0x366c[4]; /* 0x0369C */ cXyz field_0x369c; /* 0x036A8 */ cXyz field_0x36a8; /* 0x036B4 */ cXyz field_0x36b4; /* 0x036C0 */ cXyz field_0x36c0[4]; /* 0x036F0 */ cXyz field_0x36f0[4]; /* 0x03720 */ cXyz field_0x3720; /* 0x0372C */ cXyz field_0x372c; /* 0x03738 */ cXyz field_0x3738; /* 0x03744 */ cXyz field_0x3744; /* 0x03750 */ cXyz field_0x3750; /* 0x0375C */ cXyz field_0x375c; /* 0x03768 */ cXyz field_0x3768; /* 0x03774 */ cXyz mForcePutPos; /* 0x03780 */ cXyz field_0x3780; /* 0x0378C */ cXyz field_0x378c; /* 0x03798 */ cXyz field_0x3798; /* 0x037A4 */ cXyz field_0x37a4; /* 0x037B0 */ cXyz field_0x37b0[2]; /* 0x037C8 */ cXyz field_0x37c8; /* 0x037D4 */ cXyz field_0x37d4; /* 0x037E0 */ cXyz field_0x37e0; /* 0x037EC */ cXyz field_0x37ec; /* 0x037F8 */ cXyz field_0x37f8; /* 0x03804 */ cXyz field_0x3804; /* 0x03810 */ cXyz field_0x3810; /* 0x0381C */ cXyz field_0x381c; /* 0x03828 */ cXyz field_0x3828; /* 0x03834 */ cXyz field_0x3834; /* 0x03840 */ cXyz* mIronBallChainPos; /* 0x03844 */ csXyz* mIronBallChainAngle; /* 0x03848 */ void* field_0x3848; /* 0x0384C */ float* field_0x384c; }; struct daAlinkHIO_anm_c { /* 0x00 */ s16 field_0x00; /* 0x04 */ f32 field_0x04; /* 0x08 */ f32 field_0x08; /* 0x0C */ f32 field_0x0c; /* 0x10 */ f32 field_0x10; }; // size = 0x14 struct daAlinkHIO_basic_c1 { /* 0x00 */ bool mOneHitKill; /* 0x02 */ s16 mNeckMaxHorizontal; /* 0x04 */ s16 mNeckMaxUp; /* 0x06 */ s16 mNeckMaxDown; /* 0x08 */ s16 field_0x08; /* 0x0A */ s16 mHotspringRecoverTime; /* 0x0C */ s16 mWiiCamSpeedV; /* 0x0E */ s16 mWiiCamSpeedH; /* 0x10 */ s16 mTransformBlockFarAngle; /* 0x14 */ f32 field_0x14; /* 0x18 */ f32 mAnmBlendFactor; /* 0x1C */ f32 mWaitTurnSpeed; /* 0x20 */ f32 mStandDefenseBlend; /* 0x24 */ f32 mWaterSurfaceEffectHeight; /* 0x28 */ f32 mWolfWaterSurfaceEffectHeight; /* 0x2C */ f32 mMaxWindInfluenceDist; /* 0x30 */ f32 mNoWindInfluenceDist; /* 0x34 */ f32 mMaxWindSpeed; /* 0x38 */ f32 mLavaDeathDepth; /* 0x3C */ f32 mLinkWolfTransformSpeed; /* 0x40 */ f32 mWolfLinkTransformSpeed; /* 0x44 */ f32 mIndoorSpeedFactor; /* 0x48 */ f32 mSandSinkSpeed; /* 0x4C */ f32 mSandSurfaceSpeed; /* 0x50 */ f32 mTransformBlockNearDis; /* 0x54 */ f32 mTransformBlockFarDis; }; class daAlinkHIO_basic_c0 { public: static daAlinkHIO_basic_c1 const m; }; class daAlinkHIO_autoJump_c1 { public: /* 0x00 */ daAlinkHIO_anm_c mJump; /* 0x14 */ daAlinkHIO_anm_c mLand; /* 0x28 */ daAlinkHIO_anm_c mDive; /* 0x3C */ daAlinkHIO_anm_c mDiveUnk; /* 0x50 */ u8 field_0x50; /* 0x52 */ s16 field_0x52; /* 0x54 */ s16 field_0x54; /* 0x56 */ s16 field_0x56; /* 0x58 */ s16 field_0x58; /* 0x5C */ f32 field_0x5c; /* 0x60 */ f32 field_0x60; /* 0x64 */ f32 field_0x64; /* 0x68 */ f32 field_0x68; /* 0x6C */ f32 field_0x6c; /* 0x70 */ f32 field_0x70; /* 0x74 */ f32 mGravity; /* 0x78 */ f32 mMaxFallSpeed; /* 0x7C */ f32 field_0x7c; /* 0x80 */ f32 field_0x80; /* 0x84 */ f32 field_0x84; /* 0x88 */ f32 field_0x88; /* 0x8C */ f32 field_0x8c; /* 0x90 */ f32 field_0x90; /* 0x94 */ f32 field_0x94; /* 0x98 */ f32 field_0x98; /* 0x9C */ f32 field_0x9c; /* 0xA0 */ f32 field_0xa0; /* 0xA4 */ f32 field_0xa4; /* 0xA8 */ f32 field_0xa8; /* 0xAC */ f32 field_0xac; /* 0xB0 */ f32 field_0xb0; }; // size = 0xB4 class daAlinkHIO_autoJump_c0 { public: static daAlinkHIO_autoJump_c1 const m; }; class daAlinkHIO_wlAutoJump_c1 { public: /* 0x00 */ daAlinkHIO_anm_c field_0x00; /* 0x14 */ daAlinkHIO_anm_c field_0x14; /* 0x28 */ daAlinkHIO_anm_c field_0x28; /* 0x3C */ u8 field_0x3c; /* 0x3E */ s16 field_0x3e; /* 0x40 */ s16 field_0x40; /* 0x42 */ s16 field_0x42; /* 0x44 */ f32 field_0x44; /* 0x48 */ f32 field_0x48; /* 0x4C */ f32 field_0x4c; /* 0x50 */ f32 field_0x50; /* 0x54 */ f32 field_0x54; /* 0x58 */ f32 field_0x58; /* 0x5C */ f32 field_0x5c; /* 0x60 */ f32 field_0x60; /* 0x64 */ f32 field_0x64; /* 0x68 */ f32 field_0x68; /* 0x6C */ f32 field_0x6c; /* 0x70 */ f32 field_0x70; /* 0x74 */ f32 field_0x74; /* 0x78 */ f32 field_0x78; }; // size = 0x7C class daAlinkHIO_wlAutoJump_c0 { public: static daAlinkHIO_wlAutoJump_c1 const m; }; class daHorse_c { public: fopAc_ac_c* getZeldaActor(); private: /* 0x0000 */ fopAc_ac_c mActor; /* 0x0568 */ u8 field_0x568[0xCEC]; /* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep; }; class daMidna_c { public: enum daMidna_ERFLG0 { NoServiceWait = 128, ForcePanic = 8, }; enum daMidna_FLG1 { ForceNormalColor = 8, ForceTiredColor = 4 }; void onForcePanic(void); u32 checkForceNormalColor(void) const; u32 checkForceTiredColor(void) const; bool checkMidnaTired(void); void onNoServiceWait(void); void onEndResetStateFlg0(daMidna_ERFLG0 pFlg) { mEndResetStateFlg0 |= pFlg; } u32 checkStateFlg1(daMidna_FLG1 pFlg) const { return mStateFlg1 & pFlg; } private: /* 0x0000 */ fopAc_ac_c mActor; /* 0x0568 */ u8 field_0x568[0x32C]; /* 0x0894 */ u32 mStateFlg1; /* 0x0898 */ u32 mEndResetStateFlg0; }; #endif /* D_A_D_A_ALINK_H */