summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-10-19 01:54:22 -0700
committerGitHub <noreply@github.com>2024-10-19 11:54:22 +0300
commit0652b2c7b3722e40ded1a34f8846b8ae9d8fa4eb (patch)
tree39764176734667add46d3a1f73ac76eb2650792a /src
parentabc4c6659ae6e9cab854ff05651c1ff119659bf6 (diff)
obj_Iceleaf almost done / d_a_alink work (#2217)
* obj_iceleaf almost done * fix up d_a_alink procvars * more d_a_alink work * some d_a_alink error cleanup * some more cleanup
Diffstat (limited to 'src')
-rw-r--r--src/d/actor/d_a_alink.cpp3640
-rw-r--r--src/d/actor/d_a_alink_HIO_data.inc9
-rw-r--r--src/d/actor/d_a_alink_bomb.inc4
-rw-r--r--src/d/actor/d_a_alink_boom.inc1
-rw-r--r--src/d/actor/d_a_alink_bottle.inc31
-rw-r--r--src/d/actor/d_a_alink_bow.inc1
-rw-r--r--src/d/actor/d_a_alink_canoe.inc122
-rw-r--r--src/d/actor/d_a_alink_copyrod.inc53
-rw-r--r--src/d/actor/d_a_alink_crawl.inc9
-rw-r--r--src/d/actor/d_a_alink_cut.inc199
-rw-r--r--src/d/actor/d_a_alink_damage.inc9
-rw-r--r--src/d/actor/d_a_alink_demo.inc243
-rw-r--r--src/d/actor/d_a_alink_effect.inc4
-rw-r--r--src/d/actor/d_a_alink_grab.inc17
-rw-r--r--src/d/actor/d_a_alink_guard.inc7
-rw-r--r--src/d/actor/d_a_alink_hang.inc93
-rw-r--r--src/d/actor/d_a_alink_hook.inc335
-rw-r--r--src/d/actor/d_a_alink_horse.inc52
-rw-r--r--src/d/actor/d_a_alink_hvyboots.inc3
-rw-r--r--src/d/actor/d_a_alink_iceleaf.inc218
-rw-r--r--src/d/actor/d_a_alink_ironball.inc2
-rw-r--r--src/d/actor/d_a_alink_kandelaar.inc50
-rw-r--r--src/d/actor/d_a_alink_link.inc223
-rw-r--r--src/d/actor/d_a_alink_spinner.inc20
-rw-r--r--src/d/actor/d_a_alink_sumou.inc67
-rw-r--r--src/d/actor/d_a_alink_swim.inc38
-rw-r--r--src/d/actor/d_a_alink_swindow.inc3
-rw-r--r--src/d/actor/d_a_alink_whistle.inc37
-rw-r--r--src/d/actor/d_a_alink_wolf.inc409
-rw-r--r--src/d/actor/d_a_e_arrow.cpp3
-rw-r--r--src/d/actor/d_a_obj_iceleaf.cpp837
-rw-r--r--src/d/d_com_inf_game.cpp1
-rw-r--r--src/d/d_demo.cpp8
-rw-r--r--src/d/d_menu_collect.cpp1
-rw-r--r--src/d/d_menu_ring.cpp3
-rw-r--r--src/d/d_meter2_draw.cpp3
-rw-r--r--src/d/d_msg_flow.cpp3
-rw-r--r--src/d/d_msg_scrn_howl.cpp3
38 files changed, 1603 insertions, 5158 deletions
diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp
index 942dbae6ef..5f58b66dc8 100644
--- a/src/d/actor/d_a_alink.cpp
+++ b/src/d/actor/d_a_alink.cpp
@@ -40,3002 +40,8 @@
#include "d/actor/d_a_tag_lantern.h"
#include "m_Do/m_Do_controller_pad.h"
#include "d/d_bomb.h"
-
-//
-// Forward References:
-//
-
-extern "C" bool getE3Zhint__9daAlink_cFv();
-extern "C" void getAlinkArcName__9daAlink_cFv();
-extern "C" static void
-daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" static void
-daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void init__16daAlink_matAnm_cFv();
-extern "C" void calc__16daAlink_matAnm_cCFP11J3DMaterial();
-extern "C" void checkStageName__9daAlink_cFPCc();
-extern "C" void tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf();
-extern "C" void coHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz();
-extern "C" void jointControll__9daAlink_cFi();
-extern "C" void setUpperFront__9daAlink_cFv();
-extern "C" void changeBlendRate__9daAlink_cFi();
-extern "C" void resetRootMtx__9daAlink_cFv();
-extern "C" void modelCallBack__9daAlink_cFi();
-extern "C" static void daAlink_modelCallBack__FP8J3DJointi();
-extern "C" void headModelCallBack__9daAlink_cFi();
-extern "C" static void daAlink_headModelCallBack__FP8J3DJointi();
-extern "C" void wolfModelCallBack__9daAlink_cFi();
-extern "C" static void daAlink_wolfModelCallBack__FP8J3DJointi();
-extern "C" void setHatAngle__9daAlink_cFv();
-extern "C" void calcHairAngle__9daAlink_cFPs();
-extern "C" void setHairAngle__9daAlink_cFP4cXyzff();
-extern "C" void setLookPosFromOut__9daAlink_cFP4cXyz();
-extern "C" void checkAttentionPosAngle__9daAlink_cFP4cXyz();
-extern "C" void checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz();
-extern "C" void getNeckAimPos__9daAlink_cFP4cXyzPii();
-extern "C" void getNeckAimAngle__9daAlink_cFP4cXyzPsPsPsPs();
-extern "C" void setEyeMove__9daAlink_cFP4cXyzss();
-extern "C" void setNeckAngle__9daAlink_cFv();
-extern "C" void getStickAngleFromPlayerShape__9daAlink_cCFPs();
-extern "C" void commonLineCheck__9daAlink_cFP4cXyzP4cXyz();
-extern "C" void getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi();
-extern "C" void checkGoronRide__9daAlink_cFv();
-extern "C" void setMoveSlantAngle__9daAlink_cFv();
-extern "C" void setArmMatrix__9daAlink_cFv();
-extern "C" void setFootMatrix__9daAlink_cFv();
-extern "C" void setMatrixOffset__9daAlink_cFPff();
-extern "C" void setLegAngle__9daAlink_cFfP18daAlink_footData_cPsPsi();
-extern "C" void footBgCheck__9daAlink_cFv();
-extern "C" void handBgCheck__9daAlink_cFv();
-extern "C" void setItemHeap__9daAlink_cFv();
-extern "C" void setIdxMask__9daAlink_cFPUsPUs();
-extern "C" void getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl();
-extern "C" void initModel__9daAlink_cFP12J3DModelDataUlUl();
-extern "C" void initModel__9daAlink_cFUsUl();
-extern "C" void initModelEnv__9daAlink_cFUsUl();
-extern "C" void initDemoModel__9daAlink_cFPP8J3DModelPCcUl();
-extern "C" void initDemoBck__9daAlink_cFPP13mDoExt_bckAnmPCc();
-extern "C" void createHeap__9daAlink_cFv();
-extern "C" void __dt__14J3DMaterialAnmFv();
-extern "C" static void daAlink_createHeap__FP10fopAc_ac_c();
-extern "C" void setSelectEquipItem__9daAlink_cFi();
-extern "C" void checkBoarStart__9daAlink_cFv();
-extern "C" void checkCanoeStart__9daAlink_cFv();
-extern "C" void playerInit__9daAlink_cFv();
-extern "C" void checkHorseStart__9daAlink_cFUli();
-extern "C" void setStartProcInit__9daAlink_cFv();
-extern "C" void create__9daAlink_cFv();
-extern "C" static void daAlink_Create__FP10fopAc_ac_c();
-extern "C" void setRoomInfo__9daAlink_cFv();
-extern "C" void setShapeAngleOnGround__9daAlink_cFv();
-extern "C" void setStepsOffset__9daAlink_cFv();
-extern "C" void iceSlipBgCheck__9daAlink_cFv();
-extern "C" void setIceSlipSpeed__9daAlink_cFv();
-extern "C" void setPolygonSpeed__9daAlink_cFv();
-extern "C" void checkWindSpeedOnAngle__9daAlink_cCFv();
-extern "C" void checkWindSpeedOnAngleAnime__9daAlink_cCFi();
-extern "C" void checkDashAnime__9daAlink_cCFv();
-extern "C" void checkWindWallRate__9daAlink_cFRC4cXyz();
-extern "C" void setWindSpeed__9daAlink_cFv();
-extern "C" void setBodyPartPos__9daAlink_cFv();
-extern "C" void setRollJump__9daAlink_cFffs();
-extern "C" void setAttentionPos__9daAlink_cFv();
-extern "C" void setMatrix__9daAlink_cFv();
-extern "C" void simpleAnmPlay__9daAlink_cFP10J3DAnmBase();
-extern "C" void setSwordPos__9daAlink_cFv();
-extern "C" void setItemMatrix__9daAlink_cFi();
-extern "C" void setWolfItemMatrix__9daAlink_cFv();
-extern "C" void setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM();
-extern "C" void setSwordAtCollision__9daAlink_cFi();
-extern "C" void checkNoCollisionCorret__9daAlink_cFv();
-extern "C" void decSwordBlur__9daAlink_cFv();
-extern "C" void resetWolfAtCollision__9daAlink_cFv();
-extern "C" void setWolfAtCollision__9daAlink_cFv();
-extern "C" void resetAtCollision__9daAlink_cFi();
-extern "C" void setAtCollision__9daAlink_cFv();
-extern "C" void setWolfCollisionPos__9daAlink_cFv();
-extern "C" void initLockAt__9daAlink_cFv();
-extern "C" void cancelLockAt__9daAlink_cFv();
-extern "C" void setCollisionPos__9daAlink_cFv();
-extern "C" void setCollision__9daAlink_cFv();
-extern "C" void getBaseAnimeFrame__9daAlink_cCFv();
-extern "C" void setAnimeFrame__9daAlink_cFf();
-extern "C" void setFrameCtrl__9daAlink_cFP16daPy_frameCtrl_cUcssff();
-extern "C" void getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM();
-extern "C" void checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM();
-extern "C" void checkUnderMove1BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM();
-extern "C" void
-getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl();
-extern "C" void setDoubleAnimeBlendRatio__9daAlink_cFf();
-extern "C" void
-commonDoubleAnime__9daAlink_cFP15J3DAnmTransformP15J3DAnmTransformP15J3DAnmTransformP15J3DAnmTransformfffi();
-extern "C" void
-setDoubleAnime__9daAlink_cFfffQ29daAlink_c11daAlink_ANMQ29daAlink_c11daAlink_ANMif();
-extern "C" void commonSingleAnime__9daAlink_cFP15J3DAnmTransformP15J3DAnmTransformffs();
-extern "C" void setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM();
-extern "C" void setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf();
-extern "C" void setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff();
-extern "C" void setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf();
-extern "C" void setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c();
-extern "C" void animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c();
-extern "C" void allAnimePlay__9daAlink_cFv();
-extern "C" void setUpperAnimeMorf__9daAlink_cFf();
-extern "C" void setUpperAnimeBase__9daAlink_cFUs();
-extern "C" void setUpperAnimeBaseMorf__9daAlink_cFUsf();
-extern "C" void setUpperAnimeBaseSpeed__9daAlink_cFUsff();
-extern "C" void setUpperAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERffsf();
-extern "C" void setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c();
-extern "C" void resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf();
-extern "C" void setUnderAnimeMorf__9daAlink_cFf();
-extern "C" void setUnderAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERffsf();
-extern "C" void setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c();
-extern "C" void resetUnderAnime__9daAlink_cFQ29daAlink_c13daAlink_UNDERf();
-extern "C" void setOldRootQuaternion__9daAlink_cFsss();
-extern "C" void checkAtnLeftAnime__9daAlink_cFv();
-extern "C" void checkAtnRightAnime__9daAlink_cFv();
-extern "C" void getMoveGroundAngleSpeedRate__9daAlink_cFv();
-extern "C" void setBlendMoveAnime__9daAlink_cFf();
-extern "C" void setBlendAtnMoveAnime__9daAlink_cFf();
-extern "C" void setBlendAtnBackMoveAnime__9daAlink_cFf();
-extern "C" void setFaceBck__9daAlink_cFUsiUs();
-extern "C" void setFaceBtp__9daAlink_cFUsiUs();
-extern "C" void setFaceBtk__9daAlink_cFUsiUs();
-extern "C" void setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM();
-extern "C" void setFaceBasicAnime__9daAlink_cFQ29daAlink_c11daAlink_ANM();
-extern "C" void setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM();
-extern "C" void setFacePriAnime__9daAlink_cFQ29daAlink_c11daAlink_ANM();
-extern "C" void resetFacePriBck__9daAlink_cFv();
-extern "C" void resetFacePriBtp__9daAlink_cFv();
-extern "C" void resetFacePriBtk__9daAlink_cFv();
-extern "C" void resetFacePriTexture__9daAlink_cFv();
-extern "C" void resetFacePriAnime__9daAlink_cFv();
-extern "C" void playFaceTextureAnime__9daAlink_cFv();
-extern "C" void getGroundAngle__9daAlink_cFP13cBgS_PolyInfos();
-extern "C" void getRoofAngle__9daAlink_cFP13cBgS_PolyInfos();
-extern "C" void getWallEdgePos__9daAlink_cFRC4cXyzP8cM3dGPlaP8cM3dGPlaP4cXyzi();
-extern "C" void setFrontWallType__9daAlink_cFv();
-extern "C" void SetPos__12dBgS_RoofChkFRC4cXyz();
-extern "C" void checkWaterPolygonUnder__9daAlink_cFv();
-extern "C" void setWaterY__9daAlink_cFv();
-extern "C" void setHangWaterY__9daAlink_cFv();
-extern "C" void setSandDownBgCheckWallH__9daAlink_cFv();
-extern "C" void setBgCheckParam__9daAlink_cFv();
-extern "C" void checkNotJumpSinkLimit__9daAlink_cFv();
-extern "C" void checkNotItemSinkLimit__9daAlink_cFv();
-extern "C" void setSandShapeOffset__9daAlink_cFv();
-extern "C" void checkLv2MiddleBossBgRide__9daAlink_cFs();
-extern "C" void getSlidePolygon__9daAlink_cFP8cM3dGPla();
-extern "C" void checkSlope__9daAlink_cCFv();
-extern "C" void setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi();
-extern "C" void setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz();
-extern "C" void setPlayerPosAndAngle__9daAlink_cFPA4_f();
-extern "C" void itemTriggerCheck__9daAlink_cFUc();
-extern "C" void itemButtonCheck__9daAlink_cFUc();
-extern "C" void itemButton__9daAlink_cFv();
-extern "C" void itemTrigger__9daAlink_cFv();
-extern "C" void spActionButton__9daAlink_cFv();
-extern "C" void spActionTrigger__9daAlink_cFv();
-extern "C" void midnaTalkTrigger__9daAlink_cCFv();
-extern "C" void swordSwingTrigger__9daAlink_cFv();
-extern "C" void setItemActionButtonStatus__9daAlink_cFUc();
-extern "C" void itemActionTrigger__9daAlink_cFv();
-extern "C" void setStickData__9daAlink_cFv();
-extern "C" void setAtnList__9daAlink_cFv();
-extern "C" void setRStatus__9daAlink_cFUc();
-extern "C" void setRStatusEmphasys__9daAlink_cFUc();
-extern "C" void setDoStatus__9daAlink_cFUc();
-extern "C" void setDoStatusEmphasys__9daAlink_cFUc();
-extern "C" void setDoStatusContinuation__9daAlink_cFUc();
-extern "C" void setBStatus__9daAlink_cFUc();
-extern "C" void checkAtnWaitAnime__9daAlink_cFv();
-extern "C" void setTiredVoice__9daAlink_cFP16daPy_frameCtrl_c();
-extern "C" void checkRestHPAnime__9daAlink_cFv();
-extern "C" void getDirectionFromAngle__9daAlink_cFs();
-extern "C" void checkAttentionState__9daAlink_cFv();
-extern "C" void getShapeAngleYAtnActor__9daAlink_cFv();
-extern "C" void setShapeAngleToAtnActor__9daAlink_cFi();
-extern "C" void initServiceWaitTime__9daAlink_cFv();
-extern "C" void checkZeroSpeedF__9daAlink_cCFv();
-extern "C" void setNormalSpeedF__9daAlink_cFff();
-extern "C" void getStickAngleDistanceRate__9daAlink_cFv();
-extern "C" void setSpeedAndAngleNormal__9daAlink_cFv();
-extern "C" void setSpeedAndAngleAtn__9daAlink_cFv();
-extern "C" void checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c();
-extern "C" void checkServiceWaitMode__9daAlink_cFv();
-extern "C" void setJumpMode__9daAlink_cFv();
-extern "C" void getMetamorphoseNearDis__9daAlink_cCFv();
-extern "C" void getMetamorphoseFarDis__9daAlink_cCFv();
-extern "C" void getMetamorphoseFarAngle__9daAlink_cCFv();
-extern "C" void setMidnaMsg__9daAlink_cFv();
-extern "C" void notTalk__9daAlink_cFv();
-extern "C" void setTalkStatus__9daAlink_cFv();
-extern "C" void getFrontRollRate__9daAlink_cFv();
-extern "C" void decideCommonDoStatus__9daAlink_cFv();
-extern "C" void decideDoStatus__9daAlink_cFv();
-extern "C" void checkWaitAction__9daAlink_cFv();
-extern "C" void setFallVoice__9daAlink_cFv();
-extern "C" void setLandPassiveData__9daAlink_cFv();
-extern "C" void setStepLandVibration__9daAlink_cFv();
-extern "C" void checkLandAction__9daAlink_cFi();
-extern "C" void checkSlideAction__9daAlink_cFv();
-extern "C" void checkAutoJumpAction__9daAlink_cFv();
-extern "C" void checkCutJumpInFly__9daAlink_cFv();
-extern "C" void checkFrontWallTypeAction__9daAlink_cFv();
-extern "C" void checkItemActionInitStart__9daAlink_cFv();
-extern "C" void checkItemChangeAutoAction__9daAlink_cFv();
-extern "C" void setFastShotTimer__9daAlink_cFv();
-extern "C" void cancelItemUseQuake__9daAlink_cFi();
-extern "C" void cancelUpperItemReadyAnime__9daAlink_cFi();
-extern "C" void checkItemActorPointer__9daAlink_cFv();
-extern "C" void checkSwordTwirlAction__9daAlink_cFv();
-extern "C" void checkUpperItemActionFly__9daAlink_cFv();
-extern "C" void checkItemButtonChange__9daAlink_cFv();
-extern "C" void checkUpperItemAction__9daAlink_cFv();
-extern "C" void orderPeep__9daAlink_cFv();
-extern "C" void orderTalk__9daAlink_cFi();
-extern "C" static void daAlink_searchBouDoor__FP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchKolin__FP10fopAc_ac_cPv();
-extern "C" void orderZTalk__9daAlink_cFv();
-extern "C" void checkNormalAction__9daAlink_cFv();
-extern "C" void checkReadyItem__9daAlink_cFv();
-extern "C" void checkItemAction__9daAlink_cFv();
-extern "C" bool checkRAction__9daAlink_cFv();
-extern "C" void checkMoveDoAction__9daAlink_cFv();
-extern "C" void checkSideRollAction__9daAlink_cFi();
-extern "C" void checkNoUpperAnime__9daAlink_cCFv();
-extern "C" void checkOneHandItemEquipAnime__9daAlink_cCFv();
-extern "C" void checkItemEquipAnime__9daAlink_cCFv();
-extern "C" void checkEquipAnime__9daAlink_cCFv();
-extern "C" void checkWindDashAnime__9daAlink_cCFv();
-extern "C" void checkSwordTwirlAnime__9daAlink_cCFv();
-extern "C" void swordEquip__9daAlink_cFi();
-extern "C" void swordUnequip__9daAlink_cFv();
-extern "C" void itemEquip__9daAlink_cFUs();
-extern "C" void itemUnequip__9daAlink_cFUsf();
-extern "C" void checkFastUnequip__9daAlink_cFv();
-extern "C" void allUnequip__9daAlink_cFi();
-extern "C" void checkItemChangeFromButton__9daAlink_cFv();
-extern "C" void checkNextActionFromButton__9daAlink_cFv();
-extern "C" void checkGroundSpecialMode__9daAlink_cFv();
-extern "C" void commonCheckNextAction__9daAlink_cFi();
-extern "C" void checkNextAction__9daAlink_cFi();
-extern "C" void commonChangeItem__9daAlink_cFv();
-extern "C" void setItemAction__9daAlink_cFv();
-extern "C" void checkNextActionFromCrouch__9daAlink_cFi();
-extern "C" void checkUpperReadyThrowAnime__9daAlink_cCFv();
-extern "C" void getBodyAngleXBasePos__9daAlink_cFP4cXyz();
-extern "C" void getBodyAngleXAtnActor__9daAlink_cFi();
-extern "C" void setBodyAngleXReadyAnime__9daAlink_cFi();
-extern "C" void setMagicArmorBrk__9daAlink_cFi();
-extern "C" void checkMagicArmorHeavy__9daAlink_cCFv();
-extern "C" void checkBootsOrArmorHeavy__9daAlink_cCFv();
-extern "C" void checkHeavyStateOn__9daAlink_cFii();
-extern "C" void setOutPower__9daAlink_cFfsi();
-extern "C" void initGravity__9daAlink_cFv();
-extern "C" void setSpecialGravity__9daAlink_cFffi();
-extern "C" void transAnimeProc__9daAlink_cFP4cXyzff();
-extern "C" void setFootSpeed__9daAlink_cFv();
-extern "C" void posMove__9daAlink_cFv();
-extern "C" void autoGroundHit__9daAlink_cFv();
-extern "C" void startPeepChange__9daAlink_cFv();
-extern "C" void setLastSceneDamage__9daAlink_cFiPUl();
-extern "C" void setLastSceneMode__9daAlink_cFPUl();
-extern "C" void startRestartRoom__9daAlink_cFUliii();
-extern "C" void checkCoachGuardGame__9daAlink_cFv();
-extern "C" void checkRoofRestart__9daAlink_cFv();
-extern "C" void checkRestartRoom__9daAlink_cFv();
-extern "C" void getSceneExitMoveAngle__9daAlink_cFv();
-extern "C" void checkSceneChange__9daAlink_cFi();
-extern "C" void voiceStart__9daAlink_cFUl();
-extern "C" void voiceStartLevel__9daAlink_cFUl();
-extern "C" void seStartSwordCut__9daAlink_cFUl();
-extern "C" void seStartOnlyReverb__9daAlink_cFUl();
-extern "C" void seStartOnlyReverbLevel__9daAlink_cFUl();
-extern "C" void seStartMapInfo__9daAlink_cFUl();
-extern "C" void seStartMapInfoLevel__9daAlink_cFUl();
-extern "C" void setBasAnime__9daAlink_cFQ29daAlink_c13daAlink_UNDER();
-extern "C" void initBasAnime__9daAlink_cFv();
-extern "C" void resetBasAnime__9daAlink_cFv();
-extern "C" void checkSightLine__9daAlink_cFfP4cXyz();
-extern "C" void setMetamorphoseModel__9daAlink_cFi();
-extern "C" void keepItemData__9daAlink_cFv();
-extern "C" void returnKeepItemData__9daAlink_cFv();
-extern "C" void setItemModel__9daAlink_cFv();
-extern "C" void setItemActor__9daAlink_cFv();
-extern "C" void makeItemType__9daAlink_cFv();
-extern "C" void checkZoraWearAbility__9daAlink_cCFv();
-extern "C" void checkMagicArmorWearAbility__9daAlink_cCFv();
-extern "C" void loadAramBmd__9daAlink_cFUsUl();
-extern "C" void loadAram__9daAlink_cFUsUl();
-extern "C" void loadAramItemBrk__9daAlink_cFUsP8J3DModel();
-extern "C" void loadAramItemBtk__9daAlink_cFUsP8J3DModel();
-extern "C" void loadAramItemBtp__9daAlink_cFUsP8J3DModel();
-extern "C" void changeItemBck__9daAlink_cFUsf();
-extern "C" void checkGroupItem__9daAlink_cCFii();
-extern "C" void checkSetItemTrigger__9daAlink_cFi();
-extern "C" void checkItemSetButton__9daAlink_cFi();
-extern "C" void checkField__9daAlink_cFv();
-extern "C" void checkBossRoom__9daAlink_cFv();
-extern "C" void checkDungeon__9daAlink_cFv();
-extern "C" void checkCastleTown__9daAlink_cFv();
-extern "C" void checkCloudSea__9daAlink_cFv();
-extern "C" void checkRoomOnly__9daAlink_cFv();
-extern "C" void checkLv2DungeonRoomSpecial__9daAlink_cFv();
-extern "C" void checkRoomSpecial__9daAlink_cFv();
-extern "C" void checkRoom__9daAlink_cFv();
-extern "C" void checkNotBattleStage__9daAlink_cFv();
-extern "C" void checkNotHeavyBootsStage__9daAlink_cFv();
-extern "C" void checkNotAutoJumpStage__9daAlink_cFv();
-extern "C" void checkCastleTownUseItem__9daAlink_cFUs();
-extern "C" void changeItemTriggerKeepProc__9daAlink_cFUci();
-extern "C" void checkNewItemChange__9daAlink_cFUc();
-extern "C" void deleteEquipItem__9daAlink_cFii();
-extern "C" void setLight__9daAlink_cFv();
-extern "C" void setFrontRollCrashShock__9daAlink_cFUc();
-extern "C" void getModelJointMtx__9daAlink_cFUs();
-extern "C" void onFrollCrashFlg__9daAlink_cFUci();
-extern "C" void changeWarpMaterial__9daAlink_cFQ29daAlink_c21daAlink_WARP_MAT_MODE();
-extern "C" void commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC();
-extern "C" void commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC();
-extern "C" void procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c();
-extern "C" void procPreActionUnequip__9daAlink_cFv();
-extern "C" void procServiceWaitInit__9daAlink_cFv();
-extern "C" void procServiceWait__9daAlink_cFv();
-extern "C" void procTiredWaitInit__9daAlink_cFv();
-extern "C" void procTiredWait__9daAlink_cFv();
-extern "C" void procWaitInit__9daAlink_cFv();
-extern "C" void procWait__9daAlink_cFv();
-extern "C" void procMoveInit__9daAlink_cFv();
-extern "C" void procMove__9daAlink_cFv();
-extern "C" void procAtnMoveInit__9daAlink_cFv();
-extern "C" void procAtnMove__9daAlink_cFv();
-extern "C" void procAtnActorWaitInit__9daAlink_cFv();
-extern "C" void procAtnActorWait__9daAlink_cFv();
-extern "C" void procAtnActorMoveInit__9daAlink_cFv();
-extern "C" void procAtnActorMove__9daAlink_cFv();
-extern "C" void procWaitTurnInit__9daAlink_cFv();
-extern "C" void procWaitTurn__9daAlink_cFv();
-extern "C" void procMoveTurnInit__9daAlink_cFi();
-extern "C" void procMoveTurn__9daAlink_cFv();
-extern "C" void procSideStepInit__9daAlink_cFi();
-extern "C" void procSideStep__9daAlink_cFv();
-extern "C" void procSideStepLandInit__9daAlink_cFv();
-extern "C" void procSideStepLand__9daAlink_cFv();
-extern "C" void procSlideInit__9daAlink_cFs();
-extern "C" void procSlide__9daAlink_cFv();
-extern "C" void procSlideLandInit__9daAlink_cFi();
-extern "C" void procSlideLand__9daAlink_cFv();
-extern "C" void procFrontRollInit__9daAlink_cFv();
-extern "C" void procFrontRoll__9daAlink_cFv();
-extern "C" void procFrontRollCrashInit__9daAlink_cFv();
-extern "C" void procFrontRollCrash__9daAlink_cFv();
-extern "C" void procFrontRollSuccessInit__9daAlink_cFv();
-extern "C" void procFrontRollSuccess__9daAlink_cFv();
-extern "C" void procSideRollInit__9daAlink_cFi();
-extern "C" void procSideRoll__9daAlink_cFv();
-extern "C" void backJumpSpeedDec__9daAlink_cFv();
-extern "C" void procBackJumpInit__9daAlink_cFi();
-extern "C" void procBackJump__9daAlink_cFv();
-extern "C" void procBackJumpLandInit__9daAlink_cFi();
-extern "C" void procBackJumpLand__9daAlink_cFv();
-extern "C" void procSlipInit__9daAlink_cFv();
-extern "C" void procSlip__9daAlink_cFv();
-extern "C" void procAutoJumpInit__9daAlink_cFi();
-extern "C" void procAutoJump__9daAlink_cFv();
-extern "C" void procDiveJumpInit__9daAlink_cFv();
-extern "C" void procDiveJump__9daAlink_cFv();
-extern "C" void procRollJumpInit__9daAlink_cFv();
-extern "C" void procRollJump__9daAlink_cFv();
-extern "C" void procFallInit__9daAlink_cFif();
-extern "C" void procFall__9daAlink_cFv();
-extern "C" void procLandInit__9daAlink_cFf();
-extern "C" void procLand__9daAlink_cFv();
-extern "C" void procSmallJumpInit__9daAlink_cFi();
-extern "C" void procSmallJump__9daAlink_cFv();
-extern "C" void procStepMoveInit__9daAlink_cFv();
-extern "C" void procStepMove__9daAlink_cFv();
-extern "C" void procCrouchInit__9daAlink_cFv();
-extern "C" void procCrouch__9daAlink_cFv();
-extern "C" void procCoMetamorphoseInit__9daAlink_cFv();
-extern "C" void procCoMetamorphose__9daAlink_cFv();
-extern "C" void procCoMetamorphoseOnlyInit__9daAlink_cFv();
-extern "C" void procCoMetamorphoseOnly__9daAlink_cFv();
-extern "C" void procFloorDownReboundInit__9daAlink_cFv();
-extern "C" void procFloorDownRebound__9daAlink_cFv();
-extern "C" void procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procGoronRideWait__9daAlink_cFv();
-extern "C" void execute__9daAlink_cFv();
-extern "C" static void daAlink_Execute__FP9daAlink_c();
-extern "C" void setDrawHand__9daAlink_cFv();
-extern "C" void checkSwordDraw__9daAlink_cFv();
-extern "C" void checkShieldDraw__9daAlink_cFv();
-extern "C" void checkItemDraw__9daAlink_cFv();
-extern "C" void initShadowScaleLight__9daAlink_cFv();
-extern "C" void moveShadowScaleLight__9daAlink_cFv();
-extern "C" void shadowDraw__9daAlink_cFv();
-extern "C" void modelCalc__9daAlink_cFP8J3DModel();
-extern "C" void basicModelDraw__9daAlink_cFP8J3DModel();
-extern "C" void modelDraw__9daAlink_cFP8J3DModeli();
-extern "C" void setWaterDropColor__9daAlink_cFPC13J3DGXColorS10();
-extern "C" void initTevCustomColor__9daAlink_cFv();
-extern "C" void draw__9daAlink_cFv();
-extern "C" static void daAlink_Draw__FP9daAlink_c();
-extern "C" void __dt__9daAlink_cFv();
-extern "C" static void daAlink_Delete__FP9daAlink_c();
-extern "C" void checkNoSubjectModeCamera__9daAlink_cFv();
-extern "C" void acceptSubjectModeChange__9daAlink_cFv();
-extern "C" void checkSubjectAction__9daAlink_cFv();
-extern "C" void checkBodyAngleX__9daAlink_cFs();
-extern "C" void setBodyAngleToCamera__9daAlink_cFv();
-extern "C" void setSubjectMode__9daAlink_cFv();
-extern "C" void subjectCancelTrigger__9daAlink_cFv();
-extern "C" void checkSubjectEnd__9daAlink_cFi();
-extern "C" void searchPeepObj__9daAlink_cFP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchPeepObj__FP10fopAc_ac_cPv();
-extern "C" void procCoSubjectivityInit__9daAlink_cFv();
-extern "C" void procCoSubjectivity__9daAlink_cFv();
-extern "C" void procCoSwimSubjectivityInit__9daAlink_cFv();
-extern "C" void procCoSwimSubjectivity__9daAlink_cFv();
-extern "C" void procCoPeepSubjectivityInit__9daAlink_cFv();
-extern "C" void procCoPeepSubjectivity__9daAlink_cFv();
-extern "C" void checkBoardRide__9daAlink_cCFv();
-extern "C" void checkCanoeRide__9daAlink_cCFv();
-extern "C" void checkHorseRide__9daAlink_cCFv();
-extern "C" void getLeftItemMatrix__9daAlink_cFv();
-extern "C" void checkBoarRide__9daAlink_cCFv();
-extern "C" void checkSpinnerRide__9daAlink_cCFv();
-extern "C" void getLeftHandMatrix__9daAlink_cFv();
-extern "C" void getRightHandMatrix__9daAlink_cFv();
-extern "C" void onSceneChangeArea__9daAlink_cFUcUcP10fopAc_ac_c();
-extern "C" void getRightItemMatrix__9daAlink_cFv();
-extern "C" void checkPlayerNoDraw__9daAlink_cFv();
-extern "C" void __ct__9daAlink_cFv();
-extern "C" void __dt__Q29daAlink_c14firePointEff_cFv();
-extern "C" void __ct__Q29daAlink_c14firePointEff_cFv();
-extern "C" void __dt__15LIGHT_INFLUENCEFv();
-extern "C" void __dt__18daAlink_footData_cFv();
-extern "C" void __ct__18daAlink_footData_cFv();
-extern "C" void __dt__29dAlink_bottleWaterPcallBack_cFv();
-extern "C" void __dt__14daAlink_blur_cFv();
-extern "C" void __dt__15daAlink_sight_cFv();
-extern "C" void __dt__20daAlink_lockCursor_cFv();
-extern "C" BOOL checkRideOn__9daAlink_cCFv(daAlink_c* this_);
-extern "C" static dAttCatch_c* dComIfGp_att_getCatghTarget__Fv();
-extern "C" static void mDoAud_setLinkHp__Fll(s32 param_0, s32 param_1);
-extern "C" static u16 dComIfGs_getLife__Fv();
-extern "C" static u8 dComIfGp_getRStatus__Fv();
-extern "C" BOOL checkAttentionLock__9daAlink_cFv(daAlink_c* this_);
-extern "C" void dComIfGp_setItemLifeCount__FfUc(f32, u8);
-extern "C" static void cMtx_multVec__FPA4_CfPC3VecP3Vec();
-static void cMtx_multVec(f32 const (*param_0)[4], Vec const* param_1, Vec* param_2);
-extern "C" MtxP getAnmMtx__8J3DModelFi(J3DModel* this_, int i);
-extern "C" void setBaseTRMtx__8J3DModelFPA4_f(J3DModel* this_, MtxP matrix);
-extern "C" BOOL checkFmChainGrabAnime__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkSmallUpperGuardAnime__9daAlink_cCFv(daAlink_c* this_);
-extern "C" static void dComIfGp_evmng_startCheck__FPCc();
-extern "C" static void mDoAud_setLinkGroupInfo__FUc(u8 param_0);
-extern "C" void getAnm__25mDoExt_MtxCalcAnmBlendTblFi();
-extern "C" bool ChkRoofHit__9dBgS_AcchCFv(dBgS_Acch* this_);
-extern "C" void ClrGroundHit__9dBgS_AcchFv(dBgS_Acch* this_);
-extern "C" u32 checkReinRide__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfEnemyThrowAnime__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkSpecialDemoMode__9daAlink_cCFv(daAlink_c* this_);
-extern "C" void setMidnaTalkStatus__9daAlink_cFUc(daAlink_c* this_, u8 status);
-extern "C" void set3DStatus__9daAlink_cFUcUc(daAlink_c* this_, u8 status, u8 direction);
-extern "C" void offSetFlg__16daAlink_matAnm_cFv(daAlink_matAnm_c*);
-extern "C" u32 checkModeFlg__9daAlink_cCFUl(daAlink_c* this_, u32);
-extern "C" u8 getShieldChangeWaitTimer__9daAlink_cCFv(daAlink_c* this_);
-extern "C" u8 getClothesChangeWaitTimer__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkHorseStart__9daAlink_cFv(daAlink_c* this_);
-extern "C" BOOL checkCutTurnCharge__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkAcceptDungeonWarpAlink__9daAlink_cFi(daAlink_c* this_);
-extern "C" daSpinner_c* getSpinnerActor__9daAlink_cFv(daAlink_c* this_);
-extern "C" s16 getSumouCounter__9daAlink_cCFv(daAlink_c* this_);
-extern "C" s16 checkSumouWithstand__9daAlink_cCFv(daAlink_c* this_);
-extern "C" void setMidnaMsgNum__9daAlink_cFP10fopAc_ac_cUs(daAlink_c* this_, fopAc_ac_c* param_0, u16 pMsgNum);
-extern "C" MtxP getModelMtx__9daAlink_cFv(daAlink_c* this_);
-extern "C" MtxP getInvMtx__9daAlink_cFv(daAlink_c* this_);
-extern "C" MtxP getLinkBackBone1Matrix__9daAlink_cFv(daAlink_c* this_);
-extern "C" MtxP getWolfMouthMatrix__9daAlink_cFv(daAlink_c* this_);
-extern "C" MtxP getWolfBackbone2Matrix__9daAlink_cFv(daAlink_c* this_);
-extern "C" MtxP getBottleMtx__9daAlink_cFv(daAlink_c* this_);
-extern "C" MtxP getHeadMtx__9daAlink_cFv(daAlink_c* this_);
-extern "C" f32 getGroundY__9daAlink_cFv(daAlink_c* this_);
-extern "C" f32 getBaseAnimeFrameRate__9daAlink_cCFv(daAlink_c* this_);
-extern "C" s32 getAtnActorID__9daAlink_cCFv(daAlink_c* this_);
-extern "C" s32 getItemID__9daAlink_cCFv(daAlink_c* this_);
-extern "C" s32 getGrabActorID__9daAlink_cCFv(daAlink_c* this_);
-extern "C" void setForcePutPos__9daAlink_cFRC4cXyz(daAlink_c* this_, cXyz const& pPutPos);
-extern "C" u32 checkPlayerFly__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkFrontRoll__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfDash__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkAutoJump__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkSideStep__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkWolfTriggerJump__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkGuardBreakMode__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkLv3Slide__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkWolfHowlDemoMode__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkElecDamage__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkEmptyBottleSwing__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkBottleSwingMode__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkHawkWait__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkGoatThrow__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkGoatThrowAfter__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfTagLockJump__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfTagLockJumpLand__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfRopeHang__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkRollJump__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkGoronRideWait__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfChain__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfWait__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfJumpAttack__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfRSit__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkBottleDrinkEnd__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfDig__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkCutCharge__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkCutLargeJumpCharge__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkComboCutTurn__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkClimbMove__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkGrassWhistle__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkBoarRun__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkHorseRideNotReady__9daAlink_cCFv(daAlink_c* this_);
-extern "C" f32 getSearchBallScale__9daAlink_cCFv(daAlink_c* this_);
-extern "C" s16 checkFastShotTime__9daAlink_cFv(daAlink_c* this_);
-extern "C" BOOL checkCutJumpCancelTurn__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkSingleBoarBattleSecondBowReady__9daAlink_cCFv(daAlink_c* this_);
-extern "C" void cancelDungeonWarpReadyNeck__9daAlink_cFv(daAlink_c* this_);
-extern "C" void onSceneChangeAreaJump__9daAlink_cFUcUcP10fopAc_ac_c(daAlink_c* this_, u8 exitID, u8 exitDirection, fopAc_ac_c* scexAc);
-extern "C" void onSceneChangeDead__9daAlink_cFUci(daAlink_c* this_, u8 param_0, int param_1);
-extern "C" bool checkNoEquipItem__9daAlink_cCFv(daAlink_c* this_);
-extern "C" s16 getBoardCutTurnOffsetAngleY__9daAlink_cCFv(daAlink_c* this_);
-extern "C" cXyz* getMagneBootsTopVec__9daAlink_cFv(daAlink_c* this_);
-extern "C" void setCargoCarry__9daAlink_cFP10fopAc_ac_c(daAlink_c* this_, fopAc_ac_c* p_actor);
-extern "C" void setGoronSideMove__9daAlink_cFP10fopAc_ac_c(daAlink_c* this_, fopAc_ac_c* p_actor);
-extern "C" void setSumouReady__9daAlink_cFP10fopAc_ac_c(daAlink_c* this_, fopAc_ac_c* p_actor);
-extern "C" void setSumouPushBackDirection__9daAlink_cFs(daAlink_c* this_, s16 param_0);
-extern "C" void setSumouLoseHeadUp__9daAlink_cFv(daAlink_c* this_);
-extern "C" bool checkPriActorOwn__9daAlink_cCFPC10fopAc_ac_c(daAlink_c* this_, const fopAc_ac_c* p_actor);
-extern "C" bool checkWolfEnemyBiteAllOwn__9daAlink_cCFPC10fopAc_ac_c(daAlink_c* this_, const fopAc_ac_c* p_actor);
-extern "C" void setWolfEnemyHangBiteAngle__9daAlink_cFs(daAlink_c* this_, s16 angle);
-extern "C" void setSumouGraspCancelCount__9daAlink_cFi(daAlink_c* this_, int param_0);
-extern "C" bool checkItemSwordEquip__9daAlink_cCFv(daAlink_c* this_);
-extern "C" f32 getSinkShapeOffset__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkSinkDead__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkCutJumpMode__9daAlink_cCFv(daAlink_c* this_);
-extern "C" s16 getGiantPuzzleAimAngle__9daAlink_cCFv(daAlink_c* this_);
-extern "C" u8 getSwordChangeWaitTimer__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkMetamorphose__9daAlink_cCFv(daAlink_c* this_);
-extern "C" BOOL checkWolfDownAttackPullOut__9daAlink_cCFv(daAlink_c* this_);
-extern "C" void getMidnaAtnPos__9daAlink_cCFv();
-extern "C" bool checkCopyRodEquip__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkCanoeFishingGetLeft__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkCanoeFishingGetRight__9daAlink_cCFv(daAlink_c* this_);
-extern "C" u8 checkBeeChildDrink__9daAlink_cCFv(daAlink_c* this_);
-extern "C" Z2WolfHowlMgr* getWolfHowlMgrP__9daAlink_cFv(daAlink_c* this_);
-extern "C" BOOL checkWolfHowlSuccessAnime__9daAlink_cCFv(daAlink_c* this_);
-extern "C" bool checkOctaIealHang__9daAlink_cCFv(daAlink_c* this_);
-extern "C" void cancelOctaIealHang__9daAlink_cFv(daAlink_c* this_);
-extern "C" void cancelDragonHangBackJump__9daAlink_cFv(daAlink_c* this_);
-extern "C" void setOctaIealWildHang__9daAlink_cFv(daAlink_c* this_);
-extern "C" bool checkDragonHangRide__9daAlink_cCFv(daAlink_c* this_);
-extern "C" void playerStartCollisionSE__9daAlink_cFUlUl(daAlink_c* this_, u32 param_0, u32 param_1);
-extern "C" void __dt__16daAlink_matAnm_cFv();
-extern "C" void __dt__12dBgS_ObjAcchFv();
-extern "C" void __dt__Q29daAlink_c14hsChainShape_cFv();
-extern "C" static void daAlink_searchNightStalker__FP10fopAc_ac_cPv();
-extern "C" void checkLightSwordMtrl__9daAlink_cFv();
-extern "C" void checkSwordEquipAnime__9daAlink_cCFv();
-extern "C" void checkCutDashAnime__9daAlink_cCFv();
-extern "C" void checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf();
-extern "C" void getSwordAtType__9daAlink_cFv();
-extern "C" void initCutTurnAt__9daAlink_cFfi();
-extern "C" void checkCutFinishJumpUp__9daAlink_cFv();
-extern "C" void changeCutFast__9daAlink_cFv();
-extern "C" void checkCutFastReady__9daAlink_cFv();
-extern "C" void setSwordModel__9daAlink_cFv();
-extern "C" void offSwordModel__9daAlink_cFv();
-extern "C" void checkCutTypeNoBlur__9daAlink_cCFv();
-extern "C" void checkCutTurnInput__9daAlink_cCFv();
-extern "C" void getCutTurnDirection__9daAlink_cCFv();
-extern "C" void resetCombo__9daAlink_cFi();
-extern "C" void checkComboCnt__9daAlink_cFv();
-extern "C" void setCutType__9daAlink_cFUc();
-extern "C" void setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff();
-extern "C" void setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff();
-extern "C" void notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c();
-extern "C" void setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void checkAtShieldHit__9daAlink_cFR12dCcD_GObjInf();
-extern "C" void checkCutReverseAt__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM();
-extern "C" void setCutDash__9daAlink_cFii();
-extern "C" void checkForceSwordSwing__9daAlink_cFv();
-extern "C" void setComboReserb__9daAlink_cFv();
-extern "C" void checkComboReserb__9daAlink_cFv();
-extern "C" void commonCutAction__9daAlink_cFv();
-extern "C" void setSwordVoiceSe__9daAlink_cFUl();
-extern "C" void setSwordChargeVoiceSe__9daAlink_cFv();
-extern "C" void setSwordComboVoice__9daAlink_cFv();
-extern "C" void checkCutTurnInputTrigger__9daAlink_cFv();
-extern "C" void checkCutAction__9daAlink_cFv();
-extern "C" void checkCutTurnCharge__9daAlink_cFv();
-extern "C" void getCutDirection__9daAlink_cFv();
-extern "C" void checkCutCancelNextMode__9daAlink_cFi();
-extern "C" void checkDoCutAction__9daAlink_cFv();
-extern "C" void checkCutBackState__9daAlink_cFv();
-extern "C" void checkCutHeadState__9daAlink_cFv();
-extern "C" void checkDownAttackState__9daAlink_cFv();
-extern "C" void checkCutLargeTurnState__9daAlink_cCFv();
-extern "C" void cancelCutCharge__9daAlink_cFv();
-extern "C" void initCutAtnActorSearch__9daAlink_cFv();
-extern "C" void checkCutAtnActorChange__9daAlink_cFv();
-extern "C" void setCutJumpSpeed__9daAlink_cFi();
-extern "C" void procCutNormalInit__9daAlink_cFi();
-extern "C" void procCutNormal__9daAlink_cFv();
-extern "C" void procCutFinishInit__9daAlink_cFi();
-extern "C" void procCutFinish__9daAlink_cFv();
-extern "C" void procCutFinishJumpUpInit__9daAlink_cFv();
-extern "C" void procCutFinishJumpUp__9daAlink_cFv();
-extern "C" void procCutFinishJumpUpLandInit__9daAlink_cFv();
-extern "C" void procCutFinishJumpUpLand__9daAlink_cFv();
-extern "C" void procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM();
-extern "C" void procCutReverse__9daAlink_cFv();
-extern "C" void procCutJumpInit__9daAlink_cFi();
-extern "C" void procCutJump__9daAlink_cFv();
-extern "C" void procCutJumpLandInit__9daAlink_cFi();
-extern "C" void procCutJumpLand__9daAlink_cFv();
-extern "C" void procCutTurnInit__9daAlink_cFii();
-extern "C" void procCutTurn__9daAlink_cFv();
-extern "C" void procCutTurnChargeInit__9daAlink_cFv();
-extern "C" void procCutTurnCharge__9daAlink_cFv();
-extern "C" void procCutTurnMoveInit__9daAlink_cFi();
-extern "C" void procCutTurnMove__9daAlink_cFv();
-extern "C" void procCutDownInit__9daAlink_cFv();
-extern "C" void procCutDown__9daAlink_cFv();
-extern "C" void procCutDownLandInit__9daAlink_cFP13fopEn_enemy_c();
-extern "C" void procCutDownLand__9daAlink_cFv();
-extern "C" void procCutHeadInit__9daAlink_cFv();
-extern "C" void procCutHead__9daAlink_cFv();
-extern "C" void procCutHeadLandInit__9daAlink_cFv();
-extern "C" void procCutHeadLand__9daAlink_cFv();
-extern "C" void procCutLargeJumpChargeInit__9daAlink_cFv();
-extern "C" void procCutLargeJumpCharge__9daAlink_cFv();
-extern "C" void procCutLargeJumpInit__9daAlink_cFv();
-extern "C" void procCutLargeJump__9daAlink_cFv();
-extern "C" void procCutLargeJumpLandInit__9daAlink_cFi();
-extern "C" void procCutLargeJumpLand__9daAlink_cFv();
-extern "C" void procSwordUnequipSpInit__9daAlink_cFv();
-extern "C" void procSwordUnequipSp__9daAlink_cFv();
-extern "C" void getFreezeR__9daAlink_cCFv();
-extern "C" void getFreezeG__9daAlink_cCFv();
-extern "C" void getFreezeB__9daAlink_cCFv();
-extern "C" void checkMiddleBossGoronRoom__9daAlink_cFv();
-extern "C" void setDkCaught__9daAlink_cFP10fopAc_ac_c();
-extern "C" void freezeTimerDamage__9daAlink_cFv();
-extern "C" void onPressedDamage__9daAlink_cFRC4cXyzs();
-extern "C" void checkNoLandDamageSlidePolygon__9daAlink_cFv();
-extern "C" void checkCutLandDamage__9daAlink_cFv();
-extern "C" void checkCaughtEscapeCutTurn__9daAlink_cFv();
-extern "C" void setThrowDamage__9daAlink_cFsffiii();
-extern "C" void damageMagnification__9daAlink_cFii();
-extern "C" void setDamagePoint__9daAlink_cFiiii();
-extern "C" void setDamagePointNormal__9daAlink_cFi();
-extern "C" void setLandDamagePoint__9daAlink_cFi();
-extern "C" void getDamageVec__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void setDashDamage__9daAlink_cFv();
-extern "C" void checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo();
-extern "C" void checkMagicArmorNoDamage__9daAlink_cFv();
-extern "C" void checkPolyDamage__9daAlink_cFv();
-extern "C" void checkElecReturnDamage__9daAlink_cFR12dCcD_GObjInfPP10fopAc_ac_c();
-extern "C" void damageTimerCount__9daAlink_cFv();
-extern "C" void checkHugeAttack__9daAlink_cCFi();
-extern "C" void checkLargeAttack__9daAlink_cCFi();
-extern "C" void checkDamageAction__9daAlink_cFv();
-extern "C" void procDamageInit__9daAlink_cFP12dCcD_GObjInfi();
-extern "C" void procDamage__9daAlink_cFv();
-extern "C" void procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi();
-extern "C" void procCoLargeDamage__9daAlink_cFv();
-extern "C" void procLargeDamageUpInit__9daAlink_cFiiss();
-extern "C" void procLargeDamageUp__9daAlink_cFv();
-extern "C" void procCoLargeDamageWallInit__9daAlink_cFiiss();
-extern "C" void procCoLargeDamageWall__9daAlink_cFv();
-extern "C" void procCoPolyDamageInit__9daAlink_cFv();
-extern "C" void procCoPolyDamage__9daAlink_cFv();
-extern "C" void procLandDamageInit__9daAlink_cFi();
-extern "C" void procLandDamage__9daAlink_cFv();
-extern "C" void procCoElecDamageInit__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfi();
-extern "C" void procCoElecDamage__9daAlink_cFv();
-extern "C" void procStEscapeInit__9daAlink_cFv();
-extern "C" void procStEscape__9daAlink_cFv();
-extern "C" void procDkCaughtInit__9daAlink_cFUi();
-extern "C" void procDkCaught__9daAlink_cFv();
-extern "C" void setScreamWaitAnime__9daAlink_cFv();
-extern "C" void procScreamWaitInit__9daAlink_cFv();
-extern "C" void procScreamWait__9daAlink_cFv();
-extern "C" void procCoSandWallHitInit__9daAlink_cFv();
-extern "C" void procCoSandWallHit__9daAlink_cFv();
-extern "C" void procCoLavaReturnInit__9daAlink_cFi();
-extern "C" void procCoLavaReturn__9daAlink_cFv();
-extern "C" void procCoSwimFreezeReturnInit__9daAlink_cFv();
-extern "C" void procCoSwimFreezeReturn__9daAlink_cFv();
-extern "C" void checkEnemyGroup__9daAlink_cFP10fopAc_ac_c();
-extern "C" void checkSpecialNpc__9daAlink_cFP10fopAc_ac_c();
-extern "C" void checkShieldAttackEmphasys__9daAlink_cFv();
-extern "C" void checkGuardActionChange__9daAlink_cFv();
-extern "C" void stickArrowIncrement__9daAlink_cFi();
-extern "C" void setArrowShieldActor__9daAlink_cFP10fopAc_ac_ci();
-extern "C" void checkWoodShieldEquipNotIronBall__9daAlink_cCFv();
-extern "C" void getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz();
-extern "C" void setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz();
-extern "C" void checkUpperGuardAnime__9daAlink_cCFv();
-extern "C" void checkPlayerGuard__9daAlink_cCFv();
-extern "C" void checkPlayerGuardAndAttack__9daAlink_cCFv();
-extern "C" void checkGuardAccept__9daAlink_cFv();
-extern "C" void setUpperGuardAnime__9daAlink_cFf();
-extern "C" void setShieldGuard__9daAlink_cFv();
-extern "C" void setGuardSe__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void setSmallGuard__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf();
-extern "C" void procGuardSlip__9daAlink_cFv();
-extern "C" void procGuardAttackInit__9daAlink_cFv();
-extern "C" void procGuardAttack__9daAlink_cFv();
-extern "C" void procGuardBreakInit__9daAlink_cFv();
-extern "C" void procGuardBreak__9daAlink_cFv();
-extern "C" void procTurnMoveInit__9daAlink_cFi();
-extern "C" void procTurnMove__9daAlink_cFv();
-extern "C" void getArrowFlyData__9daAlink_cCFPfPfi();
-extern "C" void getArrowIncAtR__9daAlink_cCFv();
-extern "C" void getBombArrowFlyExplodeTime__9daAlink_cCFv();
-extern "C" void getArrowIncAtMaxStart__9daAlink_cCFv();
-extern "C" void getArrowIncAtMax__9daAlink_cCFv();
-extern "C" void checkBowAndSlingItem__9daAlink_cFi();
-extern "C" void setSlingModel__9daAlink_cFv();
-extern "C" void checkBowCameraArrowPosP__9daAlink_cFPsPs();
-extern "C" void checkArrowChargeEnd__9daAlink_cCFv();
-extern "C" void checkBowReadyAnime__9daAlink_cCFv();
-extern "C" void checkBowAnime__9daAlink_cCFv();
-extern "C" void makeArrow__9daAlink_cFv();
-extern "C" void deleteArrow__9daAlink_cFv();
-extern "C" void setBowOrSlingStatus__9daAlink_cFv();
-extern "C" void changeArrowType__9daAlink_cFv();
-extern "C" void cancelBowMoveRideNotAtn__9daAlink_cFv();
-extern "C" void cancelBowMove__9daAlink_cFv();
-extern "C" void setBowReadyAnime__9daAlink_cFv();
-extern "C" void setBowReloadAnime__9daAlink_cFv();
-extern "C" void checkUpperItemActionBow__9daAlink_cFv();
-extern "C" void checkUpperItemActionBowFly__9daAlink_cFv();
-extern "C" void checkNextActionBow__9daAlink_cFv();
-extern "C" void setBowModel__9daAlink_cFv();
-extern "C" void checkBowGrabLeftHand__9daAlink_cCFv();
-extern "C" void setBowHangAnime__9daAlink_cFv();
-extern "C" void setBowNormalAnime__9daAlink_cFv();
-extern "C" void setBowSight__9daAlink_cFv();
-extern "C" void procBowSubjectInit__9daAlink_cFv();
-extern "C" void procBowSubject__9daAlink_cFv();
-extern "C" void procBowMoveInit__9daAlink_cFv();
-extern "C" void procBowMove__9daAlink_cFv();
-extern "C" void checkBoomerangLockAccept__9daAlink_cFv();
-extern "C" void getBoomSpeed__9daAlink_cFv();
-extern "C" void getBoomCatchSpeed__9daAlink_cCFv();
-extern "C" void getBoomFlyMax__9daAlink_cCFv();
-extern "C" void getBoomLockMax__9daAlink_cFv();
-extern "C" void getBoomBgThroughTime__9daAlink_cCFv();
-extern "C" void checkBossBabaRoom__9daAlink_cFv();
-extern "C" void cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c();
-extern "C" void getBoomerangActor__9daAlink_cFv();
-extern "C" void checkBoomerangChargeEnd__9daAlink_cFv();
-extern "C" void checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c();
-extern "C" void initBoomerangUpperAnimeSpeed__9daAlink_cFi();
-extern "C" void checkBoomerangAnime__9daAlink_cCFv();
-extern "C" void checkBoomerangThrowAnime__9daAlink_cCFv();
-extern "C" void setBoomerangReadyQuake__9daAlink_cFv();
-extern "C" void setBoomerangReadyAnime__9daAlink_cFv();
-extern "C" void setThrowBoomerangAnime__9daAlink_cFv();
-extern "C" void setBoomerangCatchAnime__9daAlink_cFv();
-extern "C" void throwBoomerang__9daAlink_cFv();
-extern "C" void returnBoomerang__9daAlink_cFi();
-extern "C" void checkUpperItemActionBoomerang__9daAlink_cFv();
-extern "C" void checkUpperItemActionBoomerangFly__9daAlink_cFv();
-extern "C" void checkNextActionBoomerang__9daAlink_cFv();
-extern "C" void checkBoomerangCatchAction__9daAlink_cFv();
-extern "C" void setBoomerangSight__9daAlink_cFv();
-extern "C" void procBoomerangSubjectInit__9daAlink_cFv();
-extern "C" void procBoomerangSubject__9daAlink_cFv();
-extern "C" void procBoomerangMoveInit__9daAlink_cFv();
-extern "C" void procBoomerangMove__9daAlink_cFv();
-extern "C" void procBoomerangCatchInit__9daAlink_cFv();
-extern "C" void procBoomerangCatch__9daAlink_cFv();
-extern "C" void checkLv6BossRoom__9daAlink_cFv();
-extern "C" void getCopyRodBallSpeed__9daAlink_cCFv();
-extern "C" void getCopyRodBallReturnSpeed__9daAlink_cCFv();
-extern "C" void getCopyRodBallDisMax__9daAlink_cCFv();
-extern "C" void getCopyRodControllActor__9daAlink_cFv();
-extern "C" void getCopyRodCameraActor__9daAlink_cFv();
-extern "C" void initCopyRodUpperAnimeSpeed__9daAlink_cFi();
-extern "C" void checkForestOldCentury__9daAlink_cFv();
-extern "C" void checkCopyRodTopUse__9daAlink_cFv();
-extern "C" void checkCopyRodAnime__9daAlink_cCFv();
-extern "C" void setCopyRodControllAnime__9daAlink_cFv();
-extern "C" void setCopyRodControllUpperSpeedRate__9daAlink_cFv();
-extern "C" void setCopyRodModel__9daAlink_cFv();
-extern "C" void setCopyRodReadyAnime__9daAlink_cFv();
-extern "C" void throwCopyRod__9daAlink_cFv();
-extern "C" void returnCopyRod__9daAlink_cFv();
-extern "C" void checkUpperItemActionCopyRod__9daAlink_cFv();
-extern "C" void checkUpperItemActionCopyRodFly__9daAlink_cFv();
-extern "C" void checkNextActionCopyRod__9daAlink_cFv();
-extern "C" void setCopyRodSight__9daAlink_cFv();
-extern "C" void procCopyRodSubjectInit__9daAlink_cFv();
-extern "C" void procCopyRodSubject__9daAlink_cFv();
-extern "C" void procCopyRodMoveInit__9daAlink_cFv();
-extern "C" void procCopyRodMove__9daAlink_cFv();
-extern "C" void procCopyRodSwingInit__9daAlink_cFv();
-extern "C" void procCopyRodSwing__9daAlink_cFv();
-extern "C" void procCopyRodReviveInit__9daAlink_cFv();
-extern "C" void procCopyRodRevive__9daAlink_cFv();
-extern "C" void concatMagneBootMtx__9daAlink_cFv();
-extern "C" void concatMagneBootInvMtx__9daAlink_cFv();
-extern "C" void multVecMagneBootInvMtx__9daAlink_cFP4cXyz();
-extern "C" void commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz();
-extern "C" void checkBootsMoveAnime__9daAlink_cFi();
-extern "C" void setHeavyBoots__9daAlink_cFi();
-extern "C" void getMagneBootsLocalAngleY__9daAlink_cFsi();
-extern "C" void setMagneBootsMtx__9daAlink_cFP13cBgS_PolyInfoi();
-extern "C" void cancelMagneBootsOn__9daAlink_cFv();
-extern "C" void checkMagneBootsFly__9daAlink_cFv();
-extern "C" void procBootsEquipInit__9daAlink_cFv();
-extern "C" void procBootsEquip__9daAlink_cFv();
-extern "C" void procMagneBootsFlyInit__9daAlink_cFv();
-extern "C" void procMagneBootsFly__9daAlink_cFv();
-extern "C" void getBombExplodeTime__9daAlink_cCFv();
-extern "C" void getBombGravity__9daAlink_cCFv();
-extern "C" void getBombMaxFallSpeed__9daAlink_cCFv();
-extern "C" void getBombBoundRate__9daAlink_cCFv();
-extern "C" void getBombStopSpeedY__9daAlink_cCFv();
-extern "C" void getBombMaxSpeedY__9daAlink_cCFv();
-extern "C" void getBombEffScale__9daAlink_cCFv();
-extern "C" void getBombAtR__9daAlink_cCFv();
-extern "C" void getEnemyBombColorR__9daAlink_cCFv();
-extern "C" void getBombWaterGravity__9daAlink_cCFv();
-extern "C" void getBombWaterMaxFallSpeed__9daAlink_cCFv();
-extern "C" void getBombExplodeWaterEffectLimit__9daAlink_cCFv();
-extern "C" void getBombInsectLimitAngle__9daAlink_cCFv();
-extern "C" static void daAlink_checkLightBallA__FP10fopAc_ac_c();
-extern "C" static void daAlink_checkLightBallB__FP10fopAc_ac_c();
-extern "C" static void daAlink_searchLightBall__FP10fopAc_ac_cPv();
-extern "C" void checkGrabLineCheck__9daAlink_cFv();
-extern "C" void setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo();
-extern "C" void exchangeGrabActor__9daAlink_cFP10fopAc_ac_c();
-extern "C" void setForceGrab__9daAlink_cFP10fopAc_ac_cii();
-extern "C" void getGrabThrowRate__9daAlink_cFv();
-extern "C" void checkGrabThrowAnime__9daAlink_cCFv();
-extern "C" void checkGrabAnime__9daAlink_cCFv();
-extern "C" void checkGrabAnimeAndThrow__9daAlink_cCFv();
-extern "C" void checkGrabCarryActor__9daAlink_cFv();
-extern "C" void checkGrabSlowMoveActor__9daAlink_cFv();
-extern "C" void checkGrabHeavyActor__9daAlink_cFv();
-extern "C" void checkGrabSideActor__9daAlink_cFv();
-extern "C" void setGrabUpperAnime__9daAlink_cFf();
-extern "C" void checkGrabRooster__9daAlink_cFv();
-extern "C" void setGrabItemPos__9daAlink_cFv();
-extern "C" void freeGrabItem__9daAlink_cFv();
-extern "C" void setGrabUpperSpeedRate__9daAlink_cFv();
-extern "C" void setCarryArmAngle__9daAlink_cFff();
-extern "C" void checkGrabNotThrow__9daAlink_cFv();
-extern "C" void checkNextActionGrab__9daAlink_cFv();
-extern "C" void initGrabNextMode__9daAlink_cFv();
-extern "C" void setGrabItemThrow__9daAlink_cFv();
-extern "C" void checkUpperGrabItemThrow__9daAlink_cFf();
-extern "C" void putObjLineCheck__9daAlink_cFR11dBgS_LinChkP4cXyzP10fopAc_ac_c();
-extern "C" void grabLineCheck__9daAlink_cFP4cXyzP4cXyz();
-extern "C" void setGrabItemActor__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procGrabReadyInit__9daAlink_cFv();
-extern "C" void procGrabReady__9daAlink_cFv();
-extern "C" void procGrabUpInit__9daAlink_cFv();
-extern "C" void procGrabUp__9daAlink_cFv();
-extern "C" void procGrabMiss__9daAlink_cFv();
-extern "C" void procGrabThrowInit__9daAlink_cFi();
-extern "C" void procGrabThrow__9daAlink_cFv();
-extern "C" void procGrabPutInit__9daAlink_cFv();
-extern "C" void procGrabPut__9daAlink_cFv();
-extern "C" void procGrabWaitInit__9daAlink_cFv();
-extern "C" void procGrabWait__9daAlink_cFv();
-extern "C" void procGrabReboundInit__9daAlink_cFi();
-extern "C" void procGrabRebound__9daAlink_cFv();
-extern "C" void procGrabStandInit__9daAlink_cFv();
-extern "C" void procGrabStand__9daAlink_cFv();
-extern "C" void checkInsectActorName__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procInsectCatchInit__9daAlink_cFv();
-extern "C" void procInsectCatch__9daAlink_cFv();
-extern "C" void procPickUpInit__9daAlink_cFv();
-extern "C" void procPickUp__9daAlink_cFv();
-extern "C" void procPickPutInit__9daAlink_cFi();
-extern "C" void procPickPut__9daAlink_cFv();
-extern "C" void checkSetChainPullAnime__9daAlink_cFs();
-extern "C" void getChainStickAngleY__9daAlink_cCFs();
-extern "C" void checkChainEmphasys__9daAlink_cFv();
-extern "C" void searchFmChainPos__9daAlink_cFv();
-extern "C" void setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi();
-extern "C" void checkChainBlockPushPull__9daAlink_cFv();
-extern "C" void procFmChainUpInit__9daAlink_cFv();
-extern "C" void procFmChainUp__9daAlink_cFv();
-extern "C" void procFmChainStrongPullInit__9daAlink_cFv();
-extern "C" void procFmChainStrongPull__9daAlink_cFv();
-extern "C" void setWallGrabStatus__9daAlink_cFUcUc();
-extern "C" void getWallGrabStatus__9daAlink_cFv();
-extern "C" void wallGrabTrigger__9daAlink_cFv();
-extern "C" void wallGrabButton__9daAlink_cFv();
-extern "C" void setPushPullKeepData__9daAlink_cFQ29dBgW_Base13PushPullLabeli();
-extern "C" void checkPushPullTurnBlock__9daAlink_cFv();
-extern "C" void checkPullBehindWall__9daAlink_cFv();
-extern "C" void offGoatStopGame__9daAlink_cFv();
-extern "C" void checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c();
-extern "C" void getGoatCatchDistance2__9daAlink_cFv();
-extern "C" void endPushPull__9daAlink_cFv();
-extern "C" void getPushPullAnimeSpeed__9daAlink_cFv();
-extern "C" void procCoPushPullWaitInit__9daAlink_cFi();
-extern "C" void procCoPushPullWait__9daAlink_cFv();
-extern "C" void procCoPushMoveInit__9daAlink_cFii();
-extern "C" void procCoPushMove__9daAlink_cFv();
-extern "C" void procPullMoveInit__9daAlink_cFi();
-extern "C" void procPullMove__9daAlink_cFv();
-extern "C" static void daAlink_searchGoat__FP10fopAc_ac_cPv();
-extern "C" void cancelGoronThrowEvent__9daAlink_cFv();
-extern "C" void setGoatStopGameFail__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procGoatMoveInit__9daAlink_cFv();
-extern "C" void procGoatMove__9daAlink_cFv();
-extern "C" void procGoatCatchInit__9daAlink_cFP10fopAc_ac_cf();
-extern "C" void procGoatCatch__9daAlink_cFv();
-extern "C" void procGoatStrokeInit__9daAlink_cFv();
-extern "C" void procGoatStroke__9daAlink_cFv();
-extern "C" void procGoronMoveInit__9daAlink_cFv();
-extern "C" void procGoronMove__9daAlink_cFv();
-extern "C" void checkSumouVsActor__9daAlink_cFv();
-extern "C" void cancelSumouMode__9daAlink_cFv();
-extern "C" void sumouPunchTrigger__9daAlink_cFv();
-extern "C" void setSumouPunchStatus__9daAlink_cFv();
-extern "C" void procSumouReadyInit__9daAlink_cFv();
-extern "C" void procSumouReady__9daAlink_cFv();
-extern "C" void procSumouMoveInit__9daAlink_cFv();
-extern "C" void procSumouMove__9daAlink_cFv();
-extern "C" void procSumouSideMoveInit__9daAlink_cFv();
-extern "C" void procSumouSideMove__9daAlink_cFv();
-extern "C" void procSumouActionInit__9daAlink_cFiii();
-extern "C" void procSumouAction__9daAlink_cFv();
-extern "C" void procSumouStaggerInit__9daAlink_cFv();
-extern "C" void procSumouStagger__9daAlink_cFv();
-extern "C" void procSumouWinLoseInit__9daAlink_cFv();
-extern "C" void procSumouWinLose__9daAlink_cFv();
-extern "C" void procSumouShikoInit__9daAlink_cFv();
-extern "C" void procSumouShiko__9daAlink_cFv();
-extern "C" static void daAlink_searchBoar__FP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchCoach__FP10fopAc_ac_cPv();
-extern "C" void checkHorseZeldaBowMode__9daAlink_cFv();
-extern "C" void setHorseZeldaDamage__9daAlink_cFv();
-extern "C" void checkHorseDashAccept__9daAlink_cFv();
-extern "C" void checkCowGame__9daAlink_cFv();
-extern "C" void getReinRideDirection__9daAlink_cFv();
-extern "C" void checkReinRideBgCheck__9daAlink_cFv();
-extern "C" void commonInitForceRideRein__9daAlink_cFv();
-extern "C" void initForceRideBoar__9daAlink_cFv();
-extern "C" void initForceRideHorse__9daAlink_cFv();
-extern "C" void rideGetOff__9daAlink_cFv();
-extern "C" void checkHorseNotDamageReaction__9daAlink_cCFv();
-extern "C" void checkHorseWaitLashAnime__9daAlink_cCFv();
-extern "C" void checkHorseReinLeftOnly__9daAlink_cCFv();
-extern "C" void getReinHandType__9daAlink_cCFv();
-extern "C" void checkHorseLieAnime__9daAlink_cCFv();
-extern "C" void checkHorseSubjectivity__9daAlink_cCFv();
-extern "C" void setHorseSwordUpAnime__9daAlink_cFv();
-extern "C" void setHorseTurnUpperAnime__9daAlink_cFi();
-extern "C" void checkHorseNoUpperAnime__9daAlink_cCFv();
-extern "C" void getHorseReinHandPos__9daAlink_cFP4cXyzP4cXyz();
-extern "C" void checkHorseNotGrab__9daAlink_cCFv();
-extern "C" void setHorseStirrup__9daAlink_cFv();
-extern "C" void changeBoarRunRide__9daAlink_cFv();
-extern "C" void setSyncHorsePos__9daAlink_cFv();
-extern "C" void setSyncBoarPos__9daAlink_cFv();
-extern "C" void setSyncBoarRunPos__9daAlink_cFv();
-extern "C" void setSyncRidePos__9daAlink_cFv();
-extern "C" void setHorseTurnAnime__9daAlink_cFv();
-extern "C" void getBaseHorseAnime__9daAlink_cFPQ29daAlink_c11daAlink_ANM();
-extern "C" void checkHorseSpecialProc__9daAlink_cFv();
-extern "C" void checkHorseServiceWaitAnime__9daAlink_cFv();
-extern "C" void setSyncHorse__9daAlink_cFi();
-extern "C" void setSyncBoar__9daAlink_cFi();
-extern "C" void setSyncRide__9daAlink_cFi();
-extern "C" void setBaseHorseAnimeFrame__9daAlink_cFv();
-extern "C" void setBaseBoarAnime__9daAlink_cFv();
-extern "C" void setBaseRideAnime__9daAlink_cFv();
-extern "C" void checkHorseSwordUpSpped__9daAlink_cFv();
-extern "C" void setHorseSwordUp__9daAlink_cFi();
-extern "C" void setRideSubjectAngle__9daAlink_cFs();
-extern "C" void setBodyAngleRideReadyAnime__9daAlink_cFv();
-extern "C" void checkHorseGetOffWallCheck__9daAlink_cFP4cXyzP4cXyzs();
-extern "C" void checkHorseGetOffDirection__9daAlink_cFv();
-extern "C" void boarForceGetOff__9daAlink_cFv();
-extern "C" void horseGetOffEnd__9daAlink_cFv();
-extern "C" void checkNextActionHorse__9daAlink_cFv();
-extern "C" void checkHorseGetOff__9daAlink_cFv();
-extern "C" void checkHorseGetOffAndSetDoStatus__9daAlink_cFv();
-extern "C" void setHorseGetOff__9daAlink_cFi();
-extern "C" void procHorseRideInit__9daAlink_cFv();
-extern "C" void procHorseRide__9daAlink_cFv();
-extern "C" void procHorseGetOffInit__9daAlink_cFi();
-extern "C" void procHorseGetOff__9daAlink_cFv();
-extern "C" void procHorseWaitInit__9daAlink_cFv();
-extern "C" void procHorseWait__9daAlink_cFv();
-extern "C" void procHorseTurnInit__9daAlink_cFv();
-extern "C" void procHorseTurn__9daAlink_cFv();
-extern "C" void procHorseJumpInit__9daAlink_cFv();
-extern "C" void procHorseJump__9daAlink_cFv();
-extern "C" void procHorseLandInit__9daAlink_cFv();
-extern "C" void procHorseLand__9daAlink_cFv();
-extern "C" void procHorseSubjectivityInit__9daAlink_cFv();
-extern "C" void procHorseSubjectivity__9daAlink_cFv();
-extern "C" void procHorseCutInit__9daAlink_cFv();
-extern "C" void procHorseCut__9daAlink_cFv();
-extern "C" void procHorseCutChargeReadyInit__9daAlink_cFv();
-extern "C" void procHorseCutChargeReady__9daAlink_cFv();
-extern "C" void procHorseCutTurnInit__9daAlink_cFv();
-extern "C" void procHorseCutTurn__9daAlink_cFv();
-extern "C" void procHorseDamageInit__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void procHorseDamage__9daAlink_cFv();
-extern "C" void procHorseBowSubjectInit__9daAlink_cFv();
-extern "C" void procHorseBowSubject__9daAlink_cFv();
-extern "C" void procHorseBowMoveInit__9daAlink_cFv();
-extern "C" void procHorseBowMove__9daAlink_cFv();
-extern "C" void procHorseGrabMoveInit__9daAlink_cFv();
-extern "C" void procHorseGrabMove__9daAlink_cFv();
-extern "C" void procHorseBoomerangSubjectInit__9daAlink_cFv();
-extern "C" void procHorseBoomerangSubject__9daAlink_cFv();
-extern "C" void procHorseBoomerangMoveInit__9daAlink_cFv();
-extern "C" void procHorseBoomerangMove__9daAlink_cFv();
-extern "C" void procHorseHookshotSubjectInit__9daAlink_cFv();
-extern "C" void procHorseHookshotSubject__9daAlink_cFv();
-extern "C" void procHorseHookshotMoveInit__9daAlink_cFv();
-extern "C" void procHorseHookshotMove__9daAlink_cFv();
-extern "C" void procHorseBottleDrinkInit__9daAlink_cFUs();
-extern "C" void procHorseBottleDrink__9daAlink_cFv();
-extern "C" void procHorseKandelaarPourInit__9daAlink_cFv();
-extern "C" void procHorseKandelaarPour__9daAlink_cFv();
-extern "C" void procHorseComebackInit__9daAlink_cFv();
-extern "C" void procHorseComeback__9daAlink_cFv();
-extern "C" void procHorseRunInit__9daAlink_cFv();
-extern "C" void procHorseRun__9daAlink_cFv();
-extern "C" void procHorseHangInit__9daAlink_cFP12dCcD_GObjInfi();
-extern "C" void procHorseHang__9daAlink_cFv();
-extern "C" void procHorseGetKeyInit__9daAlink_cFv();
-extern "C" void procHorseGetKey__9daAlink_cFv();
-extern "C" void procHorseLookDownInit__9daAlink_cFv();
-extern "C" void procHorseLookDown__9daAlink_cFv();
-extern "C" void procBoarRunInit__9daAlink_cFv();
-extern "C" void procBoarRun__9daAlink_cFv();
-extern "C" void getCanoeMaxSpeed__9daAlink_cCFv();
-extern "C" void getCanoeBackMaxSpeed__9daAlink_cCFv();
-extern "C" void getCanoeCres__9daAlink_cCFv();
-extern "C" void getCanoeSpeedRate__9daAlink_cCFv();
-extern "C" void getCanoeMaxRotSpeed__9daAlink_cCFv();
-extern "C" void getCanoeLocalPaddleTop__9daAlink_cFv();
-extern "C" static void daAlink_searchCanoe__FP10fopAc_ac_cPv();
-extern "C" void checkCanoeRideTandem__9daAlink_cFv();
-extern "C" void checkFishingRodAndLureItem__9daAlink_cCFv();
-extern "C" void initFishingRodHand__9daAlink_cFv();
-extern "C" void getCanoePaddleMatrix__9daAlink_cFv();
-extern "C" void checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c();
-extern "C" void checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c();
-extern "C" void checkCanoeFishingRodGrabOrPut__9daAlink_cCFv();
-extern "C" void initCanoeRide__9daAlink_cFv();
-extern "C" void checkCanoeJumpRide__9daAlink_cFv();
-extern "C" void setArmReelAnime__9daAlink_cFv();
-extern "C" void setFishingWaitAction__9daAlink_cFv();
-extern "C" void setFishGetFace__9daAlink_cFv();
-extern "C" void setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c();
-extern "C" void setSyncCanoePos__9daAlink_cFv();
-extern "C" void canoeCommon__9daAlink_cFv();
-extern "C" void checkNextActionCanoe__9daAlink_cFv();
-extern "C" void procCanoeRideInit__9daAlink_cFv();
-extern "C" void procCanoeRide__9daAlink_cFv();
-extern "C" void procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procCanoeJumpRide__9daAlink_cFv();
-extern "C" void procCanoeGetOffInit__9daAlink_cFv();
-extern "C" void procCanoeGetOff__9daAlink_cFv();
-extern "C" void procCanoeWaitInit__9daAlink_cFi();
-extern "C" void procCanoeWait__9daAlink_cFv();
-extern "C" void procCanoeRowInit__9daAlink_cFi();
-extern "C" void procCanoeRow__9daAlink_cFv();
-extern "C" void procCanoePaddleShiftInit__9daAlink_cFi();
-extern "C" void procCanoePaddleShift__9daAlink_cFv();
-extern "C" void procCanoePaddlePutInit__9daAlink_cFi();
-extern "C" void procCanoePaddlePut__9daAlink_cFv();
-extern "C" void procCanoePaddleGrabInit__9daAlink_cFv();
-extern "C" void procCanoePaddleGrab__9daAlink_cFv();
-extern "C" void procCanoeRodGrabInit__9daAlink_cFv();
-extern "C" void procCanoeRodGrab__9daAlink_cFv();
-extern "C" void procCanoeFishingWaitInit__9daAlink_cFv();
-extern "C" void procCanoeFishingWait__9daAlink_cFv();
-extern "C" void procCanoeFishingReelInit__9daAlink_cFv();
-extern "C" void procCanoeFishingReel__9daAlink_cFv();
-extern "C" void procCanoeFishingGetInit__9daAlink_cFv();
-extern "C" void procCanoeFishingGet__9daAlink_cFv();
-extern "C" void procCanoeSubjectivityInit__9daAlink_cFv();
-extern "C" void procCanoeSubjectivity__9daAlink_cFv();
-extern "C" void procCanoeBowSubjectInit__9daAlink_cFv();
-extern "C" void procCanoeBowSubject__9daAlink_cFv();
-extern "C" void procCanoeBowMoveInit__9daAlink_cFv();
-extern "C" void procCanoeBowMove__9daAlink_cFv();
-extern "C" void procCanoeGrabMoveInit__9daAlink_cFv();
-extern "C" void procCanoeGrabMove__9daAlink_cFv();
-extern "C" void procCanoeBoomerangSubjectInit__9daAlink_cFv();
-extern "C" void procCanoeBoomerangSubject__9daAlink_cFv();
-extern "C" void procCanoeBoomerangMoveInit__9daAlink_cFv();
-extern "C" void procCanoeBoomerangMove__9daAlink_cFv();
-extern "C" void procCanoeHookshotSubjectInit__9daAlink_cFv();
-extern "C" void procCanoeHookshotSubject__9daAlink_cFv();
-extern "C" void procCanoeHookshotMoveInit__9daAlink_cFv();
-extern "C" void procCanoeHookshotMove__9daAlink_cFv();
-extern "C" void procCanoeBottleDrinkInit__9daAlink_cFUs();
-extern "C" void procCanoeBottleDrink__9daAlink_cFv();
-extern "C" void procCanoeKandelaarPourInit__9daAlink_cFv();
-extern "C" void procCanoeKandelaarPour__9daAlink_cFv();
-extern "C" void setGroundFishingRodActor__9daAlink_cFv();
-extern "C" void procFishingCastInit__9daAlink_cFv();
-extern "C" void procFishingCast__9daAlink_cFv();
-extern "C" void procFishingFoodInit__9daAlink_cFv();
-extern "C" void procFishingFood__9daAlink_cFv();
-extern "C" void getCrawlMoveAnmSpeed__9daAlink_cFv();
-extern "C" void getCrawlMoveSpeed__9daAlink_cFv();
-extern "C" void setCrawlMoveDirectionArrow__9daAlink_cFv();
-extern "C" void changeCrawlAutoMoveProc__9daAlink_cFP4cXyz();
-extern "C" void getCrawlMoveVec__9daAlink_cFP4cXyzP4cXyzP4cXyziiPUc();
-extern "C" void crawlBgCheck__9daAlink_cFP4cXyzP4cXyzi();
-extern "C" void checkCrawlSideWall__9daAlink_cFP4cXyzP4cXyzP4cXyzP4cXyzPsPs();
-extern "C" void decideCrawlDoStatus__9daAlink_cFv();
-extern "C" void checkNotCrawlStand__9daAlink_cFP4cXyz();
-extern "C" void checkNotCrawlStand__9daAlink_cFP4cXyzP4cXyz();
-extern "C" void checkCrawlInHoll__9daAlink_cFP4cXyzP4cXyzP4cXyzi();
-extern "C" void setCrawlMoveHoll__9daAlink_cFv();
-extern "C" void setCrawlMoveAngle__9daAlink_cFv();
-extern "C" void stopHalfMoveAnime__9daAlink_cFf();
-extern "C" void setCrawlAutoMoveAimPos__9daAlink_cFv();
-extern "C" void procCrawlStartInit__9daAlink_cFv();
-extern "C" void procCrawlStart__9daAlink_cFv();
-extern "C" void procCrawlMoveInit__9daAlink_cFss();
-extern "C" void procCrawlMove__9daAlink_cFv();
-extern "C" void procCrawlAutoMoveInit__9daAlink_cFiP4cXyz();
-extern "C" void procCrawlAutoMove__9daAlink_cFv();
-extern "C" void procCrawlEndInit__9daAlink_cFiss();
-extern "C" void procCrawlEnd__9daAlink_cFv();
-extern "C" void getHangMoveAnmSpeed__9daAlink_cFv();
-extern "C" void getHangDirectionFromAngle__9daAlink_cFv();
-extern "C" void hangMoveBgCheck__9daAlink_cFsP4cXyz();
-extern "C" void changeHangMoveProc__9daAlink_cFi();
-extern "C" void checkHangFootWall__9daAlink_cFv();
-extern "C" void setHangGroundY__9daAlink_cFv();
-extern "C" void changeHangEndProc__9daAlink_cFv();
-extern "C" void checkHangStartSideWall__9daAlink_cFs();
-extern "C" void procHangStartInit__9daAlink_cFv();
-extern "C" void procHangStart__9daAlink_cFv();
-extern "C" void procHangFallStartInit__9daAlink_cFP8cM3dGPla();
-extern "C" void procHangFallStart__9daAlink_cFv();
-extern "C" void procHangUpInit__9daAlink_cFi();
-extern "C" void procHangUp__9daAlink_cFv();
-extern "C" void procHangWaitInit__9daAlink_cFv();
-extern "C" void procHangWait__9daAlink_cFv();
-extern "C" void procHangMoveInit__9daAlink_cFi();
-extern "C" void procHangMove__9daAlink_cFv();
-extern "C" void procHangClimbInit__9daAlink_cFf();
-extern "C" void procHangClimb__9daAlink_cFv();
-extern "C" void procHangWallCatchInit__9daAlink_cFv();
-extern "C" void procHangWallCatch__9daAlink_cFv();
-extern "C" void procHangReadyInit__9daAlink_cFv();
-extern "C" void procHangReady__9daAlink_cFv();
-extern "C" void procHangLeverDownInit__9daAlink_cFv();
-extern "C" void procHangLeverDown__9daAlink_cFv();
-extern "C" void changeDragonActor__9daAlink_cFP10fopAc_ac_c();
-extern "C" void setDragonHangPos__9daAlink_cFv();
-extern "C" void setOctaIealHangPos__9daAlink_cFv();
-extern "C" void setBossBodyHangPos__9daAlink_cFv();
-extern "C" void procBossBodyHangInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procBossBodyHang__9daAlink_cFv();
-extern "C" void getLadderUnitCount__9daAlink_cCFv();
-extern "C" void setLadderInit__9daAlink_cFv();
-extern "C" void setLadderPosInit__9daAlink_cFv();
-extern "C" void setLadderPos__9daAlink_cFi();
-extern "C" void getLadderMoveAnmSpeed__9daAlink_cFv();
-extern "C" void changeLadderMoveProc__9daAlink_cFi();
-extern "C" void setMoveBGLadderCorrect__9daAlink_cFv();
-extern "C" void checkLadderFall__9daAlink_cFv();
-extern "C" void procLadderUpStartInit__9daAlink_cFv();
-extern "C" void procLadderUpStart__9daAlink_cFv();
-extern "C" void procLadderUpEndInit__9daAlink_cFi();
-extern "C" void procLadderUpEnd__9daAlink_cFv();
-extern "C" void procLadderDownStartInit__9daAlink_cFv();
-extern "C" void procLadderDownStart__9daAlink_cFv();
-extern "C" void procLadderDownEndInit__9daAlink_cFi();
-extern "C" void procLadderDownEnd__9daAlink_cFv();
-extern "C" void procLadderMoveInit__9daAlink_cFiiP4cXyz();
-extern "C" void procLadderMove__9daAlink_cFv();
-extern "C" void getClimbMoveUpDownAnmSpeed__9daAlink_cFv();
-extern "C" void getClimbMoveSideAnmSpeed__9daAlink_cFv();
-extern "C" void checkClimbCode__9daAlink_cFR13cBgS_PolyInfo();
-extern "C" void setClimbInit__9daAlink_cFv();
-extern "C" void setClimbShapeOffset__9daAlink_cFv();
-extern "C" void getClimbDirectionFromAngle__9daAlink_cFv();
-extern "C" void changeClimbMoveProc__9daAlink_cFi();
-extern "C" void checkClimbMoveUpDownProc__9daAlink_cFi();
-extern "C" void checkClimbMoveSideProc__9daAlink_cFi();
-extern "C" void setMoveBGClimbCorrect__9daAlink_cFv();
-extern "C" void checkBgCorrectClimbMove__9daAlink_cFP4cXyzP4cXyz();
-extern "C" void checkClimbRoof__9daAlink_cFf();
-extern "C" void checkClimbGround__9daAlink_cFP4cXyzf();
-extern "C" void checkBgClimbMove__9daAlink_cFi();
-extern "C" void setClimbStartNotGround__9daAlink_cFv();
-extern "C" void procClimbUpStartInit__9daAlink_cFi();
-extern "C" void procClimbUpStart__9daAlink_cFv();
-extern "C" void procClimbDownStartInit__9daAlink_cFs();
-extern "C" void procClimbDownStart__9daAlink_cFv();
-extern "C" void procClimbMoveUpDownInit__9daAlink_cFi();
-extern "C" void procClimbMoveUpDown__9daAlink_cFv();
-extern "C" void procClimbMoveSideInit__9daAlink_cFv();
-extern "C" void procClimbMoveSide__9daAlink_cFv();
-extern "C" void procClimbWaitInit__9daAlink_cFii();
-extern "C" void procClimbWait__9daAlink_cFv();
-extern "C" void procClimbToRoofInit__9daAlink_cFv();
-extern "C" void procClimbToRoof__9daAlink_cFv();
-extern "C" void getRoofHangFMoveAnmSpeed__9daAlink_cCFv();
-extern "C" void getRoofHangSMoveAnmSpeed__9daAlink_cCFv();
-extern "C" void setRoofHangHandOnSE__9daAlink_cFP13cBgS_PolyInfo();
-extern "C" void checkRoofHangMovePos__9daAlink_cFv();
-extern "C" void commonRoofHangProc__9daAlink_cFv();
-extern "C" void checkNextActionRoofHang__9daAlink_cFv();
-extern "C" void procRoofHangStartInit__9daAlink_cFRC13cBgS_PolyInfoRC4cXyzi();
-extern "C" void procRoofHangStart__9daAlink_cFv();
-extern "C" void procRoofHangWaitInit__9daAlink_cFi();
-extern "C" void procRoofHangWait__9daAlink_cFv();
-extern "C" void procRoofHangFrontMoveInit__9daAlink_cFv();
-extern "C" void procRoofHangFrontMove__9daAlink_cFv();
-extern "C" void procRoofHangSideMoveInit__9daAlink_cFv();
-extern "C" void procRoofHangSideMove__9daAlink_cFv();
-extern "C" void procRoofHangTurnInit__9daAlink_cFv();
-extern "C" void procRoofHangTurn__9daAlink_cFv();
-extern "C" void setRoofHangSwitch__9daAlink_cFv();
-extern "C" void procRoofSwitchHangInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procRoofSwitchHang__9daAlink_cFv();
-extern "C" void getHangPos__13daObjSwHang_cFv();
-extern "C" void checkZoraWearMaskDraw__9daAlink_cFv();
-extern "C" void checkAcceptUseItemInWater__9daAlink_cCFUs();
-extern "C" void swimDeleteItem__9daAlink_cFv();
-extern "C" void getZoraSwim__9daAlink_cCFv();
-extern "C" void getSwimFrontMaxSpeed__9daAlink_cCFv();
-extern "C" void getSwimMaxFallSpeed__9daAlink_cCFv();
-extern "C" void checkOxygenTimer__9daAlink_cFv();
-extern "C" void offOxygenTimer__9daAlink_cFv();
-extern "C" void checkPossibleWaterInMode__9daAlink_cCFv();
-extern "C" void setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf();
-extern "C" void swimBgCheck__9daAlink_cFf();
-extern "C" void setSpeedAndAngleSwim__9daAlink_cFv();
-extern "C" void checkNextActionSwim__9daAlink_cFv();
-extern "C" void checkSwimAction__9daAlink_cFi();
-extern "C" void checkSwimUpAction__9daAlink_cFv();
-extern "C" void swimOutAfter__9daAlink_cFi();
-extern "C" void checkSwimFall__9daAlink_cFv();
-extern "C" void checkSwimOutAction__9daAlink_cFv();
-extern "C" void setSwimMoveAnime__9daAlink_cFv();
-extern "C" void checkSwimButtonAccept__9daAlink_cFv();
-extern "C" void checkUpSwimButtonAccept__9daAlink_cFv();
-extern "C" void checkSwimButtonMove__9daAlink_cFv();
-extern "C" void checkZoraSwimMove__9daAlink_cFv();
-extern "C" void checkSwimNeckUpDown__9daAlink_cCFv();
-extern "C" void setSwimUpDownOffset__9daAlink_cFv();
-extern "C" void procSwimUpInit__9daAlink_cFv();
-extern "C" void procSwimUp__9daAlink_cFv();
-extern "C" void procSwimWaitInit__9daAlink_cFi();
-extern "C" void procSwimWait__9daAlink_cFv();
-extern "C" void procSwimMoveInit__9daAlink_cFv();
-extern "C" void procSwimMove__9daAlink_cFv();
-extern "C" void procSwimDiveInit__9daAlink_cFv();
-extern "C" void procSwimDive__9daAlink_cFv();
-extern "C" void procSwimHookshotSubjectInit__9daAlink_cFv();
-extern "C" void procSwimHookshotSubject__9daAlink_cFv();
-extern "C" void procSwimHookshotMoveInit__9daAlink_cFv();
-extern "C" void procSwimHookshotMove__9daAlink_cFv();
-extern "C" void procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void procSwimDamage__9daAlink_cFv();
-extern "C" void procOctaIealSpitInit__9daAlink_cFv();
-extern "C" void procOctaIealSpit__9daAlink_cFv();
-extern "C" static void daAlink_searchIceLeaf__FP10fopAc_ac_cPv();
-extern "C" void checkSnowCode__9daAlink_cCFv();
-extern "C" void checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo();
-extern "C" void checkBoardRestart__9daAlink_cFv();
-extern "C" void boardCommon__9daAlink_cFi();
-extern "C" void setCommonBoardAnime__9daAlink_cFi();
-extern "C" void checkNextActionBoard__9daAlink_cFv();
-extern "C" void checkBoardSwordTriggerAction__9daAlink_cFv();
-extern "C" void commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC();
-extern "C" void getBoardRowAnmSpeed__9daAlink_cFv();
-extern "C" void setBoardLandAnime__9daAlink_cFv();
-extern "C" void procBoardRideInit__9daAlink_cFv();
-extern "C" void procBoardRide__9daAlink_cFv();
-extern "C" void procBoardWaitInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procBoardWait__9daAlink_cFv();
-extern "C" void procBoardRowInit__9daAlink_cFv();
-extern "C" void procBoardRow__9daAlink_cFv();
-extern "C" void procBoardTurnInit__9daAlink_cFv();
-extern "C" void procBoardTurn__9daAlink_cFv();
-extern "C" void procBoardJumpInit__9daAlink_cFfi();
-extern "C" void procBoardJump__9daAlink_cFv();
-extern "C" void procBoardSubjectivityInit__9daAlink_cFv();
-extern "C" void procBoardSubjectivity__9daAlink_cFv();
-extern "C" void procBoardCutInit__9daAlink_cFv();
-extern "C" void procBoardCut__9daAlink_cFv();
-extern "C" void procBoardCutTurnInit__9daAlink_cFv();
-extern "C" void procBoardCutTurn__9daAlink_cFv();
-extern "C" void draw__Q29daAlink_c14hsChainShape_cFv();
-extern "C" void hookshotAtHitCallBack__9daAlink_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" static void
-daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void getHookshotTopPos__9daAlink_cFv();
-extern "C" void checkHookshotReturnMode__9daAlink_cCFv();
-extern "C" void checkHookshotShootReturnMode__9daAlink_cCFv();
-extern "C" void resetHookshotMode__9daAlink_cFv();
-extern "C" void setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c();
-extern "C" void checkLv7BossRoom__9daAlink_cFv();
-extern "C" void checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo();
-extern "C" void cancelHookshotCarry__9daAlink_cFv();
-extern "C" void changeHookshotDrawModel__9daAlink_cFv();
-extern "C" void checkHookshotRoofLv7Boss__9daAlink_cFv();
-extern "C" void checkChaseHookshot__9daAlink_cFv();
-extern "C" void checkOctaIealSpecialCollect__9daAlink_cFv();
-extern "C" void checkBossOctaIealRoom__9daAlink_cFv();
-extern "C" void checkHookshotWait__9daAlink_cCFv();
-extern "C" void setHookshotCatchNow__9daAlink_cFv();
-extern "C" void setHookshotCarryOffset__9daAlink_cFUiPC4cXyz();
-extern "C" void setHookshotModel__9daAlink_cFv();
-extern "C" void setHookshotSight__9daAlink_cFv();
-extern "C" void cancelHookshotShot__9daAlink_cFv();
-extern "C" void cancelHookshotMove__9daAlink_cFv();
-extern "C" void checkHookshotReadyMaterialOffMode__9daAlink_cCFv();
-extern "C" void setHookshotReadyMaterial__9daAlink_cFv();
-extern "C" void initHookshotUpperAnimeSpeed__9daAlink_cFi();
-extern "C" void initHookshotReady__9daAlink_cFv();
-extern "C" void setHookshotReadyAnime__9daAlink_cFv();
-extern "C" void checkUpperItemActionHookshot__9daAlink_cFv();
-extern "C" void checkNextActionHookshot__9daAlink_cFv();
-extern "C" void setHookshotReturnEnd__9daAlink_cFv();
-extern "C" void setHookshotHangMoveBGCollect__9daAlink_cFv();
-extern "C" void setHookshotTopPosFly__9daAlink_cFv();
-extern "C" void setHookshotPos__9daAlink_cFv();
-extern "C" void setHookshotRoofWaitAnime__9daAlink_cFv();
-extern "C" void setHookshotWallWaitAnime__9daAlink_cFv();
-extern "C" void hookshotRoofTurn__9daAlink_cFv();
-extern "C" void initHookshotRoofWaitActor__9daAlink_cFP10fopAc_ac_c();
-extern "C" void checkNextHookPoint__9daAlink_cFv();
-extern "C" void checkLandHookshotHang__9daAlink_cFv();
-extern "C" void commonHookshotRoofWait__9daAlink_cFv();
-extern "C" void commonHookshotWallWait__9daAlink_cFv();
-extern "C" void procHookshotSubjectInit__9daAlink_cFv();
-extern "C" void procHookshotSubject__9daAlink_cFv();
-extern "C" void procHookshotMoveInit__9daAlink_cFv();
-extern "C" void procHookshotMove__9daAlink_cFv();
-extern "C" void procHookshotFlyInit__9daAlink_cFv();
-extern "C" void procHookshotFly__9daAlink_cFv();
-extern "C" void procHookshotRoofWaitInit__9daAlink_cFiP10fopAc_ac_ci();
-extern "C" void procHookshotRoofWait__9daAlink_cFv();
-extern "C" void procHookshotRoofShootInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procHookshotRoofShoot__9daAlink_cFv();
-extern "C" void procHookshotRoofBootsInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procHookshotRoofBoots__9daAlink_cFv();
-extern "C" void procHookshotWallWaitInit__9daAlink_cFisi();
-extern "C" void procHookshotWallWait__9daAlink_cFv();
-extern "C" void procHookshotWallShootInit__9daAlink_cFv();
-extern "C" void procHookshotWallShoot__9daAlink_cFv();
-extern "C" void getSpinnerGravity__9daAlink_cCFv();
-extern "C" void getSpinnerMaxFallSpeed__9daAlink_cCFv();
-extern "C" void getSpinnerJumpRate__9daAlink_cCFv();
-extern "C" void getSpinnerRideMoveTime__9daAlink_cFv();
-extern "C" void getSpinnerRideSpeedF__9daAlink_cFv();
-extern "C" void getSpinnerRideDecSpeedMax__9daAlink_cCFv();
-extern "C" void getSpinnerRideDecSpeedMin__9daAlink_cCFv();
-extern "C" void getSpinnerRideDecSpeedRate__9daAlink_cCFv();
-extern "C" void getSpinnerRideRotAngleMax__9daAlink_cCFv();
-extern "C" void getSpinnerRideRotAngleMin__9daAlink_cCFv();
-extern "C" void onSpinnerPathForceRemove__9daAlink_cFv();
-extern "C" void checkSpinnerPathMove__9daAlink_cFv();
-extern "C" void checkLv4BossRoom__9daAlink_cFv();
-extern "C" void checkSpinnerTriggerAttack__9daAlink_cFv();
-extern "C" void setSpinnerSyncPos__9daAlink_cFv();
-extern "C" void procSpinnerReadyInit__9daAlink_cFv();
-extern "C" void procSpinnerReady__9daAlink_cFv();
-extern "C" void setSpinnerStatus__9daAlink_cFUcUc();
-extern "C" void procSpinnerWaitInit__9daAlink_cFv();
-extern "C" void procSpinnerWait__9daAlink_cFv();
-extern "C" void bottleModelCallBack__9daAlink_cFv();
-extern "C" static void daAlink_bottleModelCallBack__FP8J3DJointi();
-extern "C" void getBottleOpenAppearItem__9daAlink_cCFv();
-extern "C" void checkOilBottleItemNotGet__9daAlink_cFUs();
-extern "C" void setBottleModel__9daAlink_cFUs();
-extern "C" void commonBottleDrink__9daAlink_cFi();
-extern "C" void makeFairy__9daAlink_cFP4cXyzUl();
-extern "C" void procBottleDrinkInit__9daAlink_cFUs();
-extern "C" void procBottleDrink__9daAlink_cFv();
-extern "C" void procBottleOpenInit__9daAlink_cFUs();
-extern "C" void procBottleOpen__9daAlink_cFv();
-extern "C" void procBottleSwingInit__9daAlink_cFP10fopAc_ac_ci();
-extern "C" void procBottleSwing__9daAlink_cFv();
-extern "C" void procBottleGetInit__9daAlink_cFi();
-extern "C" void procBottleGet__9daAlink_cFv();
-extern "C" void Insect_Release__9dInsect_cFv();
-extern "C" static void daAlink_searchTagKandelaar__FP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv();
-extern "C" void setKandelaarMtx__9daAlink_cFPA4_fii();
-extern "C" void checkWaterInKandelaarOffset__9daAlink_cFf();
-extern "C" void checkWaterInKandelaar__9daAlink_cFf();
-extern "C" void offKandelaarModel__9daAlink_cFv();
-extern "C" void checkUseKandelaar__9daAlink_cFi();
-extern "C" void checkKandelaarSwing__9daAlink_cCFi();
-extern "C" void kandelaarModelCallBack__9daAlink_cFv();
-extern "C" static void daAlink_kandelaarModelCallBack__FP8J3DJointi();
-extern "C" void getKandelaarFlamePos__9daAlink_cFv();
-extern "C" void checkKandelaarEquipAnime__9daAlink_cCFv();
-extern "C" void preKandelaarDraw__9daAlink_cFv();
-extern "C" void setTevColor__11J3DTevBlockFUlPC13J3DGXColorS10();
-extern "C" void setKandelaarModel__9daAlink_cFv();
-extern "C" void resetOilBottleModel__9daAlink_cFv();
-extern "C" void commonKandelaarPourInit__9daAlink_cFv();
-extern "C" void commonKandelaarPour__9daAlink_cFi();
-extern "C" void initKandelaarSwing__9daAlink_cFv();
-extern "C" void procKandelaarSwingInit__9daAlink_cFv();
-extern "C" void procKandelaarSwing__9daAlink_cFv();
-extern "C" void procKandelaarPourInit__9daAlink_cFv();
-extern "C" void procKandelaarPour__9daAlink_cFv();
-extern "C" static void daAlink_searchWhistle__FP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchHawk__FP10fopAc_ac_cPv();
-extern "C" void setGrassWhistleModel__9daAlink_cFi();
-extern "C" void setHorseWhistleModel__9daAlink_cFv();
-extern "C" void procGrassWhistleGetInit__9daAlink_cFv();
-extern "C" void procGrassWhistleGet__9daAlink_cFv();
-extern "C" void procGrassWhistleWaitInit__9daAlink_cFiiisP4cXyz();
-extern "C" void procGrassWhistleWait__9daAlink_cFv();
-extern "C" void procCoHorseCallWaitInit__9daAlink_cFi();
-extern "C" void procCoHorseCallWait__9daAlink_cFv();
-extern "C" void procHawkCatchInit__9daAlink_cFv();
-extern "C" void procHawkCatch__9daAlink_cFv();
-extern "C" void procHawkSubjectInit__9daAlink_cFv();
-extern "C" void procHawkSubject__9daAlink_cFv();
-extern "C" void getIronBallCenterPos__9daAlink_cFv();
-extern "C" void getIronBallBgHit__9daAlink_cCFv();
-extern "C" void checkIronBallThrowMode__9daAlink_cCFv();
-extern "C" void checkIronBallThrowReturnMode__9daAlink_cCFv();
-extern "C" void checkIronBallReturn__9daAlink_cCFv();
-extern "C" void checkIronBallGroundStop__9daAlink_cCFv();
-extern "C" void setIronBallWaitUpperAnime__9daAlink_cFi();
-extern "C" void checkIronBallDelete__9daAlink_cFv();
-extern "C" void setIronBallReturn__9daAlink_cFi();
-extern "C" void setIronBallBgCheckPos__9daAlink_cFv();
-extern "C" void setIronBallModel__9daAlink_cFv();
-extern "C" void __ct__5csXyzFv();
-extern "C" void setIronBallGroundVec__9daAlink_cFPC4cXyzP4cXyz();
-extern "C" void setIronBallChainPos__9daAlink_cFv();
-extern "C" void checkIronBallReturnChange__9daAlink_cFv();
-extern "C" void setIronBallPos__9daAlink_cFv();
-extern "C" void checkIronBallAnime__9daAlink_cCFv();
-extern "C" void setIronBallReadyAnime__9daAlink_cFv();
-extern "C" void setIronBallBaseAnime__9daAlink_cFv();
-extern "C" void checkUpperItemActionIronBall__9daAlink_cFv();
-extern "C" void checkNextActionIronBall__9daAlink_cFv();
-extern "C" void procIronBallSubjectInit__9daAlink_cFv();
-extern "C" void procIronBallSubject__9daAlink_cFv();
-extern "C" void procIronBallMoveInit__9daAlink_cFv();
-extern "C" void procIronBallMove__9daAlink_cFv();
-extern "C" void procIronBallThrowInit__9daAlink_cFv();
-extern "C" void procIronBallThrow__9daAlink_cFv();
-extern "C" void procIronBallReturnInit__9daAlink_cFv();
-extern "C" void procIronBallReturn__9daAlink_cFv();
-extern "C" void checkEventRun__9daAlink_cCFv();
-extern "C" void createNpcTks__9daAlink_cFP4cXyziUl();
-extern "C" void checkSetNpcTks__9daAlink_cFP4cXyzii();
-extern "C" void checkDemoAction__9daAlink_cFv();
-extern "C" void checkDemoMoveMode__9daAlink_cCFUl();
-extern "C" void setDemoMoveData__9daAlink_cFPUlPC4cXyz();
-extern "C" void setNoDrawSwordShield__9daAlink_cFiUs();
-extern "C" void setDemoData__9daAlink_cFv();
-extern "C" void resetDemoBck__9daAlink_cFv();
-extern "C" void endHighModel__9daAlink_cFv();
-extern "C" void resetSpecialEvent__9daAlink_cFv();
-extern "C" void endDemoMode__9daAlink_cFv();
-extern "C" void getDemoLookActor__9daAlink_cFv();
-extern "C" void checkFlyAtnWait__9daAlink_cFv();
-extern "C" void setGetItemFace__9daAlink_cFUs();
-extern "C" void checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c();
-extern "C" void setTalkStartBack__9daAlink_cFP4cXyz();
-extern "C" void setShapeAngleToTalkActor__9daAlink_cFv();
-extern "C" void setTalkAnime__9daAlink_cFv();
-extern "C" void setTradeItemAnime__9daAlink_cFv();
-extern "C" void setTradeItemOutHand__9daAlink_cFv();
-extern "C" void checkEndMessage__9daAlink_cFUl();
-extern "C" void setDemoRightHandIndex__9daAlink_cFUs();
-extern "C" void setDemoLeftHandIndex__9daAlink_cFUs();
-extern "C" void setDemoRide__9daAlink_cFUs();
-extern "C" void setDemoBodyBck__9daAlink_cFP13dDemo_actor_cUs();
-extern "C" void checkFinalBattle__9daAlink_cFv();
-extern "C" void checkRestartDead__9daAlink_cFii();
-extern "C" void setDeadRideSyncPos__9daAlink_cFv();
-extern "C" void checkDeadHP__9daAlink_cFv();
-extern "C" void checkDeadAction__9daAlink_cFi();
-extern "C" void setHighModelBck__9daAlink_cFP13mDoExt_bckAnmUs();
-extern "C" void setHighModelFaceBtk__9daAlink_cFUs();
-extern "C" void setDemoBrk__9daAlink_cFPP15J3DAnmTevRegKeyP8J3DModelUs();
-extern "C" void setStickAnmData__9daAlink_cFP10J3DAnmBaseiiUsi();
-extern "C" static void daAlink_c_getDemoIDData__FP13dDemo_actor_cPiPiPiPUsPiPi();
-extern "C" void procDemoCommon__9daAlink_cFv();
-extern "C" void procCoToolDemoInit__9daAlink_cFv();
-extern "C" void procCoToolDemo__9daAlink_cFv();
-extern "C" void procCoTalkInit__9daAlink_cFv();
-extern "C" void procCoTalk__9daAlink_cFv();
-extern "C" void procCoOpenTreasureInit__9daAlink_cFv();
-extern "C" void procCoOpenTreasure__9daAlink_cFv();
-extern "C" void procCoUnequipInit__9daAlink_cFv();
-extern "C" void procCoUnequip__9daAlink_cFv();
-extern "C" void setGetSubBgm__9daAlink_cFi();
-extern "C" void checkTreasureRupeeReturn__9daAlink_cCFi();
-extern "C" void procCoGetItemInit__9daAlink_cFv();
-extern "C" void procCoGetItem__9daAlink_cFv();
-extern "C" void procCoTurnBackInit__9daAlink_cFv();
-extern "C" void procCoTurnBack__9daAlink_cFv();
-extern "C" void procDoorOpenInit__9daAlink_cFv();
-extern "C" void procDoorOpen__9daAlink_cFv();
-extern "C" void procCoLookWaitInit__9daAlink_cFv();
-extern "C" void procCoLookWait__9daAlink_cFv();
-extern "C" void procCoDemoPushPullWaitInit__9daAlink_cFv();
-extern "C" void procCoDemoPushMoveInit__9daAlink_cFv();
-extern "C" void setMonkeyMoveAnime__9daAlink_cFv();
-extern "C" void procMonkeyMoveInit__9daAlink_cFv();
-extern "C" void procMonkeyMove__9daAlink_cFv();
-extern "C" void procDemoBoomerangCatchInit__9daAlink_cFv();
-extern "C" void procDemoBoomerangCatch__9daAlink_cFv();
-extern "C" void procCoDeadInit__9daAlink_cFi();
-extern "C" void procCoDead__9daAlink_cFv();
-extern "C" void procCoLookAroundInit__9daAlink_cFv();
-extern "C" void procCoLookAround__9daAlink_cFv();
-extern "C" void procBossAtnWaitInit__9daAlink_cFv();
-extern "C" void procCoQuakeWaitInit__9daAlink_cFv();
-extern "C" void procCoCaughtInit__9daAlink_cFv();
-extern "C" void procLookUpInit__9daAlink_cFv();
-extern "C" void procLookUp__9daAlink_cFv();
-extern "C" void procLookUpToGetItemInit__9daAlink_cFv();
-extern "C" void procLookUpToGetItem__9daAlink_cFv();
-extern "C" void procHandPatInit__9daAlink_cFv();
-extern "C" void procHandPat__9daAlink_cFv();
-extern "C" void procCoFogDeadInit__9daAlink_cFv();
-extern "C" void procCoFogDead__9daAlink_cFv();
-extern "C" void procWolfSmellWaitInit__9daAlink_cFv();
-extern "C" void procCoNodInit__9daAlink_cFv();
-extern "C" void procCoNod__9daAlink_cFv();
-extern "C" void procCoEyeAwayInit__9daAlink_cFv();
-extern "C" void procCoGlareInit__9daAlink_cFv();
-extern "C" void procCoGlare__9daAlink_cFv();
-extern "C" void procGoatStopReadyInit__9daAlink_cFv();
-extern "C" void procGoatStopReady__9daAlink_cFv();
-extern "C" void procCoGetReadySitInit__9daAlink_cFv();
-extern "C" void procCoGetReadySit__9daAlink_cFv();
-extern "C" void procCoTwGateInit__9daAlink_cFv();
-extern "C" void procCoTwGate__9daAlink_cFv();
-extern "C" void procWolfSnowEscapeInit__9daAlink_cFv();
-extern "C" void procWolfSnowEscape__9daAlink_cFv();
-extern "C" void procZoraMoveInit__9daAlink_cFv();
-extern "C" void procZoraMove__9daAlink_cFv();
-extern "C" void procLookAroundTurnInit__9daAlink_cFv();
-extern "C" void procLookAroundTurn__9daAlink_cFv();
-extern "C" void procTradeItemOutInit__9daAlink_cFv();
-extern "C" void procTradeItemOut__9daAlink_cFv();
-extern "C" void checkLetterItem__9daAlink_cFi();
-extern "C" void procNotUseItemInit__9daAlink_cFi();
-extern "C" void procNotUseItem__9daAlink_cFv();
-extern "C" void procSwordReadyInit__9daAlink_cFv();
-extern "C" void procSwordReady__9daAlink_cFv();
-extern "C" void setSwordPushAnime__9daAlink_cFv();
-extern "C" void procSwordPushInit__9daAlink_cFv();
-extern "C" void procSwordPush__9daAlink_cFv();
-extern "C" void procGanonFinishInit__9daAlink_cFv();
-extern "C" void procGanonFinish__9daAlink_cFv();
-extern "C" void procCutFastReadyInit__9daAlink_cFv();
-extern "C" void procCutFastReady__9daAlink_cFv();
-extern "C" void procMasterSwordStickInit__9daAlink_cFv();
-extern "C" void procMasterSwordStick__9daAlink_cFv();
-extern "C" void procMasterSwordPullInit__9daAlink_cFv();
-extern "C" void procMasterSwordPull__9daAlink_cFv();
-extern "C" void checkLv7DungeonShop__9daAlink_cFv();
-extern "C" void procDungeonWarpReadyInit__9daAlink_cFv();
-extern "C" void procDungeonWarpReady__9daAlink_cFv();
-extern "C" void procDungeonWarpInit__9daAlink_cFv();
-extern "C" void procDungeonWarp__9daAlink_cFv();
-extern "C" void procDungeonWarpSceneStartInit__9daAlink_cFv();
-extern "C" void procDungeonWarpSceneStart__9daAlink_cFv();
-extern "C" static void daAlink_searchPortal__FP10fopAc_ac_cPv();
-extern "C" void checkAcceptWarp__9daAlink_cFv();
-extern "C" void dungeonReturnWarp__9daAlink_cFv();
-extern "C" void skipPortalObjWarp__9daAlink_cFv();
-extern "C" void checkWarpStart__9daAlink_cFv();
-extern "C" void warpModelTexScroll__9daAlink_cFv();
-extern "C" void procCoWarpInit__9daAlink_cFii();
-extern "C" void procCoWarp__9daAlink_cFv();
-extern "C" void commonWaitTurnInit__9daAlink_cFv();
-extern "C" void commonGrabPutInit__9daAlink_cFv();
-extern "C" void commonLargeDamageUpInit__9daAlink_cFiiss();
-extern "C" void commonFallInit__9daAlink_cFi();
-extern "C" void setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz();
-extern "C" void setEmitterPolyColor__9daAlink_cFPUlUsR13cBgS_PolyInfoPC4cXyzPC5csXyz();
-extern "C" void setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz();
-extern "C" void stopDrawParticle__9daAlink_cFUl();
-extern "C" void setEffectFrontRollParam__9daAlink_cFv();
-extern "C" void setEffectSlipParam__9daAlink_cFv();
-extern "C" void setEffectRunParam__9daAlink_cFv();
-extern "C" void setEffectSmallLandParam__9daAlink_cFv();
-extern "C" void setEffectLandParam__9daAlink_cFv();
-extern "C" void setEffectSumouParam__9daAlink_cFv();
-extern "C" void setFootEffectProcType__9daAlink_cFi();
-extern "C" void setWolfFootOn__9daAlink_cFi();
-extern "C" void setFootMark__9daAlink_cFP4cXyzUsi();
-extern "C" void setEffect__9daAlink_cFv();
-extern "C" void setSumouEffect__9daAlink_cFv();
-extern "C" void setWaterfallEffect__9daAlink_cFPC4cXyzPUl();
-extern "C" void setWaterfallEffect__9daAlink_cFv();
-extern "C" void setMagneBootsEffect__9daAlink_cFv();
-extern "C" void setSwordChargeEffect__9daAlink_cFv();
-extern "C" void setElecDamageEffect__9daAlink_cFv();
-extern "C" void clearCutTurnEffectID__9daAlink_cFv();
-extern "C" void setCutTurnEffect__9daAlink_cFv();
-extern "C" void setHorseCutTurnEffect__9daAlink_cFv();
-extern "C" void setCutLargeJumpLandEffect__9daAlink_cFv();
-extern "C" void setBootsLightEffect__9daAlink_cFv();
-extern "C" void setLightningSwordEffect__9daAlink_cFv();
-extern "C" void setWolfRollAttackEffect__9daAlink_cFv();
-extern "C" void setWolfDigEffect__9daAlink_cFv();
-extern "C" void setWolfSwimEndEffect__9daAlink_cFPP14JPABaseEmitterPP14JPABaseEmitter();
-extern "C" void setWolfLockAttackEffect__9daAlink_cFv();
-extern "C" void setWolfJumpAttackEffect__9daAlink_cFv();
-extern "C" void setWolfBarrierHitEffect__9daAlink_cFR11dBgS_LinChk();
-extern "C" void setCutWaterDropEffect__9daAlink_cFv();
-extern "C" void setWaterDropEffect__9daAlink_cFv();
-extern "C" void setSwordUpColorEffect__9daAlink_cFv();
-extern "C" void setSwordCutSplash__9daAlink_cFv();
-extern "C" void setMetamorphoseEffectStartLink__9daAlink_cFv();
-extern "C" void setMetamorphoseEffect__9daAlink_cFv();
-extern "C" void setRunSplash__9daAlink_cFv();
-extern "C" void execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP15JPABaseParticle();
-extern "C" void resetFairyEffect__9daAlink_cFv();
-extern "C" void setBottleEffect__9daAlink_cFv();
-extern "C" void clearFirePointDamageEffect__9daAlink_cFi();
-extern "C" void initFirePointDamageEffectAll__9daAlink_cFv();
-extern "C" void initFirePointDamageEffect__9daAlink_cFPC4cXyzP12dCcD_GObjInf();
-extern "C" void setFirePointDamageEffect__9daAlink_cFv();
-extern "C" void setFreezeEffect__9daAlink_cFv();
-extern "C" void setWoodShieldBurnEffect__9daAlink_cFv();
-extern "C" void clearWoodShieldBurnEffect__9daAlink_cFv();
-extern "C" void setWoodShieldBurnOutEffect__9daAlink_cFv();
-extern "C" void initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz();
-extern "C" static void setBezierPos__FPC4cXyzPC4cXyzPC4cXyzPC4cXyzfP4cXyz();
-extern "C" void copyBlur__14daAlink_blur_cFPC4cXyzPC4cXyzPC4cXyz();
-extern "C" void traceBlur__14daAlink_blur_cFPC4cXyzPC4cXyzs();
-extern "C" void draw__14daAlink_blur_cFv();
-extern "C" void create__20daAlink_lockCursor_cFv();
-extern "C" void setAnimation__7J2DPaneFP15J2DAnmTevRegKey();
-extern "C" void setAnimation__7J2DPaneFP11J2DAnmColor();
-extern "C" void update__20daAlink_lockCursor_cFv();
-extern "C" void draw__20daAlink_lockCursor_cFv();
-extern "C" void create__15daAlink_sight_cFv();
-extern "C" void draw__15daAlink_sight_cFv();
-extern "C" void onLockFlg__15daAlink_sight_cFv();
-extern "C" void changeCommon__9daAlink_cFv();
-extern "C" void changeWolf__9daAlink_cFv();
-extern "C" void changeLink__9daAlink_cFi();
-extern "C" void onWolfEyeUp__9daAlink_cFv();
-extern "C" void offWolfEyeUp__9daAlink_cFv();
-extern "C" void wolfSenseTrigger__9daAlink_cFv();
-extern "C" void setWolfSenceStatus__9daAlink_cFUc();
-extern "C" void wolfClawTrigger__9daAlink_cFv();
-extern "C" void setWolfDigStatus__9daAlink_cFUc();
-extern "C" void checkWolfShapeReverse__9daAlink_cCFv();
-extern "C" void checkWolfSideStep__9daAlink_cCFv();
-extern "C" void setWolfTailAngle__9daAlink_cFv();
-extern "C" void checkWolfSlowDash__9daAlink_cFv();
-extern "C" void setSpeedAndAngleWolf__9daAlink_cFv();
-extern "C" void setSpeedAndAngleWolfAtn__9daAlink_cFv();
-extern "C" void checkWolfAtnWait__9daAlink_cFv();
-extern "C" void checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM();
-extern "C" void setBlendWolfMoveAnime__9daAlink_cFf();
-extern "C" void checkWolfAtnMoveBack__9daAlink_cFs();
-extern "C" void setWolfAtnMoveDirection__9daAlink_cFv();
-extern "C" void setBlendWolfAtnMoveAnime__9daAlink_cFf();
-extern "C" void setBlendWolfAtnBackMoveAnime__9daAlink_cFf();
-extern "C" void
-setDoubleAnimeWolf__9daAlink_cFfffQ29daAlink_c12daAlink_WANMQ29daAlink_c12daAlink_WANMif();
-extern "C" void setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM();
-extern "C" void setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf();
-extern "C" void setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff();
-extern "C" void setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf();
-extern "C" void
-setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c();
-extern "C" void checkWolfLandAction__9daAlink_cFi();
-extern "C" void checkMidnaUseAbility__9daAlink_cCFv();
-extern "C" void checkWolfUseAbility__9daAlink_cFv();
-extern "C" void checkWolfGroundSpecialMode__9daAlink_cFv();
-extern "C" void checkNextActionWolf__9daAlink_cFi();
-extern "C" void wolfSideBgCheck__9daAlink_cFs();
-extern "C" void checkWolfAttackReverse__9daAlink_cFi();
-extern "C" void checkWolfBarrierHitReverse__9daAlink_cFv();
-extern "C" void checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo();
-extern "C" void wolfBgCheck__9daAlink_cFv();
-extern "C" void changeWolfBlendRate__9daAlink_cFi();
-extern "C" void setWolfFootMatrix__9daAlink_cFv();
-extern "C" void wolfFootBgCheck__9daAlink_cFv();
-extern "C" void checkWolfWaitSlipPolygon__9daAlink_cFv();
-extern "C" void setWolfWaitSlip__9daAlink_cFv();
-extern "C" void checkWolfAtnDoCharge__9daAlink_cFv();
-extern "C" void setWolfChainPos__9daAlink_cFv();
-extern "C" void setWolfAnmVoice__9daAlink_cFv();
-extern "C" void procWolfServiceWaitInit__9daAlink_cFi();
-extern "C" void procWolfServiceWait__9daAlink_cFv();
-extern "C" void procWolfTiredWaitInit__9daAlink_cFv();
-extern "C" void procWolfTiredWait__9daAlink_cFv();
-extern "C" void procWolfMidnaRideShockInit__9daAlink_cFv();
-extern "C" void procWolfMidnaRideShock__9daAlink_cFv();
-extern "C" void procWolfWaitInit__9daAlink_cFv();
-extern "C" void procWolfWait__9daAlink_cFv();
-extern "C" void procWolfMoveInit__9daAlink_cFv();
-extern "C" void procWolfMove__9daAlink_cFv();
-extern "C" void procWolfDashInit__9daAlink_cFv();
-extern "C" void procWolfDash__9daAlink_cFv();
-extern "C" void procWolfDashReverseInit__9daAlink_cFi();
-extern "C" void procWolfDashReverse__9daAlink_cFv();
-extern "C" void procWolfAtnActorMoveInit__9daAlink_cFv();
-extern "C" void procWolfAtnActorMove__9daAlink_cFv();
-extern "C" void procWolfWaitTurnInit__9daAlink_cFv();
-extern "C" void procWolfWaitTurn__9daAlink_cFv();
-extern "C" void procWolfSideStepInit__9daAlink_cFi();
-extern "C" void procWolfSideStep__9daAlink_cFv();
-extern "C" void procWolfSideStepLandInit__9daAlink_cFs();
-extern "C" void procWolfSideStepLand__9daAlink_cFv();
-extern "C" void procWolfBackJumpInit__9daAlink_cFi();
-extern "C" void procWolfBackJump__9daAlink_cFv();
-extern "C" void procWolfBackJumpLandInit__9daAlink_cFss();
-extern "C" void procWolfBackJumpLand__9daAlink_cFv();
-extern "C" void procWolfHowlInit__9daAlink_cFi();
-extern "C" void procWolfHowl__9daAlink_cFv();
-extern "C" void procWolfAutoJumpInit__9daAlink_cFi();
-extern "C" void procWolfAutoJump__9daAlink_cFv();
-extern "C" void procWolfFallInit__9daAlink_cFif();
-extern "C" void procWolfFall__9daAlink_cFv();
-extern "C" void procWolfLandInit__9daAlink_cFv();
-extern "C" void procWolfLand__9daAlink_cFv();
-extern "C" void procWolfSitInit__9daAlink_cFi();
-extern "C" void procWolfSit__9daAlink_cFv();
-extern "C" void procWolfStepMoveInit__9daAlink_cFv();
-extern "C" void procWolfStepMove__9daAlink_cFv();
-extern "C" void procWolfSlipInit__9daAlink_cFv();
-extern "C" void procWolfSlip__9daAlink_cFv();
-extern "C" void procWolfSlipTurnInit__9daAlink_cFi();
-extern "C" void procWolfSlipTurn__9daAlink_cFv();
-extern "C" void procWolfSlipTurnLandInit__9daAlink_cFv();
-extern "C" void procWolfSlipTurnLand__9daAlink_cFv();
-extern "C" void procWolfSlideReadyInit__9daAlink_cFsi();
-extern "C" void procWolfSlideReady__9daAlink_cFv();
-extern "C" void procWolfSlideInit__9daAlink_cFsi();
-extern "C" void procWolfSlide__9daAlink_cFv();
-extern "C" void procWolfSlideLandInit__9daAlink_cFv();
-extern "C" void procWolfSlideLand__9daAlink_cFv();
-extern "C" void procWolfWaitSlipInit__9daAlink_cFv();
-extern "C" void procWolfWaitSlip__9daAlink_cFv();
-extern "C" void procWolfSlopeStartInit__9daAlink_cFi();
-extern "C" void procWolfSlopeStart__9daAlink_cFv();
-extern "C" static void daAlink_searchGoldWolf__FP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchWolfHowl__FP10fopAc_ac_cPv();
-extern "C" void setWolfHowlNotHappen__9daAlink_cFi();
-extern "C" void procWolfHowlDemoInit__9daAlink_cFv();
-extern "C" void procWolfHowlDemo__9daAlink_cFv();
-extern "C" void setWolfHowling__15daObj_Sekizoa_cFv();
-extern "C" void checkWolfRope__9daAlink_cFv();
-extern "C" void checkWolfRopeHit__9daAlink_cCFP12dCcD_GObjInfPC4cXyzi();
-extern "C" void checkWolfRopeJumpHang__9daAlink_cFv();
-extern "C" void getWolfRopeMoveSpeed__9daAlink_cFv();
-extern "C" void setWolfRopePosY__9daAlink_cFv();
-extern "C" void initWolfRopeShapeAngle__9daAlink_cFv();
-extern "C" void wolfRopeSwingInc__9daAlink_cFf();
-extern "C" void setWolfRopeOffsetY__9daAlink_cFi();
-extern "C" void getDirectionRopeMove__9daAlink_cCFv();
-extern "C" void procWolfRopeMoveInit__9daAlink_cFii();
-extern "C" void procWolfRopeMove__9daAlink_cFv();
-extern "C" void procWolfRopeHangInit__9daAlink_cFi();
-extern "C" void procWolfRopeHang__9daAlink_cFv();
-extern "C" void procWolfRopeTurnInit__9daAlink_cFv();
-extern "C" void procWolfRopeTurn__9daAlink_cFv();
-extern "C" void procWolfRopeStaggerInit__9daAlink_cFi();
-extern "C" void procWolfRopeStagger__9daAlink_cFv();
-extern "C" void procWolfRopeSubjectivityInit__9daAlink_cFv();
-extern "C" void procWolfRopeSubjectivity__9daAlink_cFv();
-extern "C" void getWolfTagJumpTime__9daAlink_cCFv();
-extern "C" void checkMidnaLockJumpPoint__9daAlink_cCFv();
-extern "C" void procWolfTagJumpInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procWolfTagJump__9daAlink_cFv();
-extern "C" void procWolfTagJumpLandInit__9daAlink_cFP10fopAc_ac_c();
-extern "C" void procWolfTagJumpLand__9daAlink_cFv();
-extern "C" static void daAlink_searchGiant__FP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchGiantTalk__FP10fopAc_ac_cPv();
-extern "C" void procWolfGiantPuzzleInit__9daAlink_cFv();
-extern "C" void procWolfGiantPuzzle__9daAlink_cFv();
-extern "C" void setWolfHangGroundY__9daAlink_cFv();
-extern "C" void changeWolfHangEndProc__9daAlink_cFv();
-extern "C" void procWolfHangReadyInit__9daAlink_cFv();
-extern "C" void procWolfHangReady__9daAlink_cFv();
-extern "C" void procWolfHangWallCatchInit__9daAlink_cFi();
-extern "C" void procWolfHangWallCatch__9daAlink_cFv();
-extern "C" void procWolfHangFallStartInit__9daAlink_cFP8cM3dGPla();
-extern "C" void procWolfHangFallStart__9daAlink_cFv();
-extern "C" void setWolfHeadDamage__9daAlink_cFv();
-extern "C" void procWolfDamageInit__9daAlink_cFP12dCcD_GObjInf();
-extern "C" void procWolfDamage__9daAlink_cFv();
-extern "C" void procWolfLargeDamageUpInit__9daAlink_cFiiss();
-extern "C" void procWolfLargeDamageUp__9daAlink_cFv();
-extern "C" void procWolfLandDamageInit__9daAlink_cFi();
-extern "C" void procWolfLandDamage__9daAlink_cFv();
-extern "C" void setWolfScreamWaitAnime__9daAlink_cFv();
-extern "C" void procWolfScreamWaitInit__9daAlink_cFv();
-extern "C" void procWolfScreamWait__9daAlink_cFv();
-extern "C" void getWolfLieMoveAnmSpeed__9daAlink_cFv();
-extern "C" void getWolfLieMoveSpeed__9daAlink_cFv();
-extern "C" void checkMidnaDisappearMode__9daAlink_cCFv();
-extern "C" void checkWolfLieContinue__9daAlink_cFi();
-extern "C" void checkNextActionWolfFromLie__9daAlink_cFv();
-extern "C" void setWolfLieMoveVoice__9daAlink_cFi();
-extern "C" void checkWolfLieCode__9daAlink_cFv();
-extern "C" void procWolfLieStartInit__9daAlink_cFi();
-extern "C" void procWolfLieStart__9daAlink_cFv();
-extern "C" void procWolfLieMoveInit__9daAlink_cFi();
-extern "C" void procWolfLieMove__9daAlink_cFv();
-extern "C" void procWolfLieAutoMoveInit__9daAlink_cFiP4cXyz();
-extern "C" void procWolfLieAutoMove__9daAlink_cFv();
-extern "C" void setSpeedAndAngleSwimWolf__9daAlink_cFv();
-extern "C" void getWolfSwimMoveAnmSpeed__9daAlink_cFv();
-extern "C" void decideDoStatusSwimWolf__9daAlink_cFv();
-extern "C" void procWolfSwimUpInit__9daAlink_cFv();
-extern "C" void procWolfSwimUp__9daAlink_cFv();
-extern "C" void procWolfSwimWaitInit__9daAlink_cFi();
-extern "C" void procWolfSwimWait__9daAlink_cFv();
-extern "C" void procWolfSwimMoveInit__9daAlink_cFv();
-extern "C" void procWolfSwimMove__9daAlink_cFv();
-extern "C" void procWolfSwimEndWaitInit__9daAlink_cFi();
-extern "C" void procWolfSwimEndWait__9daAlink_cFv();
-extern "C" void onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2();
-extern "C" void resetWolfEnemyBiteAll__9daAlink_cFv();
-extern "C" void checkWolfEnemyThrowAction__9daAlink_cFv();
-extern "C" void setWolfLockDomeModel__9daAlink_cFv();
-extern "C" void setWolfBallModel__9daAlink_cFv();
-extern "C" void resetWolfBallGrab__9daAlink_cFv();
-extern "C" void checkWolfLockData__9daAlink_cFv();
-extern "C" void checkWolfLock__9daAlink_cCFP10fopAc_ac_c();
-extern "C" void cancelWolfLock__9daAlink_cFP10fopAc_ac_c();
-extern "C" void getWolfLockActorEnd__9daAlink_cFv();
-extern "C" void searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv();
-extern "C" static void daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv();
-extern "C" void checkWolfComboCnt__9daAlink_cFv();
-extern "C" void checkWolfAttackAction__9daAlink_cFv();
-extern "C" void setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf();
-extern "C" void setWolfEnemyHangBitePos__9daAlink_cFP13fopEn_enemy_c();
-extern "C" void setWolfBiteDamage__9daAlink_cFP13fopEn_enemy_c();
-extern "C" void checkWolfLockAttackChargeState__9daAlink_cFv();
-extern "C" void procWolfRollAttackChargeInit__9daAlink_cFv();
-extern "C" void procWolfRollAttackCharge__9daAlink_cFv();
-extern "C" void procWolfRollAttackMoveInit__9daAlink_cFv();
-extern "C" void procWolfRollAttackMove__9daAlink_cFv();
-extern "C" void procWolfJumpAttackInit__9daAlink_cFi();
-extern "C" void procWolfJumpAttack__9daAlink_cFv();
-extern "C" void procWolfJumpAttackKickInit__9daAlink_cFv();
-extern "C" void procWolfJumpAttackKick__9daAlink_cFv();
-extern "C" void procWolfJumpAttackSlideLandInit__9daAlink_cFiii();
-extern "C" void procWolfJumpAttackSlideLand__9daAlink_cFv();
-extern "C" void procWolfJumpAttackNormalLandInit__9daAlink_cFi();
-extern "C" void procWolfJumpAttackNormalLand__9daAlink_cFv();
-extern "C" void procWolfWaitAttackInit__9daAlink_cFi();
-extern "C" void procWolfWaitAttack__9daAlink_cFv();
-extern "C" void procWolfRollAttackInit__9daAlink_cFii();
-extern "C" void procWolfRollAttack__9daAlink_cFv();
-extern "C" void procWolfDownAttackInit__9daAlink_cFv();
-extern "C" void procWolfDownAttack__9daAlink_cFv();
-extern "C" void procWolfDownAtLandInit__9daAlink_cFP13fopEn_enemy_c();
-extern "C" void procWolfDownAtLand__9daAlink_cFv();
-extern "C" void procWolfDownAtMissLandInit__9daAlink_cFv();
-extern "C" void procWolfDownAtMissLand__9daAlink_cFv();
-extern "C" void procWolfLockAttackInit__9daAlink_cFi();
-extern "C" void procWolfLockAttack__9daAlink_cFv();
-extern "C" void procWolfLockAttackTurnInit__9daAlink_cFi();
-extern "C" void procWolfLockAttackTurn__9daAlink_cFv();
-extern "C" void procWolfAttackReverseInit__9daAlink_cFv();
-extern "C" void procWolfAttackReverse__9daAlink_cFv();
-extern "C" void procWolfEnemyThrowInit__9daAlink_cFi();
-extern "C" void procWolfEnemyThrow__9daAlink_cFv();
-extern "C" void procWolfEnemyHangBiteInit__9daAlink_cFv();
-extern "C" void procWolfEnemyHangBite__9daAlink_cFv();
-extern "C" void procWolfGrabUpInit__9daAlink_cFv();
-extern "C" void procWolfGrabUp__9daAlink_cFv();
-extern "C" void procWolfGrabPutInit__9daAlink_cFv();
-extern "C" void procWolfGrabPut__9daAlink_cFv();
-extern "C" void procWolfGrabThrowInit__9daAlink_cFv();
-extern "C" void procWolfGrabThrow__9daAlink_cFv();
-extern "C" void procWolfPushInit__9daAlink_cFv();
-extern "C" void procWolfPush__9daAlink_cFv();
-extern "C" static void daAlink_searchEnemyCargo__FP10fopAc_ac_cPv();
-extern "C" void procWolfCargoCarryInit__9daAlink_cFv();
-extern "C" void procWolfCargoCarry__9daAlink_cFv();
-extern "C" void procWolfChainUpInit__9daAlink_cFv();
-extern "C" void procWolfChainUp__9daAlink_cFv();
-extern "C" void procWolfGanonCatchInit__9daAlink_cFv();
-extern "C" void procWolfGanonCatch__9daAlink_cFv();
-extern "C" void procWolfChainReadyInit__9daAlink_cFv();
-extern "C" void procWolfChainReady__9daAlink_cFv();
-extern "C" void procWolfChainWaitInit__9daAlink_cFv();
-extern "C" void procWolfChainWait__9daAlink_cFv();
-extern "C" void procWolfDigInit__9daAlink_cFv();
-extern "C" void procWolfDig__9daAlink_cFv();
-extern "C" void procWolfDigThroughInit__9daAlink_cFi();
-extern "C" void procWolfDigThrough__9daAlink_cFv();
-extern "C" void setSmellSave__9daAlink_cFv();
-extern "C" void procWolfGetSmellInit__9daAlink_cFv();
-extern "C" void procWolfGetSmell__9daAlink_cFv();
-extern "C" void setArcName__9daAlink_cFi();
-extern "C" void setShieldArcName__9daAlink_cFv();
-extern "C" void setOriginalHeap__9daAlink_cFPP10JKRExpHeapUl();
-extern "C" void setClothesChange__9daAlink_cFi();
-extern "C" void setShieldChange__9daAlink_cFv();
-extern "C" void loadModelDVD__9daAlink_cFv();
-extern "C" void setShieldModel__9daAlink_cFv();
-extern "C" void loadShieldModelDVD__9daAlink_cFv();
-extern "C" void changeModelDataDirect__9daAlink_cFi();
-extern "C" void changeModelDataDirectWolf__9daAlink_cFi();
-extern "C" void initStatusWindow__9daAlink_cFv();
-extern "C" void statusWindowExecute__9daAlink_cFPC4cXyzs();
-extern "C" void statusWindowDraw__9daAlink_cFv();
-extern "C" void resetStatusWindow__9daAlink_cFv();
-extern "C" void __ct__12daAlinkHIO_cFv();
-extern "C" void __dt__17daAlinkHIO_wolf_cFv();
-extern "C" void __dt__16daAlinkHIO_cut_cFv();
-extern "C" void __dt__12daAlinkHIO_cFv();
-extern "C" void __dt__8dEyeHL_cFv();
-extern "C" void __dt__18daPy_sightPacket_cFv();
-extern "C" void __dt__16daPy_frameCtrl_cFv();
-extern "C" void __ct__16daPy_frameCtrl_cFv();
-extern "C" void __defctor__14daPy_anmHeap_cFv();
-extern "C" void __dt__19mDoExt_AnmRatioPackFv();
-extern "C" void __ct__19mDoExt_AnmRatioPackFv();
-extern "C" void __dt__16dBgS_LinkRoofChkFv();
-extern "C" void __dt__15dBgS_LinkGndChkFv();
-extern "C" void __dt__13dBgS_LinkAcchFv();
-extern "C" void __ct__8dCcD_CpsFv();
-extern "C" void __ct__8dCcD_CylFv();
-extern "C" void __dt__9cCcD_SttsFv();
-extern "C" void __ct__16daPy_actorKeep_cFv();
-extern "C" void onNoResetFlg2__9daPy_py_cFQ29daPy_py_c9daPy_FLG2(daPy_py_c* this_, daPy_py_c::daPy_FLG2 pFlag);
-extern "C" void offNoResetFlg0__9daPy_py_cFQ29daPy_py_c9daPy_FLG0();
-extern "C" static void mDoAud_seStartLevel__FUlPC3VecUlSc();
-extern "C" void checkEndResetFlg2__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG2();
-extern "C" static void dComIfGp_setBottleStatus__FUcUc(u8 param_0, u8 param_1);
-extern "C" void getSumouMode__9daPy_py_cCFv();
-extern "C" void checkNoResetFlg3__9daPy_py_cCFQ29daPy_py_c9daPy_FLG3();
-extern "C" void onCondition__11dEvt_info_cFUs();
-extern "C" void __ct__8cM3dGPlaFv();
-extern "C" void offCondition__11dEvt_info_cFUs();
-extern "C" BOOL checkShieldGet__9daPy_py_cFv();
-extern "C" static void fopAcM_onSwitch__FPC10fopAc_ac_ci(fopAc_ac_c const* param_0, int param_1);
-extern "C" int dComIfGs_isItemFirstBit__FUc(u8);
-extern "C" static void dStage_stagInfo_GetSaveTbl__FP21stage_stag_info_class();
-extern "C" static void dComIfGp_getStage__Fv();
-extern "C" u32 checkEquipHeavyBoots__9daPy_py_cCFv(daPy_py_c* this_);
-extern "C" void fopAcM_GetName__FPv();
-extern "C" void onNoResetFlg0__9daPy_py_cFQ29daPy_py_c9daPy_FLG0(daPy_py_c* this_, daPy_py_c::daPy_FLG0 pFlag);
-extern "C" void isOrderOK__14dEvt_control_cFv();
-extern "C" static dEvt_control_c& dComIfGp_getEvent__Fv();
-extern "C" static u32 dComIfGp_checkPlayerStatus0__FiUl(int param_0, u32 param_1);
-extern "C" static u32 dComIfGp_checkPlayerStatus1__FiUl(int param_0, u32 param_1);
-extern "C" u32 checkEndResetFlg1__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG1(daPy_py_c* this_, daPy_py_c::daPy_ERFLG1 pFlag);
-extern "C" static dEvent_manager_c& dComIfGp_getEventManager__Fv();
-extern "C" void offNoResetFlg1__9daPy_py_cFQ29daPy_py_c9daPy_FLG1();
-extern "C" void offNoResetFlg2__9daPy_py_cFQ29daPy_py_c9daPy_FLG2();
-extern "C" void setSpecialDemoType__11daPy_demo_cFv(daPy_demo_c* this_);
-extern "C" void checkCommandCatch__11dEvt_info_cFv();
-extern "C" BOOL dComIfGs_isEventBit__FUs(u16);
-extern "C" u32 checkWolf__9daPy_py_cCFv(daPy_py_c* this_);
-extern "C" BOOL checkSwordGet__9daPy_py_cFv();
-extern "C" u32 checkResetFlg0__9daPy_py_cCFQ29daPy_py_c10daPy_RFLG0(daPy_py_c* this_, daPy_py_c::daPy_RFLG0 pFlag);
-extern "C" bool ChkGroundHit__9dBgS_AcchCFv(dBgS_Acch* this_);
-extern "C" u32 checkNoResetFlg0__9daPy_py_cCFQ29daPy_py_c9daPy_FLG0(daPy_py_c* this_, daPy_py_c::daPy_FLG0 pFlag);
-extern "C" static int dComIfGp_getPlayerCameraID__Fi(int param_0);
-extern "C" static u16 dComIfGp_event_chkEventFlag__FUs(u16 flag);
-extern "C" BOOL checkCommandDoor__11dEvt_info_cFv(dEvt_info_c* this_);
-extern "C" static s32 dComIfGp_evmng_getMyStaffId__FPCcP10fopAc_ac_ci(char const* param_0, fopAc_ac_c* param_1, int param_2);
-extern "C" static BOOL dComIfGp_event_runCheck__Fv();
-extern "C" u32 checkNoResetFlg2__9daPy_py_cCFQ29daPy_py_c9daPy_FLG2(daPy_py_c* this_, daPy_py_c::daPy_FLG2 pFlag);
-extern "C" u32 checkMagneBootsOn__9daPy_py_cCFv(daPy_py_c* this_);
-extern "C" daHorse_c* dComIfGp_getHorseActor__Fv();
-extern "C" u32 checkBoarSingleBattle__9daPy_py_cCFv(daPy_py_c* this_);
-extern "C" u32 checkEndResetFlg0__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG0(daPy_py_c* this_, daPy_py_c::daPy_ERFLG0 pFlag);
-extern "C" bool getMidnaAtnPos__9daPy_py_cCFv();
-extern "C" void setMidnaMsgNum__9daPy_py_cFP10fopAc_ac_cUs();
-extern "C" void getModelMtx__9daPy_py_cFv();
-extern "C" void getInvMtx__9daPy_py_cFv();
-extern "C" void getShadowTalkAtnPos__9daPy_py_cFv();
-extern "C" void getLeftItemMatrix__9daPy_py_cFv();
-extern "C" void getRightItemMatrix__9daPy_py_cFv();
-extern "C" void getLeftHandMatrix__9daPy_py_cFv();
-extern "C" void getRightHandMatrix__9daPy_py_cFv();
-extern "C" void getLinkBackBone1Matrix__9daPy_py_cFv();
-extern "C" void getWolfMouthMatrix__9daPy_py_cFv();
-extern "C" void getWolfBackbone2Matrix__9daPy_py_cFv();
-extern "C" bool getBottleMtx__9daPy_py_cFv();
-extern "C" bool checkPlayerGuard__9daPy_py_cCFv();
-extern "C" bool checkAutoJump__9daPy_py_cCFv();
-extern "C" bool checkSideStep__9daPy_py_cCFv();
-extern "C" bool checkWolfTriggerJump__9daPy_py_cCFv();
-extern "C" bool checkGuardBreakMode__9daPy_py_cCFv();
-extern "C" bool checkLv3Slide__9daPy_py_cCFv();
-extern "C" bool checkWolfHowlDemoMode__9daPy_py_cCFv();
-extern "C" bool checkChainBlockPushPull__9daPy_py_cFv();
-extern "C" bool checkElecDamage__9daPy_py_cCFv();
-extern "C" bool checkEmptyBottleSwing__9daPy_py_cCFv();
-extern "C" bool checkBottleSwingMode__9daPy_py_cCFv();
-extern "C" bool checkHawkWait__9daPy_py_cCFv();
-extern "C" bool checkGoatThrow__9daPy_py_cCFv();
-extern "C" bool checkGoatThrowAfter__9daPy_py_cCFv();
-extern "C" bool checkWolfTagLockJump__9daPy_py_cCFv();
-extern "C" bool checkWolfTagLockJumpLand__9daPy_py_cCFv();
-extern "C" bool checkWolfRope__9daPy_py_cFv();
-extern "C" bool checkWolfRopeHang__9daPy_py_cCFv();
-extern "C" bool checkRollJump__9daPy_py_cCFv();
-extern "C" bool checkGoronRideWait__9daPy_py_cCFv();
-extern "C" bool checkWolfChain__9daPy_py_cCFv();
-extern "C" bool checkWolfWait__9daPy_py_cCFv();
-extern "C" bool checkWolfJumpAttack__9daPy_py_cCFv();
-extern "C" bool checkWolfRSit__9daPy_py_cCFv();
-extern "C" bool checkBubbleFly__9daPy_py_cCFv();
-extern "C" bool checkBottleDrinkEnd__9daPy_py_cCFv();
-extern "C" bool checkWolfDig__9daPy_py_cCFv();
-extern "C" bool checkCutCharge__9daPy_py_cCFv();
-extern "C" bool checkCutTurnCharge__9daPy_py_cCFv();
-extern "C" bool checkCutLargeJumpCharge__9daPy_py_cCFv();
-extern "C" bool getBokoFlamePos__9daPy_py_cFP4cXyz();
-extern "C" bool checkComboCutTurn__9daPy_py_cCFv();
-extern "C" bool checkClimbMove__9daPy_py_cCFv();
-extern "C" bool checkGrassWhistle__9daPy_py_cCFv();
-extern "C" bool checkBoarRun__9daPy_py_cCFv();
-extern "C" bool checkFmChainPut__9daPy_py_cCFv();
-extern "C" bool checkHorseElecDamage__9daPy_py_cCFv();
-extern "C" f32 getBaseAnimeFrameRate__9daPy_py_cCFv();
-extern "C" f32 getBaseAnimeFrame__9daPy_py_cCFv();
-extern "C" void setAnimeFrame__9daPy_py_cFf();
-extern "C" bool checkWolfLock__9daPy_py_cCFP10fopAc_ac_c();
-extern "C" bool cancelWolfLock__9daPy_py_cFP10fopAc_ac_c();
-extern "C" s32 getItemID__9daPy_py_cCFv();
-extern "C" bool exchangeGrabActor__9daPy_py_cFP10fopAc_ac_c();
-extern "C" bool setForceGrab__9daPy_py_cFP10fopAc_ac_cii();
-extern "C" void setForcePutPos__9daPy_py_cFRC4cXyz();
-extern "C" bool checkPlayerNoDraw__9daPy_py_cFv();
-extern "C" bool checkRopeTag__9daPy_py_cFv();
-extern "C" void voiceStart__9daPy_py_cFUl();
-extern "C" void seStartOnlyReverb__9daPy_py_cFUl();
-extern "C" void seStartOnlyReverbLevel__9daPy_py_cFUl();
-extern "C" void setOutPower__9daPy_py_cFfsi();
-extern "C" void setGrabCollisionOffset__9daPy_py_cFffP13cBgS_PolyInfo();
-extern "C" void onMagneGrab__9daPy_py_cFff();
-extern "C" bool getModelJointMtx__9daPy_py_cFUs();
-extern "C" bool getHeadMtx__9daPy_py_cFv();
-extern "C" bool setHookshotCarryOffset__9daPy_py_cFUiPC4cXyz();
-extern "C" bool checkIronBallReturn__9daPy_py_cCFv();
-extern "C" bool checkIronBallGroundStop__9daPy_py_cCFv();
-extern "C" bool checkSingleBoarBattleSecondBowReady__9daPy_py_cCFv();
-extern "C" bool checkPointSubWindowMode__9daPy_py_cCFv();
-extern "C" void setClothesChange__9daPy_py_cFi();
-extern "C" void setPlayerPosAndAngle__9daPy_py_cFPA4_f();
-extern "C" void setPlayerPosAndAngle__9daPy_py_cFPC4cXyzPC5csXyz();
-extern "C" void setPlayerPosAndAngle__9daPy_py_cFPC4cXyzsi();
-extern "C" bool setThrowDamage__9daPy_py_cFsffiii();
-extern "C" bool checkSetNpcTks__9daPy_py_cFP4cXyzii();
-extern "C" bool setRollJump__9daPy_py_cFffs();
-extern "C" void playerStartCollisionSE__9daPy_py_cFUlUl();
-extern "C" void changeTextureAnime__9daPy_py_cFUsUsi();
-extern "C" void cancelChangeTextureAnime__9daPy_py_cFv();
-extern "C" void cancelDungeonWarpReadyNeck__9daPy_py_cFv();
-extern "C" void onSceneChangeArea__9daPy_py_cFUcUcP10fopAc_ac_c();
-extern "C" void onSceneChangeAreaJump__9daPy_py_cFUcUcP10fopAc_ac_c();
-extern "C" void onSceneChangeDead__9daPy_py_cFUci();
-extern "C" bool getSpinnerActor__9daPy_py_cFv();
-extern "C" bool checkHorseRideNotReady__9daPy_py_cCFv();
-extern "C" bool checkArrowChargeEnd__9daPy_py_cCFv();
-extern "C" f32 getSearchBallScale__9daPy_py_cCFv();
-extern "C" bool checkFastShotTime__9daPy_py_cFv();
-extern "C" bool checkNoEquipItem__9daPy_py_cCFv();
-extern "C" bool checkFireMaterial__9daPy_py_cCFv();
-extern "C" bool checkKandelaarSwing__9daPy_py_cCFi();
-extern "C" bool getBoardCutTurnOffsetAngleY__9daPy_py_cCFv();
-extern "C" cXyz* getMagneHitPos__9daPy_py_cFv(daPy_py_c* this_);
-extern "C" cXyz* getMagneBootsTopVec__9daPy_py_cFv(daPy_py_c* this_);
-extern "C" bool checkUseKandelaar__9daPy_py_cFi();
-extern "C" void setDkCaught__9daPy_py_cFP10fopAc_ac_c();
-extern "C" void onPressedDamage__9daPy_py_cFRC4cXyzs();
-extern "C" bool checkPriActorOwn__9daPy_py_cCFPC10fopAc_ac_c();
-extern "C" bool onWolfEnemyBiteAll__9daPy_py_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2();
-extern "C" bool checkWolfEnemyBiteAllOwn__9daPy_py_cCFPC10fopAc_ac_c();
-extern "C" void setWolfEnemyHangBiteAngle__9daPy_py_cFs();
-extern "C" void setKandelaarMtx__9daPy_py_cFPA4_fii();
-extern "C" bool getStickAngleFromPlayerShape__9daPy_py_cCFPs();
-extern "C" bool checkSpinnerPathMove__9daPy_py_cFv();
-extern "C" bool checkSpinnerTriggerAttack__9daPy_py_cFv();
-extern "C" void onSpinnerPathForceRemove__9daPy_py_cFv();
-extern "C" bool getIronBallBgHit__9daPy_py_cCFv();
-extern "C" bool getIronBallCenterPos__9daPy_py_cFv();
-extern "C" bool checkCanoeFishingGetLeft__9daPy_py_cCFv();
-extern "C" bool checkCanoeFishingGetRight__9daPy_py_cCFv();
-extern "C" bool checkBeeChildDrink__9daPy_py_cCFv();
-extern "C" void skipPortalObjWarp__9daPy_py_cFv();
-extern "C" bool checkTreasureRupeeReturn__9daPy_py_cCFi();
-extern "C" void setSumouReady__9daPy_py_cFP10fopAc_ac_c();
-extern "C" bool checkAcceptDungeonWarpAlink__9daPy_py_cFi();
-extern "C" bool getSumouCounter__9daPy_py_cCFv();
-extern "C" bool checkSumouWithstand__9daPy_py_cCFv();
-extern "C" void cancelGoronThrowEvent__9daPy_py_cFv();
-extern "C" void setSumouGraspCancelCount__9daPy_py_cFi();
-extern "C" void setSumouPushBackDirection__9daPy_py_cFs();
-extern "C" void setSumouLoseHeadUp__9daPy_py_cFv();
-extern "C" void getGiantPuzzleAimAngle__9daPy_py_cCFv();
-extern "C" void setGoronSideMove__9daPy_py_cFP10fopAc_ac_c();
-extern "C" void setCargoCarry__9daPy_py_cFP10fopAc_ac_c();
-extern "C" bool getDpdFarFlg__9daPy_py_cCFv();
-extern "C" bool getHookshotTopPos__9daPy_py_cFv();
-extern "C" bool checkHookshotReturnMode__9daPy_py_cCFv();
-extern "C" bool checkHookshotShootReturnMode__9daPy_py_cCFv();
-extern "C" bool checkOctaIealHang__9daPy_py_cCFv();
-extern "C" void cancelOctaIealHang__9daPy_py_cFv();
-extern "C" void cancelDragonHangBackJump__9daPy_py_cFv();
-extern "C" void setOctaIealWildHang__9daPy_py_cFv();
-extern "C" bool checkDragonHangRide__9daPy_py_cCFv();
-extern "C" void changeDragonActor__9daPy_py_cFP10fopAc_ac_c();
-extern "C" bool getClothesChangeWaitTimer__9daPy_py_cCFv();
-extern "C" bool getShieldChangeWaitTimer__9daPy_py_cCFv();
-extern "C" bool getSwordChangeWaitTimer__9daPy_py_cCFv();
-extern "C" bool checkMetamorphose__9daPy_py_cCFv();
-extern "C" bool checkWolfDownAttackPullOut__9daPy_py_cCFv();
-extern "C" bool checkBootsOrArmorHeavy__9daPy_py_cCFv();
-extern "C" s32 getBottleOpenAppearItem__9daPy_py_cCFv();
-extern "C" bool checkItemSwordEquip__9daPy_py_cCFv();
-extern "C" f32 getSinkShapeOffset__9daPy_py_cCFv();
-extern "C" bool checkSinkDead__9daPy_py_cCFv();
-extern "C" bool checkHorseStart__9daPy_py_cFv();
-extern "C" bool getWolfHowlMgrP__9daPy_py_cFv();
-extern "C" bool checkWolfHowlSuccessAnime__9daPy_py_cCFv();
-extern "C" bool checkCopyRodTopUse__9daPy_py_cFv();
-extern "C" bool checkCopyRodEquip__9daPy_py_cCFv();
-extern "C" bool checkCutJumpMode__9daPy_py_cCFv();
-extern "C" void getZeldaActor__9daHorse_cFv();
-extern "C" static u8 dComIfGp_getDoStatus__Fv();
-extern "C" void __ct__4cXyzFfff(f32, f32, f32);
-extern "C" static void dMeter2Info_offUseButton__Fi();
-extern "C" void setLinkState__14Z2CreatureLinkFUc(Z2CreatureLink* this_, u8 param_0);
-extern "C" u16 dComIfGs_getRupee__Fv();
-extern "C" void dComIfGp_setItemRupeeCount__Fl(s32);
-extern "C" static void dMeter2Info_setFloatingMessage__FUssb();
-extern "C" void onForcePanic__9daMidna_cFv();
-extern "C" void checkForceNormalColor__9daMidna_cCFv();
-extern "C" void checkForceTiredColor__9daMidna_cCFv();
-extern "C" void checkMidnaTired__9daMidna_cFv();
-extern "C" void onNoServiceWait__9daMidna_cFv();
-extern "C" void setControllActorData__8daCrod_cFv();
-extern "C" void func_80141ACC(void* _this, fopAc_ac_c const*, daObjMovebox::Act_c::Prm_e,
- daObjMovebox::Act_c::Prm_e);
-extern "C" u8 func_80141AE8(u8*);
-extern "C" void __sinit_d_a_alink_cpp();
-extern "C" static void func_801446D4();
-extern "C" static void func_801446DC();
-extern "C" static void func_801446E4();
-extern "C" static void func_801446EC();
-extern "C" static void func_801446F4();
-extern "C" static void func_801446FC();
-extern "C" static void func_80144704();
-extern "C" static void func_8014470C();
-extern "C" static void func_80144714();
-extern "C" static void func_8014471C();
-extern "C" u8 const m__19daAlinkHIO_basic_c0[88];
-extern "C" u8 const m__18daAlinkHIO_move_c0[88];
-extern "C" u8 const m__21daAlinkHIO_atnMove_c0[84];
-extern "C" u8 const m__26daAlinkHIO_noActAtnMove_c0[84];
-extern "C" u8 const m__23daAlinkHIO_frontRoll_c0[112];
-extern "C" u8 const m__22daAlinkHIO_backJump_c0[56];
-extern "C" u8 const m__22daAlinkHIO_sideStep_c0[104];
-extern "C" u8 const m__19daAlinkHIO_slide_c0[120];
-extern "C" u8 const m__20daAlinkHIO_cutNmV_c0[32];
-extern "C" u8 const m__20daAlinkHIO_cutNmL_c0[32];
-extern "C" u8 const m__20daAlinkHIO_cutNmR_c0[32];
-extern "C" u8 const m__21daAlinkHIO_cutNmSL_c0[32];
-extern "C" u8 const m__21daAlinkHIO_cutNmSR_c0[32];
-extern "C" u8 const m__20daAlinkHIO_cutFnL_c0[44];
-extern "C" u8 const m__20daAlinkHIO_cutFnV_c0[44];
-extern "C" u8 const m__20daAlinkHIO_cutFnS_c0[44];
-extern "C" u8 const m__21daAlinkHIO_cutFnSl_c0[44];
-extern "C" u8 const m__21daAlinkHIO_cutFnSm_c0[44];
-extern "C" u8 const m__20daAlinkHIO_cutFnR_c0[44];
-extern "C" u8 const m__21daAlinkHIO_cutFnJU_c0[84];
-extern "C" u8 const m__21daAlinkHIO_cutJump_c0[68];
-extern "C" u8 const m__21daAlinkHIO_cutTurn_c0[152];
-extern "C" u8 const m__21daAlinkHIO_hoCutLA_c0[32];
-extern "C" u8 const m__21daAlinkHIO_hoCutLB_c0[32];
-extern "C" u8 const m__21daAlinkHIO_hoCutRA_c0[32];
-extern "C" u8 const m__21daAlinkHIO_hoCutRB_c0[32];
-extern "C" u8 const m__25daAlinkHIO_hoCutCharge_c0[84];
-extern "C" u8 const m__20daAlinkHIO_cutDaL_c0[28];
-extern "C" u8 const m__20daAlinkHIO_cutDaR_c0[28];
-extern "C" u8 const m__25daAlinkHIO_cutDaCharge_c0[28];
-extern "C" u8 const m__21daAlinkHIO_cutDown_c0[116];
-extern "C" u8 const m__21daAlinkHIO_cutHead_c0[96];
-extern "C" u8 const m__26daAlinkHIO_cutLargeJump_c0[116];
-extern "C" u8 const m__17daAlinkHIO_cut_c0[156];
-extern "C" u8 const m__21daAlinkHIO_gAtPush_c0[36];
-extern "C" u8 const m__21daAlinkHIO_gAtKick_c0[36];
-extern "C" u8 const m__22daAlinkHIO_turnMove_c0[44];
-extern "C" u8 const m__19daAlinkHIO_guard_c0[128];
-extern "C" u8 const m__20daAlinkHIO_crouch_c0[76];
-extern "C" u8 const m__22daAlinkHIO_autoJump_c0[180];
-extern "C" u8 const m__23daAlinkHIO_smallJump_c0[72];
-extern "C" u8 const m__23daAlinkHIO_wallCatch_c0[84];
-extern "C" u8 const m__22daAlinkHIO_wallFall_c0[40];
-extern "C" u8 const m__22daAlinkHIO_wallMove_c0[20];
-extern "C" u8 const m__22daAlinkHIO_wallHang_c0[28];
-extern "C" u8 const m__22daAlinkHIO_pushpull_c0[60];
-extern "C" u8 const m__23daAlinkHIO_damNormal_c0[100];
-extern "C" u8 const m__22daAlinkHIO_damLarge_c0[188];
-extern "C" u8 const m__21daAlinkHIO_damHuge_c0[188];
-extern "C" u8 const m__22daAlinkHIO_damHorse_c0[44];
-extern "C" u8 const m__21daAlinkHIO_damFall_c0[72];
-extern "C" u8 const m__23daAlinkHIO_damCaught_c0[36];
-extern "C" u8 const m__21daAlinkHIO_damSwim_c0[140];
-extern "C" u8 const m__20daAlinkHIO_damage_c0[88];
-extern "C" u8 const m__19daAlinkHIO_horse_c0[108];
-extern "C" u8 const m__19daAlinkHIO_canoe_c0[72];
-extern "C" u8 const m__17daAlinkHIO_bow_c0[112];
-extern "C" u8 const m__18daAlinkHIO_boom_c0[76];
-extern "C" u8 const m__18daAlinkHIO_bomb_c0[76];
-extern "C" u8 const m__21daAlinkHIO_huLight_c0[28];
-extern "C" u8 const m__23daAlinkHIO_kandelaar_c0[80];
-extern "C" u8 const m__21daAlinkHIO_fmChain_c0[40];
-extern "C" u8 const m__24daAlinkHIO_magneBoots_c0[76];
-extern "C" u8 const m__20daAlinkHIO_pickUp_c0[48];
-extern "C" u8 const m__19daAlinkHIO_board_c0[156];
-extern "C" u8 const m__20daAlinkHIO_bottle_c0[180];
-extern "C" u8 const m__22daAlinkHIO_hookshot_c0[112];
-extern "C" u8 const m__21daAlinkHIO_spinner_c0[64];
-extern "C" u8 const m__22daAlinkHIO_ironBall_c0[140];
-extern "C" u8 const m__21daAlinkHIO_copyRod_c0[56];
-extern "C" u8 const m__21daAlinkHIO_zwLight_c0[28];
-extern "C" u8 const m__18daAlinkHIO_item_c0[60];
-extern "C" u8 const m__20daAlinkHIO_ladder_c0[112];
-extern "C" u8 const m__22daAlinkHIO_roofHang_c0[76];
-extern "C" u8 const m__18daAlinkHIO_grab_c0[228];
-extern "C" u8 const m__18daAlinkHIO_swim_c0[252];
-extern "C" u8 const m__20daAlinkHIO_wlMove_c0[256];
-extern "C" u8 const m__23daAlinkHIO_wlMoveNoP_c0[72];
-extern "C" u8 const m__23daAlinkHIO_wlAtnMove_c0[56];
-extern "C" u8 const m__24daAlinkHIO_wlSideStep_c0[104];
-extern "C" u8 const m__24daAlinkHIO_wlBackJump_c0[56];
-extern "C" u8 const m__20daAlinkHIO_wlHowl_c0[96];
-extern "C" u8 const m__24daAlinkHIO_wlAutoJump_c0[124];
-extern "C" u8 const m__20daAlinkHIO_wlPush_c0[20];
-extern "C" u8 const m__19daAlinkHIO_wlLie_c0[76];
-extern "C" u8 const m__21daAlinkHIO_wlLight_c0[28];
-extern "C" u8 const m__24daAlinkHIO_wlWallHang_c0[156];
-extern "C" u8 const m__25daAlinkHIO_wlDamNormal_c0[96];
-extern "C" u8 const m__24daAlinkHIO_wlDamLarge_c0[108];
-extern "C" u8 const m__23daAlinkHIO_wlDamHuge_c0[108];
-extern "C" u8 const m__23daAlinkHIO_wlDamFall_c0[64];
-extern "C" u8 const m__25daAlinkHIO_wlDamCaught_c0[16];
-extern "C" u8 const m__22daAlinkHIO_wlDamage_c0[44];
-extern "C" u8 const m__21daAlinkHIO_wlSlide_c0[124];
-extern "C" u8 const m__20daAlinkHIO_wlRope_c0[56];
-extern "C" u8 const m__22daAlinkHIO_wlAtWaLr_c0[60];
-extern "C" u8 const m__22daAlinkHIO_wlAtWaSc_c0[60];
-extern "C" u8 const m__22daAlinkHIO_wlAtWaTl_c0[60];
-extern "C" u8 const m__22daAlinkHIO_wlAtRoll_c0[32];
-extern "C" u8 const m__23daAlinkHIO_wlAtNjump_c0[60];
-extern "C" u8 const m__23daAlinkHIO_wlAtCjump_c0[100];
-extern "C" u8 const m__22daAlinkHIO_wlAtLand_c0[64];
-extern "C" u8 const m__22daAlinkHIO_wlAtDown_c0[156];
-extern "C" u8 const m__22daAlinkHIO_wlAtLock_c0[84];
-extern "C" u8 const m__22daAlinkHIO_wlAtBite_c0[92];
-extern "C" u8 const m__22daAlinkHIO_wlAttack_c0[56];
-extern "C" u8 const m__21daAlinkHIO_wlPoint_c0[124];
-extern "C" u8 const m__21daAlinkHIO_wlChain_c0[92];
-extern "C" u8 const m__20daAlinkHIO_wlSwim_c0[168];
-extern "C" u8 const m__20daAlinkHIO_wlGrab_c0[100];
-extern "C" u8 const m__20daAlinkHIO_wlBall_c0[56];
-extern "C" u8 const m__18daAlinkHIO_wolf_c0[24];
-extern "C" u8 const m_mainBckShield__9daAlink_c[80];
-extern "C" u8 const m_mainBckSword__9daAlink_c[20];
-extern "C" u8 const m_mainBckFishing__9daAlink_c[112];
-extern "C" u8 const m_anmDataTable__9daAlink_c[4968];
-extern "C" void* const m_wlAnmDataTable__9daAlink_c[294];
-extern "C" u8 const m_faceTexDataTable__9daAlink_c[652];
-extern "C" u8 const m_handLeftOutSidePos__9daAlink_c[12];
-extern "C" u8 const m_handRightOutSidePos__9daAlink_c[12];
-extern "C" u8 const m_handLeftInSidePos__9daAlink_c[12];
-extern "C" u8 const m_handRightInSidePos__9daAlink_c[12];
-extern "C" extern char const* const d_a_d_a_alink__stringBase0;
-extern "C" u8 m_procInitTable__9daAlink_c[5632];
-extern "C" u8 m_demoInitTable__9daAlink_c[1140];
-extern "C" u8 m_fEffParamProc__9daAlink_c[72];
-
-//
-// External References:
-//
-
-extern "C" void __dt__4cXyzFv();
-extern "C" s32 getAtnActorID__9daPy_py_cCFv();
-extern "C" void mDoMtx_XYZrotM__FPA4_fsss();
-extern "C" void mDoMtx_ZXYrotS__FPA4_fsss();
-extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
-extern "C" void mDoMtx_XrotS__FPA4_fs();
-extern "C" void mDoMtx_XrotM__FPA4_fs();
-extern "C" void mDoMtx_YrotS__FPA4_fs();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void mDoMtx_ZrotS__FPA4_fs();
-extern "C" void mDoMtx_ZrotM__FPA4_fs();
-extern "C" void mDoMtx_QuatConcat__FPC10QuaternionPC10QuaternionP10Quaternion();
-extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz();
-extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
-extern "C" void transM__14mDoMtx_stack_cFfff();
-extern "C" void transM__14mDoMtx_stack_cFRC4cXyz();
-extern "C" void scaleM__14mDoMtx_stack_cFfff();
-extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz();
-extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
-extern "C" void quatM__14mDoMtx_stack_cFPC10Quaternion();
-extern "C" void play__14mDoExt_baseAnmFv();
-extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
-extern "C" void changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform();
-extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
-extern "C" void init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss();
-extern "C" void mDoExt_modelEntryDL__FP8J3DModel();
-extern "C" void __ct__13J3DGXColorS10Fv();
-extern "C" void mDoExt_getGameHeap__Fv();
-extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap();
-extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
-extern "C" void initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs();
-extern "C" void __ct__4cXyzFv();
-extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
-extern "C" void mDoLib_project__FP3VecP3Vec();
-extern "C" void mDoLib_pos2camera__FP3VecP3Vec();
-extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void __dt__5csXyzFv();
-extern "C" void __dt__10fopAc_ac_cFv();
-extern "C" void fopAc_IsActor__FPv();
-extern "C" void fopAcIt_Executor__FPFPvPv_iPv();
-extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
-extern "C" void fopAcM_setStageLayer__FPv();
-extern "C" void fopAcM_delete__FP10fopAc_ac_c();
-extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
-extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv();
-extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
-extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
-extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
-extern "C" void fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs();
-extern "C" void fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
-extern "C" void fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
-extern "C" void fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs();
-extern "C" void fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs();
-extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
-extern "C" void fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs();
-extern "C" void fopAcM_getTalkEventPartner__FPC10fopAc_ac_c();
-extern "C" void fopAcM_getItemEventPartner__FPC10fopAc_ac_c();
-extern "C" void fopAcM_getEventPartner__FPC10fopAc_ac_c();
-extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz();
-extern "C" void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff();
-extern "C" void fopAcM_setCarryNow__FP10fopAc_ac_ci();
-extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c();
-extern "C" void fopAcM_getWaterY__FPC4cXyzPf();
-extern "C" void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz();
-extern "C" void fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii();
-extern "C" void __dt__8cM3dGPlaFv();
-extern "C" void fopAcM_getPolygonAngle__FPC8cM3dGPlas();
-extern "C" void lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c();
-extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz();
-extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz();
-extern "C" void onFrollCrashFlg__9daPy_py_cFUci();
-extern "C" bool checkWolfDash__9daPy_py_cCFv();
-extern "C" bool checkFrontRoll__9daPy_py_cCFv();
-extern "C" bool checkHorseRide__9daPy_py_cCFv();
-extern "C" s32 getGrabActorID__9daPy_py_cCFv();
-extern "C" void fopOvlpM_IsPeek__Fv();
-extern "C" void fopKyM_create__FsiP4cXyzP4cXyzPFPv_i();
-extern "C" void fopKyM_createWpillar__FPC4cXyzfi();
-extern "C" void fopMsgM_SearchByID__FUi();
-extern "C" void fopMsgM_messageSet__FUlUl();
-extern "C" void fpcM_IsCreating__FUi();
-extern "C" void fpcSch_JudgeByID__FPvPv();
-extern "C" void dStage_RoomCheck__FP11cBgS_GndChk();
-extern "C" void dStage_changeSceneExitId__FR13cBgS_PolyInfofUlScs();
-extern "C" void dStage_changeScene__FifUlScsi();
-extern "C" void dStage_restartRoom__FUlUli();
-extern "C" void dComIfGp_checkItemGet__FUci();
-extern "C" void getLayerNo__14dComIfG_play_cFi();
-extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap();
-extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
-extern "C" void dComIfGp_getReverb__Fi();
-extern "C" void dComIfGp_setNextStage__FPCcsScScfUliScsii();
-extern "C" void dComIfGs_isOneZoneSwitch__Fii();
-extern "C" void dComIfGs_getMaxLifeGauge__Fv();
-extern "C" void dComIfGp_getSelectItem__Fi();
-extern "C" s32 dComIfGs_getBottleMax__Fv();
-extern "C" void dComIfGp_getSelectItemNum__Fi();
-extern "C" void dComIfGp_setSelectItemNum__Fis();
-extern "C" void dComIfGp_addSelectItemNum__Fis();
-extern "C" void
-dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj();
-extern "C" void dComIfGs_setSelectEquipClothes__FUc();
-extern "C" void dComIfGs_getWarpStageName__Fv();
-extern "C" void dComIfGs_getWarpPlayerPos__Fv();
-extern "C" void dComIfGs_getWarpPlayerAngleY__Fv();
-extern "C" void dComIfGs_getWarpRoomNo__Fv();
-extern "C" void dComIfGs_Wolf_Change_Check__Fv();
-extern "C" void dComIfGs_PolyDamageOff_Check__Fv();
-extern "C" void dComIfGp_TargetWarpPt_set__FUc();
-extern "C" void dComIfGp_TargetWarpPt_get__Fv();
-extern "C" void dComIfGp_TransportWarp_check__Fv();
-extern "C" void entry__10daMirror_cFP8J3DModel();
-extern "C" void checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo();
-extern "C" void getPlayerNo__11daTagMist_cFv();
-extern "C" void getRupeeMax__21dSv_player_status_a_cCFv();
-extern "C" void isTransformLV__21dSv_player_status_b_cCFi();
-extern "C" void setItem__17dSv_player_item_cFiUc();
-extern "C" void setBottleItemIn__17dSv_player_item_cFUcUc();
-extern "C" void setEquipBottleItemIn__17dSv_player_item_cFUcUc();
-extern "C" void setEquipBottleItemEmpty__17dSv_player_item_cFUc();
-extern "C" void checkBottle__17dSv_player_item_cFUc();
-extern "C" void setBaitItem__17dSv_player_item_cFUc();
-extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
-extern "C" void getLightDropNum__16dSv_light_drop_cCFUc();
-extern "C" void isDungeonItem__12dSv_memBit_cCFi();
-extern "C" void onEventBit__11dSv_event_cFUs();
-extern "C" void offEventBit__11dSv_event_cFUs();
-extern "C" void isEventBit__11dSv_event_cCFUs();
-extern "C" void isSwitch__12dSv_danBit_cCFi();
-extern "C" void setRoom__13dSv_restart_cFRC4cXyzsSc();
-extern "C" void set__17dSv_turnRestart_cFRC4cXyzsScUl();
-extern "C" void onSwitch__10dSv_info_cFii();
-extern "C" void offSwitch__10dSv_info_cFii();
-extern "C" void isSwitch__10dSv_info_cCFii();
-extern "C" void __ct__9dJntCol_cFv();
-extern "C" void init__9dJntCol_cFP10fopAc_ac_cPC13dJntColData_cP8J3DModeli();
-extern "C" void getHitmarkPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP5csXyzi();
-extern "C" void getItemNo__12daItemBase_cFv();
-extern "C" void hide__12daItemBase_cFv();
-extern "C" void show__12daItemBase_cFv();
-extern "C" void dead__12daItemBase_cFv();
-extern "C" void checkWait__10e_wb_classFv();
-extern "C" void setPlayerRideNow__10e_wb_classFv();
-extern "C" void setPlayerRide__10e_wb_classFv();
-extern "C" void getOff__10e_wb_classFv();
-extern "C" void checkDownDamage__10e_wb_classFv();
-extern "C" void checkNormalRideMode__10e_wb_classCFv();
-extern "C" void setRunRideMode__10e_wb_classFv();
-extern "C" void getPrm_Morf__13dDemo_actor_cFv();
-extern "C" void getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc();
-extern "C" void getActor__14dDemo_object_cFUc();
-extern "C" void setBranchId__7dDemo_cFUss();
-extern "C" void onWarpMaterial__11dRes_info_cFP12J3DModelData();
-extern "C" void offWarpMaterial__11dRes_info_cFP12J3DModelData();
-extern "C" void setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff();
-extern "C" void loaderBasicBmd__11dRes_info_cFUlPv();
-extern "C" void __dt__15J3DTevKColorAnmFv();
-extern "C" void __ct__15J3DTevKColorAnmFv();
-extern "C" void __dt__14J3DTevColorAnmFv();
-extern "C" void __ct__14J3DTevColorAnmFv();
-extern "C" void __dt__11J3DTexNoAnmFv();
-extern "C" void __ct__11J3DTexNoAnmFv();
-extern "C" void __dt__12J3DTexMtxAnmFv();
-extern "C" void __ct__12J3DTexMtxAnmFv();
-extern "C" void __dt__14J3DMatColorAnmFv();
-extern "C" void __ct__14J3DMatColorAnmFv();
-extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
-extern "C" void getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-extern "C" void reset__14dEvt_control_cFPv();
-extern "C" void dEv_noFinishSkipProc__FPvi();
-extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii();
-extern "C" void compulsory__14dEvt_control_cFPvPCcUs();
-extern "C" void convPId__14dEvt_control_cFUi();
-extern "C" void setPtI_Id__14dEvt_control_cFUi();
-extern "C" void setPtD__14dEvt_control_cFPv();
-extern "C" void setStartDemo__18dEvent_exception_cFi();
-extern "C" void setObjectArchive__16dEvent_manager_cFPc();
-extern "C" void orderStartDemo__16dEvent_manager_cFv();
-extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
-extern "C" void startCheckOld__16dEvent_manager_cFPCc();
-extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
-extern "C" void getMyNowCutName__16dEvent_manager_cFi();
-extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci();
-extern "C" void cutEnd__16dEvent_manager_cFi();
-extern "C" void setGoal__16dEvent_manager_cFP4cXyz();
-extern "C" void getGoal__16dEvent_manager_cFv();
-extern "C" void getRunEventName__16dEvent_manager_cFv();
-extern "C" void checkStartDemo__16dEvent_manager_cFv();
-extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl();
-extern "C" void getEmitter__Q213dPa_control_c7level_cFUl();
-extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl();
-extern "C" void
-setWaterRipple__13dPa_control_cFPUlR13cBgS_PolyInfoPC4cXyzfPC12dKy_tevstr_cPC4cXyzSc();
-extern "C" void
-set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
-extern "C" void getPolyColor__13dPa_control_cFR13cBgS_PolyInfoiP8_GXColorP8_GXColorPUcPf();
-extern "C" void
-setPoly__13dPa_control_cFUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz();
-extern "C" void
-set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
-extern "C" void
-setPoly__13dPa_control_cFUlUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz();
-extern "C" void setOldPosP__22dPa_hermiteEcallBack_cFPC4cXyzPC4cXyz();
-extern "C" void init__7dPaPo_cFP9dBgS_Acchff();
-extern "C" void setEffectCenter__7dPaPo_cFPC12dKy_tevstr_cPC4cXyzUlUlPC4cXyzPC5csXyzPC4cXyzScff();
-extern "C" void
-setEffectFour__8dPaPoF_cFPC12dKy_tevstr_cPC4cXyzUlUlPC4cXyzPC4cXyzPC4cXyzPC4cXyzPC4cXyzPC5csXyzPC4cXyzScff();
-extern "C" void clearFourAllID__8dPaPoF_cFv();
-extern "C" void dPath_GetRoomPath__Fii();
-extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel();
-extern "C" void newData__13dDlst_peekZ_cFssPUl();
-extern "C" void entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz();
-extern "C" void dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf();
-extern "C" bool getKandelaarFlamePos__9daPy_py_cFv();
-extern "C" void StartShock__12dVibration_cFii4cXyz();
-extern "C" void StartQuake__12dVibration_cFii4cXyz();
-extern "C" void StopQuake__12dVibration_cFi();
-extern "C" void GetLockonList__12dAttention_cFl();
-extern "C" void getActionBtnB__12dAttention_cFv();
-extern "C" void getActionBtnXY__12dAttention_cFv();
-extern "C" void LockonTarget__12dAttention_cFl();
-extern "C" void LockonTruth__12dAttention_cFv();
-extern "C" void getActor__10dAttList_cFv();
-extern "C" void convPId__10dAttHint_cFUi();
-extern "C" void convPId__11dAttCatch_cFUi();
-extern "C" void convPId__10dAttLook_cFUi();
-extern "C" void LineCross__4cBgSFP11cBgS_LinChk();
-extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
-extern "C" void GetActorPointer__4cBgSCFi();
-extern "C" void GetBgWBasePointer__4cBgSCFRC13cBgS_PolyInfo();
-extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo();
-extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
-extern "C" void GetTriPnt__4cBgSCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz();
-extern "C" void ChkMoveBG__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void ChkMoveBG_NoDABg__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetExitId__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetHorseNoEntry__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetSpecialCode__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetMagnetCode__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetMonkeyBarsCode__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetWallCode__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetPolyAtt1__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetGroundCode__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetRoomPathId__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetGrpSoundId__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void GetPolyAttackThrough__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void ChkPolyHSStick__4dBgSFRC13cBgS_PolyInfo();
-extern "C" void RoofChk__4dBgSFP12dBgS_RoofChk();
-extern "C" void MoveBgCrrPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyzbb();
-extern "C" void MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
-extern "C" void
-PushPullCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_csQ29dBgW_Base13PushPullLabel();
-extern "C" void dBgS_CheckBWallPoly__FRC13cBgS_PolyInfo();
-extern "C" void dBgS_CheckBGroundPoly__FRC13cBgS_PolyInfo();
-extern "C" void dBgS_GetNY__FRC13cBgS_PolyInfo();
-extern "C" void __ct__12dBgS_AcchCirFv();
-extern "C" void SetWallR__12dBgS_AcchCirFf();
-extern "C" void SetWall__12dBgS_AcchCirFff();
-extern "C" void __dt__9dBgS_AcchFv();
-extern "C" void __ct__9dBgS_AcchFv();
-extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
-extern "C" void Set__9dBgS_AcchFP10fopAc_ac_ciP12dBgS_AcchCir();
-extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
-extern "C" void SetGndThinCellingOff__9dBgS_AcchFv();
-extern "C" void ClrGndThinCellingOff__9dBgS_AcchFv();
-extern "C" void OnWallSort__9dBgS_AcchFv();
-extern "C" void __dt__12dBgS_AcchCirFv();
-extern "C" bool checkPlayerFly__9daPy_py_cCFv();
-extern "C" void __ct__11dBgS_GndChkFv();
-extern "C" void __dt__11dBgS_GndChkFv();
-extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c();
-extern "C" void __ct__14dBgS_ObjLinChkFv();
-extern "C" void __dt__14dBgS_ObjLinChkFv();
-extern "C" void __ct__15dBgS_LinkLinChkFv();
-extern "C" void __dt__15dBgS_LinkLinChkFv();
-extern "C" void __ct__16dBgS_ArrowLinChkFv();
-extern "C" void __dt__16dBgS_ArrowLinChkFv();
-extern "C" void __ct__20dBgS_BoomerangLinChkFv();
-extern "C" void __dt__20dBgS_BoomerangLinChkFv();
-extern "C" void __ct__15dBgS_RopeLinChkFv();
-extern "C" void __dt__15dBgS_RopeLinChkFv();
-extern "C" void SetObj__16dBgS_PolyPassChkFv();
-extern "C" void ClrObj__16dBgS_PolyPassChkFv();
-extern "C" void SetLink__16dBgS_PolyPassChkFv();
-extern "C" void ClrLink__16dBgS_PolyPassChkFv();
-extern "C" void SetBomb__16dBgS_PolyPassChkFv();
-extern "C" void ClrBomb__16dBgS_PolyPassChkFv();
-extern "C" void SetStatue__16dBgS_PolyPassChkFv();
-extern "C" void ClrStatue__16dBgS_PolyPassChkFv();
-extern "C" void SetIronBall__16dBgS_PolyPassChkFv();
-extern "C" void __ct__12dBgS_RoofChkFv();
-extern "C" void __dt__12dBgS_RoofChkFv();
-extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv();
-extern "C" void __ct__10dCcD_GSttsFv();
-extern "C" void Move__10dCcD_GSttsFv();
-extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
-extern "C" void __ct__12dCcD_GObjInfFv();
-extern "C" void __dt__12dCcD_GObjInfFv();
-extern "C" void ChkAtHit__12dCcD_GObjInfFv();
-extern "C" void ResetAtHit__12dCcD_GObjInfFv();
-extern "C" void GetAtHitGObj__12dCcD_GObjInfFv();
-extern "C" void ChkTgHit__12dCcD_GObjInfFv();
-extern "C" void ResetTgHit__12dCcD_GObjInfFv();
-extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
-extern "C" void GetTgHitObjSe__12dCcD_GObjInfFv();
-extern "C" void getHitSeID__12dCcD_GObjInfFUci();
-extern "C" void ChkCoHit__12dCcD_GObjInfFv();
-extern "C" void ResetCoHit__12dCcD_GObjInfFv();
-extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps();
-extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
-extern "C" void StartCAt__8dCcD_CylFR4cXyz();
-extern "C" void MoveCAt__8dCcD_CylFR4cXyz();
-extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph();
-extern "C" void StartCAt__8dCcD_SphFR4cXyz();
-extern "C" void MoveCAt__8dCcD_SphFR4cXyz();
-extern "C" void __dt__8dCcD_CylFv();
-extern "C" void __dt__8dCcD_CpsFv();
-extern "C" void Set__12dCcMassS_MngFP8cCcD_ObjUc();
-extern "C" bool checkCutJumpCancelTurn__9daPy_py_cCFv();
-extern "C" void StartEventCamera__9dCamera_cFiie();
-extern "C" void EndEventCamera__9dCamera_cFi();
-extern "C" void abs__4cXyzCFv();
-extern "C" void checkMidnaRide__9daPy_py_cCFv();
-extern "C" void __as__4cXyzFRC4cXyz();
-extern "C" void __ct__4cXyzFRC4cXyz();
-extern "C" bool checkCanoeRide__9daPy_py_cCFv();
-extern "C" bool checkBoardRide__9daPy_py_cCFv();
-extern "C" bool checkSpinnerRide__9daPy_py_cCFv();
-extern "C" bool checkBoarRide__9daPy_py_cCFv();
-extern "C" void getShadowTalkAtnPos__9daAlink_cFv();
-extern "C" void execItemGet__FUc();
-extern "C" void checkItemGet__FUci();
-extern "C" void entry__8dEyeHL_cFP12J3DModelDataPCc();
-extern "C" void remove__8dEyeHL_cFv();
-extern "C" void getActorP__18daNpcT_ActorMngr_cFv();
-extern "C" void daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz();
-extern "C" void checkAnmEnd__16daPy_frameCtrl_cFv();
-extern "C" void updateFrame__16daPy_frameCtrl_cFv();
-extern "C" void setFrameCtrl__16daPy_frameCtrl_cFUcssff();
-extern "C" void setParamData__9daPy_py_cFiiii();
-extern "C" void checkFishingRodItem__9daPy_py_cFi();
-extern "C" void checkBombItem__9daPy_py_cFi();
-extern "C" void checkBottleItem__9daPy_py_cFi();
-extern "C" void checkDrinkBottleItem__9daPy_py_cFi();
-extern "C" void checkOilBottleItem__9daPy_py_cFi();
-extern "C" void checkOpenBottleItem__9daPy_py_cFi();
-extern "C" void checkBowItem__9daPy_py_cFi();
-extern "C" void checkHookshotItem__9daPy_py_cFi();
-extern "C" void checkTradeItem__9daPy_py_cFi();
-extern "C" void checkDungeonWarpItem__9daPy_py_cFi();
-extern "C" void setActor__16daPy_actorKeep_cFv();
-extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c();
-extern "C" void clearData__16daPy_actorKeep_cFv();
-extern "C" void __ct__14daPy_anmHeap_cFUl();
-extern "C" void __dt__14daPy_anmHeap_cFv();
-extern "C" void mallocBuffer__14daPy_anmHeap_cFv();
-extern "C" void createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE();
-extern "C" void loadDataIdx__14daPy_anmHeap_cFUs();
-extern "C" void loadDataPriIdx__14daPy_anmHeap_cFUs();
-extern "C" void loadDataDemoRID__14daPy_anmHeap_cFUsUs();
-extern "C" void setAnimeHeap__14daPy_anmHeap_cFv();
-extern "C" void draw__18daPy_sightPacket_cFv();
-extern "C" void setSight__18daPy_sightPacket_cFv();
-extern "C" void setSightImage__18daPy_sightPacket_cFP7ResTIMG();
-extern "C" void checkMasterSwordEquip__9daPy_py_cFv();
-extern "C" void checkWoodShieldEquip__9daPy_py_cFv();
-extern "C" void checkCarryStartLightBallA__9daPy_py_cFv();
-extern "C" void checkCarryStartLightBallB__9daPy_py_cFv();
-extern "C" void daPy_addCalcShort__FPsssss();
-extern "C" void Start__9dCamera_cFv();
-extern "C" void Stop__9dCamera_cFv();
-extern "C" void ChangeModeOK__9dCamera_cFl();
-extern "C" void SetTrimTypeForce__9dCamera_cFl();
-extern "C" void GetCameraTypeFromCameraName__9dCamera_cFPCc();
-extern "C" void GetForceLockOnActor__9dCamera_cFv();
-extern "C" void dCam_getControledAngleY__FP12camera_class();
-extern "C" void dCam_getBody__Fv();
-extern "C" void d_GameOver_Create__FUc();
-extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void dKy_setLight_again__Fv();
-extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
-extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
-extern "C" void dKy_Itemgetcol_chg_on__Fv();
-extern "C" void dKy_Sound_set__F4cXyziUii();
-extern "C" void dKy_SordFlush_set__F4cXyzi();
-extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c();
-extern "C" void dKy_WolfEyeLight_set__FP4cXyzfffP8_GXColorfUcUc();
-extern "C" void dKy_pol_efftype_get__FPC13cBgS_PolyInfo();
-extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo();
-extern "C" void dKy_pol_argument_get__FPC13cBgS_PolyInfo();
-extern "C" void dKy_TeachWind_existence_chk__Fv();
-extern "C" bool dKy_withwarp_capture_check__Fv();
-extern "C" void dKy_darkworld_check__Fv();
-extern "C" void dKy_shadow_mode_set__FUc();
-extern "C" void dKy_shadow_mode_reset__FUc();
-extern "C" void setFloatingMessage__13dMeter2Info_cFUssb();
-extern "C" void onDirectUseItem__13dMeter2Info_cFi();
-extern "C" void resetWarpStatus__13dMeter2Info_cFv();
-extern "C" void warpInProc__13dMeter2Info_cFv();
-extern "C" void warpOutProc__13dMeter2Info_cFv();
-extern "C" void dMeter2Info_setShield__FUcb();
-extern "C" void getStatus__12dMsgObject_cFv();
-extern "C" void onMsgSend__12dMsgObject_cFv();
-extern "C" void setSmellType__12dMsgObject_cFUc();
-extern "C" void isHowlHearingMode__12dMsgObject_cFv();
-extern "C" void __ct__10dMsgFlow_cFv();
-extern "C" void __dt__10dMsgFlow_cFv();
-extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
-extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
-extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
-extern "C" void ClrCcMove__9cCcD_SttsFv();
-extern "C" void SetIGrp__10cCcD_ObjCoFUl();
-extern "C" void SetVsGrp__10cCcD_ObjCoFUl();
-extern "C" void Set__4cCcSFP8cCcD_Obj();
-extern "C" void cPhs_Reset__FP30request_of_phase_process_class();
-extern "C" void __pl__4cXyzCFRC3Vec();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void __ml__4cXyzCFf();
-extern "C" void __dv__4cXyzCFf();
-extern "C" void outprod__4cXyzCFRC3Vec();
-extern "C" void normZP__4cXyzCFv();
-extern "C" void normalize__4cXyzFv();
-extern "C" void normalizeZP__4cXyzFv();
-extern "C" void atan2sX_Z__4cXyzCFv();
-extern "C" void atan2sY_XZ__4cXyzCFv();
-extern "C" void __ct__5csXyzFsss();
-extern "C" void cM_rad2s__Ff();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_atan2f__Fff();
-extern "C" void cM_rnd__Fv();
-extern "C" void cM_rndF__Ff();
-extern "C" void cM_rndFX__Ff();
-extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
-extern "C" void __ct__13cBgS_PolyInfoFv();
-extern "C" void __dt__13cBgS_PolyInfoFv();
-extern "C" void ClearPi__13cBgS_PolyInfoFv();
-extern "C" void SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo();
-extern "C" void cBgW_CheckBGround__Ff();
-extern "C" void cBgW_CheckBRoof__Ff();
-extern "C" void cBgW_CheckBWall__Ff();
-extern "C" void cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf();
-extern "C" void cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec();
-extern "C" void cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec();
-extern "C" void __ct__8cM3dGCpsFv();
-extern "C" void __dt__8cM3dGCpsFv();
-extern "C" void SetC__8cM3dGCylFRC4cXyz();
-extern "C" void SetH__8cM3dGCylFf();
-extern "C" void SetR__8cM3dGCylFf();
-extern "C" void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz();
-extern "C" void __ct__8cM3dGPlaFPC4cXyzf();
-extern "C" void crossInfLin__8cM3dGPlaCFRC4cXyzRC4cXyzR4cXyz();
-extern "C" void SetC__8cM3dGSphFRC4cXyz();
-extern "C" void SetR__8cM3dGSphFf();
-extern "C" void cLib_memCpy__FPvPCvUl();
-extern "C" void cLib_addCalc__FPfffff();
-extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff();
-extern "C" void cLib_addCalcAngleS__FPsssss();
-extern "C" void cLib_addCalcAngleS2__FPssss();
-extern "C" void cLib_chaseUC__FPUcUcUc();
-extern "C" void cLib_chaseS__FPsss();
-extern "C" void cLib_chaseF__FPfff();
-extern "C" void cLib_chasePos__FP4cXyzRC4cXyzf();
-extern "C" void cLib_chasePosXZ__FP4cXyzRC4cXyzf();
-extern "C" void cLib_chaseAngleS__FPsss();
-extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
-extern "C" void cLib_distanceAngleS__Fss();
-extern "C" void __dt__18JPAEmitterCallBackFv();
-extern "C" void __dt__19JPAParticleCallBackFv();
-extern "C" void func_802807E0();
-extern "C" void JPACalcKeyAnmValue__FfUsPCf();
-extern "C" void
-getData__Q47JStudio3stb4data22TParse_TParagraph_dataCFPQ57JStudio3stb4data22TParse_TParagraph_data5TData();
-extern "C" void getAramHeap__9JASKernelFv();
-extern "C" void func_802A0A8C();
-extern "C" void releaseSound__14JAISoundHandleFv();
-extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
-extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
-extern "C" void bgmStart__8Z2SeqMgrFUlUll();
-extern "C" void subBgmStart__8Z2SeqMgrFUl();
-extern "C" void subBgmStop__8Z2SeqMgrFv();
-extern "C" void changeBgmStatus__8Z2SeqMgrFl();
-extern "C" void changeSubBgmStatus__8Z2SeqMgrFl();
-extern "C" void bgmSetSwordUsing__8Z2SeqMgrFl();
-extern "C" void taktModeMute__8Z2SeqMgrFv();
-extern "C" void taktModeMuteOff__8Z2SeqMgrFv();
-extern "C" void deleteObject__14Z2SoundObjBaseFv();
-extern "C" void __ct__16Z2SoundObjSimpleFv();
-extern "C" void initAnime__10Z2CreatureFPvbff();
-extern "C" void updateAnime__10Z2CreatureFff();
-extern "C" void startCollisionSE__10Z2CreatureFUlUl();
-extern "C" void setLinkGroupInfo__14Z2CreatureLinkFUc();
-extern "C" void setLinkHp__14Z2CreatureLinkFll();
-extern "C" void setLinkSwordType__14Z2CreatureLinkFll();
-extern "C" void setLinkShieldType__14Z2CreatureLinkFll();
-extern "C" void setLinkBootsType__14Z2CreatureLinkFl();
-extern "C" void __ct__14Z2CreatureLinkFv();
-extern "C" void __dt__14Z2CreatureLinkFv();
-extern "C" void init__14Z2CreatureLinkFP3VecP3VecP3Vec();
-extern "C" void initKantera__14Z2CreatureLinkFP3Vec();
-extern "C" void deleteKantera__14Z2CreatureLinkFv();
-extern "C" void setKanteraState__14Z2CreatureLinkFUc();
-extern "C" void setSinkDepth__14Z2CreatureLinkFSc();
-extern "C" void setRiding__14Z2CreatureLinkFb();
-extern "C" void setMagnetized__14Z2CreatureLinkFb();
-extern "C" void setWolfEyeOpen__14Z2CreatureLinkFb();
-extern "C" void startLinkSound__14Z2CreatureLinkF10JAISoundIDUlSc();
-extern "C" void startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc();
-extern "C" void startLinkVoice__14Z2CreatureLinkF10JAISoundIDSc();
-extern "C" void startLinkVoiceLevel__14Z2CreatureLinkF10JAISoundIDSc();
-extern "C" void startLinkSwordSound__14Z2CreatureLinkF10JAISoundIDUlSc();
-extern "C" void startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef();
-extern "C" void setResumeAttack__14Z2CreatureLinkFb();
-extern "C" void __ct__13Z2WolfHowlMgrFv();
-extern "C" void startWolfHowlSound__13Z2WolfHowlMgrFffbf();
-extern "C" void setCorrectData__13Z2WolfHowlMgrFScP14Z2WolfHowlData();
-extern "C" void skipCorrectDemo__13Z2WolfHowlMgrFv();
-extern "C" void freeAll__7JKRHeapFv();
-extern "C" void* __nw__FUl();
-extern "C" void* __nwa__FUl();
-extern "C" void* __nwa__FUli();
-extern "C" void __dl__FPv();
-extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
-extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
-extern "C" void readIdxResource__10JKRArchiveFPvUlUl();
-extern "C" void __ct__9J2DScreenFv();
-extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
-extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
-extern "C" void animation__9J2DScreenFv();
-extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
-extern "C" void reinitGX__6J3DSysFv();
-extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
-extern "C" void loadPreDrawSetting__8J3DShapeCFv();
-extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
-extern "C" void diff__8J3DModelFv();
-extern "C" void setDeformData__8J3DModelFP13J3DDeformDataUl();
-extern "C" void calcWeightEnvelopeMtx__8J3DModelFv();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void checkPass__12J3DFrameCtrlFf();
-extern "C" void searchUpdateMaterialID__16J3DAnmTexPatternFP12J3DModelData();
-extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
-extern "C" void getTevColorReg__15J3DAnmTevRegKeyCFUsP11_GXColorS10();
-extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
-extern "C" void initialize__14J3DMaterialAnmFv();
-extern "C" void calc__14J3DMaterialAnmCFP11J3DMaterial();
-extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
-extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
-extern "C" void entryTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern();
-extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
-extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
-extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
-extern "C" void JMAEulerToQuat__FsssP10Quaternion();
-extern "C" void GXClearVtxDesc();
-extern "C" void __register_global_object();
-extern "C" void __destroy_arr();
-extern "C" void __construct_array();
-extern "C" void __construct_new_array();
-extern "C" void __ptmf_test();
-extern "C" void __ptmf_scall();
-extern "C" void __cvt_fp2unsigned();
-extern "C" void _savegpr_14();
-extern "C" void _savegpr_15();
-extern "C" void _savegpr_16();
-extern "C" void _savegpr_20();
-extern "C" void _savegpr_21();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_23();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_14();
-extern "C" void _restgpr_15();
-extern "C" void _restgpr_16();
-extern "C" void _restgpr_20();
-extern "C" void _restgpr_21();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_23();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
-extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
-extern "C" extern void* __vt__12J3DFrameCtrl[3];
-extern "C" extern void* data_803A3360[11];
-extern "C" extern void* __vt__19J3DMtxCalcNoAnmBase[11];
-extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11];
-extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11];
-extern "C" extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */];
-extern "C" extern void* __vt__19JPAParticleCallBack[5];
-extern "C" extern void* __vt__8cM3dGPla[3];
-extern "C" extern void* __vt__14dBgS_ObjGndChk[12 + 1 /* padding */];
-extern "C" extern void* __vt__12dDlst_base_c[3];
-extern "C" extern void* __vt__8cM3dGCyl[3];
-extern "C" extern void* __vt__8cM3dGAab[3];
-extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-extern "C" extern void* __vt__8cM3dGSph[3];
-extern "C" extern void* __vt__22dPa_hermiteEcallBack_c[9];
-extern "C" extern void* __vt__18dPa_levelEcallBack[9];
-extern "C" extern void* __vt__18JPAEmitterCallBack[7];
-extern "C" u8 m_typeFourData__8dPaPoF_c[60];
-extern "C" u8 m_emitterFourData__8dPaPoF_c[60 + 28 /* padding */];
-extern "C" extern void* __vt__8dCcD_Sph[36];
-extern "C" extern void* __vt__8dCcD_Cyl[36];
-extern "C" extern void* __vt__8dCcD_Cps[36];
-extern "C" extern void* __vt__9dCcD_Stts[11];
-extern "C" extern void* __vt__10dCcD_GStts[3];
-extern "C" extern void* __vt__10cCcD_GStts[3];
-extern "C" extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */];
-extern "C" extern void* __vt__12cCcD_SphAttr[25];
-extern "C" extern void* __vt__12cCcD_CylAttr[25];
-extern "C" extern void* __vt__12cCcD_CpsAttr[25];
-extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
-extern "C" extern void* __vt__9cCcD_Stts[8];
-extern "C" extern void* __vt__9J3DPacket[5];
-extern "C" extern void* __vt__14J3DMaterialAnm[4];
-extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
-extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" u8 mLineCheck__11fopAcM_lc_c[112];
-extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
-extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */];
-extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
-extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
-extern "C" f32 Zero__4cXyz[3];
-extern "C" u8 BaseX__4cXyz[12];
-extern "C" u8 BaseY__4cXyz[12];
-extern "C" u8 BaseZ__4cXyz[12];
-extern "C" u8 mCurrentMtx__6J3DSys[48];
-extern "C" u8 sincosTable___5JMath[65536];
-extern "C" u16 m_branchId__7dDemo_c[1 + 3 /* padding */];
-extern "C" f32 mGroundY__11fopAcM_gc_c;
-extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
-extern "C" u8 m_top__12daTagHstop_c[4 + 4 /* padding */];
-extern "C" u8 m_object__7dDemo_c[4];
-extern "C" u8 mWaterBubblePcallBack__13dPa_control_c[4];
-extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */];
-extern "C" extern u8 struct_80450FB8[4];
-extern "C" extern u8 struct_80450FBC[4];
-extern "C" u8 m_midnaActor__9daPy_py_c[4];
-extern "C" extern u8 m_dropAngleY__20daPy_boomerangMove_c[4];
-extern "C" u8 Zero__5csXyz[4];
-extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */];
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
-
-//
-// Declarations:
-//
+#include "d/d_meter2_info.h"
+#include "d/actor/d_a_kytag05.h"
static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* i_data);
@@ -4525,16 +1531,6 @@ static int const normalType3[5] = {4, 0, 1, 2, 1};
static int const finishType[5] = {2, 0, 0, 5, 1};
#pragma pop
-struct daAlink_cutParamTbl {
- /* 0x0 */ daAlink_c::daAlink_ANM m_anmID;
- /* 0x4 */ int field_0x4;
- /* 0x8 */ u8 m_cutType;
- /* 0x9 */ u8 m_atSe;
- /* 0xA */ u8 field_0xa;
- /* 0xB */ u8 field_0xb;
- /* 0xC */ f32 m_morf;
-}; // Size: 0x10
-
/* 80391808-80391858 01DE68 0050+00 0/1 0/0 0/0 .rodata cutParamTable$7312 */
#pragma push
#pragma force_active on
@@ -4822,8 +1818,8 @@ SECTION_RODATA static Vec const bottleTop = {
COMPILER_STRIP_GATE(0x80391A14, &bottleTop);
/* 80391A20-80391A2C 01E080 000C+00 1/1 0/0 0/0 .rodata kandelaarOffset$32655 */
-SECTION_RODATA static u8 const kandelaarOffset[12] = {
- 0x00, 0x00, 0x00, 0x00, 0xC1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+SECTION_RODATA static Vec const kandelaarOffset = {
+ 0.0f, -17.0f, 0.0f
};
COMPILER_STRIP_GATE(0x80391A20, &kandelaarOffset);
@@ -6595,66 +3591,6 @@ SECTION_DATA static const char volcBomPortal[20] = "PORTAL_WARP_BIGVOLC";
SECTION_DATA static const char cannonPortal[22] = "SKY_CANNON_WARP_START";
#pragma pop
-/* 803B2CA4-803B2CB0 -00001 000C+00 0/1 0/0 0/0 .data @39610 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_39610[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)setEffectFrontRollParam__9daAlink_cFv,
-};
-#pragma pop
-
-/* 803B2CB0-803B2CBC -00001 000C+00 0/1 0/0 0/0 .data @39611 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_39611[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)setEffectSlipParam__9daAlink_cFv,
-};
-#pragma pop
-
-/* 803B2CBC-803B2CC8 -00001 000C+00 0/1 0/0 0/0 .data @39612 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_39612[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)setEffectSmallLandParam__9daAlink_cFv,
-};
-#pragma pop
-
-/* 803B2CC8-803B2CD4 -00001 000C+00 0/1 0/0 0/0 .data @39613 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_39613[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)setEffectRunParam__9daAlink_cFv,
-};
-#pragma pop
-
-/* 803B2CD4-803B2CE0 -00001 000C+00 0/1 0/0 0/0 .data @39614 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_39614[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)setEffectLandParam__9daAlink_cFv,
-};
-#pragma pop
-
-/* 803B2CE0-803B2CEC -00001 000C+00 0/1 0/0 0/0 .data @39615 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_39615[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)setEffectSumouParam__9daAlink_cFv,
-};
-#pragma pop
-
/* 803B2CEC-803B2D34 00FE0C 0048+00 1/2 0/0 0/0 .data m_fEffParamProc__9daAlink_c */
SECTION_DATA u8 daAlink_c::m_fEffParamProc[72] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -6749,525 +3685,6 @@ extern actor_process_profile_definition g_profile_ALINK = {
fopAc_CULLBOX_0_e,
};
-// tons of extra padding? not sure what this is
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 data_803B2DFC[0x24] = {0};
-#pragma pop
-
-/* 803B2E20-803B2E80 00FF40 000C+54 2/2 0/0 0/0 .data __vt__16daPy_frameCtrl_c */
-SECTION_DATA extern void* __vt__16daPy_frameCtrl_c[3 + 21 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__16daPy_frameCtrl_cFv,
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-};
-
-/* 803B2E80-803B2EC8 00FFA0 000C+3C 3/3 0/0 0/0 .data __vt__8dEyeHL_c */
-SECTION_DATA extern void* __vt__8dEyeHL_c[3 + 15 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__8dEyeHL_cFv,
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-};
-
-/* 803B2EC8-803B2EF8 00FFE8 0030+00 3/3 0/0 0/0 .data __vt__16dBgS_LinkRoofChk */
-SECTION_DATA extern void* __vt__16dBgS_LinkRoofChk[12] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__16dBgS_LinkRoofChkFv,
- (void*)NULL,
- (void*)NULL,
- (void*)func_8014470C,
- (void*)NULL,
- (void*)NULL,
- (void*)func_8014471C,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80144714,
-};
-
-/* 803B2EF8-803B2F28 010018 0030+00 3/3 0/0 0/0 .data __vt__15dBgS_LinkGndChk */
-SECTION_DATA extern void* __vt__15dBgS_LinkGndChk[12] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__15dBgS_LinkGndChkFv,
- (void*)NULL,
- (void*)NULL,
- (void*)func_801446F4,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80144704,
- (void*)NULL,
- (void*)NULL,
- (void*)func_801446FC,
-};
-
-/* 803B2F28-803B2F70 010048 0024+24 3/3 0/0 0/0 .data __vt__13dBgS_LinkAcch */
-SECTION_DATA extern void* __vt__13dBgS_LinkAcch[9 + 9 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__13dBgS_LinkAcchFv,
- (void*)NULL,
- (void*)NULL,
- (void*)func_801446EC,
- (void*)NULL,
- (void*)NULL,
- (void*)func_801446E4,
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-};
-
-/* 803B2F70-803B321C 010090 02AC+00 2/2 0/0 0/0 .data __vt__9daPy_py_c */
-SECTION_DATA extern void* __vt__9daPy_py_c[171] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)getMidnaAtnPos__9daPy_py_cCFv,
- (void*)setMidnaMsgNum__9daPy_py_cFP10fopAc_ac_cUs,
- (void*)getModelMtx__9daPy_py_cFv,
- (void*)getInvMtx__9daPy_py_cFv,
- (void*)getShadowTalkAtnPos__9daPy_py_cFv,
- (void*)NULL,
- (void*)getLeftItemMatrix__9daPy_py_cFv,
- (void*)getRightItemMatrix__9daPy_py_cFv,
- (void*)getLeftHandMatrix__9daPy_py_cFv,
- (void*)getRightHandMatrix__9daPy_py_cFv,
- (void*)getLinkBackBone1Matrix__9daPy_py_cFv,
- (void*)getWolfMouthMatrix__9daPy_py_cFv,
- (void*)getWolfBackbone2Matrix__9daPy_py_cFv,
- (void*)getBottleMtx__9daPy_py_cFv,
- (void*)checkPlayerGuard__9daPy_py_cCFv,
- (void*)checkPlayerFly__9daPy_py_cCFv,
- (void*)checkFrontRoll__9daPy_py_cCFv,
- (void*)checkWolfDash__9daPy_py_cCFv,
- (void*)checkAutoJump__9daPy_py_cCFv,
- (void*)checkSideStep__9daPy_py_cCFv,
- (void*)checkWolfTriggerJump__9daPy_py_cCFv,
- (void*)checkGuardBreakMode__9daPy_py_cCFv,
- (void*)checkLv3Slide__9daPy_py_cCFv,
- (void*)checkWolfHowlDemoMode__9daPy_py_cCFv,
- (void*)checkChainBlockPushPull__9daPy_py_cFv,
- (void*)checkElecDamage__9daPy_py_cCFv,
- (void*)checkEmptyBottleSwing__9daPy_py_cCFv,
- (void*)checkBottleSwingMode__9daPy_py_cCFv,
- (void*)checkHawkWait__9daPy_py_cCFv,
- (void*)checkGoatThrow__9daPy_py_cCFv,
- (void*)checkGoatThrowAfter__9daPy_py_cCFv,
- (void*)checkWolfTagLockJump__9daPy_py_cCFv,
- (void*)checkWolfTagLockJumpLand__9daPy_py_cCFv,
- (void*)checkWolfRope__9daPy_py_cFv,
- (void*)checkWolfRopeHang__9daPy_py_cCFv,
- (void*)checkRollJump__9daPy_py_cCFv,
- (void*)checkGoronRideWait__9daPy_py_cCFv,
- (void*)checkWolfChain__9daPy_py_cCFv,
- (void*)checkWolfWait__9daPy_py_cCFv,
- (void*)checkWolfJumpAttack__9daPy_py_cCFv,
- (void*)checkWolfRSit__9daPy_py_cCFv,
- (void*)checkBubbleFly__9daPy_py_cCFv,
- (void*)checkBottleDrinkEnd__9daPy_py_cCFv,
- (void*)checkWolfDig__9daPy_py_cCFv,
- (void*)checkCutCharge__9daPy_py_cCFv,
- (void*)checkCutTurnCharge__9daPy_py_cCFv,
- (void*)checkCutLargeJumpCharge__9daPy_py_cCFv,
- (void*)getBokoFlamePos__9daPy_py_cFP4cXyz,
- (void*)checkComboCutTurn__9daPy_py_cCFv,
- (void*)checkClimbMove__9daPy_py_cCFv,
- (void*)checkGrassWhistle__9daPy_py_cCFv,
- (void*)checkBoarRun__9daPy_py_cCFv,
- (void*)checkFmChainPut__9daPy_py_cCFv,
- (void*)checkHorseElecDamage__9daPy_py_cCFv,
- (void*)getBaseAnimeFrameRate__9daPy_py_cCFv,
- (void*)getBaseAnimeFrame__9daPy_py_cCFv,
- (void*)setAnimeFrame__9daPy_py_cFf,
- (void*)checkWolfLock__9daPy_py_cCFP10fopAc_ac_c,
- (void*)cancelWolfLock__9daPy_py_cFP10fopAc_ac_c,
- (void*)getAtnActorID__9daPy_py_cCFv,
- (void*)getItemID__9daPy_py_cCFv,
- (void*)getGrabActorID__9daPy_py_cCFv,
- (void*)exchangeGrabActor__9daPy_py_cFP10fopAc_ac_c,
- (void*)setForceGrab__9daPy_py_cFP10fopAc_ac_cii,
- (void*)setForcePutPos__9daPy_py_cFRC4cXyz,
- (void*)checkPlayerNoDraw__9daPy_py_cFv,
- (void*)checkRopeTag__9daPy_py_cFv,
- (void*)voiceStart__9daPy_py_cFUl,
- (void*)seStartOnlyReverb__9daPy_py_cFUl,
- (void*)seStartOnlyReverbLevel__9daPy_py_cFUl,
- (void*)setOutPower__9daPy_py_cFfsi,
- (void*)setGrabCollisionOffset__9daPy_py_cFffP13cBgS_PolyInfo,
- (void*)onMagneGrab__9daPy_py_cFff,
- (void*)onFrollCrashFlg__9daPy_py_cFUci,
- (void*)getModelJointMtx__9daPy_py_cFUs,
- (void*)getHeadMtx__9daPy_py_cFv,
- (void*)setHookshotCarryOffset__9daPy_py_cFUiPC4cXyz,
- (void*)checkCutJumpCancelTurn__9daPy_py_cCFv,
- (void*)checkIronBallReturn__9daPy_py_cCFv,
- (void*)checkIronBallGroundStop__9daPy_py_cCFv,
- (void*)checkSingleBoarBattleSecondBowReady__9daPy_py_cCFv,
- (void*)checkPointSubWindowMode__9daPy_py_cCFv,
- (void*)setClothesChange__9daPy_py_cFi,
- (void*)setPlayerPosAndAngle__9daPy_py_cFPC4cXyzsi,
- (void*)setPlayerPosAndAngle__9daPy_py_cFPC4cXyzPC5csXyz,
- (void*)setPlayerPosAndAngle__9daPy_py_cFPA4_f,
- (void*)setThrowDamage__9daPy_py_cFsffiii,
- (void*)checkSetNpcTks__9daPy_py_cFP4cXyzii,
- (void*)setRollJump__9daPy_py_cFffs,
- (void*)playerStartCollisionSE__9daPy_py_cFUlUl,
- (void*)changeTextureAnime__9daPy_py_cFUsUsi,
- (void*)cancelChangeTextureAnime__9daPy_py_cFv,
- (void*)cancelDungeonWarpReadyNeck__9daPy_py_cFv,
- (void*)onSceneChangeArea__9daPy_py_cFUcUcP10fopAc_ac_c,
- (void*)onSceneChangeAreaJump__9daPy_py_cFUcUcP10fopAc_ac_c,
- (void*)onSceneChangeDead__9daPy_py_cFUci,
- (void*)checkHorseRide__9daPy_py_cCFv,
- (void*)checkBoarRide__9daPy_py_cCFv,
- (void*)checkCanoeRide__9daPy_py_cCFv,
- (void*)checkBoardRide__9daPy_py_cCFv,
- (void*)checkSpinnerRide__9daPy_py_cCFv,
- (void*)getSpinnerActor__9daPy_py_cFv,
- (void*)checkHorseRideNotReady__9daPy_py_cCFv,
- (void*)checkArrowChargeEnd__9daPy_py_cCFv,
- (void*)getSearchBallScale__9daPy_py_cCFv,
- (void*)checkFastShotTime__9daPy_py_cFv,
- (void*)checkNoEquipItem__9daPy_py_cCFv,
- (void*)checkFireMaterial__9daPy_py_cCFv,
- (void*)checkKandelaarSwing__9daPy_py_cCFi,
- (void*)getBoardCutTurnOffsetAngleY__9daPy_py_cCFv,
- (void*)getMagneHitPos__9daPy_py_cFv,
- (void*)getMagneBootsTopVec__9daPy_py_cFv,
- (void*)getKandelaarFlamePos__9daPy_py_cFv,
- (void*)checkUseKandelaar__9daPy_py_cFi,
- (void*)setDkCaught__9daPy_py_cFP10fopAc_ac_c,
- (void*)onPressedDamage__9daPy_py_cFRC4cXyzs,
- (void*)checkPriActorOwn__9daPy_py_cCFPC10fopAc_ac_c,
- (void*)onWolfEnemyBiteAll__9daPy_py_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2,
- (void*)checkWolfEnemyBiteAllOwn__9daPy_py_cCFPC10fopAc_ac_c,
- (void*)setWolfEnemyHangBiteAngle__9daPy_py_cFs,
- (void*)setKandelaarMtx__9daPy_py_cFPA4_fii,
- (void*)getStickAngleFromPlayerShape__9daPy_py_cCFPs,
- (void*)checkSpinnerPathMove__9daPy_py_cFv,
- (void*)checkSpinnerTriggerAttack__9daPy_py_cFv,
- (void*)onSpinnerPathForceRemove__9daPy_py_cFv,
- (void*)getIronBallBgHit__9daPy_py_cCFv,
- (void*)getIronBallCenterPos__9daPy_py_cFv,
- (void*)checkCanoeFishingGetLeft__9daPy_py_cCFv,
- (void*)checkCanoeFishingGetRight__9daPy_py_cCFv,
- (void*)checkBeeChildDrink__9daPy_py_cCFv,
- (void*)skipPortalObjWarp__9daPy_py_cFv,
- (void*)checkTreasureRupeeReturn__9daPy_py_cCFi,
- (void*)setSumouReady__9daPy_py_cFP10fopAc_ac_c,
- (void*)checkAcceptDungeonWarpAlink__9daPy_py_cFi,
- (void*)getSumouCounter__9daPy_py_cCFv,
- (void*)checkSumouWithstand__9daPy_py_cCFv,
- (void*)cancelGoronThrowEvent__9daPy_py_cFv,
- (void*)setSumouGraspCancelCount__9daPy_py_cFi,
- (void*)setSumouPushBackDirection__9daPy_py_cFs,
- (void*)setSumouLoseHeadUp__9daPy_py_cFv,
- (void*)getGiantPuzzleAimAngle__9daPy_py_cCFv,
- (void*)setGoronSideMove__9daPy_py_cFP10fopAc_ac_c,
- (void*)setCargoCarry__9daPy_py_cFP10fopAc_ac_c,
- (void*)getDpdFarFlg__9daPy_py_cCFv,
- (void*)getHookshotTopPos__9daPy_py_cFv,
- (void*)checkHookshotReturnMode__9daPy_py_cCFv,
- (void*)checkHookshotShootReturnMode__9daPy_py_cCFv,
- (void*)checkOctaIealHang__9daPy_py_cCFv,
- (void*)cancelOctaIealHang__9daPy_py_cFv,
- (void*)cancelDragonHangBackJump__9daPy_py_cFv,
- (void*)setOctaIealWildHang__9daPy_py_cFv,
- (void*)checkDragonHangRide__9daPy_py_cCFv,
- (void*)changeDragonActor__9daPy_py_cFP10fopAc_ac_c,
- (void*)getClothesChangeWaitTimer__9daPy_py_cCFv,
- (void*)getShieldChangeWaitTimer__9daPy_py_cCFv,
- (void*)getSwordChangeWaitTimer__9daPy_py_cCFv,
- (void*)checkMetamorphose__9daPy_py_cCFv,
- (void*)checkWolfDownAttackPullOut__9daPy_py_cCFv,
- (void*)checkBootsOrArmorHeavy__9daPy_py_cCFv,
- (void*)getBottleOpenAppearItem__9daPy_py_cCFv,
- (void*)checkItemSwordEquip__9daPy_py_cCFv,
- (void*)getSinkShapeOffset__9daPy_py_cCFv,
- (void*)checkSinkDead__9daPy_py_cCFv,
- (void*)checkHorseStart__9daPy_py_cFv,
- (void*)getWolfHowlMgrP__9daPy_py_cFv,
- (void*)checkWolfHowlSuccessAnime__9daPy_py_cCFv,
- (void*)checkCopyRodTopUse__9daPy_py_cFv,
- (void*)checkCopyRodEquip__9daPy_py_cCFv,
- (void*)checkCutJumpMode__9daPy_py_cCFv,
-};
-
-/* 803B321C-803B32B8 01033C 000C+90 2/2 0/0 0/0 .data __vt__12daAlinkHIO_c */
-SECTION_DATA extern void* __vt__12daAlinkHIO_c[3 + 36 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12daAlinkHIO_cFv,
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-};
-
-/* 803B32B8-803B3564 0103D8 02AC+00 2/2 0/0 0/0 .data __vt__9daAlink_c */
-SECTION_DATA extern void* __vt__9daAlink_c[171] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)getMidnaAtnPos__9daAlink_cCFv,
- (void*)setMidnaMsgNum__9daAlink_cFP10fopAc_ac_cUs,
- (void*)getModelMtx__9daAlink_cFv,
- (void*)getInvMtx__9daAlink_cFv,
- (void*)getShadowTalkAtnPos__9daAlink_cFv,
- (void*)getGroundY__9daAlink_cFv,
- (void*)getLeftItemMatrix__9daAlink_cFv,
- (void*)getRightItemMatrix__9daAlink_cFv,
- (void*)getLeftHandMatrix__9daAlink_cFv,
- (void*)getRightHandMatrix__9daAlink_cFv,
- (void*)getLinkBackBone1Matrix__9daAlink_cFv,
- (void*)getWolfMouthMatrix__9daAlink_cFv,
- (void*)getWolfBackbone2Matrix__9daAlink_cFv,
- (void*)getBottleMtx__9daAlink_cFv,
- (void*)checkPlayerGuard__9daAlink_cCFv,
- (void*)checkPlayerFly__9daAlink_cCFv,
- (void*)checkFrontRoll__9daAlink_cCFv,
- (void*)checkWolfDash__9daAlink_cCFv,
- (void*)checkAutoJump__9daAlink_cCFv,
- (void*)checkSideStep__9daAlink_cCFv,
- (void*)checkWolfTriggerJump__9daAlink_cCFv,
- (void*)checkGuardBreakMode__9daAlink_cCFv,
- (void*)checkLv3Slide__9daAlink_cCFv,
- (void*)checkWolfHowlDemoMode__9daAlink_cCFv,
- (void*)checkChainBlockPushPull__9daAlink_cFv,
- (void*)checkElecDamage__9daAlink_cCFv,
- (void*)checkEmptyBottleSwing__9daAlink_cCFv,
- (void*)checkBottleSwingMode__9daAlink_cCFv,
- (void*)checkHawkWait__9daAlink_cCFv,
- (void*)checkGoatThrow__9daAlink_cCFv,
- (void*)checkGoatThrowAfter__9daAlink_cCFv,
- (void*)checkWolfTagLockJump__9daAlink_cCFv,
- (void*)checkWolfTagLockJumpLand__9daAlink_cCFv,
- (void*)checkWolfRope__9daAlink_cFv,
- (void*)checkWolfRopeHang__9daAlink_cCFv,
- (void*)checkRollJump__9daAlink_cCFv,
- (void*)checkGoronRideWait__9daAlink_cCFv,
- (void*)checkWolfChain__9daAlink_cCFv,
- (void*)checkWolfWait__9daAlink_cCFv,
- (void*)checkWolfJumpAttack__9daAlink_cCFv,
- (void*)checkWolfRSit__9daAlink_cCFv,
- (void*)checkBubbleFly__9daPy_py_cCFv,
- (void*)checkBottleDrinkEnd__9daAlink_cCFv,
- (void*)checkWolfDig__9daAlink_cCFv,
- (void*)checkCutCharge__9daAlink_cCFv,
- (void*)checkCutTurnCharge__9daAlink_cCFv,
- (void*)checkCutLargeJumpCharge__9daAlink_cCFv,
- (void*)getBokoFlamePos__9daPy_py_cFP4cXyz,
- (void*)checkComboCutTurn__9daAlink_cCFv,
- (void*)checkClimbMove__9daAlink_cCFv,
- (void*)checkGrassWhistle__9daAlink_cCFv,
- (void*)checkBoarRun__9daAlink_cCFv,
- (void*)checkFmChainPut__9daPy_py_cCFv,
- (void*)checkHorseElecDamage__9daPy_py_cCFv,
- (void*)getBaseAnimeFrameRate__9daAlink_cCFv,
- (void*)getBaseAnimeFrame__9daAlink_cCFv,
- (void*)setAnimeFrame__9daAlink_cFf,
- (void*)checkWolfLock__9daAlink_cCFP10fopAc_ac_c,
- (void*)cancelWolfLock__9daAlink_cFP10fopAc_ac_c,
- (void*)getAtnActorID__9daAlink_cCFv,
- (void*)getItemID__9daAlink_cCFv,
- (void*)getGrabActorID__9daAlink_cCFv,
- (void*)exchangeGrabActor__9daAlink_cFP10fopAc_ac_c,
- (void*)setForceGrab__9daAlink_cFP10fopAc_ac_cii,
- (void*)setForcePutPos__9daAlink_cFRC4cXyz,
- (void*)checkPlayerNoDraw__9daAlink_cFv,
- (void*)checkRopeTag__9daPy_py_cFv,
- (void*)voiceStart__9daAlink_cFUl,
- (void*)seStartOnlyReverb__9daAlink_cFUl,
- (void*)seStartOnlyReverbLevel__9daAlink_cFUl,
- (void*)setOutPower__9daAlink_cFfsi,
- (void*)setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo,
- (void*)onMagneGrab__9daPy_py_cFff,
- (void*)onFrollCrashFlg__9daAlink_cFUci,
- (void*)getModelJointMtx__9daAlink_cFUs,
- (void*)getHeadMtx__9daAlink_cFv,
- (void*)setHookshotCarryOffset__9daAlink_cFUiPC4cXyz,
- (void*)checkCutJumpCancelTurn__9daAlink_cCFv,
- (void*)checkIronBallReturn__9daAlink_cCFv,
- (void*)checkIronBallGroundStop__9daAlink_cCFv,
- (void*)checkSingleBoarBattleSecondBowReady__9daAlink_cCFv,
- (void*)checkPointSubWindowMode__9daPy_py_cCFv,
- (void*)setClothesChange__9daAlink_cFi,
- (void*)setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi,
- (void*)setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz,
- (void*)setPlayerPosAndAngle__9daAlink_cFPA4_f,
- (void*)setThrowDamage__9daAlink_cFsffiii,
- (void*)checkSetNpcTks__9daAlink_cFP4cXyzii,
- (void*)setRollJump__9daAlink_cFffs,
- (void*)playerStartCollisionSE__9daAlink_cFUlUl,
- (void*)changeTextureAnime__9daPy_py_cFUsUsi,
- (void*)cancelChangeTextureAnime__9daPy_py_cFv,
- (void*)cancelDungeonWarpReadyNeck__9daAlink_cFv,
- (void*)onSceneChangeArea__9daAlink_cFUcUcP10fopAc_ac_c,
- (void*)onSceneChangeAreaJump__9daAlink_cFUcUcP10fopAc_ac_c,
- (void*)onSceneChangeDead__9daAlink_cFUci,
- (void*)checkHorseRide__9daAlink_cCFv,
- (void*)checkBoarRide__9daAlink_cCFv,
- (void*)checkCanoeRide__9daAlink_cCFv,
- (void*)checkBoardRide__9daAlink_cCFv,
- (void*)checkSpinnerRide__9daAlink_cCFv,
- (void*)getSpinnerActor__9daAlink_cFv,
- (void*)checkHorseRideNotReady__9daAlink_cCFv,
- (void*)checkArrowChargeEnd__9daAlink_cCFv,
- (void*)getSearchBallScale__9daAlink_cCFv,
- (void*)checkFastShotTime__9daAlink_cFv,
- (void*)checkNoEquipItem__9daAlink_cCFv,
- (void*)checkFireMaterial__9daPy_py_cCFv,
- (void*)checkKandelaarSwing__9daAlink_cCFi,
- (void*)getBoardCutTurnOffsetAngleY__9daAlink_cCFv,
- (void*)getMagneHitPos__9daPy_py_cFv,
- (void*)getMagneBootsTopVec__9daAlink_cFv,
- (void*)getKandelaarFlamePos__9daAlink_cFv,
- (void*)checkUseKandelaar__9daAlink_cFi,
- (void*)setDkCaught__9daAlink_cFP10fopAc_ac_c,
- (void*)onPressedDamage__9daAlink_cFRC4cXyzs,
- (void*)checkPriActorOwn__9daAlink_cCFPC10fopAc_ac_c,
- (void*)onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2,
- (void*)checkWolfEnemyBiteAllOwn__9daAlink_cCFPC10fopAc_ac_c,
- (void*)setWolfEnemyHangBiteAngle__9daAlink_cFs,
- (void*)setKandelaarMtx__9daAlink_cFPA4_fii,
- (void*)getStickAngleFromPlayerShape__9daAlink_cCFPs,
- (void*)checkSpinnerPathMove__9daAlink_cFv,
- (void*)checkSpinnerTriggerAttack__9daAlink_cFv,
- (void*)onSpinnerPathForceRemove__9daAlink_cFv,
- (void*)getIronBallBgHit__9daAlink_cCFv,
- (void*)getIronBallCenterPos__9daAlink_cFv,
- (void*)checkCanoeFishingGetLeft__9daAlink_cCFv,
- (void*)checkCanoeFishingGetRight__9daAlink_cCFv,
- (void*)checkBeeChildDrink__9daAlink_cCFv,
- (void*)skipPortalObjWarp__9daAlink_cFv,
- (void*)checkTreasureRupeeReturn__9daAlink_cCFi,
- (void*)setSumouReady__9daAlink_cFP10fopAc_ac_c,
- (void*)checkAcceptDungeonWarpAlink__9daAlink_cFi,
- (void*)getSumouCounter__9daAlink_cCFv,
- (void*)checkSumouWithstand__9daAlink_cCFv,
- (void*)cancelGoronThrowEvent__9daAlink_cFv,
- (void*)setSumouGraspCancelCount__9daAlink_cFi,
- (void*)setSumouPushBackDirection__9daAlink_cFs,
- (void*)setSumouLoseHeadUp__9daAlink_cFv,
- (void*)getGiantPuzzleAimAngle__9daAlink_cCFv,
- (void*)setGoronSideMove__9daAlink_cFP10fopAc_ac_c,
- (void*)setCargoCarry__9daAlink_cFP10fopAc_ac_c,
- (void*)getDpdFarFlg__9daPy_py_cCFv,
- (void*)getHookshotTopPos__9daAlink_cFv,
- (void*)checkHookshotReturnMode__9daAlink_cCFv,
- (void*)checkHookshotShootReturnMode__9daAlink_cCFv,
- (void*)checkOctaIealHang__9daAlink_cCFv,
- (void*)cancelOctaIealHang__9daAlink_cFv,
- (void*)cancelDragonHangBackJump__9daAlink_cFv,
- (void*)setOctaIealWildHang__9daAlink_cFv,
- (void*)checkDragonHangRide__9daAlink_cCFv,
- (void*)changeDragonActor__9daAlink_cFP10fopAc_ac_c,
- (void*)getClothesChangeWaitTimer__9daAlink_cCFv,
- (void*)getShieldChangeWaitTimer__9daAlink_cCFv,
- (void*)getSwordChangeWaitTimer__9daAlink_cCFv,
- (void*)checkMetamorphose__9daAlink_cCFv,
- (void*)checkWolfDownAttackPullOut__9daAlink_cCFv,
- (void*)checkBootsOrArmorHeavy__9daAlink_cCFv,
- (void*)getBottleOpenAppearItem__9daAlink_cCFv,
- (void*)checkItemSwordEquip__9daAlink_cCFv,
- (void*)getSinkShapeOffset__9daAlink_cCFv,
- (void*)checkSinkDead__9daAlink_cCFv,
- (void*)checkHorseStart__9daAlink_cFv,
- (void*)getWolfHowlMgrP__9daAlink_cFv,
- (void*)checkWolfHowlSuccessAnime__9daAlink_cCFv,
- (void*)checkCopyRodTopUse__9daAlink_cFv,
- (void*)checkCopyRodEquip__9daAlink_cCFv,
- (void*)checkCutJumpMode__9daAlink_cCFv,
-};
-
-/* 803B3564-803B3580 010684 0010+0C 2/2 0/0 0/0 .data __vt__16daAlink_matAnm_c */
-SECTION_DATA extern void* __vt__16daAlink_matAnm_c[4 + 3 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__16daAlink_matAnm_cFv,
- (void*)calc__16daAlink_matAnm_cCFP11J3DMaterial,
- /* padding */
- NULL,
- NULL,
- NULL,
-};
-
/* 800A4068-800A4820 09E9A8 07B8+00 1/1 0/0 0/0 .text createHeap__9daAlink_cFv */
int daAlink_c::createHeap() {
ResTIMG* sp14 = (ResTIMG*)dComIfG_getObjectRes("Always", 0x5D);
@@ -8195,10 +4612,10 @@ s32 daAlink_c::setRoomInfo() {
tevStr.mEnvrIdxOverride = dComIfG_Bgsp().GetPolyColor(mLinkAcch.m_gnd);
field_0x3174 = dComIfG_Bgsp().GetGroundCode(mLinkAcch.m_gnd);
field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mLinkAcch.m_gnd);
- field_0x2fa8 = dComIfG_Bgsp().GetSpecialCode(mLinkAcch.m_gnd);
+ mGndPolySpecialCode = dComIfG_Bgsp().GetSpecialCode(mLinkAcch.m_gnd);
- if (field_0x2fa8 == 6 && checkWolf()) {
- field_0x2fa8 = 5;
+ if (mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW && checkWolf()) {
+ mGndPolySpecialCode = dBgW_SPCODE_LIGHT_SNOW;
}
if (field_0x2fbd != 0xFF) {
@@ -8266,7 +4683,7 @@ void daAlink_c::iceSlipBgCheck() {
void daAlink_c::setIceSlipSpeed() {
field_0x35d0 = field_0x35c4;
- if (!checkModeFlg(0x1210C52) && !checkEventRun() && !checkHeavyStateOn(1, 1) && field_0x2fa8 == 8 && !mLinkAcch.ChkWallHit() && mLinkAcch.i_ChkGroundHit()) {
+ if (!checkModeFlg(0x1210C52) && !checkEventRun() && !checkHeavyStateOn(1, 1) && mGndPolySpecialCode == dBgW_SPCODE_ICE && !mLinkAcch.ChkWallHit() && mLinkAcch.i_ChkGroundHit()) {
f32 var_f31, var_f30, var_f29;
if (checkWolf()) {
var_f31 = 0.1f;
@@ -8290,7 +4707,7 @@ void daAlink_c::setIceSlipSpeed() {
field_0x35c4 += sp58 * var_f29;
speed += sp58 * (1.0f - var_f29);
- if (mProcVar3.field_0x300e.y != 0 && (mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP)) {
+ if (mProcVar4.field_0x3010 != 0 && (mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP)) {
sp58.normalizeZP();
field_0x35c4 += sp58 * 20.0f;
}
@@ -9032,7 +5449,7 @@ void daAlink_c::setCollisionPos() {
}
/* 800ABDB8-800AC328 0A66F8 0570+00 1/1 0/0 0/0 .text setCollision__9daAlink_cFv */
-#ifdef NONMATCHING
+// NONMATCHING
void daAlink_c::setCollision() {
field_0x814.Move();
field_0x173c.Move();
@@ -9173,11 +5590,6 @@ void daAlink_c::setCollision() {
var_r26_6++;
}
}
-#else
-void daAlink_c::setCollision() {
- // NONMATCHING
-}
-#endif
/* 800AC328-800AC378 0A6C68 0050+00 1/0 0/0 0/0 .text getBaseAnimeFrame__9daAlink_cCFv */
f32 daAlink_c::getBaseAnimeFrame() const {
@@ -9701,8 +6113,7 @@ void daAlink_c::setFaceBtp(u16 param_0, int param_1, u16 param_2) {
}
/* 800AF7D0-800AF8A0 0AA110 00D0+00 6/6 0/0 0/0 .text setFaceBtk__9daAlink_cFUsiUs */
-// swapped instructions
-#ifdef NONMATCHING
+// NONMATCHING - swapped instructions
void daAlink_c::setFaceBtk(u16 i_resID, int param_1, u16 i_arcNo) {
int var_r4;
u16 arc_no;
@@ -9732,11 +6143,6 @@ void daAlink_c::setFaceBtk(u16 i_resID, int param_1, u16 i_arcNo) {
mpFaceBtk->setFrame(0.0f);
}
}
-#else
-void daAlink_c::setFaceBtk(u16 param_0, int param_1, u16 param_2) {
- // NONMATCHING
-}
-#endif
/* 800AF8A0-800AF9A8 0AA1E0 0108+00 31/31 0/0 0/0 .text
* setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM */
@@ -10998,8 +7404,7 @@ f32 daAlink_c::getFrontRollRate() {
/* 800B4B7C-800B5284 0AF4BC 0708+00 2/2 0/0 0/0 .text decideCommonDoStatus__9daAlink_cFv
*/
-// almost, small branch issues
-#ifdef NONMATCHING
+// NONMATCHING - almost, small branch issues
void daAlink_c::decideCommonDoStatus() {
if (!checkFmChainGrabAnime() && dComIfGp_getDoStatus() == 0) {
bool temp_r3 = checkStageName("R_SP127");
@@ -11113,7 +7518,7 @@ void daAlink_c::decideCommonDoStatus() {
dComIfGp_getDoStatus() == 0x30 || dComIfGp_getDoStatus() == 0x77 ||
dComIfGp_getDoStatus() == 0x19)) ||
(dComIfGp_getDoStatus() == 0x79 &&
- (checkKandelaarSwingAnime() || field_0x2fa8 == 6 || checkCopyRodThrowAnime() ||
+ (checkKandelaarSwingAnime() || mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || checkCopyRodThrowAnime() ||
checkBoomerangThrowAnime()))) &&
(!checkMagneBootsOn() || dComIfGp_getDoStatus() != 0x79 ||
!cBgW_CheckBGround(mMagneBootsTopVec.y)))
@@ -11135,11 +7540,6 @@ void daAlink_c::decideCommonDoStatus() {
}
}
}
-#else
-void daAlink_c::decideCommonDoStatus() {
- // NONMATCHING
-}
-#endif
/* 800B5284-800B58EC 0AFBC4 0668+00 1/1 0/0 0/0 .text decideDoStatus__9daAlink_cFv */
void daAlink_c::decideDoStatus() {
@@ -11417,7 +7817,7 @@ BOOL daAlink_c::checkAutoJumpAction() {
return 1;
}
- if ((mProcID == PROC_WOLF_LOCK_ATTACK || mProcID == PROC_WOLF_LOCK_ATTACK_TURN) && mProcVar3.field_0x300e.z != 0) {
+ if ((mProcID == PROC_WOLF_LOCK_ATTACK || mProcID == PROC_WOLF_LOCK_ATTACK_TURN) && mProcVar5.field_0x3012 != 0) {
return 0;
}
@@ -13006,7 +9406,7 @@ int daAlink_c::checkNextAction(int param_0) {
ret = procMoveTurnInit(0);
} else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) {
if (speedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed &&
- field_0x2fa8 != 8 && !checkGrabAnime() &&
+ mGndPolySpecialCode != dBgW_SPCODE_ICE && !checkGrabAnime() &&
getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD)
{
ret = procSlipInit();
@@ -13028,7 +9428,7 @@ int daAlink_c::checkNextAction(int param_0) {
/* 800BA6A0-800BA914 0B4FE0 0274+00 3/3 0/0 0/0 .text commonChangeItem__9daAlink_cFv */
void daAlink_c::commonChangeItem() {
- if (mEquipItem == KANTERA && field_0x2fde == 0xFF && (mProcID != PROC_PREACTION_UNEQUIP || mProcVar3.field_0x300e.y != 0)) {
+ if (mEquipItem == KANTERA && field_0x2fde == 0xFF && (mProcID != PROC_PREACTION_UNEQUIP || mProcVar4.field_0x3010 != 0)) {
offKandelaarModel();
}
@@ -13687,7 +10087,7 @@ void daAlink_c::posMove() {
if (checkRootTransClearMode()) {
cXyz sp78 = field_0x34d4 - sp108;
- if (mProcID == PROC_CLIMB_UP_START && mProcVar3.field_0x300e.z != 0) {
+ if (mProcID == PROC_CLIMB_UP_START && mProcVar5.field_0x3012 != 0) {
sp78 = cXyz::Zero;
}
@@ -14796,7 +11196,7 @@ int daAlink_c::checkNewItemChange(u8 param_0) {
(checkModeFlg(0x400) &&
(sel_item == EMPTY_BOTTLE || sel_item == POKE_BOMB || sel_item == IRONBALL ||
sel_item == COPY_ROD || checkFishingRodItem(sel_item))) ||
- ((field_0x2fa8 == 6 || field_0x2fbd == 1 || field_0x2fbd == 2 ||
+ ((mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || field_0x2fbd == 1 || field_0x2fbd == 2 ||
mWaterY - current.pos.y > 45.0f ||
(field_0x2fbc == 6 && mWaterY - current.pos.y >= 0.0f) || field_0x2fbd == 3) &&
sel_item == SPINNER) ||
@@ -15008,7 +11408,7 @@ void daAlink_c::deleteEquipItem(BOOL i_playSound, BOOL i_deleteKantera) {
field_0x0724 = NULL;
field_0x0728 = NULL;
field_0x072c = NULL;
- mpHookKusariModelData = NULL;
+ mpItemModelData = NULL;
mpHookChain = NULL;
mIronBallChainPos = NULL;
mIronBallChainAngle = NULL;
@@ -15120,7 +11520,7 @@ void daAlink_c::setLight() {
f32 var_f30 = 1.0f;
f32 var_f29;
- if (mProcID == PROC_METAMORPHOSE && mProcVar3.field_0x300e.z != 0) {
+ if (mProcID == PROC_METAMORPHOSE && mProcVar5.field_0x3012 != 0) {
var_f29 = 0.05f;
} else if (checkEndResetFlg2(ERFLG2_UNK_10)) {
var_f30 = 0.28f;
diff --git a/src/d/actor/d_a_alink_HIO_data.inc b/src/d/actor/d_a_alink_HIO_data.inc
index 58ceee970c..d9b5f1cb16 100644
--- a/src/d/actor/d_a_alink_HIO_data.inc
+++ b/src/d/actor/d_a_alink_HIO_data.inc
@@ -1,3 +1,5 @@
+#include "d/actor/d_a_alink.h"
+
// clang-format off
/* 8038D664-8038D6BC 019CC4 0058+00 41/50 0/0 0/0 .rodata m__19daAlinkHIO_basic_c0 */
const daAlinkHIO_basic_c1 daAlinkHIO_basic_c0::m = {
@@ -2036,8 +2038,6 @@ const daAlinkHIO_copyRod_c1 daAlinkHIO_copyRod_c0::m = {
};
/* 8038EB34-8038EB50 01B194 001C+00 0/0 0/0 0/0 .rodata m__21daAlinkHIO_zwLight_c0 */
-#pragma push
-#pragma force_active on
const daAlinkHIO_zwLight_c1 daAlinkHIO_zwLight_c0::m = {
771,
0,
@@ -2050,9 +2050,6 @@ const daAlinkHIO_zwLight_c1 daAlinkHIO_zwLight_c0::m = {
131.83594f,
0.0f,
};
-COMPILER_STRIP_GATE(0x8038EB34,
- &daAlinkHIO_zwLight_c0::m);
-#pragma pop
/* 8038EB50-8038EB8C 01B1B0 003C+00 3/3 0/0 0/0 .rodata m__18daAlinkHIO_item_c0 */
const daAlinkHIO_item_c1 daAlinkHIO_item_c0::m = {
@@ -3433,4 +3430,4 @@ const daAlinkHIO_wolf_c1 daAlinkHIO_wolf_c0::m = {
0.7f,
};
-// clang-format on \ No newline at end of file
+// clang-format on
diff --git a/src/d/actor/d_a_alink_bomb.inc b/src/d/actor/d_a_alink_bomb.inc
index 9042b0caa9..c3e350623d 100644
--- a/src/d/actor/d_a_alink_bomb.inc
+++ b/src/d/actor/d_a_alink_bomb.inc
@@ -3,6 +3,8 @@
* Player Bomb action handling
*/
+#include "d/actor/d_a_alink.h"
+
/* 800E3760-800E3770 0DE0A0 0010+00 0/0 0/0 7/7 .text getBombExplodeTime__9daAlink_cCFv
*/
s16 daAlink_c::getBombExplodeTime() const {
@@ -71,4 +73,4 @@ f32 daAlink_c::getBombExplodeWaterEffectLimit() const {
/* 800E3820-800E3830 0DE160 0010+00 0/0 0/0 1/1 .text getBombInsectLimitAngle__9daAlink_cCFv */
s16 daAlink_c::getBombInsectLimitAngle() const {
return daAlinkHIO_bomb_c0::m.mBombInsectLimitAngle;
-} \ No newline at end of file
+}
diff --git a/src/d/actor/d_a_alink_boom.inc b/src/d/actor/d_a_alink_boom.inc
index 73e97ec541..0c2312377b 100644
--- a/src/d/actor/d_a_alink_boom.inc
+++ b/src/d/actor/d_a_alink_boom.inc
@@ -3,6 +3,7 @@
* Player Boomerang action handling
*/
+#include "d/actor/d_a_alink.h"
#include "d/actor/d_a_boomerang.h"
/* 800DFFE0-800E0010 0DA920 0030+00 0/0 0/0 1/1 .text checkBoomerangLockAccept__9daAlink_cFv */
diff --git a/src/d/actor/d_a_alink_bottle.inc b/src/d/actor/d_a_alink_bottle.inc
index cf02069b03..11ed011536 100644
--- a/src/d/actor/d_a_alink_bottle.inc
+++ b/src/d/actor/d_a_alink_bottle.inc
@@ -6,6 +6,7 @@
#include "d/actor/d_a_alink.h"
#include "d/d_com_inf_game.h"
#include "d/d_insect.h"
+#include "SSystem/SComponent/c_math.h"
/* 8010E48C-8010E52C 108DCC 00A0+00 1/1 0/0 0/0 .text bottleModelCallBack__9daAlink_cFv
*/
@@ -394,16 +395,16 @@ int daAlink_c::procBottleDrinkInit(u16 i_itemNo) {
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
/* 8010F698-8010F6F4 109FD8 005C+00 1/0 0/0 0/0 .text procBottleDrink__9daAlink_cFv */
int daAlink_c::procBottleDrink() {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
dComIfGp_evmng_cutEnd(field_0x3184);
} else {
- mProcVar3.field_0x300e.x = commonBottleDrink(0);
+ mProcVar3.field_0x300e = commonBottleDrink(0);
}
return 1;
@@ -443,7 +444,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) {
}
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
@@ -454,7 +455,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) {
if (param_0 == 0x67) {
setCylAtParam(0x200, dCcG_At_Spl_UNK_0, 0, 0, 0, 30.0f, 30.0f);
}
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
return 1;
}
@@ -484,9 +485,9 @@ int daAlink_c::procBottleOpen() {
if (mEquipItem == WATER_BOTTLE) {
if (mWaterY > mLeftHandPos.y) {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
} else {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
}
}
@@ -517,13 +518,13 @@ int daAlink_c::procBottleOpen() {
mProcVar2.field_0x300c = 2;
dComIfGs_setEquipBottleItemEmpty(mSelectItemId);
- if (mEquipItem == WATER_BOTTLE && mProcVar3.field_0x300e.x != 0) {
+ if (mEquipItem == WATER_BOTTLE && mProcVar3.field_0x300e != 0) {
seStartOnlyReverb(Z2SE_LK_SPRINKLE_WATER);
}
} else if (frameCtrl_p->getFrame() > 16.0f && frameCtrl_p->getFrame() < 31.0f) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
if (mProcVar0.field_0x3008 == 0 && frameCtrl_p->getFrame() >= 25.0f) {
@@ -561,7 +562,7 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) {
current.angle.y = shape_angle.y;
mNormalSpeed = 0.0f;
field_0x2f98 = 4;
- mProcVar3.field_0x300e.y = param_1;
+ mProcVar4.field_0x3010 = param_1;
if (var_r31 != NULL) {
field_0x280c.setData(var_r31);
@@ -630,7 +631,7 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) {
mProcVar2.field_0x300c = 0;
voiceStart(Z2SE_AL_V_SWING_BOTTLE);
seStartOnlyReverb(Z2SE_AL_SWING_BOTTLE);
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
@@ -641,9 +642,9 @@ int daAlink_c::procBottleSwing() {
if (mProcVar2.field_0x300c == 0) {
if (eventInfo.i_checkCommandCatch()) {
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f));
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
dComIfGp_setPlayerStatus1(0, 0x4000000);
@@ -703,7 +704,7 @@ int daAlink_c::procBottleSwing() {
if (checkAnmEnd(frameCtrl_p)) {
if (mProcVar2.field_0x300c != 0) {
- procBottleGetInit(mProcVar3.field_0x300e.y);
+ procBottleGetInit(mProcVar4.field_0x3010);
} else {
checkNextAction(0);
}
diff --git a/src/d/actor/d_a_alink_bow.inc b/src/d/actor/d_a_alink_bow.inc
index 24c0e35cb8..69638d4253 100644
--- a/src/d/actor/d_a_alink_bow.inc
+++ b/src/d/actor/d_a_alink_bow.inc
@@ -6,6 +6,7 @@
#include "d/actor/d_a_alink.h"
#include "d/d_com_inf_game.h"
#include "d/actor/d_a_arrow.h"
+#include "d/actor/d_a_horse.h"
/* 800DE64C-800DE740 0D8F8C 00F4+00 1/1 0/0 2/2 .text getArrowFlyData__9daAlink_cCFPfPfi
*/
diff --git a/src/d/actor/d_a_alink_canoe.inc b/src/d/actor/d_a_alink_canoe.inc
index 5c4ec135db..67fb471c6b 100644
--- a/src/d/actor/d_a_alink_canoe.inc
+++ b/src/d/actor/d_a_alink_canoe.inc
@@ -130,11 +130,11 @@ BOOL daAlink_c::checkCanoeFishingRodGrabOrPut() const {
/* 800F3FC4-800F4008 0EE904 0044+00 2/2 0/0 0/0 .text initCanoeRide__9daAlink_cFv */
void daAlink_c::initCanoeRide() {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
field_0x3588 = l_waitBaseAnime;
field_0x384c = (cXyz*)&l_canoeBaseAnime;
mRideStatus = 3;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
/* 800F4008-800F40E4 0EE948 00DC+00 2/2 0/0 0/0 .text checkCanoeJumpRide__9daAlink_cFv */
@@ -149,7 +149,7 @@ BOOL daAlink_c::checkCanoeJumpRide() {
if (speed.y < 0.0f && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE &&
canoe->checkJumpRideFlg() && !checkDeadHP() &&
- (mProcID != PROC_FALL || mProcVar3.field_0x300e.y != 0)) {
+ (mProcID != PROC_FALL || mProcVar4.field_0x3010 != 0)) {
return procCanoeJumpRideInit(canoe);
}
@@ -283,8 +283,8 @@ void daAlink_c::setSyncCanoePos() {
s16 var_r29;
f32 var_f31;
- if ((canoe->speedF < 0.0f && mProcID == PROC_CANOE_WAIT) || (mProcID == PROC_CANOE_ROW && mProcVar3.field_0x300e.x == 1)) {
- if (mProcVar3.field_0x300e.z == 0) {
+ if ((canoe->speedF < 0.0f && mProcID == PROC_CANOE_WAIT) || (mProcID == PROC_CANOE_ROW && mProcVar3.field_0x300e == 1)) {
+ if (mProcVar5.field_0x3012 == 0) {
var_r29 = 0x5000;
var_f31 = 1.0f;
} else {
@@ -301,8 +301,8 @@ void daAlink_c::setSyncCanoePos() {
}
}
- daPy_addCalcShort(&mProcVar3.field_0x300e.y, var_r29, 3, 0x1000, 0x100);
- field_0x30a2 = mProcVar3.field_0x300e.y;
+ daPy_addCalcShort(&mProcVar4.field_0x3010, var_r29, 3, 0x1000, 0x100);
+ field_0x30a2 = mProcVar4.field_0x3010;
cLib_chaseF(&field_0x33f0, var_f31, 0.2f);
}
@@ -391,7 +391,7 @@ int daAlink_c::procCanoeRideInit() {
current.angle.y = shape_angle.y;
initCanoeRide();
- mProcVar3.field_0x300e.x = 0x80;
+ mProcVar3.field_0x300e = 0x80;
swimOutAfter(1);
return 1;
}
@@ -409,12 +409,12 @@ int daAlink_c::procCanoeRide() {
if (frameCtrl->checkAnmEnd()) {
procCanoeWaitInit(1);
} else if (frameCtrl->getFrame() < 9.0f) {
- mProcVar3.field_0x300e.x += 0x180;
+ mProcVar3.field_0x300e += 0x180;
if (mProcVar0.field_0x3008 == 0) {
- canoe->incShapeAngleZ(-mProcVar3.field_0x300e.x);
+ canoe->incShapeAngleZ(-mProcVar3.field_0x300e);
} else {
- canoe->incShapeAngleZ(mProcVar3.field_0x300e.x);
+ canoe->incShapeAngleZ(mProcVar3.field_0x300e);
}
canoe->incShapeOffsetY(-4.0f);
}
@@ -529,7 +529,7 @@ int daAlink_c::procCanoeGetOffInit() {
field_0x37c8.z -= -35.0f;
cMtx_multVec(canoe->getModelMtx(), &field_0x37c8, &current.pos);
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
@@ -553,9 +553,9 @@ int daAlink_c::procCanoeGetOff() {
field_0x2f99 = 7;
}
} else {
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
if (field_0x2060->getOldFrameRate() < 0.01f) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
setSingleAnimeParam(ANM_VJUMP_START, &daAlinkHIO_smallJump_c0::m.mSmallJumpAnm);
field_0x33b0 = l_waitBaseAnime.y;
field_0x3588 = l_waitBaseAnime;
@@ -577,7 +577,7 @@ int daAlink_c::procCanoeGetOff() {
*/
int daAlink_c::procCanoeWaitInit(int param_0) {
if (mProcID == PROC_CANOE_FISHING_WAIT) {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
return procCanoePaddleGrabInit();
}
@@ -626,7 +626,7 @@ int daAlink_c::procCanoeWaitInit(int param_0) {
if (mEquipItem == NO_ITEM || (mEquipItem != 0x10B && !checkFisingRodLure())) {
var_r27 = ANM_WAIT_SIT;
- } else if (mProcVar3.field_0x300e.z == 0) {
+ } else if (mProcVar5.field_0x3012 == 0) {
var_r27 = ANM_WAIT_CANOE_LEFT;
} else {
var_r27 = ANM_WAIT_CANOE_RIGHT;
@@ -686,9 +686,9 @@ int daAlink_c::procCanoeWait() {
if (mThrowBoomerangAcKeep.getActor() != NULL || mProcVar1.field_0x300a != 0) {
if ((s16)(field_0x2fe2 - shape_angle.y) >= 0) {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
} else {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
}
@@ -702,9 +702,9 @@ int daAlink_c::procCanoeWait() {
allUnequip(0);
if ((s16)(field_0x2fe2 - shape_angle.y) >= 0) {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
} else {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
}
}
@@ -742,7 +742,7 @@ int daAlink_c::procCanoeRowInit(int param_0) {
int var_r28;
if (temp_r3 < 0x40 || temp_r3 > 0x7F80) {
if (param_0 == -3) {
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
var_r28 = 2;
} else {
var_r28 = 3;
@@ -752,7 +752,7 @@ int daAlink_c::procCanoeRowInit(int param_0) {
field_0x3198 = -3;
}
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
var_r28 = 3;
} else {
var_r28 = 2;
@@ -767,20 +767,20 @@ int daAlink_c::procCanoeRowInit(int param_0) {
if (spC == 1) {
var_r29 = var_r28 == 2 ? ANM_CANOE_ROW_RIGHT_BACK : ANM_CANOE_ROW_LEFT_BACK;
- if ((var_r29 == ANM_CANOE_ROW_RIGHT_BACK && mProcVar3.field_0x300e.z == 0) || (var_r29 == ANM_CANOE_ROW_LEFT_BACK && mProcVar3.field_0x300e.z == 1)) {
+ if ((var_r29 == ANM_CANOE_ROW_RIGHT_BACK && mProcVar5.field_0x3012 == 0) || (var_r29 == ANM_CANOE_ROW_LEFT_BACK && mProcVar5.field_0x3012 == 1)) {
return procCanoePaddleShiftInit(var_r29);
}
} else {
var_r29 = var_r28 == 2 ? ANM_CANOE_ROW_RIGHT : ANM_CANOE_ROW_LEFT;
- if ((var_r29 == ANM_CANOE_ROW_RIGHT && mProcVar3.field_0x300e.z == 0) || (var_r29 == ANM_CANOE_ROW_LEFT && mProcVar3.field_0x300e.z == 1)) {
+ if ((var_r29 == ANM_CANOE_ROW_RIGHT && mProcVar5.field_0x3012 == 0) || (var_r29 == ANM_CANOE_ROW_LEFT && mProcVar5.field_0x3012 == 1)) {
return procCanoePaddleShiftInit(var_r29);
}
}
} else {
if (param_0 == -3) {
- if (mProcVar3.field_0x300e.z == 1) {
+ if (mProcVar5.field_0x3012 == 1) {
return procCanoePaddleShiftInit(ANM_CANOE_ROW_LEFT);
}
return procCanoePaddleShiftInit(ANM_CANOE_ROW_RIGHT);
@@ -788,7 +788,7 @@ int daAlink_c::procCanoeRowInit(int param_0) {
field_0x3198 = -3;
}
- if (mProcVar3.field_0x300e.z == 1) {
+ if (mProcVar5.field_0x3012 == 1) {
var_r29 = ANM_CANOE_ROW_RIGHT;
} else {
var_r29 = ANM_CANOE_ROW_LEFT;
@@ -803,7 +803,7 @@ int daAlink_c::procCanoeRowInit(int param_0) {
BOOL var_r24 = 0;
if (var_r29 == ANM_CANOE_ROW_LEFT_BACK || var_r29 == ANM_CANOE_ROW_RIGHT_BACK) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
if (temp_r26->speedF > 0.5f * (-var_f31 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) {
var_r24 = 1;
}
@@ -811,7 +811,7 @@ int daAlink_c::procCanoeRowInit(int param_0) {
field_0x3478 = 32.0f;
mProcVar0.field_0x3008 = 0;
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (temp_r26->speedF < 0.5f * (var_f31 * getCanoeSpeedRate())) {
var_r24 = 1;
}
@@ -854,7 +854,7 @@ int daAlink_c::procCanoeRow() {
}
} else {
f32 var_f30 = daAlinkHIO_canoe_c0::m.mBtnRowAnmSpeed;
- if ((mProcVar3.field_0x300e.x == 1 && temp_r29->speedF > 0.5f * (-var_f30 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) || (mProcVar3.field_0x300e.x == 0 && temp_r29->speedF < 0.5f * (var_f30 * getCanoeSpeedRate()))) {
+ if ((mProcVar3.field_0x300e == 1 && temp_r29->speedF > 0.5f * (-var_f30 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) || (mProcVar3.field_0x300e == 0 && temp_r29->speedF < 0.5f * (var_f30 * getCanoeSpeedRate()))) {
var_f30 = daAlinkHIO_canoe_c0::m.mBtnRowStartAnmSpeed;
}
@@ -867,13 +867,13 @@ int daAlink_c::procCanoeRow() {
if (checkInputOnR()) {
s16 temp_r0 = field_0x2fe2 - shape_angle.y;
s16 var_r25;
- if (mProcVar3.field_0x300e.x == 1) {
+ if (mProcVar3.field_0x300e == 1) {
var_r25 = field_0x2fe2 + 0x8000;
} else {
var_r25 = field_0x2fe2;
}
- if (temp_r0 == -0x8000 || (temp_r0 > 0 && mProcVar3.field_0x300e.z == 1) || (temp_r0 < 0 && mProcVar3.field_0x300e.z == 0)) {
+ if (temp_r0 == -0x8000 || (temp_r0 > 0 && mProcVar5.field_0x3012 == 1) || (temp_r0 < 0 && mProcVar5.field_0x3012 == 0)) {
temp_r29->setAimAngle(var_r25);
}
var_r28 = mStickAngle;
@@ -892,7 +892,7 @@ int daAlink_c::procCanoeRow() {
var_f31 *= fabsf(cM_scos(var_r28));
}
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
temp_r29->setAimSpeed(var_f31 * getCanoeSpeedRate());
} else {
temp_r29->setAimSpeed(-var_f31 * daAlinkHIO_canoe_c0::m.mBackSpeedRate);
@@ -900,7 +900,7 @@ int daAlink_c::procCanoeRow() {
}
if (temp_r27->checkPass(field_0x3478)) {
- if (mProcVar3.field_0x300e.z == 1) {
+ if (mProcVar5.field_0x3012 == 1) {
temp_r29->setPaddleOffsetRight();
} else {
temp_r29->setPaddleOffsetLeft();
@@ -917,7 +917,7 @@ int daAlink_c::procCanoePaddleShiftInit(int param_0) {
commonProcInit(PROC_CANOE_PADDLE_SHIFT);
f32 speed;
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
speed = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed;
} else {
speed = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed;
@@ -925,7 +925,7 @@ int daAlink_c::procCanoePaddleShiftInit(int param_0) {
setSingleAnime(ANM_CANOE_CHANGE_HAND, speed, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mStartFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mEndFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mInterpolation);
- if (mProcVar3.field_0x300e.z == 1) {
+ if (mProcVar5.field_0x3012 == 1) {
field_0x2f92 = 0;
field_0x2f93 = 0xFE;
}
@@ -950,14 +950,14 @@ int daAlink_c::procCanoePaddleShift() {
} else if (checkAnmEnd(frame_ctrl)) {
procCanoeRowInit(field_0x3198);
} else if (frame_ctrl->checkPass(11)) {
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
field_0x2f92 = 0;
field_0x2f93 = 0xFE;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
} else {
field_0x2f92 = 0xFE;
field_0x2f93 = 5;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
}
}
@@ -979,7 +979,7 @@ int daAlink_c::procCanoePaddlePutInit(int param_0) {
commonProcInit(PROC_CANOE_PADDLE_PUT);
f32 var_f31;
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
var_f31 = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed;
} else {
var_f31 = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed;
@@ -987,12 +987,12 @@ int daAlink_c::procCanoePaddlePutInit(int param_0) {
setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mStartFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mEndFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mInterpolation);
- if (mProcVar3.field_0x300e.z == 1) {
+ if (mProcVar5.field_0x3012 == 1) {
field_0x2f92 = 0;
field_0x2f93 = 0xFE;
}
- mProcVar3.field_0x300e.x = param_0;
+ mProcVar3.field_0x300e = param_0;
setSyncCanoePos();
((daCanoe_c*)mRideAcKeep.getActor())->setAimSpeed(0.0f);
@@ -1021,7 +1021,7 @@ int daAlink_c::procCanoePaddlePut() {
daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0];
if (checkAnmEnd(temp_r29)) {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
return procCanoeGetOffInit();
}
@@ -1068,7 +1068,7 @@ int daAlink_c::procCanoePaddleGrab() {
if (checkAnmEnd(temp_r29) != 0) {
f32 var_f31;
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
var_f31 = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed;
} else {
var_f31 = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed;
@@ -1078,7 +1078,7 @@ int daAlink_c::procCanoePaddleGrab() {
mUpperFrameCtrl[0].setFrame(11.0f);
getNowAnmPackUpper(UPPER_0)->setFrame(11.0f);
- if (mProcVar3.field_0x300e.z == 1) {
+ if (mProcVar5.field_0x3012 == 1) {
field_0x2f92 = 0;
field_0x2f93 = 0xFE;
} else {
@@ -1173,9 +1173,9 @@ int daAlink_c::procCanoeFishingWaitInit() {
setSyncCanoePos();
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
mProcVar0.field_0x3008 = 0;
- mProcVar3.field_0x300e.x = cLib_minMaxLimit<s16>((s16)(field_0x311a - shape_angle.y), -0x3800, 0x3800);
+ mProcVar3.field_0x300e = cLib_minMaxLimit<s16>((s16)(field_0x311a - shape_angle.y), -0x3800, 0x3800);
field_0x311a = 0;
return 1;
}
@@ -1207,7 +1207,7 @@ int daAlink_c::procCanoeFishingWait() {
}
} else if (!checkNextActionCanoe() && checkCanoeFishingWaitAnime()) {
if (mProcVar0.field_0x3008 == 0) {
- if (daPy_addCalcShort(&mBodyAngle.y, mProcVar3.field_0x300e.x, 2, 0x800, 0x200) == 0) {
+ if (daPy_addCalcShort(&mBodyAngle.y, mProcVar3.field_0x300e, 2, 0x800, 0x200) == 0) {
mProcVar0.field_0x3008 = 1;
}
} else if (checkInputOnR() && ((mStickAngle > 0x2000 && mStickAngle < 0x6000) || (mStickAngle < -0x2000 && mStickAngle > -0x6000))) {
@@ -1287,12 +1287,12 @@ int daAlink_c::procCanoeFishingGetInit() {
var_r30 = ANM_CANOE_FISH_LEFT;
field_0x3478 = 14.0f;
field_0x347c = 30.0f;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
} else {
var_r30 = ANM_CANOE_FISH_RIGHT;
field_0x3478 = 24.0f;
field_0x347c = 45.0f;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
setSyncCanoePos();
@@ -1717,7 +1717,7 @@ int daAlink_c::procFishingCastInit() {
mNormalSpeed = 0.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
mItemVar0.field_0x3018 = 1;
if (checkFishingRodItem(mEquipItem)) {
@@ -1758,7 +1758,7 @@ int daAlink_c::procFishingCast() {
current.angle.y = shape_angle.y;
}
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
mUpperFrameCtrl[2].setRate(0.0f);
mUpperFrameCtrl[2].setFrame(0.0f);
getNowAnmPackUpper(UPPER_2)->setFrame(0.0f);
@@ -1784,13 +1784,13 @@ int daAlink_c::procFishingFoodInit() {
mDemo.setSpecialDemoType();
commonProcInit(PROC_FISHING_FOOD);
setSingleAnime(ANM_BOTTLE_OPEN, 1.0f, 0.0f, 21, 3.0f);
- mProcVar3.field_0x300e.x = mSelectItemId;
+ mProcVar3.field_0x300e = mSelectItemId;
if (checkFishingRodItem(mEquipItem)) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
mSelectItemId = checkItemSetButton(mEquipItem);
} else {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
keepItemData();
deleteEquipItem(0, 0);
mSelectItemId = checkItemSetButton(0x108);
@@ -1808,7 +1808,7 @@ int daAlink_c::procFishingFoodInit() {
int daAlink_c::procFishingFood() {
if (mUnderFrameCtrl[0].checkAnmEnd()) {
if (mProcVar2.field_0x300c != 0) {
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
returnKeepItemData();
}
resetSpecialEvent();
@@ -1816,17 +1816,17 @@ int daAlink_c::procFishingFood() {
setSingleAnime(ANM_BOTTLE_OPEN, -1.0f, 0.0f, mUnderFrameCtrl[0].getEnd(), -1.0f);
mProcVar2.field_0x300c = 1;
- u32 temp_r3 = dComIfGp_getSelectItem(mProcVar3.field_0x300e.x);
- if (temp_r3 == WORM || dComIfGp_getSelectItemNum(mProcVar3.field_0x300e.x) == 1) {
- dComIfGs_setEquipBottleItemEmpty(mProcVar3.field_0x300e.x);
+ u32 temp_r3 = dComIfGp_getSelectItem(mProcVar3.field_0x300e);
+ if (temp_r3 == WORM || dComIfGp_getSelectItemNum(mProcVar3.field_0x300e) == 1) {
+ dComIfGs_setEquipBottleItemEmpty(mProcVar3.field_0x300e);
} else {
- dComIfGp_addSelectItemNum(mProcVar3.field_0x300e.x, -1);
+ dComIfGp_addSelectItemNum(mProcVar3.field_0x300e, -1);
}
if (mItemMode != NO_ITEM) {
- dComIfGs_setEquipBottleItemIn(mProcVar3.field_0x300e.x, mItemMode);
+ dComIfGs_setEquipBottleItemIn(mProcVar3.field_0x300e, mItemMode);
if (mItemMode == BEE_CHILD) {
- dComIfGp_setSelectItemNum(mProcVar3.field_0x300e.x, 1);
+ dComIfGp_setSelectItemNum(mProcVar3.field_0x300e, 1);
}
}
diff --git a/src/d/actor/d_a_alink_copyrod.inc b/src/d/actor/d_a_alink_copyrod.inc
index fd90b786ea..ebadb9b496 100644
--- a/src/d/actor/d_a_alink_copyrod.inc
+++ b/src/d/actor/d_a_alink_copyrod.inc
@@ -3,6 +3,8 @@
* Player Dominion Rod action handling
*/
+#include "d/actor/d_a_alink.h"
+#include "d/actor/d_a_crod.h"
#include "d/actor/d_a_cstatue.h"
/* 800E12E0-800E1310 0DBC20 0030+00 1/1 0/0 0/0 .text checkLv6BossRoom__9daAlink_cFv */
@@ -34,7 +36,7 @@ f32 daAlink_c::getCopyRodBallDisMax() const {
/* 800E1374-800E1390 0DBCB4 001C+00 6/6 0/0 7/7 .text getCopyRodControllActor__9daAlink_cFv */
fopAc_ac_c* daAlink_c::getCopyRodControllActor() {
if (mCopyRodAcKeep.getActor() != NULL) {
- return static_cast<daCrod_c*>(mCopyRodAcKeep.getActor())->getControllActor();
+ return ((daCrod_c*)mCopyRodAcKeep.getActor())->getControllActor();
}
return NULL;
@@ -44,7 +46,7 @@ fopAc_ac_c* daAlink_c::getCopyRodControllActor() {
*/
fopAc_ac_c* daAlink_c::getCopyRodCameraActor() {
if (mCopyRodAcKeep.getActor() != NULL) {
- return static_cast<daCrod_c*>(mCopyRodAcKeep.getActor())->getCameraActor();
+ return ((daCrod_c*)mCopyRodAcKeep.getActor())->getCameraActor();
}
return NULL;
@@ -54,10 +56,9 @@ fopAc_ac_c* daAlink_c::getCopyRodCameraActor() {
void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
if (!checkCopyRodThrowAnime()) {
if (param_0) {
- f32 tmp_0 = 0.0f;
- mUpperFrameCtrl[2].setRate(tmp_0);
- mUpperFrameCtrl[2].setFrame(tmp_0);
- getNowAnmPackUpper(UPPER_2)->setFrame(tmp_0);
+ mUpperFrameCtrl[2].setRate(0.0f);
+ mUpperFrameCtrl[2].setFrame(0.0f);
+ getNowAnmPackUpper(UPPER_2)->setFrame(0.0f);
} else {
mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed);
}
@@ -73,7 +74,7 @@ BOOL daAlink_c::checkForestOldCentury() {
/* 800E145C-800E1530 0DBD9C 00D4+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daAlink_cFv */
BOOL daAlink_c::checkCopyRodTopUse() {
// Event flag 0x2580: Dominion Rod power restored
- return (dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e.x != 0)) ||
+ return (dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e != 0)) ||
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 ||
checkForestOldCentury();
}
@@ -96,7 +97,30 @@ void daAlink_c::setCopyRodControllAnime() {
/* 800E15FC-800E1748 0DBF3C 014C+00 1/1 0/0 0/0 .text
* setCopyRodControllUpperSpeedRate__9daAlink_cFv */
void daAlink_c::setCopyRodControllUpperSpeedRate() {
- // NONMATCHING
+ f32 var_f31;
+ if (checkAttentionLock()) {
+ var_f31 = 1.0f;
+ } else {
+ if (mProcID == PROC_STEP_MOVE) {
+ var_f31 = fabsf(field_0x3478 / daAlinkHIO_move_c0::m.mMaxSpeed);
+ } else {
+ var_f31 = fabsf(mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed);
+ }
+
+ if (checkHeavyStateOn(1, 1)) {
+ var_f31 *= 1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier);
+ }
+ }
+
+ if (var_f31 > 1.0f) {
+ var_f31 = 1.0f;
+ }
+
+ cLib_chaseF(&field_0x33e8, var_f31, 0.15f);
+
+ daPy_frameCtrl_c* frame_ctrl = &mUpperFrameCtrl[2];
+ frame_ctrl->setFrame(field_0x33e8 * frame_ctrl->getEnd());
+ getNowAnmPackUpper(UPPER_2)->setFrame(frame_ctrl->getFrame());
}
/* 800E1748-800E1840 0DC088 00F8+00 2/2 0/0 0/0 .text setCopyRodModel__9daAlink_cFv */
@@ -106,8 +130,10 @@ void daAlink_c::setCopyRodModel() {
mHeldItemModel = initModel(mdl_data, 0x80000, 0x1000000);
field_0x0724 = loadAramItemBrk(0x323, mHeldItemModel);
mDoExt_setCurrentHeap(heap);
+
field_0x0724->setFrame(0.0f);
field_0x2f94 = 2;
+
mAtCps[0].SetAtSpl(dCcG_At_Spl_UNK_0);
mAtCps[0].SetAtAtp(0);
mAtCps[0].SetAtSe(20);
@@ -115,6 +141,7 @@ void daAlink_c::setCopyRodModel() {
mAtCps[0].OnAtSetBit();
mAtCps[0].SetAtHitCallback(NULL);
mAtCps[0].SetAtMtrl(dCcD_MTRL_NONE);
+
mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(field_0x30c0));
mHeldItemModel->calc();
}
@@ -144,7 +171,7 @@ void daAlink_c::setCopyRodReadyAnime() {
/* 800E191C-800E1A30 0DC25C 0114+00 1/1 0/0 0/0 .text throwCopyRod__9daAlink_cFv */
void daAlink_c::throwCopyRod() {
- daCrod_c* copy_rod = static_cast<daCrod_c*>(mItemAcKeep.getActor());
+ daCrod_c* copy_rod = ((daCrod_c*)mItemAcKeep.getActor());
onNoResetFlg1(FLG1_UNK_10000);
if (checkCopyRodTopUse()) {
@@ -372,7 +399,7 @@ int daAlink_c::procCopyRodSwingInit() {
mNormalSpeed = 0.0f;
current.angle.y = shape_angle.y;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
voiceStart(Z2SE_AL_V_ATTACK_S);
mAtCps[0].SetR(40.0f);
@@ -394,16 +421,16 @@ int daAlink_c::procCopyRodSwing() {
setCopyRodControllAnime();
}
} else if (frameCtrl->getFrame() >= field_0x3478 && frameCtrl->getFrame() < field_0x347c) {
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
seStartSwordCut(Z2SE_AL_COPYROD_SWING);
}
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
if (changeCutReverseProc(ANM_CUT_RECOIL_A)) {
return 1;
}
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
return 1;
diff --git a/src/d/actor/d_a_alink_crawl.inc b/src/d/actor/d_a_alink_crawl.inc
index 90e2b2f87c..a6318bd53e 100644
--- a/src/d/actor/d_a_alink_crawl.inc
+++ b/src/d/actor/d_a_alink_crawl.inc
@@ -287,8 +287,7 @@ int daAlink_c::procCrawlMove() {
}
/* 800F99FC-800F9ABC 0F433C 00C0+00 1/1 0/0 0/0 .text procCrawlAutoMoveInit__9daAlink_cFiP4cXyz */
-// r30 / r31 swap
-#ifdef NONMATCHING
+// NONMATCHING - r30 / r31 swap
int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000);
commonProcInit(PROC_CRAWL_AUTO_MOVE);
@@ -309,12 +308,6 @@ int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
return 1;
}
-#else
-int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
- // NONMATCHING
- return 0;
-}
-#endif
/* 800F9ABC-800F9D7C 0F43FC 02C0+00 1/0 0/0 0/0 .text procCrawlAutoMove__9daAlink_cFv */
int daAlink_c::procCrawlAutoMove() {
diff --git a/src/d/actor/d_a_alink_cut.inc b/src/d/actor/d_a_alink_cut.inc
index ac305fa251..c998e6d335 100644
--- a/src/d/actor/d_a_alink_cut.inc
+++ b/src/d/actor/d_a_alink_cut.inc
@@ -3,7 +3,9 @@
* Player Sword action handling
*/
+#include "d/actor/d_a_alink.h"
#include "d/actor/d_a_b_gnd.h"
+#include "SSystem/SComponent/c_math.h"
/* 800D0D38-800D0E08 0CB678 00D0+00 1/1 0/0 0/0 .text daAlink_searchNightStalker__FP10fopAc_ac_cPv
*/
@@ -24,7 +26,6 @@ static fopAc_ac_c* daAlink_searchNightStalker(fopAc_ac_c* i_actor, void*) {
return NULL;
}
-
/* 800D0E08-800D0E98 0CB748 0090+00 1/1 0/0 0/0 .text checkLightSwordMtrl__9daAlink_cFv
*/
void daAlink_c::checkLightSwordMtrl() {
@@ -342,8 +343,7 @@ BOOL daAlink_c::setSwordHitVibration(dCcD_GObjInf* i_gobj) {
var_r4 = 2;
}
- f32 tmp_0 = 0.0f;
- dComIfGp_getVibration().StartShock(var_r4, 31, cXyz(tmp_0, 1.0f, tmp_0));
+ dComIfGp_getVibration().StartShock(var_r4, 31, cXyz(0.0f, 1.0f, 0.0f));
return true;
}
@@ -358,15 +358,79 @@ BOOL daAlink_c::checkAtShieldHit(dCcD_GObjInf& param_0) {
/* 800D1978-800D19C8 0CC2B8 0050+00 1/1 0/0 0/0 .text
* checkCutReverseAt__9daAlink_cFP12dCcD_GObjInf */
-bool daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) {
+BOOL daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) {
param_0->GetAtHitAc();
- return checkAtShieldHit(*param_0) ? true : false;
+ return checkAtShieldHit(*param_0) ? TRUE : FALSE;
}
/* 800D19C8-800D1E1C 0CC308 0454+00 5/5 0/0 0/0 .text
* changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM */
BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) {
- // NONMATCHING
+ if (checkCutReverseAt(&mAtCps[0]) || (mEquipItem != COPY_ROD && (checkCutReverseAt(&mAtCps[1]) || checkCutReverseAt(&mAtCps[2])))) {
+ return procCutReverseInit(param_0);
+ }
+
+ if (checkNoResetFlg0(FLG0_UNK_40) || mEquipItem == COPY_ROD) {
+ cXyz sp28;
+ Vec sp1C;
+
+ if (checkMagneBootsOn()) {
+ sp1C.x = 0.0f;
+ sp1C.y = 30.0f;
+ sp1C.z = 0.0f;
+ mDoMtx_multVecSR(mMagneBootMtx, &sp1C, &sp28);
+
+ sp28 += current.pos;
+ } else {
+ sp28.x = current.pos.x;
+ sp28.y = current.pos.y + 30.0f;
+ sp28.z = current.pos.z;
+ }
+
+ if (commonLineCheck(&sp28, &field_0x3720) && !dComIfG_Bgsp().GetPolyAttackThrough(mLinkLinChk) && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) {
+ cM3dGPla sp34;
+ dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp34);
+
+ f32 var_f31;
+ if (checkMagneBootsOn()) {
+ mDoMtx_multVecSR(mMagneBootInvMtx, &sp34.mNormal, &sp1C);
+ var_f31 = sp1C.y;
+ } else {
+ var_f31 = sp34.mNormal.y;
+ }
+
+ if (!cBgW_CheckBGround(var_f31) && !checkCutDashAnime()) {
+ int temp_r3 = dComIfG_Bgsp().GetPolyAtt0(mLinkLinChk);
+
+ if (!checkWoodSwordEquip() && (temp_r3 == 2 || temp_r3 == 5 || temp_r3 == 0xE || temp_r3 == 8 || temp_r3 == 0xA)) {
+ csXyz sp8(cM_atan2s(sp34.mNormal.y, sp34.mNormal.absXZ()), cM_atan2s(-sp34.mNormal.x, -sp34.mNormal.z), 0);
+
+ u16 var_r28;
+ if (temp_r3 == 5 || temp_r3 == 0xE) {
+ var_r28 = 0x752;
+ } else if (temp_r3 == 8) {
+ var_r28 = 0xAE3;
+ } else {
+ var_r28 = 0x32E;
+ dKy_SordFlush_set(*mLinkLinChk.GetCrossP(), 2);
+ }
+
+ dComIfGp_particle_set(var_r28, mLinkLinChk.GetCrossP(), &sp8, NULL);
+ }
+
+ u32 var_r27;
+ if (mAtCps[0].GetAtSe() == 14) {
+ var_r27 = 0x40000;
+ } else {
+ var_r27 = dCcD_GObjInf::getHitSeID(mAtCps[0].GetAtSe(), 0);
+ }
+
+ mZ2Link.startHitItemSE(var_r27, dKy_pol_sound_get(&mLinkLinChk), NULL, -1.0f);
+ return procCutReverseInit(param_0);
+ }
+ }
+ }
+
return 0;
}
@@ -573,13 +637,13 @@ int daAlink_c::checkCutAction() {
/* 800D2684-800D26EC 0CCFC4 0068+00 9/9 0/0 0/0 .text checkCutTurnCharge__9daAlink_cFv */
void daAlink_c::checkCutTurnCharge() {
if (swordButton()) {
- if (mProcVar3.field_0x300e.z < 3) {
- mProcVar3.field_0x300e.z++;
+ if (mProcVar5.field_0x3012 < 3) {
+ mProcVar5.field_0x3012++;
} else {
onResetFlg0(RFLG0_UNK_40);
}
} else {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
}
@@ -697,9 +761,9 @@ void daAlink_c::cancelCutCharge() {
*/
void daAlink_c::initCutAtnActorSearch() {
if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
field_0x32cc = (u32)mTargetedActor;
@@ -708,7 +772,7 @@ void daAlink_c::initCutAtnActorSearch() {
/* 800D2C54-800D2C78 0CD594 0024+00 3/3 0/0 0/0 .text checkCutAtnActorChange__9daAlink_cFv */
void daAlink_c::checkCutAtnActorChange() {
if (field_0x32cc != (u32)mTargetedActor) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x32cc = (u32)mTargetedActor;
}
}
@@ -811,16 +875,16 @@ int daAlink_c::procCutNormalInit(int i_type) {
setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, daAlinkHIO_cut_c0::m.mSwordLength,
daAlinkHIO_cut_c0::m.mSwordRadius);
setSwordComboVoice();
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
dComIfGp_setPlayerStatus0(0, 0x8000);
setCutWaterDropEffect();
int cutDir = getCutDirection();
if (mComboCutCount == 1 && (cutDir == DIR_LEFT || cutDir == DIR_RIGHT)) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
mProcVar1.field_0x300a = 4;
@@ -844,7 +908,7 @@ int daAlink_c::procCutNormal() {
onEndResetFlg0(ERFLG0_UNK_8000000);
field_0x2f99 = 4;
- if (mProcVar3.field_0x300e.x != 0 && checkNoResetFlg2(FLG2_UNK_2)) {
+ if (mProcVar3.field_0x300e != 0 && checkNoResetFlg2(FLG2_UNK_2)) {
int cutDir = getCutDirection();
if ((cutDir == DIR_RIGHT && mCutType == CUT_TYPE_NM_LEFT &&
frameCtrl->getFrame() > 12.0f) ||
@@ -874,11 +938,11 @@ int daAlink_c::procCutNormal() {
return 1;
}
- if (setShapeAngleToAtnActor(mProcVar3.field_0x300e.y)) {
+ if (setShapeAngleToAtnActor(mProcVar4.field_0x3010)) {
mProcVar2.field_0x300c = shape_angle.y;
if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
} else {
cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, 2, 0x2000, 0x800);
@@ -925,7 +989,7 @@ int daAlink_c::procCutFinishInit(int i_type) {
setCutType(cutParams->m_cutType);
field_0x3198 = cutParams->field_0x4;
mProcVar2.field_0x300c = cutParams->field_0xa;
- mProcVar3.field_0x300e.x = cutParams->field_0xb;
+ mProcVar3.field_0x300e = cutParams->field_0xb;
BOOL var_r30 = FALSE;
if (i_type == 0) {
@@ -1006,7 +1070,7 @@ int daAlink_c::procCutFinishInit(int i_type) {
field_0x2f99 = 13;
}
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
dComIfGp_setPlayerStatus0(0, 0x8000);
setCutWaterDropEffect();
initCutAtnActorSearch();
@@ -1048,7 +1112,7 @@ int daAlink_c::procCutFinish() {
field_0x2f99 = 4;
}
- if (frameCtrl_p->getFrame() >= mProcVar3.field_0x300e.x) {
+ if (frameCtrl_p->getFrame() >= mProcVar3.field_0x300e) {
onModeFlg(0x100);
} else if (frameCtrl_p->getFrame() >= mProcVar2.field_0x300c) {
offModeFlg(0x100);
@@ -1077,10 +1141,10 @@ int daAlink_c::procCutFinish() {
return 1;
}
- setShapeAngleToAtnActor(mProcVar3.field_0x300e.y);
+ setShapeAngleToAtnActor(mProcVar4.field_0x3010);
if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
current.angle.y = shape_angle.y;
@@ -1142,7 +1206,7 @@ int daAlink_c::procCutFinishJumpUpInit() {
daAlinkHIO_cutFnJU_c0::m.mCutAnm.mEndFrame,
daAlinkHIO_cutFnJU_c0::m.mCutAnm.mInterpolation);
setSwordVoiceSe(Z2SE_AL_V_SOTOMO_ATK);
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x3478 = current.pos.y;
dComIfGp_setPlayerStatus0(0, 0x8000);
setCutWaterDropEffect();
@@ -1207,7 +1271,7 @@ int daAlink_c::procCutFinishJumpUpLandInit() {
mProcVar0.field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mStopTime;
}
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x3588 = l_halfAtnWaitBaseAnime;
initCutAtnActorSearch();
return 1;
@@ -1244,10 +1308,10 @@ int daAlink_c::procCutFinishJumpUpLand() {
resetCombo(1);
}
- setShapeAngleToAtnActor(mProcVar3.field_0x300e.y);
+ setShapeAngleToAtnActor(mProcVar4.field_0x3010);
if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
current.angle.y = shape_angle.y;
@@ -1287,7 +1351,7 @@ int daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM i_anmID) {
mNormalSpeed = daAlinkHIO_cut_c0::m.mRecoilSpeed;
current.angle.y = shape_angle.y - -0x8000;
field_0x307e = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
int temp_r3;
if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B ||
@@ -1462,8 +1526,7 @@ int daAlink_c::procCutJumpLand() {
}
/* 800D47DC-800D4A74 0CF11C 0298+00 7/7 0/0 0/0 .text procCutTurnInit__9daAlink_cFii */
-// regalloc
-#ifdef NONMATCHING
+// NONMATCHING - regalloc
int daAlink_c::procCutTurnInit(int param_0, int param_1) {
const daAlinkHIO_cutTurn_c1* cutData = &daAlinkHIO_cutTurn_c0::m;
const daAlinkHIO_anm_c* anm_data;
@@ -1488,7 +1551,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) {
field_0x3484 = cutData->mRightAttackStartFrame;
field_0x3488 = cutData->mRightAttackEndFrame;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
mProcVar1.field_0x300a = 6;
} else {
anmID = ANM_CUT_TURN_LEFT;
@@ -1502,11 +1565,11 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) {
field_0x3484 = cutData->mLeftAttackStartFrame;
field_0x3488 = cutData->mLeftAttackEndFrame;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
mProcVar1.field_0x300a = 8;
}
- field_0x3480 = anm_data->->mCheckFrame;
+ field_0x3480 = anm_data->mCheckFrame;
resetCombo(1);
f32 morf;
@@ -1558,17 +1621,11 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) {
field_0x3180 = 0;
dComIfGp_setPlayerStatus0(0, 0x8000);
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
setCutWaterDropEffect();
initCutTurnAt(field_0x347c, var_r29_3);
return 1;
}
-#else
-int daAlink_c::procCutTurnInit(int param_0, int param_1) {
- // NONMATCHING
- return 0;
-}
-#endif
/* 800D4A74-800D4C68 0CF3B4 01F4+00 1/0 0/0 0/0 .text procCutTurn__9daAlink_cFv */
int daAlink_c::procCutTurn() {
@@ -1834,14 +1891,14 @@ int daAlink_c::procCutDownInit() {
resetCombo(1);
cXyz sp2C;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (mTargetedActor != NULL) {
sp2C = static_cast<fopEn_enemy_c*>(mTargetedActor)->getDownPos();
field_0x280c.setData(mTargetedActor);
if (fopAcM_GetName(mTargetedActor) == PROC_B_GND) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
} else {
sp2C.set(current.pos.x + cM_ssin(shape_angle.y) * 100.0f, current.pos.y,
@@ -1849,7 +1906,7 @@ int daAlink_c::procCutDownInit() {
field_0x280c.clearData();
}
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
mNormalSpeed = 0.0f;
speed.y = 0.0f;
offModeFlg(2);
@@ -1905,7 +1962,7 @@ int daAlink_c::procCutDownInit() {
/* 800D57F8-800D58A0 0D0138 00A8+00 1/0 0/0 0/0 .text procCutDown__9daAlink_cFv */
int daAlink_c::procCutDown() {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
return 1;
}
@@ -1931,7 +1988,7 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) {
mSwordTopPos.abs2XZ(i_enemy->getDownPos()) < 10000.0f &&
fabsf(i_enemy->current.pos.y - current.pos.y) < 100.0f))
{
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
if (i_enemy != NULL) {
i_enemy->onCutDownHitFlg();
@@ -1944,7 +2001,7 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) {
dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f));
} else {
var_r30 = mPolySound;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
mProcVar0.field_0x3008 = daAlinkHIO_cutDown_c0::m.mFailStopTime;
}
@@ -1957,7 +2014,7 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) {
setFootEffectProcType(2);
onResetFlg1(RFLG1_UNK_30);
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
dComIfGp_setPlayerStatus1(0, 0x400000);
field_0x3588 = l_halfAtnWaitBaseAnime;
@@ -1983,7 +2040,7 @@ int daAlink_c::procCutDownLand() {
if (mProcVar2.field_0x300c == 0) {
if (mProcVar0.field_0x3008 != 0) {
mProcVar0.field_0x3008--;
- } else if (mProcVar3.field_0x300e.x != 0) {
+ } else if (mProcVar3.field_0x300e != 0) {
if (mDemo.getDemoMode() == 0x51) {
dComIfGp_evmng_cutEnd(field_0x3184);
} else {
@@ -1999,9 +2056,9 @@ int daAlink_c::procCutDownLand() {
}
} else if (mProcVar2.field_0x300c != 0) {
if (frameCtrl_p->getFrame() >= 37.0f) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else if (frameCtrl_p->getFrame() >= 30.0f) {
- mProcVar3.field_0x300e.y = 254;
+ mProcVar4.field_0x3010 = 254;
}
if (frameCtrl_p->checkPass(54.0f)) {
@@ -2019,8 +2076,6 @@ int daAlink_c::procCutDownLand() {
/* 800D5C88-800D5FC8 0D05C8 0340+00 2/1 0/0 0/0 .text procCutHeadInit__9daAlink_cFv */
-// small regalloc
-#ifdef NONMATCHING
int daAlink_c::procCutHeadInit() {
fopEn_enemy_c* enemy_p = (fopEn_enemy_c*)mTargetedActor;
@@ -2043,7 +2098,7 @@ int daAlink_c::procCutHeadInit() {
field_0x280c.clearData();
}
- f32 fvar9 = cLib_minMaxLimit(sp2C.y, 30.0f, daAlinkHIO_cutHead_c0::m.mMaxHeight);
+ f32 fvar9 = cLib_minMaxLimit<f32>(sp2C.y, 30.0f, daAlinkHIO_cutHead_c0::m.mMaxHeight);
f32 fvar10 = JMAFastSqrt((fvar9 * -2.0f) / gravity);
speed.y = fvar10 * -gravity;
@@ -2054,7 +2109,7 @@ int daAlink_c::procCutHeadInit() {
field_0x3478 = (fvar5 * 2.0f) / (fvar10 * 3.0f * fvar10);
mNormalSpeed = field_0x3478 * fvar10 * 2.0f;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
current.angle.y = sp2C.atan2sX_Z();
shape_angle.y = current.angle.y;
@@ -2066,16 +2121,10 @@ int daAlink_c::procCutHeadInit() {
return 1;
}
-#else
-int daAlink_c::procCutHeadInit() {
- // NONMATCHING
- return 0;
-}
-#endif
/* 800D5FC8-800D6130 0D0908 0168+00 1/0 0/0 0/0 .text procCutHead__9daAlink_cFv */
int daAlink_c::procCutHead() {
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
cLib_chaseF(&mNormalSpeed, 0.0f, field_0x3478);
if (speed.y <= 0.0f) {
@@ -2084,7 +2133,7 @@ int daAlink_c::procCutHead() {
mNormalSpeed = tmp_0;
speed.y = tmp_0;
setSpecialGravity(tmp_0, maxFallSpeed, 0);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
setCutWaterDropEffect();
setSwordVoiceSe(Z2SE_AL_V_KABUTO_ATK);
}
@@ -2200,8 +2249,8 @@ int daAlink_c::procCutLargeJumpInit() {
setCutType(CUT_TYPE_LARGE_JUMP_INIT);
setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_1);
setCutWaterDropEffect();
- mProcVar3.field_0x300e.x = 4;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 4;
+ mProcVar4.field_0x3010 = 0;
field_0x3198 = 2;
return 1;
}
@@ -2210,7 +2259,7 @@ int daAlink_c::procCutLargeJumpInit() {
int daAlink_c::procCutLargeJump() {
daPy_frameCtrl_c* frameCtrl = &mUnderFrameCtrl[0];
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
field_0x2f99 = 4;
}
@@ -2226,7 +2275,7 @@ int daAlink_c::procCutLargeJump() {
setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_2);
} else {
if (frameCtrl->getFrame() >= 2.0f) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
if (!checkModeFlg(2) && frameCtrl->getFrame() >= 5.0f) {
@@ -2246,10 +2295,10 @@ int daAlink_c::procCutLargeJump() {
}
}
} else {
- if (mProcVar3.field_0x300e.x != 0) {
- mProcVar3.field_0x300e.x--;
+ if (mProcVar3.field_0x300e != 0) {
+ mProcVar3.field_0x300e--;
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength,
daAlinkHIO_cut_c0::m.mSwordRadius);
setCutType(CUT_TYPE_LARGE_JUMP);
@@ -2349,8 +2398,8 @@ int daAlink_c::procSwordUnequipSpInit() {
field_0x3588 = l_halfAtnWaitBaseAnime;
field_0x3198 = 0;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = (0x1E - mDemo.getDemoMode()) != 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = (0x1E - mDemo.getDemoMode()) != 0;
+ mProcVar4.field_0x3010 = 0;
return 1;
}
@@ -2363,10 +2412,10 @@ int daAlink_c::procSwordUnequipSp() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
field_0x2f99 = 4;
} else {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
onEndResetFlg0(ERFLG0_UNK_8000000);
@@ -2375,8 +2424,8 @@ int daAlink_c::procSwordUnequipSp() {
onEndResetFlg1(ERFLG1_GANON_FINISH);
}
- if (mProcVar3.field_0x300e.y == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) {
- mProcVar3.field_0x300e.y = 1;
+ if (mProcVar4.field_0x3010 == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) {
+ mProcVar4.field_0x3010 = 1;
setFaceBasicBck(0x149);
setFaceBasicBtp(0x3E1);
}
diff --git a/src/d/actor/d_a_alink_damage.inc b/src/d/actor/d_a_alink_damage.inc
index ff032d15a4..c453fdac11 100644
--- a/src/d/actor/d_a_alink_damage.inc
+++ b/src/d/actor/d_a_alink_damage.inc
@@ -4,6 +4,7 @@
*/
#include "d/actor/d_a_alink.h"
+#include "d/actor/d_a_horse.h"
/* 800D6D94-800D6DA4 0D16D4 0010+00 0/0 0/0 2/2 .text getFreezeR__9daAlink_cCFv */
s16 daAlink_c::getFreezeR() const {
@@ -830,7 +831,7 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
var_r29->z * var_f29 + var_r29->x * var_f30);
mProcVar2.field_0x300c = cLib_minMaxLimit<s16>(cM_atan2s(sp88.z, sp88.y), -daAlinkHIO_damNormal_c0::m.field_0x50, daAlinkHIO_damNormal_c0::m.field_0x50);
- mProcVar3.field_0x300e.x = cLib_minMaxLimit<s16>(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.field_0x52, daAlinkHIO_damNormal_c0::m.field_0x52);
+ mProcVar3.field_0x300e = cLib_minMaxLimit<s16>(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.field_0x52, daAlinkHIO_damNormal_c0::m.field_0x52);
if (freeze_player) {
var_f31 = 0.0f;
@@ -862,7 +863,7 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
}
current.angle.y = var_r29->atan2sX_Z();
- mProcVar3.field_0x300e.y = current.angle.y;
+ mProcVar4.field_0x3010 = current.angle.y;
mNormalSpeed = var_r29->absXZ() * daAlinkHIO_damNormal_c0::m.field_0x58 + daAlinkHIO_damNormal_c0::m.field_0x54;
if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) {
@@ -893,7 +894,7 @@ int daAlink_c::procDamage() {
f32 var_f31 = cM_fsin(field_0x347c * var_f30);
mBodyAngle.x = mProcVar2.field_0x300c * var_f31;
- mBodyAngle.z = -mProcVar3.field_0x300e.x * var_f31;
+ mBodyAngle.z = -mProcVar3.field_0x300e * var_f31;
mBodyAngle.y = 0;
cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_damNormal_c0::m.field_0x5C);
@@ -917,7 +918,7 @@ int daAlink_c::procDamage() {
onModeFlg(4);
if (!checkNextAction(1)) {
- current.angle.y = mProcVar3.field_0x300e.y;
+ current.angle.y = mProcVar4.field_0x3010;
}
}
diff --git a/src/d/actor/d_a_alink_demo.inc b/src/d/actor/d_a_alink_demo.inc
index da3ce9fb9b..df2d12467b 100644
--- a/src/d/actor/d_a_alink_demo.inc
+++ b/src/d/actor/d_a_alink_demo.inc
@@ -9,12 +9,15 @@
#include "d/d_gameover.h"
#include "f_op/f_op_msg_mng.h"
#include "f_op/f_op_overlap_mng.h"
-#include "m_Do/m_Do_controller_pad.h"
#include "d/actor/d_a_kytag04.h"
#include "d/actor/d_a_tag_mhint.h"
#include "d/actor/d_a_tag_mist.h"
#include "d/actor/d_a_tag_mstop.h"
#include "d/actor/d_a_tag_mwait.h"
+#include "d/actor/d_a_canoe.h"
+#include "d/actor/d_a_horse.h"
+#include "d/actor/d_a_midna.h"
+#include "d/actor/d_a_e_wb.h"
/* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */
BOOL daAlink_c::checkEventRun() const {
@@ -210,7 +213,7 @@ int daAlink_c::checkDemoAction() {
fopAc_ac_c* board_p = (fopAc_ac_c*)fopAcIt_Judge(
(fopAcIt_JudgeFunc)daAlink_searchIceLeaf, NULL);
if (board_p != NULL) {
- field_0x2fa8 = 5;
+ mGndPolySpecialCode = dBgW_SPCODE_LIGHT_SNOW;
return procBoardWaitInit(board_p);
}
} else {
@@ -825,8 +828,7 @@ void daAlink_c::resetSpecialEvent() {
}
/* 80117CF8-801180EC 112638 03F4+00 4/4 0/0 0/0 .text endDemoMode__9daAlink_cFv */
-// one wrong branch
-#ifdef NONMATCHING
+// NONMATCHING - one wrong branch
void daAlink_c::endDemoMode() {
BOOL temp_r30 = checkFlyAtnWait();
endHighModel();
@@ -922,15 +924,9 @@ void daAlink_c::endDemoMode() {
}
}
}
-#else
-void daAlink_c::endDemoMode() {
- // NONMATCHING
-}
-#endif
/* 801180EC-80118170 112A2C 0084+00 2/2 0/0 0/0 .text getDemoLookActor__9daAlink_cFv */
-// weird gameinfo load
-#ifdef NONMATCHING
+// NONMATCHING - weird gameinfo load
fopAc_ac_c* daAlink_c::getDemoLookActor() {
if (mDemo.getParam0() == 1) {
return dComIfGp_event_getPt1();
@@ -944,11 +940,6 @@ fopAc_ac_c* daAlink_c::getDemoLookActor() {
return NULL;
}
-#else
-fopAc_ac_c* daAlink_c::getDemoLookActor() {
- // NONMATCHING
-}
-#endif
/* 80118170-801181A0 112AB0 0030+00 4/4 0/0 0/0 .text checkFlyAtnWait__9daAlink_cFv */
BOOL daAlink_c::checkFlyAtnWait() {
@@ -1110,7 +1101,7 @@ BOOL daAlink_c::checkEndMessage(u32 param_0) {
/* 80118840-801188B0 113180 0070+00 1/1 0/0 0/0 .text setDemoRightHandIndex__9daAlink_cFUs */
u8 daAlink_c::setDemoRightHandIndex(u16 param_0) {
if (param_0 == 0xFD) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
return 6;
} else if (param_0 == 0xFC) {
field_0x2fab |= 0x10;
@@ -1258,8 +1249,7 @@ void daAlink_c::setHighModelBck(mDoExt_bckAnm* i_bck, u16 i_anmID) {
/* 801190A4-80119134 1139E4 0090+00 1/1 0/0 0/0 .text setHighModelFaceBtk__9daAlink_cFUs
*/
-// extra mr
-#ifdef NONMATCHING
+// NONMATCHING - extra mr
void daAlink_c::setHighModelFaceBtk(u16 i_anmID) {
J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectIDRes(
dStage_roomControl_c::getDemoArcName(), i_anmID);
@@ -1272,16 +1262,10 @@ void daAlink_c::setHighModelFaceBtk(u16 i_anmID) {
field_0x068c = btk;
}
}
-#else
-void daAlink_c::setHighModelFaceBtk(u16 param_0) {
- // NONMATCHING
-}
-#endif
/* 80119134-801191C4 113A74 0090+00 1/1 0/0 0/0 .text
* setDemoBrk__9daAlink_cFPP15J3DAnmTevRegKeyP8J3DModelUs */
-// extra mr
-#ifdef NONMATCHING
+// NONMATCHING - extra mr
void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 i_anmID) {
J3DAnmTevRegKey* brk =
(J3DAnmTevRegKey*)dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), i_anmID);
@@ -1294,11 +1278,6 @@ void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 i_a
*param_0 = brk;
}
}
-#else
-void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 param_2) {
- // NONMATCHING
-}
-#endif
/* 801191C4-80119464 113B04 02A0+00 1/1 0/0 0/0 .text
* setStickAnmData__9daAlink_cFP10J3DAnmBaseiiUsi */
@@ -1411,7 +1390,7 @@ int daAlink_c::procCoToolDemoInit() {
mNowAnmPackUpper[1].setAnmTransform(NULL);
field_0x3198 = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x2fab = 0;
deleteEquipItem(FALSE, TRUE);
mUnderAnmHeap[0].setBufferSize(0x10800);
@@ -1430,7 +1409,7 @@ int daAlink_c::procCoToolDemo() {
onEndResetFlg1(ERFLG1_GANON_FINISH);
field_0x3198 = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x2fab = 0;
if (demo_actor_p != NULL) {
@@ -1838,7 +1817,7 @@ int daAlink_c::procCoUnequipInit() {
mNormalSpeed = 0.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (checkWolf()) {
setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0x94);
@@ -1855,7 +1834,7 @@ int daAlink_c::procCoUnequipInit() {
}
} else if (mDemo.getParam1() == 2) {
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
setSingleAnime(ANM_TRADE_ITEM_PULL_OUT, 1.0f, 0.0f, 39, 3.0f);
}
}
@@ -1894,7 +1873,7 @@ int daAlink_c::procCoUnequip() {
void daAlink_c::setGetSubBgm(int i_seTypeIdx) {
u32 se_type = getSeType[i_seTypeIdx];
- if (se_type == 3 && mProcVar3.field_0x300e.y == 0) {
+ if (se_type == 3 && mProcVar4.field_0x3010 == 0) {
se_type = 7;
}
@@ -2022,23 +2001,23 @@ int daAlink_c::procCoGetItemInit() {
field_0x3588 = l_waitBaseAnime;
}
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
if (var_r31 != 0) {
- mProcVar3.field_0x300e.x = -0x8000;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar3.field_0x300e = -0x8000;
+ mProcVar4.field_0x3010 = 1;
} else if (mDemo.getParam1() == 2) {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
} else {
- mProcVar3.field_0x300e.x =
+ mProcVar3.field_0x300e =
shape_angle.y - (fopCamM_GetAngleY(dComIfGp_getCamera(field_0x317c)) + 0x8000);
- s16 temp_r28 = mProcVar3.field_0x300e.x + 0x16C1;
- s16 temp_r31 = mProcVar3.field_0x300e.x - 0x16C1;
+ s16 temp_r28 = mProcVar3.field_0x300e + 0x16C1;
+ s16 temp_r31 = mProcVar3.field_0x300e - 0x16C1;
if (abs(temp_r28) > abs(temp_r31)) {
- mProcVar3.field_0x300e.x = temp_r31;
+ mProcVar3.field_0x300e = temp_r31;
} else {
- mProcVar3.field_0x300e.x = temp_r28;
+ mProcVar3.field_0x300e = temp_r28;
}
}
@@ -2047,11 +2026,11 @@ int daAlink_c::procCoGetItemInit() {
mProcVar0.field_0x3008 = 0;
field_0x3198 = 0;
field_0x32cc = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
dKy_Itemgetcol_chg_on();
dComIfGp_setPlayerStatus1(0, 0x4000000);
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
onEndResetFlg1(ERFLG1_UNK_8);
}
@@ -2061,7 +2040,7 @@ int daAlink_c::procCoGetItemInit() {
/* 8011AC28-8011B3F0 115568 07C8+00 1/0 0/0 0/0 .text procCoGetItem__9daAlink_cFv */
int daAlink_c::procCoGetItem() {
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
onEndResetFlg1(ERFLG1_UNK_8);
}
@@ -2088,14 +2067,14 @@ int daAlink_c::procCoGetItem() {
if (frameCtrl_p->getFrame() < field_0x3480) {
shape_angle.y =
current.angle.y -
- (field_0x3484 * (mProcVar3.field_0x300e.x * (frameCtrl_p->getFrame() - field_0x347c)));
+ (field_0x3484 * (mProcVar3.field_0x300e * (frameCtrl_p->getFrame() - field_0x347c)));
- if (mProcVar3.field_0x300e.y != 0 && checkWolf()) {
+ if (mProcVar4.field_0x3010 != 0 && checkWolf()) {
current.pos.x -= cM_ssin(current.angle.y) * 3.888889f;
current.pos.z -= cM_scos(current.angle.y) * 3.888889f;
}
} else {
- shape_angle.y = current.angle.y - mProcVar3.field_0x300e.x;
+ shape_angle.y = current.angle.y - mProcVar3.field_0x300e;
}
}
@@ -2169,14 +2148,14 @@ int daAlink_c::procCoGetItem() {
if (mProcVar1.field_0x300a == 0) {
mProcVar1.field_0x300a = 1;
- shape_angle.y = current.angle.y - mProcVar3.field_0x300e.x;
+ shape_angle.y = current.angle.y - mProcVar3.field_0x300e;
if (mDemo.getParam1() == 1) {
dComIfGp_evmng_cutEnd(field_0x3184);
}
} else {
shape_angle.y =
- current.angle.y - (mProcVar3.field_0x300e.x * (mProcVar1.field_0x300a + 7)) * (1.0f / 7.0f);
+ current.angle.y - (mProcVar3.field_0x300e * (mProcVar1.field_0x300a + 7)) * (1.0f / 7.0f);
}
}
@@ -2214,7 +2193,7 @@ int daAlink_c::procCoGetItem() {
return 1;
}
- if (mProcVar3.field_0x300e.y != 0 && checkTreasureRupeeReturn(mProcVar2.field_0x300c)) {
+ if (mProcVar4.field_0x3010 != 0 && checkTreasureRupeeReturn(mProcVar2.field_0x300c)) {
if (mProcVar2.field_0x300c == 0xED) {
field_0x32cc = 0x6A;
}
@@ -2319,15 +2298,15 @@ int daAlink_c::procDoorOpenInit() {
if (mDemo.getParam0() == 4) {
open_anm = ANM_DOOR_OPEN_ROLL;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.x = 1;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 1;
+ mProcVar4.field_0x3010 = 0;
} else if (mDemo.getParam0() == 5) {
open_anm = ANM_DOOR_OPEN_SLIDE;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.x = 1;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 1;
+ mProcVar4.field_0x3010 = 0;
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (mDemo.getParam0() & 1) {
open_anm = ANM_DOOR_OPEN_RIGHT;
@@ -2352,7 +2331,7 @@ int daAlink_c::procDoorOpenInit() {
field_0x34d4 = l_waitBaseAnime;
}
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
mProcVar2.field_0x300c = 0;
}
@@ -2363,7 +2342,7 @@ int daAlink_c::procDoorOpenInit() {
mLinkAcch.OnLineCheckNone();
field_0x3588 = l_waitBaseAnime;
field_0x3198 = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
return 1;
}
@@ -2373,15 +2352,15 @@ int daAlink_c::procDoorOpen() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
if (field_0x3198 == 0) {
- if (mProcVar2.field_0x300c == 0 && mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar2.field_0x300c == 0 && mProcVar4.field_0x3010 != 0) {
if (frameCtrl_p->getFrame() >= 9.0f && frameCtrl_p->getFrame() < field_0x347c) {
field_0x2f92 = 3;
} else {
field_0x2f92 = 4;
}
- } else if (frameCtrl_p->checkPass(18.0f) && mProcVar3.field_0x300e.x != 0) {
+ } else if (frameCtrl_p->checkPass(18.0f) && mProcVar3.field_0x300e != 0) {
voiceStart(Z2SE_AL_V_PUSH_ROCK);
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
}
@@ -2398,7 +2377,7 @@ int daAlink_c::procDoorOpen() {
setSingleAnimeBaseMorf(open_anm, 0.0f);
mProcVar0.field_0x3008 = 0;
field_0x2f99 = 5;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else {
mLinkAcch.ClrWallNone();
mLinkAcch.OffLineCheckNone();
@@ -2413,8 +2392,8 @@ int daAlink_c::procDoorOpen() {
}
} else if (field_0x3198 == 0) {
if (mProcVar2.field_0x300c == 0) {
- if (mProcVar3.field_0x300e.z == 0) {
- mProcVar3.field_0x300e.z = 1;
+ if (mProcVar5.field_0x3012 == 0) {
+ mProcVar5.field_0x3012 = 1;
} else {
field_0x2f99 = 5;
}
@@ -2610,9 +2589,9 @@ int daAlink_c::procCoDeadInit(int param_0) {
mDamageTimer = 0;
if (checkWolf()) {
- mProcVar3.field_0x300e.y = 2;
+ mProcVar4.field_0x3010 = 2;
} else {
- mProcVar3.field_0x300e.y = 2;
+ mProcVar4.field_0x3010 = 2;
}
setDeadRideSyncPos();
@@ -2681,14 +2660,14 @@ int daAlink_c::procCoDeadInit(int param_0) {
field_0x3478 = 1.0f;
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
mProcVar0.field_0x3008 = 0;
dComIfGp_setPlayerStatus0(0, 0x20000000);
mMsgClassID = 0;
setFootEffectProcType(4);
mProcVar2.field_0x300c = 0;
field_0x3080 = 0;
- mProcVar3.field_0x300e.z = 0x3F;
+ mProcVar5.field_0x3012 = 0x3F;
field_0x3198 = -1;
return 1;
}
@@ -2714,11 +2693,11 @@ int daAlink_c::procCoDead() {
}
if (!checkNoResetFlg2(FLG2_FORCE_GAMEOVER)) {
- mProcVar3.field_0x300e.x++;
- if (mProcVar3.field_0x300e.x == 2) {
+ mProcVar3.field_0x300e++;
+ if (mProcVar3.field_0x300e == 2) {
dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), 0);
- } else if (mProcVar3.field_0x300e.x > 10) {
- mProcVar3.field_0x300e.x = 10;
+ } else if (mProcVar3.field_0x300e > 10) {
+ mProcVar3.field_0x300e = 10;
}
if (!checkModeFlg(0x400)) {
@@ -2778,8 +2757,8 @@ int daAlink_c::procCoDead() {
(checkStageName("D_MN08C") && !dComIfGs_isEventBit(0x2880))))
{
var_r3_2 = 0;
- } else if (mProcVar3.field_0x300e.z != 0x3F) {
- var_r3_2 = mProcVar3.field_0x300e.z;
+ } else if (mProcVar5.field_0x3012 != 0x3F) {
+ var_r3_2 = mProcVar5.field_0x3012;
var_r30 = field_0x3198;
} else {
startRestartRoom(var_r31, 0xC9, 0, 1);
@@ -2802,7 +2781,7 @@ int daAlink_c::procCoLookAroundInit() {
return 0;
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (checkWolf()) {
setSingleAnimeWolfBase(WANM_ENTRANCE);
@@ -2816,7 +2795,7 @@ int daAlink_c::procCoLookAroundInit() {
} else {
setSingleAnimeBase(ANM_ENTRANCE);
field_0x3588 = l_waitBaseAnime;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
}
@@ -2837,7 +2816,7 @@ int daAlink_c::procCoLookAround() {
if (checkAnmEnd(frame_ctrl)) {
dComIfGp_evmng_cutEnd(field_0x3184);
- } else if (mProcVar3.field_0x300e.x != 0 && frame_ctrl->checkPass(5.0f)) {
+ } else if (mProcVar3.field_0x300e != 0 && frame_ctrl->checkPass(5.0f)) {
voiceStart(Z2SE_AL_V_ENTRANCE);
}
@@ -2972,7 +2951,7 @@ int daAlink_c::procHandPatInit() {
setOldRootQuaternion(0, -0x8000, 0);
shape_angle.y += 0x8000;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
@@ -2984,9 +2963,9 @@ int daAlink_c::procHandPat() {
if (checkAnmEnd(frameCtrl_p)) {
dComIfGp_evmng_cutEnd(field_0x3184);
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
}
} else {
@@ -3321,7 +3300,7 @@ int daAlink_c::procWolfSnowEscapeInit() {
field_0x3588 = l_wolfBaseAnime;
field_0x3478 = 0.14285715f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
mNormalSpeed = 30.0f;
return 1;
}
@@ -3330,7 +3309,7 @@ int daAlink_c::procWolfSnowEscapeInit() {
int daAlink_c::procWolfSnowEscape() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
dComIfGp_evmng_cutEnd(field_0x3184);
return 1;
}
@@ -3363,7 +3342,7 @@ int daAlink_c::procWolfSnowEscape() {
} else {
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, 3.0f);
field_0x2f99 = 0x30;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
} else if (frameCtrl_p->checkPass(12.0f)) {
mNormalSpeed = 0.0f;
@@ -3386,8 +3365,8 @@ int daAlink_c::procZoraMoveInit() {
setSpecialGravity(tmp_0, maxFallSpeed, 0);
deleteEquipItem(FALSE, TRUE);
- mProcVar3.field_0x300e.y = 5000;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar4.field_0x3010 = 5000;
+ mProcVar5.field_0x3012 = 0;
field_0x384c = (cXyz*)&l_boarBaseAnime;
return 1;
}
@@ -3452,18 +3431,18 @@ int daAlink_c::procTradeItemOutInit() {
mProcVar2.field_0x300c = 0;
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
dComIfGp_setPlayerStatus0(0, 0x10);
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
if (mDemo.getParam0() != 1) {
if (mDemo.getParam0() == 2) {
if (checkLetterItem(mDemo.getParam1())) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
} else {
if (checkLetterItem(dComIfGp_event_getPreItemNo())) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
}
}
@@ -3510,7 +3489,7 @@ int daAlink_c::procTradeItemOut() {
} else {
current.angle.y = shape_angle.y;
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
if (mDemo.getParam0() == 1) {
dComIfGp_evmng_cutEnd(field_0x3184);
} else {
@@ -3523,8 +3502,8 @@ int daAlink_c::procTradeItemOut() {
field_0x280c.setData(item_partner_p);
item_partner_p->show();
- if (mProcVar3.field_0x300e.y == 0) {
- mProcVar3.field_0x300e.y = 1;
+ if (mProcVar4.field_0x3010 == 0) {
+ mProcVar4.field_0x3010 = 1;
seStartOnlyReverb(Z2SE_AL_OPEN_LETTER);
}
@@ -3540,7 +3519,7 @@ int daAlink_c::procTradeItemOut() {
} else if (checkAnmEnd(mUnderFrameCtrl)) {
setSingleAnimeBase(ANM_TRADE_ITEM_WAIT);
onModeFlg(0x100);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
setTradeItemOutHand();
}
@@ -3570,7 +3549,7 @@ int daAlink_c::procNotUseItemInit(int param_0) {
mMsgClassID = -1;
field_0x3198 = param_0;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
current.angle.y = shape_angle.y;
field_0x3194 = 3;
@@ -3579,9 +3558,9 @@ int daAlink_c::procNotUseItemInit(int param_0) {
dComIfGp_setPlayerStatus1(0, 0x4000800);
if (checkLetterItem(param_0)) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
return 1;
}
@@ -3596,7 +3575,7 @@ int daAlink_c::procNotUseItem() {
mProcVar2.field_0x300c = 1;
}
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
daItemBase_c* item_partner_p = (daItemBase_c*)fopAcM_getItemEventPartner(this);
#ifdef DEBUG
if (item_partner_p != NULL && fopAcM_GetName(item_partner_p) != PROC_ITEM &&
@@ -3613,8 +3592,8 @@ int daAlink_c::procNotUseItem() {
field_0x280c.setData(item_partner_p);
item_partner_p->show();
- if (mProcVar3.field_0x300e.y == 0) {
- mProcVar3.field_0x300e.y = 1;
+ if (mProcVar4.field_0x3010 == 0) {
+ mProcVar4.field_0x3010 = 1;
seStartOnlyReverb(Z2SE_AL_OPEN_LETTER);
}
@@ -3628,7 +3607,7 @@ int daAlink_c::procNotUseItem() {
} else if (checkAnmEnd(mUnderFrameCtrl)) {
setSingleAnimeBase(ANM_TRADE_ITEM_WAIT);
onModeFlg(0x100);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
setTradeItemOutHand();
}
@@ -3815,7 +3794,7 @@ int daAlink_c::procMasterSwordPullInit() {
setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_PULL);
voiceStart(Z2SE_AL_V_MSTR_SW_PULLOUT);
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
return 1;
}
@@ -3830,9 +3809,9 @@ int daAlink_c::procMasterSwordPull() {
} else if (frame_ctrl->getFrame() >= 36.0f) {
field_0x2f93 = 10;
} else if (frame_ctrl->getFrame() >= 9.0f) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else if (frame_ctrl->getFrame() >= 1.0f) {
- mProcVar3.field_0x300e.y = 4;
+ mProcVar4.field_0x3010 = 4;
}
return 1;
@@ -3890,10 +3869,10 @@ int daAlink_c::procDungeonWarpInit() {
}
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
setSpecialGravity(0.0f, maxFallSpeed, 0);
- mProcVar3.field_0x300e.x = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 0;
+ mProcVar4.field_0x3010 = 0;
return 1;
}
@@ -3910,15 +3889,15 @@ int daAlink_c::procDungeonWarp() {
f32 sin = cM_ssin(mProcVar2.field_0x300c);
shape_angle.y += (s16)(14336.0f * sin);
- mProcVar3.field_0x300e.x = 8.0f * sin + 24.0f * (1.0f - scale.x);
+ mProcVar3.field_0x300e = 8.0f * sin + 24.0f * (1.0f - scale.x);
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
return 1;
} else {
if (mProcVar2.field_0x300c == 0x4000) {
- if (mProcVar3.field_0x300e.y == 0) {
+ if (mProcVar4.field_0x3010 == 0) {
dComIfGp_particle_set(0xA61, &current.pos, &tevStr, NULL, NULL);
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
cLib_addCalc(&scale.x, 0.0f, 0.5f, 0.4f, 0.005f);
@@ -3936,7 +3915,7 @@ int daAlink_c::procDungeonWarp() {
dMeter2Info_warpInProc();
}
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
}
current.pos.y += 5.0f;
field_0x2b98 = (1.0f - scale.y) * 100.0f;
@@ -3966,8 +3945,8 @@ int daAlink_c::procDungeonWarpSceneStartInit() {
}
mProcVar2.field_0x300c = 0x4000;
- mProcVar3.field_0x300e.x = 0x20;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 0x20;
+ mProcVar4.field_0x3010 = 0;
current.pos.y += 120.0f;
shape_angle.y += 0x7F7A;
@@ -3980,8 +3959,8 @@ int daAlink_c::procDungeonWarpSceneStartInit() {
/* 8011F460-8011F5D4 119DA0 0174+00 1/0 0/0 0/0 .text procDungeonWarpSceneStart__9daAlink_cFv */
int daAlink_c::procDungeonWarpSceneStart() {
- if (mProcVar3.field_0x300e.y == 0) {
- mProcVar3.field_0x300e.y = 1;
+ if (mProcVar4.field_0x3010 == 0) {
+ mProcVar4.field_0x3010 = 1;
seStartOnlyReverb(Z2SE_TKC_WARP_OUT);
}
@@ -4007,7 +3986,7 @@ int daAlink_c::procDungeonWarpSceneStart() {
f32 sin = cM_ssin(mProcVar2.field_0x300c);
shape_angle.y += (s16)(sin * 14336.0f);
- mProcVar3.field_0x300e.x = (sin * 8.0f) + ((1.0f - scale.x) * 24.0f);
+ mProcVar3.field_0x300e = (sin * 8.0f) + ((1.0f - scale.x) * 24.0f);
return 1;
}
@@ -4069,7 +4048,7 @@ void daAlink_c::dungeonReturnWarp() {
/* 8011F8B8-8011F9EC 11A1F8 0134+00 1/0 0/0 0/0 .text skipPortalObjWarp__9daAlink_cFv */
void daAlink_c::skipPortalObjWarp() {
- if (mProcID == PROC_WARP && mProcVar3.field_0x300e.x <= 0) {
+ if (mProcID == PROC_WARP && mProcVar3.field_0x300e <= 0) {
return;
}
@@ -4086,7 +4065,7 @@ void daAlink_c::skipPortalObjWarp() {
}
if (mProcID == PROC_WARP) {
- mProcVar3.field_0x300e.x = -1;
+ mProcVar3.field_0x300e = -1;
}
}
@@ -4163,9 +4142,9 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) {
field_0x3478 = 0.0f;
mProcVar2.field_0x300c = param_0;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
mProcVar1.field_0x300a = 0;
- mProcVar3.field_0x300e.y = 0xFF;
+ mProcVar4.field_0x3010 = 0xFF;
field_0x3488 = 1.0f;
if (mProcVar2.field_0x300c == 0) {
@@ -4230,7 +4209,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) {
if (checkWolf()) {
field_0x3480 = 3.5f;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x3488 = -1.0f;
} else {
field_0x3480 = 5.5f;
@@ -4247,7 +4226,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) {
kytag04_class* kytag04_p =
(kytag04_class*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchPortal, &current.pos);
if (kytag04_p != NULL) {
- mProcVar3.field_0x300e.y = kytag04_p->mNeedDropNum;
+ mProcVar4.field_0x3010 = kytag04_p->mNeedDropNum;
}
}
@@ -4255,7 +4234,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) {
seStartOnlyReverb(var_r29);
}
- mProcVar3.field_0x300e.x = param_1;
+ mProcVar3.field_0x300e = param_1;
warpModelTexScroll();
return 1;
}
@@ -4277,8 +4256,8 @@ int daAlink_c::procCoWarp() {
}
if (mDemo.getDemoMode() == 0x2D) {
- if (mProcVar3.field_0x300e.z == 0) {
- mProcVar3.field_0x300e.z = 1;
+ if (mProcVar5.field_0x3012 == 0) {
+ mProcVar5.field_0x3012 = 1;
}
if (checkWolf() && mProcVar2.field_0x300c != 0) {
@@ -4292,12 +4271,12 @@ int daAlink_c::procCoWarp() {
setEmitter(&field_0x3240[0], 0x9F3, &current.pos, &shape_angle);
}
- if (mProcVar3.field_0x300e.z != 0 && field_0x3488 < 0.0f) {
+ if (mProcVar5.field_0x3012 != 0 && field_0x3488 < 0.0f) {
seStartOnlyReverb(Z2SE_WOLF_WARP_OUT);
field_0x3488 = 1.0f;
}
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
if (mProcVar0.field_0x3008 != 0) {
mProcVar0.field_0x3008--;
} else if (warpModelTexScroll()) {
@@ -4305,7 +4284,7 @@ int daAlink_c::procCoWarp() {
if (mDemo.getDemoMode() == 0x2D) {
if (mProcVar1.field_0x300a != 0) {
if (field_0x3174 == 4) {
- dComIfGp_setNextStage(dComIfGp_getStartStageName(), mProcVar3.field_0x300e.y,
+ dComIfGp_setNextStage(dComIfGp_getStartStageName(), mProcVar4.field_0x3010,
fopAcM_GetRoomNo(this), -1, 0.0f, 5, 1, 0,
shape_angle.y, 1, 0);
changeOriginalDemo();
@@ -4321,7 +4300,7 @@ int daAlink_c::procCoWarp() {
} else {
return checkWaitAction();
}
- } else if (mProcVar3.field_0x300e.x != 0) {
+ } else if (mProcVar3.field_0x300e != 0) {
skipPortalObjWarp();
} else {
dComIfGp_evmng_cutEnd(field_0x3184);
diff --git a/src/d/actor/d_a_alink_effect.inc b/src/d/actor/d_a_alink_effect.inc
index aab3000f39..5c000c55b8 100644
--- a/src/d/actor/d_a_alink_effect.inc
+++ b/src/d/actor/d_a_alink_effect.inc
@@ -6,6 +6,8 @@
#include "d/actor/d_a_alink.h"
#include "d/d_com_inf_game.h"
#include "d/d_k_wmark.h"
+#include "JSystem/J2DGraph/J2DAnimation.h"
+#include "JSystem/J2DGraph/J2DScreen.h"
/* 80120580-80120634 11AEC0 00B4+00 21/21 0/0 0/0 .text
* setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz */
@@ -407,7 +409,7 @@ void daAlink_blur_c::traceBlur(cXyz const* param_0, cXyz const* param_1, s16 par
static u8 texObj[32];
/* 804506A4-804506A8 000124 0004+00 1/1 0/0 0/0 .sdata nColor0$42525 */
-SECTION_SDATA static u8 nColor0[4] = {
+static u8 nColor0[4] = {
0xFF,
0xFF,
0xFF,
diff --git a/src/d/actor/d_a_alink_grab.inc b/src/d/actor/d_a_alink_grab.inc
index ef32b93190..7790637416 100644
--- a/src/d/actor/d_a_alink_grab.inc
+++ b/src/d/actor/d_a_alink_grab.inc
@@ -1,5 +1,8 @@
#include "d/actor/d_a_alink.h"
#include "d/d_com_inf_game.h"
+#include "d/actor/d_a_obj_carry.h"
+#include "d/d_bg_w.h"
+#include "d/actor/d_a_cow.h"
/* 800E3830-800E3858 0DE170 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallA__FP10fopAc_ac_c */
static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) {
@@ -557,10 +560,10 @@ int daAlink_c::setPushPullKeepData(dBgW_Base::PushPullLabel i_label, int param_1
if (i_label != dBgW::PPLABEL_NONE || param_1) {
if (pp_actor->shape_angle.y != mProcVar2.field_0x300c) {
s16 var_r28 = pp_actor->shape_angle.y - mProcVar2.field_0x300c;
- mProcVar3.field_0x300e.x += var_r28;
+ mProcVar3.field_0x300e += var_r28;
- current.pos.x = field_0x37c8.x + field_0x347c * cM_ssin(mProcVar3.field_0x300e.x);
- current.pos.z = field_0x37c8.z + field_0x347c * cM_scos(mProcVar3.field_0x300e.x);
+ current.pos.x = field_0x37c8.x + field_0x347c * cM_ssin(mProcVar3.field_0x300e);
+ current.pos.z = field_0x37c8.z + field_0x347c * cM_scos(mProcVar3.field_0x300e);
shape_angle.y += var_r28;
current.angle.y += var_r28;
}
@@ -672,8 +675,8 @@ static fopAc_ac_c* daAlink_searchGoat(fopAc_ac_c* i_actor, void*) {
/* 800E91C4-800E9210 0E3B04 004C+00 1/0 0/0 0/0 .text cancelGoronThrowEvent__9daAlink_cFv
*/
void daAlink_c::cancelGoronThrowEvent() {
- if (mProcID == PROC_GOAT_CATCH && mProcVar3.field_0x300e.z == 0) {
- mProcVar3.field_0x300e.z = 1;
+ if (mProcID == PROC_GOAT_CATCH && mProcVar5.field_0x3012 == 0) {
+ mProcVar5.field_0x3012 = 1;
dComIfGp_event_reset();
}
}
@@ -708,7 +711,7 @@ int daAlink_c::procGoatMoveInit() {
field_0x280c.setData(goat_p);
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
deleteEquipItem(FALSE, FALSE);
return 1;
}
@@ -789,7 +792,7 @@ int daAlink_c::procGoronMoveInit() {
field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed;
setSingleAnimeBase(ANM_ATN_RIGHT);
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
diff --git a/src/d/actor/d_a_alink_guard.inc b/src/d/actor/d_a_alink_guard.inc
index 1808575ac3..da96d37b4e 100644
--- a/src/d/actor/d_a_alink_guard.inc
+++ b/src/d/actor/d_a_alink_guard.inc
@@ -246,7 +246,7 @@ void daAlink_c::setGuardSe(dCcD_GObjInf* i_objinf) {
}
/* 800DD1D4-800DD3E4 0D7B14 0210+00 1/1 0/0 0/0 .text setSmallGuard__9daAlink_cFP12dCcD_GObjInf */
-#ifdef NONMATCHING
+// NONMATCHING
void daAlink_c::setSmallGuard(dCcD_GObjInf* i_objinf) {
setUpperAnimeBase(0x16);
cXyz* dmg_vec = (cXyz*)getDamageVec(i_objinf);
@@ -264,11 +264,6 @@ void daAlink_c::setSmallGuard(dCcD_GObjInf* i_objinf) {
s16 min = -max;
mBodyAngle.x = cLib_minMaxLimit<s16>(cM_atan2s(dmg_vec->y, dmg_vec->absXZ()), min, max);
}
-#else
-void daAlink_c::setSmallGuard(dCcD_GObjInf* param_0) {
- // NONMATCHING
-}
-#endif
/* 800DD3E4-800DD894 0D7D24 04B0+00 1/1 0/0 0/0 .text
* procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf */
diff --git a/src/d/actor/d_a_alink_hang.inc b/src/d/actor/d_a_alink_hang.inc
index 16a1779897..fc2518b0fa 100644
--- a/src/d/actor/d_a_alink_hang.inc
+++ b/src/d/actor/d_a_alink_hang.inc
@@ -1013,10 +1013,10 @@ int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) {
speed.y = 0.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 0;
+ mProcVar4.field_0x3010 = 0;
mProcVar0.field_0x3008 = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x3080 = 0;
field_0x280c.setData(param_0);
@@ -1034,9 +1034,9 @@ int daAlink_c::procBossBodyHang() {
setJumpMode();
}
- if (mProcVar3.field_0x300e.x != 0 || !setBossBodyHangPos()) {
+ if (mProcVar3.field_0x300e != 0 || !setBossBodyHangPos()) {
if (field_0x32cc != 0) {
- if (mProcVar3.field_0x300e.x < 0) {
+ if (mProcVar3.field_0x300e < 0) {
return procBackJumpInit(0);
} else {
field_0x3102 = shape_angle.y;
@@ -1084,9 +1084,9 @@ int daAlink_c::procBossBodyHang() {
mProcVar2.field_0x300c = 0;
if (mEquipItem == 0x103) {
- mProcVar3.field_0x300e.y = 2;
+ mProcVar4.field_0x3010 = 2;
} else {
- mProcVar3.field_0x300e.y = 0xFE;
+ mProcVar4.field_0x3010 = 0xFE;
}
}
@@ -1105,16 +1105,16 @@ int daAlink_c::procBossBodyHang() {
}
field_0x3198 = 0x16E;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x3478 = 10000.0f;
field_0x347c = 61.0f;
setCutType(CUT_TYPE_FINISH_STAB);
mProcVar1.field_0x300a = 3;
} else {
setCutType(CUT_TYPE_NM_STAB);
- mProcVar3.field_0x300e.z++;
+ mProcVar5.field_0x3012++;
- if (mProcVar3.field_0x300e.z == 4) {
+ if (mProcVar5.field_0x3012 == 4) {
if (field_0x32cc != 0) {
setSingleAnimeBase(ANM_DRAGON_CUT_B);
} else {
@@ -1124,7 +1124,7 @@ int daAlink_c::procBossBodyHang() {
field_0x3198 = 0x16D;
field_0x3478 = 10000.0f;
field_0x347c = 12.0f;
- mProcVar3.field_0x300e.y = 2;
+ mProcVar4.field_0x3010 = 2;
mProcVar1.field_0x300a = 3;
} else {
if (field_0x32cc != 0) {
@@ -1136,7 +1136,7 @@ int daAlink_c::procBossBodyHang() {
field_0x3198 = 0x16C;
field_0x3478 = daAlinkHIO_cut_c0::m.mStabAnm.mCheckFrame;
field_0x347c = 10.0f;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
mProcVar1.field_0x300a = 1;
}
}
@@ -1174,11 +1174,11 @@ int daAlink_c::procBossBodyHang() {
}
if (frameCtrl->getFrame() >= 117.0f) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else if (frameCtrl->getFrame() >= 105.0f) {
- mProcVar3.field_0x300e.y = 0xFE;
+ mProcVar4.field_0x3010 = 0xFE;
} else {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
}
}
@@ -1404,7 +1404,7 @@ int daAlink_c::procLadderUpStartInit() {
field_0x37c8.z = field_0x34ec.z + var_f30 * 38.0f;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
return 1;
}
@@ -1443,7 +1443,7 @@ int daAlink_c::procLadderUpEndInit(int param_0) {
field_0x30a0 = -0x0800;
field_0x33f4 = -1.0f;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
dComIfGp_setPlayerStatus0(0, 0x2000000);
return 1;
}
@@ -1463,7 +1463,7 @@ int daAlink_c::procLadderUpEnd() {
{
if (frame_ctrl->getFrame() >= 23.0f) {
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else if (frame_ctrl->getFrame() >= 11.0f) {
field_0x30a0 = 0;
field_0x33f4 = 0.0f;
@@ -1514,7 +1514,7 @@ int daAlink_c::procLadderDownStartInit() {
field_0x37c8.z = field_0x34ec.z - var_f30 * 48.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
return 1;
}
@@ -1535,7 +1535,7 @@ int daAlink_c::procLadderDownStart() {
}
} else if (frame_ctrl->getFrame() >= 19.0f) {
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
return 1;
@@ -1555,7 +1555,7 @@ int daAlink_c::procLadderDownEndInit(int param_0) {
field_0x30a0 = 0x2800;
field_0x33f4 = 1.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
dComIfGp_setPlayerStatus0(0, 0x2000000);
return 1;
}
@@ -1645,7 +1645,7 @@ int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) {
mNormalSpeed = 0.0f;
speedF = 0.0f;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
dComIfGp_setPlayerStatus0(0, 0x2000000);
return 1;
}
@@ -2161,7 +2161,7 @@ int daAlink_c::procClimbUpStartInit(int param_0) {
}
field_0x2f99 = 2;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
field_0x37c8.set(l_waitBaseAnime.x, l_ladderAnmBaseTransY, l_waitBaseAnime.z);
J3DTransformInfo* trans_info = field_0x2060->getOldFrameTransInfo(0);
@@ -2181,7 +2181,7 @@ int daAlink_c::procClimbUpStartInit(int param_0) {
shape_angle.y = field_0x306e + 0x8000;
current.angle.y = shape_angle.y;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
setClimbShapeOffset();
return 1;
}
@@ -2196,7 +2196,7 @@ int daAlink_c::procClimbUpStart() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
field_0x2f99 = 2;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x3588 = (field_0x3588 * field_0x2060->getOldFrameRate()) +
(field_0x37c8 * (1.0f - field_0x2060->getOldFrameRate()));
@@ -2244,8 +2244,8 @@ int daAlink_c::procClimbDownStartInit(s16 param_0) {
field_0x3588 = l_waitBaseAnime;
field_0x33b0 = l_ladderAnmBaseTransY;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar4.field_0x3010 = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
@@ -2258,11 +2258,11 @@ int daAlink_c::procClimbDownStart() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
field_0x2f99 = 2;
} else {
field_0x2f99 = 0x50;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
if (field_0x33a8 < 0.2f) {
@@ -2334,7 +2334,7 @@ int daAlink_c::procClimbMoveUpDownInit(int param_0) {
mNormalSpeed = 0.0f;
speedF = 0.0f;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
voiceStart(Z2SE_AL_V_CLIMB_WALL);
dComIfGp_setPlayerStatus0(0, 8);
@@ -2421,7 +2421,7 @@ int daAlink_c::procClimbMoveSideInit() {
speed.y = 0.0f;
mNormalSpeed = 0.0f;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
field_0x3478 = M_PI / (f32)mUnderFrameCtrl[0].getEnd();
field_0x347c = current.pos.y + 150.0f;
@@ -2498,7 +2498,7 @@ int daAlink_c::procClimbWaitInit(int param_0, int param_1) {
field_0x2f99 = 10;
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
if (param_0) {
if (field_0x2f98 == 0) {
@@ -2771,8 +2771,33 @@ int daAlink_c::procRoofHangStart() {
/* 80100BB4-80100D38 0FB4F4 0184+00 4/4 0/0 0/0 .text procRoofHangWaitInit__9daAlink_cFi
*/
int daAlink_c::procRoofHangWaitInit(int param_0) {
- // NONMATCHING
- return 0;
+ if (!commonProcInitNotSameProc(PROC_ROOF_HANG_WAIT)) {
+ return 0;
+ }
+
+ if (field_0x2f98 == 0 || field_0x2f98 == 1) {
+ if (field_0x2f98 == 0) {
+ current.pos.x += 25.0f * cM_ssin(this->shape_angle.y);
+ current.pos.z += 25.0f * cM_scos(this->shape_angle.y);
+
+ field_0x2060->getOldFrameTransInfo(0)->mTranslate.z -= 25.0f;
+ } else {
+ current.pos.x -= 25.0f * cM_ssin(this->shape_angle.y);
+ current.pos.z -= 25.0f * cM_scos(this->shape_angle.y);
+
+ field_0x2060->getOldFrameTransInfo(0)->mTranslate.z += 25.0f;
+ }
+ }
+
+ setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.field_0x1C, daAlinkHIO_roofHang_c0::m.field_0x20);
+
+ current.angle.y = shape_angle.y;
+ setSpecialGravity(0.0f, maxFallSpeed, 0);
+ mNormalSpeed = 0.0f;
+ speed.y = 0.0f;
+ dComIfGp_setPlayerStatus1(0, 0x100000);
+ mProcVar0.field_0x3008 = param_0;
+ return 1;
}
/* 80100D38-80100DA4 0FB678 006C+00 1/0 0/0 0/0 .text procRoofHangWait__9daAlink_cFv */
diff --git a/src/d/actor/d_a_alink_hook.inc b/src/d/actor/d_a_alink_hook.inc
index 000ec63031..719b7c4abc 100644
--- a/src/d/actor/d_a_alink_hook.inc
+++ b/src/d/actor/d_a_alink_hook.inc
@@ -3,7 +3,11 @@
* Player Clawshot action handling
*/
+#include "d/actor/d_a_alink.h"
#include "d/actor/d_a_b_dr.h"
+#include "d/actor/d_a_obj_swhang.h"
+#include "d/actor/d_a_obj_chandelier.h"
+#include "JSystem/J3DGraphBase/J3DMaterial.h"
enum {
HS_MODE_NONE_e,
@@ -14,9 +18,195 @@ enum {
};
/* 80107900-801083C8 102240 0AC8+00 1/0 0/0 0/0 .text draw__Q29daAlink_c14hsChainShape_cFv */
-extern "C" void draw__Q29daAlink_c14hsChainShape_cFv() {
- // asm void daAlink_c::hsChainShape_c::draw() {
- // NONMATCHING
+void daAlink_c::hsChainShape_c::draw() {
+ daAlink_c* temp_r3 = (daAlink_c*)getUserArea();
+ J3DModelData* sp60 = temp_r3->getItemModelData();
+ J3DMaterial* sp5C = sp60->getMaterialNodePointer(0);
+ daAlink_hsChainLight_c* temp_r29 = (daAlink_hsChainLight_c*)&temp_r3->tevStr;
+
+ j3dSys.setVtxPos(sp60->getVtxPosArray());
+ j3dSys.setVtxNrm(sp60->getVtxNrmArray());
+ j3dSys.setVtxCol(sp60->getVtxColorArray(0));
+ J3DShape::resetVcdVatCache();
+
+ sp5C->loadSharedDL();
+ sp5C->getShape()->loadPreDrawSetting();
+
+ GXColor sp58;
+ sp58.r = temp_r29->mColorC0.r;
+ sp58.g = temp_r29->mColorC0.g;
+ sp58.b = temp_r29->mColorC0.b;
+ sp58.a = temp_r29->mColorC0.a;
+
+ GXSetChanAmbColor(GX_COLOR0A0, sp58);
+ GXSetChanMatColor(GX_COLOR0A0, g_whiteColor);
+
+ dKy_setLight_again();
+ dKy_GxFog_tevstr_set(temp_r29);
+ GXLoadLightObjImm(temp_r29->getLightObj(), GX_LIGHT0);
+
+ if (temp_r3->checkIronBallEquip()) {
+ cXyz* sp54 = temp_r3->getIronBallChainPos();
+ csXyz* sp50 = temp_r3->getIronBallChainAngle();
+ sp54++;
+ sp50++;
+
+ for (int i = 0; i < 101; i++, sp54++, sp50++) {
+ mDoMtx_stack_c::copy(j3dSys.getViewMtx());
+ mDoMtx_stack_c::transM(*sp54);
+ mDoMtx_stack_c::ZXYrotM(*sp50);
+ mDoMtx_stack_c::scaleM(2.0f, 2.0f, 2.0f);
+
+ GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+ GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+
+ sp5C->getShape()->simpleDrawCache();
+ }
+
+ cXyz spC8;
+ cXyz spBC;
+
+ for (int i = 0; i < 2; i++) {
+ cXyz* sp48;
+ csXyz* sp44;
+
+ s16 sp14;
+ s16 sp12;
+ s16 sp10;
+ s16 spE;
+
+ if (i == 0) {
+ sp48 = temp_r3->getIronBallChainPos() + temp_r3->getIronBallHandChainNum();
+ spC8 = temp_r3->getIronBallChainHandRootPos() - *sp48;
+
+ sp44 = temp_r3->getIronBallChainAngle() + temp_r3->getIronBallHandChainNum();
+ spE = 0x3000;
+ } else {
+ sp48 = temp_r3->getIronBallChainPos();
+ mDoMtx_stack_c::transS(*(temp_r3->getIronBallChainPos() + 1));
+ mDoMtx_stack_c::ZXYrotM(*(temp_r3->getIronBallChainAngle() + 1));
+ mDoMtx_stack_c::multVec(&l_ironBallChainVec, &spC8);
+ spC8 -= *sp48;
+
+ sp44 = temp_r3->getIronBallChainAngle() + 1;
+ spE = -0x3000;
+ }
+
+ sp10 = sp44->y;
+ sp14 = sp44->z + spE;
+ f32 var_f29 = spC8.abs();
+
+ spBC = *sp48;
+
+ if (var_f29 > 5.0f) {
+ if (spC8.absXZ() >= 1.0f) {
+ sp10 = spC8.atan2sX_Z();
+ }
+
+ sp12 = spC8.atan2sY_XZ();
+ cXyz spB0 = spC8 * (10.0f / var_f29);
+
+ while (var_f29 > 5.0f) {
+ mDoMtx_stack_c::copy(j3dSys.getViewMtx());
+ mDoMtx_stack_c::transM(spBC);
+ mDoMtx_stack_c::ZXYrotM(sp12, sp10, sp14);
+ mDoMtx_stack_c::scaleM(2.0f, 2.0f, 2.0f);
+
+ GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+ GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+
+ sp5C->getShape()->simpleDrawCache();
+
+ spBC += spB0;
+ var_f29 -= 10.0f;
+ sp14 += spE;
+ }
+ }
+ }
+ } else {
+ const cXyz& sp3C = temp_r3->getHsChainRootPos();
+ const cXyz& sp38 = temp_r3->getHsChainTopPos();
+ cXyz spA4 = sp3C - sp38;
+
+ f32 temp_f31 = spA4.abs();
+ f32 var_f30;
+ cXyz sp98;
+ csXyz sp6C;
+
+ if (temp_f31 > 1.0f) {
+ spA4 *= (1.0f / temp_f31);
+ var_f30 = 0.0f;
+
+ sp98 = sp38;
+ sp6C.set(spA4.atan2sY_XZ(), spA4.atan2sX_Z(), 0);
+ sp98 = sp38;
+
+ csXyz sp64(sp6C);
+
+ f32 sp34 = M_PI / temp_f31;
+
+ f32 temp_f27;
+ f32 var_f26 = 0.0f;
+ f32 var_f28;
+
+ var_f28 = 2.5f * temp_r3->getHookshotStopTime();
+ if (temp_r3->getHookshotStopTime() & 1) {
+ var_f28 *= -1.0f;
+ }
+
+ while (temp_f31 > var_f30) {
+ temp_f27 = var_f28 * cM_fsin(sp34 * var_f30);
+ s16 spC = cM_atan2s(temp_f27 - var_f26, 5.0f);
+ sp64.x = sp6C.x + spC;
+
+ mDoMtx_stack_c::transS(sp98);
+ mDoMtx_stack_c::ZXYrotM(sp64);
+
+ static Vec hsVec = {0.0f, 0.0f, 5.0f};
+ mDoMtx_stack_c::multVec(&hsVec, &sp98);
+
+ mDoMtx_stack_c::revConcat(j3dSys.getViewMtx());
+
+ GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+ GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+
+ sp5C->getShape()->simpleDrawCache();
+
+ sp64.z += 0x3000;
+
+ var_f26 = temp_f27;
+ var_f30 += fabsf(cM_scos(spC)) * 5.0f;
+ }
+ }
+
+ const cXyz& sp30 = temp_r3->getHsSubChainRootPos();
+ const cXyz& sp2C = temp_r3->getHsSubChainTopPos();
+ spA4 = sp30 - sp2C;
+
+ f32 temp_f1 = spA4.abs();
+ if (temp_f1 > 1.0f) {
+ spA4 *= (1.0f / temp_f1);
+ var_f30 = 0.0f;
+
+ sp98 = sp2C;
+ sp6C.set(spA4.atan2sY_XZ(), spA4.atan2sX_Z(), 0);
+
+ while (temp_f1 > var_f30) {
+ mDoMtx_stack_c::copy(j3dSys.getViewMtx());
+ mDoMtx_stack_c::transM(sp98);
+ mDoMtx_stack_c::ZXYrotM(sp6C);
+
+ GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+ GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
+
+ sp5C->getShape()->simpleDrawCache();
+
+ sp98 += spA4 * 5.0f;
+ sp6C.z += 0x3000;
+ var_f30 += 5.0f;
+ }
+ }
+ }
}
/* 801083C8-8010859C 102D08 01D4+00 1/1 0/0 0/0 .text
@@ -46,7 +236,6 @@ void daAlink_c::hookshotAtHitCallBack(dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tg
}
}
-
/* 8010859C-801085BC 102EDC 0020+00 1/1 0/0 0/0 .text
* daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */
static void daAlink_hookshotAtHitCallBack(fopAc_ac_c* i_atActor, dCcD_GObjInf* i_atObjInf,
@@ -228,7 +417,7 @@ void daAlink_c::setHookshotModel() {
field_0x0710 = initModel(mHeldItemModel->getModelData(), 0x80000, 0);
field_0x0714 = initModel(mpHookTipModel->getModelData(), 0x80000, 0);
- mpHookKusariModelData = loadAramBmd(0x317, 0x1000);
+ mpItemModelData = loadAramBmd(0x317, 0x1000);
mpHookChain = new hsChainShape_c();
mpHookSound = new Z2SoundObjSimple();
@@ -546,7 +735,6 @@ int daAlink_c::checkNextActionHookshot() {
/* 801097A0-80109890 1040E0 00F0+00 2/2 0/0 0/0 .text setHookshotReturnEnd__9daAlink_cFv
*/
-#ifdef NONMATCHING
void daAlink_c::setHookshotReturnEnd() {
resetHookshotMode();
cancelItemUseQuake(0);
@@ -563,17 +751,58 @@ void daAlink_c::setHookshotReturnEnd() {
mFastShotTime = 0;
}
-#else
-void daAlink_c::setHookshotReturnEnd() {
- // NONMATCHING
-}
-#endif
/* 80109890-80109AAC 1041D0 021C+00 3/3 0/0 0/0 .text setHookshotHangMoveBGCollect__9daAlink_cFv
*/
int daAlink_c::setHookshotHangMoveBGCollect() {
- // NONMATCHING
- return 0;
+ cBgS_PolyInfo* poly;
+ if (mItemMode == 4) {
+ poly = &mPolyInfo3;
+ } else {
+ poly = &mPolyInfo2;
+ }
+
+ fopAc_ac_c* carry_actor = mCargoCarryAcKeep.getActor();
+
+ if (carry_actor != NULL) {
+ cXyz sp28(mIronBallBgChkPos);
+ mDoMtx_stack_c::transS(carry_actor->current.pos);
+ mDoMtx_stack_c::ZXYrotM(carry_actor->shape_angle);
+ mDoMtx_stack_c::multVec(&field_0x37c8, &mIronBallBgChkPos);
+
+ current.pos += mIronBallBgChkPos - sp28;
+ shape_angle.y += (s16)(mProcVar0.field_0x3008 - carry_actor->shape_angle.y);
+ current.angle.y = shape_angle.y;
+ mProcVar0.field_0x3008 = carry_actor->shape_angle.y;
+ } else if (dComIfG_Bgsp().ChkPolySafe(*poly)) {
+ if (!checkHookshotStickBG(*poly)) {
+ return 0;
+ }
+
+ if (dComIfG_Bgsp().ChkMoveBG(*poly)) {
+ dComIfG_Bgsp().MoveBgTransPos(*poly, 1, &current.pos, &current.angle, &shape_angle);
+
+ csXyz sp8(0, field_0x3022, 0);
+ dComIfG_Bgsp().MoveBgTransPos(*poly, 1, &mIronBallBgChkPos, NULL, &sp8);
+ field_0x3022 = sp8.y;
+
+ s16 movebg_name = getMoveBGActorName(*poly, 1);
+ if (movebg_name == PROC_Obj_SwHang) {
+ daObjSwHang_c* var_r26 = (daObjSwHang_c*)dComIfG_Bgsp().GetActorPointer(*poly);
+ var_r26->setHangPlayer();
+
+ f32 prev_y = mIronBallBgChkPos.y;
+ mIronBallBgChkPos.y = var_r26->getHangPos().y;
+ current.pos.y += mIronBallBgChkPos.y - prev_y;
+ } else if (movebg_name == PROC_Obj_Chandelier) {
+ ((daObjChandelier_c*)dComIfG_Bgsp().GetActorPointer(*poly))->moveHookOn();
+ }
+ }
+ } else {
+ return 0;
+ }
+
+ return 1;
}
/* 80109AAC-80109BDC 1043EC 0130+00 2/2 0/0 0/0 .text setHookshotTopPosFly__9daAlink_cFv
@@ -612,8 +841,7 @@ static u8 lit_29722[12];
static Vec l_hookSnowSandHitScale;
/* 80109BDC-8010B2DC 10451C 1700+00 1/1 0/0 0/0 .text setHookshotPos__9daAlink_cFv */
-// almost, just stack order
-#ifdef NONMATCHING
+// NONMATCHING - almost, just cXyz stack order
void daAlink_c::setHookshotPos() {
mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c0));
mDoMtx_stack_c::transM(-2.0f, 1.0f, 1.0f);
@@ -744,13 +972,13 @@ void daAlink_c::setHookshotPos() {
if (checkHookshotWait() || mItemMode == 2) {
csXyz* var_r28;
if (mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HOOKSHOT_ROOF_SHOOT) {
- var_r28 = &mProcVar3.field_0x300e.x;
+ var_r28 = (csXyz*)&mProcVar3.field_0x300e;
} else {
var_r28 = &mBodyAngle;
}
if (mProcID == PROC_HOOKSHOT_WALL_SHOOT) {
- field_0x301e = mProcVar3.field_0x300e.y;
+ field_0x301e = mProcVar4.field_0x3010;
} else {
field_0x301e = (s16)(shape_angle.y + mBodyAngle.y);
}
@@ -807,12 +1035,12 @@ void daAlink_c::setHookshotPos() {
mHookshotTopPos = field_0x381c;
fopAc_ac_c* targetAc_p = mHookTargetAcKeep.getActor();
- if (targetAc_p != NULL && (targetAc_p->mStatus & 0x280000)) {
+ if (targetAc_p != NULL && (targetAc_p->actor_status & 0x280000)) {
mHookTargetAcKeep.setData(targetAc_p);
mIronBallCenterPos = mHookshotTopPos - targetAc_p->current.pos;
setHookshotCatchNow();
- if (targetAc_p->mStatus & 0x200000) {
+ if (targetAc_p->actor_status & 0x200000) {
mItemMode = 5;
field_0x316c.set(field_0x301c, field_0x301e, 0);
mDoMtx_stack_c::ZrotS(-targetAc_p->shape_angle.z);
@@ -1003,11 +1231,6 @@ void daAlink_c::setHookshotPos() {
field_0x0714->setBaseTRMtx(mDoMtx_stack_c::get());
field_0x0714->calc();
}
-#else
-void daAlink_c::setHookshotPos() {
- // NONMATCHING
-}
-#endif
/* 8010B2DC-8010B35C 105C1C 0080+00 2/2 0/0 0/0 .text setHookshotRoofWaitAnime__9daAlink_cFv */
void daAlink_c::setHookshotRoofWaitAnime() {
@@ -1124,10 +1347,10 @@ void daAlink_c::initHookshotRoofWaitActor(fopAc_ac_c* i_actor) {
mProcVar0.field_0x3008 = i_actor->shape_angle.y;
fopAcM_setHookCarryNow(i_actor);
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else {
mCargoCarryAcKeep.clearData();
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
}
@@ -1184,7 +1407,7 @@ int daAlink_c::checkLandHookshotHang() {
/* 8010B96C-8010BA6C 1062AC 0100+00 3/3 0/0 0/0 .text commonHookshotRoofWait__9daAlink_cFv */
int daAlink_c::commonHookshotRoofWait() {
setJumpMode();
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
mCargoCarryAcKeep.setActor();
fopAc_ac_c* carryAc_p = mCargoCarryAcKeep.getActor();
@@ -1349,7 +1572,7 @@ int daAlink_c::procHookshotFlyInit() {
mProcVar1.field_0x300a = 4;
field_0x2f99 = 0x50;
mProcVar2.field_0x300c = mItemMode;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
procHookshotFly();
return 1;
@@ -1400,9 +1623,9 @@ int daAlink_c::procHookshotFly() {
current.pos += field_0x37d4;
if (checkSetItemTrigger(W_HOOKSHOT) != 0) {
- mProcVar3.field_0x300e.z = 1;
- } else if (mProcVar3.field_0x300e.z != 0 && !itemButton()) {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 1;
+ } else if (mProcVar5.field_0x3012 != 0 && !itemButton()) {
+ mProcVar5.field_0x3012 = 0;
}
if (mItemMode != 5 && mItemMode != HS_MODE_FLY_e) {
@@ -1463,7 +1686,7 @@ int daAlink_c::procHookshotFly() {
procFallInit(1, 5.0f);
field_0x2f99 = 0x70;
} else if (targetAc_name == PROC_E_PH || targetAc_name == PROC_B_DR || var_r29) {
- procHookshotRoofWaitInit(1, targetAc_p, mProcVar3.field_0x300e.z);
+ procHookshotRoofWaitInit(1, targetAc_p, mProcVar5.field_0x3012);
} else if (var_r28 && dComIfG_Bgsp().GetMonkeyBarsCode(mPolyInfo2)) {
cXyz sp88;
mDoMtx_stack_c::ZXYrotS(field_0x301c, field_0x301e, 0);
@@ -1472,9 +1695,9 @@ int daAlink_c::procHookshotFly() {
procRoofHangStartInit(mPolyInfo2, sp88, 0);
} else if (var_r28 && var_r27) {
- procHookshotRoofWaitInit(1, NULL, mProcVar3.field_0x300e.z);
+ procHookshotRoofWaitInit(1, NULL, mProcVar5.field_0x3012);
} else if (var_r28 && field_0x2f91 != 3 && fabsf(poly.mNormal.y) < 0.05f) {
- procHookshotWallWaitInit(1, poly.mNormal.atan2sX_Z(), mProcVar3.field_0x300e.z);
+ procHookshotWallWaitInit(1, poly.mNormal.atan2sX_Z(), mProcVar5.field_0x3012);
} else {
procFallInit(1, 5.0f);
field_0x2f99 = 0x70;
@@ -1542,7 +1765,7 @@ int daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int pa
}
field_0x2b98 = 6.5f;
- mProcVar3.field_0x300e.z = param_2;
+ mProcVar5.field_0x3012 = param_2;
dComIfGp_setPlayerStatus1(0, 0x10000);
field_0x814.SetWeight(255);
@@ -1589,21 +1812,21 @@ int daAlink_c::procHookshotRoofWait() {
if (mProcVar2.field_0x300c == 0) {
if (checkSetItemTrigger(W_HOOKSHOT)) {
- mProcVar3.field_0x300e.z = 1;
- } else if (mProcVar3.field_0x300e.z != 0 && !itemButton()) {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 1;
+ } else if (mProcVar5.field_0x3012 != 0 && !itemButton()) {
+ mProcVar5.field_0x3012 = 0;
}
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
if (frameCtrl_p->checkAnmEnd() ||
- ((checkInputOnR() || mProcVar3.field_0x300e.z != 0 || checkHookshotRoofLv7Boss()) &&
+ ((checkInputOnR() || mProcVar5.field_0x3012 != 0 || checkHookshotRoofLv7Boss()) &&
frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mRoofHangAnm.mCheckFrame))
{
setHookshotRoofWaitAnime();
mProcVar2.field_0x300c = 1;
}
} else if (!checkHookshotRoofLv7Boss()) {
- if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar3.field_0x300e.z != 0) {
+ if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar5.field_0x3012 != 0) {
return procHookshotRoofShootInit(mCargoCarryAcKeep.getActor());
}
hookshotRoofTurn();
@@ -1640,7 +1863,7 @@ int daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) {
field_0x814.SetWeight(255);
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = mBodyAngle.x;
+ mProcVar3.field_0x300e = mBodyAngle.x;
return 1;
}
@@ -1668,7 +1891,7 @@ int daAlink_c::procHookshotRoofShoot() {
}
if (!checkUpperItemActionHookshot()) {
- mBodyAngle.x = mProcVar3.field_0x300e.x;
+ mBodyAngle.x = mProcVar3.field_0x300e;
if (!checkAttentionLock() && mFastShotTime == 0) {
if (checkHookshotWait()) {
@@ -1703,7 +1926,7 @@ int daAlink_c::procHookshotRoofShoot() {
mProcVar2.field_0x300c = 0;
}
- mProcVar3.field_0x300e.x = mBodyAngle.x;
+ mProcVar3.field_0x300e = mBodyAngle.x;
mBodyAngle.x = 0;
}
@@ -1817,7 +2040,7 @@ int daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) {
setHookshotHangMoveBGCollect();
}
- mProcVar3.field_0x300e.z = param_2;
+ mProcVar5.field_0x3012 = param_2;
return 1;
}
@@ -1866,20 +2089,20 @@ int daAlink_c::procHookshotWallWait() {
if (mProcVar2.field_0x300c == 0) {
if (checkSetItemTrigger(W_HOOKSHOT)) {
- mProcVar3.field_0x300e.z = 1;
- } else if (mProcVar3.field_0x300e.z != 0 && !itemButton()) {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 1;
+ } else if (mProcVar5.field_0x3012 != 0 && !itemButton()) {
+ mProcVar5.field_0x3012 = 0;
}
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
if (frameCtrl_p->checkAnmEnd() ||
- ((checkInputOnR() || mProcVar3.field_0x300e.z != 0) &&
+ ((checkInputOnR() || mProcVar5.field_0x3012 != 0) &&
frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mWallHangAnm.mCheckFrame))
{
setHookshotWallWaitAnime();
mProcVar2.field_0x300c = 1;
}
- } else if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar3.field_0x300e.z != 0) {
+ } else if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar5.field_0x3012 != 0) {
return procHookshotWallShootInit();
}
@@ -1909,9 +2132,9 @@ int daAlink_c::procHookshotWallShootInit() {
dComIfGp_setPlayerStatus0(0, 0x4000);
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = mBodyAngle.x;
- mProcVar3.field_0x300e.y = shape_angle.y;
- field_0x310c = mProcVar3.field_0x300e.y;
+ mProcVar3.field_0x300e = mBodyAngle.x;
+ mProcVar4.field_0x3010 = shape_angle.y;
+ field_0x310c = mProcVar4.field_0x3010;
setHookshotReadyMaterial();
return 1;
}
@@ -1938,8 +2161,8 @@ int daAlink_c::procHookshotWallShoot() {
BOOL var_r31 = false;
if (!checkUpperItemActionHookshot()) {
s16 old_angle = shape_angle.y;
- mBodyAngle.x = mProcVar3.field_0x300e.x;
- shape_angle.y = mProcVar3.field_0x300e.y;
+ mBodyAngle.x = mProcVar3.field_0x300e;
+ shape_angle.y = mProcVar4.field_0x3010;
if (!checkAttentionLock() && mFastShotTime == 0) {
if (checkHookshotWait()) {
@@ -1986,10 +2209,10 @@ int daAlink_c::procHookshotWallShoot() {
setHookshotSight();
}
- mProcVar3.field_0x300e.x = mBodyAngle.x;
+ mProcVar3.field_0x300e = mBodyAngle.x;
mBodyAngle.x = 0;
field_0x310c = shape_angle.y;
- mProcVar3.field_0x300e.y = shape_angle.y;
+ mProcVar4.field_0x3010 = shape_angle.y;
shape_angle.y = old_angle;
}
diff --git a/src/d/actor/d_a_alink_horse.inc b/src/d/actor/d_a_alink_horse.inc
index 03809d6078..6f4b4a45d2 100644
--- a/src/d/actor/d_a_alink_horse.inc
+++ b/src/d/actor/d_a_alink_horse.inc
@@ -8,6 +8,7 @@
#include "d/actor/d_a_hozelda.h"
#include "d/actor/d_a_e_wb.h"
#include "d/actor/d_a_obj_iceleaf.h"
+#include "d/actor/d_a_spinner.h"
/* 800EC724-800EC758 0E7064 0034+00 3/3 0/0 0/0 .text daAlink_searchBoar__FP10fopAc_ac_cPv */
static void* daAlink_searchBoar(fopAc_ac_c* i_actor, void*) {
@@ -80,8 +81,7 @@ int daAlink_c::getReinRideDirection() {
/* 800EC8F8-800ECA3C 0E7238 0144+00 1/1 0/0 0/0 .text checkReinRideBgCheck__9daAlink_cFv
*/
-// issue with sp38 member setting
-#ifdef NONMATCHING
+// NONMATCHING - issue with sp38 member setting
int daAlink_c::checkReinRideBgCheck() {
int direction = getReinRideDirection();
@@ -129,12 +129,6 @@ int daAlink_c::checkReinRideBgCheck() {
return 1;
}
-#else
-int daAlink_c::checkReinRideBgCheck() {
- // NONMATCHING
- return 0;
-}
-#endif
/* 800ECA3C-800ECAAC 0E737C 0070+00 3/3 0/0 0/0 .text commonInitForceRideRein__9daAlink_cFv */
void daAlink_c::commonInitForceRideRein() {
@@ -439,7 +433,7 @@ int daAlink_c::setSyncBoarRunPos() {
shape_angle.z = sp28.x;
current.angle.y = shape_angle.y;
- if (mProcID == PROC_BOAR_RUN && mProcVar3.field_0x300e.x != 0) {
+ if (mProcID == PROC_BOAR_RUN && mProcVar3.field_0x300e != 0) {
mUnderFrameCtrl[0].setFrame(e_wb_p->nowAnimeFrame());
getNowAnmPackUnder(UNDER_0)->setFrame(e_wb_p->nowAnimeFrame());
}
@@ -678,8 +672,7 @@ int daAlink_c::setSyncHorse(int param_0) {
/* 800EE64C-800EE918 0E8F8C 02CC+00 1/1 0/0 0/0 .text setSyncBoar__9daAlink_cFi */
-// regalloc, equivalent?
-#ifdef NONMATCHING
+// NONMATCHING - regalloc, equivalent? NONMATCHING
int daAlink_c::setSyncBoar(int param_0) {
e_wb_class* e_wb_p = static_cast<e_wb_class*>(mRideAcKeep.getActor());
BOOL mode_1 = checkModeFlg(1);
@@ -740,12 +733,6 @@ int daAlink_c::setSyncBoar(int param_0) {
return 1;
}
-#else
-int daAlink_c::setSyncBoar(int param_0) {
- // NONMATCHING
- return 0;
-}
-#endif
/* 800EE918-800EEAE8 0E9258 01D0+00 12/12 0/0 0/0 .text setSyncRide__9daAlink_cFi */
int daAlink_c::setSyncRide(int param_0) {
@@ -838,8 +825,7 @@ int daAlink_c::setRideSubjectAngle(s16 param_0) {
}
/* 800EF050-800EF0E8 0E9990 0098+00 7/7 0/0 0/0 .text setBodyAngleRideReadyAnime__9daAlink_cFv */
-// missing mr, probably issue with cLib_minMaxLimit implementation
-#ifdef NONMATCHING
+// NONMATCHING - missing mr, probably issue with cLib_minMaxLimit implementation
void daAlink_c::setBodyAngleRideReadyAnime() {
setBodyAngleXReadyAnime(0);
@@ -854,11 +840,6 @@ void daAlink_c::setBodyAngleRideReadyAnime() {
daPy_addCalcShort(&mBodyAngle.y, angle, 4, 0xC00, 0x180);
}
-#else
-void daAlink_c::setBodyAngleRideReadyAnime() {
- // NONMATCHING
-}
-#endif
/* 800EF0E8-800EF198 0E9A28 00B0+00 1/1 0/0 0/0 .text
* checkHorseGetOffWallCheck__9daAlink_cFP4cXyzP4cXyzs */
@@ -995,20 +976,13 @@ int daAlink_c::checkNextActionHorse() {
}
/* 800EF598-800EF6B0 0E9ED8 0118+00 2/2 0/0 0/0 .text checkHorseGetOff__9daAlink_cFv */
-// regalloc
-#ifdef NONMATCHING
+// NONMATCHING - regalloc
BOOL daAlink_c::checkHorseGetOff() {
return (checkHorseRide() && dComIfGp_getHorseActor() != NULL &&
dComIfGp_getHorseActor()->checkGetOff()) ||
(checkBoarRide() && static_cast<e_wb_class*>(mRideAcKeep.getActor()) != NULL &&
static_cast<e_wb_class*>(mRideAcKeep.getActor())->checkGetOff());
}
-#else
-BOOL daAlink_c::checkHorseGetOff() {
- // NONMATCHING
- return 0;
-}
-#endif
/* 800EF6B0-800EF884 0E9FF0 01D4+00 3/3 0/0 0/0 .text checkHorseGetOffAndSetDoStatus__9daAlink_cFv
*/
@@ -1248,7 +1222,7 @@ int daAlink_c::procHorseCutTurnInit() {
setSyncRide(1);
field_0x3478 = daAlinkHIO_hoCutCharge_c0::m.field_0x50;
setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, field_0x3478 * 0.5f, 200.0f);
- mProcVar3.field_0x300e.y = daAlinkHIO_hoCutCharge_c0::m.field_0x3E;
+ mProcVar4.field_0x3010 = daAlinkHIO_hoCutCharge_c0::m.field_0x3E;
voiceStart(Z2SE_AL_V_KAITEN);
setCutWaterDropEffect();
setHorseZeldaDamage();
@@ -1629,12 +1603,12 @@ int daAlink_c::procHorseRunInit() {
setSingleAnimeBaseMorf(ANM_HORSE_TAME_WAIT_B, -1.0f);
setSyncHorsePos();
field_0x2fab = 0;
- mProcVar3.field_0x300e.y = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar4.field_0x3010 = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x3478 = 1000.0f - cM_rndF(500.0f);
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 30;
+ mProcVar3.field_0x300e = 30;
field_0x3004 = 0;
field_0x3002 = 0;
mDoAud_changeSubBgmStatus(2);
@@ -1729,11 +1703,11 @@ int daAlink_c::procBoarRunInit() {
resetUpperAnime(UPPER_2, -1.0f);
resetUnderAnime(UNDER_2, -1.0f);
- mProcVar3.field_0x300e.y = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar4.field_0x3010 = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x3478 = 3000.0f - cM_rndF(1500.0f);
setSingleAnimeBaseSpeed(ANM_HORSE_TAME_WAIT_A_TO_B, 1.0f, 4.0f);
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
setSyncBoarPos();
mProcVar2.field_0x300c = 0;
diff --git a/src/d/actor/d_a_alink_hvyboots.inc b/src/d/actor/d_a_alink_hvyboots.inc
index 39a1bd2400..4d50830a3a 100644
--- a/src/d/actor/d_a_alink_hvyboots.inc
+++ b/src/d/actor/d_a_alink_hvyboots.inc
@@ -3,6 +3,9 @@
* Player Iron Boots action handling
*/
+#include "d/actor/d_a_alink.h"
+#include "d/actor/d_a_tag_magne.h"
+
/* 800E23FC-800E243C 0DCD3C 0040+00 6/6 0/0 0/0 .text concatMagneBootMtx__9daAlink_cFv */
void daAlink_c::concatMagneBootMtx() {
if (checkMagneBootsOn()) {
diff --git a/src/d/actor/d_a_alink_iceleaf.inc b/src/d/actor/d_a_alink_iceleaf.inc
index 96e3f96889..bd1071a296 100644
--- a/src/d/actor/d_a_alink_iceleaf.inc
+++ b/src/d/actor/d_a_alink_iceleaf.inc
@@ -8,7 +8,7 @@
#include "SSystem/SComponent/c_math.h"
/* 80105A84-80105A98 1003C4 0014+00 1/1 0/0 0/0 .text daAlink_searchIceLeaf__FP10fopAc_ac_cPv */
-static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* param_1) {
+static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* i_data) {
if (fopAcM_GetName(i_actor) == PROC_Obj_IceLeaf) {
return i_actor;
}
@@ -18,14 +18,14 @@ static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* param_1) {
/* 80105A98-80105ABC 1003D8 0024+00 3/3 0/0 0/0 .text checkSnowCode__9daAlink_cCFv */
bool daAlink_c::checkSnowCode() const {
- return field_0x2fa8 == 6 || field_0x2fa8 == 5;
+ return mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW;
}
/* 80105ABC-80105B10 1003FC 0054+00 1/1 0/0 1/1 .text
* checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo */
bool daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& i_poly) {
int code = dComIfG_Bgsp().GetSpecialCode(i_poly);
- return code == 6 || code == 5;
+ return code == dBgW_SPCODE_HEAVY_SNOW || code == dBgW_SPCODE_LIGHT_SNOW;
}
/* 80105B10-80105B58 100450 0048+00 2/2 0/0 0/0 .text checkBoardRestart__9daAlink_cFv */
@@ -34,7 +34,7 @@ bool daAlink_c::checkBoardRestart() {
}
/* 80105B58-80106534 100498 09DC+00 7/7 0/0 0/0 .text boardCommon__9daAlink_cFi */
-int daAlink_c::boardCommon(int param_0) {
+int daAlink_c::boardCommon(BOOL i_canMove) {
int sp18 = abs(shape_angle.x);
int var_r25 = abs(shape_angle.z);
if (sp18 > var_r25) {
@@ -72,17 +72,17 @@ int daAlink_c::boardCommon(int param_0) {
s16 var_r27;
if (mLinkAcch.i_ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
- cM3dGPla sp1C;
- dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp1C);
+ cM3dGPla poly;
+ dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &poly);
- mProcVar3.field_0x300e.x = cM_atan2s(sp1C.mNormal.absXZ(), sp1C.mNormal.y);
- if (mProcVar3.field_0x300e.x == 0) {
+ mProcVar3.field_0x300e = cM_atan2s(poly.mNormal.absXZ(), poly.mNormal.y);
+ if (mProcVar3.field_0x300e == 0) {
var_r27 = shape_angle.y;
} else {
- var_r27 = sp1C.mNormal.atan2sX_Z();
+ var_r27 = poly.mNormal.atan2sX_Z();
}
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
var_r27 = shape_angle.y;
}
@@ -95,18 +95,18 @@ int daAlink_c::boardCommon(int param_0) {
int temp_r26 = abs(mStickAngle);
s16 var_r24;
- if (checkInputOnR() && param_0) {
+ if (checkInputOnR() && i_canMove) {
var_r24 = 1024.0f * field_0x33ac * cM_ssin(mStickAngle);
if (temp_r26 > 0x6000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT) {
f32 temp_f29 = field_0x33ac * cM_scos((0x8000 - temp_r26) * 2);
- f32 var_f28 = temp_f29;
+ f32 speed_step = temp_f29;
- if (var_f28 < 0.15f) {
- var_f28 = 0.15f;
+ if (speed_step < 0.15f) {
+ speed_step = 0.15f;
}
- cLib_addCalc(&mNormalSpeed, 0.0f, 0.5f, var_f28, 0.1f);
+ cLib_addCalc(&mNormalSpeed, 0.0f, 0.5f, speed_step, 0.1f);
if (mNormalSpeed > 5.0f) {
var_f30 = temp_f29;
@@ -115,11 +115,11 @@ int daAlink_c::boardCommon(int param_0) {
}
if (checkZeroSpeedF() && temp_r26 > 0x7000 && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2)) {
- if (mProcVar3.field_0x300e.x <= 910.0f && checkUnderMove0BckNoArc(ANM_RIDE_WAIT) && mLinkAcch.i_ChkGroundHit()) {
+ if (mProcVar3.field_0x300e <= 910.0f && checkUnderMove0BckNoArc(ANM_RIDE_WAIT) && mLinkAcch.i_ChkGroundHit()) {
return procBoardTurnInit();
}
}
- } else if (temp_r26 < 0x2000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && (mProcVar3.field_0x300e.x < field_0x3122) && (checkUnderMove0BckNoArc(ANM_RIDE_WAIT) || checkUnderMove0BckNoArc(ANM_RIDE_FRONT))) {
+ } else if (temp_r26 < 0x2000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && (mProcVar3.field_0x300e < field_0x3122) && (checkUnderMove0BckNoArc(ANM_RIDE_WAIT) || checkUnderMove0BckNoArc(ANM_RIDE_FRONT))) {
if (mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) {
return procBoardRowInit();
}
@@ -128,25 +128,25 @@ int daAlink_c::boardCommon(int param_0) {
var_r24 = 0;
}
- u32 sp10 = Z2SE_AL_SNOBO_RIDE;
+ u32 sound = Z2SE_AL_SNOBO_RIDE;
if (field_0x2f8c == 0xB) {
f32 spC = mNowAnmPackUnder[1].getRatio();
cLib_addCalc(&spC, var_f30, 0.5f, 0.35f, 0.1f);
setDoubleAnimeBlendRatio(spC);
if (spC > 0.8f) {
- sp10 = Z2SE_AL_SNOBO_BREAK;
+ sound = Z2SE_AL_SNOBO_BREAK;
}
}
if (!checkModeFlg(2)) {
- seStartOnlyReverbLevel(sp10);
+ seStartOnlyReverbLevel(sound);
}
if (mProcID == PROC_BOARD_TURN) {
mProcVar2.field_0x300c = 0;
} else {
- cLib_addCalcAngleS(&mProcVar2.field_0x300c, var_r24, 0x1E, 0x800, 0x10);
+ cLib_addCalcAngleS(&mProcVar2.field_0x300c, var_r24, 30, 0x800, 0x10);
if (!checkModeFlg(2)) {
current.angle.y += mProcVar2.field_0x300c;
@@ -155,7 +155,7 @@ int daAlink_c::boardCommon(int param_0) {
shape_angle.y = current.angle.y;
}
- cLib_addCalcAngleS(&field_0x2fee, -var_r24 * 6, 0xA, 0x800, 0x40);
+ cLib_addCalcAngleS(&field_0x2fee, -var_r24 * 6, 10, 0x800, 0x40);
shape_angle.z = field_0x2fee >> 1;
mBodyAngle.z = shape_angle.z;
@@ -164,8 +164,8 @@ int daAlink_c::boardCommon(int param_0) {
offModeFlg(2);
speed.y = 0.0f;
} else {
- if (mProcVar3.field_0x300e.x > 910.0f && (mProcID != PROC_BOARD_ROW || !(mProcVar3.field_0x300e.x < 2000.0f))) {
- f32 var_f25 = (f32)mProcVar3.field_0x300e.x / (f32)field_0x3122;
+ if (mProcVar3.field_0x300e > 910.0f && (mProcID != PROC_BOARD_ROW || !(mProcVar3.field_0x300e < 2000.0f))) {
+ f32 var_f25 = (f32)mProcVar3.field_0x300e / (f32)field_0x3122;
if (var_f25 > 1.0f) {
var_f25 = 1.0f;
}
@@ -200,13 +200,13 @@ int daAlink_c::boardCommon(int param_0) {
}
}
- if (checkInputOnR() && param_0 && temp_r26 < 0x2800) {
+ if (checkInputOnR() && i_canMove && temp_r26 < 0x2800) {
if (checkUnderMove0BckNoArc(ANM_RIDE_WAIT)) {
- setCommonBoardAnime(1);
+ setCommonBoardAnime(TRUE);
}
} else {
if (checkUnderMove0BckNoArc(ANM_RIDE_FRONT)) {
- setCommonBoardAnime(0);
+ setCommonBoardAnime(FALSE);
}
if (mNormalSpeed > (0.7f * field_0x594)) {
@@ -220,12 +220,12 @@ int daAlink_c::boardCommon(int param_0) {
field_0x2f9d = 4;
}
} else if (!checkModeFlg(2)) {
- f32 var_f24 = mNormalSpeed * -cM_ssin(shape_angle.x);
- if (var_f24 < 0.0f) {
- var_f24 = 0.0f;
+ f32 jump_speed = mNormalSpeed * -cM_ssin(shape_angle.x);
+ if (jump_speed < 0.0f) {
+ jump_speed = 0.0f;
}
- return procBoardJumpInit(var_f24, 0);
+ return procBoardJumpInit(jump_speed, FALSE);
} else {
cLib_addCalcAngleS(&shape_angle.x, 0, 4, 100, 10);
}
@@ -235,9 +235,9 @@ int daAlink_c::boardCommon(int param_0) {
/* 80106534-8010658C 100E74 0058+00 6/6 0/0 0/0 .text setCommonBoardAnime__9daAlink_cFi
*/
-void daAlink_c::setCommonBoardAnime(int param_0) {
+void daAlink_c::setCommonBoardAnime(BOOL i_is_ride_front) {
setDoubleAnime(0.0f, daAlinkHIO_board_c0::m.mStandAnmSpeed, 1.0f,
- param_0 != 0 ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP,
+ i_is_ride_front ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP,
11, daAlinkHIO_board_c0::m.mStandInterpolation);
}
@@ -347,7 +347,7 @@ int daAlink_c::procBoardRide() {
/* 80106A38-80106BCC 101378 0194+00 13/13 0/0 0/0 .text
* procBoardWaitInit__9daAlink_cFP10fopAc_ac_c */
-int daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) {
+int daAlink_c::procBoardWaitInit(fopAc_ac_c* i_board) {
if (mEquipItem != 0x103) {
deleteEquipItem(TRUE, TRUE);
} else {
@@ -360,110 +360,110 @@ int daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) {
resetUpperAnime(UPPER_2, -1.0f);
}
- if (checkModeFlg(2) && param_0 == NULL) {
- return procBoardJumpInit(0.0f, 1);
+ if (checkModeFlg(2) && i_board == NULL) {
+ return procBoardJumpInit(0.0f, TRUE);
}
- BOOL temp_r28 = mProcID == PROC_BOARD_RIDE;
+ BOOL prev_ride = mProcID == PROC_BOARD_RIDE;
if (!commonProcInitNotSameProc(PROC_BOARD_WAIT)) {
return 0;
}
current.angle.y = shape_angle.y;
- if (param_0 != NULL) {
- mRideAcKeep.setData(param_0);
- ((daObjIceLeaf_c*)param_0)->onRide();
+ if (i_board != NULL) {
+ mRideAcKeep.setData(i_board);
+ ((daObjIceLeaf_c*)i_board)->onRide();
- if (temp_r28 != 0) {
- f32 var_f31 = mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed;
- if (var_f31 > 1.0f) {
- var_f31 = 1.0f;
+ if (prev_ride) {
+ f32 speed_ratio = mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed;
+ if (speed_ratio > 1.0f) {
+ speed_ratio = 1.0f;
}
- mNormalSpeed = daAlinkHIO_board_c0::m.mStartMinSpeed + (daAlinkHIO_board_c0::m.mStartAddSpeed * var_f31);
+ mNormalSpeed = daAlinkHIO_board_c0::m.mStartMinSpeed + (daAlinkHIO_board_c0::m.mStartAddSpeed * speed_ratio);
} else {
mNormalSpeed = 0.0f;
}
field_0x594 = daAlinkHIO_move_c0::m.mMinWalkRate;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
- setCommonBoardAnime(0);
+ mProcVar3.field_0x300e = 0;
+ setCommonBoardAnime(FALSE);
}
mRideStatus = 4;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
mProcVar1.field_0x300a = 0;
return 1;
}
/* 80106BCC-80106E88 10150C 02BC+00 1/0 0/0 0/0 .text procBoardWait__9daAlink_cFv */
int daAlink_c::procBoardWait() {
- if (boardCommon(1)) {
+ if (boardCommon(TRUE)) {
return 1;
}
if (checkAnmEnd(&mUnderFrameCtrl[0]) && !checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) {
- setCommonBoardAnime(0);
+ setCommonBoardAnime(FALSE);
}
if (!checkNextActionBoard()) {
if (mEquipItem == 0x103 && swordButton()) {
- if (mProcVar1.field_0x300a == 0) {
+ if (mProcVar1.mBoardSwordChargeTime == 0) {
setSingleAnimeBase(ANM_RIDE_CUT_TURN_CHARGE);
}
- mProcVar1.field_0x300a++;
+ mProcVar1.mBoardSwordChargeTime++;
- if (mProcVar1.field_0x300a == daAlinkHIO_cut_c0::m.mNormalSwingDuration) {
+ if (mProcVar1.mBoardSwordChargeTime == daAlinkHIO_cut_c0::m.mNormalSwingDuration) {
setSwordVoiceSe(Z2SE_AL_V_TAME);
}
if (!checkAnmEnd(&mUnderFrameCtrl[0])) {
- mProcVar1.field_0x300a = 1;
+ mProcVar1.mBoardSwordChargeTime = 1;
} else {
simpleAnmPlay(m_nSwordBtk);
- if (mProcVar1.field_0x300a >= 14.0f) {
- mProcVar1.field_0x300a = 0x18;
+ if (mProcVar1.mBoardSwordChargeTime >= 14.0f) {
+ mProcVar1.mBoardSwordChargeTime = 24;
}
}
- } else if (mProcVar1.field_0x300a != 0) {
- if (mProcVar1.field_0x300a >= 14.0f) {
+ } else if (mProcVar1.mBoardSwordChargeTime != 0) {
+ if (mProcVar1.mBoardSwordChargeTime >= 14.0f) {
return procBoardCutTurnInit();
}
return procBoardCutInit();
- } else if (mProcVar3.field_0x300e.z == 0) {
+ } else if (mProcVar5.field_0x3012 == 0) {
if (!checkModeFlg(2) && mProcID != PROC_BOARD_ROW) {
setDoStatus(0xA);
if (doButton()) {
- f32 var_f31;
+ f32 blend_ratio;
if (field_0x2f8c == 0xB) {
- var_f31 = mNowAnmPackUnder[1].getRatio();
+ blend_ratio = mNowAnmPackUnder[1].getRatio();
} else {
- var_f31 = 0.0f;
+ blend_ratio = 0.0f;
}
setDoubleAnime(0.0f, daAlinkHIO_board_c0::m.mSitAnmSpeed, 1.0f, ANM_RIDE_CROUCH, ANM_RIDE_STOP, 0xB, daAlinkHIO_board_c0::m.mSitInterpolation);
- setDoubleAnimeBlendRatio(var_f31);
- mProcVar3.field_0x300e.z = 1;
+ setDoubleAnimeBlendRatio(blend_ratio);
+ mProcVar5.field_0x3012 = 1;
}
}
- } else if (mProcVar3.field_0x300e.z != 0) {
+ } else if (mProcVar5.field_0x3012 != 0) {
if (mNormalSpeed > 15.0f) {
setDoStatus(0x19);
}
if (!doButton()) {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
if (mNormalSpeed > 15.0f) {
- procBoardJumpInit(mNormalSpeed, 0);
+ procBoardJumpInit(mNormalSpeed, FALSE);
} else {
f32 temp_f30 = mNowAnmPackUnder[1].getRatio();
- setCommonBoardAnime(0);
+ setCommonBoardAnime(FALSE);
setDoubleAnimeBlendRatio(temp_f30);
}
}
@@ -479,33 +479,33 @@ int daAlink_c::procBoardRowInit() {
setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), daAlinkHIO_board_c0::m.mPushInterpolation);
onResetFlg1(RFLG1_UNK_40);
mProcVar0.field_0x3008 = 4;
- mProcVar3.field_0x300e.y = 1;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar4.field_0x3010 = 1;
+ mProcVar5.field_0x3012 = 0;
return 1;
}
/* 80106F00-80107060 101840 0160+00 1/0 0/0 0/0 .text procBoardRow__9daAlink_cFv */
int daAlink_c::procBoardRow() {
- if (boardCommon(1)) {
+ if (boardCommon(TRUE)) {
return 1;
}
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
onResetFlg1(RFLG1_UNK_40);
mProcVar0.field_0x3008 = 4;
}
if (!checkNextActionBoard()) {
- daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0];
+ daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0];
- if (temp_r29->checkPass(0.0f)) {
- if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && mProcVar3.field_0x300e.x < field_0x3122 && mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) {
- mProcVar3.field_0x300e.z = 0;
+ if (frame_ctrl->checkPass(0.0f)) {
+ if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && mProcVar3.field_0x300e < field_0x3122 && mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) {
+ mProcVar5.field_0x3012 = 0;
} else {
- setCommonBoardAnime(0);
+ setCommonBoardAnime(FALSE);
procBoardWaitInit(NULL);
}
- } else if (temp_r29->checkPass(7.0f)) {
+ } else if (frame_ctrl->checkPass(7.0f)) {
mNormalSpeed += daAlinkHIO_board_c0::m.mPushAccel;
if (mNormalSpeed > daAlinkHIO_board_c0::m.mMaxPushSpeed) {
@@ -523,21 +523,21 @@ int daAlink_c::procBoardTurnInit() {
setSingleAnime(ANM_RIDE_JUMP, 0.0f, 1.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, 3.0f);
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.y = shape_angle.y + 0x8000;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar4.field_0x3010 = shape_angle.y + 0x8000;
+ mProcVar5.field_0x3012 = 0;
mProcVar1.field_0x300a = 0;
return 1;
}
/* 801070DC-80107218 101A1C 013C+00 1/0 0/0 0/0 .text procBoardTurn__9daAlink_cFv */
int daAlink_c::procBoardTurn() {
- if (boardCommon(0)) {
+ if (boardCommon(FALSE)) {
return 1;
}
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
if (field_0x2060->getOldFrameRate() < 0.01f) {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
setSingleAnime(ANM_RIDE_JUMP, 1.5f, 1.5f + mUnderFrameCtrl[0].getStart(), daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f);
}
} else if (mProcVar1.field_0x300a == 0) {
@@ -547,7 +547,7 @@ int daAlink_c::procBoardTurn() {
mProcVar1.field_0x300a = 1;
}
} else {
- cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 5, 0x1B58, 0x7D0);
+ cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 5, 0x1B58, 0x7D0);
current.angle.y = shape_angle.y;
if (!checkModeFlg(2)) {
@@ -562,28 +562,28 @@ int daAlink_c::procBoardTurn() {
}
/* 80107218-80107300 101B58 00E8+00 4/4 0/0 0/0 .text procBoardJumpInit__9daAlink_cFfi */
-int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
+int daAlink_c::procBoardJumpInit(f32 i_jump_speed, BOOL i_no_speed_set) {
commonProcInit(PROC_BOARD_JUMP);
mProcVar0.field_0x3008 = 0;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
setSingleAnime(ANM_RIDE_JUMP, 0.0f,
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
- if (param_1 == 0) {
- speed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
+ if (!i_no_speed_set) {
+ speed.y = cLib_minMaxLimit(i_jump_speed, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
}
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
seStartOnlyReverb(Z2SE_AL_SNOBO_JUMP);
return 1;
}
/* 80107300-801073D0 101C40 00D0+00 1/0 0/0 0/0 .text procBoardJump__9daAlink_cFv */
int daAlink_c::procBoardJump() {
- if (boardCommon(1)) {
+ if (boardCommon(TRUE)) {
return 1;
}
@@ -591,12 +591,12 @@ int daAlink_c::procBoardJump() {
if (!checkModeFlg(2)) {
setBoardLandAnime();
procBoardWaitInit(NULL);
- } else if (mProcVar3.field_0x300e.z != 0 && mProcVar3.field_0x300e.y == 0 && field_0x2060->getOldFrameRate() < 0.0099999998f) {
+ } else if (mProcVar5.field_0x3012 != 0 && mProcVar4.field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.0099999998f) {
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed,
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
-1.0f);
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
}
@@ -607,7 +607,7 @@ int daAlink_c::procBoardJump() {
int daAlink_c::procBoardSubjectivityInit() {
commonProcBoardInit(PROC_BOARD_SUBJECTIVITY);
setSubjectMode();
- setCommonBoardAnime(0);
+ setCommonBoardAnime(FALSE);
return 1;
}
@@ -619,7 +619,7 @@ int daAlink_c::procBoardSubjectivity() {
s16 old_shape_angle = shape_angle.y;
s16 old_angle = current.angle.y;
- if (boardCommon(0)) {
+ if (boardCommon(FALSE)) {
return 1;
}
@@ -638,23 +638,23 @@ int daAlink_c::procBoardSubjectivity() {
int daAlink_c::procBoardCutInit() {
commonProcBoardInit(PROC_BOARD_CUT);
- bool var_r31 = false;
+ bool cut_charge = false;
if (checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) {
if (mUnderFrameCtrl[0].getFrame() > daAlinkHIO_cut_c0::m.mNormalSwingDuration) {
- var_r31 = true;
+ cut_charge = true;
}
}
- setCommonBoardAnime(0);
- setCutDash(1, var_r31);
- mProcVar3.field_0x300e.z = 0;
+ setCommonBoardAnime(FALSE);
+ setCutDash(1, cut_charge);
+ mProcVar5.field_0x3012 = 0;
return 1;
}
/* 8010755C-801075D4 101E9C 0078+00 1/0 0/0 0/0 .text procBoardCut__9daAlink_cFv */
int daAlink_c::procBoardCut() {
- if (boardCommon(1)) {
+ if (boardCommon(TRUE)) {
return 1;
}
@@ -685,7 +685,7 @@ int daAlink_c::procBoardCutTurnInit() {
field_0x3198 = 0;
}
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
resetCombo(1);
field_0x3478 = daAlinkHIO_cutTurn_c0::m.mAttackRadius;
@@ -693,20 +693,20 @@ int daAlink_c::procBoardCutTurnInit() {
initCutTurnAt(field_0x347c, 3);
mProcVar1.field_0x300a = 4;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
voiceStart(Z2SE_AL_V_KAITEN);
return 1;
}
/* 80107744-80107900 102084 01BC+00 1/0 0/0 0/0 .text procBoardCutTurn__9daAlink_cFv */
int daAlink_c::procBoardCutTurn() {
- if (boardCommon(1)) {
+ if (boardCommon(TRUE)) {
return 1;
}
- daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0];
+ daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0];
- if (temp_r30->getFrame() >= 4.0f && temp_r30->getFrame() < 14.0f) {
+ if (frame_ctrl->getFrame() >= 4.0f && frame_ctrl->getFrame() < 14.0f) {
if (!checkNoResetFlg0(FLG0_UNK_40)) {
seStartSwordCut(Z2SE_AL_KAITENGIRI);
}
@@ -716,7 +716,7 @@ int daAlink_c::procBoardCutTurn() {
field_0xFB8.SetR(field_0x347c);
onResetFlg1(RFLG1_UNK_40);
} else {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
if (!checkModeFlg(2)) {
@@ -724,7 +724,7 @@ int daAlink_c::procBoardCutTurn() {
setBoardLandAnime();
procBoardWaitInit(NULL);
} else {
- if (temp_r30->getFrame() >= 3.0f) {
+ if (frame_ctrl->getFrame() >= 3.0f) {
speed.y = mNormalSpeed * -cM_ssin(shape_angle.x);
if (speed.y < daAlinkHIO_board_c0::m.mSpinMinJumpSpeedY) {
@@ -740,8 +740,8 @@ int daAlink_c::procBoardCutTurn() {
}
} else {
field_0x3198 = 1;
- if (checkAnmEnd(temp_r30)) {
- procBoardJumpInit(0.0f, 1);
+ if (checkAnmEnd(frame_ctrl)) {
+ procBoardJumpInit(0.0f, TRUE);
}
}
diff --git a/src/d/actor/d_a_alink_ironball.inc b/src/d/actor/d_a_alink_ironball.inc
index 24179f8c41..c455495438 100644
--- a/src/d/actor/d_a_alink_ironball.inc
+++ b/src/d/actor/d_a_alink_ironball.inc
@@ -106,7 +106,7 @@ void daAlink_c::setIronBallModel() {
JKRHeap* prev_heap = setItemHeap();
mHeldItemModel = initModelEnv(loadAramBmd(0x311, 0x2800), 0);
- mpHookKusariModelData = loadAramBmd(0x317, 0x1000);
+ mpItemModelData = loadAramBmd(0x317, 0x1000);
mpHookChain = new hsChainShape_c();
mIronBallChainPos = new cXyz[102];
diff --git a/src/d/actor/d_a_alink_kandelaar.inc b/src/d/actor/d_a_alink_kandelaar.inc
index 61d03cb1b5..8dfa8abe94 100644
--- a/src/d/actor/d_a_alink_kandelaar.inc
+++ b/src/d/actor/d_a_alink_kandelaar.inc
@@ -8,6 +8,7 @@
#include "d/actor/d_a_e_sm2.h"
#include "d/actor/d_a_tag_ss_drink.h"
#include "m_Do/m_Do_lib.h"
+#include "SSystem/SComponent/c_math.h"
/* 80110654-80110668 10AF94 0014+00 1/1 0/0 0/0 .text daAlink_searchTagKandelaar__FP10fopAc_ac_cPv
*/
@@ -107,8 +108,47 @@ bool daAlink_c::checkKandelaarSwing(int param_0) const {
}
/* 801108EC-80110BEC 10B22C 0300+00 1/1 0/0 0/0 .text kandelaarModelCallBack__9daAlink_cFv */
-void daAlink_c::kandelaarModelCallBack() {
- // NONMATCHING
+// NONMATCHING - regalloc from cLib_minMaxLimit
+int daAlink_c::kandelaarModelCallBack() {
+ cXyz sp44;
+ mDoMtx_multVecZero(J3DSys::mCurrentMtx, &sp44);
+
+ field_0x3630 = field_0x3624;
+ field_0x3624 = mKandelaarFlamePos;
+
+ cXyz sp38 = (mKandelaarFlamePos - sp44) + field_0x3618;
+ sp38.y -= 3.0f;
+
+ cXyz sp2C;
+ mDoMtx_multVec(J3DSys::mCurrentMtx, &cXyz::BaseZ, &sp2C);
+
+ s16 var_r29 = sp2C.atan2sX_Z();
+ mDoMtx_stack_c::YrotS(-var_r29);
+ mDoMtx_stack_c::multVec(&sp38, &sp38);
+
+ s16 var_r28 = cLib_minMaxLimit<s16>(cM_atan2s(-sp38.z, -sp38.y), -0x1800, 0x1800);
+ s16 var_r27 = cLib_minMaxLimit<s16>(cM_atan2s(sp38.x, JMAFastSqrt((sp38.y * sp38.y) + (sp38.z * sp38.z))), -0x1800, 0x1800);
+
+ mDoMtx_stack_c::transS(sp44);
+ if (mProcID != PROC_OPEN_TREASURE && (mProcID != PROC_GET_ITEM || mProcVar4.field_0x3010 == 0)) {
+ mDoMtx_stack_c::ZXYrotM(var_r28, var_r29, var_r27);
+ }
+
+ mDoMtx_stack_c::multVec(&kandelaarOffset, &mKandelaarFlamePos);
+
+ field_0x3618 = (mKandelaarFlamePos - field_0x3624) * 0.9f;
+
+ if (!checkEndResetFlg1(ERFLG1_UNK_8)) {
+ f32 temp_f31 = JMAFastSqrt((J3DSys::mCurrentMtx[0][0] * J3DSys::mCurrentMtx[0][0]) + (J3DSys::mCurrentMtx[1][0] * J3DSys::mCurrentMtx[1][0]) + (J3DSys::mCurrentMtx[2][0] * J3DSys::mCurrentMtx[2][0]));
+ mDoMtx_stack_c::transS(J3DSys::mCurrentMtx[0][3], J3DSys::mCurrentMtx[1][3], J3DSys::mCurrentMtx[2][3]);
+ mDoMtx_stack_c::ZXYrotM(var_r28, var_r29, var_r27);
+ mDoMtx_stack_c::scaleM(temp_f31, temp_f31, temp_f31);
+
+ mpKanteraModel->setAnmMtx(1, mDoMtx_stack_c::get());
+ cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
+ }
+
+ return 1;
}
/* 80110BEC-80110C28 10B52C 003C+00 1/1 0/0 0/0 .text daAlink_kandelaarModelCallBack__FP8J3DJointi
@@ -220,7 +260,7 @@ void daAlink_c::setKandelaarModel() {
void daAlink_c::resetOilBottleModel() {
deleteEquipItem(FALSE, TRUE);
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
setKandelaarModel();
mEquipItem = KANTERA;
}
@@ -231,9 +271,9 @@ void daAlink_c::resetOilBottleModel() {
/* 80110FE0-801110B8 10B920 00D8+00 3/3 0/0 0/0 .text commonKandelaarPourInit__9daAlink_cFv */
void daAlink_c::commonKandelaarPourInit() {
if (checkNoResetFlg2(FLG2_UNK_1)) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
keepItemData();
diff --git a/src/d/actor/d_a_alink_link.inc b/src/d/actor/d_a_alink_link.inc
index 257f50552d..5072d6e53a 100644
--- a/src/d/actor/d_a_alink_link.inc
+++ b/src/d/actor/d_a_alink_link.inc
@@ -14,21 +14,21 @@ int daAlink_c::procPreActionUnequipInit(int i_procAfter, fopAc_ac_c* param_1) {
mNormalSpeed = 0.0f;
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
allUnequip(0);
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
if (param_1 != NULL) {
field_0x280c.setData(param_1);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
if (fopAcM_GetName(param_1) == PROC_Tag_Lv8Gate) {
if (mEquipItem == KANTERA) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else if (checkNoResetFlg2(FLG2_UNK_1)) {
offKandelaarModel();
}
}
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
field_0x3198 = i_procAfter;
@@ -39,7 +39,7 @@ int daAlink_c::procPreActionUnequipInit(int i_procAfter, fopAc_ac_c* param_1) {
*/
int daAlink_c::procPreActionUnequip() {
if (checkNoUpperAnime()) {
- if (mProcVar3.field_0x300e.x != 0 && (field_0x27f4 == NULL || field_0x27f4 != field_0x280c.getActor()))
+ if (mProcVar3.field_0x300e != 0 && (field_0x27f4 == NULL || field_0x27f4 != field_0x280c.getActor()))
{
checkWaitAction();
} else if (field_0x3198 == PROC_PUSH_PULL_WAIT) {
@@ -373,7 +373,7 @@ int daAlink_c::procWaitTurnInit() {
mNormalSpeed = 0.0f;
}
- mProcVar3.field_0x300e.x = field_0x2fe2;
+ mProcVar3.field_0x300e = field_0x2fe2;
current.angle.y = shape_angle.y;
return 1;
}
@@ -387,7 +387,7 @@ int daAlink_c::procWaitTurn() {
} else if (checkEndResetFlg0(ERFLG0_UNK_100000)) {
return procFloorDownReboundInit();
} else {
- s16 angle = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.x, 30, 0x3CDF, 8000);
+ s16 angle = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e, 30, 0x3CDF, 8000);
current.angle.y = shape_angle.y;
if (checkNextActionFromButton()) {
@@ -418,26 +418,26 @@ int daAlink_c::procMoveTurnInit(int param_0) {
dComIfGp_setPlayerStatus0(0, 0x800);
if (param_0 != 0) {
- mProcVar3.field_0x300e.x = (daAlinkHIO_move_c0::m.mMaxTurnAngle * 4) + 19030;
- mProcVar3.field_0x300e.y = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2;
+ mProcVar3.field_0x300e = (daAlinkHIO_move_c0::m.mMaxTurnAngle * 4) + 19030;
+ mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2;
mProcVar1.field_0x300a = 2;
current.angle.y = field_0x2fe2;
mNormalSpeed *= 0.5f;
} else {
- mProcVar3.field_0x300e.x = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2;
- mProcVar3.field_0x300e.y = daAlinkHIO_move_c0::m.mMaxTurnAngle;
+ mProcVar3.field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2;
+ mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle;
mProcVar1.field_0x300a = 3;
}
- mProcVar3.field_0x300e.x = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2;
- mProcVar3.field_0x300e.y = daAlinkHIO_move_c0::m.mMaxTurnAngle;
+ mProcVar3.field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2;
+ mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle;
return 1;
}
/* 800C3D38-800C3DA0 0BE678 0068+00 1/0 0/0 0/0 .text procMoveTurn__9daAlink_cFv */
int daAlink_c::procMoveTurn() {
setSpeedAndAngleNormal();
- cLib_addCalcAngleS(&shape_angle.y, current.angle.y, mProcVar1.field_0x300a, mProcVar3.field_0x300e.x, mProcVar3.field_0x300e.y);
+ cLib_addCalcAngleS(&shape_angle.y, current.angle.y, mProcVar1.field_0x300a, mProcVar3.field_0x300e, mProcVar4.field_0x3010);
if (!checkNextAction(0)) {
setBlendMoveAnime(-1.0f);
@@ -486,7 +486,7 @@ int daAlink_c::procSideStepInit(int jump_type) {
voiceStart(Z2SE_AL_V_JUMP_S);
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
@@ -509,7 +509,7 @@ int daAlink_c::procSideStep() {
if (checkUpperItemActionFly()) {
return 1;
- } else if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e.x != 0) {
+ } else if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e != 0) {
if (mProcVar2.field_0x300c != 0 && checkSideRollAction(field_0x2f98)) {
return 1;
} else {
@@ -523,7 +523,7 @@ int daAlink_c::procSideStep() {
return procFallInit(2, daAlinkHIO_sideStep_c0::m.mFallInterpolation);
}
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
checkItemChangeFromButton();
return 1;
}
@@ -612,12 +612,12 @@ int daAlink_c::procSlideInit(s16 param_0) {
current.angle.y = param_0;
if (getMoveBGActorName(mLinkAcch.m_gnd, FALSE) == PROC_Obj_Lv3R10Saka) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
- if (cLib_distanceAngleS(param_0, shape_angle.y) < 0x3800 || mProcVar3.field_0x300e.x != 0) {
+ if (cLib_distanceAngleS(param_0, shape_angle.y) < 0x3800 || mProcVar3.field_0x300e != 0) {
field_0x3198 = 1;
setSingleAnimeParam(ANM_SLIDE_FORWARD, &daAlinkHIO_slide_c0::m.mForwardSlideAnm);
dComIfGp_setPlayerStatus1(0, 0x100);
@@ -640,7 +640,7 @@ int daAlink_c::procSlideInit(s16 param_0) {
field_0x594 = daAlinkHIO_slide_c0::m.mMaxSpeed;
field_0x33cc = 0.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
return 1;
}
@@ -661,7 +661,7 @@ int daAlink_c::procSlide() {
}
angleY += mProcVar2.field_0x300c;
- cLib_addCalcAngleS(&mProcVar3.field_0x300e.y, sin * -4096.0f, 3, 300, 50);
+ cLib_addCalcAngleS(&mProcVar4.field_0x3010, sin * -4096.0f, 3, 300, 50);
}
cLib_addCalcAngleS(&current.angle.y, angleY, 4, 0x1000, 0x400);
@@ -1688,7 +1688,7 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) {
offNoResetFlg0(FLG0_UNDERWATER);
}
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
if (param_0 == 1) {
mNormalSpeed = 0.0f;
@@ -1711,10 +1711,10 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) {
mNormalSpeed = field_0x3408;
speed.y = field_0x340c;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
}
- mProcVar3.field_0x300e.y = temp_r30;
+ mProcVar4.field_0x3010 = temp_r30;
setSingleAnimeBaseSpeed(ANM_JUMP_LAND, 0.0f, param_1);
resetBasAnime();
@@ -1737,7 +1737,7 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) {
}
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = param_0 == 3;
+ mProcVar3.field_0x300e = param_0 == 3;
offNoResetFlg0(FLG0_UNK_40000);
mFallVoiceInit = 0;
return 1;
@@ -1746,10 +1746,10 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) {
/* 800C6D20-800C6F18 0C1660 01F8+00 1/0 0/0 0/0 .text procFall__9daAlink_cFv */
int daAlink_c::procFall() {
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
cLib_chaseF(&mNormalSpeed, 0.0f, 0.1f);
- } else if (mProcVar3.field_0x300e.z > 0) {
- mProcVar3.field_0x300e.z = -1;
+ } else if (mProcVar5.field_0x3012 > 0) {
+ mProcVar5.field_0x3012 = -1;
return 1;
}
@@ -1759,7 +1759,7 @@ int daAlink_c::procFall() {
}
if (mLinkAcch.ChkGroundHit()) {
- return checkLandAction(mProcVar3.field_0x300e.x);
+ return checkLandAction(mProcVar3.field_0x300e);
}
if (dComIfGs_getLife() != 0) {
@@ -1883,11 +1883,11 @@ int daAlink_c::procSmallJumpInit(int param_0) {
}
mProcVar2.field_0x300c = cLib_targetAngleY(&current.pos, &sp8);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
setHeavyBoots(0);
} else {
field_0x3478 = field_0x34ec.y;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
}
@@ -1930,11 +1930,11 @@ int daAlink_c::procSmallJump() {
voiceStart(Z2SE_AL_V_JUMP_S);
field_0x2f99 = 7;
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
shape_angle.y = mProcVar2.field_0x300c;
current.angle.y = shape_angle.y;
}
- } else if (mProcVar3.field_0x300e.x != 0) {
+ } else if (mProcVar3.field_0x300e != 0) {
cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, 3, 0x1000, 0x400);
current.angle.y = shape_angle.y;
}
@@ -2046,8 +2046,8 @@ int daAlink_c::procCoMetamorphoseInit() {
field_0x3198 = var_r29;
mProcVar0.field_0x3008 = 0;
- mProcVar3.field_0x300e.x = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x347c = 1.0f;
mFallVoiceInit = 0;
@@ -2065,7 +2065,7 @@ int daAlink_c::procCoMetamorphoseInit() {
deleteEquipItem(FALSE, TRUE);
if (checkEndResetFlg0(ERFLG0_UNK_2) && checkStageName("D_MN08")) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
mProcVar1.field_0x300a = 0;
@@ -2138,7 +2138,7 @@ int daAlink_c::procCoMetamorphoseInit() {
}
speed.y = 0.0f;
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
field_0x3484 = current.pos.y;
@@ -2167,9 +2167,9 @@ int daAlink_c::procCoMetamorphose() {
field_0x2f99 = 4;
- if (mProcVar0.field_0x3008 != 0 && mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar0.field_0x3008 != 0 && mProcVar5.field_0x3012 == 0) {
if (mClothesChangeWaitTimer == 0) {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
if (mDemo.getParam0() == 1 && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) {
dComIfGp_evmng_cutEnd(field_0x3184);
@@ -2209,8 +2209,8 @@ int daAlink_c::procCoMetamorphose() {
}
}
- } else if (checkAnmEnd(temp_r29) || ((mDemo.getParam0() == 1) && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) || (mProcVar3.field_0x300e.z != 0 && temp_r29->getFrame() > field_0x3480 && (checkInputOnR() || doTrigger() || grassCancelTrigger()))) {
- if (mProcVar3.field_0x300e.z != 0) {
+ } else if (checkAnmEnd(temp_r29) || ((mDemo.getParam0() == 1) && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) || (mProcVar5.field_0x3012 != 0 && temp_r29->getFrame() > field_0x3480 && (checkInputOnR() || doTrigger() || grassCancelTrigger()))) {
+ if (mProcVar5.field_0x3012 != 0) {
deleteEquipItem(0, 0);
if (field_0x3198 != 0) {
@@ -2235,47 +2235,47 @@ int daAlink_c::procCoMetamorphose() {
mpWlMidnaModel = NULL;
mProcVar0.field_0x3008 = 1;
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
dComIfGs_onEventBit(0x5E40);
}
}
field_0x33dc = temp_r29->getFrame();
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
if (checkWolf()) {
f32 var_f31 = 1.0f - (0.03846154f * field_0x33dc);
if (var_f31 < 0.0f) {
var_f31 = 0.0f;
}
- mProcVar3.field_0x300e.x = -64.0f * var_f31;
+ mProcVar3.field_0x300e = -64.0f * var_f31;
} else if (field_0x33dc < 14.0f) {
- mProcVar3.field_0x300e.x = 15.0 + (49.0 * (1.0 - (0.07142857142857142 * field_0x33dc)));
+ mProcVar3.field_0x300e = 15.0 + (49.0 * (1.0 - (0.07142857142857142 * field_0x33dc)));
} else {
f32 var_f31_2 = 1.0f - (0.2f * (field_0x33dc - 14.0f));
if (var_f31_2 < 0.0f) {
var_f31_2 = 0.0f;
}
- mProcVar3.field_0x300e.x = 15.0f * var_f31_2;
+ mProcVar3.field_0x300e = 15.0f * var_f31_2;
}
} else if (checkWolf() != 0) {
- mProcVar3.field_0x300e.x = -64.0 * (0.07142857142857142 * field_0x33dc);
+ mProcVar3.field_0x300e = -64.0 * (0.07142857142857142 * field_0x33dc);
} else if (field_0x33dc < 9.0f) {
- mProcVar3.field_0x300e.x = -15.0 * (0.1111111111111111 * field_0x33dc);
+ mProcVar3.field_0x300e = -15.0 * (0.1111111111111111 * field_0x33dc);
} else {
f32 var_f31_3 = 0.2f * (field_0x33dc - 9.0f);
if (var_f31_3 > 1.0f) {
var_f31_3 = 1.0f;
}
- mProcVar3.field_0x300e.x = -(15.0f + (49.0f * var_f31_3));
+ mProcVar3.field_0x300e = -(15.0f + (49.0f * var_f31_3));
}
if (!checkWolf()) {
f32 var_f30;
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
var_f30 = (field_0x33dc - 13.0f) / 4.0f;
} else {
var_f30 = (field_0x33dc - 8.0f) / 5.0f;
@@ -2283,7 +2283,7 @@ int daAlink_c::procCoMetamorphose() {
var_f30 = cLib_minMaxLimit<f32>(var_f30, 0.0f, 1.0f);
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
field_0x347c = 0.5f + (0.027777778f * field_0x33dc);
var_f30 = 1.0f - var_f30;
} else {
@@ -2314,10 +2314,10 @@ int daAlink_c::procCoMetamorphoseOnlyInit() {
(!checkWolf() && mDemo.getDemoMode() == 0x47))
{
mProcVar2.field_0x300c = 1;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
mNormalSpeed = 0.0f;
@@ -2333,8 +2333,8 @@ int daAlink_c::procCoMetamorphoseOnly() {
mClothesChangeWaitTimer = 4;
mProcVar2.field_0x300c = 1;
} else if (mClothesChangeWaitTimer == 0) {
- if (mProcVar3.field_0x300e.x == 0) {
- mProcVar3.field_0x300e.x = 1;
+ if (mProcVar3.field_0x300e == 0) {
+ mProcVar3.field_0x300e = 1;
if (checkWolf()) {
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14,
@@ -2944,7 +2944,7 @@ int daAlink_c::execute() {
field_0x2ff0 = 0;
field_0x2fbb = 16;
field_0x2fbd = 0;
- field_0x2fa8 = 0;
+ mGndPolySpecialCode = dBgW_SPCODE_NORMAL;
if (checkModeFlg(MODE_SWIMMING) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr)) {
mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr);
@@ -2967,14 +2967,14 @@ int daAlink_c::execute() {
field_0x2ff0 = 0;
field_0x3174 = dComIfG_Bgsp().GetGroundCode(mMagneLineChk);
field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mMagneLineChk);
- field_0x2fa8 = dComIfG_Bgsp().GetSpecialCode(mMagneLineChk);
+ mGndPolySpecialCode = dComIfG_Bgsp().GetSpecialCode(mMagneLineChk);
setMagneBootsMtx(&mMagneLineChk, 0);
} else {
mPolySound = 0;
field_0x2ff0 = 0;
field_0x3174 = -1;
field_0x2fbb = 16;
- field_0x2fa8 = 0;
+ mGndPolySpecialCode = dBgW_SPCODE_NORMAL;
}
} else {
field_0x2f5c.mPow = 0.0f;
@@ -3560,7 +3560,7 @@ int daAlink_c::draw() {
if (mClothesChangeWaitTimer != 0) {
if (mProcID == PROC_METAMORPHOSE) {
- if (mProcVar3.field_0x300e.x > 0) {
+ if (mProcVar3.field_0x300e > 0) {
tevStr.mFogColor.r = 255;
} else {
tevStr.mFogColor.r = -255;
@@ -3584,9 +3584,9 @@ int daAlink_c::draw() {
} else if (mProcID == PROC_METAMORPHOSE || mProcID == PROC_DUNGEON_WARP ||
mProcID == PROC_DUNGEON_WARP_SCN_START)
{
- tevStr.mFogColor.r = mProcVar3.field_0x300e.x;
- tevStr.mFogColor.g = mProcVar3.field_0x300e.x;
- tevStr.mFogColor.b = mProcVar3.field_0x300e.x;
+ tevStr.mFogColor.r = mProcVar3.field_0x300e;
+ tevStr.mFogColor.g = mProcVar3.field_0x300e;
+ tevStr.mFogColor.b = mProcVar3.field_0x300e;
} else if (field_0x346c != 0.0f) {
f32 var_f2 = fabsf(field_0x346c);
tevStr.mFogColor.r = var_f2 * daAlinkHIO_wolf_c0::m.mLightDropR;
@@ -3881,41 +3881,6 @@ static int daAlink_Draw(daAlink_c* i_this) {
return i_this->draw();
}
-/* ############################################################################################## */
-/* 803B3580-803B3590 0106A0 0010+00 3/3 0/0 0/0 .data __vt__15daAlink_sight_c */
-SECTION_DATA extern void* __vt__15daAlink_sight_c[4] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)draw__15daAlink_sight_cFv,
- (void*)__dt__15daAlink_sight_cFv,
-};
-
-/* 803B3590-803B35A0 0106B0 0010+00 4/4 0/0 0/0 .data __vt__20daAlink_lockCursor_c */
-SECTION_DATA extern void* __vt__20daAlink_lockCursor_c[4] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)draw__20daAlink_lockCursor_cFv,
- (void*)__dt__20daAlink_lockCursor_cFv,
-};
-
-/* 803B35A0-803B35B4 0106C0 0014+00 3/3 0/0 0/0 .data __vt__14daAlink_blur_c */
-SECTION_DATA extern void* __vt__14daAlink_blur_c[5] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)entry__9J3DPacketFP13J3DDrawBuffer,
- (void*)draw__14daAlink_blur_cFv,
- (void*)__dt__14daAlink_blur_cFv,
-};
-
-/* 803B35B4-803B35C8 0106D4 0014+00 3/3 0/0 0/0 .data __vt__29dAlink_bottleWaterPcallBack_c */
-SECTION_DATA extern void* __vt__29dAlink_bottleWaterPcallBack_c[5] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__29dAlink_bottleWaterPcallBack_cFv,
- (void*)execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP15JPABaseParticle,
- (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle,
-};
-
/* 800CD7AC-800CE208 0C80EC 0A5C+00 1/1 0/0 0/0 .text __dt__9daAlink_cFv */
daAlink_c::~daAlink_c() {
dComIfGp_clearPlayerStatus0(0, ~0x400030);
@@ -3983,8 +3948,14 @@ bool daAlink_c::checkNoSubjectModeCamera() {
/* 800CE468-800CE628 0C8DA8 01C0+00 2/2 0/0 0/0 .text acceptSubjectModeChange__9daAlink_cFv */
bool daAlink_c::acceptSubjectModeChange() {
- // NONMATCHING
- return 0;
+ return dCam_getBody()->ChangeModeOK(4) &&
+ !checkNoSubjectModeCamera() &&
+ !checkAttentionLock() &&
+ !checkHorseLieAnime() &&
+ !checkEventRun() &&
+ !checkModeFlg(0x310040) &&
+ (checkNoUpperAnime() || checkHorseTiredAnime() || checkGrabAnime() || checkWolfGrabAnime()) &&
+ !(checkWolf() && checkWolfWaitSlipPolygon() && mLinkAcch.i_ChkGroundHit());
}
/* 800CE628-800CE728 0C8F68 0100+00 5/5 0/0 0/0 .text checkSubjectAction__9daAlink_cFv */
@@ -4497,7 +4468,7 @@ extern "C" s16 getSumouCounter__9daAlink_cCFv(daAlink_c* this_) {
/* 800D027C-800D0284 0CABBC 0008+00 1/0 0/0 0/0 .text checkSumouWithstand__9daAlink_cCFv
*/
extern "C" s16 checkSumouWithstand__9daAlink_cCFv(daAlink_c* this_) {
- return this_->mProcVar3.field_0x300e.x;
+ return this_->mProcVar3.field_0x300e;
}
/* 800D0284-800D0290 0CABC4 000C+00 1/0 0/0 0/0 .text setMidnaMsgNum__9daAlink_cFP10fopAc_ac_cUs
@@ -4622,7 +4593,7 @@ extern "C" BOOL checkGuardBreakMode__9daAlink_cCFv(daAlink_c* this_) {
/* 800D047C-800D04A4 0CADBC 0028+00 1/0 0/0 0/0 .text checkLv3Slide__9daAlink_cCFv */
extern "C" bool checkLv3Slide__9daAlink_cCFv(daAlink_c* this_) {
- return this_->mProcID == daAlink_c::PROC_SLIDE && this_->mProcVar3.field_0x300e.x != 0;
+ return this_->mProcID == daAlink_c::PROC_SLIDE && this_->mProcVar3.field_0x300e != 0;
}
/* 800D04A4-800D04B8 0CADE4 0014+00 1/0 0/0 0/0 .text checkWolfHowlDemoMode__9daAlink_cCFv */
@@ -4713,7 +4684,7 @@ extern "C" BOOL checkWolfRSit__9daAlink_cCFv(daAlink_c* this_) {
/* 800D0638-800D0660 0CAF78 0028+00 1/0 0/0 0/0 .text checkBottleDrinkEnd__9daAlink_cCFv
*/
extern "C" BOOL checkBottleDrinkEnd__9daAlink_cCFv(daAlink_c* this_) {
- return this_->mProcID == daAlink_c::PROC_BOTTLE_DRINK && this_->mProcVar3.field_0x300e.x != 0;
+ return this_->mProcID == daAlink_c::PROC_BOTTLE_DRINK && this_->mProcVar3.field_0x300e != 0;
}
/* 800D0660-800D0674 0CAFA0 0014+00 1/0 0/0 0/0 .text checkWolfDig__9daAlink_cCFv */
@@ -4801,7 +4772,7 @@ extern "C" void onSceneChangeDead__9daAlink_cFUci(daAlink_c* this_, u8 param_0,
if (this_->mProcID != daAlink_c::PROC_DEAD) {
return;
}
- this_->mProcVar3.field_0x300e.z = param_0;
+ this_->mProcVar5.field_0x3012 = param_0;
this_->field_0x3198 = param_1;
}
@@ -4814,7 +4785,7 @@ extern "C" bool checkNoEquipItem__9daAlink_cCFv(daAlink_c* this_) {
*/
extern "C" s16 getBoardCutTurnOffsetAngleY__9daAlink_cCFv(daAlink_c* this_) {
if (this_->mProcID == daAlink_c::PROC_BOARD_CUT_TURN) {
- return this_->mProcVar3.field_0x300e.z;
+ return this_->mProcVar5.field_0x3012;
}
return 0;
}
@@ -4850,7 +4821,7 @@ extern "C" void setSumouPushBackDirection__9daAlink_cFs(daAlink_c* this_, s16 pa
if (this_->mProcID != daAlink_c::PROC_SUMOU_MOVE) {
return;
}
- this_->mProcVar3.field_0x300e.y = param_0;
+ this_->mProcVar4.field_0x3010 = param_0;
}
/* 800D0930-800D0948 0CB270 0018+00 1/0 0/0 0/0 .text setSumouLoseHeadUp__9daAlink_cFv */
@@ -4878,7 +4849,7 @@ extern "C" void setWolfEnemyHangBiteAngle__9daAlink_cFs(daAlink_c* this_, s16 an
if (this_->mProcID != daAlink_c::PROC_WOLF_ENEMY_HANG_BITE) {
return;
}
- this_->mProcVar3.field_0x300e.y = angle;
+ this_->mProcVar4.field_0x3010 = angle;
}
/* 800D0984-800D0998 0CB2C4 0014+00 1/0 0/0 0/0 .text setSumouGraspCancelCount__9daAlink_cFi */
@@ -4944,12 +4915,12 @@ extern "C" bool checkCopyRodEquip__9daAlink_cCFv(daAlink_c* this_) {
/* 800D0A44-800D0A6C 0CB384 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetLeft__9daAlink_cCFv */
extern "C" bool checkCanoeFishingGetLeft__9daAlink_cCFv(daAlink_c* this_) {
- return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e.x == 0;
+ return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e == 0;
}
/* 800D0A6C-800D0A94 0CB3AC 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetRight__9daAlink_cCFv */
extern "C" bool checkCanoeFishingGetRight__9daAlink_cCFv(daAlink_c* this_) {
- return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e.x == 1;
+ return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e == 1;
}
/* 800D0A94-800D0A9C 0CB3D4 0008+00 1/0 0/0 0/0 .text checkBeeChildDrink__9daAlink_cCFv
@@ -4978,7 +4949,7 @@ extern "C" void cancelOctaIealHang__9daAlink_cFv(daAlink_c* this_) {
if (this_->mProcID != daAlink_c::PROC_BOSS_BODY_HANG) {
return;
}
- this_->mProcVar3.field_0x300e.x = 1;
+ this_->mProcVar3.field_0x300e = 1;
}
/* 800D0B08-800D0B20 0CB448 0018+00 1/0 0/0 0/0 .text cancelDragonHangBackJump__9daAlink_cFv */
@@ -4986,7 +4957,7 @@ extern "C" void cancelDragonHangBackJump__9daAlink_cFv(daAlink_c* this_) {
if (this_->mProcID != daAlink_c::PROC_BOSS_BODY_HANG) {
return;
}
- this_->mProcVar3.field_0x300e.x = -1;
+ this_->mProcVar3.field_0x300e = -1;
}
/* 800D0B20-800D0B38 0CB460 0018+00 1/0 0/0 0/0 .text setOctaIealWildHang__9daAlink_cFv
@@ -5015,42 +4986,12 @@ extern "C" void __dt__16daAlink_matAnm_cFv() {
// NONMATCHING
}
-/* ############################################################################################## */
-/* 803B35C8-803B35EC 0106E8 0024+00 2/2 5/5 0/0 .data __vt__12dBgS_ObjAcch */
-SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12dBgS_ObjAcchFv,
- (void*)NULL,
- (void*)NULL,
- (void*)func_801446DC,
- (void*)NULL,
- (void*)NULL,
- (void*)func_801446D4,
-};
-
/* 800D0C6C-800D0CDC 0CB5AC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
// dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" void __dt__12dBgS_ObjAcchFv() {
// NONMATCHING
}
-/* ############################################################################################## */
-/* 803B35EC-803B3610 01070C 0014+10 3/3 0/0 0/0 .data __vt__Q29daAlink_c14hsChainShape_c
- */
-SECTION_DATA extern void* __vt__Q29daAlink_c14hsChainShape_c[5 + 4 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)entry__9J3DPacketFP13J3DDrawBuffer,
- (void*)draw__Q29daAlink_c14hsChainShape_cFv,
- (void*)__dt__Q29daAlink_c14hsChainShape_cFv,
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL,
-};
-
/* 800D0CDC-800D0D38 0CB61C 005C+00 1/0 0/0 0/0 .text __dt__Q29daAlink_c14hsChainShape_cFv */
extern "C" void __dt__Q29daAlink_c14hsChainShape_cFv() {
// NONMATCHING
diff --git a/src/d/actor/d_a_alink_spinner.inc b/src/d/actor/d_a_alink_spinner.inc
index ae61f1d491..92bff016c4 100644
--- a/src/d/actor/d_a_alink_spinner.inc
+++ b/src/d/actor/d_a_alink_spinner.inc
@@ -192,11 +192,11 @@ int daAlink_c::procSpinnerWaitInit() {
mNormalSpeed = 0.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = shape_angle.y;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = shape_angle.y;
+ mProcVar4.field_0x3010 = 0;
field_0x3198 = ANM_RIDE_CROUCH;
field_0x33b0 = 70.0f;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x37a4 = mRideAcKeep.getActor()->current.pos;
return 1;
@@ -235,7 +235,7 @@ int daAlink_c::procSpinnerWait() {
}
current.angle.y = shape_angle.y;
- mProcVar3.field_0x300e.x = shape_angle.y;
+ mProcVar3.field_0x300e = shape_angle.y;
}
} else {
if (checkSetItemTrigger(SPINNER) || swordSwingTrigger() || itemSetBtn == 2) {
@@ -262,7 +262,7 @@ int daAlink_c::procSpinnerWait() {
current.angle.y = spinner->current.angle.y;
if (spinner->checkSpinnerTagIntoIncRot()) {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION);
if (field_0x3198 != ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) {
@@ -272,7 +272,7 @@ int daAlink_c::procSpinnerWait() {
fopAcM_seStartCurrent(spinner, Z2SE_OBJ_SPNR_SW_PUSH, 0);
}
} else if (spinner->checkSpinnerTagInto()) {
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION);
} else {
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_DEFAULT);
@@ -289,18 +289,18 @@ int daAlink_c::procSpinnerWait() {
setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else if (field_0x3198 == ANM_RIDE_JUMP) {
if (!spinner->getJumpFlg()) {
setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mSpeed,
daAlinkHIO_board_c0::m.mLandAnm.mStartFrame, 16,
daAlinkHIO_board_c0::m.mLandAnm.mInterpolation);
field_0x3198 = ANM_RIDE_JUMP_LAND;
- } else if (mProcVar3.field_0x300e.y == 0 && field_0x2060->getOldFrameRate() < 0.01f) {
+ } else if (mProcVar4.field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) {
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed,
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f);
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
} else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) ||
(field_0x3198 != ANM_RIDE_JUMP_LAND && field_0x3198 != ANM_RIDE_CROUCH)) {
@@ -311,7 +311,7 @@ int daAlink_c::procSpinnerWait() {
}
setSpinnerSyncPos();
- shape_angle.y = mProcVar3.field_0x300e.x;
+ shape_angle.y = mProcVar3.field_0x300e;
return 1;
}
diff --git a/src/d/actor/d_a_alink_sumou.inc b/src/d/actor/d_a_alink_sumou.inc
index d784ecd5d9..e7d5259204 100644
--- a/src/d/actor/d_a_alink_sumou.inc
+++ b/src/d/actor/d_a_alink_sumou.inc
@@ -6,6 +6,7 @@
#include "d/actor/d_a_alink.h"
#include "d/d_com_inf_game.h"
#include "d/actor/d_a_npc_wrestler.h"
+#include "d/actor/d_a_boomerang.h"
/* 800EA844-800EA8D0 0E5184 008C+00 5/5 0/0 0/0 .text checkSumouVsActor__9daAlink_cFv */
BOOL daAlink_c::checkSumouVsActor() {
@@ -56,7 +57,7 @@ int daAlink_c::procSumouReadyInit() {
field_0x2f99 = 4;
mSpecialMode = 1;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
deleteEquipItem(FALSE, TRUE);
if (mThrowBoomerangAcKeep.getActor() != NULL) {
@@ -84,7 +85,7 @@ int daAlink_c::procSumouReady() {
}
if (sumouPunchTrigger()) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
}
@@ -118,12 +119,12 @@ int daAlink_c::procSumouReady() {
}
if (mSpecialMode == 0x1C || mSpecialMode == 0x1B || mProcVar2.field_0x300c != 0 ||
- mProcVar3.field_0x300e.x != 0 ||
+ mProcVar3.field_0x300e != 0 ||
(static_cast<daNpcWrestler_c*>(mCargoCarryAcKeep.getActor())->getWrestlerAction() ==
3 &&
!checkZeroSpeedF()))
{
- procSumouActionInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e.x, 0);
+ procSumouActionInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e, 0);
} else {
procSumouSideMoveInit();
}
@@ -173,8 +174,8 @@ int daAlink_c::procSumouMoveInit() {
field_0x3198 = anm;
current.angle.y = shape_angle.y;
- mProcVar3.field_0x300e.x = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar3.field_0x300e = 0;
+ mProcVar4.field_0x3010 = 0;
mNormalSpeed = 0.0f;
mProcVar1.field_0x300a = 0x4B;
setFootEffectProcType(5);
@@ -228,7 +229,7 @@ int daAlink_c::procSumouMove() {
field_0x32cc = Z2SE_AL_V_SUMO_HOLD_BACK;
field_0x3198 = ANM_SUMOU_PUSH_BACK;
}
- } else if (mProcVar3.field_0x300e.x == 0) {
+ } else if (mProcVar3.field_0x300e == 0) {
if (mProcVar2.field_0x300c > 0 && doTrigger()) {
mProcVar2.field_0x300c--;
}
@@ -249,7 +250,7 @@ int daAlink_c::procSumouMove() {
dMeter2Info_onBlinkButton(1);
if (mSpecialMode == 0x24 || (mSpeedModifier < 0.0f && mProcVar2.field_0x300c == 0)) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
field_0x2f99 = 12;
if (mSpeedModifier > 0.0f) {
@@ -287,8 +288,8 @@ int daAlink_c::procSumouMove() {
}
}
} else if (mSpeedModifier < 0.0f) {
- var_r31 = mProcVar3.field_0x300e.y;
- mProcVar3.field_0x300e.y = 0;
+ var_r31 = mProcVar4.field_0x3010;
+ mProcVar4.field_0x3010 = 0;
}
if (var_r31 != 0) {
@@ -450,7 +451,7 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un
daNpcWrestler_c* wrestler_p = (daNpcWrestler_c*)mCargoCarryAcKeep.getActor();
int wrestler_action = wrestler_p->getWrestlerAction();
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
daAlink_ANM anm;
if (mSpecialMode == 0x21) {
@@ -470,7 +471,7 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un
}
anm = var_r0;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
} else {
anm = ANM_SUMOU_PUNCH_SHOCK;
}
@@ -498,7 +499,7 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un
}
anm = var_r0_2;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
} else {
anm = ANM_SUMOU_PUNCH_SHOCK;
}
@@ -552,29 +553,29 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
- mProcVar3.field_0x300e.x = 0x82;
+ mProcVar3.field_0x300e = 0x82;
if (mSpecialMode == 0x19) {
dComIfGp_setAdvanceDirection(1);
- mProcVar3.field_0x300e.y = shape_angle.y - 0x2800;
+ mProcVar4.field_0x3010 = shape_angle.y - 0x2800;
field_0x2f98 = 2;
} else if (mSpecialMode == 0x1A) {
field_0x2f98 = 3;
dComIfGp_setAdvanceDirection(4);
- mProcVar3.field_0x300e.y = shape_angle.y + 0x2800;
+ mProcVar4.field_0x3010 = shape_angle.y + 0x2800;
} else if (i_doTrigger) {
setDoStatusEmphasys(0x15);
- mProcVar3.field_0x300e.x = 0x15;
+ mProcVar3.field_0x300e = 0x15;
field_0x2f98 = 4;
} else if (i_punchTrigger) {
setSumouPunchStatus();
- mProcVar3.field_0x300e.x = 0x44;
+ mProcVar3.field_0x300e = 0x44;
field_0x2f98 = 4;
} else if (!checkZeroSpeedF()) {
if (field_0x2f98 == 2) {
- mProcVar3.field_0x300e.y = shape_angle.y - 0x2800;
+ mProcVar4.field_0x3010 = shape_angle.y - 0x2800;
} else {
- mProcVar3.field_0x300e.y = shape_angle.y + 0x2800;
+ mProcVar4.field_0x3010 = shape_angle.y + 0x2800;
}
} else {
field_0x2f98 = 4;
@@ -669,12 +670,12 @@ int daAlink_c::procSumouAction() {
}
if (mSpecialMode == 0x19 || mSpecialMode == 0x1A) {
- cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 2, 0x400, 0x40);
+ cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x400, 0x40);
current.angle.y = shape_angle.y;
current.pos.set(field_0x37c8.x - field_0x3478 * cM_ssin(current.angle.y), field_0x37c8.y,
field_0x37c8.z - field_0x3478 * cM_scos(current.angle.y));
- if (mProcVar2.field_0x300c >= 29 || shape_angle.y == mProcVar3.field_0x300e.y) {
+ if (mProcVar2.field_0x300c >= 29 || shape_angle.y == mProcVar4.field_0x3010) {
procSumouSideMoveInit();
}
} else {
@@ -684,8 +685,8 @@ int daAlink_c::procSumouAction() {
cLib_targetAngleY(&current.pos, &mCargoCarryAcKeep.getActor()->current.pos), 2,
0x2000, 0x800);
current.angle.y = shape_angle.y;
- } else if (mSpecialMode == 0x1E && mProcVar3.field_0x300e.z != 0) {
- cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 2, 0x400, 0x40);
+ } else if (mSpecialMode == 0x1E && mProcVar5.field_0x3012 != 0) {
+ cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x400, 0x40);
current.angle.y = shape_angle.y;
current.pos.set(field_0x37c8.x - field_0x3478 * cM_ssin(current.angle.y),
@@ -699,9 +700,9 @@ int daAlink_c::procSumouAction() {
current.angle.y = shape_angle.y;
}
- if (mProcVar3.field_0x300e.x == 0x15) {
+ if (mProcVar3.field_0x300e == 0x15) {
setDoStatusEmphasys(0x15);
- } else if (mProcVar3.field_0x300e.x == 0x44) {
+ } else if (mProcVar3.field_0x300e == 0x44) {
setSumouPunchStatus();
}
@@ -717,11 +718,11 @@ int daAlink_c::procSumouAction() {
} else {
procSumouMoveInit();
}
- } else if (mProcVar3.field_0x300e.z != 0) {
+ } else if (mProcVar5.field_0x3012 != 0) {
if (mProcVar2.field_0x300c > 12.0f) {
setSingleAnime(ANM_SUMOU_PUNCH_SHOCK, 1.0f, mProcVar2.field_0x300c, -1, 3.0f);
field_0x2f99 = 12;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
voiceStart(Z2SE_AL_V_SUMO_HARITE_DMG);
field_0x3198 = 0x152;
}
@@ -832,7 +833,7 @@ int daAlink_c::procSumouWinLoseInit() {
setSpecialGravity(0.0f, maxFallSpeed, 0);
speed.y = 0.0f;
setFootEffectProcType(5);
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
field_0x33b0 = 20.0f;
return 1;
}
@@ -840,7 +841,7 @@ int daAlink_c::procSumouWinLoseInit() {
/* 800EC3D8-800EC538 0E6D18 0160+00 1/0 0/0 0/0 .text procSumouWinLose__9daAlink_cFv */
int daAlink_c::procSumouWinLose() {
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
if (mProcVar2.field_0x300c != 0) {
field_0x2f99 = 4;
} else {
@@ -855,7 +856,7 @@ int daAlink_c::procSumouWinLose() {
}
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar2.field_0x300c != 0 || mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar2.field_0x300c != 0 || mProcVar3.field_0x300e != 0) {
cancelSumouMode();
procWaitInit();
} else {
@@ -864,9 +865,9 @@ int daAlink_c::procSumouWinLose() {
field_0x3478 = 1000.0f;
field_0x3198 = ANM_SUMOU_KNOCKED_DOWN;
}
- } else if (mProcVar3.field_0x300e.x == 0 && mSpecialMode == 0x25) {
+ } else if (mProcVar3.field_0x300e == 0 && mSpecialMode == 0x25) {
setSingleAnimeBase(ANM_SUMOU_GET_UP);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
field_0x3478 = 1000.0f;
field_0x3198 = ANM_SUMOU_GET_UP;
}
diff --git a/src/d/actor/d_a_alink_swim.inc b/src/d/actor/d_a_alink_swim.inc
index 31dc7ef44e..651b8d7f99 100644
--- a/src/d/actor/d_a_alink_swim.inc
+++ b/src/d/actor/d_a_alink_swim.inc
@@ -129,7 +129,7 @@ void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate) {
}
/* 80101D70-801023E4 0FC6B0 0674+00 2/2 0/0 0/0 .text swimBgCheck__9daAlink_cFf */
-#ifdef NONMATCHING
+// NONMATCHING
void daAlink_c::swimBgCheck(f32 param_0) {
offNoResetFlg1(FLG1_UNK_20000000);
@@ -205,11 +205,6 @@ void daAlink_c::swimBgCheck(f32 param_0) {
field_0x3092 = cM_atan2s(-fvar14, -fvar15);
}
}
-#else
-void daAlink_c::swimBgCheck(f32 param_0) {
- // NONMATCHING
-}
-#endif
/* 801023E4-801029C8 0FCD24 05E4+00 3/3 0/0 0/0 .text setSpeedAndAngleSwim__9daAlink_cFv
*/
@@ -369,7 +364,7 @@ int daAlink_c::procSwimUpInit() {
setSingleAnimeParam(ANM_SWIM_RESURFACE, &daAlinkHIO_swim_c0::m.mResurfaceAnm);
dComIfGp_setPlayerStatus0(0, 0x100000);
mProcVar0.field_0x3008 = 0;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
field_0x3000 = 0;
@@ -422,10 +417,10 @@ int daAlink_c::procSwimWaitInit(int param_0) {
if (param_0) {
seStartMapInfo(Z2SE_AL_INTO_WATER);
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
} else if (!mode_40000) {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
}
@@ -526,7 +521,7 @@ int daAlink_c::procSwimMoveInit() {
if (!mode_40000) {
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
if (proc_swim_dive || proc_dive_jump) {
@@ -534,8 +529,8 @@ int daAlink_c::procSwimMoveInit() {
if (proc_dive_jump) {
field_0x3080 = 0x2800;
- mProcVar3.field_0x300e.x = field_0x3080;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar3.field_0x300e = field_0x3080;
+ mProcVar4.field_0x3010 = 1;
setOldRootQuaternion(-field_0x3080, 0, 0);
}
} else {
@@ -613,7 +608,7 @@ int daAlink_c::procSwimDiveInit() {
field_0x2f99 = 0x10;
field_0x3588 = l_waitBaseAnime;
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
dComIfGp_setPlayerStatus0(0, 0x100000);
field_0x3000 = 30;
@@ -657,8 +652,8 @@ int daAlink_c::procSwimDive() {
if (mProcVar2.field_0x300c != 0) {
field_0x3080 = 0x2800;
- mProcVar3.field_0x300e.x = field_0x3080;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar3.field_0x300e = field_0x3080;
+ mProcVar4.field_0x3010 = 1;
}
setOldRootQuaternion(-field_0x3080, 0, 0);
@@ -700,7 +695,7 @@ int daAlink_c::procSwimHookshotSubjectInit() {
field_0x594 = getSwimFrontMaxSpeed();
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x30d0 = 0;
setHookshotReadyMaterial();
@@ -778,7 +773,7 @@ int daAlink_c::procSwimHookshotMoveInit() {
}
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
field_0x30d0 = 0;
dComIfGp_setPlayerStatus0(0, 0x104000);
@@ -841,8 +836,7 @@ int daAlink_c::procSwimHookshotMove() {
/* 8010519C-80105728 0FFADC 058C+00 1/1 0/0 0/0 .text
* procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf */
-// instruction block order issue
-#ifdef NONMATCHING
+// NONMATCHING - instruction block order issue
int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
dComIfGp_getVibration().StartShock(2, 31, cXyz(0.0f, 1.0f, 0.0f));
@@ -921,12 +915,6 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
return 1;
}
-#else
-int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
- // NONMATCHING
- return 0;
-}
-#endif
/* 80105728-801058A0 100068 0178+00 1/0 0/0 0/0 .text procSwimDamage__9daAlink_cFv */
int daAlink_c::procSwimDamage() {
diff --git a/src/d/actor/d_a_alink_swindow.inc b/src/d/actor/d_a_alink_swindow.inc
index 4587dc1889..856eadaf42 100644
--- a/src/d/actor/d_a_alink_swindow.inc
+++ b/src/d/actor/d_a_alink_swindow.inc
@@ -4,6 +4,7 @@
*/
#include "d/actor/d_a_alink.h"
+#include "JSystem/JKernel/JKRExpHeap.h"
/* 8013FF28-8013FF90 13A868 0068+00 2/2 0/0 0/0 .text setArcName__9daAlink_cFi */
void daAlink_c::setArcName(BOOL i_isWolf) {
@@ -386,4 +387,4 @@ void daAlink_c::resetStatusWindow() {
offNoResetFlg2(FLG2_STATUS_WINDOW_DRAW);
m_sWindowBck = NULL;
-} \ No newline at end of file
+}
diff --git a/src/d/actor/d_a_alink_whistle.inc b/src/d/actor/d_a_alink_whistle.inc
index cdd1d8727b..798d00ff95 100644
--- a/src/d/actor/d_a_alink_whistle.inc
+++ b/src/d/actor/d_a_alink_whistle.inc
@@ -75,9 +75,9 @@ int daAlink_c::procGrassWhistleGetInit() {
daObjYobikusa_c* yobikusa_p = (daObjYobikusa_c*)field_0x27f4;
mProcVar2.field_0x300c = yobikusa_p->getType();
- mProcVar3.field_0x300e.x = yobikusa_p->getPathID();
- mProcVar3.field_0x300e.y = yobikusa_p->isPlayerCorrect();
- mProcVar3.field_0x300e.z = yobikusa_p->shape_angle.y + 0x8000;
+ mProcVar3.field_0x300e = yobikusa_p->getPathID();
+ mProcVar4.field_0x3010 = yobikusa_p->isPlayerCorrect();
+ mProcVar5.field_0x3012 = yobikusa_p->shape_angle.y + 0x8000;
field_0x37c8.set(yobikusa_p->current.pos.x + cM_ssin(yobikusa_p->shape_angle.y) * 50.0f,
yobikusa_p->current.pos.y + 50.0f,
yobikusa_p->current.pos.z + cM_scos(yobikusa_p->shape_angle.y) * 50.0f);
@@ -92,8 +92,8 @@ int daAlink_c::procGrassWhistleGet() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
if (frameCtrl_p->checkAnmEnd()) {
- procGrassWhistleWaitInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e.x,
- mProcVar3.field_0x300e.y, mProcVar3.field_0x300e.z, &field_0x37c8);
+ procGrassWhistleWaitInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e,
+ mProcVar4.field_0x3010, mProcVar5.field_0x3012, &field_0x37c8);
} else if (mEquipItem == NO_ITEM && frameCtrl_p->getFrame() >= 9.0f) {
setGrassWhistleModel(mProcVar2.field_0x300c);
@@ -146,12 +146,12 @@ int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s
setUpperAnimeBaseMorf(getMainBckData(ANM_GRASS_WHISTLE_START)->m_underID, -1.0f);
setFacePriAnime(ANM_GRASS_WHISTLE_START);
mProcVar2.field_0x300c = param_0;
- mProcVar3.field_0x300e.x = param_1;
+ mProcVar3.field_0x300e = param_1;
dCam_getBody()->StartEventCamera(12, fopAcM_GetID(this), 0);
mProcVar0.field_0x3008 = 0;
- mProcVar3.field_0x300e.y = 0;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar4.field_0x3010 = 0;
+ mProcVar5.field_0x3012 = 0;
mMsgClassID = -1;
mNormalSpeed = 0.0f;
current.angle.y = shape_angle.y;
@@ -176,10 +176,9 @@ int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s
/* 80111CA4-80111FF0 10C5E4 034C+00 1/0 0/0 0/0 .text procGrassWhistleWait__9daAlink_cFv
*/
-// small regalloc
-#ifdef NONMATCHING
+// NONMATCHING - small regalloc
int daAlink_c::procGrassWhistleWait() {
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
if (checkEndMessage(field_0x32cc)) {
resetSpecialEvent();
return procWaitInit();
@@ -206,7 +205,7 @@ int daAlink_c::procGrassWhistleWait() {
if (field_0x3198 == 0x100) {
tk_p->setEvent();
- tk_p->setHawkPath(mProcVar3.field_0x300e.x);
+ tk_p->setHawkPath(mProcVar3.field_0x300e);
}
mProcVar0.field_0x3008--;
@@ -227,7 +226,7 @@ int daAlink_c::procGrassWhistleWait() {
}
setFaceBasicTexture(FTANM_UNK_0);
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
return 1;
}
@@ -270,23 +269,17 @@ int daAlink_c::procGrassWhistleWait() {
return 1;
}
-#else
-int daAlink_c::procGrassWhistleWait() {
- // NONMATCHING
- return 0;
-}
-#endif
/* 80111FF0-801120C8 10C930 00D8+00 2/2 0/0 0/0 .text procCoHorseCallWaitInit__9daAlink_cFi */
int daAlink_c::procCoHorseCallWaitInit(int param_0) {
commonProcInit(PROC_HORSE_CALL_WAIT);
if (param_0 == 4) {
- mProcVar3.field_0x300e.y = 2;
+ mProcVar4.field_0x3010 = 2;
} else if (param_0 == 1) {
- mProcVar3.field_0x300e.y = 0x3D;
+ mProcVar4.field_0x3010 = 0x3D;
} else {
- mProcVar3.field_0x300e.y = 0x10;
+ mProcVar4.field_0x3010 = 0x10;
}
if (checkWolf()) {
diff --git a/src/d/actor/d_a_alink_wolf.inc b/src/d/actor/d_a_alink_wolf.inc
index 3019e26382..0ebcf33056 100644
--- a/src/d/actor/d_a_alink_wolf.inc
+++ b/src/d/actor/d_a_alink_wolf.inc
@@ -104,8 +104,7 @@ void daAlink_c::changeCommon() {
/* 80126928-80126F3C 121268 0614+00 2/2 0/0 0/0 .text changeWolf__9daAlink_cFv */
-// small regalloc, equivalent?
-#ifdef NONMATCHING
+// NONMATCHING - small regalloc, equivalent?
void daAlink_c::changeWolf() {
JKRHeap* current_heap = mAnmHeap3.setAnimeHeap();
@@ -242,18 +241,12 @@ void daAlink_c::changeWolf() {
field_0x2fc7 = dStage_stagInfo_GetWolfDashType(dComIfGp_getStage()->getStagInfo());
}
-#else
-void daAlink_c::changeWolf() {
- // NONMATCHING
-}
-#endif
/* 80126F3C-80127C54 12187C 0D18+00 2/2 0/0 0/0 .text changeLink__9daAlink_cFi */
-// almost, small regalloc
-#ifdef NONMATCHING
+// NONMATCHING - almost, small regalloc
void daAlink_c::changeLink(int param_0) {
JKRHeap* current_heap = mAnmHeap3.setAnimeHeap();
- offNoResetFlg2(0x180000);
+ offNoResetFlg2(daPy_FLG2(FLG2_UNK_100000 | FLG2_UNK_80000));
mMagicArmorBodyBrk = NULL;
mMagicArmorHeadBrk = NULL;
@@ -528,11 +521,6 @@ void daAlink_c::changeLink(int param_0) {
mpWlMidnaHairModel = NULL;
}
}
-#else
-void daAlink_c::changeLink(int param_0) {
- // NONMATCHING
-}
-#endif
/* 80127C54-80127CAC 122594 0058+00 2/2 0/0 0/0 .text onWolfEyeUp__9daAlink_cFv */
void daAlink_c::onWolfEyeUp() {
@@ -1008,7 +996,7 @@ int daAlink_c::checkNextActionWolf(int param_0) {
} else {
var_r30 = checkWaitAction();
}
- } else if (checkInputOnR() && field_0x2fa8 != 8 && abs(field_0x3180) < 0x5000 &&
+ } else if (checkInputOnR() && mGndPolySpecialCode != dBgW_SPCODE_ICE && abs(field_0x3180) < 0x5000 &&
cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7000 &&
((checkWolfDashMode() &&
speedF / field_0x594 > daAlinkHIO_wlMove_c0::m.field_0xA0) ||
@@ -1187,7 +1175,7 @@ void daAlink_c::setWolfChainPos() {
}
/* 8012CB0C-8012CBE4 12744C 00D8+00 1/1 0/0 0/0 .text setWolfAnmVoice__9daAlink_cFv */
-#ifdef NONMATCHING
+// NONMATCHING - wrong block order
void daAlink_c::setWolfAnmVoice() {
s8* var_r30 = field_0x2160;
@@ -1203,22 +1191,17 @@ void daAlink_c::setWolfAnmVoice() {
var_r30++;
}
}
-#else
-void daAlink_c::setWolfAnmVoice() {
- // NONMATCHING
-}
-#endif
/* 8012CBE4-8012CD28 127524 0144+00 4/4 0/0 0/0 .text procWolfServiceWaitInit__9daAlink_cFi */
int daAlink_c::procWolfServiceWaitInit(int param_0) {
commonProcInit(PROC_WOLF_SERVICE_WAIT);
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
if (param_0 == 2) {
setSingleAnimeWolfBase(WANM_SERVICE_WAIT_D);
field_0x3198 = 0;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
} else if (param_0 == 1) {
if (cM_rnd() < 0.5f) {
setSingleAnimeWolfBase(WANM_SERVICE_WAIT_A);
@@ -1238,7 +1221,7 @@ int daAlink_c::procWolfServiceWaitInit(int param_0) {
mProcVar2.field_0x300c = 0;
}
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
mProcVar0.field_0x3008 = cM_rndF(150.0f) + 150.0f;
mNormalSpeed = 0.0f;
current.angle.y = shape_angle.y;
@@ -1329,7 +1312,7 @@ int daAlink_c::procWolfWaitInit() {
return 0;
}
- if (mProcID == PROC_WOLF_SERVICE_WAIT && (!checkEventRun() || mProcVar3.field_0x300e.z != 0) &&
+ if (mProcID == PROC_WOLF_SERVICE_WAIT && (!checkEventRun() || mProcVar5.field_0x3012 != 0) &&
(field_0x3198 == 0 || !checkAnmEnd(mUnderFrameCtrl)) && checkNoUpperAnime())
{
return 0;
@@ -1404,7 +1387,7 @@ int daAlink_c::procWolfDashInit() {
onNoResetFlg1(FLG1_DASH_MODE);
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (checkWolfSlowDash()) {
field_0x30d0 = daAlinkHIO_wlMove_c0::m.field_0x5A;
@@ -1462,11 +1445,11 @@ int daAlink_c::procWolfDash() {
}
if (swordSwingTrigger()) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
return checkWolfAttackAction();
}
@@ -1480,7 +1463,7 @@ int daAlink_c::procWolfDash() {
return checkNextActionWolf(0);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x28.mCheckFrame) {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
return checkWolfAttackAction();
}
@@ -1645,7 +1628,7 @@ int daAlink_c::procWolfWaitTurnInit() {
mNormalSpeed = 0.0f;
}
- mProcVar3.field_0x300e.x = field_0x2fe2;
+ mProcVar3.field_0x300e = field_0x2fe2;
current.angle.y = shape_angle.y;
return 1;
}
@@ -1664,7 +1647,7 @@ int daAlink_c::procWolfWaitTurn() {
return 1;
}
- s16 var_r31 = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.x, 30, 0x3CDF, 8000);
+ s16 var_r31 = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e, 30, 0x3CDF, 8000);
current.angle.y = shape_angle.y;
if (checkNextActionFromButton()) {
@@ -1731,8 +1714,8 @@ int daAlink_c::procWolfSideStepInit(int param_0) {
mProcVar1.field_0x300a = 1;
}
- mProcVar3.field_0x300e.z = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar5.field_0x3012 = 0;
+ mProcVar3.field_0x300e = 0;
voiceStart(Z2SE_WL_V_BREATH_JUMP);
return 1;
}
@@ -1757,8 +1740,8 @@ int daAlink_c::procWolfSideStep() {
checkWolfAtnDoCharge();
- if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e.x != 0) {
- return procWolfSideStepLandInit(mProcVar3.field_0x300e.z);
+ if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e != 0) {
+ return procWolfSideStepLandInit(mProcVar5.field_0x3012);
}
if (mDemo.getDemoMode() != 0x10 &&
@@ -1768,7 +1751,7 @@ int daAlink_c::procWolfSideStep() {
return procWolfFallInit(2, daAlinkHIO_wlSideStep_c0::m.field_0x64);
}
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
return 1;
}
@@ -1788,7 +1771,7 @@ int daAlink_c::procWolfSideStepLandInit(s16 param_0) {
field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x14.mCheckFrame;
}
- mProcVar3.field_0x300e.z = param_0;
+ mProcVar5.field_0x3012 = param_0;
field_0x2f9d = 4;
setFootEffectProcType(2);
onResetFlg1(RFLG1_UNK_C);
@@ -1856,12 +1839,12 @@ int daAlink_c::procWolfBackJumpInit(int param_0) {
current.angle.y = shape_angle.y + 0x8000;
field_0x3478 = mNormalSpeed;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
if (param_0 == 0) {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
return 1;
@@ -1873,14 +1856,14 @@ int daAlink_c::procWolfBackJump() {
daAlinkHIO_wlAtnMove_c0::m.field_0x0, daAlinkHIO_wlAtnMove_c0::m.field_0x2);
current.angle.y = shape_angle.y - -0x8000;
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
checkWolfAtnDoCharge();
}
backJumpSpeedDec();
if (mUnderFrameCtrl[0].checkAnmEnd() && mLinkAcch.ChkGroundHit()) {
- procWolfBackJumpLandInit(mProcVar3.field_0x300e.z, mProcVar3.field_0x300e.y);
+ procWolfBackJumpLandInit(mProcVar5.field_0x3012, mProcVar4.field_0x3010);
} else if (mDemo.getDemoMode() != 0x10 &&
current.pos.y < mLastJumpPos.y - daAlinkHIO_wlBackJump_c0::m.field_0x30)
{
@@ -1899,8 +1882,8 @@ int daAlink_c::procWolfBackJumpLandInit(s16 param_0, s16 param_1) {
field_0x2f9d = 4;
setFootEffectProcType(2);
field_0x2fcc = 10;
- mProcVar3.field_0x300e.z = param_0;
- mProcVar3.field_0x300e.y = param_1;
+ mProcVar5.field_0x3012 = param_0;
+ mProcVar4.field_0x3010 = param_1;
setStepLandVibration();
return 1;
@@ -1917,7 +1900,7 @@ int daAlink_c::procWolfBackJumpLand() {
setWolfAtnMoveDirection();
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
checkWolfAtnDoCharge();
}
@@ -1946,11 +1929,11 @@ int daAlink_c::procWolfHowlInit(int param_0) {
setSingleAnimeWolfParam(WANM_HOWL_SIT, &daAlinkHIO_wlHowl_c0::m.field_0x14);
onModeFlg(0x800000);
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x14.mCheckFrame;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
setSingleAnimeWolfParam(WANM_HOWL, &daAlinkHIO_wlHowl_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x0.mCheckFrame;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
mNormalSpeed = 0.0f;
@@ -1965,13 +1948,13 @@ int daAlink_c::procWolfHowl() {
if (checkAnmEnd(frameCtrl_p)) {
if (doButton()) {
- procWolfHowlInit(mProcVar3.field_0x300e.x);
+ procWolfHowlInit(mProcVar3.field_0x300e);
} else {
checkNextActionWolf(0);
}
} else if (frameCtrl_p->getFrame() > field_0x3478) {
if (doButton()) {
- procWolfHowlInit(mProcVar3.field_0x300e.x);
+ procWolfHowlInit(mProcVar3.field_0x300e);
} else {
checkNextActionWolf(1);
}
@@ -2108,7 +2091,7 @@ int daAlink_c::procWolfFallInit(int param_0, f32 i_morf) {
return 0;
}
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
if (param_0 == 1) {
mNormalSpeed = 0.0f;
@@ -2126,7 +2109,7 @@ int daAlink_c::procWolfFallInit(int param_0, f32 i_morf) {
mNormalSpeed = field_0x3408;
speed.y = field_0x340c;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
}
setSingleAnimeWolfBaseSpeed(WANM_JUMP_ATTACK, 0.0f, i_morf);
@@ -2157,10 +2140,10 @@ int daAlink_c::procWolfFallInit(int param_0, f32 i_morf) {
/* 8012EFB8-8012F138 1298F8 0180+00 1/0 0/0 0/0 .text procWolfFall__9daAlink_cFv */
int daAlink_c::procWolfFall() {
- if (mProcVar3.field_0x300e.z == 0) {
+ if (mProcVar5.field_0x3012 == 0) {
cLib_chaseF(&mNormalSpeed, 0.0f, 0.1f);
- } else if (mProcVar3.field_0x300e.z > 0) {
- mProcVar3.field_0x300e.z = -1;
+ } else if (mProcVar5.field_0x3012 > 0) {
+ mProcVar5.field_0x3012 = -1;
return 1;
}
@@ -2493,7 +2476,7 @@ int daAlink_c::procWolfSlideReadyInit(s16 i_angle, int param_1) {
field_0x3588 = l_wolfBaseAnime;
field_0x3478 = 1.0f / mUnderFrameCtrl[0].getEnd();
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = param_1;
+ mProcVar3.field_0x300e = param_1;
field_0x814.SetWeight(0xFF);
return 1;
}
@@ -2519,7 +2502,7 @@ int daAlink_c::procWolfSlideReady() {
}
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
procWolfSlideInit(current.angle.y, 1);
} else {
procWolfSlopeStartInit(1);
@@ -2817,8 +2800,8 @@ int daAlink_c::procWolfHowlDemoInit() {
commonProcInit(PROC_WOLF_HOWL_DEMO);
field_0x3198 = -1;
- mProcVar3.field_0x300e.z = -1;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar5.field_0x3012 = -1;
+ mProcVar4.field_0x3010 = 0;
mProcVar0.field_0x3008 = -1;
if (name != PROC_ALINK) {
@@ -2826,7 +2809,7 @@ int daAlink_c::procWolfHowlDemoInit() {
daObjYobikusa_c* yobikusa_p = (daObjYobikusa_c*)field_0x27f4;
mZ2WolfHowlMgr.setCorrectCurve(yobikusa_p->getType());
- mProcVar3.field_0x300e.z = yobikusa_p->getPathID();
+ mProcVar5.field_0x3012 = yobikusa_p->getPathID();
shape_angle.y = yobikusa_p->shape_angle.y;
current.angle.y = shape_angle.y;
@@ -2840,10 +2823,10 @@ int daAlink_c::procWolfHowlDemoInit() {
} else if (name == PROC_Obj_WindStone) {
mZ2WolfHowlMgr.setCorrectCurve(static_cast<daWindStone_c*>(field_0x27f4)->getTuneId());
mProcVar0.field_0x3008 = static_cast<daWindStone_c*>(field_0x27f4)->getNextSceneId();
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else if (name == PROC_Obj_SmWStone) {
mZ2WolfHowlMgr.setCorrectCurve(static_cast<daSmWStone_c*>(field_0x27f4)->getTuneId());
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else if (name == PROC_Tag_WaraHowl) {
mZ2WolfHowlMgr.setCorrectCurve(static_cast<daTagWrHowl_c*>(field_0x27f4)->getTuneId());
} else {
@@ -2863,7 +2846,7 @@ int daAlink_c::procWolfHowlDemoInit() {
} else {
field_0x347c = 10.0f;
- if (mProcVar3.field_0x300e.y == 0) {
+ if (mProcVar4.field_0x3010 == 0) {
setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.field_0x44,
daAlinkHIO_wlLie_c0::m.field_0x48);
} else {
@@ -2877,7 +2860,7 @@ int daAlink_c::procWolfHowlDemoInit() {
mMsgClassID = -1;
field_0x32cc = 0x5DD;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = -1;
+ mProcVar3.field_0x300e = -1;
mDoAud_taktModeMute();
if (checkStageName("F_SP200")) {
@@ -2923,7 +2906,7 @@ int daAlink_c::procWolfHowlDemo() {
if (field_0x347c < 0.0f) {
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
setSingleAnimeWolfBase(WANM_LISTEN);
setFaceBasicTexture(FTANM_UNK_A2);
} else {
@@ -2937,7 +2920,7 @@ int daAlink_c::procWolfHowlDemo() {
field_0x347c -= 1.0f;
} else {
bool var_r26 = mDoCPd_c::getHoldA(PAD_1) != false;
- if (mProcVar3.field_0x300e.y != 0 && mProcVar2.field_0x300c != 0) {
+ if (mProcVar4.field_0x3010 != 0 && mProcVar2.field_0x300c != 0) {
var_r26 = false;
}
@@ -2983,12 +2966,12 @@ int daAlink_c::procWolfHowlDemo() {
}
}
- s16 var_r25 = mProcVar3.field_0x300e.x;
+ s16 var_r25 = mProcVar3.field_0x300e;
f32 stick_y = mDoCPd_c::getStickY(PAD_1);
- mProcVar3.field_0x300e.x = mZ2WolfHowlMgr.startWolfHowlSound(0.0f, stick_y, var_r26, 0.0f);
+ mProcVar3.field_0x300e = mZ2WolfHowlMgr.startWolfHowlSound(0.0f, stick_y, var_r26, 0.0f);
s16 var_r26_2 = 0;
- if (mProcVar3.field_0x300e.x == -1 || skip_edge) {
+ if (mProcVar3.field_0x300e == -1 || skip_edge) {
if (checkUnderMove0BckNoArcWolf(WANM_HOWL_END) || skip_edge) {
if (checkAnmEnd(frameCtrl_p) || skip_edge) {
if (mProcVar0.mHowlExitID >= 0) {
@@ -3012,7 +2995,7 @@ int daAlink_c::procWolfHowlDemo() {
if (fopAcM_GetName(actor_p) == PROC_KAGO) {
static_cast<daKago_c*>(actor_p)->setEvent();
static_cast<daKago_c*>(actor_p)->setKagoPath(
- mProcVar3.field_0x300e.z);
+ mProcVar5.field_0x3012);
} else if (fopAcM_GetName(actor_p) == PROC_OBJ_SEKIZOA) {
static_cast<daObj_Sekizoa_c*>(actor_p)->setWolfHowling();
} else if (fopAcM_GetName(actor_p) == PROC_E_PM) {
@@ -3032,9 +3015,9 @@ int daAlink_c::procWolfHowlDemo() {
} else if (fopAcM_GetName(actor_p) == PROC_NPC_TK) {
static_cast<daNPC_TK_c*>(actor_p)->setEventWolf();
static_cast<daNPC_TK_c*>(actor_p)->setHawkPath(
- mProcVar3.field_0x300e.z);
+ mProcVar5.field_0x3012);
}
- } else if (mProcVar3.field_0x300e.y == 0) {
+ } else if (mProcVar4.field_0x3010 == 0) {
setWolfHowlNotHappen(skip_edge);
return 1;
}
@@ -3161,7 +3144,7 @@ f32 daAlink_c::getWolfRopeMoveSpeed() {
/* 80131718-801319F0 12C058 02D8+00 6/6 0/0 0/0 .text setWolfRopePosY__9daAlink_cFv */
-#ifdef NONMATCHING
+// NONMATCHING
int daAlink_c::setWolfRopePosY() {
daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor();
cXyz* temp_r28 = temp_r3->getRopeStartPos();
@@ -3197,12 +3180,6 @@ int daAlink_c::setWolfRopePosY() {
return 0;
}
}
-#else
-int daAlink_c::setWolfRopePosY() {
- // NONMATCHING
- return 0;
-}
-#endif
/* 801319F0-80131A6C 12C330 007C+00 5/5 0/0 0/0 .text initWolfRopeShapeAngle__9daAlink_cFv */
s16 daAlink_c::initWolfRopeShapeAngle() {
@@ -3306,7 +3283,7 @@ int daAlink_c::procWolfRopeMoveInit(int param_0, int param_1) {
field_0x30a0 = -0x1800;
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
initServiceWaitTime();
return 1;
}
@@ -3325,12 +3302,12 @@ int daAlink_c::procWolfRopeHangInit(int param_0) {
commonProcInit(PROC_WOLF_ROPE_HANG);
if (param_0 != 4) {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
setSingleAnimeWolf(WANM_HANG, daAlinkHIO_wlRope_c0::m.field_0x28, 0.0f, 16,
daAlinkHIO_wlRope_c0::m.field_0x2C);
rope_p->rideKeep();
} else {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
daAlink_WANM climb_anm;
s16 temp_r0 = shape_angle.y - rope_p->shape_angle.y;
@@ -3353,12 +3330,12 @@ int daAlink_c::procWolfRopeHangInit(int param_0) {
}
field_0x3198 = param_0;
- mProcVar3.field_0x300e.y = initWolfRopeShapeAngle();
+ mProcVar4.field_0x3010 = initWolfRopeShapeAngle();
mProcVar2.field_0x300c = 0;
if (param_0 == 2) {
shape_angle.y -= 0x4000;
- mProcVar3.field_0x300e.y = -mProcVar3.field_0x300e.y;
+ mProcVar4.field_0x3010 = -mProcVar4.field_0x3010;
} else {
shape_angle.y += 0x4000;
}
@@ -3391,7 +3368,7 @@ int daAlink_c::procWolfRopeTurnInit() {
speed.y = 0.0f;
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.x = initWolfRopeShapeAngle();
+ mProcVar3.field_0x300e = initWolfRopeShapeAngle();
current.angle.y = shape_angle.y + 0x8000;
field_0x3588 = l_wolfBaseAnime;
shape_angle.x = 0;
@@ -3416,14 +3393,14 @@ int daAlink_c::procWolfRopeStaggerInit(int param_0) {
if (param_0 == 4) {
setSingleAnimeWolfBase(WANM_ROPE_WAIT);
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
setSingleAnimeWolfBase(WANM_ROPE_FALTER);
field_0x3588 = l_wolfRopeBaseAnime;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
- mProcVar3.field_0x300e.y = param_0;
+ mProcVar4.field_0x3010 = param_0;
mProcVar2.field_0x300c = initWolfRopeShapeAngle();
setSpecialGravity(0.0f, maxFallSpeed, 0);
speed.y = 0.0f;
@@ -3554,7 +3531,7 @@ int daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) {
commonProcInit(PROC_WOLF_TAG_JUMP_LAND);
setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &daAlinkHIO_wlPoint_c0::m.field_0x3C);
- if (field_0x2fa8 == 8) {
+ if (mGndPolySpecialCode == dBgW_SPCODE_ICE) {
mNormalSpeed = daAlinkHIO_wlPoint_c0::m.field_0x6C;
} else {
mNormalSpeed = 0.0f;
@@ -3809,7 +3786,7 @@ int daAlink_c::procWolfHangWallCatchInit(int param_0) {
int daAlink_c::procWolfHangWallCatch() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
- if (mProcVar3.field_0x300e.x != 0 && frameCtrl_p->getFrame() >= 23.0f) {
+ if (mProcVar3.field_0x300e != 0 && frameCtrl_p->getFrame() >= 23.0f) {
field_0x2f99 = 4;
offModeFlg(0x4000);
} else if (changeWolfHangEndProc()) {
@@ -3823,18 +3800,18 @@ int daAlink_c::procWolfHangWallCatch() {
}
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
if (field_0x3174 == 6) {
- if (mProcVar3.field_0x300e.y == 0) {
+ if (mProcVar4.field_0x3010 == 0) {
setSingleAnimeWolf(WANM_HANG, daAlinkHIO_wlWallHang_c0::m.field_0x28.mSpeed,
35.0f, daAlinkHIO_wlWallHang_c0::m.field_0x28.mEndFrame,
5.0f);
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
} else {
setSingleAnimeWolf(WANM_VJMP_CLIMB, daAlinkHIO_wlWallHang_c0::m.field_0x14.mSpeed,
17.0f, daAlinkHIO_wlWallHang_c0::m.field_0x14.mEndFrame, 2.0f);
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
} else {
checkNextActionWolf(0);
@@ -3846,7 +3823,7 @@ int daAlink_c::procWolfHangWallCatch() {
onNoResetFlg1(FLG1_UNK_20);
}
- } else if (mProcVar3.field_0x300e.x != 0 &&
+ } else if (mProcVar3.field_0x300e != 0 &&
frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.field_0x14.mCheckFrame &&
checkNextActionWolf(1))
{
@@ -3901,7 +3878,7 @@ int daAlink_c::procWolfHangFallStartInit(cM3dGPla* param_0) {
mProcVar2.field_0x300c = 0;
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
mNormalSpeed = 0.0f;
speed.y = 0.0f;
dComIfGp_setPlayerStatus0(0, 0x100);
@@ -3923,18 +3900,18 @@ int daAlink_c::procWolfHangFallStart() {
dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f));
}
- if (mProcVar2.field_0x300c == 0 && mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar2.field_0x300c == 0 && mProcVar3.field_0x300e == 0) {
if (frameCtrl_p->getFrame() > 22.0f) {
frameCtrl_p->setFrame(22.0f);
getNowAnmPackUnder(UNDER_0)->setFrame(22.0f);
if (checkInputOnR() && getDirectionFromShapeAngle() == DIR_FORWARD) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
}
} else if (checkAnmEnd(mUnderFrameCtrl) &&
((checkInputOnR() && getDirectionFromShapeAngle() == DIR_FORWARD) ||
- mProcVar3.field_0x300e.x != 0))
+ mProcVar3.field_0x300e != 0))
{
procWolfHangWallCatchInit(8);
}
@@ -3984,7 +3961,7 @@ int daAlink_c::procWolfDamage() {
current.angle.y = shape_angle.y;
if (!checkNextActionWolf(1)) {
- current.angle.y = mProcVar3.field_0x300e.y;
+ current.angle.y = mProcVar4.field_0x3010;
}
}
@@ -4097,7 +4074,7 @@ int daAlink_c::procWolfScreamWaitInit() {
}
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
field_0x3588 = l_wolfBaseAnime;
return 1;
@@ -4108,7 +4085,7 @@ int daAlink_c::procWolfScreamWait() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
if (!checkEndResetFlg1(ERFLG1_UNK_1)) {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
field_0x2f99 = 5;
if (frameCtrl->checkAnmEnd()) {
@@ -4117,7 +4094,7 @@ int daAlink_c::procWolfScreamWait() {
checkNextActionWolf(1);
}
} else {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
setSingleAnimeWolf(WANM_DMG_AIR_FRONT_GETUP,
daAlinkHIO_wlDamLarge_c0::m.field_0x0.mSpeed, 20.0f,
daAlinkHIO_wlDamLarge_c0::m.field_0x0.mEndFrame,
@@ -4201,21 +4178,21 @@ int daAlink_c::checkNextActionWolfFromLie() {
void daAlink_c::setWolfLieMoveVoice(int param_0) {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
- if (frameCtrl->getRate() == 0.0f && mProcVar3.field_0x300e.z != 0) {
- mProcVar3.field_0x300e.z--;
+ if (frameCtrl->getRate() == 0.0f && mProcVar5.field_0x3012 != 0) {
+ mProcVar5.field_0x3012--;
}
if ((param_0 != 0 && (frameCtrl->checkPass(11.0f) || frameCtrl->checkPass(26.0f))) ||
- (frameCtrl->getRate() == 0.0f && mProcVar3.field_0x300e.z == 0))
+ (frameCtrl->getRate() == 0.0f && mProcVar5.field_0x3012 == 0))
{
voiceStart(Z2SE_WL_V_BREATH_WALK);
- mProcVar3.field_0x300e.z = 30;
+ mProcVar5.field_0x3012 = 30;
}
}
/* 801373F8-80137420 131D38 0028+00 2/2 0/0 0/0 .text checkWolfLieCode__9daAlink_cFv */
bool daAlink_c::checkWolfLieCode() {
- if (mLinkAcch.ChkGroundHit() && field_0x2fa8 == 4) {
+ if (mLinkAcch.ChkGroundHit() && mGndPolySpecialCode == 4) {
return true;
}
@@ -4233,15 +4210,15 @@ int daAlink_c::procWolfLieStartInit(int param_0) {
shape_angle.y = field_0x306e + 0x8000;
current.pos.x = field_0x34ec.x + cM_ssin(field_0x306e) * 90.0f;
current.pos.z = field_0x34ec.z + cM_scos(field_0x306e) * 90.0f;
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
} else {
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
}
mNormalSpeed = 0.0f;
current.angle.y = shape_angle.y;
field_0x2f99 = 0;
- mProcVar3.field_0x300e.z = 30;
+ mProcVar5.field_0x3012 = 30;
dComIfGp_setPlayerStatus0(0, 0x8000000);
return 1;
}
@@ -4252,7 +4229,7 @@ int daAlink_c::procWolfLieStart() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
decideCrawlDoStatus();
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
if (checkAnmEnd(frameCtrl_p)) {
procWolfLieMoveInit(1);
}
@@ -4275,8 +4252,7 @@ int daAlink_c::procWolfLieStart() {
/* 80137634-801377F0 131F74 01BC+00 5/5 0/0 0/0 .text procWolfLieMoveInit__9daAlink_cFi
*/
-// regalloc
-#ifdef NONMATCHING
+// NONMATCHING - regalloc
int daAlink_c::procWolfLieMoveInit(int param_0) {
BOOL var_r30 = mProcID == PROC_TALK;
BOOL var_r29 = checkUnderMove0BckNoArcWolf(WANM_CROUCH_WALK) == FALSE;
@@ -4286,7 +4262,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) {
return 0;
}
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (!var_r29) {
if (var_r30) {
@@ -4300,7 +4276,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) {
if (mDemo.getDemoMode() == 0x2C) {
anm_speed = 0.0f;
} else if (param_0) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
onModeFlg(0x6000);
} else if (getDirectionFromShapeAngle() == DIR_BACKWARD) {
anm_speed *= -1.0f;
@@ -4311,7 +4287,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) {
}
field_0x3198 = var_r29 ^ 1;
- mProcVar3.field_0x300e.y = var_r30;
+ mProcVar4.field_0x3010 = var_r30;
field_0x2f99 = 0xD;
dComIfGp_setPlayerStatus0(0, 0x8000000);
@@ -4319,7 +4295,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) {
dComIfGp_setPlayerStatus0(0, 0x2000);
}
- mProcVar3.field_0x300e.z = 30;
+ mProcVar5.field_0x3012 = 30;
if (checkAttentionLock()) {
field_0x2fe4 = shape_angle.y;
@@ -4327,12 +4303,6 @@ int daAlink_c::procWolfLieMoveInit(int param_0) {
return 1;
}
-#else
-int daAlink_c::procWolfLieMoveInit(int param_0) {
- // NONMATCHING
- return 0;
-}
-#endif
/* 801377F0-80137C90 132130 04A0+00 1/0 0/0 0/0 .text procWolfLieMove__9daAlink_cFv */
int daAlink_c::procWolfLieMove() {
@@ -4342,8 +4312,7 @@ int daAlink_c::procWolfLieMove() {
/* 80137C90-80137D4C 1325D0 00BC+00 1/1 0/0 0/0 .text procWolfLieAutoMoveInit__9daAlink_cFiP4cXyz
*/
-// regalloc
-#ifdef NONMATCHING
+// NONMATCHING - regalloc
int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) {
BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000);
commonProcInit(PROC_WOLF_LIE_AUTO_MOVE);
@@ -4362,15 +4331,9 @@ int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) {
dComIfGp_setPlayerStatus0(0, 0x2000);
}
- mProcVar3.field_0x300e.z = 30;
+ mProcVar5.field_0x3012 = 30;
return 1;
}
-#else
-int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) {
- // NONMATCHING
- return 0;
-}
-#endif
/* 80137D4C-80138000 13268C 02B4+00 1/0 0/0 0/0 .text procWolfLieAutoMove__9daAlink_cFv
*/
@@ -4500,7 +4463,7 @@ int daAlink_c::procWolfSwimUpInit() {
setFaceBasicTexture(FTANM_UNK_8E);
dComIfGp_setPlayerStatus0(0, 0x100000);
seStartMapInfo(Z2SE_WL_OUTOF_WATER);
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
return 1;
}
@@ -4536,10 +4499,10 @@ int daAlink_c::procWolfSwimWaitInit(int param_0) {
if (param_0) {
seStartMapInfo(Z2SE_WL_INTO_WATER);
- mProcVar3.field_0x300e.y = 0;
- mProcVar3.field_0x300e.z = 1;
+ mProcVar4.field_0x3010 = 0;
+ mProcVar5.field_0x3012 = 1;
} else {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
f32 anm_speed;
@@ -4659,11 +4622,11 @@ int daAlink_c::procWolfSwimEndWaitInit(int param_0) {
mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &field_0x37c8);
if (param_0 == 0) {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
} else if (field_0x2fbb == 13) {
- mProcVar3.field_0x300e.x = 2;
+ mProcVar3.field_0x300e = 2;
} else {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
JPABaseEmitter* spC = NULL;
@@ -4826,7 +4789,7 @@ void daAlink_c::resetWolfBallGrab() {
/* 80139048-8013911C 133988 00D4+00 1/1 0/0 0/0 .text checkWolfLockData__9daAlink_cFv */
-#ifdef NONMATCHING
+// NONMATCHING
void daAlink_c::checkWolfLockData() {
for (int i = 0; i < 10; i++) {
mWolfLockAcKeep[i].setActor();
@@ -4846,11 +4809,6 @@ void daAlink_c::checkWolfLockData() {
}
}
}
-#else
-void daAlink_c::checkWolfLockData() {
- // NONMATCHING
-}
-#endif
/* 8013911C-8013916C 133A5C 0050+00 1/0 0/0 0/0 .text checkWolfLock__9daAlink_cCFP10fopAc_ac_c */
BOOL daAlink_c::checkWolfLock(fopAc_ac_c* i_actor) const {
@@ -5079,7 +5037,7 @@ int daAlink_c::procWolfRollAttackMoveInit() {
mProcVar0.field_0x3008 = daAlinkHIO_wlAttack_c0::m.mUnkTime;
mProcVar1.field_0x300a = daAlinkHIO_wlAtLock_c0::m.field_0x28.mEndFrame;
- mProcVar3.field_0x300e.z = 30;
+ mProcVar5.field_0x3012 = 30;
field_0x3198 = 0;
field_0x2fe4 = shape_angle.y;
voiceStartLevel(Z2SE_WL_V_ROAR);
@@ -5208,7 +5166,7 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) {
int daAlink_c::procWolfJumpAttack() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
- if (mProcVar3.field_0x300e.x != 0 && mNormalSpeed > daAlinkHIO_wlAtCjump_c0::m.field_0x5C) {
+ if (mProcVar3.field_0x300e != 0 && mNormalSpeed > daAlinkHIO_wlAtCjump_c0::m.field_0x5C) {
cLib_chaseF(&mNormalSpeed, daAlinkHIO_wlAtCjump_c0::m.field_0x5C,
daAlinkHIO_wlAtCjump_c0::m.field_0x60);
}
@@ -5216,9 +5174,9 @@ int daAlink_c::procWolfJumpAttack() {
if (mAtCyl.ChkAtHit()) {
field_0x3198 = 1;
- if (mProcVar3.field_0x300e.y != 0 && mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar4.field_0x3010 != 0 && mProcVar3.field_0x300e == 0) {
mNormalSpeed *= daAlinkHIO_wlAtCjump_c0::m.field_0x58;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
}
@@ -5252,7 +5210,7 @@ int daAlink_c::procWolfJumpAttack() {
if (checkNoResetFlg2(FLG2_UNK_8)) {
procWolfEnemyThrowInit(4);
- } else if (mProcVar3.field_0x300e.z != 0 || mProcVar1.field_0x300a == 2 ||
+ } else if (mProcVar5.field_0x3012 != 0 || mProcVar1.field_0x300a == 2 ||
mProcVar1.field_0x300a == 3)
{
procWolfJumpAttackSlideLandInit(field_0x3198, 1, mProcVar1.field_0x300a == 2);
@@ -5322,9 +5280,9 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par
(fopAcM_GetGroup(mTargetedActor) == 2 &&
static_cast<fopEn_enemy_c*>(mTargetedActor)->checkDeadFlg()))
{
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
} else {
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
}
if ((mTargetedActor != NULL && fopAcM_GetGroup(mTargetedActor) == 2 && param_0 &&
@@ -5352,7 +5310,7 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par
field_0x2f99 = 4;
}
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration;
field_0x2f98 = 0;
return 1;
@@ -5369,7 +5327,7 @@ int daAlink_c::procWolfJumpAttackSlideLand() {
field_0x2f99 = 4;
cLib_addCalc(&mNormalSpeed, 0.0f, 0.3f, daAlinkHIO_wlAtLand_c0::m.field_0x3C, 0.5f);
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
setShapeAngleToAtnActor(0);
}
@@ -5413,7 +5371,7 @@ int daAlink_c::procWolfJumpAttackNormalLandInit(int param_0) {
setFootEffectProcType(2);
field_0x2f9d = 0x18;
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
mProcVar2.field_0x300c = param_0;
field_0x2f99 = 12;
field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration;
@@ -5466,13 +5424,13 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) {
if (i_attackType == 2) {
atk_hio = &daAlinkHIO_wlAtWaTl_c0::m;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
} else if (i_attackType == 1) {
atk_hio = &daAlinkHIO_wlAtWaSc_c0::m;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
} else {
atk_hio = &daAlinkHIO_wlAtWaLr_c0::m;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
f32 var_f2;
@@ -5498,7 +5456,7 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) {
}
current.angle.y = shape_angle.y;
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
mProcVar1.field_0x300a = 2;
field_0x347c = atk_hio->field_0x20;
field_0x3480 = atk_hio->field_0x24;
@@ -5568,7 +5526,7 @@ int daAlink_c::procWolfWaitAttack() {
voiceStart(Z2SE_WL_V_ATTACK_S);
}
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_TAIL);
} else {
seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_S);
@@ -5613,7 +5571,7 @@ int daAlink_c::procWolfRollAttackInit(int param_0, int param_1) {
field_0x3478 = daAlinkHIO_wlAtRoll_c0::m.field_0x14;
setCylAtParam(0x40000000, dCcG_At_Spl_UNK_1, 3, 4, 3, field_0x3478 * 0.5f, 155.0f);
mNormalSpeed = 0.0f;
- mProcVar3.field_0x300e.x = param_1;
+ mProcVar3.field_0x300e = param_1;
if (param_1 != 0) {
mUnderFrameCtrl[0].setStart(daAlinkHIO_wlAtRoll_c0::m.field_0x1C);
@@ -5647,7 +5605,7 @@ int daAlink_c::procWolfRollAttack() {
checkNextActionWolf(0);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAtRoll_c0::m.field_0x0.mCheckFrame) {
checkNextActionWolf(1);
- } else if (mProcVar3.field_0x300e.x == 0 && frameCtrl_p->getFrame() >= 4.0f &&
+ } else if (mProcVar3.field_0x300e == 0 && frameCtrl_p->getFrame() >= 4.0f &&
frameCtrl_p->getFrame() < 13.0f)
{
if (!checkNoResetFlg0(FLG0_UNK_40)) {
@@ -5827,14 +5785,13 @@ int daAlink_c::procWolfDownAtMissLand() {
}
/* 8013BE24-8013C3E4 136764 05C0+00 2/2 0/0 0/0 .text procWolfLockAttackInit__9daAlink_cFi */
-#ifdef NONMATCHING
-// wrong float regist + float literals
+// NONMATCHING - wrong float regist + float literals
int daAlink_c::procWolfLockAttackInit(int param_0) {
commonProcInit(PROC_WOLF_LOCK_ATTACK);
setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtLock_c0::m.field_0x0);
if (fopAcM_GetName(mWolfLockAcKeep[0].getActor()) == PROC_E_YMB) {
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
if (param_0 == 0) {
mProcVar1.field_0x300a = static_cast<daE_YMB_c*>(mWolfLockAcKeep[0].getActor())->getMaxLockAttack();
@@ -5849,7 +5806,7 @@ int daAlink_c::procWolfLockAttackInit(int param_0) {
} else {
field_0x37c8 = mWolfLockAcKeep[0].getActor()->eyePos;
mWolfLockAcKeep[0].clearData();
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
shape_angle.y = cLib_targetAngleY(&current.pos,&field_0x37c8);
@@ -5889,12 +5846,6 @@ int daAlink_c::procWolfLockAttackInit(int param_0) {
dComIfGp_particle_set(0x247,&current.pos,&current.angle,0);
return 1;
}
-#else
-int daAlink_c::procWolfLockAttackInit(int param_0) {
- // NONMATCHING
- return 0;
-}
-#endif
/* 8013C3E4-8013C630 136D24 024C+00 1/0 0/0 0/0 .text procWolfLockAttack__9daAlink_cFv */
int daAlink_c::procWolfLockAttack() {
@@ -5935,7 +5886,7 @@ int daAlink_c::procWolfLockAttack() {
daAlinkHIO_wlAtNjump_c0::m.field_0x28);
}
- if (mLinkAcch.ChkGroundHit() || (mProcVar3.field_0x300e.z != 0 && current.pos.y < mWaterY)) {
+ if (mLinkAcch.ChkGroundHit() || (mProcVar5.field_0x3012 != 0 && current.pos.y < mWaterY)) {
if (!mLinkAcch.ChkGroundHit()) {
current.pos.y = mWaterY;
}
@@ -5978,9 +5929,9 @@ int daAlink_c::procWolfLockAttackTurnInit(int param_0) {
if (mWolfLockAcKeep[0].getActor() != NULL &&
fopAcM_GetName(mWolfLockAcKeep[0].getActor()) == PROC_E_YMB)
{
- mProcVar3.field_0x300e.z = 1;
+ mProcVar5.field_0x3012 = 1;
} else {
- mProcVar3.field_0x300e.z = 0;
+ mProcVar5.field_0x3012 = 0;
}
field_0x2f9d = 4;
@@ -5999,7 +5950,7 @@ int daAlink_c::procWolfLockAttackTurnInit(int param_0) {
int daAlink_c::procWolfLockAttackTurn() {
field_0x2f99 = 4;
- if (mProcVar3.field_0x300e.z != 0 && current.pos.y < mWaterY) {
+ if (mProcVar5.field_0x3012 != 0 && current.pos.y < mWaterY) {
current.pos.y = mWaterY;
}
@@ -6157,9 +6108,9 @@ int daAlink_c::procWolfEnemyHangBiteInit() {
mProcVar0.field_0x3008 = daAlinkHIO_wlAtBite_c0::m.field_0x28;
mProcVar1.field_0x300a = 0;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
field_0x3478 = daAlinkHIO_wlAtBite_c0::m.field_0x40;
- mProcVar3.field_0x300e.y = shape_angle.y;
+ mProcVar4.field_0x3010 = shape_angle.y;
voiceStart(Z2SE_WL_V_BITE_ATTACK);
dComIfGp_setPlayerStatus1(0, 0x200000);
}
@@ -6177,12 +6128,12 @@ int daAlink_c::procWolfEnemyHangBite() {
return procWolfJumpAttackKickInit();
}
- cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 2, 0x2000, 0x800);
+ cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x2000, 0x800);
current.angle.y = shape_angle.y;
setDoStatusContinuation(3);
if (doTrigger()) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
mProcVar0.field_0x3008 = daAlinkHIO_wlAtBite_c0::m.field_0x28;
} else if (mProcVar0.field_0x3008 != 0) {
mProcVar0.field_0x3008--;
@@ -6190,9 +6141,9 @@ int daAlink_c::procWolfEnemyHangBite() {
if (mProcVar2.field_0x300c == 0) {
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
setSingleAnimeWolfBaseSpeed(WANM_CATCH, field_0x3478, 3.0f);
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
mProcVar2.field_0x300c = 1;
} else if (mProcVar0.field_0x3008 == 0) {
return procWolfJumpAttackKickInit();
@@ -6212,15 +6163,15 @@ int daAlink_c::procWolfEnemyHangBite() {
}
if (frameCtrl_p->getRate() < 0.1f) {
- if (mProcVar3.field_0x300e.x != 0) {
- mProcVar3.field_0x300e.x = 0;
+ if (mProcVar3.field_0x300e != 0) {
+ mProcVar3.field_0x300e = 0;
frameCtrl_p->setRate(field_0x3478);
}
} else {
frameCtrl_p->setRate(field_0x3478);
if (frameCtrl_p->checkPass(0.0f) || frameCtrl_p->checkPass(17.0f)) {
- if (mProcVar3.field_0x300e.x == 0) {
+ if (mProcVar3.field_0x300e == 0) {
if (frameCtrl_p->checkPass(0.0f)) {
frameCtrl_p->setFrame(0.0f);
} else {
@@ -6230,7 +6181,7 @@ int daAlink_c::procWolfEnemyHangBite() {
getNowAnmPackUnder(UNDER_0)->setFrame(frameCtrl_p->getFrame());
frameCtrl_p->setRate(0.0f);
} else {
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
}
} else if (frameCtrl_p->checkPass(14.0f) || frameCtrl_p->checkPass(36.0f)) {
setWolfBiteDamage(enemy_p);
@@ -6277,7 +6228,7 @@ int daAlink_c::procWolfGrabUpInit() {
current.angle.y = shape_angle.y;
mProcVar2.field_0x300c = shape_angle.y;
field_0x37c8 = field_0x27f4->current.pos - field_0x3510;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
if (fopAcM_GetName(field_0x27f4) != PROC_Obj_Drop &&
fopAcM_GetName(field_0x27f4) != PROC_Obj_Sword)
@@ -6317,7 +6268,7 @@ int daAlink_c::procWolfGrabUp() {
}
if (frameCtrl_p->getFrame() >= field_0x3478) {
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
}
if (checkAnmEnd(frameCtrl_p)) {
@@ -6439,7 +6390,7 @@ int daAlink_c::procWolfGrabThrow() {
/* 8013D930-8013DA8C 138270 015C+00 1/1 0/0 0/0 .text procWolfPushInit__9daAlink_cFv */
int daAlink_c::procWolfPushInit() {
commonProcInit(PROC_WOLF_PUSH);
- mProcVar3.field_0x300e.x = 18;
+ mProcVar3.field_0x300e = 18;
s16 var_r5;
if (fopAcM_CheckCarryType(field_0x27f4, fopAcM_CARRY_TYPE_1)) {
@@ -6447,7 +6398,7 @@ int daAlink_c::procWolfPushInit() {
var_r5 = 24;
} else {
mProcVar2.field_0x300c = 0;
- var_r5 = mProcVar3.field_0x300e.x;
+ var_r5 = mProcVar3.field_0x300e;
}
setSingleAnimeWolf(WANM_PUSH_LIGHT, 1.0f, 0.0f, var_r5, 3.0f);
mUnderFrameCtrl[0].setAttribute(0);
@@ -6482,7 +6433,7 @@ int daAlink_c::procWolfPush() {
if (frameCtrl->checkAnmEnd()) {
if (mProcVar2.field_0x300c != 0) {
setSingleAnimeWolf(WANM_PUSH_LIGHT, 1.0f, 0.0f,
- mProcVar3.field_0x300e.x, 3.0f);
+ mProcVar3.field_0x300e, 3.0f);
mUnderFrameCtrl[0].setAttribute(0);
mProcVar2.field_0x300c = 0;
} else {
@@ -6642,12 +6593,12 @@ int daAlink_c::procWolfGanonCatchInit() {
current.angle.y = shape_angle.y + 0x8000;
mNormalSpeed = 50.0f;
- mProcVar3.field_0x300e.z = 30;
+ mProcVar5.field_0x3012 = 30;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
setFootEffectProcType(0);
field_0x2f9d = 0x60;
- mProcVar3.field_0x300e.y = 4;
+ mProcVar4.field_0x3010 = 4;
return 1;
}
@@ -6677,18 +6628,18 @@ int daAlink_c::procWolfGanonCatch() {
if (checkInputOnR()) {
int direction = getDirectionFromAngle(mStickAngle);
if (direction == DIR_LEFT || direction == DIR_RIGHT) {
- mProcVar3.field_0x300e.y = direction;
+ mProcVar4.field_0x3010 = direction;
}
}
if (cLib_chaseF(&mNormalSpeed, 0.0f, 1.0f)) {
- if (mProcVar3.field_0x300e.z != 0) {
- mProcVar3.field_0x300e.z--;
+ if (mProcVar5.field_0x3012 != 0) {
+ mProcVar5.field_0x3012--;
} else {
- if (mProcVar3.field_0x300e.y == DIR_LEFT) {
+ if (mProcVar4.field_0x3010 == DIR_LEFT) {
setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_LEFT_START);
ganon_p->setThrowModeThrowLeft();
- } else if (mProcVar3.field_0x300e.y == DIR_RIGHT) {
+ } else if (mProcVar4.field_0x3010 == DIR_RIGHT) {
setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_RIGHT_START);
ganon_p->setThrowModeThrowRight();
} else {
@@ -6706,14 +6657,14 @@ int daAlink_c::procWolfGanonCatch() {
}
} else {
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar3.field_0x300e.y == DIR_LEFT) {
+ if (mProcVar4.field_0x3010 == DIR_LEFT) {
setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_LEFT_END);
} else {
setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_RIGHT_END);
}
}
- if (mProcVar3.field_0x300e.x != 0) {
+ if (mProcVar3.field_0x300e != 0) {
resetSpecialEvent();
procWolfWaitInit();
}
@@ -6730,7 +6681,7 @@ int daAlink_c::procWolfChainReadyInit() {
setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtNjump_c0::m.field_0x0);
mNormalSpeed = 0.0f;
mProcVar2.field_0x300c = 0;
- mProcVar3.field_0x300e.x = 0;
+ mProcVar3.field_0x300e = 0;
return 1;
}
@@ -6744,10 +6695,10 @@ int daAlink_c::procWolfChainReady() {
s16 target_angle_y = cLib_targetAngleY(&current.pos, &chain->getJumpAimPos());
cLib_addCalcAngleS(&shape_angle.y, target_angle_y, 2, 0x2000, 0x800);
current.angle.y = shape_angle.y;
- } else if (mProcVar3.field_0x300e.x == 0) {
+ } else if (mProcVar3.field_0x300e == 0) {
shape_angle.y = cLib_targetAngleY(&current.pos, &chain->getJumpAimPos());
current.angle.y = shape_angle.y;
- mProcVar3.field_0x300e.x = 1;
+ mProcVar3.field_0x300e = 1;
cXyz vec1 = chain->getJumpAimPos() - field_0x34e0;
f32 dist_xz = vec1.absXZ();
f32 dist = vec1.abs();
@@ -6781,7 +6732,7 @@ int daAlink_c::procWolfChainWaitInit() {
current.pos = chain->getTopPos();
setSpecialGravity(0.0f, maxFallSpeed, 0);
speed.y = 0.0f;
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
mProcVar0.field_0x3008 = daAlinkHIO_wlChain_c0::m.field_0x3C + 20;
field_0x3478 = chain->getPullLength();
current.angle.y = shape_angle.y;
@@ -6811,14 +6762,14 @@ int daAlink_c::procWolfChainWait() {
return procWolfFallInit(2, daAlinkHIO_wlWallHang_c0::m.field_0x98);
}
- if (mProcVar3.field_0x300e.y == 0) {
+ if (mProcVar4.field_0x3010 == 0) {
if (mProcVar0.field_0x3008 > 20) {
mProcVar0.field_0x3008--;
} else {
field_0x3478 += daAlinkHIO_wlChain_c0::m.field_0x50;
if (field_0x3478 > chain->getSwitchOffset()) {
chain->onNowSwitchFlg();
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
dComIfGp_getVibration().StartShock(7, 3, cXyz(0.0f, 1.0f, 0.0f));
}
}
@@ -6905,11 +6856,11 @@ int daAlink_c::procWolfDigThrough() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
field_0x2f99 = 4;
- if (mProcVar3.field_0x300e.x != 0) {
- onSceneChangeArea(mProcVar3.field_0x300e.y, 0xFF, NULL);
+ if (mProcVar3.field_0x300e != 0) {
+ onSceneChangeArea(mProcVar4.field_0x3010, 0xFF, NULL);
} else {
if (checkAnmEnd(frameCtrl_p)) {
- if (mProcVar3.field_0x300e.z != 0) {
+ if (mProcVar5.field_0x3012 != 0) {
dComIfGs_setRestartRoom(current.pos, shape_angle.y, getStartRoomNo());
}
@@ -6925,8 +6876,8 @@ int daAlink_c::procWolfDigThrough() {
return 1;
}
- if (mProcVar3.field_0x300e.y >= 0 && frameCtrl_p->checkPass(21.0f)) {
- mProcVar3.field_0x300e.x = 1;
+ if (mProcVar4.field_0x3010 >= 0 && frameCtrl_p->checkPass(21.0f)) {
+ mProcVar3.field_0x300e = 1;
}
}
@@ -6944,21 +6895,21 @@ void daAlink_c::setSmellSave() {
dComIfGs_offEventBit(0x2F04); // OFF: Got Medicine Scent
}
- dMsgObject_setSmellType(mProcVar3.field_0x300e.z);
+ dMsgObject_setSmellType(mProcVar5.field_0x3012);
- if (mProcVar3.field_0x300e.z == SMELL_MEDICINE) {
+ if (mProcVar5.field_0x3012 == SMELL_MEDICINE) {
dComIfGs_onEventBit(0x2F04); // ON: Got Medicine Scent
- } else if (mProcVar3.field_0x300e.z == SMELL_CHILDREN) {
+ } else if (mProcVar5.field_0x3012 == SMELL_CHILDREN) {
fopAcM_onSwitch(this, 102);
- } else if (mProcVar3.field_0x300e.z == SMELL_YELIA_POUCH) {
+ } else if (mProcVar5.field_0x3012 == SMELL_YELIA_POUCH) {
fopAcM_onSwitch(this, 103);
- } else if (mProcVar3.field_0x300e.z == SMELL_FISH) {
+ } else if (mProcVar5.field_0x3012 == SMELL_FISH) {
dComIfGs_onEventBit(0x6120); // ON: Got Reekfish scent
- } else if (mProcVar3.field_0x300e.z == SMELL_POH) {
+ } else if (mProcVar5.field_0x3012 == SMELL_POH) {
dComIfGs_onEventBit(0x6210); // ON: Got Poe scent
}
- setGetSubBgm(mProcVar3.field_0x300e.z);
+ setGetSubBgm(mProcVar5.field_0x3012);
}
/* 8013FA14-8013FC24 13A354 0210+00 1/1 0/0 0/0 .text procWolfGetSmellInit__9daAlink_cFv
@@ -6983,7 +6934,7 @@ int daAlink_c::procWolfGetSmellInit() {
field_0x280c.setData(field_0x27f4);
static_cast<kytag03_class*>(field_0x27f4)->field_0x588 = 1;
static_cast<kytag03_class*>(field_0x27f4)->field_0x587 = 0;
- mProcVar3.field_0x300e.z = static_cast<kytag03_class*>(field_0x27f4)->field_0x589;
+ mProcVar5.field_0x3012 = static_cast<kytag03_class*>(field_0x27f4)->field_0x589;
fopAcM_OnStatus(field_0x27f4, 0x800);
dComIfGp_setPlayerStatus1(0, 0x4000000);
@@ -6997,9 +6948,9 @@ int daAlink_c::procWolfGetSmellInit() {
field_0x319c = -1;
- if (mProcVar3.field_0x300e.z == SMELL_YELIA_POUCH) {
+ if (mProcVar5.field_0x3012 == SMELL_YELIA_POUCH) {
field_0x319c = 0x2220;
- } else if (mProcVar3.field_0x300e.z == SMELL_CHILDREN) {
+ } else if (mProcVar5.field_0x3012 == SMELL_CHILDREN) {
field_0x319c = 0x2240;
}
@@ -7007,7 +6958,7 @@ int daAlink_c::procWolfGetSmellInit() {
field_0x319c = -1;
}
- mProcVar3.field_0x300e.y = 0;
+ mProcVar4.field_0x3010 = 0;
mNormalSpeed = 0.0f;
field_0x3588 = l_wolfBaseAnime;
onWolfEyeUp();
@@ -7024,7 +6975,7 @@ int daAlink_c::procWolfGetSmell() {
dComIfGp_getEvent().reset(this);
dComIfGp_clearPlayerStatus1(0, 0x4000000);
- if (mProcVar3.field_0x300e.z == SMELL_YELIA_POUCH) {
+ if (mProcVar5.field_0x3012 == SMELL_YELIA_POUCH) {
fopAcM_orderOtherEvent(this, "SMELL_1st", 0xFFFF, 0x400, 1);
} else {
fopAcM_orderOtherEvent(this, "SMELL_Child", 0xFFFF, 0x400, 1);
@@ -7045,7 +6996,7 @@ int daAlink_c::procWolfGetSmell() {
voiceStartLevel(Z2SE_WL_V_SNIFF);
}
- if (mProcVar3.field_0x300e.y != 0) {
+ if (mProcVar4.field_0x3010 != 0) {
field_0x2f99 = 4;
}
@@ -7056,11 +7007,11 @@ int daAlink_c::procWolfGetSmell() {
}
resetSpecialEvent();
} else if (mMsgFlow.getChoiceNo() == 0 &&
- mProcVar3.field_0x300e.z != dComIfGs_getCollectSmell())
+ mProcVar5.field_0x3012 != dComIfGs_getCollectSmell())
{
setSmellSave();
}
- } else if (mProcVar3.field_0x300e.y == 0) {
+ } else if (mProcVar4.field_0x3010 == 0) {
if ((kytag3_p == NULL || (field_0x319c < 0 && kytag3_p->field_0x588 == 2)) ||
(mDemo.getDemoMode() == 0x37 && mDemo.getParam0() == 1))
{
@@ -7071,7 +7022,7 @@ int daAlink_c::procWolfGetSmell() {
fopAcM_OnStatus(kytag3_p, 0x800);
}
- mProcVar3.field_0x300e.y = 1;
+ mProcVar4.field_0x3010 = 1;
dCam_getBody()->StartEventCamera(8, fopAcM_GetID(this), 0);
field_0x2f99 = 12;
diff --git a/src/d/actor/d_a_e_arrow.cpp b/src/d/actor/d_a_e_arrow.cpp
index c407896137..e213faaf86 100644
--- a/src/d/actor/d_a_e_arrow.cpp
+++ b/src/d/actor/d_a_e_arrow.cpp
@@ -9,6 +9,7 @@
#include "d/d_bomb.h"
#include "d/d_item.h"
#include "d/d_meter2.h"
+#include "d/d_meter2_info.h"
#include "d/d_msg_object.h"
#include "d/d_s_play.h"
@@ -1080,4 +1081,4 @@ static u8 data_8067EBF0[4];
static u8 data_8067EBF4[4];
#pragma pop
-/* 8067E96C-8067E96C 0000EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file
+/* 8067E96C-8067E96C 0000EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/actor/d_a_obj_iceleaf.cpp b/src/d/actor/d_a_obj_iceleaf.cpp
index c62f0f6189..3132a07892 100644
--- a/src/d/actor/d_a_obj_iceleaf.cpp
+++ b/src/d/actor/d_a_obj_iceleaf.cpp
@@ -1,170 +1,34 @@
/**
* @file d_a_obj_iceleaf.cpp
- *
-*/
+ *
+ */
#include "d/actor/d_a_obj_iceleaf.h"
-#include "d/d_cc_d.h"
-#include "dol2asm.h"
-
-
-//
-// Forward References:
-//
-
-extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
-extern "C" void initBaseMtx__14daObjIceLeaf_cFv();
-extern "C" void setBaseMtx__14daObjIceLeaf_cFv();
-extern "C" void Create__14daObjIceLeaf_cFv();
-extern "C" void setAnmPos__14daObjIceLeaf_cFv();
-extern "C" void CreateHeap__14daObjIceLeaf_cFv();
-extern "C" void __dt__12J3DFrameCtrlFv();
-extern "C" void create__14daObjIceLeaf_cFv();
-extern "C" void __dt__8cM3dGCylFv();
-extern "C" void __dt__8cM3dGAabFv();
-extern "C" void __dt__10dCcD_GSttsFv();
-extern "C" void __dt__12dBgS_AcchCirFv();
-extern "C" void __dt__12dBgS_ObjAcchFv();
-extern "C" void execute__14daObjIceLeaf_cFv();
-extern "C" void action__14daObjIceLeaf_cFv();
-extern "C" void modeDropWait__14daObjIceLeaf_cFv();
-extern "C" void modeDrop__14daObjIceLeaf_cFv();
-extern "C" void modePlayerWait__14daObjIceLeaf_cFv();
-extern "C" void modeRide__14daObjIceLeaf_cFv();
-extern "C" void event_proc_call__14daObjIceLeaf_cFv();
-extern "C" void actionWait__14daObjIceLeaf_cFv();
-extern "C" void actionOrderEvent__14daObjIceLeaf_cFv();
-extern "C" void actionEvent__14daObjIceLeaf_cFv();
-extern "C" void actionDead__14daObjIceLeaf_cFv();
-extern "C" void setFallSE__14daObjIceLeaf_cFv();
-extern "C" void draw__14daObjIceLeaf_cFv();
-extern "C" void _delete__14daObjIceLeaf_cFv();
-extern "C" static void daObjIceLeaf_Draw__FP14daObjIceLeaf_c();
-extern "C" static void daObjIceLeaf_Execute__FP14daObjIceLeaf_c();
-extern "C" static void daObjIceLeaf_Delete__FP14daObjIceLeaf_c();
-extern "C" static void daObjIceLeaf_Create__FP14daObjIceLeaf_c();
-extern "C" void __dt__10cCcD_GSttsFv();
-extern "C" static void func_80C25D4C();
-extern "C" static void func_80C25D54();
-extern "C" extern char const* const d_a_obj_iceleaf__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
-extern "C" void transM__14mDoMtx_stack_cFRC4cXyz();
-extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
-extern "C" void play__14mDoExt_baseAnmFv();
-extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
-extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
-extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
-extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void fopAcM_delete__FP10fopAc_ac_c();
-extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
-extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
-extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
-extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz();
-extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
-extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
-extern "C" void isEventBit__11dSv_event_cCFUs();
-extern "C" void onSwitch__10dSv_info_cFii();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc();
-extern "C" void endCheck__16dEvent_manager_cFs();
-extern "C" void
-set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
-extern "C" void
-setPoly__13dPa_control_cFUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz();
-extern "C" void __ct__12dBgS_AcchCirFv();
-extern "C" void SetWall__12dBgS_AcchCirFff();
-extern "C" void __dt__9dBgS_AcchFv();
-extern "C" void __ct__9dBgS_AcchFv();
-extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
-extern "C" void SetObj__16dBgS_PolyPassChkFv();
-extern "C" void __ct__10dCcD_GSttsFv();
-extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
-extern "C" void __ct__12dCcD_GObjInfFv();
-extern "C" void ChkTgHit__12dCcD_GObjInfFv();
-extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
-extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
-extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void Set__4cCcSFP8cCcD_Obj();
-extern "C" void cM_atan2s__Fff();
-extern "C" void __dt__13cBgS_PolyInfoFv();
-extern "C" void __dt__8cM3dGCirFv();
-extern "C" void SetC__8cM3dGCylFRC4cXyz();
-extern "C" void SetH__8cM3dGCylFf();
-extern "C" void SetR__8cM3dGCylFf();
-extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-extern "C" extern void* __vt__8dCcD_Cyl[36];
-extern "C" extern void* __vt__9dCcD_Stts[11];
-extern "C" extern void* __vt__12cCcD_CylAttr[25];
-extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
-extern "C" extern void* __vt__9cCcD_Stts[8];
-extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-extern "C" extern u8 struct_80C25F98[4];
-
-//
-// Declarations:
-//
+#include "SSystem/SComponent/c_math.h"
+#include "d/actor/d_a_player.h"
+#include "d/d_com_inf_game.h"
+#include "d/d_s_play.h"
/* 80C24718-80C24738 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
-static void CheckCreateHeap(fopAc_ac_c* param_0) {
- // NONMATCHING
+static int CheckCreateHeap(fopAc_ac_c* i_this) {
+ return ((daObjIceLeaf_c*)i_this)->CreateHeap();
}
/* 80C24738-80C24774 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::initBaseMtx() {
- // NONMATCHING
+ mpModel->setBaseScale(scale);
+ setBaseMtx();
}
-/* ############################################################################################## */
-/* 80C25D64-80C25D68 000000 0004+00 5/5 0/0 0/0 .rodata @3703 */
-SECTION_RODATA static u8 const lit_3703[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80C25D64, &lit_3703);
-
-/* 80C25D68-80C25D6C 000004 0004+00 1/1 0/0 0/0 .rodata @3704 */
-SECTION_RODATA static f32 const lit_3704 = -9.0f;
-COMPILER_STRIP_GATE(0x80C25D68, &lit_3704);
-
-/* 80C25DA4-80C25DA4 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80C25DA4 = "V_IceLeaf";
-#pragma pop
-
/* 80C25DB0-80C25DBC 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
-SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
+static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80C25DBC-80C25DD0 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
-SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
+static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
@@ -175,453 +39,436 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
#pragma pop
/* 80C25DD0-80C25DD4 -00001 0004+00 7/7 0/0 0/0 .data l_arcName */
-SECTION_DATA static void* l_arcName = (void*)&d_a_obj_iceleaf__stringBase0;
+static char* l_arcName = "V_IceLeaf";
/* 80C24774-80C249E4 0000D4 0270+00 2/2 0/0 0/0 .text setBaseMtx__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::setBaseMtx() {
- // NONMATCHING
+ if (mRide) {
+ daPy_py_c* player = dComIfGp_getLinkPlayer();
+ s16 foot_angle = 0;
+
+ if (!player->checkBoardNoFootAngle()) {
+ Vec left_vec;
+ Vec right_vec;
+ mDoMtx_multVec(player->getInvMtx(), player->getRightFootPosP(), &right_vec);
+ mDoMtx_multVec(player->getInvMtx(), player->getLeftFootPosP(), &left_vec);
+
+ foot_angle = cM_atan2s(left_vec.y - right_vec.y, right_vec.z - left_vec.z);
+ }
+
+ cXyz sp44(KREG_F(15), -9.0f, 0.0f);
+
+ mDoMtx_stack_c::copy(player->getModelMtx());
+ mDoMtx_stack_c::ZXYrotM(foot_angle, player->getBoardCutTurnOffsetAngleY(), 0);
+ mDoMtx_stack_c::YrotM(0x4000);
+ mDoMtx_stack_c::transM(sp44);
+ mDoMtx_stack_c::multVecZero(&eyePos);
+ } else {
+ mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::ZXYrotM(shape_angle);
+ }
+
+ mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
+
+ if (mpBck == NULL) {
+ mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::ZXYrotM(shape_angle);
+ } else {
+ J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4);
+ JUT_ASSERT(0x106, pbck != 0);
+ pbck->getTransform(0, &mTransformInfo);
+
+ cXyz pos;
+ csXyz angle;
+ mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y,
+ mTransformInfo.mTranslate.z);
+ mDoMtx_stack_c::transM(current.pos);
+ mDoMtx_stack_c::multVecZero(&pos);
+
+ angle.x = shape_angle.x + mTransformInfo.mRotation.x;
+ angle.y = shape_angle.y + mTransformInfo.mRotation.y;
+ angle.z = shape_angle.z + mTransformInfo.mRotation.z;
+ mDoMtx_stack_c::transS(pos);
+ mDoMtx_stack_c::ZXYrotM(angle);
+ }
+
+ MTXCopy(mDoMtx_stack_c::get(), mMtx);
}
-/* ############################################################################################## */
-/* 80C25D6C-80C25D70 000008 0004+00 0/1 0/0 0/0 .rodata @3757 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3757 = 30.0f;
-COMPILER_STRIP_GATE(0x80C25D6C, &lit_3757);
-#pragma pop
-
-/* 80C25D70-80C25D74 00000C 0004+00 0/1 0/0 0/0 .rodata @3758 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3758 = 100.0f;
-COMPILER_STRIP_GATE(0x80C25D70, &lit_3758);
-#pragma pop
-
-/* 80C25D74-80C25D78 000010 0004+00 0/1 0/0 0/0 .rodata @3759 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3759 = 500.0f;
-COMPILER_STRIP_GATE(0x80C25D74, &lit_3759);
-#pragma pop
-
/* 80C25DD4-80C25E18 000024 0044+00 1/1 0/0 0/0 .data l_cyl_src */
static dCcD_SrcCyl l_cyl_src = {
{
- {0x0, {{0x0, 0x0, 0x1f}, {0x400000, 0x11}, 0x78}}, // mObj
- {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
- {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg
- {0x0}, // mGObjCo
- }, // mObjInf
+ {0x0, {{0x0, 0x0, 0x1f}, {0x400000, 0x11}, 0x78}}, // mObj
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg
+ {0x0}, // mGObjCo
+ }, // mObjInf
{
- {0.0f, 0.0f, 0.0f}, // mCenter
- 50.0f, // mRadius
- 100.0f // mHeight
- } // mCyl
+ {0.0f, 0.0f, 0.0f}, // mCenter
+ 50.0f, // mRadius
+ 100.0f // mHeight
+ } // mCyl
};
/* 80C249E4-80C24BC4 000344 01E0+00 1/1 0/0 0/0 .text Create__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::Create() {
- // NONMATCHING
-}
+// NONMATCHING - J3DTransformInfo operator= seems to be inline asm, needs work
+int daObjIceLeaf_c::Create() {
+ J3DJoint* joint = mpModel->getModelData()->getJointNodePointer(0);
+ mTransformInfo = joint->getTransformInfo();
-/* 80C24BC4-80C24C9C 000524 00D8+00 2/2 0/0 0/0 .text setAnmPos__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::setAnmPos() {
- // NONMATCHING
-}
+ J3DTransformInfo trans_info(mTransformInfo);
+ trans_info.mRotation.x = 0;
+ trans_info.mRotation.y = 0;
+ trans_info.mRotation.z = 0;
+ trans_info.mTranslate.x = 0.0f;
+ trans_info.mTranslate.y = 0.0f;
+ trans_info.mTranslate.z = 0.0f;
+ joint->setTransformInfo(trans_info);
-/* ############################################################################################## */
-/* 80C25D78-80C25D7C 000014 0004+00 4/5 0/0 0/0 .rodata @3806 */
-SECTION_RODATA static f32 const lit_3806 = 1.0f;
-COMPILER_STRIP_GATE(0x80C25D78, &lit_3806);
+ initBaseMtx();
+ fopAcM_SetMtx(this, mMtx);
-/* 80C25E18-80C25E24 -00001 000C+00 0/1 0/0 0/0 .data @3975 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3975[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modeDropWait__14daObjIceLeaf_cFv,
-};
-#pragma pop
+ mAcchCir.SetWall(30.0f, 30.0f);
+ mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir,
+ fopAcM_GetSpeed_p(this), NULL, NULL);
-/* 80C25E24-80C25E30 -00001 000C+00 0/1 0/0 0/0 .data @3976 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3976[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modeDrop__14daObjIceLeaf_cFv,
-};
-#pragma pop
+ mStts.Init(0, 0xFF, this);
+ mCyl.Set(l_cyl_src);
+ mCyl.SetStts(&mStts);
+ mCyl.SetR(100.0f);
+ mCyl.SetH(500.0f);
-/* 80C25E30-80C25E3C -00001 000C+00 0/1 0/0 0/0 .data @3977 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3977[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modePlayerWait__14daObjIceLeaf_cFv,
-};
-#pragma pop
+ fopAcM_setCullSizeBox2(this, mpModel->getModelData());
-/* 80C25E3C-80C25E48 -00001 000C+00 0/1 0/0 0/0 .data @3978 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3978[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modeRide__14daObjIceLeaf_cFv,
-};
-#pragma pop
+ mEvId = getEvId();
+ mEventID = dComIfGp_getEventManager().getEventIdx(this, mEvId);
-/* 80C25E48-80C25E78 000098 0030+00 0/1 0/0 0/0 .data l_func$3974 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_func_3974[48] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-#pragma pop
+ if (checkRideStatus() == 1) {
+ mRide = true;
+ mpBck = NULL;
+ setAnmPos();
+ }
-/* 80C25E78-80C25E84 -00001 000C+00 0/1 0/0 0/0 .data @4108 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4108[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionWait__14daObjIceLeaf_cFv,
-};
-#pragma pop
-
-/* 80C25E84-80C25E90 -00001 000C+00 0/1 0/0 0/0 .data @4109 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4109[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionOrderEvent__14daObjIceLeaf_cFv,
-};
-#pragma pop
-
-/* 80C25E90-80C25E9C -00001 000C+00 0/1 0/0 0/0 .data @4110 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4110[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionEvent__14daObjIceLeaf_cFv,
-};
-#pragma pop
-
-/* 80C25E9C-80C25EA8 -00001 000C+00 0/1 0/0 0/0 .data @4111 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4111[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionDead__14daObjIceLeaf_cFv,
-};
-#pragma pop
+ return 1;
+}
-/* 80C25EA8-80C25ED8 0000F8 0030+00 0/1 0/0 0/0 .data l_func$4107 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_func_4107[48] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-#pragma pop
+/* 80C24BC4-80C24C9C 000524 00D8+00 2/2 0/0 0/0 .text setAnmPos__14daObjIceLeaf_cFv */
+void daObjIceLeaf_c::setAnmPos() {
+ J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4);
+ JUT_ASSERT(0x168, pbck != 0);
+ pbck->getTransform(0, &mTransformInfo);
-/* 80C25ED8-80C25EF8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjIceLeaf_Method */
-static actor_method_class l_daObjIceLeaf_Method = {
- (process_method_func)daObjIceLeaf_Create__FP14daObjIceLeaf_c,
- (process_method_func)daObjIceLeaf_Delete__FP14daObjIceLeaf_c,
- (process_method_func)daObjIceLeaf_Execute__FP14daObjIceLeaf_c,
- 0,
- (process_method_func)daObjIceLeaf_Draw__FP14daObjIceLeaf_c,
-};
+ mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y,
+ mTransformInfo.mTranslate.z);
+ mDoMtx_stack_c::transM(current.pos);
+ mDoMtx_stack_c::multVecZero(&current.pos);
-/* 80C25EF8-80C25F28 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_IceLeaf */
-extern actor_process_profile_definition g_profile_Obj_IceLeaf = {
- fpcLy_CURRENT_e, // mLayerID
- 7, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_Obj_IceLeaf, // mProcName
- &g_fpcLf_Method.mBase, // sub_method
- sizeof(daObjIceLeaf_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 567, // mPriority
- &l_daObjIceLeaf_Method, // sub_method
- 0x00060000, // mStatus
- fopAc_ACTOR_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
+ shape_angle.x += mTransformInfo.mRotation.x;
+ shape_angle.y += mTransformInfo.mRotation.y;
+ shape_angle.z += mTransformInfo.mRotation.z;
+}
-/* 80C25F28-80C25F34 000178 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */
-SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12dBgS_AcchCirFv,
-};
+/* 80C24C9C-80C24DCC 0005FC 0130+00 1/1 0/0 0/0 .text CreateHeap__14daObjIceLeaf_cFv */
+int daObjIceLeaf_c::CreateHeap() {
+ J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 7);
+ JUT_ASSERT(0x189, modelData != 0);
+ mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11000084);
+ if (mpModel == NULL) {
+ return 0;
+ }
-/* 80C25F34-80C25F40 000184 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */
-SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__10cCcD_GSttsFv,
-};
+ J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4);
+ JUT_ASSERT(0x196, pbck != 0);
-/* 80C25F40-80C25F4C 000190 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */
-SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__10dCcD_GSttsFv,
-};
+ mpBck = new mDoExt_bckAnm();
+ if (mpBck == NULL || !mpBck->init(pbck, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false)) {
+ return 0;
+ }
-/* 80C25F4C-80C25F58 00019C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
-SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__8cM3dGCylFv,
-};
+ mpBck->setPlaySpeed(0.0f);
+ mpBck->setFrame(0.0f);
+ return 1;
+}
-/* 80C25F58-80C25F64 0001A8 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
-SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__8cM3dGAabFv,
-};
+/* 80C24E14-80C24F8C 000774 0178+00 1/1 0/0 0/0 .text create__14daObjIceLeaf_cFv */
+int daObjIceLeaf_c::create() {
+ fopAcM_SetupActor(this, daObjIceLeaf_c);
-/* 80C25F64-80C25F88 0001B4 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
-SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12dBgS_ObjAcchFv,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80C25D54,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80C25D4C,
-};
+ int phase_state = dComIfG_resLoad(&mPhase, l_arcName);
+ if (phase_state == cPhs_COMPLEATE_e) {
+ if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0xDA0)) {
+ return cPhs_ERROR_e;
+ }
-/* 80C25F88-80C25F94 0001D8 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
-SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12J3DFrameCtrlFv,
-};
+ if (!Create()) {
+ return cPhs_ERROR_e;
+ }
+ }
-/* 80C24C9C-80C24DCC 0005FC 0130+00 1/1 0/0 0/0 .text CreateHeap__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::CreateHeap() {
- // NONMATCHING
+ return phase_state;
}
-/* 80C24DCC-80C24E14 00072C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
-// J3DFrameCtrl::~J3DFrameCtrl() {
-extern "C" void __dt__12J3DFrameCtrlFv() {
- // NONMATCHING
-}
+/* 80C25158-80C25360 000AB8 0208+00 1/1 0/0 0/0 .text execute__14daObjIceLeaf_cFv */
+int daObjIceLeaf_c::execute() {
+ daPy_py_c* player = daPy_getPlayerActorClass();
-/* 80C24E14-80C24F8C 000774 0178+00 1/1 0/0 0/0 .text create__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::create() {
- // NONMATCHING
-}
+ event_proc_call();
+ action();
-/* 80C24F8C-80C24FD4 0008EC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
-// cM3dGCyl::~cM3dGCyl() {
-extern "C" void __dt__8cM3dGCylFv() {
- // NONMATCHING
-}
+ if (mDeleteActor) {
+ if (field_0x92b == 0) {
+ dComIfGp_particle_set(0x8C12, &eyePos, NULL, NULL);
+ dComIfGp_particle_set(0x8C13, &eyePos, NULL, NULL);
-/* 80C24FD4-80C2501C 000934 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
-// cM3dGAab::~cM3dGAab() {
-extern "C" void __dt__8cM3dGAabFv() {
- // NONMATCHING
-}
+ field_0x92b = 1;
+ player->seStartOnlyReverb(Z2SE_AL_SNOBO_ICEBREAK);
+ }
-/* 80C2501C-80C25078 00097C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
-// dCcD_GStts::~dCcD_GStts() {
-extern "C" void __dt__10dCcD_GSttsFv() {
- // NONMATCHING
-}
+ fopAcM_delete(this);
+ // "Ice Leaf: Deleted\n"
+ OS_REPORT("氷の葉:削除されました\n");
+ }
-/* 80C25078-80C250E8 0009D8 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
-// dBgS_AcchCir::~dBgS_AcchCir() {
-extern "C" void __dt__12dBgS_AcchCirFv() {
- // NONMATCHING
-}
+ if (mBreakEffect) {
+ dComIfGp_particle_set(0x8C12, &eyePos, NULL, NULL);
+ dComIfGp_particle_set(0x8C13, &eyePos, NULL, NULL);
-/* 80C250E8-80C25158 000A48 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
-// dBgS_ObjAcch::~dBgS_ObjAcch() {
-extern "C" void __dt__12dBgS_ObjAcchFv() {
- // NONMATCHING
-}
+ mBreakEffect = false;
+ player->seStartOnlyReverb(Z2SE_AL_SNOBO_ICEBREAK);
+ }
-/* 80C25158-80C25360 000AB8 0208+00 1/1 0/0 0/0 .text execute__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::execute() {
- // NONMATCHING
+ setBaseMtx();
+ return 1;
}
/* 80C25360-80C2541C 000CC0 00BC+00 1/1 0/0 0/0 .text action__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::action() {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80C25D7C-80C25D84 000018 0008+00 0/1 0/0 0/0 .rodata @4030 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4030[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C25D7C, &lit_4030);
-#pragma pop
-
-/* 80C25D84-80C25D8C 000020 0008+00 0/1 0/0 0/0 .rodata @4031 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4031[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C25D84, &lit_4031);
-#pragma pop
-
-/* 80C25D8C-80C25D94 000028 0008+00 0/1 0/0 0/0 .rodata @4032 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4032[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C25D8C, &lit_4032);
-#pragma pop
+ typedef void (daObjIceLeaf_c::*mode_func)();
+ static mode_func l_func[] = {
+ &daObjIceLeaf_c::modeDropWait,
+ &daObjIceLeaf_c::modeDrop,
+ &daObjIceLeaf_c::modePlayerWait,
+ &daObjIceLeaf_c::modeRide,
+ };
-/* 80C25D94-80C25D98 000030 0004+00 0/1 0/0 0/0 .rodata @4033 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4033 = 250.0f;
-COMPILER_STRIP_GATE(0x80C25D94, &lit_4033);
-#pragma pop
+ (this->*l_func[mMode])();
+}
/* 80C2541C-80C25614 000D7C 01F8+00 1/0 0/0 0/0 .text modeDropWait__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::modeDropWait() {
- // NONMATCHING
-}
+ daPy_py_c* player = daPy_getPlayerActorClass();
-/* ############################################################################################## */
-/* 80C25D98-80C25D9C 000034 0004+00 0/1 0/0 0/0 .rodata @4093 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4093 = 12.0f;
-COMPILER_STRIP_GATE(0x80C25D98, &lit_4093);
-#pragma pop
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x134])) {
+ bool start_drop = false;
+ if (player->current.pos.abs(current.pos) < 250.0f &&
+ (player->checkFrontRollCrash() || player->checkWolfAttackReverse()))
+ {
+ start_drop = true;
+ }
-/* 80C25D9C-80C25DA0 000038 0004+00 0/1 0/0 0/0 .rodata @4094 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4094 = 5.0f;
-COMPILER_STRIP_GATE(0x80C25D9C, &lit_4094);
-#pragma pop
+ if (mCyl.ChkTgHit()) {
+ cCcD_Obj* hit_obj = mCyl.GetTgHitObj();
+ if (hit_obj != NULL && hit_obj->ChkAtType(AT_TYPE_IRON_BALL)) {
+ start_drop = true;
+ }
+ }
-/* 80C25DA0-80C25DA4 00003C 0004+00 1/2 0/0 0/0 .rodata @4095 */
-SECTION_RODATA static f32 const lit_4095 = -1.0f;
-COMPILER_STRIP_GATE(0x80C25DA0, &lit_4095);
+ if (start_drop) {
+ setAction(ACT_ORDER_EVENT_e);
+ }
+ }
+
+ if (mRide) {
+ mpBck = NULL;
+ setAnmPos();
+ }
+
+ mCyl.SetC(current.pos);
+ dComIfG_Ccsp()->Set(&mCyl);
+}
/* 80C25614-80C258F8 000F74 02E4+00 1/0 0/0 0/0 .text modeDrop__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::modeDrop() {
- // NONMATCHING
+ if (mpBck->play()) {
+ J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4);
+ JUT_ASSERT(0x2C8, pbck != 0);
+ pbck->getTransform(0, &mTransformInfo);
+
+ mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y,
+ mTransformInfo.mTranslate.z);
+ mDoMtx_stack_c::transM(current.pos);
+ mDoMtx_stack_c::multVecZero(&current.pos);
+
+ shape_angle.x += mTransformInfo.mRotation.x;
+ shape_angle.y += mTransformInfo.mRotation.y;
+ shape_angle.z += mTransformInfo.mRotation.z;
+
+ attention_info.position = current.pos;
+ eyePos = current.pos;
+
+ mpBck = NULL;
+ setMode(MODE_PLAYER_WAIT_e);
+ }
+
+ if (mpBck != NULL && mpBck->getFrame() == 12) {
+ cXyz sp24(KREG_F(10) + 1.0f, KREG_F(10) + 1.0f, KREG_F(10) + 1.0f);
+
+ J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4);
+ JUT_ASSERT(0x2EB, pbck != 0);
+ pbck->getTransform(0, &mTransformInfo);
+
+ cXyz sp30;
+ mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y,
+ mTransformInfo.mTranslate.z);
+ mDoMtx_stack_c::transM(current.pos);
+ mDoMtx_stack_c::multVecZero(&sp30);
+ sp30.y += 5.0f;
+
+ if (fopAcM_gc_c::gndCheck(&sp30)) {
+ dComIfGp_particle_setPolyColor(0x881F, *fopAcM_gc_c::getGroundCheck(), &sp30, &tevStr,
+ &current.angle, &sp24, 0, NULL, -1, NULL);
+ dComIfGp_particle_setPolyColor(0x8820, *fopAcM_gc_c::getGroundCheck(), &sp30, &tevStr,
+ &current.angle, &sp24, 0, NULL, -1, NULL);
+
+ mFallSEPos = sp30;
+ mDoAud_seStart(Z2SE_OBJ_LEAF_FALL_DOWN, &mFallSEPos, 0, 0);
+ // "Ice Leaf: Falling SE\n"
+ OS_REPORT("氷の葉:落下SE\n");
+ }
+ }
}
/* 80C258F8-80C25904 001258 000C+00 1/0 0/0 0/0 .text modePlayerWait__14daObjIceLeaf_cFv
*/
void daObjIceLeaf_c::modePlayerWait() {
- // NONMATCHING
+ attention_info.flags = 0x80;
}
/* 80C25904-80C25908 001264 0004+00 1/0 0/0 0/0 .text modeRide__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::modeRide() {
- /* empty function */
-}
+void daObjIceLeaf_c::modeRide() {}
/* 80C25908-80C259C4 001268 00BC+00 1/1 0/0 0/0 .text event_proc_call__14daObjIceLeaf_cFv
*/
void daObjIceLeaf_c::event_proc_call() {
- // NONMATCHING
+ typedef void (daObjIceLeaf_c::*action_func)();
+ static action_func l_func[] = {
+ &daObjIceLeaf_c::actionWait,
+ &daObjIceLeaf_c::actionOrderEvent,
+ &daObjIceLeaf_c::actionEvent,
+ &daObjIceLeaf_c::actionDead,
+ };
+
+ (this->*l_func[mAction])();
}
/* 80C259C4-80C259C8 001324 0004+00 1/0 0/0 0/0 .text actionWait__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::actionWait() {
- /* empty function */
-}
+void daObjIceLeaf_c::actionWait() {}
/* 80C259C8-80C25A68 001328 00A0+00 1/0 0/0 0/0 .text actionOrderEvent__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::actionOrderEvent() {
- // NONMATCHING
+ if (eventInfo.i_checkCommandDemoAccrpt()) {
+ setAction(ACT_EVENT_e);
+ mpBck->setPlaySpeed(1.0f);
+ setMode(MODE_DROP_e);
+ setFallSE();
+
+ fopAcM_onSwitch(this, getSwbit());
+ } else {
+ fopAcM_orderOtherEventId(this, mEventID, mEvId, 0xFFFF, 0, 1);
+ eventInfo.i_onCondition(2);
+ }
}
/* 80C25A68-80C25AC4 0013C8 005C+00 1/0 0/0 0/0 .text actionEvent__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::actionEvent() {
- // NONMATCHING
+ if (dComIfGp_evmng_endCheck(mEventID)) {
+ setAction(ACT_DEAD_e);
+ dComIfGp_event_reset();
+ }
}
/* 80C25AC4-80C25AC8 001424 0004+00 1/0 0/0 0/0 .text actionDead__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::actionDead() {
- /* empty function */
-}
+void daObjIceLeaf_c::actionDead() {}
/* 80C25AC8-80C25BB8 001428 00F0+00 1/1 0/0 0/0 .text setFallSE__14daObjIceLeaf_cFv */
void daObjIceLeaf_c::setFallSE() {
- // NONMATCHING
+ J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4);
+ JUT_ASSERT(0x36C, pbck != 0);
+ pbck->getTransform(0, &mTransformInfo);
+
+ mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y,
+ mTransformInfo.mTranslate.z);
+ mDoMtx_stack_c::transM(current.pos);
+ mDoMtx_stack_c::multVecZero(&mFallStartSEPos);
+
+ mDoAud_seStart(Z2SE_OBJ_LEAF_BEGIN_FALL, &mFallStartSEPos, 0, 0);
+ // "Ice Leaf: Fall start SE(%.2f,%.2f,%.2f)\n"
+ OS_REPORT("氷の葉:落下開始SE(%.2f,%.2f,%.2f)\n", mFallStartSEPos.x, mFallStartSEPos.y,
+ mFallStartSEPos.z);
}
/* 80C25BB8-80C25C50 001518 0098+00 1/1 0/0 0/0 .text draw__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::draw() {
- // NONMATCHING
+int daObjIceLeaf_c::draw() {
+ g_env_light.settingTevStruct(0, &current.pos, &tevStr);
+ g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
+
+ if (mpBck != NULL) {
+ mpBck->entry(mpModel->getModelData());
+ }
+
+ mDoExt_modelUpdateDL(mpModel);
+ mDoExt_bckAnmRemove(mpModel->getModelData());
+
+ return 1;
}
/* 80C25C50-80C25C84 0015B0 0034+00 1/1 0/0 0/0 .text _delete__14daObjIceLeaf_cFv */
-void daObjIceLeaf_c::_delete() {
- // NONMATCHING
+int daObjIceLeaf_c::_delete() {
+ dComIfG_resDelete(&mPhase, l_arcName);
+ return 1;
}
/* 80C25C84-80C25CA4 0015E4 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Draw__FP14daObjIceLeaf_c */
-static void daObjIceLeaf_Draw(daObjIceLeaf_c* param_0) {
- // NONMATCHING
+static int daObjIceLeaf_Draw(daObjIceLeaf_c* i_this) {
+ return i_this->draw();
}
/* 80C25CA4-80C25CC4 001604 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Execute__FP14daObjIceLeaf_c */
-static void daObjIceLeaf_Execute(daObjIceLeaf_c* param_0) {
- // NONMATCHING
+static int daObjIceLeaf_Execute(daObjIceLeaf_c* i_this) {
+ return i_this->execute();
}
/* 80C25CC4-80C25CE4 001624 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Delete__FP14daObjIceLeaf_c */
-static void daObjIceLeaf_Delete(daObjIceLeaf_c* param_0) {
- // NONMATCHING
+static int daObjIceLeaf_Delete(daObjIceLeaf_c* i_this) {
+ return i_this->_delete();
}
/* 80C25CE4-80C25D04 001644 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Create__FP14daObjIceLeaf_c */
-static void daObjIceLeaf_Create(daObjIceLeaf_c* param_0) {
- // NONMATCHING
-}
-
-/* 80C25D04-80C25D4C 001664 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
-// cCcD_GStts::~cCcD_GStts() {
-extern "C" void __dt__10cCcD_GSttsFv() {
- // NONMATCHING
+static int daObjIceLeaf_Create(daObjIceLeaf_c* i_this) {
+ return i_this->create();
}
-/* 80C25D4C-80C25D54 0016AC 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
-static void func_80C25D4C() {
- // NONMATCHING
-}
-
-/* 80C25D54-80C25D5C 0016B4 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
-static void func_80C25D54() {
- // NONMATCHING
-}
+/* 80C25ED8-80C25EF8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjIceLeaf_Method */
+static actor_method_class l_daObjIceLeaf_Method = {
+ (process_method_func)daObjIceLeaf_Create, (process_method_func)daObjIceLeaf_Delete,
+ (process_method_func)daObjIceLeaf_Execute, (process_method_func)NULL,
+ (process_method_func)daObjIceLeaf_Draw,
+};
-/* 80C25DA4-80C25DA4 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file
+/* 80C25EF8-80C25F28 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_IceLeaf */
+extern actor_process_profile_definition g_profile_Obj_IceLeaf = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_Obj_IceLeaf, // mProcName
+ &g_fpcLf_Method.mBase, // sub_method
+ sizeof(daObjIceLeaf_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 567, // mPriority
+ &l_daObjIceLeaf_Method, // sub_method
+ 0x00060000, // mStatus
+ fopAc_ACTOR_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};
diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp
index 1fded32d65..7c4a066280 100644
--- a/src/d/d_com_inf_game.cpp
+++ b/src/d/d_com_inf_game.cpp
@@ -12,6 +12,7 @@
#include "d/d_timer.h"
#include "d/d_map_path_dmap.h"
#include "d/d_menu_fmap.h"
+#include "d/d_meter2_info.h"
#include "f_op/f_op_scene_mng.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_controller_pad.h"
diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp
index 5a5072bce2..d8dea7bc2b 100644
--- a/src/d/d_demo.cpp
+++ b/src/d/d_demo.cpp
@@ -1282,7 +1282,7 @@ extern "C" void __dt__15dDemo_ambient_cFv() {
/* 80039528-80039678 033E68 0150+00 1/0 0/0 0/0 .text
* JSGFindObject__14dDemo_system_cCFPPQ26JStage7TObjectPCcQ26JStage8TEObject */
-bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorName,
+int dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorName,
JStage::TEObject objType) const {
if (mpObject == NULL) {
return true;
@@ -1491,10 +1491,10 @@ void dDemo_c::reset() {
}
/* 80039F1C-80039F9C 03485C 0080+00 1/0 0/0 0/0 .text emitter_create__16dDemo_particle_cFUl */
-void dDemo_particle_c::emitter_create(u32 param_0) {
+JPABaseEmitter* dDemo_particle_c::emitter_create(u32 param_0) {
cXyz tmp(0.0f, 0.0f, 0.0f);
int stayNo = dComIfGp_roomControl_getStayNo();
- dComIfGp_particle_set(param_0, &tmp, NULL, NULL, 0xFF, NULL, stayNo, NULL, NULL, NULL);
+ return dComIfGp_particle_set(param_0, &tmp, NULL, NULL, 0xFF, NULL, stayNo, NULL, NULL, NULL);
}
@@ -1559,4 +1559,4 @@ SECTION_DEAD static char const* const stringBase_8037981E = "デモデータ再
SECTION_DEAD static char const* const pad_8037983E = "\0";
#pragma pop
-/* 803797F8-803797F8 005E58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file
+/* 803797F8-803797F8 005E58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp
index 61d8f4106e..48e78def7b 100644
--- a/src/d/d_menu_collect.cpp
+++ b/src/d/d_menu_collect.cpp
@@ -22,6 +22,7 @@
#include "d/d_pane_class.h"
#include "d/d_item.h"
#include "d/d_lib.h"
+#include "d/d_meter2_info.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "dolphin/types.h"
diff --git a/src/d/d_menu_ring.cpp b/src/d/d_menu_ring.cpp
index 35b1723d8d..ae953edab7 100644
--- a/src/d/d_menu_ring.cpp
+++ b/src/d/d_menu_ring.cpp
@@ -19,6 +19,7 @@
#include "d/d_meter2.h"
#include "d/d_meter2_draw.h"
#include "d/d_meter_HIO.h"
+#include "d/d_meter2_info.h"
#include "d/d_msg_string.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
@@ -2097,4 +2098,4 @@ u8 dMenu_Ring_c::openExplain(u8 param_0) {
static const u32 i_nameID[2] = {0x4DE, 0x4E0};
static const u32 i_expID[2] = {0x4DF, 0x4E1};
return mpItemExplain->openExplainTx(i_nameID[idx], i_expID[idx]);
-} \ No newline at end of file
+}
diff --git a/src/d/d_meter2_draw.cpp b/src/d/d_meter2_draw.cpp
index b28de03d18..06e3617033 100644
--- a/src/d/d_meter2_draw.cpp
+++ b/src/d/d_meter2_draw.cpp
@@ -14,6 +14,7 @@
#include "d/d_item_data.h"
#include "d/d_kantera_icon_meter.h"
#include "d/d_meter_HIO.h"
+#include "d/d_meter2_info.h"
#include "d/d_msg_class.h"
#include "d/d_msg_object.h"
#include "d/d_pane_class.h"
@@ -4066,4 +4067,4 @@ static u64 const tag_7759[] = {
'item_x_n',
'item_y_n',
'item_j_n',
-}; \ No newline at end of file
+};
diff --git a/src/d/d_msg_flow.cpp b/src/d/d_msg_flow.cpp
index 08affd2b19..1597046dbd 100644
--- a/src/d/d_msg_flow.cpp
+++ b/src/d/d_msg_flow.cpp
@@ -9,6 +9,7 @@
#include "d/d_item.h"
#include "d/d_msg_object.h"
#include "d/d_shop_system.h"
+#include "d/d_meter2_info.h"
#include "dol2asm.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_graphic.h"
@@ -2470,4 +2471,4 @@ extern "C" void func_8024DAB0(void* _this, s32* param_0) {
// NONMATCHING
}
-/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file
+/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/d_msg_scrn_howl.cpp b/src/d/d_msg_scrn_howl.cpp
index 6a0756051a..cbc6986415 100644
--- a/src/d/d_msg_scrn_howl.cpp
+++ b/src/d/d_msg_scrn_howl.cpp
@@ -10,6 +10,7 @@
#include "d/actor/d_a_alink.h"
#include "d/d_meter2.h"
#include "d/d_meter2_draw.h"
+#include "d/d_meter2_info.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/J2DGraph/J2DGrafContext.h"
@@ -1098,4 +1099,4 @@ u8 dMsgScrnHowl_c::getGuideDataType(int param_0) {
}
-/* 80399A20-80399A20 026080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file
+/* 80399A20-80399A20 026080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */