summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2021-12-04 05:10:59 -0800
committerTakaRikka <38417346+TakaRikka@users.noreply.github.com>2021-12-04 05:10:59 -0800
commitfd9c4cafc4d9aa3df4b2f43ee33f15152482fce9 (patch)
tree9cbded0544c03c997411dc658e7b8b4ae9e59277
parent70eabb12bd5e9327ccd01b1f9367fca109d4fbfa (diff)
wip
-rw-r--r--include/JSystem/J2DGraph/J2DAnmLoader.h2
-rw-r--r--include/JSystem/J2DGraph/J2DPane.h3
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DJoint.h8
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModel.h1
-rw-r--r--include/SSystem/SComponent/c_m3d_g_cps.h1
-rw-r--r--include/d/a/d_a_alink.h1510
-rw-r--r--include/d/a/d_a_player.h45
-rw-r--r--include/d/bg/d_bg_s_acch.h2
-rw-r--r--include/d/cc/d_cc_d.h20
-rw-r--r--include/d/com/d_com_inf_game.h103
-rw-r--r--include/d/d_attention.h12
-rw-r--r--include/d/d_resorce.h4
-rw-r--r--include/d/d_stage.h35
-rw-r--r--include/d/event/d_event.h3
-rw-r--r--include/d/event/d_event_data.h164
-rw-r--r--include/d/event/d_event_manager.h12
-rw-r--r--include/d/kankyo/d_kankyo.h2
-rw-r--r--include/d/meter/d_meter2_info.h25
-rw-r--r--include/d/particle/d_particle.h168
-rw-r--r--include/d/save/d_save.h3
-rw-r--r--include/f_op/f_op_actor_mng.h6
-rw-r--r--include/f_pc/f_pc_manager.h4
-rw-r--r--include/m_Do/m_Do_ext.h104
-rw-r--r--include/m_Do/m_Do_mtx.h6
-rw-r--r--include/rel/d/a/d_a_crod/d_a_crod.h31
-rw-r--r--include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h9
-rw-r--r--libs/JSystem/J2DGraph/J2DAnmLoader.cpp2
-rw-r--r--rel/d/a/d_a_crod/d_a_crod.cpp65
-rw-r--r--rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp10
-rw-r--r--src/d/a/d_a_alink.cpp3276
-rw-r--r--src/d/a/d_a_player.cpp8
-rw-r--r--src/d/com/d_com_inf_game.cpp8
-rw-r--r--src/d/event/d_event.cpp2
-rw-r--r--src/d/event/d_event_data.cpp252
-rw-r--r--src/d/event/d_event_manager.cpp201
-rw-r--r--src/d/kankyo/d_kankyo.cpp8
-rw-r--r--src/d/particle/d_particle.cpp111
-rw-r--r--src/f_op/f_op_actor_mng.cpp2
-rw-r--r--src/m_Do/m_Do_ext.cpp39
39 files changed, 3897 insertions, 2370 deletions
diff --git a/include/JSystem/J2DGraph/J2DAnmLoader.h b/include/JSystem/J2DGraph/J2DAnmLoader.h
index 0c2f69d007..b6867363da 100644
--- a/include/JSystem/J2DGraph/J2DAnmLoader.h
+++ b/include/JSystem/J2DGraph/J2DAnmLoader.h
@@ -6,7 +6,7 @@
#include "dolphin/types.h"
struct J2DAnmLoaderDataBase {
- /* 80308A6C */ static void load(void const*);
+ /* 80308A6C */ static void* load(void const*);
};
class J2DAnmLoader {
diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h
index d73d42d169..d6bb45c8ec 100644
--- a/include/JSystem/J2DGraph/J2DPane.h
+++ b/include/JSystem/J2DGraph/J2DPane.h
@@ -128,6 +128,9 @@ public:
void* getPointer(JSURandomInputStream* stream, u32 size, JKRArchive* archive);
void animationTransform();
void updateTransform(const J2DAnmTransform* transform);
+ void setUserInfo(u64 info) {
+ mUserInfoTag = info;
+ }
static f32 static_mBounds[4];
diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h
index 9cbf745d43..25a21bad57 100644
--- a/include/JSystem/J3DGraphAnimator/J3DJoint.h
+++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h
@@ -29,6 +29,14 @@ public:
static J3DJoint* mJoint;
}; // Size: 0x4
+class J3DMtxCalcNoAnmBase : public J3DMtxCalc {
+public:
+ /* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase();
+};
+
+template <typename A, typename B>
+class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase, public A, public B {};
+
class J3DJoint;
typedef int (*J3DJointCallBack)(J3DJoint*, int);
diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h
index 16bf6deacd..02c71511b1 100644
--- a/include/JSystem/J3DGraphAnimator/J3DModel.h
+++ b/include/JSystem/J3DGraphAnimator/J3DModel.h
@@ -49,6 +49,7 @@ public:
void offFlag(u32 flag) { mFlags &= ~flag; }
bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; }
Mtx& getBaseTRMtx() { return mBaseTransformMtx; }
+ void i_setBaseTRMtx(Mtx m) { PSMTXCopy(m, mBaseTransformMtx); }
// is there a better way to handle inlines with same name as non-inlines?
MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }
diff --git a/include/SSystem/SComponent/c_m3d_g_cps.h b/include/SSystem/SComponent/c_m3d_g_cps.h
index 47acd885af..14315a9fc3 100644
--- a/include/SSystem/SComponent/c_m3d_g_cps.h
+++ b/include/SSystem/SComponent/c_m3d_g_cps.h
@@ -26,6 +26,7 @@ public:
}
bool Cross(cM3dGCyl const* cyl, cXyz* xyz) const { return cM3d_Cross_CpsCyl(*this, *cyl, xyz); }
bool Cross(cM3dGSph const* sph, cXyz* xyz) const { return cM3d_Cross_CpsSph(*this, *sph, xyz); }
+ void SetR(f32 r) { mRadius = r; }
}; // Size = 0x20
diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h
index 22e01aed97..e723b67db0 100644
--- a/include/d/a/d_a_alink.h
+++ b/include/d/a/d_a_alink.h
@@ -19,6 +19,7 @@
#include "d/particle/d_particle.h"
#include "d/particle/d_particle_copoly.h"
#include "rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h"
+#include "rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h"
#include "dolphin/types.h"
class fopEn_enemy_c;
@@ -32,23 +33,29 @@ class J2DAnmBase;
class daAlink_lockCursor_c : public dDlst_base_c {
public:
- /* 80125F14 */ void create();
+ /* 80125F14 */ BOOL create();
/* 80126358 */ void update();
/* 80126424 */ virtual void draw();
/* 800CFE68 */ virtual ~daAlink_lockCursor_c();
+ void initFrame() {
+ field_0x4 = false;
+ field_0x2c = 4.0f;
+ field_0x30 = 0.0f;
+ }
+
private:
/* 0x04 */ bool field_0x4;
/* 0x05 */ u8 field_0x5[3];
- /* 0x08 */ J2DScreen* field_0x8;
+ /* 0x08 */ J2DScreen* mScrn;
/* 0x0C */ J2DPane* field_0xc;
- /* 0x10 */ J2DPane* field_0x10;
- /* 0x14 */ J2DPane* field_0x14;
- /* 0x18 */ J2DPane* field_0x18;
- /* 0x1C */ J2DAnmBase* field_0x1c;
- /* 0x20 */ J2DAnmBase* field_0x20;
- /* 0x24 */ J2DAnmBase* field_0x24;
- /* 0x28 */ J2DAnmBase* field_0x28;
+ /* 0x10 */ J2DPane* mCursor0;
+ /* 0x14 */ J2DPane* mCursor1;
+ /* 0x18 */ J2DPane* mCursor2;
+ /* 0x1C */ J2DAnmTevRegKey* field_0x1c;
+ /* 0x20 */ J2DAnmTevRegKey* field_0x20;
+ /* 0x24 */ J2DAnmColorKey* field_0x24;
+ /* 0x28 */ J2DAnmTransformKey* field_0x28;
/* 0x2C */ float field_0x2c;
/* 0x30 */ float field_0x30;
/* 0x34 */ float field_0x34;
@@ -57,7 +64,7 @@ private:
class daAlink_sight_c : public daPy_sightPacket_c {
public:
- /* 80126650 */ void create();
+ /* 80126650 */ bool create();
/* 80126710 */ void onLockFlg();
/* 801266C0 */ virtual void draw();
@@ -66,7 +73,7 @@ public:
private:
/* 0x4C */ bool mLockFlag;
/* 0x4D */ u8 field_0x4d[3];
- /* 0x50 */ daAlink_lockCursor_c field_0x50;
+ /* 0x50 */ daAlink_lockCursor_c mLockCursor;
};
class daAlink_blur_c : public J3DPacket {
@@ -84,7 +91,7 @@ private:
/* 0x018 */ u8 field_0x18[4];
/* 0x01C */ int field_0x1c;
/* 0x020 */ u8 field_0x20[4];
- /* 0x024 */ float field_0x24;
+ /* 0x024 */ f32 field_0x24;
/* 0x028 */ u8 field_0x28[4];
/* 0x02C */ cXyz field_0x2c;
/* 0x038 */ cXyz field_0x38[0x3C];
@@ -134,6 +141,25 @@ private:
/* 0x104 */ int mSetFlag;
};
+struct daAlink_AnmData {
+ /* 0x0 */ u16 field_0x0;
+ /* 0x2 */ u16 field_0x2;
+ /* 0x4 */ u8 field_0x4;
+ /* 0x5 */ u8 field_0x5;
+ /* 0x6 */ u16 field_0x6;
+ /* 0x8 */ u16 field_0x8;
+ /* 0xA */ u16 field_0xa;
+}; // Size: 0xC
+
+struct daAlink_WlAnmData {
+ /* 0x0 */ u16 field_0x0;
+ /* 0x2 */ u8 field_0x2;
+ /* 0x3 */ u8 field_0x3;
+ /* 0x4 */ u16 field_0x4;
+ /* 0x6 */ u8 field_0x6;
+ /* 0x7 */ u8 field_0x7;
+}; // Size: 0x8
+
class daAlink_c : public daPy_py_c {
public:
enum daAlink_ANM {
@@ -157,6 +183,8 @@ public:
/* 0xBE */ ANM_BACKWARD_SLIDE,
/* 0xBF */ ANM_BACKWARD_SLIDE_LAND,
/* 0xC0 */ ANM_FORWARD_SLIDE_LAND,
+
+ /* 0x18D */ ANM_CUT_JUMP_LARGE = 0x18D, // verify
ANM_GANON_FINISH = 408 // name probably wrong, fix later
};
@@ -202,6 +230,7 @@ public:
/* 0x10000000 */ MODE_UNK_10000000 = 0x10000000, // catch boomerang?
/* 0x20000000 */ MODE_UNK_20000000 = 0x20000000,
/* 0x40000000 */ MODE_UNK_40000000 = 0x40000000,
+ MODE_PLAYER_FLY = 0x70C52,
};
enum daAlink_PROC {
@@ -335,7 +364,11 @@ public:
/* 0x0F2 */ WOLF_MOVE,
/* 0x0F3 */ WOLF_DASH,
/* 0x0F4 */ WOLF_KNOCKBACK,
- /* 0x0F7 */ WOLF_SIDESTEP = 247,
+ /* 0x0F6 */ WOLF_ATN_WAIT = 246,
+ /* 0x0F7 */ WOLF_SIDESTEP,
+ /* 0x0F8 */ WOLF_SIDESTEP_LAND,
+ /* 0x0F9 */ WOLF_BACKFLIP,
+ /* 0x0FA */ WOLF_BACKFLIP_LAND,
/* 0x0FC */ WOLF_AUTOJUMP = 252,
/* 0x0FF */ WOLF_RSIT = 255,
/* 0x107 */ WOLF_DAMAGE = 263,
@@ -356,7 +389,8 @@ public:
/* 0x144 */ PUSH_MOVE,
/* 0x148 */ TRESURE_STAND = 328,
/* 0x14D */ METAMORPHOSE = 333,
- /* 0x150 */ DEAD = 336,
+ /* 0x14F */ WARP = 335,
+ /* 0x150 */ DEAD,
/* 0x159 */ LARGE_DAMAGE = 345,
/* 0x15A */ LARGE_DAMAGE_WALL,
};
@@ -371,9 +405,12 @@ public:
};
class firePointEff_c {
+ public:
/* 800CFC3C */ ~firePointEff_c();
/* 800CFC78 */ firePointEff_c();
- /* 0x00 */ u8 field_0x0[0xc];
+ /* 0x00 */ u8 field_0x0;
+ /* 0x04 */ u32 field_0x4;
+ /* 0x08 */ u32 field_0x8;
/* 0x0C */ cXyz field_0xc;
/* 0x18 */ cXyz field_0x18;
/* 0x24 */ cXyz field_0x24;
@@ -388,14 +425,14 @@ public:
/* 8009D87C */ bool getE3Zhint();
/* 8009D884 */ char* getAlinkArcName();
/* 8009DA60 */ static bool checkStageName(char const*);
- /* 8009DA98 */ static void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
+ /* 8009DA98 */ void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
/* 8009DB64 */ void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*);
/* 8009DC6C */ void setMatrixWorldAxisRot(f32 (*)[4], s16, s16, s16, int, cXyz const*);
/* 8009DD90 */ void jointControll(int);
/* 8009E7B8 */ void setUpperFront();
/* 8009E91C */ void changeBlendRate(int);
/* 8009EB18 */ void resetRootMtx();
- /* 8009EB58 */ void modelCallBack(int);
+ /* 8009EB58 */ bool modelCallBack(int);
/* 8009ECA0 */ void headModelCallBack(int);
/* 8009EF7C */ void wolfModelCallBack(int);
/* 8009F034 */ void setHatAngle();
@@ -418,10 +455,10 @@ public:
/* 800A2CE0 */ void setLegAngle(f32, daAlink_footData_c*, s16*, s16*, int);
/* 800A3430 */ void footBgCheck();
/* 800A39B8 */ void handBgCheck();
- /* 800A3C8C */ void setItemHeap();
+ /* 800A3C8C */ JKRHeap* setItemHeap();
/* 800A3CE4 */ void setIdxMask(u16*, u16*);
/* 800A3D0C */ void getAnimeResource(daPy_anmHeap_c*, u16, u32);
- /* 800A3D7C */ void initModel(J3DModelData*, u32, u32);
+ /* 800A3D7C */ J3DModel* initModel(J3DModelData*, u32, u32);
/* 800A3E30 */ void initModel(u16, u32);
/* 800A3E98 */ void initModelEnv(u16, u32);
/* 800A3F00 */ void initDemoModel(J3DModel**, char const*, u32);
@@ -519,17 +556,17 @@ public:
/* 800B0150 */ void getRoofAngle(cBgS_PolyInfo*, s16);
/* 800B01FC */ void getWallEdgePos(cXyz const&, cM3dGPla*, cM3dGPla*, cXyz*, int);
/* 800B02BC */ void setFrontWallType();
- /* 800B1488 */ void checkWaterPolygonUnder();
+ /* 800B1488 */ BOOL checkWaterPolygonUnder();
/* 800B14B4 */ void setWaterY();
/* 800B154C */ void setHangWaterY();
/* 800B172C */ void setSandDownBgCheckWallH();
/* 800B1770 */ void setBgCheckParam();
- /* 800B1B28 */ void checkNotJumpSinkLimit();
- /* 800B1B68 */ void checkNotItemSinkLimit();
+ /* 800B1B28 */ BOOL checkNotJumpSinkLimit();
+ /* 800B1B68 */ BOOL checkNotItemSinkLimit();
/* 800B1BAC */ void setSandShapeOffset();
/* 800B1FB8 */ bool checkLv2MiddleBossBgRide(s16);
/* 800B1FD8 */ void getSlidePolygon(cM3dGPla*);
- /* 800B21EC */ void checkSlope() const;
+ /* 800B21EC */ BOOL checkSlope() const;
/* 800B25CC */ BOOL itemTriggerCheck(u8);
/* 800B25E8 */ BOOL itemButtonCheck(u8);
/* 800B2604 */ void itemButton();
@@ -556,7 +593,7 @@ public:
/* 800B3630 */ void getShapeAngleYAtnActor();
/* 800B3734 */ void setShapeAngleToAtnActor(int);
/* 800B3844 */ void initServiceWaitTime();
- /* 800B3904 */ void checkZeroSpeedF() const;
+ /* 800B3904 */ bool checkZeroSpeedF() const;
/* 800B3924 */ void setNormalSpeedF(f32, f32);
/* 800B3F2C */ void getStickAngleDistanceRate();
/* 800B3FD4 */ void setSpeedAndAngleNormal();
@@ -578,7 +615,7 @@ public:
/* 800B5C34 */ void setLandPassiveData();
/* 800B5C64 */ void setStepLandVibration();
/* 800B5CCC */ void checkLandAction(int);
- /* 800B5F6C */ void checkSlideAction();
+ /* 800B5F6C */ BOOL checkSlideAction();
/* 800B607C */ void checkAutoJumpAction();
/* 800B69CC */ bool checkCutJumpInFly();
/* 800B6A30 */ BOOL checkFrontWallTypeAction();
@@ -659,9 +696,9 @@ public:
/* 800BFD74 */ void makeItemType();
/* 800BFDB0 */ BOOL checkZoraWearAbility() const;
/* 800BFDFC */ BOOL checkMagicArmorWearAbility() const;
- /* 800BFE48 */ void loadAramBmd(u16, u32);
+ /* 800BFE48 */ J3DModelData* loadAramBmd(u16, u32);
/* 800BFF04 */ void loadAram(u16, u32);
- /* 800BFF70 */ void loadAramItemBrk(u16, J3DModel*);
+ /* 800BFF70 */ J3DAnmTevRegKey* loadAramItemBrk(u16, J3DModel*);
/* 800BFFCC */ void loadAramItemBtk(u16, J3DModel*);
/* 800C0028 */ void loadAramItemBtp(u16, J3DModel*);
/* 800C0084 */ void changeItemBck(u16, f32);
@@ -723,7 +760,7 @@ public:
/* 800C4FFC */ void procFrontRollCrash();
/* 800C5160 */ void procFrontRollSuccessInit();
/* 800C5240 */ void procFrontRollSuccess();
- /* 800C5328 */ void procSideRollInit(int);
+ /* 800C5328 */ bool procSideRollInit(int);
/* 800C5484 */ void procSideRoll();
/* 800C5700 */ void backJumpSpeedDec();
/* 800C57A4 */ bool procBackJumpInit(int);
@@ -748,7 +785,7 @@ public:
/* 800C755C */ void procStepMove();
/* 800C7690 */ void procCrouchInit();
/* 800C76F8 */ void procCrouch();
- /* 800C77F4 */ void procCoMetamorphoseInit();
+ /* 800C77F4 */ bool procCoMetamorphoseInit();
/* 800C7C64 */ void procCoMetamorphose();
/* 800C82E8 */ void procCoMetamorphoseOnlyInit();
/* 800C83A0 */ void procCoMetamorphoseOnly();
@@ -874,7 +911,7 @@ public:
/* 800D6238 */ void procCutLargeJumpChargeInit();
/* 800D62A0 */ void procCutLargeJumpCharge();
/* 800D6374 */ void procCutLargeJumpInit();
- /* 800D6484 */ void procCutLargeJump();
+ /* 800D6484 */ bool procCutLargeJump();
/* 800D66C0 */ void procCutLargeJumpLandInit(int);
/* 800D67FC */ void procCutLargeJumpLand();
/* 800D698C */ void procSwordUnequipSpInit();
@@ -950,7 +987,7 @@ public:
/* 800DDBA8 */ void procGuardAttack();
/* 800DDE58 */ void procGuardBreakInit();
/* 800DDF2C */ void procGuardBreak();
- /* 800DE008 */ void procTurnMoveInit(int);
+ /* 800DE008 */ bool procTurnMoveInit(int);
/* 800DE380 */ void procTurnMove();
/* 800DE64C */ void getArrowFlyData(f32*, f32*, int) const;
/* 800DE740 */ void getArrowIncAtR() const;
@@ -982,20 +1019,20 @@ public:
/* 800DFDDC */ void procBowSubject();
/* 800DFE3C */ void procBowMoveInit();
/* 800DFEC0 */ void procBowMove();
- /* 800DFFE0 */ void checkBoomerangLockAccept();
- /* 800E0010 */ void getBoomSpeed();
- /* 800E00B0 */ void getBoomCatchSpeed() const;
- /* 800E00C0 */ void getBoomFlyMax() const;
- /* 800E011C */ void getBoomLockMax();
- /* 800E0190 */ void getBoomBgThroughTime() const;
- /* 800E01A0 */ void checkBossBabaRoom();
+ /* 800DFFE0 */ BOOL checkBoomerangLockAccept();
+ /* 800E0010 */ f32 getBoomSpeed();
+ /* 800E00B0 */ f32 getBoomCatchSpeed() const;
+ /* 800E00C0 */ f32 getBoomFlyMax() const;
+ /* 800E011C */ f32 getBoomLockMax();
+ /* 800E0190 */ s16 getBoomBgThroughTime() const;
+ /* 800E01A0 */ bool checkBossBabaRoom();
/* 800E01CC */ void cancelBoomerangLock(fopAc_ac_c*);
- /* 800E0210 */ void getBoomerangActor();
+ /* 800E0210 */ fopAc_ac_c* getBoomerangActor();
/* 800E0244 */ void checkBoomerangChargeEnd();
/* 800E02B8 */ void checkBoomerangCarry(fopAc_ac_c*);
/* 800E03D0 */ void initBoomerangUpperAnimeSpeed(int);
- /* 800E0440 */ void checkBoomerangAnime() const;
- /* 800E04AC */ void checkBoomerangThrowAnime() const;
+ /* 800E0440 */ BOOL checkBoomerangAnime() const;
+ /* 800E04AC */ BOOL checkBoomerangThrowAnime() const;
/* 800E04E8 */ void setBoomerangReadyQuake();
/* 800E055C */ void setBoomerangReadyAnime();
/* 800E05E8 */ void setThrowBoomerangAnime();
@@ -1013,14 +1050,14 @@ public:
/* 800E10F4 */ void procBoomerangMove();
/* 800E11D8 */ void procBoomerangCatchInit();
/* 800E1248 */ void procBoomerangCatch();
- /* 800E12E0 */ void checkLv6BossRoom();
- /* 800E1310 */ void getCopyRodBallSpeed() const;
- /* 800E1320 */ void getCopyRodBallReturnSpeed() const;
- /* 800E1330 */ void getCopyRodBallDisMax() const;
- /* 800E1374 */ void getCopyRodControllActor();
- /* 800E1390 */ void getCopyRodCameraActor();
+ /* 800E12E0 */ static BOOL checkLv6BossRoom();
+ /* 800E1310 */ f32 getCopyRodBallSpeed() const;
+ /* 800E1320 */ f32 getCopyRodBallReturnSpeed() const;
+ /* 800E1330 */ f32 getCopyRodBallDisMax() const;
+ /* 800E1374 */ fopAc_ac_c* getCopyRodControllActor();
+ /* 800E1390 */ fopAc_ac_c* getCopyRodCameraActor();
/* 800E13AC */ void initCopyRodUpperAnimeSpeed(int);
- /* 800E1408 */ void checkForestOldCentury();
+ /* 800E1408 */ BOOL checkForestOldCentury();
/* 800E1530 */ void checkCopyRodAnime() const;
/* 800E158C */ void setCopyRodControllAnime();
/* 800E15FC */ void setCopyRodControllUpperSpeedRate();
@@ -1281,7 +1318,7 @@ public:
/* 800F3EB8 */ void checkCanoePaddleGrab(fopAc_ac_c*) const;
/* 800F3F38 */ void checkCanoeFishingRodGrabOrPut() const;
/* 800F3FC4 */ void initCanoeRide();
- /* 800F4008 */ void checkCanoeJumpRide();
+ /* 800F4008 */ BOOL checkCanoeJumpRide();
/* 800F40E4 */ void setArmReelAnime();
/* 800F4140 */ void setFishingWaitAction();
/* 800F4490 */ void setFishGetFace();
@@ -1643,7 +1680,7 @@ public:
/* 80112E7C */ void setIronBallChainPos();
/* 80113CA0 */ void checkIronBallReturnChange();
/* 80113D58 */ void setIronBallPos();
- /* 801150E4 */ void checkIronBallAnime() const;
+ /* 801150E4 */ BOOL checkIronBallAnime() const;
/* 8011510C */ void setIronBallReadyAnime();
/* 801151E0 */ void setIronBallBaseAnime();
/* 80115254 */ void checkUpperItemActionIronBall();
@@ -1837,14 +1874,14 @@ public:
/* 80126F3C */ void changeLink(int);
/* 80127C54 */ void onWolfEyeUp();
/* 80127CAC */ void offWolfEyeUp();
- /* 80127CF0 */ void wolfSenseTrigger();
+ /* 80127CF0 */ BOOL wolfSenseTrigger();
/* 80127D14 */ void setWolfSenceStatus(u8);
/* 80127D2C */ void wolfClawTrigger();
/* 80127D50 */ void setWolfDigStatus(u8);
/* 80127D68 */ BOOL checkWolfShapeReverse() const;
- /* 80127DC4 */ void checkWolfSideStep() const;
+ /* 80127DC4 */ BOOL checkWolfSideStep() const;
/* 80127E08 */ void setWolfTailAngle();
- /* 80127F20 */ void checkWolfSlowDash();
+ /* 80127F20 */ BOOL checkWolfSlowDash();
/* 80127F50 */ void setSpeedAndAngleWolf();
/* 80128478 */ void setSpeedAndAngleWolfAtn();
/* 80128798 */ void checkWolfAtnWait();
@@ -1862,9 +1899,9 @@ public:
/* 80129704 */ void setSingleAnimeWolf(daAlink_c::daAlink_WANM, f32, f32, s16, f32);
/* 80129848 */ void setSingleAnimeWolfParam(daAlink_c::daAlink_WANM, daAlinkHIO_anm_c const*);
/* 8012987C */ void checkWolfLandAction(int);
- /* 80129958 */ void checkMidnaUseAbility() const;
+ /* 80129958 */ BOOL checkMidnaUseAbility() const;
/* 801299A8 */ void checkWolfUseAbility();
- /* 80129A80 */ void checkWolfGroundSpecialMode();
+ /* 80129A80 */ bool checkWolfGroundSpecialMode();
/* 80129B44 */ void checkNextActionWolf(int);
/* 8012A02C */ void wolfSideBgCheck(s16);
/* 8012A228 */ void checkWolfAttackReverse(int);
@@ -1955,12 +1992,12 @@ public:
/* 8013384C */ void procWolfRopeSubjectivityInit();
/* 80133930 */ void procWolfRopeSubjectivity();
/* 80133D6C */ void getWolfTagJumpTime() const;
- /* 80133EF0 */ void checkMidnaLockJumpPoint() const;
+ /* 80133EF0 */ cXyz* checkMidnaLockJumpPoint() const;
/* 80134000 */ void procWolfTagJumpInit(fopAc_ac_c*);
/* 80134838 */ void procWolfTagJump();
/* 80134DB8 */ void procWolfTagJumpLandInit(fopAc_ac_c*);
/* 80134EBC */ void procWolfTagJumpLand();
- /* 80135160 */ void procWolfGiantPuzzleInit();
+ /* 80135160 */ bool procWolfGiantPuzzleInit();
/* 801351F8 */ void procWolfGiantPuzzle();
/* 80135458 */ void setWolfHangGroundY();
/* 801354C8 */ void changeWolfHangEndProc();
@@ -1978,7 +2015,7 @@ public:
/* 80136C18 */ void procWolfLandDamageInit(int);
/* 80136DE4 */ void procWolfLandDamage();
/* 80136EC4 */ void setWolfScreamWaitAnime();
- /* 80136F54 */ void procWolfScreamWaitInit();
+ /* 80136F54 */ bool procWolfScreamWaitInit();
/* 80136FF8 */ void procWolfScreamWait();
/* 801370E4 */ void getWolfLieMoveAnmSpeed();
/* 8013712C */ void getWolfLieMoveSpeed();
@@ -2058,7 +2095,7 @@ public:
/* 8013D86C */ void procWolfGrabThrow();
/* 8013D930 */ void procWolfPushInit();
/* 8013DA8C */ void procWolfPush();
- /* 8013DB6C */ void procWolfCargoCarryInit();
+ /* 8013DB6C */ bool procWolfCargoCarryInit();
/* 8013DC5C */ void procWolfCargoCarry();
/* 8013DDF8 */ void procWolfChainUpInit();
/* 8013DE70 */ void procWolfChainUp();
@@ -2243,7 +2280,7 @@ public:
virtual BOOL checkHorseStart();
virtual Z2WolfHowlMgr* getWolfHowlMgrP();
virtual BOOL checkWolfHowlSuccessAnime() const;
- virtual bool checkCopyRodTopUse();
+ virtual BOOL checkCopyRodTopUse();
virtual bool checkCopyRodEquip() const;
virtual BOOL checkCutJumpMode() const;
@@ -2251,32 +2288,42 @@ public:
u32 i_checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; }
bool i_checkSmallUpperGuardAnime() const { return checkUpperAnime(0x16); }
bool i_checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); }
- bool i_checkAttentionLock() { return mAttention->Lockon(); }
+ BOOL i_checkAttentionLock() { return mAttention->Lockon(); }
bool checkUpperAnime(u16 pIdx) const { return mUpperAnime[UPPER_NOW].getIdx() == pIdx; }
bool checkIronBallWaitAnime() const { return checkUpperAnime(0x19C); }
- s16 checkWolfEyeUp() const { return mWolfEyeUp; }
- void onModeFlg(u32 flag) { mModeFlg |= flag; }
- void offModeFlg(u32 flag) { mModeFlg &= ~flag; }
bool checkHorseTurnLAnime() const { return checkUpperAnime(0x24C); }
bool checkHorseTurnRAnime() const { return checkUpperAnime(0x24D); }
bool checkHorseTurnAnime() const { return checkHorseTurnLAnime() || checkHorseTurnRAnime(); }
bool checkHookshotShootAnime() const { return checkUpperAnime(0x18C); }
bool checkHookshotReadyAnime() const { return checkUpperAnime(0x18D); }
bool checkHookshotAnime() const { return checkHookshotReadyAnime() || checkHookshotShootAnime(); }
+ BOOL checkBoomerangReadyAnime() const { return (mEquipItem == BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(0x54); }
+
+ s16 checkWolfEyeUp() const { return mWolfEyeUp; }
+ void onModeFlg(u32 flag) { mModeFlg |= flag; }
+ void offModeFlg(u32 flag) { mModeFlg &= ~flag; }
bool swordButton() { return itemButtonCheck(8); }
daPy_actorKeep_c* getThrowBoomerangAcKeep() { return &mThrowBoomerangActor; }
s32 getStartRoomNo() { return fopAcM_GetParam(this) & 0x3F; }
bool checkFisingRodLure() const { return mEquipItem == 0x105; }
bool doTrigger() const { return mItemTrigger & 0x10; }
u32 getStartMode() { return (fopAcM_GetParam(this) >> 0xC) & 0x1F; }
+ bool checkInputOnR() const { return field_0x33ac <= 0.05f; }
+ static int getSightBti() { return 0x5B; }
+ bool checkBoomerangChargeEndWait() const { return mEquipItem != 0x102 && checkBoomerangAnime(); }
+ J3DAnmTransform* getNowAnmPackUpper(daAlink_UPPER param_0) { return mNowAnmPack[param_0].getAnmTransform(); }
+ void setFacePriBck(u16 param_0) { setFaceBck(param_0, 1, 0xFFFF); }
+
BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; }
+ inline u16 getReadyItem();
+
static u8 const m_mainBckShield[80];
static u8 const m_mainBckSword[20];
static u8 const m_mainBckFishing[112];
- static u8 const m_anmDataTable[4968];
- static void* const m_wlAnmDataTable[294];
+ static daAlink_AnmData const m_anmDataTable[414];
+ static daAlink_WlAnmData const m_wlAnmDataTable[147];
static u8 const m_faceTexDataTable[652];
static u8 const m_handLeftOutSidePos[12];
static u8 const m_handRightOutSidePos[12];
@@ -2313,7 +2360,7 @@ private:
/* 0x00688 */ J3DModel* field_0x0688;
/* 0x0068C */ J3DAnmBase* field_0x068c;
/* 0x00690 */ mDoExt_baseAnm** field_0x0690;
- /* 0x00694 */ void* field_0x0694; // J3DDeformData
+ /* 0x00694 */ J3DDeformData* field_0x0694;
/* 0x00698 */ void* field_0x0698;
/* 0x0069C */ void* field_0x069c;
/* 0x006A0 */ J3DModel* field_0x06a0;
@@ -2349,7 +2396,7 @@ private:
/* 0x00718 */ J3DAnmBase* field_0x0718;
/* 0x0071C */ J3DAnmBase* field_0x071c;
/* 0x00720 */ J3DAnmBase* field_0x0720;
- /* 0x00724 */ J3DAnmBase* field_0x0724;
+ /* 0x00724 */ J3DAnmTevRegKey* field_0x0724;
/* 0x00728 */ J3DAnmBase* field_0x0728;
/* 0x0072C */ J3DAnmBase* field_0x072c;
/* 0x00730 */ mDoExt_bckAnm field_0x730;
@@ -2382,12 +2429,12 @@ private:
/* 0x01ECC */ dBgS_ObjGndChk mObjGndChk;
/* 0x01F20 */ u8 field_0x1f20[8];
/* 0x01F28 */ mDoExt_AnmRatioPack field_0x1f28[3];
- /* 0x01F40 */ mDoExt_AnmRatioPack field_0x1f40[3];
+ /* 0x01F40 */ mDoExt_AnmRatioPack mNowAnmPack[3];
/* 0x01F58 */ daPy_anmHeap_c mUnderAnime[3];
/* 0x01F94 */ daPy_anmHeap_c mUpperAnime[3];
/* 0x01FD0 */ daPy_frameCtrl_c mFrameCtrl1[3];
/* 0x02018 */ daPy_frameCtrl_c mFrameCtrl2[3];
- /* 0x02060 */ void* field_0x2060; // mDoExt_MtxCalcOldFrame*
+ /* 0x02060 */ mDoExt_MtxCalcOldFrame* field_0x2060;
/* 0x02064 */ daAlink_sight_c mSight;
/* 0x020F0 */ daPy_anmHeap_c mAnmHeap3;
/* 0x02104 */ daPy_anmHeap_c mAnmHeap4;
@@ -2408,7 +2455,7 @@ private:
/* 0x027E8 */ dAttList_c* mAttList2;
/* 0x027EC */ fopAc_ac_c* mTargetedActor;
/* 0x027F0 */ fopAc_ac_c* field_0x27f0;
- /* 0x027F4 */ fopAc_ac_c* field_0x27f4;
+ /* 0x027F4 */ kytag05_class* field_0x27f4;
/* 0x027F8 */ fopAc_ac_c* field_0x27f8;
/* 0x027FC */ fopAc_ac_c* field_0x27fc;
/* 0x02800 */ daTagMmsg_c* mMidnaMsg;
@@ -2420,7 +2467,7 @@ private:
/* 0x02824 */ daPy_actorKeep_c mItemActor; // name might be wrong
/* 0x0282C */ daPy_actorKeep_c mGrabItemActor;
/* 0x02834 */ daPy_actorKeep_c mThrowBoomerangActor;
- /* 0x0283C */ daPy_actorKeep_c field_0x283c;
+ /* 0x0283C */ daPy_actorKeep_c mCopyRodAcKeep;
/* 0x02844 */ daPy_actorKeep_c field_0x2844;
/* 0x0284C */ daPy_actorKeep_c field_0x284c;
/* 0x02854 */ daPy_actorKeep_c mCargoCarryActor;
@@ -2443,7 +2490,7 @@ private:
/* 0x02BAC */ cXyz field_0x2bac;
/* 0x02BB8 */ Mtx mInvMtx;
/* 0x02BE8 */ Mtx field_0x2be8;
- /* 0x02C18 */ Mtx field_0x2c18;
+ /* 0x02C18 */ Mtx mRootMtx;
/* 0x02C48 */ Mtx field_0x2c48;
/* 0x02C78 */ Mtx field_0x2c78;
/* 0x02CA8 */ Z2CreatureLink mZ2Link;
@@ -2568,7 +2615,7 @@ private:
/* 0x0300E */ s16 field_0x300e;
/* 0x03010 */ s16 field_0x3010;
/* 0x03012 */ s16 field_0x3012;
- /* 0x03014 */ s16 field_0x3014;
+ /* 0x03014 */ s16 mFallVoiceInit;
/* 0x03016 */ u8 field_0x3016[2];
/* 0x03018 */ s16 field_0x3018;
/* 0x0301A */ s16 field_0x301a;
@@ -2765,11 +2812,11 @@ private:
/* 0x033A8 */ float field_0x33a8;
/* 0x033AC */ float field_0x33ac;
/* 0x033B0 */ float field_0x33b0;
- /* 0x033B4 */ float field_0x33b4;
+ /* 0x033B4 */ float mWaterY;
/* 0x033B8 */ float field_0x33b8;
/* 0x033BC */ float field_0x33bc;
/* 0x033C0 */ float field_0x33c0;
- /* 0x033C4 */ float field_0x33c4;
+ /* 0x033C4 */ float mFallHeight;
/* 0x033C8 */ float field_0x33c8;
/* 0x033CC */ float field_0x33cc;
/* 0x033D0 */ float field_0x33d0;
@@ -2813,7 +2860,7 @@ private:
/* 0x03468 */ float field_0x3468;
/* 0x0346C */ float field_0x346c;
/* 0x03470 */ float field_0x3470;
- /* 0x03474 */ float field_0x3474;
+ /* 0x03474 */ float mSwordUpColorIntensity;
/* 0x03478 */ float field_0x3478;
/* 0x0347C */ float field_0x347c;
/* 0x03480 */ float field_0x3480;
@@ -2830,7 +2877,7 @@ private:
/* 0x034D4 */ cXyz field_0x34d4;
/* 0x034E0 */ cXyz field_0x34e0;
/* 0x034EC */ cXyz field_0x34ec;
- /* 0x034F8 */ cXyz field_0x34f8;
+ /* 0x034F8 */ cXyz mLastJumpPos;
/* 0x03504 */ cXyz field_0x3504;
/* 0x03510 */ cXyz field_0x3510;
/* 0x0351C */ cXyz field_0x351c;
@@ -2935,6 +2982,21 @@ public:
static daAlinkHIO_basic_c1 const m;
};
+class daAlinkHIO_backJump_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+}; // Size: 0x38
+
+class daAlinkHIO_backJump_c0 {
+public:
+ static daAlinkHIO_backJump_c1 const m;
+};
+
class daAlinkHIO_autoJump_c1 {
public:
/* 0x00 */ daAlinkHIO_anm_c mJump;
@@ -2975,89 +3037,6 @@ public:
static daAlinkHIO_autoJump_c1 const m;
};
-class daAlinkHIO_wlAutoJump_c1 {
-public:
- /* 0x00 */ daAlinkHIO_anm_c field_0x00;
- /* 0x14 */ daAlinkHIO_anm_c field_0x14;
- /* 0x28 */ daAlinkHIO_anm_c field_0x28;
- /* 0x3C */ u8 field_0x3c;
- /* 0x3E */ s16 field_0x3e;
- /* 0x40 */ s16 field_0x40;
- /* 0x42 */ s16 field_0x42;
- /* 0x44 */ f32 field_0x44;
- /* 0x48 */ f32 field_0x48;
- /* 0x4C */ f32 field_0x4c;
- /* 0x50 */ f32 field_0x50;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5c;
- /* 0x60 */ f32 field_0x60;
- /* 0x64 */ f32 field_0x64;
- /* 0x68 */ f32 field_0x68;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
-}; // size = 0x7C
-
-class daAlinkHIO_wlAutoJump_c0 {
-public:
- static daAlinkHIO_wlAutoJump_c1 const m;
-};
-
-class daAlinkHIO_bomb_c1 {
-public:
- /* 0x00 */ s16 mExplodeTime;
- /* 0x02 */ s16 mEnemyBombColorR;
- /* 0x04 */ s16 mBombInsectLimitAngle;
- /* 0x08 */ f32 mGravity;
- /* 0x0C */ f32 mMaxFallSpeed;
- /* 0x10 */ f32 mBoundRate;
- /* 0x14 */ f32 mStopSpeedY;
- /* 0x18 */ f32 mMaxSpeedY;
- /* 0x1C */ f32 mEffScale;
- /* 0x20 */ f32 mAtRadius;
- /* 0x24 */ f32 mPokeBombTrackRate;
- /* 0x28 */ f32 mWaterGravity;
- /* 0x2C */ f32 mWaterMaxFallSpeed;
- /* 0x30 */ f32 mThrowSpeedH;
- /* 0x34 */ f32 mThrowSpeedV;
- /* 0x38 */ f32 mWaterThrowSpeedH;
- /* 0x3C */ f32 mWaterThrowSpeedV;
- /* 0x40 */ f32 mWolfThrowSpeedH;
- /* 0x44 */ f32 mWolfThrowSpeedV;
- /* 0x48 */ f32 mExplodeWaterEffectLimit;
-}; // Size: 0x4C
-
-class daAlinkHIO_bomb_c0 {
-public:
- static daAlinkHIO_bomb_c1 const m;
-};
-
-class daAlinkHIO_magneBoots_c1 {
-public:
- /* 0x00 */ daAlinkHIO_anm_c mEquipAnm;
- /* 0x14 */ f32 mInputFactor;
- /* 0x18 */ f32 mFeetPositionRatio;
- /* 0x1C */ f32 mWalkAnmSpeedMax;
- /* 0x20 */ f32 mWalkAnmSpeedMin;
- /* 0x24 */ f32 mWaterInputFactor;
- /* 0x28 */ f32 mWaterStartWalkAnmRate;
- /* 0x2C */ f32 mWaterWalkAnmRate;
- /* 0x30 */ f32 mMaxMagneFlySpeed;
- /* 0x34 */ f32 mMagneFlyAccelRate;
- /* 0x38 */ f32 mWaterVelocityY;
- /* 0x3C */ f32 mWaterVelocityX;
- /* 0x40 */ f32 mWaterVelRateSword;
- /* 0x44 */ f32 mZoraWaterInputFactor;
- /* 0x48 */ f32 mZoraWaterAnmSpeed;
-}; // Size: 0x4C
-
-class daAlinkHIO_magneBoots_c0 {
-public:
- static daAlinkHIO_magneBoots_c1 const m;
-};
-
class daAlinkHIO_cut_c1 {
public:
/* 0x00 */ daAlinkHIO_anm_c mEquipAnm;
@@ -3113,6 +3092,28 @@ public:
static daAlinkHIO_cutJump_c1 const m;
};
+class daAlinkHIO_cutLargeJump_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c mChargeAnm; // ?
+ /* 0x14 */ daAlinkHIO_anm_c mChargeMoveAnm; // ?
+ /* 0x28 */ daAlinkHIO_anm_c mCutAnm;
+ /* 0x3C */ daAlinkHIO_anm_c mLandAnm;
+ /* 0x50 */ f32 mCutSpeedH;
+ /* 0x54 */ f32 mCutSpeedV;
+ /* 0x58 */ f32 mJumpAttackStartF;
+ /* 0x5C */ f32 mJumpAttackEndF;
+ /* 0x60 */ f32 mCutInitF;
+ /* 0x64 */ f32 mLandAttackInitF;
+ /* 0x68 */ f32 mLandAttackEndF;
+ /* 0x6C */ f32 mLandAttackRadius;
+ /* 0x70 */ f32 mSpinSlashUnkCF;
+}; // Size: 0x74
+
+class daAlinkHIO_cutLargeJump_c0 {
+public:
+ static daAlinkHIO_cutLargeJump_c1 const m;
+};
+
class daAlinkHIO_move_c1 {
public:
/* 0x00 */ daAlinkHIO_anm_c mSlideAnm;
@@ -3274,6 +3275,460 @@ public:
static daAlinkHIO_frontRoll_c1 const m;
};
+class daAlinkHIO_swim_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c mResurfaceAnm;
+ /* 0x14 */ daAlinkHIO_anm_c mDiveAnm;
+ /* 0x28 */ daAlinkHIO_anm_c mUnderwaterDiveAnm;
+ /* 0x3C */ daAlinkHIO_anm_c mDashAnm;
+ /* 0x50 */ s16 mTurnRate;
+ /* 0x52 */ s16 mTurnMin;
+ /* 0x54 */ s16 mTurnMax;
+ /* 0x56 */ s16 mUnderwaterTurnRate;
+ /* 0x58 */ s16 mUnderwaterTurnMin;
+ /* 0x5A */ s16 mUnderwaterTurnMax;
+ /* 0x5C */ s16 val1a; // related to dash
+ /* 0x5E */ s16 val1a_; // related to dash
+ /* 0x60 */ f32 mInitHeight;
+ /* 0x64 */ f32 mResurfaceHeight;
+ /* 0x68 */ f32 mMaxForwardSpeed;
+ /* 0x6C */ f32 mMaxStrafeSpeed;
+ /* 0x70 */ f32 mMaxBackwardSpeed;
+ /* 0x74 */ f32 mMaxUnderwaterSpeed;
+ /* 0x78 */ f32 mUnderwaterMaxSinkSpeed;
+ /* 0x7C */ f32 mAcceleration;
+ /* 0x80 */ f32 mDeceleration;
+ /* 0x84 */ f32 mMaxSinkSpeed;
+ /* 0x88 */ f32 mMaxFloatUpSpeed;
+ /* 0x8C */ f32 mBuoyancy; // ?
+ /* 0x90 */ f32 mWaitAnmSpeed;
+ /* 0x94 */ f32 mWaitInterpolation;
+ /* 0x98 */ f32 mWaitVibrationIntensity;
+ /* 0x9C */ f32 mForwardMinAnmSpeed;
+ /* 0xA0 */ f32 mForwardMaxAnmSpeed;
+ /* 0xA4 */ f32 mStrafeMinAnmSpeed;
+ /* 0xA8 */ f32 mStrafeMaxAnmSpeed;
+ /* 0xAC */ f32 mBackwardMinAnmSpeed;
+ /* 0xB0 */ f32 mBackwardMaxAnmSpeed;
+ /* 0xB4 */ f32 mUnderwaterMinAnmSpeed;
+ /* 0xB8 */ f32 mUnderwaterMaxAnmSpeed;
+ /* 0xBC */ f32 mMoveInterpolation;
+ /* 0xC0 */ f32 mClimbHeight;
+ /* 0xC4 */ f32 mUnderwaterClimbHeight;
+ /* 0xC8 */ f32 mForwardMinSpeed;
+ /* 0xCC */ f32 mInitMaxSinkSpeed;
+ /* 0xD0 */ f32 mBootsMaxSinkSpeed;
+ /* 0xD4 */ f32 mNormalFloatDepth;
+ /* 0xD8 */ f32 mZoraFloatDepth;
+ /* 0xDC */ f32 mUnderwaterButtonSpeed;
+ /* 0xE0 */ f32 mUnderwaterButtonAnmSpeed; // ?
+ /* 0xE4 */ f32 mBootsGravity;
+ /* 0xE8 */ f32 mSurfaceSwimSpeedRate;
+ /* 0xEC */ f32 mDMaxSpeed; // ?
+ /* 0xF0 */ f32 mDDeceleration;
+ /* 0xF4 */ f32 mDMinAnmSpeed;
+ /* 0xF8 */ f32 mDMaxAnmSpeed;
+}; // Size: 0xFC
+
+class daAlinkHIO_swim_c0 {
+public:
+ static daAlinkHIO_swim_c1 const m;
+};
+
+class daAlinkHIO_ladder_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3C;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 field_0x48;
+ /* 0x4C */ f32 field_0x4C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+}; // Size: 0x70
+
+class daAlinkHIO_ladder_c0 {
+public:
+ static daAlinkHIO_ladder_c1 const m;
+};
+
+class daAlinkHIO_horse_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ s16 field_0x50;
+ /* 0x52 */ s16 field_0x52;
+ /* 0x54 */ s16 field_0x54;
+ /* 0x56 */ s16 field_0x56;
+ /* 0x58 */ s16 field_0x58;
+ /* 0x5A */ s16 field_0x5A;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+}; // Size: 0x6C
+
+class daAlinkHIO_horse_c0 {
+public:
+ static daAlinkHIO_horse_c1 const m;
+};
+
+class daAlinkHIO_wolf_c1 {
+public:
+ /* 0x00 */ s16 mMaxNeckTurnH;
+ /* 0x02 */ s16 mMaxNeckTurnUp;
+ /* 0x04 */ s16 mMaxNeckTurnDown;
+ /* 0x06 */ s16 mMaxTiredNeckTurnH;
+ /* 0x08 */ s16 mMaxTiredNeckTurnUp;
+ /* 0x0A */ s16 mMaxTiredNeckTurnDown;
+ /* 0x0C */ s16 mSensesLingerTime; // ?
+ /* 0x0E */ s16 mLightDropR;
+ /* 0x10 */ s16 mLightDropG;
+ /* 0x12 */ s16 mLightDropB;
+ /* 0x14 */ f32 mSwampInputRate; // ?
+}; // Size: 0x18
+
+class daAlinkHIO_wolf_c0 {
+public:
+ static daAlinkHIO_wolf_c1 const m;
+};
+
+class daAlinkHIO_wlMove_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ s16 field_0x50;
+ /* 0x52 */ s16 field_0x52;
+ /* 0x54 */ s16 field_0x54;
+ /* 0x56 */ s16 field_0x56;
+ /* 0x58 */ s16 field_0x58;
+ /* 0x5A */ s16 field_0x5A;
+ /* 0x5C */ s16 field_0x5C;
+ /* 0x5E */ s16 field_0x5E;
+ /* 0x60 */ s16 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+ /* 0x7C */ f32 field_0x7C;
+ /* 0x80 */ f32 field_0x80;
+ /* 0x84 */ f32 field_0x84;
+ /* 0x88 */ f32 field_0x88;
+ /* 0x8C */ f32 field_0x8C;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+ /* 0x98 */ f32 field_0x98;
+ /* 0x9C */ f32 field_0x9C;
+ /* 0xA0 */ f32 field_0xA0;
+ /* 0xA4 */ f32 field_0xA4;
+ /* 0xA8 */ f32 field_0xA8;
+ /* 0xAC */ f32 field_0xAC;
+ /* 0xB0 */ f32 field_0xB0;
+ /* 0xB4 */ f32 field_0xB4;
+ /* 0xB8 */ f32 field_0xB8;
+ /* 0xBC */ f32 field_0xBC;
+ /* 0xC0 */ f32 field_0xC0;
+ /* 0xC4 */ f32 field_0xC4;
+ /* 0xC8 */ f32 field_0xC8;
+ /* 0xCC */ f32 field_0xCC;
+ /* 0xD0 */ f32 field_0xD0;
+ /* 0xD4 */ f32 field_0xD4;
+ /* 0xD8 */ f32 field_0xD8;
+ /* 0xDC */ f32 field_0xDC;
+ /* 0xE0 */ f32 field_0xE0;
+ /* 0xE4 */ f32 field_0xE4;
+ /* 0xE8 */ f32 field_0xE8;
+ /* 0xEC */ f32 field_0xEC;
+ /* 0xF0 */ f32 field_0xF0;
+ /* 0xF4 */ f32 field_0xF4;
+ /* 0xF8 */ f32 field_0xF8;
+ /* 0xFC */ f32 field_0xFC;
+}; // Size: 0x100
+
+class daAlinkHIO_wlMove_c0 {
+public:
+ static daAlinkHIO_wlMove_c1 const m;
+};
+
+class daAlinkHIO_wlMoveNoP_c1 {
+public:
+ /* 0x00 */ s16 field_0x0;
+ /* 0x02 */ s16 field_0x2;
+ /* 0x04 */ s16 field_0x4;
+ /* 0x08 */ f32 field_0x8;
+ /* 0x0C */ f32 field_0xC;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3C;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+}; // Size: 0x48
+
+class daAlinkHIO_wlMoveNoP_c0 {
+public:
+ static daAlinkHIO_wlMoveNoP_c1 const m;
+};
+
+class daAlinkHIO_wlAtnMove_c1 {
+public:
+ /* 0x00 */ s16 field_0x0;
+ /* 0x02 */ s16 field_0x2;
+ /* 0x04 */ s16 field_0x4;
+ /* 0x08 */ f32 field_0x8;
+ /* 0x0C */ f32 field_0xC;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+}; // Size: 0x38
+
+class daAlinkHIO_wlAtnMove_c0 {
+public:
+ static daAlinkHIO_wlAtnMove_c1 const m;
+};
+
+class daAlinkHIO_wlAutoJump_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x00;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ u8 field_0x3c;
+ /* 0x3E */ s16 field_0x3e;
+ /* 0x40 */ s16 field_0x40;
+ /* 0x42 */ s16 field_0x42;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 field_0x48;
+ /* 0x4C */ f32 field_0x4c;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5c;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6c;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+}; // size = 0x7C
+
+class daAlinkHIO_wlAutoJump_c0 {
+public:
+ static daAlinkHIO_wlAutoJump_c1 const m;
+};
+
+class daAlinkHIO_wlSlide_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ s16 field_0x50;
+ /* 0x52 */ s16 field_0x52;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+}; // Size: 0x7C
+
+class daAlinkHIO_wlSlide_c0 {
+public:
+ static daAlinkHIO_wlSlide_c1 const m;
+};
+
+class daAlinkHIO_wlSideStep_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+}; // Size: 0x68
+
+class daAlinkHIO_wlSideStep_c0 {
+public:
+ static daAlinkHIO_wlSideStep_c1 const m;
+};
+
+class daAlinkHIO_wlBackJump_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+}; // Size: 0x38
+
+class daAlinkHIO_wlBackJump_c0 {
+public:
+ static daAlinkHIO_wlBackJump_c1 const m;
+};
+
+class daAlinkHIO_wlRope_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ s16 field_0x14;
+ /* 0x16 */ s16 field_0x16;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+}; // Size: 0x38
+
+class daAlinkHIO_wlRope_c0 {
+public:
+ static daAlinkHIO_wlRope_c1 const m;
+};
+
+class daAlinkHIO_wlPush_c1 {
+public:
+ /* 0x00 */ f32 field_0x0;
+ /* 0x04 */ f32 field_0x4;
+ /* 0x08 */ f32 field_0x8;
+ /* 0x0C */ f32 field_0xC;
+ /* 0x10 */ f32 field_0x10;
+}; // Size: 0x14
+
+class daAlinkHIO_wlPush_c0 {
+public:
+ static daAlinkHIO_wlPush_c1 const m;
+};
+
+class daAlinkHIO_wlPoint_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ daAlinkHIO_anm_c field_0x50;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+}; // Size: 0x7C
+
+class daAlinkHIO_wlPoint_c0 {
+public:
+ static daAlinkHIO_wlPoint_c1 const m;
+};
+
+class daAlinkHIO_wlWallHang_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ daAlinkHIO_anm_c field_0x50;
+ /* 0x64 */ daAlinkHIO_anm_c field_0x64;
+ /* 0x78 */ f32 field_0x78;
+ /* 0x7C */ f32 field_0x7C;
+ /* 0x80 */ f32 field_0x80;
+ /* 0x84 */ f32 field_0x84;
+ /* 0x88 */ f32 field_0x88;
+ /* 0x8C */ f32 field_0x8C;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+ /* 0x98 */ f32 field_0x98;
+}; // Size: 0x9C
+
+class daAlinkHIO_wlWallHang_c0 {
+public:
+ static daAlinkHIO_wlWallHang_c1 const m;
+};
+
+class daAlinkHIO_wlSwim_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ s16 field_0x3C;
+ /* 0x3E */ s16 field_0x3E;
+ /* 0x40 */ s16 field_0x40;
+ /* 0x42 */ s16 field_0x42;
+ /* 0x44 */ s16 field_0x44;
+ /* 0x46 */ s16 field_0x46;
+ /* 0x48 */ f32 field_0x48;
+ /* 0x4C */ f32 field_0x4C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+ /* 0x7C */ f32 field_0x7C;
+ /* 0x80 */ f32 field_0x80;
+ /* 0x84 */ f32 field_0x84;
+ /* 0x88 */ f32 field_0x88;
+ /* 0x8C */ f32 field_0x8C;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+ /* 0x98 */ f32 field_0x98;
+ /* 0x9C */ f32 field_0x9C;
+ /* 0xA0 */ f32 field_0xA0;
+ /* 0xA4 */ f32 field_0xA4;
+}; // Size: 0xA8
+
+class daAlinkHIO_wlSwim_c0 {
+public:
+ static daAlinkHIO_wlSwim_c1 const m;
+};
+
class daAlinkHIO_wlAttack_c1 {
public:
/* 0x00 */ daAlinkHIO_anm_c mLandAnm;
@@ -3294,6 +3749,595 @@ public:
static daAlinkHIO_wlAttack_c1 const m;
};
+class daAlinkHIO_wlHowl_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+}; // Size: 0x60
+
+class daAlinkHIO_wlHowl_c0 {
+public:
+ static daAlinkHIO_wlHowl_c1 const m;
+};
+
+class daAlinkHIO_wlGrab_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ daAlinkHIO_anm_c field_0x50;
+}; // Size: 0x64
+
+class daAlinkHIO_wlGrab_c0 {
+public:
+ static daAlinkHIO_wlGrab_c1 const m;
+};
+
+class daAlinkHIO_wlChain_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ s16 field_0x3C;
+ /* 0x3E */ s16 field_0x3E;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 field_0x48;
+ /* 0x4C */ f32 field_0x4C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+}; // Size: 0x5C
+
+class daAlinkHIO_wlChain_c0 {
+public:
+ static daAlinkHIO_wlChain_c1 const m;
+};
+
+class daAlinkHIO_wlBall_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ s16 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+}; // Size: 0x38
+
+class daAlinkHIO_wlBall_c0 {
+public:
+ static daAlinkHIO_wlBall_c1 const m;
+};
+
+class daAlinkHIO_wlLie_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ s16 field_0x28;
+ /* 0x2A */ s16 field_0x2A;
+ /* 0x2C */ s16 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3C;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 field_0x48;
+}; // Size: 0x4C
+
+class daAlinkHIO_wlLie_c0 {
+public:
+ static daAlinkHIO_wlLie_c1 const m;
+};
+
+class daAlinkHIO_wlLight_c1 {
+public:
+ /* 0x00 */ s16 field_0x0;
+ /* 0x02 */ s16 field_0x2;
+ /* 0x04 */ s16 field_0x4;
+ /* 0x06 */ s16 field_0x6;
+ /* 0x08 */ s16 field_0x8;
+ /* 0x0A */ s16 field_0xA;
+ /* 0x0C */ f32 field_0xC;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+}; // Size: 0x1C
+
+class daAlinkHIO_wlLight_c0 {
+public:
+ static daAlinkHIO_wlLight_c1 const m;
+};
+
+class daAlinkHIO_wlAtWaTl_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ s16 field_0x14;
+ /* 0x16 */ s16 field_0x16;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+}; // Size: 0x3C
+
+class daAlinkHIO_wlAtWaTl_c0 {
+public:
+ static daAlinkHIO_wlAtWaTl_c1 const m;
+};
+
+class daAlinkHIO_wlAtWaSc_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ s16 field_0x14;
+ /* 0x16 */ s16 field_0x16;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+}; // Size: 0x3C
+
+class daAlinkHIO_wlAtWaSc_c0 {
+public:
+ static daAlinkHIO_wlAtWaSc_c1 const m;
+};
+
+class daAlinkHIO_wlAtWaLr_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ s16 field_0x14;
+ /* 0x16 */ s16 field_0x16;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+}; // Size: 0x3C
+
+class daAlinkHIO_wlAtWaLr_c0 {
+public:
+ static daAlinkHIO_wlAtWaLr_c1 const m;
+};
+
+class daAlinkHIO_wlAtRoll_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+}; // Size: 0x20
+
+class daAlinkHIO_wlAtRoll_c0 {
+public:
+ static daAlinkHIO_wlAtRoll_c1 const m;
+};
+
+class daAlinkHIO_wlAtNjump_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+}; // Size: 0x3C
+
+class daAlinkHIO_wlAtNjump_c0 {
+public:
+ static daAlinkHIO_wlAtNjump_c1 const m;
+};
+
+class daAlinkHIO_wlAtLock_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ f32 field_0x3C;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 field_0x48;
+ /* 0x4C */ f32 field_0x4C;
+ /* 0x50 */ f32 field_0x50;
+}; // Size: 0x54
+
+class daAlinkHIO_wlAtLock_c0 {
+public:
+ static daAlinkHIO_wlAtLock_c1 const m;
+};
+
+class daAlinkHIO_wlAtLand_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ f32 field_0x3C;
+}; // Size: 0x40
+
+class daAlinkHIO_wlAtLand_c0 {
+public:
+ static daAlinkHIO_wlAtLand_c1 const m;
+};
+
+class daAlinkHIO_wlDamage_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ f32 field_0x28;
+}; // Size: 0x2C
+
+class daAlinkHIO_wlDamage_c0 {
+public:
+ static daAlinkHIO_wlDamage_c1 const m;
+};
+
+class daAlinkHIO_wlDamNormal_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+}; // Size: 0x60
+
+class daAlinkHIO_wlDamNormal_c0 {
+public:
+ static daAlinkHIO_wlDamNormal_c1 const m;
+};
+
+class daAlinkHIO_wlDamLarge_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ s16 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+}; // Size: 0x6C
+
+class daAlinkHIO_wlDamLarge_c0 {
+public:
+ static daAlinkHIO_wlDamLarge_c1 const m;
+};
+
+class daAlinkHIO_wlDamHuge_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ s16 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+}; // Size: 0x6C
+
+class daAlinkHIO_wlDamHuge_c0 {
+public:
+ static daAlinkHIO_wlDamHuge_c1 const m;
+};
+
+class daAlinkHIO_wlDamFall_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ s16 field_0x28;
+ /* 0x2A */ s16 field_0x2A;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3C;
+}; // Size: 0x40
+
+class daAlinkHIO_wlDamFall_c0 {
+public:
+ static daAlinkHIO_wlDamFall_c1 const m;
+};
+
+class daAlinkHIO_wlDamCaught_c1 {
+public:
+ /* 0x00 */ s16 field_0x0;
+ /* 0x02 */ s16 field_0x2;
+ /* 0x04 */ f32 field_0x4;
+ /* 0x08 */ f32 field_0x8;
+ /* 0x0C */ f32 field_0xC;
+}; // Size: 0x10
+
+class daAlinkHIO_wlDamCaught_c0 {
+public:
+ static daAlinkHIO_wlDamCaught_c1 const m;
+};
+
+class daAlinkHIO_zwLight_c1 { // may be wrong
+public:
+ /* 0x00 */ s16 field_0x0;
+ /* 0x02 */ s16 field_0x2;
+ /* 0x04 */ s16 field_0x4;
+ /* 0x06 */ s16 field_0x6;
+ /* 0x08 */ s16 field_0x8;
+ /* 0x0A */ s16 field_0xA;
+ /* 0x0C */ f32 field_0xC;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+}; // Size: 0x1C
+
+class daAlinkHIO_zwLight_c0 {
+public:
+ static daAlinkHIO_zwLight_c1 const m;
+};
+
+class daAlinkHIO_board_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+ /* 0x7C */ f32 field_0x7C;
+ /* 0x80 */ f32 field_0x80;
+ /* 0x84 */ f32 field_0x84;
+ /* 0x88 */ f32 field_0x88;
+ /* 0x8C */ f32 field_0x8C;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+ /* 0x98 */ f32 field_0x98;
+}; // Size: 0x9C
+
+class daAlinkHIO_board_c0 {
+public:
+ static daAlinkHIO_board_c1 const m;
+};
+
+class daAlinkHIO_item_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c mOneHandEquipAnm;
+ /* 0x14 */ daAlinkHIO_anm_c mTwoHandEquipAnm;
+ /* 0x28 */ s16 mItemFPTransitionTimer;
+ /* 0x2A */ s16 mItemFPMaxUnk;
+ /* 0x2C */ s16 mItemFPUpMaxUnk;
+ /* 0x2E */ s16 mWiiItemFPDownMaxUnk;
+ /* 0x30 */ s16 mWiiItemFPUpMaxUnk;
+ /* 0x34 */ f32 mOneHandReleaseAnmSpeed;
+ /* 0x38 */ f32 mTwoHandReleaseAnmSpeed;
+}; // Size: 0x3C
+
+class daAlinkHIO_item_c0 {
+public:
+ static daAlinkHIO_item_c1 const m;
+};
+
+class daAlinkHIO_bottle_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ daAlinkHIO_anm_c field_0x3C;
+ /* 0x50 */ daAlinkHIO_anm_c field_0x50;
+ /* 0x64 */ daAlinkHIO_anm_c field_0x64;
+ /* 0x78 */ daAlinkHIO_anm_c field_0x78;
+ /* 0x8C */ daAlinkHIO_anm_c field_0x8C;
+ /* 0xA0 */ daAlinkHIO_anm_c field_0xA0;
+}; // Size: 0xB4
+
+class daAlinkHIO_bottle_c0 {
+public:
+ static daAlinkHIO_bottle_c1 const m;
+};
+
+class daAlinkHIO_boom_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c mThrowAnm;
+ /* 0x14 */ daAlinkHIO_anm_c mCatchAnm;
+ /* 0x28 */ s16 field_0x28;
+ /* 0x2A */ s16 mBgThroughTime;
+ /* 0x2C */ f32 field_0x2c;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3c;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 mCatchSpeed;
+}; // Size: 0x4c
+
+class daAlinkHIO_boom_c0 {
+public:
+ static daAlinkHIO_boom_c1 const m;
+};
+
+class daAlinkHIO_bow_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c val0;
+ /* 0x14 */ daAlinkHIO_anm_c val5;
+ /* 0x28 */ s16 vala;
+ /* 0x2A */ s16 valb;
+ /* 0x2C */ s16 valc;
+ /* 0x30 */ f32 vale;
+ /* 0x34 */ f32 valf;
+ /* 0x38 */ f32 val10;
+ /* 0x3C */ f32 val11;
+ /* 0x40 */ f32 val12;
+ /* 0x44 */ f32 val13;
+ /* 0x48 */ f32 val14;
+ /* 0x4C */ f32 val15;
+ /* 0x50 */ f32 val16;
+ /* 0x54 */ f32 val17;
+ /* 0x58 */ f32 val18;
+ /* 0x5C */ f32 val19;
+ /* 0x60 */ f32 val1a;
+ /* 0x64 */ f32 val1b;
+ /* 0x68 */ f32 val1c;
+ /* 0x6C */ f32 val1d;
+}; // Size: 0x70
+
+class daAlinkHIO_bow_c0 {
+public:
+ static daAlinkHIO_bow_c1 const m;
+};
+
+class daAlinkHIO_copyRod_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c mSwingAnm;
+ /* 0x14 */ daAlinkHIO_anm_c mBigSwingAnm;
+ /* 0x28 */ f32 mBallSpeed;
+ /* 0x2c */ f32 mBallMaxDistance;
+ /* 0x30 */ f32 mBallReturnSpeed;
+ /* 0x34 */ f32 mBossBallMaxDistance;
+}; // Size: 0x38
+
+class daAlinkHIO_copyRod_c0 {
+public:
+ static daAlinkHIO_copyRod_c1 const m;
+};
+
+class daAlinkHIO_bomb_c1 {
+public:
+ /* 0x00 */ s16 mExplodeTime;
+ /* 0x02 */ s16 mEnemyBombColorR;
+ /* 0x04 */ s16 mBombInsectLimitAngle;
+ /* 0x08 */ f32 mGravity;
+ /* 0x0C */ f32 mMaxFallSpeed;
+ /* 0x10 */ f32 mBoundRate;
+ /* 0x14 */ f32 mStopSpeedY;
+ /* 0x18 */ f32 mMaxSpeedY;
+ /* 0x1C */ f32 mEffScale;
+ /* 0x20 */ f32 mAtRadius;
+ /* 0x24 */ f32 mPokeBombTrackRate;
+ /* 0x28 */ f32 mWaterGravity;
+ /* 0x2C */ f32 mWaterMaxFallSpeed;
+ /* 0x30 */ f32 mThrowSpeedH;
+ /* 0x34 */ f32 mThrowSpeedV;
+ /* 0x38 */ f32 mWaterThrowSpeedH;
+ /* 0x3C */ f32 mWaterThrowSpeedV;
+ /* 0x40 */ f32 mWolfThrowSpeedH;
+ /* 0x44 */ f32 mWolfThrowSpeedV;
+ /* 0x48 */ f32 mExplodeWaterEffectLimit;
+}; // Size: 0x4C
+
+class daAlinkHIO_bomb_c0 {
+public:
+ static daAlinkHIO_bomb_c1 const m;
+};
+
+class daAlinkHIO_magneBoots_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c mEquipAnm;
+ /* 0x14 */ f32 mInputFactor;
+ /* 0x18 */ f32 mFeetPositionRatio;
+ /* 0x1C */ f32 mWalkAnmSpeedMax;
+ /* 0x20 */ f32 mWalkAnmSpeedMin;
+ /* 0x24 */ f32 mWaterInputFactor;
+ /* 0x28 */ f32 mWaterStartWalkAnmRate;
+ /* 0x2C */ f32 mWaterWalkAnmRate;
+ /* 0x30 */ f32 mMaxMagneFlySpeed;
+ /* 0x34 */ f32 mMagneFlyAccelRate;
+ /* 0x38 */ f32 mWaterVelocityY;
+ /* 0x3C */ f32 mWaterVelocityX;
+ /* 0x40 */ f32 mWaterVelRateSword;
+ /* 0x44 */ f32 mZoraWaterInputFactor;
+ /* 0x48 */ f32 mZoraWaterAnmSpeed;
+}; // Size: 0x4C
+
+class daAlinkHIO_magneBoots_c0 {
+public:
+ static daAlinkHIO_magneBoots_c1 const m;
+};
+
+class daAlinkHIO_spinner_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ s16 field_0x14;
+ /* 0x16 */ s16 field_0x16;
+ /* 0x18 */ s16 field_0x18;
+ /* 0x1A */ s16 field_0x1A;
+ /* 0x1C */ s16 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3C;
+}; // Size: 0x40
+
+class daAlinkHIO_spinner_c0 {
+public:
+ static daAlinkHIO_spinner_c1 const m;
+};
+
+class daAlinkHIO_hookshot_c1 {
+public:
+ /* 0x00 */ daAlinkHIO_anm_c field_0x0;
+ /* 0x14 */ daAlinkHIO_anm_c field_0x14;
+ /* 0x28 */ daAlinkHIO_anm_c field_0x28;
+ /* 0x3C */ f32 field_0x3C;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 field_0x48;
+ /* 0x4C */ f32 field_0x4C;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ f32 field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+}; // Size: 0x70
+
+class daAlinkHIO_hookshot_c0 {
+public:
+ static daAlinkHIO_hookshot_c1 const m;
+};
+
class daHorseRein_c {
private:
/* 0x00 */ cXyz* field_0x0[2];
@@ -3402,31 +4446,169 @@ private:
/* 0x17C4 */ cXyz mDemoPos0;
};
-class daMidna_c {
+class mDoExt_morf_c;
+
+class daMidna_c : public fopAc_ac_c {
public:
enum daMidna_ERFLG0 {
NO_SERVICE_WAIT = 128,
FORCE_PANIC = 8,
};
+
enum daMidna_FLG1 {
FORCE_NORMAL_COLOR = 8,
FORCE_TIRED_COLOR = 4
};
+ enum daMidna_ANM {};
+
void onForcePanic();
u32 checkForceNormalColor() const;
u32 checkForceTiredColor() const;
bool checkMidnaTired();
void onNoServiceWait();
+ /* 804BC3E0 */ void modelCallBack(int);
+ /* 804BC5C4 */ void changeUpperBck();
+ /* 804BC614 */ void changeFaceBck();
+ /* 804BC670 */ void baseModelCallBack(int);
+ /* 804BC740 */ void initInvModel(u16, J3DModel**, mDoExt_invisibleModel*, u32);
+ /* 804BC7D4 */ void initDemoModel(J3DModel**, char const*, u32);
+ /* 804BC868 */ void createHeap();
+ /* 804BD274 */ void create();
+ /* 804BD93C */ void allAnimePlay();
+ /* 804BDE04 */ void setMatrix();
+ /* 804BE470 */ void setBodyPartMatrix();
+ /* 804BED1C */ void setRoomInfo();
+ /* 804BEDB8 */ void setBodyPartPos();
+ /* 804BEFA0 */ void checkAppear();
+ /* 804BF070 */ void checkMidnaPosState();
+ /* 804BFF80 */ void setUpperAnime(u16, u16);
+ /* 804C0020 */ void setUpperAnimeAndSe(daMidna_c::daMidna_ANM);
+ /* 804C0094 */ void setFaceAnime(u16, u16);
+ /* 804C0134 */ void endHighModel();
+ /* 804C0238 */ void setDemoAnm();
+ /* 804C0BAC */ void setFaceBtp(u16, int);
+ /* 804C0C6C */ void setFaceBtk(u16, int);
+ /* 804C0D2C */ void setLeftHandShape(u16);
+ /* 804C0E18 */ void setRightHandShape(u16);
+ /* 804C0F04 */ void checkHairOnlyAnime(int) const;
+ /* 804C0F24 */ void setBckAnime(J3DAnmTransform*, int, f32);
+ /* 804C103C */ void setAnm();
+ /* 804C287C */ void getNeckAimAngle(cXyz const*, s16*, s16*, s16*, s16*);
+ /* 804C2A68 */ void clearEyeMove();
+ /* 804C2AB8 */ void setEyeMove(cXyz const*, s16, s16);
+ /* 804C2EBC */ void setNeckAngle();
+ /* 804C3168 */ void initHairAngle();
+ /* 804C3298 */ void setHairAngle();
+ /* 804C3F04 */ void setDemoData();
+ /* 804C4394 */ void setSimpleBrk(J3DModelData*, u16);
+ /* 804C4444 */ void setSimpleBtk(J3DModelData*, u16);
+ /* 804C44CC */ void initMidnaModel();
+ /* 804C49B8 */ void setMidnaNoDrawFlg();
+ /* 804C4AE8 */ void checkMetamorphoseEnableBase();
+ /* 804C4B68 */ void checkNoDrawState();
+ /* 804C4BC0 */ void setSound();
+ /* 804C4FDC */ void execute();
+ /* 804C5A08 */ void draw();
+ /* 804C61A4 */ ~daMidna_c();
void onEndResetStateFlg0(daMidna_ERFLG0 pFlg) { mEndResetStateFlg0 |= pFlg; }
u32 checkStateFlg1(daMidna_FLG1 pFlg) const { return mStateFlg1 & pFlg; }
+ static u8 const m_texDataTable[84];
+ static u8 const m_anmDataTable[636];
+
private:
- /* 0x0000 */ fopAc_ac_c mActor;
- /* 0x0568 */ u8 field_0x568[0x32C];
+ /* 0x0568 */ request_of_phase_process_class* field_0x568;
+ /* 0x056C */ u8 field_0x56c[4];
+ /* 0x0570 */ J3DModel* field_0x570;
+ /* 0x0574 */ J3DModel* field_0x574;
+ /* 0x0578 */ mDoExt_morf_c* field_0x578;
+ /* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c;
+ /* 0x0580 */ cXyz* field_0x580;
+ /* 0x0584 */ mDoExt_bckAnm field_0x584;
+ /* 0x05A0 */ mDoExt_bckAnm field_0x5a0;
+ /* 0x05BC */ u8 field_0x5bc[8];
+ /* 0x05C4 */ mDoExt_invisibleModel field_0x5c4;
+ /* 0x05CC */ mDoExt_invisibleModel field_0x5cc;
+ /* 0x05D4 */ mDoExt_invisibleModel field_0x5d4;
+ /* 0x05DC */ mDoExt_invisibleModel field_0x5dc;
+ /* 0x05E4 */ daPy_anmHeap_c field_0x5e4[3];
+ /* 0x0620 */ daPy_anmHeap_c field_0x620;
+ /* 0x0634 */ daPy_anmHeap_c field_0x634;
+ /* 0x0648 */ J3DAnmBase* field_0x648;
+ /* 0x064C */ J3DAnmBase* field_0x64c;
+ /* 0x0650 */ J3DAnmBase* field_0x650;
+ /* 0x0654 */ J3DAnmBase* field_0x654;
+ /* 0x0658 */ u8 field_0x658[0x10];
+ /* 0x0668 */ J3DAnmBase* field_0x668;
+ /* 0x066C */ J3DAnmBase* field_0x66c;
+ /* 0x0670 */ u8 field_0x670[4];
+ /* 0x0674 */ J3DModel* field_0x674;
+ /* 0x0678 */ u8 field_0x678[4];
+ /* 0x067C */ J3DModel* field_0x67c;
+ /* 0x0680 */ u8 field_0x680[4];
+ /* 0x0684 */ J3DModel* field_0x684;
+ /* 0x0688 */ J3DModel* field_0x688;
+ /* 0x068C */ J3DModel* field_0x68c;
+ /* 0x0690 */ J3DModel* field_0x690;
+ /* 0x0694 */ J3DModel* field_0x694;
+ /* 0x0698 */ J3DModel* field_0x698;
+ /* 0x069C */ u8 field_0x98c[0x10];
+ /* 0x06AC */ J3DModel* field_0x6ac;
+ /* 0x06B0 */ J3DModel* field_0x6b0;
+ /* 0x06B4 */ u8 field_0x6b4[4];
+ /* 0x06B8 */ mDoExt_bckAnm* field_0x6b8;
+ /* 0x06BC */ J3DDeformData* field_0x6bc;
+ /* 0x06C0 */ u8 field_0x6c0[4];
+ /* 0x06C4 */ J3DFrameCtrl* field_0x6c4;
+ /* 0x06C8 */ J3DModel* field_0x6c8;
+ /* 0x06CC */ mDoExt_bckAnm* field_0x6cc;
+ /* 0x06D0 */ J3DModel* field_0x6d0;
+ /* 0x06D4 */ mDoExt_bckAnm* field_0x6d4;
+ /* 0x06D8 */ J3DModel* field_0x6d8;
+ /* 0x06DC */ mDoExt_bckAnm* field_0x6dc;
+ /* 0x06E0 */ s16 field_0x6e0;
+ /* 0x06E2 */ s16 field_0x6e2;
+ /* 0x06E4 */ s16 field_0x6e4;
+ /* 0x06E6 */ s16 field_0x6e6;
+ /* 0x06E8 */ u8 field_0x6e8;
+ /* 0x06E9 */ u8 field_0x6e9;
+ /* 0x06EA */ u8 field_0x6ea;
+ /* 0x06EB */ u8 field_0x6eb;
+ /* 0x06EC */ u8 field_0x6ec;
+ /* 0x06ED */ u8 field_0x6ed;
+ /* 0x06EE */ u8 field_0x6ee;
+ /* 0x06EF */ u8 field_0x6ef;
+ /* 0x06F0 */ u8 field_0x6f0[8];
+ /* 0x06F8 */ void* field_0x6f8;
+ /* 0x06FC */ Z2Creature field_0x6fc;
+ /* 0x078C */ dMsgFlow_c field_0x78c;
+ /* 0x07D8 */ dBgS_LinkLinChk field_0x7d8;
+ /* 0x0848 */ u8 mMotionNum;
+ /* 0x0849 */ u8 mFaceNum;
+ /* 0x084A */ u8 field_0x84a[4];
+ /* 0x084E */ u8 field_0x84e;
+ /* 0x084F */ u8 mDemoType;
+ /* 0x0850 */ u8 field_0x850[0xA];
+ /* 0x085A */ s16 field_0x85a;
+ /* 0x085C */ u8 field_0x85c[0x22];
+ /* 0x087E */ s16 field_0x87e;
+ /* 0x0880 */ u8 field_0x880[0x10];
+ /* 0x0890 */ u32 mStateFlg0;
/* 0x0894 */ u32 mStateFlg1;
/* 0x0898 */ u32 mEndResetStateFlg0;
+ /* 0x089C */ u8 field_0x89c[0x24];
+ /* 0x08C0 */ u32 mDemoMode;
+ /* 0x08C4 */ u8 field_0x8c4[4];
+ /* 0x08C8 */ f32 field_0x8c8;
+ /* 0x08CC */ u8 field_0x8cc[0x14];
+ /* 0x08E0 */ cXyz field_0x8e0[5];
+ /* 0x091C */ cXyz field_0x91c[5];
+ /* 0x0958 */ u8 field_0x958[0xC];
+ /* 0x0964 */ cXyz field_0x964[5];
+ /* 0x09A0 */ u8 field_0x9a0[0x14];
+ /* 0x09C4 */ cXyz field_0x9c4;
};
#endif /* D_A_D_A_ALINK_H */ \ No newline at end of file
diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h
index 786338348d..a2028b64e7 100644
--- a/include/d/a/d_a_player.h
+++ b/include/d/a/d_a_player.h
@@ -12,12 +12,15 @@
#include "f_op/f_op_actor.h"
class daPy_sightPacket_c : public dDlst_base_c {
+public:
/* 8015F1A0 */ virtual void draw();
/* 80140CDC */ virtual ~daPy_sightPacket_c();
/* 8015F2FC */ void setSight();
/* 8015F384 */ void setSightImage(ResTIMG*);
+ bool getDrawFlg() { return mDrawFlag; }
+
private:
/* 0x04 */ bool mDrawFlag;
/* 0x05 */ u8 field_0x5[3];
@@ -54,12 +57,13 @@ public:
J3DAnmBase* loadDataIdx(u16);
J3DAnmBase* loadDataPriIdx(u16);
J3DAnmBase* loadDataDemoRID(u16, u16);
- void setAnimeHeap();
+ JKRHeap* setAnimeHeap();
u16 getIdx() const { return mIdx; }
void resetIdx() { mIdx = 0xffff; }
void resetPriIdx() { mPriIdx = 0xffff; }
void resetArcNo() { mArcNo = 0xffff; }
+ bool checkNoSetArcNo() const { return mArcNo == 0xFFFF; }
private:
/* 0x00 */ u16 mIdx;
@@ -84,9 +88,9 @@ public:
fopAc_ac_c* getActorConst() const { return mActor; }
private:
- u32 mID;
- fopAc_ac_c* mActor;
-};
+ /* 0x0 */ u32 mID;
+ /* 0x4 */ fopAc_ac_c* mActor;
+}; // Size: 0x8
class daPy_frameCtrl_c : public J3DFrameCtrl {
public:
@@ -122,6 +126,7 @@ public:
u16 getDemoType() const { return mDemoType; }
void setDemoMode(u32 mode) { mDemoMode = mode; }
u32 getDemoMode() const { return mDemoMode; }
+ void i_setSpecialDemoType() { setDemoType(5); }
private:
/* 0x00 */ u16 mDemoType;
@@ -135,6 +140,8 @@ private:
/* 0x18 */ cXyz mDemoPos0;
}; // Size: 0x24
+class daMidna_c;
+
class daPy_py_c : public fopAc_ac_c {
public:
/* 0x0568 */ u8 mCutType;
@@ -142,7 +149,7 @@ public:
/* 0x056A */ u8 mSpecialMode; // maybe needs better name
/* 0x056B */ u8 field_0x56b;
/* 0x056C */ s16 mDamageTimer;
- /* 0x056E */ u8 field_0x56e[2];
+ /* 0x056E */ u16 mSwordUpTimer;
/* 0x0570 */ u32 mNoResetFlg0;
/* 0x0574 */ u32 mNoResetFlg1;
/* 0x0578 */ u32 mNoResetFlg2;
@@ -168,22 +175,29 @@ public:
public:
enum daPy_FLG0 {
+ FLG0_UNK_40000000 = 0x40000000,
EQUIP_HEAVY_BOOTS = 0x2000000,
FLG0_UNK_8000000 = 0x8000000,
FLG0_UNK_1000000 = 0x1000000,
UNDER_WATER_MOVEMENT = 0x800000,
FLG0_UNK_80000 = 0x80000,
+ FLG0_UNK_20000 = 0x20000,
FLG0_UNK_8000 = 0x8000,
MAGNE_BOOTS_ON = 0x1000,
+ FLG0_UNK_80 = 0x80,
FLG0_UNK_40 = 0x40,
+ FLG0_UNK_20 = 0x20,
UNK_F_ROLL_CRASH_2 = 0x10,
- UNK_F_ROLL_CRASH_1 = 0x8
+ UNK_F_ROLL_CRASH_1 = 0x8,
+ FLG0_UNK_4 = 4,
+
+ HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000,
};
- enum daPy_FLG1 { IS_WOLF = 0x2000000, THROW_DAMAGE = 0x4000 };
+ enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000 };
enum daPy_FLG2 { FLG2_UNK_4080000 = 0x4080000, FLG2_UNK_2080000 = 0x2080000, BOAR_SINGLE_BATTLE = 0x1800000, STATUS_WINDOW_DRAW = 0x400000, UNK_ARMOR = 0x80000, UNK_FLG2_2 = 2, UNK_DAPY_FLG2_1 = 1 };
- enum daPy_FLG3 { FLG3_UNK_100000 = 0x100000, COPY_ROD_THROW_AFTER = 0x40000 };
- enum daPy_ERFLG0 { ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_1000000 = 0x1000000, ERFLG0_UNK_100000 = 0x100000, };
- enum daPy_ERFLG1 { GANON_FINISH = 0x80000000, UNK_FORCE_PUT_POS = 0x2000 };
+ enum daPy_FLG3 { FLG3_UNK_2000000 = 0x2000000, FLG3_UNK_100000 = 0x100000, COPY_ROD_THROW_AFTER = 0x40000 };
+ enum daPy_ERFLG0 { ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_1000000 = 0x1000000, ERFLG0_UNK_100000 = 0x100000, ERFLG0_UNK_1 = 1, };
+ enum daPy_ERFLG1 { GANON_FINISH = 0x80000000, UNK_FORCE_PUT_POS = 0x2000, ERFLG1_UNK_1 = 1, };
enum daPy_ERFLG2 {};
enum daPy_RFLG0 {
RFLG0_UNK_8000000 = 0x8000000,
@@ -195,6 +209,7 @@ public:
enum {
/* 0x01 */ SMODE_SUMO_READY = 1,
/* 0x25 */ SMODE_SUMO_LOSE = 37,
+ /* 0x27 */ SMODE_WOLF_PUZZLE = 39,
/* 0x2A */ SMODE_GOAT_STOP = 42,
/* 0x2B */ SMODE_GORON_THROW,
/* 0x2C */ SMODE_CARGO_CARRY,
@@ -225,7 +240,7 @@ public:
/* 0x21 */ TYPE_CUT_STAB_COMBO,
};
- void setParamData(int, int, int, int);
+ static u32 setParamData(int, int, int, int);
int checkFishingRodItem(int);
static BOOL checkBombItem(int);
static BOOL checkBottleItem(int);
@@ -445,7 +460,7 @@ public:
virtual BOOL checkHorseStart();
virtual Z2WolfHowlMgr* getWolfHowlMgrP();
virtual BOOL checkWolfHowlSuccessAnime() const;
- virtual bool checkCopyRodTopUse();
+ virtual BOOL checkCopyRodTopUse();
virtual bool checkCopyRodEquip() const;
virtual BOOL checkCutJumpMode() const;
@@ -458,6 +473,8 @@ public:
}
bool checkStatusWindowDraw() { return i_checkNoResetFlg2(STATUS_WINDOW_DRAW); }
+ bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
+ bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); }
// some functions use these function as an inline
// is there a better way to handle this?
@@ -477,10 +494,12 @@ public:
void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; }
int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; }
int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; }
+ int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; }
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
int i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); }
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); }
BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); }
+ bool i_checkMidnaRide() const { return i_checkNoResetFlg0(FLG0_UNK_4); }
inline u32 getLastSceneMode();
inline bool checkWoodSwordEquip();
@@ -489,7 +508,7 @@ public:
inline BOOL checkNowWolf();
inline bool checkZoraWearFlg() const;
- static u8 m_midnaActor[4];
+ static daMidna_c* m_midnaActor;
};
#endif /* D_A_D_A_PLAYER_H */
diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h
index a1d6f5dc10..13c2371255 100644
--- a/include/d/bg/d_bg_s_acch.h
+++ b/include/d/bg/d_bg_s_acch.h
@@ -137,6 +137,8 @@ public:
void SetGroundHit() { m_flags |= GROUND_HIT; }
void SetGroundLanding() { m_flags |= GROUND_LANDING; }
void SetGroundAway() { m_flags |= GROUND_AWAY; }
+ u32 MaskWaterHit() { return m_flags & WATER_HIT; }
+ bool ChkWaterHit() { return MaskWaterHit(); }
// inline dupe
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h
index 447f8bee02..011835eb3b 100644
--- a/include/d/cc/d_cc_d.h
+++ b/include/d/cc/d_cc_d.h
@@ -83,11 +83,19 @@ public:
}; // Size = 0x3C
+enum dCcG_At_Spl {
+ /* 0x0 */ dCcG_At_Spl_UNK_0,
+ /* 0x1 */ dCcG_At_Spl_UNK_01,
+};
+
+class dCcD_GObjInf;
+typedef void (*dCcD_AtHitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
+
class dCcD_GAtTgCoCommonBase {
public:
/* 0x00 */ u32 mGFlag;
/* 0x04 */ u32 mRPrm;
- /* 0x08 */ u32 field_0x08;
+ /* 0x08 */ dCcD_AtHitCallback mHitCallback;
/* 0x0C */ u32 mApid;
/* 0x10 */ fopAc_ac_c* mAc;
/* 0x14 */ s8 mEffCounter;
@@ -114,6 +122,7 @@ public:
void OnSPrm(u32 flag) { mGFlag |= flag; }
void OffSPrm(u32 flag) { mGFlag &= ~flag; }
bool ChkRPrm(u32 flag) const { return MskRPrm(flag); }
+ void SetHitCallback(dCcD_AtHitCallback callback) { mHitCallback = callback; }
}; // Size = 0x1C
class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase {
@@ -122,9 +131,11 @@ public:
/* 80083C44 */ virtual ~dCcD_GObjAt() {}
void SetVec(cXyz& vec) { mVec = vec; }
cXyz& GetVec() { return mVec; }
+ cXyz* GetVecP() { return &mVec; }
void SetHitMark(u8 mark) { mHitMark = mark; }
void SetSe(u8 se) { mSe = se; }
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
+ void SetAtSpl(dCcG_At_Spl spl) { mSpl = spl; }
// private:
/* 0x1C */ u8 mSe;
@@ -193,6 +204,9 @@ public:
void SetAtMtrl(u8 mtrl) { mGObjAt.SetMtrl(mtrl); }
fopAc_ac_c* GetAtHitAc() { return mGObjAt.GetAc(); }
bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); }
+ cXyz* GetAtVecP() { return mGObjAt.GetVecP(); }
+ void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); }
+ void SetAtHitCallback(dCcD_AtHitCallback callback) { mGObjAt.SetHitCallback(callback); }
static u32 const m_hitSeID[24];
@@ -241,10 +255,6 @@ public:
dCcD_Tri() {}
};
-enum dCcG_At_Spl {
- /* 0x1 */ dCcG_At_Spl_UNK_01 = 1,
-};
-
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
#endif /* D_CC_D_CC_D_H */
diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h
index 83b3fd5380..dbf41c1ad1 100644
--- a/include/d/com/d_com_inf_game.h
+++ b/include/d/com/d_com_inf_game.h
@@ -138,6 +138,14 @@ public:
mAStatus = status;
mASetFlag = flag;
}
+ void setXStatus(u8 status, u8 flag) {
+ mXStatus = status;
+ mXSetFlag = flag;
+ }
+ void setYStatus(u8 status, u8 flag) {
+ mYStatus = status;
+ mYSetFlag = flag;
+ }
void setBottleStatus(u8 status, u8 flag) {
mBottleStatus = status;
mBottleSetFlag = flag;
@@ -178,8 +186,11 @@ public:
J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; }
dVibration_c& getVibration() { return mVibration; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
+ void clearPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] &= ~flag; }
+ bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[i]; }
BOOL checkCameraAttentionStatus(int i, u32 flag) { return mCameraInfo[i].mCameraAttentionStatus & flag; }
s8 getPlayerCameraID(int i) { return mPlayerCameraID[i]; }
+ dPa_control_c* getParticle() { return mParticle; }
void set3DStatus(u8 status, u8 direction, u8 flag) {
m3DStatus = status;
m3DDirection = direction;
@@ -224,7 +235,7 @@ public:
/* 0x04DBC */ JKRArchive* mMsgDtArchive[15];
/* 0x04DF8 */ JKRArchive* mMain2DArchive;
/* 0x04DFC */ void* field_0x4dfc[2];
- /* 0x04E04 */ void* mParticle;
+ /* 0x04E04 */ dPa_control_c* mParticle;
/* 0x04E08 */ void* mSimpleModel;
/* 0x04E0C */ u8 mWindowNum;
/* 0x04E0D */ u8 mLayerOld;
@@ -326,7 +337,7 @@ public:
/* 0x04F23 */ u8 mZSetFlagForce;
/* 0x04F24 */ u8 mXStatus;
/* 0x04F25 */ u8 mXStatusForce;
- /* 0x04F26 */ u8 field_0x4fbe; // related to XStatus
+ /* 0x04F26 */ u8 mXSetFlag;
/* 0x04F27 */ u8 mXSetFlagForce;
/* 0x04F28 */ u8 mYStatus;
/* 0x04F29 */ u8 mYStatusForce;
@@ -462,6 +473,16 @@ void* dComIfG_getStageRes(char const*);
void dComLbG_PhaseHandler(request_of_phase_process_class*, int (**param_1)(void*), void*);
void dComIfGp_addSelectItemNum(int, s16);
BOOL dComIfGs_isOneZoneSwitch(int, int);
+u8 dComIfGp_getSelectItem(int);
+u8 dComIfGp_TargetWarpPt_get();
+void dComIfGp_TargetWarpPt_set(u8);
+BOOL dComIfGp_TransportWarp_check();
+void dComIfGp_setNextStage(char const*, s16, s8, s8, f32, u32, int, s8, s16, int, int);
+cXyz& dComIfGs_getWarpPlayerPos();
+const char* dComIfGs_getWarpStageName();
+s16 dComIfGs_getWarpPlayerAngleY();
+s8 dComIfGs_getWarpRoomNo();
+char* dComIfG_getRoomArcName(int);
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -716,7 +737,7 @@ inline s16 dComIfGs_getLastWarpMarkPlayerAngleY() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getAngleY();
}
-inline s8 dComIfGs_getLastWarpMarkRoomNo() {
+inline u8 dComIfGs_getLastWarpMarkRoomNo() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getRoomNo();
}
@@ -776,6 +797,10 @@ inline s8 dComIfGp_getStartStageLayer() {
return g_dComIfG_gameInfo.play.getStartStageLayer();
}
+/* inline dStage_stageDt_c& dComIfGp_getStage() {
+ return g_dComIfG_gameInfo.play.getStage();
+} */
+
inline roomRead_class* dComIfGp_getStageRoom() {
return g_dComIfG_gameInfo.play.getStage().getRoom();
}
@@ -1066,4 +1091,76 @@ inline u8 dComIfGs_getLastSceneMode() {
return g_dComIfG_gameInfo.info.getRestart().getLastMode();
}
+inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, const csXyz* param_4, const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, const GXColor* param_10, const cXyz* param_11) {
+ return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10, param_11, 1.0f);
+}
+
+inline void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0) {
+ g_dComIfG_gameInfo.play.getParticle()->forceOnEventMove(param_0);
+}
+
+inline dPa_control_c::level_c::emitter_c* dComIfGp_particle_getEmitter(u32 param_0) {
+ return g_dComIfG_gameInfo.play.getParticle()->getEmitter(param_0);
+}
+
+inline u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2, const cXyz* param_3, const dKy_tevstr_c* param_4, const csXyz* param_5, const cXyz* param_6, int param_7, dPa_levelEcallBack* param_8, s8 param_9, const cXyz* param_10) {
+ return g_dComIfG_gameInfo.play.getParticle()->setPoly(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10);
+}
+
+inline dRes_info_c* dComIfG_getObjectResInfo(const char* arc_name) {
+ return g_dComIfG_gameInfo.mResControl.getObjectResInfo(arc_name);
+}
+
+inline void dComIfGp_setXStatus(u8 status, u8 flag) {
+ g_dComIfG_gameInfo.play.setXStatus(status, flag);
+}
+
+inline void dComIfGp_setYStatus(u8 status, u8 flag) {
+ g_dComIfG_gameInfo.play.setYStatus(status, flag);
+}
+
+inline BOOL dComIfGp_event_compulsory(void* param_0, const char* param_1, u16 param_2) {
+ return g_dComIfG_gameInfo.play.getEvent().compulsory(param_0, param_1, param_2);
+}
+
+inline void dComIfGs_setTurnRestart(const cXyz& param_0, s16 param_1, s8 param_2, u32 param_3) {
+ g_dComIfG_gameInfo.info.getTurnRestart().set(param_0, param_1, param_2, param_3);
+}
+
+inline void dComIfGs_setRestartRoom(const cXyz& param_0, s16 param_1, s8 param_2) {
+ g_dComIfG_gameInfo.info.getRestart().setRoom(param_0, param_1, param_2);
+}
+
+inline s8 dComIfGs_getRestartRoomNo() {
+ return g_dComIfG_gameInfo.info.getRestart().getRoomNo();
+}
+
+inline void dComIfGs_setRestartRoomParam(u32 param) {
+ g_dComIfG_gameInfo.info.getRestart().setRoomParam(param);
+}
+
+inline void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) {
+ g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag);
+}
+
+inline int* dComIfGp_evmng_getMyIntegerP(int index, char* name) {
+ return (int*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_INT);
+}
+
+inline char* dComIfGp_evmng_getMyStringP(int index, char* name) {
+ return (char*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_STRING);
+}
+
+inline f32* dComIfGp_evmng_getMyFloatP(int index, char* name) {
+ return (f32*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_FLOAT);
+}
+
+inline stage_scls_info_dummy_class* dComIfGp_getStageSclsInfo() {
+ return g_dComIfG_gameInfo.play.getStage().getSclsInfo();
+}
+
+inline dStage_roomStatus_c* dComIfGp_roomControl_getStatusRoomDt(int room_no) {
+ return g_dComIfG_gameInfo.play.getRoomControl()->getStatusRoomDt(room_no);
+}
+
#endif /* D_COM_D_COM_INF_GAME_H */
diff --git a/include/d/d_attention.h b/include/d/d_attention.h
index ad270ddfb0..a281c1e780 100644
--- a/include/d/d_attention.h
+++ b/include/d/d_attention.h
@@ -200,12 +200,16 @@ public:
dAttCatch_c& getCatghTarget() { return mCatghTarget; }
bool chkFlag(u32 flag) { return mFlags & flag; }
- bool Lockon() {
+ BOOL Lockon() {
bool chk = true;
- if (!LockonTruth() && !chkFlag(0x20000000)) {
- chk = false;
- }
+ if (!LockonTruth()) {
+ if (!chkFlag(0x20000000)) {
+ chk = false;
+ }
+ }
return chk;
+
+ //return !LockonTruth() && !chkFlag(0x20000000);
}
static u8 loc_type_tbl[12];
diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h
index 8c038fcdfb..67e81da529 100644
--- a/include/d/d_resorce.h
+++ b/include/d/d_resorce.h
@@ -91,6 +91,10 @@ public:
return getRes(arcName, resName, &mStageInfo[0], ARRAY_SIZE(mStageInfo));
}
+ dRes_info_c* getObjectResInfo(const char* arcName) {
+ return getResInfo(arcName, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
+ }
+
/* 0x0000 */ dRes_info_c mObjectInfo[0x80];
/* 0x1200 */ dRes_info_c mStageInfo[0x40];
}; // Size: 0x1B00
diff --git a/include/d/d_stage.h b/include/d/d_stage.h
index dffffcdc5b..56de78bac7 100644
--- a/include/d/d_stage.h
+++ b/include/d/d_stage.h
@@ -45,7 +45,19 @@ struct stage_stag_info_class {
/* 0x2A */ u16 mStageTitleNo;
}; // Size: Unknown
-struct stage_scls_info_dummy_class {};
+struct stage_scls_info_class {
+ /* 0x0 */ char mStage[8];
+ /* 0x8 */ u8 mStart;
+ /* 0x9 */ s8 mRoom;
+ /* 0xA */ s8 field_0xa;
+ /* 0xB */ s8 field_0xb;
+ /* 0xC */ s8 mWipe;
+}; // Size: 0xD
+
+struct stage_scls_info_dummy_class {
+ /* 0x00 */ int numEntries;
+ /* 0x04 */ stage_scls_info_class* mEntries;
+};
struct stage_pure_lightvec_info_class {};
@@ -647,6 +659,7 @@ static int dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*);
static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
+void dStage_changeScene(int, f32, u32, s8, s16, int);
inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) {
return param_0 & 0x3f;
@@ -656,4 +669,24 @@ inline u32 dStage_stagInfo_GetSTType(stage_stag_info_class* pstag) {
return pstag->field_0x0c >> 0x10 & 7;
}
+inline u32 dStage_stagInfo_GetEscapeWarp(stage_stag_info_class* pstag) {
+ return pstag->field_0x10 >> 0x18;
+}
+
+inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
+ return p_info->field_0xb & 0xF;
+}
+
+inline s8 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) {
+ return p_info->mWipe;
+}
+
+inline s8 dStage_sclsInfo_getWipeTime(stage_scls_info_class* p_info) {
+ return p_info->field_0xb >> 5;
+}
+
+inline s8 dStage_sclsInfo_getTimeH(stage_scls_info_class* p_info) {
+ return (p_info->field_0xa >> 4) | (p_info->field_0xb & 16);
+}
+
#endif /* D_D_STAGE_H */
diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h
index b541927041..6fdb8b79a4 100644
--- a/include/d/event/d_event.h
+++ b/include/d/event/d_event.h
@@ -60,7 +60,7 @@ public:
void skipper();
void Step();
void moveApproval(void*);
- bool compulsory(void*, char const*, u16);
+ BOOL compulsory(void*, char const*, u16);
void remove();
void* getStageEventDt(); // ret type probably wrong, fix later
void sceneChange(int);
@@ -82,6 +82,7 @@ public:
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
bool runCheck() { return field_0xe5 != 0; }
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
+ u8 getMode() const { return mMode; }
public:
/* 0x000 */ u8 field_0x0[4];
diff --git a/include/d/event/d_event_data.h b/include/d/event/d_event_data.h
index 49f4aeea78..b1517d7bfa 100644
--- a/include/d/event/d_event_data.h
+++ b/include/d/event/d_event_data.h
@@ -5,25 +5,80 @@
#include "d/save/d_save.h"
#include "dolphin/types.h"
-struct event_binary_data_header {};
-
-struct dEvDtData_c {};
+struct event_binary_data_header {
+ /* 0x00 */ u32 eventTop; // offset to Event chunk
+ /* 0x04 */ s32 eventNum;
+ /* 0x08 */ u32 staffTop; // offset to Staff chunk
+ /* 0x0C */ s32 staffNum;
+ /* 0x10 */ u32 cutTop; // offset to Cut chunk
+ /* 0x14 */ s32 cutNum;
+ /* 0x18 */ u32 dataTop; // offset to Data chunk
+ /* 0x1C */ s32 dataNum;
+ /* 0x20 */ u32 fDataTop; // offset to FData chunk
+ /* 0x24 */ s32 fDataNum;
+ /* 0x28 */ u32 iDataTop; // offset to IData chunk
+ /* 0x2C */ s32 iDataNum;
+ /* 0x30 */ u32 sDataTop; // offset to SData chunk
+ /* 0x34 */ s32 sDataNum;
+ /* 0x38 */ u8 unk[8];
+}; // Size: 0x40
+
+class dEvDtData_c {
+public:
+ enum DataType {
+ /* 0x0 */ TYPE_FLOAT,
+ /* 0x1 */ TYPE_VEC,
+ /* 0x3 */ TYPE_INT = 3,
+ /* 0x4 */ TYPE_STRING
+ };
+
+ int getIndex() { return mDataIndex; }
+ int getNumber() { return mNumber; }
+ int getType() { return mType; }
+ int getNext() { return mNext; }
+ char* getName() { return mName; }
+
+ /* 0x00 */ char mName[32];
+ /* 0x20 */ u32 mIndex;
+ /* 0x24 */ int mType;
+ /* 0x28 */ int mDataIndex;
+ /* 0x2C */ int mNumber;
+ /* 0x30 */ int mNext;
+ /* 0x34 */ u8 field_0x34[12];
+}; // Size: 0x40
class dEvDtCut_c {
public:
void startCheck();
+ int getDataTop() { return mDataTop; }
+
private:
- /* 0x00 */ u8 field_0x0[0x20];
+ /* 0x00 */ char mName[32];
/* 0x20 */ u32 mTagID;
- /* 0x28 */ int field_0x28[3];
+ /* 0x24 */ u32 mIndex;
+ /* 0x28 */ int mFlags[3];
/* 0x34 */ u32 mFlagId;
- /* 0x38 */ u32 mDataTop;
- /* 0x3C */ u32 mNext;
-};
+ /* 0x38 */ int mDataTop;
+ /* 0x3C */ int mNext;
+ /* 0x40 */ u8 field_0x40[0x10];
+}; // Size: 0x50
class dEvDtStaff_c {
public:
+ enum StaffType {
+ /* 0x0 */ TYPE_DEFAULT,
+ /* 0x1 */ TYPE_ALL,
+ /* 0x2 */ TYPE_CAMERA,
+ /* 0x4 */ TYPE_TIMEKEEPER = 4,
+ /* 0x6 */ TYPE_DIRECTOR = 6,
+ /* 0x7 */ TYPE_MESSAGE,
+ /* 0x8 */ TYPE_SOUND,
+ /* 0x9 */ TYPE_LIGHT,
+ /* 0xB */ TYPE_PACKAGE = 11,
+ /* 0xC */ TYPE_CREATE,
+ };
+
void specialProc_WaitStart(int);
void specialProc_WaitProc(int);
void specialProc();
@@ -38,40 +93,52 @@ public:
void specialProcTimekeeper();
void specialProcEffect();
+ int getType() { return mType; }
+ char* getName() { return mName; }
+ int getCurrentCut() { return mCurrentCut; }
+ int getStartCut() { return mStartCut; }
+
private:
- /* 0x00 */ u8 field_0x00[4];
- /* 0x04 */ void* field_0x04;
- /* 0x08 */ u32 field_0x08;
- /* 0x0C */ int field_0x0c;
- /* 0x10 */ u32 field_0x10;
- /* 0x14 */ u8 field_0x14[0xC];
+ /* 0x00 */ char mName[32];
/* 0x20 */ u32 mTagID;
- /* 0x24 */ u32 field_0x24;
- /* 0x28 */ u8 field_0x28[4];
+ /* 0x24 */ u32 mIndex;
+ /* 0x28 */ u32 mFlagID;
/* 0x2C */ int mType;
- /* 0x30 */ u32 mStartCut;
+ /* 0x30 */ int mStartCut;
/* 0x34 */ u8 field_0x34[2];
/* 0x36 */ s16 field_0x36;
/* 0x38 */ int mCurrentCut;
/* 0x3C */ u32 field_0x3c;
- /* 0x40 */ u8 field_0x40;
- /* 0x41 */ u8 field_0x41;
+ /* 0x40 */ bool field_0x40;
+ /* 0x41 */ bool field_0x41;
/* 0x42 */ s16 field_0x42;
/* 0x44 */ s16 mSoundWait;
- /* 0x46 */ u8 field_0x46[4];
- /* 0x4A */ int field_0x4a;
-};
+ /* 0x46 */ u8 field_0x46[10];
+}; // Size: 0x50
class dEvDtEvent_c {
public:
void finishCheck();
void forceFinish();
void specialStaffProc(dEvDtStaff_c*);
-
- /* 0x00 */ s32 mEventNum;
- /* 0x04 */ u8 field_0x4[0xA0];
- /* 0xA4 */ int field_0xa4;
-};
+ int getNStaff() { return mNStaff; }
+ int getStaff(int idx) { return mStaff[idx]; }
+
+ /* 0x00 */ char mName[32];
+ /* 0x20 */ u32 mIndex;
+ /* 0x24 */ int field_0x24;
+ /* 0x28 */ int mPriority;
+ /* 0x2C */ int mStaff[20];
+ /* 0x7C */ int mNStaff;
+ /* 0x80 */ u8 field_0x80[4];
+ /* 0x84 */ int field_0x84;
+ /* 0x88 */ int field_0x88[2];
+ /* 0x90 */ int field_0x90;
+ /* 0x94 */ bool mPlaySound;
+ /* 0x95 */ u8 field_0x95[0xF];
+ /* 0xA4 */ int mEventState;
+ /* 0xA8 */ u8 field_0xa8[8];
+}; // Size: 0xB0
class dEvDtFlag_c {
public:
@@ -91,23 +158,56 @@ class dEvDtBase_c {
public:
dEvDtBase_c();
~dEvDtBase_c() {}
- void init();
- void init(char*, int);
+ int init();
+ int init(char*, int);
void advanceCut(dEvDtEvent_c*);
void advanceCutLocal(dEvDtStaff_c*);
event_binary_data_header* getHeaderP() { return mHeaderP; }
- s32 getEventNum() { return mEventP->mEventNum; }
+ dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; }
+ dEvDtEvent_c* getEventP(int i) { return &mEventP[i]; }
+ dEvDtData_c* getDataP(int i) { return &mDataP[i]; }
+ dEvDtCut_c* getCutP(int i) { return &mCutP[i]; }
+ int getStaffCurrentCut(int i) { return mStaffP[i].getCurrentCut(); }
+ dEvDtCut_c* getCutStaffCurrentCutP(int i) { return getCutP(getStaffCurrentCut(i)); }
+ int getStaffStartCut(int i) { return mStaffP[i].getStartCut(); }
+ dEvDtCut_c* getCutStaffStartCutP(int i) { return getCutP(getStaffStartCut(i)); }
+ int* getIDataP(int i) { return &mIDataP[i]; }
+ f32* getFDataP(int i) { return &mFDataP[i]; }
+ char* getSDataP(int i) { return &mSDataP[i]; }
+ u32 getEventTop() { return mHeaderP->eventTop; }
+ s32 getEventNum() { return mHeaderP->eventNum; }
+ u32 getStaffTop() { return mHeaderP->staffTop; }
+ s32 getStaffNum() { return mHeaderP->staffNum; }
+ u32 getCutTop() { return mHeaderP->cutTop; }
+ s32 getCutNum() { return mHeaderP->cutNum; }
+ u32 getDataTop() { return mHeaderP->dataTop; }
+ s32 getDataNum() { return mHeaderP->dataNum; }
+ u32 getFDataTop() { return mHeaderP->fDataTop; }
+ s32 getFDataNum() { return mHeaderP->fDataNum; }
+ u32 getIDataTop() { return mHeaderP->iDataTop; }
+ s32 getIDataNum() { return mHeaderP->iDataNum; }
+ u32 getSDataTop() { return mHeaderP->sDataTop; }
+ s32 getSDataNum() { return mHeaderP->sDataNum; }
s32 roomNo() { return mRoomNo; }
+ void setHeaderP(event_binary_data_header* p_header) { mHeaderP = p_header; }
+ void setEventP(dEvDtEvent_c* p_event) { mEventP = p_event; }
+ void setStaffP(dEvDtStaff_c* p_staff) { mStaffP = p_staff; }
+ void setCutP(dEvDtCut_c* p_cut) { mCutP = p_cut; }
+ void setDataP(dEvDtData_c* p_data) { mDataP = p_data; }
+ void setFDataP(f32* p_fdata) { mFDataP = p_fdata; }
+ void setIDataP(int* p_idata) { mIDataP = p_idata; }
+ void setSDataP(char* p_sdata) { mSDataP = p_sdata; }
+
private:
/* 0x00 */ event_binary_data_header* mHeaderP;
/* 0x04 */ dEvDtEvent_c* mEventP;
/* 0x08 */ dEvDtStaff_c* mStaffP;
/* 0x0C */ dEvDtCut_c* mCutP;
/* 0x10 */ dEvDtData_c* mDataP;
- /* 0x14 */ float* mFDataP;
- /* 0x18 */ s32* mIDataP;
+ /* 0x14 */ f32* mFDataP;
+ /* 0x18 */ int* mIDataP;
/* 0x1C */ char* mSDataP;
/* 0x20 */ s32 mRoomNo;
}; // Size = 0x24
diff --git a/include/d/event/d_event_manager.h b/include/d/event/d_event_manager.h
index 3e68b3a741..7427c80c4d 100644
--- a/include/d/event/d_event_manager.h
+++ b/include/d/event/d_event_manager.h
@@ -22,7 +22,7 @@ private:
class dEvent_manager_c {
public:
- void getSubstance(dEvDtData_c*, int);
+ void* getSubstance(dEvDtData_c*, int);
dEvent_manager_c();
~dEvent_manager_c() {}
int create();
@@ -52,8 +52,8 @@ public:
void getIsAddvance(int);
void getMyActIdx(int, char const* const*, int, int, int);
void getMyNowCutName(int);
- void getMyDataP(int, char const*, int);
- void getMySubstanceP(int, char const*, int);
+ dEvDtData_c* getMyDataP(int, char const*, int);
+ void* getMySubstanceP(int, char const*, int);
void getMySubstanceNum(int, char const*);
void cutEnd(int);
void getEventPrio(fopAc_ac_c*, s16);
@@ -63,11 +63,13 @@ public:
void getGoal();
void getRunEventName();
void specialCast_Shutter(s16, int);
- void specialCast(char const*, int);
+ fopAc_ac_c* specialCast(char const*, int);
void ChkPresentEnd();
void checkStartDemo();
void setStartDemo(int param_0) { mEventException.setStartDemo(param_0); }
+ void setCameraPlay(int status) { mCameraPlay = status; }
+ dEvDtBase_c& getBase() { return mEventList[field_0x1b4]; }
private:
/* 0x0000 */ dEvDtBase_c mEventList[11];
@@ -77,7 +79,7 @@ private:
/* 0x01A8 */ u8 field_0x1a8[2];
/* 0x01AA */ s16 field_0x1aa;
/* 0x01AC */ u8 field_0x1ac[4];
- /* 0x01B0 */ u32 field_0x1b0;
+ /* 0x01B0 */ int mRoomNo;
/* 0x01B4 */ u32 field_0x1b4;
/* 0x01B8 */ u32 field_0x1b8;
/* 0x01BC */ dEvDtFlag_c mFlags;
diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h
index 42c1e9ead2..1c747881a2 100644
--- a/include/d/kankyo/d_kankyo.h
+++ b/include/d/kankyo/d_kankyo.h
@@ -12,6 +12,7 @@
#include "m_Do/m_Do_ext.h"
void dKankyo_DayProc();
+void dKy_set_nexttime(f32);
struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE();
@@ -663,5 +664,6 @@ public:
STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880);
bool dKy_darkworld_stage_check(char const*, int);
+BOOL dKy_withwarp_capture_check();
#endif /* D_KANKYO_D_KANKYO_H */
diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h
index 1a4884dec7..95ca9ab707 100644
--- a/include/d/meter/d_meter2_info.h
+++ b/include/d/meter/d_meter2_info.h
@@ -132,6 +132,11 @@ public:
dMw_c* getMenuWindowClass() { return mMenuWindowClass; }
void offUseButton(int pButton) { mUseButton &= ~(u16)pButton; }
u16 getOilGaugeBackUp() { return mOilGaugeBackUp; }
+ u8 getWarpStatus() { return mWarpStatus; }
+ u8 getWarpRoomNo() { return mWarpInfo.mRoomNo; }
+ u8 getWarpPlayerNo() { return mWarpInfo.mWarpPlayerNo; }
+ cXyz& getWarpPos() { return mWarpInfo.mPosition; }
+ const char* getWarpStageName() { return mWarpInfo.mStageName; }
private:
/* 0x04 */ u8 unk4[4];
@@ -252,4 +257,24 @@ inline void dMeter2Info_setSaveStageName(const char* name) {
g_meter2_info.setSaveStageName(name);
}
+inline u8 dMeter2Info_getWarpStatus() {
+ return g_meter2_info.getWarpStatus();
+}
+
+inline u8 dMeter2Info_getWarpRoomNo() {
+ return g_meter2_info.getWarpRoomNo();
+}
+
+inline u8 dMeter2Info_getWarpPlayerNo() {
+ return g_meter2_info.getWarpPlayerNo();
+}
+
+inline cXyz& dMeter2Info_getWarpPos() {
+ return g_meter2_info.getWarpPos();
+}
+
+inline const char* dMeter2Info_getWarpStageName() {
+ return g_meter2_info.getWarpStageName();
+}
+
#endif /* D_METER_D_METER2_INFO_H */
diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h
index 5bb102e092..f6b5efdeb1 100644
--- a/include/d/particle/d_particle.h
+++ b/include/d/particle/d_particle.h
@@ -7,33 +7,177 @@
class JPAEmitterCallBack {
public:
- /* 80050368 */ void execute(JPABaseEmitter*);
- /* 8005036C */ void draw(JPABaseEmitter*);
- /* 80050370 */ void drawAfter(JPABaseEmitter*);
- /* 80050374 */ void executeAfter(JPABaseEmitter*);
- /* 8027E6A4 */ ~JPAEmitterCallBack();
+ /* 8027E6A4 */ virtual ~JPAEmitterCallBack() = 0;
+ /* 80050368 */ virtual void execute(JPABaseEmitter*);
+ /* 80050374 */ virtual void executeAfter(JPABaseEmitter*);
+ /* 8005036C */ virtual void draw(JPABaseEmitter*);
+ /* 80050370 */ virtual void drawAfter(JPABaseEmitter*);
+};
+
+struct JPAResourceManager {
+ /* 80273E10 */ JPAResourceManager(void const*, JKRHeap*);
+ /* 80273EA8 */ void checkUserIndexDuplication(u16) const;
+ /* 80273EEC */ void swapTexture(ResTIMG const*, char const*);
+ /* 80273FCC */ void getResUserWork(u16) const;
};
class dPa_levelEcallBack : public JPAEmitterCallBack {
public:
- /* 8004FB18 */ ~dPa_levelEcallBack();
- /* 8004FB8C */ void cleanup();
+ /* 8004FB18 */ virtual ~dPa_levelEcallBack();
+ /* 8004FB8C */ virtual void cleanup();
};
class dPa_hermiteEcallBack_c : public dPa_levelEcallBack {
public:
/* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*);
- /* 8004F6C4 */ void executeAfter(JPABaseEmitter*);
- /* 8004FABC */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
- /* 8004FCC8 */ ~dPa_hermiteEcallBack_c();
+
+ /* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c();
+ /* 8004F6C4 */ virtual void executeAfter(JPABaseEmitter*);
+ /* 8004FABC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
private:
- /* 0x00 */ void* vtable;
- /* 0x04 */ float mRate;
+ /* 0x04 */ f32 mRate;
/* 0x08 */ int mMaxCnt;
/* 0x0C */ cXyz* field_0xc;
/* 0x10 */ cXyz* field_0x10;
/* 0x14 */ cXyz* field_0x14;
};
+class mDoDvdThd_toMainRam_c;
+class cBgS_PolyInfo;
+class JPAEmitterManager;
+struct JPADrawInfo;
+
+class dPa_simpleEcallBack : public JPAEmitterCallBack {
+public:
+ /* 8004ADF4 */ dPa_simpleEcallBack();
+ /* 8004AF98 */ void create(JPAEmitterManager*, u16, u8);
+ /* 8004B064 */ void createEmitter(JPAEmitterManager*);
+ /* 8004B168 */ void set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&,
+ int, f32);
+
+ /* 8004FC08 */ virtual ~dPa_simpleEcallBack();
+ /* 8004AE1C */ virtual void executeAfter(JPABaseEmitter*);
+ /* 8004AF94 */ virtual void draw(JPABaseEmitter*);
+
+ /* 0x04 */ JPABaseEmitter* mEmitter;
+ /* 0x08 */ u16 mID;
+ /* 0x0A */ u8 field_0xa;
+ /* 0x0C */ s16 field_0xc;
+ /* 0x10 */ void* mData;
+}; // Size: 0x14
+
+class dPa_control_c {
+public:
+ class level_c {
+ public:
+ class emitter_c {
+ public:
+ /* 8004B504 */ void onActive();
+ /* 8004B544 */ void entry(u32, u16, JPABaseEmitter*, dPa_levelEcallBack*);
+ /* 8004B5AC */ void cleanup();
+ /* 8004FBFC */ emitter_c();
+
+ private:
+ /* 0x00 */ u32 mId;
+ /* 0x04 */ u16 mNameId;
+ /* 0x06 */ u8 mStatus;
+ /* 0x08 */ JPABaseEmitter* mEmitter;
+ /* 0x0C */ dPa_levelEcallBack* mCallback;
+ /* 0x10 */ emitter_c* mPre;
+ /* 0x14 */ emitter_c* mNext;
+ }; // Size: 0x18
+
+ /* 8004B688 */ level_c();
+ /* 8004B7A8 */ void execute();
+ /* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*);
+ /* 8004B808 */ void cleanup();
+ /* 8004B874 */ void get(u32);
+ /* 8004B8B4 */ void forceOnEventMove(u32);
+ /* 8004B8E8 */ void allForceOnEventMove();
+ /* 8004B918 */ emitter_c* getEmitter(u32);
+ /* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
+ /* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*);
+ /* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*);
+
+ /* 0x000 */ u32 field_0x0;
+ /* 0x004 */ u8 field_0x4;
+ /* 0x005 */ u8 field_0x5;
+ /* 0x006 */ u8 field_0x6;
+ /* 0x008 */ emitter_c mEmitter[0x80];
+ /* 0xC08 */
+ };
+
+ /* 8004BACC */ dPa_control_c();
+ /* 8004BB70 */ void getRM_ID(u16);
+ /* 8004BB78 */ void createCommon(void const*);
+ /* 8004BCDC */ void createRoomScene();
+ /* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**);
+ /* 8004BEB0 */ void createScene(void const*);
+ /* 8004BF3C */ void removeRoomScene(bool);
+ /* 8004BFD4 */ void removeScene(bool);
+ /* 8004C054 */ void cleanup();
+ /* 8004C078 */ void calc3D();
+ /* 8004C0EC */ void calc2D();
+ /* 8004C134 */ void calcMenu();
+ /* 8004C188 */ void draw(JPADrawInfo*, u8);
+ /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
+ /* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
+ cXyz const*, s8);
+ /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
+ u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
+ cXyz const*, f32);
+ /* 8004D4CC */ u32 set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
+ cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
+ _GXColor const*, cXyz const*, f32);
+ /* 8004CF90 */ void getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
+ /* 8004D6A4 */ u32 setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
+ csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
+ cXyz const*);
+ /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
+ cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
+ /* 8004D128 */ void newSimple(u16, u8, u32*);
+ /* 8004D1B8 */ void setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
+ _GXColor const&, int, f32);
+ /* 8004D23C */ void getSimple(u16);
+ /* 8004D770 */ void setStopContinue(u32);
+ /* 8004D7C4 */ void setSimpleFoot(u32, u32*, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
+ int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8,
+ cXyz const*);
+ /* 8004D988 */ void setCommonPoly(u32*, cBgS_PolyInfo*, cXyz const*, cXyz const*,
+ dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
+
+ void forceOnEventMove(u32 param_0) { field_0x210.forceOnEventMove(param_0); }
+ level_c::emitter_c* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); }
+ u32 setNormal(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, const csXyz* param_4, const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, const GXColor* param_10, const cXyz* param_11, f32 param_12) {
+ return set(param_0, 0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10, param_11, param_12);
+ }
+
+ static u8 mTsubo[64];
+ static u8 mLifeBall[24];
+ static u8 mWindViewMatrix[48];
+ static u8 mEmitterMng[4];
+ static u8 mWaterBubblePcallBack[4];
+ static u8 mFsenthPcallBack[4];
+ static u8 mLight8EcallBack[4];
+ static u8 mLight8PcallBack[4];
+ static u8 m_b_Light8EcallBack[4];
+ static u8 m_b_Light8PcallBack[4];
+ static u8 m_d_Light8EcallBack[4];
+ static u8 m_d_Light8PcallBack[4];
+ static u8 mParticleTracePCB[4 + 4 /* padding */];
+
+private:
+ /* 0x000 */ JKRSolidHeap* mHeap;
+ /* 0x004 */ JPAResourceManager* mCommonResMng;
+ /* 0x008 */ JKRExpHeap* m_resHeap;
+ /* 0x00C */ JKRSolidHeap* m_sceneHeap;
+ /* 0x010 */ void* m_sceneRes;
+ /* 0x014 */ JPAResourceManager* mSceneResMng;
+ /* 0x018 */ u8 field_0x18;
+ /* 0x019 */ u8 field_0x19;
+ /* 0x01C */ dPa_simpleEcallBack field_0x1c[25];
+ /* 0x210 */ level_c field_0x210;
+};
+
#endif /* D_PARTICLE_D_PARTICLE_H */
diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h
index 91977e0be3..217ba4c419 100644
--- a/include/d/save/d_save.h
+++ b/include/d/save/d_save.h
@@ -919,8 +919,10 @@ class dSv_restart_c {
public:
void setRoom(const cXyz&, s16, s8);
+ void setRoomParam(u32 param) { mRoomParam = param; }
s16 getStartPoint() const { return mStartPoint; }
u32 getLastMode() const { return mLastMode; }
+ s8 getRoomNo() const { return mRoomNo; }
private:
/* 0x00 */ s8 mRoomNo;
@@ -1007,6 +1009,7 @@ public:
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
dSv_event_c& getTmp() { return mTmp; }
dSv_restart_c& getRestart() { return mRestart; }
+ dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; }
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
s64 getStartTime() { return mStartTime; }
s64 getSaveTotalTime() { return mSaveTotalTime; }
diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h
index 92a42a42dc..dc72b471b2 100644
--- a/include/f_op/f_op_actor_mng.h
+++ b/include/f_op/f_op_actor_mng.h
@@ -102,6 +102,10 @@ inline u32 fopAcM_GetParam(const void* pActor) {
return fpcM_GetParam(pActor);
}
+inline void fopAcM_SetParam(void* p_actor, u32 param) {
+ fpcM_SetParam(p_actor, param);
+}
+
inline u8 fopAcM_GetGroup(const fopAc_ac_c* p_actor) {
return p_actor->mGroup;
}
@@ -244,7 +248,7 @@ static const char* fopAcM_getProcNameString(const fopAc_ac_c*);
// s32 fopAcM_findObjectCB(const fopAc_ac_c*, void*);
s32 fopAcM_searchFromName(const char*, u32, u32);
s32 fopAcM_findObject4EventCB(fopAc_ac_c*, void*);
-s32 fopAcM_searchFromName4Event(const char*, s16);
+fopAc_ac_c* fopAcM_searchFromName4Event(const char*, s16);
s32 fopAcM_getWaterY(const cXyz*, f32*);
void fpoAcM_relativePos(const fopAc_ac_c*, const cXyz*, cXyz*);
s32 fopAcM_getWaterStream(const cXyz*, const cBgS_PolyInfo&, cXyz*, int*, int);
diff --git a/include/f_pc/f_pc_manager.h b/include/f_pc/f_pc_manager.h
index 1d13f495d3..772db2e504 100644
--- a/include/f_pc/f_pc_manager.h
+++ b/include/f_pc/f_pc_manager.h
@@ -22,6 +22,10 @@ inline u32 fpcM_GetParam(const void* pActor) {
return ((base_process_class*)pActor)->mParameters;
}
+inline void fpcM_SetParam(void* p_actor, u32 param) {
+ ((base_process_class*)p_actor)->mParameters = param;
+}
+
void fpcM_Draw(void* pProc);
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc);
void fpcM_Execute(void* pProc);
diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h
index efb15dbf7a..504b3349ec 100644
--- a/include/m_Do/m_Do_ext.h
+++ b/include/m_Do/m_Do_ext.h
@@ -15,61 +15,57 @@ public:
/* 8000D428 */ void play();
private:
- J3DFrameCtrl frame_control;
-};
+ /* 0x0 */ J3DFrameCtrl mFrameCtrl;
+}; // Size: 0x14
-class mDoExt_btkAnm {
+class mDoExt_btkAnm : public mDoExt_baseAnm {
public:
- mDoExt_btkAnm(void) { field_0x14 = 0; }
+ mDoExt_btkAnm(void) { mBtkAnm = 0; }
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
private:
- mDoExt_baseAnm base_anm;
- u32 field_0x14;
-};
+ /* 0x14 */ u32 mBtkAnm;
+}; // Size: 0x18
STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x18);
-class mDoExt_brkAnm {
+class mDoExt_brkAnm : public mDoExt_baseAnm {
public:
- mDoExt_brkAnm(void) { field_0x14 = 0; }
+ mDoExt_brkAnm(void) { mBrkAnm = 0; }
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
private:
- mDoExt_baseAnm mDoExt_baseAnm;
- u32 field_0x14;
-};
+ /* 0x14 */ u32 mBrkAnm;
+}; // Size: 0x18
STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18);
-class mDoExt_bpkAnm {
+class mDoExt_bpkAnm : public mDoExt_baseAnm {
public:
- mDoExt_bpkAnm(void) { field_0x14 = 0; }
+ mDoExt_bpkAnm(void) { mBpkAnm = 0; }
/* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
private:
- mDoExt_baseAnm mDoExt_baseAnm;
- u32 field_0x14;
-};
+ /* 0x14 */ u32 mBpkAnm;
+}; // Size: 0x18
STATIC_ASSERT(sizeof(mDoExt_bpkAnm) == 0x18);
-class mDoExt_bckAnm {
+class mDoExt_bckAnm : public mDoExt_baseAnm {
public:
- mDoExt_bckAnm(void) { field_0x18 = 0; }
+ mDoExt_bckAnm(void) { mAnm = 0; }
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
/* 8000D990 */ void changeBckOnly(J3DAnmTransform*);
/* 8000D9CC */ void entry(J3DModelData*, f32);
/* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32);
private:
- mDoExt_baseAnm base_anm;
- u8 field_0x14[4];
- u32 field_0x18;
-}; // Size = 0x1C
+ /* 0x14 */ u32 mBckAnm;
+ /* 0x18 */ u32 mAnm;
+}; // Size: 0x1C
STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C);
@@ -77,8 +73,6 @@ class J3DTransformInfo;
class mDoExt_McaMorfCallBack1_c {
public:
-private:
- /*void* vtable;*/
virtual void execute(u16, J3DTransformInfo*) = 0;
};
@@ -88,11 +82,69 @@ public:
/* 80140E2C */ mDoExt_AnmRatioPack();
void setRatio(f32 ratio) { mRatio = ratio; }
+ J3DAnmTransform* getAnmTransform() { return mAnmTransform; }
private:
/* 0x0 */ f32 mRatio;
/* 0x4 */ J3DAnmTransform* mAnmTransform;
-}; // Size = 0x8
+}; // Size: 0x8
+
+class mDoExt_invJntPacket : public J3DPacket {
+public:
+ /* 8000E654 */ mDoExt_invJntPacket();
+
+ /* 80012220 */ virtual void draw();
+ /* 8000E5F8 */ virtual ~mDoExt_invJntPacket();
+
+private:
+ /* 0x10 */ J3DModel* field_0x10;
+ /* 0x14 */ u16 field_0x14;
+ /* 0x16 */ u8 field_0x16;
+}; // Size: 0x18
+
+class mDoExt_invisibleModel {
+public:
+ /* 8000E53C */ void create(J3DModel*, u8);
+ /* 8000E6C8 */ void entryJoint(cXyz*);
+ /* 8000E7C0 */ void entryDL(cXyz*);
+
+ /* 0x0 */ J3DModel* mModel;
+ /* 0x4 */ mDoExt_invJntPacket* field_0x4;
+};
+
+class mDoExt_morf_c : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
+public:
+ /* 8000F950 */ mDoExt_morf_c();
+ /* 8000FB7C */ void setMorf(f32);
+ /* 8000FBC0 */ void frameUpdate();
+
+ /* 8000FAE8 */ virtual ~mDoExt_morf_c();
+
+private:
+ /* 0x04 */ u32 field_0x4;
+ /* 0x08 */ u32 mAnm;
+ /* 0x0C */ J3DFrameCtrl mFrameCtrl;
+ /* 0x20 */ u32 field_0x20;
+ /* 0x24 */ u32 field_0x24;
+};
+
+class mDoExt_MtxCalcOldFrame {
+public:
+ /* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
+ /* 8000F8CC */ void decOldFrameMorfCounter();
+
+private:
+ /* 0x00 */ bool mOldFrameFlg;
+ /* 0x04 */ f32 mOldFrameMorfCounter;
+ /* 0x08 */ f32 field_0x8;
+ /* 0x0C */ f32 mOldFrameRate;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ u16 mOldFrameStartJoint;
+ /* 0x1A */ u16 mOldFrameEndJoint;
+ /* 0x1C */ J3DTransformInfo* mOldFrameTransInfo;
+ /* 0x20 */ Quaternion* mOldFrameQuaternion;
+}; // Size: 0x24
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32);
void mDoExt_destroySolidHeap(JKRSolidHeap*);
diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h
index 7eaa3aa2e2..79c09b2fbf 100644
--- a/include/m_Do/m_Do_mtx.h
+++ b/include/m_Do/m_Do_mtx.h
@@ -61,4 +61,10 @@ public:
/* 0x118 */ mDoMtx_quatStack_c* field_0x118;
}; // Size: 0x11C
+inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
+ param_1->x = param_0[0][3];
+ param_1->y = param_0[1][3];
+ param_1->z = param_0[2][3];
+}
+
#endif /* M_DO_M_DO_MTX_H */
diff --git a/include/rel/d/a/d_a_crod/d_a_crod.h b/include/rel/d/a/d_a_crod/d_a_crod.h
index 4ef24817a3..47f72e02a4 100644
--- a/include/rel/d/a/d_a_crod/d_a_crod.h
+++ b/include/rel/d/a/d_a_crod/d_a_crod.h
@@ -3,9 +3,11 @@
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+#include "d/a/d_a_player.h"
#include "dolphin/types.h"
-class daCrod_c {
+class daCrod_c : public fopAc_ac_c {
public:
/* 80141A94 */ void setControllActorData();
/* 804A2E38 */ void createHeap();
@@ -23,6 +25,31 @@ public:
static fopAc_ac_c* makeIronBallDummy(fopAc_ac_c* p_actor) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->mCurrent.mPosition, fopAcM_GetRoomNo(p_actor), NULL, NULL, -1, NULL, NULL);
}
-};
+
+ fopAc_ac_c* getControllActor() {
+ return mControllActor.getActor();
+ }
+
+ fopAc_ac_c* getCameraActor() {
+ return mCameraActor.getActor();
+ }
+
+ void setThrow() { fopAcM_SetParam(this, 2); }
+
+private:
+ /* 0x568 */ J3DModel* field_568;
+ /* 0x56C */ mDoExt_bckAnm field_0x56c;
+ /* 0x588 */ J3DAnmTevRegKey* field_0x588;
+ /* 0x58C */ J3DAnmTextureSRTKey* field_0x58c;
+ /* 0x590 */ dCcD_Stts field_0x590;
+ /* 0x5CC */ dCcD_Cps field_0x5cc;
+ /* 0x710 */ LIGHT_INFLUENCE field_0x710;
+ /* 0x730 */ u8 field_0x730;
+ /* 0x731 */ u8 field_0x731;
+ /* 0x732 */ u8 field_0x732;
+ /* 0x734 */ cXyz field_0x734;
+ /* 0x740 */ daPy_actorKeep_c mControllActor;
+ /* 0x748 */ daPy_actorKeep_c mCameraActor;
+}; // Size: 0x750
#endif /* D_A_CROD_H */
diff --git a/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h b/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h
index 25408550ad..49c654ce50 100644
--- a/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h
+++ b/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h
@@ -2,5 +2,14 @@
#define D_A_KYTAG05_H
#include "dolphin/types.h"
+#include "f_op/f_op_actor.h"
+
+class kytag05_class : public fopAc_ac_c {
+public:
+ u8 getSceneListID() const { return mSceneListID; }
+
+ /* 0x568 */ u8 field_0x568[5];
+ /* 0x56D */ u8 mSceneListID;
+};
#endif /* D_A_KYTAG05_H */
diff --git a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp
index fb82f433ef..1463e95602 100644
--- a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp
+++ b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp
@@ -177,7 +177,7 @@ SECTION_SDATA2 static f32 lit_1581[1 + 1 /* padding */] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DAnmLoaderDataBase::load(void const* param_0) {
+asm void* J2DAnmLoaderDataBase::load(void const* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__20J2DAnmLoaderDataBaseFPCv.s"
}
diff --git a/rel/d/a/d_a_crod/d_a_crod.cpp b/rel/d/a/d_a_crod/d_a_crod.cpp
index 149ae46ce8..f748ef4e37 100644
--- a/rel/d/a/d_a_crod/d_a_crod.cpp
+++ b/rel/d/a/d_a_crod/d_a_crod.cpp
@@ -18,11 +18,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
-struct daPy_actorKeep_c {
- /* 8015ECB8 */ void setData(fopAc_ac_c*);
- /* 8015ECFC */ void clearData();
-};
-
struct daAlink_c {
/* 8009D884 */ void getAlinkArcName();
/* 800A9248 */ void simpleAnmPlay(J3DAnmBase*);
@@ -31,61 +26,10 @@ struct daAlink_c {
/* 800E1A30 */ void returnCopyRod();
};
-struct dRes_info_c {};
-
-struct dRes_control_c {
- /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
-};
-
-struct dCcD_Stts {
- /* 80083860 */ void Init(int, int, fopAc_ac_c*);
-};
-
-struct dCcD_SrcCps {};
-
-struct dCcD_GStts {
- /* 80083760 */ dCcD_GStts();
- /* 804A3240 */ ~dCcD_GStts();
-};
-
-struct dCcD_GObjInf {
- /* 80083A28 */ dCcD_GObjInf();
- /* 800840E4 */ ~dCcD_GObjInf();
- /* 800842C0 */ void ChkAtHit();
- /* 80084318 */ void ResetAtHit();
-};
-
-struct dCcD_GAtTgCoCommonBase {
- /* 80083688 */ void GetAc();
-};
-
-struct dCcD_Cps {
- /* 800847D0 */ void Set(dCcD_SrcCps const&);
-};
-
-struct cM3dGLin {
- /* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&);
-};
-
-struct cM3dGCps {
- /* 8026EF88 */ cM3dGCps();
- /* 8026EFA4 */ ~cM3dGCps();
-};
-
-struct cM3dGAab {
- /* 804A31F8 */ ~cM3dGAab();
-};
-
-struct cCcD_Obj {};
-
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
-struct cCcD_GStts {
- /* 804A409C */ ~cCcD_GStts();
-};
-
struct JAISoundID {};
struct Z2SeMgr {
@@ -318,7 +262,8 @@ asm void daCrod_c::create() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm cM3dGAab::~cM3dGAab() {
+// asm cM3dGAab::~cM3dGAab() {
+extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__8cM3dGAabFv.s"
}
@@ -328,7 +273,8 @@ asm cM3dGAab::~cM3dGAab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dCcD_GStts::~dCcD_GStts() {
+// asm dCcD_GStts::~dCcD_GStts() {
+extern "C" asm void __dt__10dCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__10dCcD_GSttsFv.s"
}
@@ -554,7 +500,8 @@ static asm void daCrod_Draw(daCrod_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm cCcD_GStts::~cCcD_GStts() {
+// asm cCcD_GStts::~cCcD_GStts() {
+extern "C" asm void __dt__10cCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__10cCcD_GSttsFv.s"
}
diff --git a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp
index 7cb0988b00..ba6a472226 100644
--- a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp
+++ b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp
@@ -8,16 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct kytag05_class {};
-
-struct fopAc_ac_c {
- /* 80018B64 */ fopAc_ac_c();
-};
-
-//
// Forward References:
//
diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp
index 4827466f51..92ae636bce 100644
--- a/src/d/a/d_a_alink.cpp
+++ b/src/d/a/d_a_alink.cpp
@@ -6,6 +6,7 @@
#include "d/a/d_a_alink.h"
#include "d/d_bomb.h"
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
+#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "JSystem/JMath/JMath.h"
#include "SSystem/SComponent/c_math.h"
#include "Z2AudioLib/Z2AudioMgr.h"
@@ -28,10 +29,6 @@ struct mDoExt_blkAnm {
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
};
-struct mDoExt_MtxCalcOldFrame {
- /* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
-};
-
struct mDoExt_MtxCalcAnmBlendTbl {
/* 800D00BC */ void getAnm(int);
};
@@ -81,138 +78,10 @@ struct dDemo_actor_c {
/* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*);
};
-struct daAlinkHIO_zwLight_c0 {
- static u8 const m[28];
-};
-
-struct daAlinkHIO_wolf_c0 {
- static u8 const m[24];
-};
-
struct daAlinkHIO_wolf_c {
/* 80140B98 */ ~daAlinkHIO_wolf_c();
};
-struct daAlinkHIO_wlWallHang_c0 {
- static u8 const m[156];
-};
-
-struct daAlinkHIO_wlSwim_c0 {
- static u8 const m[168];
-};
-
-struct daAlinkHIO_wlSlide_c0 {
- static u8 const m[124];
-};
-
-struct daAlinkHIO_wlSideStep_c0 {
- static u8 const m[104];
-};
-
-struct daAlinkHIO_wlRope_c0 {
- static u8 const m[56];
-};
-
-struct daAlinkHIO_wlPush_c0 {
- static u8 const m[20];
-};
-
-struct daAlinkHIO_wlPoint_c0 {
- static u8 const m[124];
-};
-
-struct daAlinkHIO_wlMove_c0 {
- static u8 const m[256];
-};
-
-struct daAlinkHIO_wlMoveNoP_c0 {
- static u8 const m[72];
-};
-
-struct daAlinkHIO_wlLight_c0 {
- static u8 const m[28];
-};
-
-struct daAlinkHIO_wlLie_c0 {
- static u8 const m[76];
-};
-
-struct daAlinkHIO_wlHowl_c0 {
- static u8 const m[96];
-};
-
-struct daAlinkHIO_wlGrab_c0 {
- static u8 const m[100];
-};
-
-struct daAlinkHIO_wlDamage_c0 {
- static u8 const m[44];
-};
-
-struct daAlinkHIO_wlDamNormal_c0 {
- static u8 const m[96];
-};
-
-struct daAlinkHIO_wlDamLarge_c0 {
- static u8 const m[108];
-};
-
-struct daAlinkHIO_wlDamHuge_c0 {
- static u8 const m[108];
-};
-
-struct daAlinkHIO_wlDamFall_c0 {
- static u8 const m[64];
-};
-
-struct daAlinkHIO_wlDamCaught_c0 {
- static u8 const m[16];
-};
-
-struct daAlinkHIO_wlChain_c0 {
- static u8 const m[92];
-};
-
-struct daAlinkHIO_wlBall_c0 {
- static u8 const m[56];
-};
-
-struct daAlinkHIO_wlBackJump_c0 {
- static u8 const m[56];
-};
-
-struct daAlinkHIO_wlAtnMove_c0 {
- static u8 const m[56];
-};
-
-struct daAlinkHIO_wlAtWaTl_c0 {
- static u8 const m[60];
-};
-
-struct daAlinkHIO_wlAtWaSc_c0 {
- static u8 const m[60];
-};
-
-struct daAlinkHIO_wlAtWaLr_c0 {
- static u8 const m[60];
-};
-
-struct daAlinkHIO_wlAtRoll_c0 {
- static u8 const m[32];
-};
-
-struct daAlinkHIO_wlAtNjump_c0 {
- static u8 const m[60];
-};
-
-struct daAlinkHIO_wlAtLock_c0 {
- static u8 const m[84];
-};
-
-struct daAlinkHIO_wlAtLand_c0 {
- static u8 const m[64];
-};
-
struct daAlinkHIO_wlAtDown_c0 {
static u8 const m[156];
};
@@ -237,14 +106,6 @@ struct daAlinkHIO_wallCatch_c0 {
static u8 const m[84];
};
-struct daAlinkHIO_swim_c0 {
- static u8 const m[252];
-};
-
-struct daAlinkHIO_spinner_c0 {
- static u8 const m[64];
-};
-
struct daAlinkHIO_smallJump_c0 {
static u8 const m[72];
};
@@ -265,18 +126,10 @@ struct daAlinkHIO_noActAtnMove_c0 {
static u8 const m[84];
};
-struct daAlinkHIO_ladder_c0 {
- static u8 const m[112];
-};
-
struct daAlinkHIO_kandelaar_c0 {
static u8 const m[80];
};
-struct daAlinkHIO_item_c0 {
- static u8 const m[60];
-};
-
struct daAlinkHIO_ironBall_c0 {
static u8 const m[140];
};
@@ -285,14 +138,6 @@ struct daAlinkHIO_huLight_c0 {
static u8 const m[28];
};
-struct daAlinkHIO_horse_c0 {
- static u8 const m[108];
-};
-
-struct daAlinkHIO_hookshot_c0 {
- static u8 const m[112];
-};
-
struct daAlinkHIO_hoCutRB_c0 {
static u8 const m[32];
};
@@ -393,10 +238,6 @@ struct daAlinkHIO_cutNmL_c0 {
static u8 const m[32];
};
-struct daAlinkHIO_cutLargeJump_c0 {
- static u8 const m[116];
-};
-
struct daAlinkHIO_cutHead_c0 {
static u8 const m[96];
};
@@ -449,10 +290,6 @@ struct daAlinkHIO_crouch_c0 {
static u8 const m[76];
};
-struct daAlinkHIO_copyRod_c0 {
- static u8 const m[56];
-};
-
struct daAlinkHIO_canoe_c0 {
static u8 const m[72];
};
@@ -462,52 +299,6 @@ struct daAlinkHIO_c {
/* 80140C10 */ ~daAlinkHIO_c();
};
-struct daAlinkHIO_bow_c0 {
- static u8 const m[112];
-};
-
-struct daAlinkHIO_bottle_c0 {
- static u8 const m[180];
-};
-
-struct daAlinkHIO_boom_c0 {
- static u8 const m[76];
-};
-
-struct daAlinkHIO_board_c0 {
- static u8 const m[156];
-};
-
-struct daAlinkHIO_backJump_c0 {
- static u8 const m[56];
-};
-
-struct dPa_control_c {
- struct level_c {
- /* 8004B8B4 */ void forceOnEventMove(u32);
- /* 8004B918 */ void getEmitter(u32);
- };
-
- /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
- /* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
- cXyz const*, s8);
- /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
- cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
- _GXColor const*, cXyz const*, f32);
- /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
- u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
- cXyz const*, f32);
- /* 8004CF90 */ void getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
- /* 8004D6A4 */ void setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
- csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
- cXyz const*);
- /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
- cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
-
- static u8 mWaterBubblePcallBack[4];
- static u8 mParticleTracePCB[4 + 4 /* padding */];
-};
-
struct dPaPoF_c {
/* 800512E8 */ void setEffectFour(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
cXyz const*, cXyz const*, cXyz const*, cXyz const*,
@@ -566,10 +357,6 @@ struct JAISeq {
/* 802A0A8C */ JAISeq(JAISeqMgr*, JAISoundStrategyMgr<JAISeq>*);
};
-struct J2DAnmLoaderDataBase {
- /* 80308A6C */ void load(void const*);
-};
-
//
// Forward References:
//
@@ -3649,7 +3436,7 @@ static asm void daAlink_coHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1
/* ############################################################################################## */
/* 80450FC0-80450FC4 0004C0 0004+00 1/1 0/0 0/0 .sbss it$36766 */
-static u8 it[4];
+static int it;
/* 80450FC4-80450FC8 -00001 0004+00 1/1 0/0 0/0 .sbss None */
/* 80450FC4 0001+00 data_80450FC4 None */
@@ -3759,15 +3546,26 @@ bool daAlink_c::checkStageName(const char* stage) {
/* 8009DA98-8009DB64 0983D8 00CC+00 1/1 0/0 0/0 .text
* tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::tgHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1,
+void daAlink_c::tgHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1,
dCcD_GObjInf* param_2) {
- nofralloc
-#include "asm/d/a/d_a_alink/tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf.s"
+ if (param_2->ChkAtType(0x40000)) {
+ field_0x369c = *param_2->GetAtVecP();
+ for (int i = 0; i < 3; i++) {
+ if (param_1 == &field_0x850[i]) {
+ field_0x2fb8 |= (1 << i);
+ field_0x36b4 = param_0->mCurrent.mPosition;
+ return;
+ }
+ }
+ } else {
+ for (int i = 0; i < 3; i++) {
+ if (param_1 == &field_0x850[i]) {
+ field_0x2fb8 &= ~(1 << i);
+ return;
+ }
+ }
+ }
}
-#pragma pop
/* 8009DB64-8009DC6C 0984A4 0108+00 1/1 0/0 0/0 .text
* coHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInf */
@@ -3782,15 +3580,28 @@ asm void daAlink_c::coHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1) {
/* 8009DC6C-8009DD90 0985AC 0124+00 5/5 0/0 0/0 .text
* setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setMatrixWorldAxisRot(f32 (*param_0)[4], s16 param_1, s16 param_2, s16 param_3,
+void daAlink_c::setMatrixWorldAxisRot(MtxP param_0, s16 param_1, s16 param_2, s16 param_3,
int param_4, cXyz const* param_5) {
- nofralloc
-#include "asm/d/a/d_a_alink/setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz.s"
+ cXyz tmp;
+ mDoMtx_multVecZero(param_0, &tmp);
+ if (param_5 != NULL) {
+ mDoMtx_stack_c::transS(*param_5);
+ } else {
+ mDoMtx_stack_c::transS(tmp);
+ }
+
+ concatMagneBootMtx();
+ mDoMtx_stack_c::YrotM(mCollisionRot.y);
+ mDoMtx_stack_c::ZXYrotM(param_1, param_2, param_3);
+ mDoMtx_stack_c::YrotM(-mCollisionRot.y);
+ concatMagneBootInvMtx();
+ mDoMtx_stack_c::transM(-tmp.x, -tmp.y, -tmp.z);
+ PSMTXConcat(*mDoMtx_stack_c::get(), param_0, *mDoMtx_stack_c::get());
+ PSMTXCopy(*mDoMtx_stack_c::get(), param_0);
+ if (param_4 != 0) {
+ PSMTXCopy(*mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
+ }
}
-#pragma pop
/* 8009DD90-8009E7B8 0986D0 0A28+00 2/2 0/0 0/0 .text jointControll__9daAlink_cFi */
#pragma push
@@ -3823,24 +3634,43 @@ asm void daAlink_c::changeBlendRate(int param_0) {
#pragma pop
/* 8009EB18-8009EB58 099458 0040+00 1/1 0/0 0/0 .text resetRootMtx__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::resetRootMtx() {
- nofralloc
-#include "asm/d/a/d_a_alink/resetRootMtx__9daAlink_cFv.s"
+void daAlink_c::resetRootMtx() {
+ PSMTXCopy(mRootMtx, J3DSys::mCurrentMtx);
+ field_0x2f90 = 0;
}
-#pragma pop
/* 8009EB58-8009EC28 099498 00D0+00 1/1 0/0 0/0 .text modelCallBack__9daAlink_cFi */
+#ifdef NONMATCHING
+bool daAlink_c::modelCallBack(int param_0) {
+ jointControll(param_0);
+ if (param_0 == 0) {
+ setUpperFront();
+ }
+ else if (param_0 == 0x1A) {
+ bool check = false;
+ if (mSpecialMode == 0 || mSpecialMode < 0x26) {
+ check = true;
+ }
+ if (!check) {
+ setFootMatrix();
+ }
+ setArmMatrix();
+ }
+ if (field_0x2fb6 != 0 && (param_0 == 0 || param_0 == 10 || param_0 - 4 < 1 || param_0 == 13 || param_0 == 15)) {
+ changeBlendRate(param_0);
+ }
+ return true;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::modelCallBack(int param_0) {
+asm bool daAlink_c::modelCallBack(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/modelCallBack__9daAlink_cFi.s"
}
#pragma pop
+#endif
/* 8009EC28-8009ECA0 099568 0078+00 1/1 0/0 0/0 .text daAlink_modelCallBack__FP8J3DJointi
*/
@@ -5089,13 +4919,11 @@ daAlinkHIO_frontRoll_c1 const daAlinkHIO_frontRoll_c0::m = {
};
/* 8038D82C-8038D864 019E8C 0038+00 5/5 0/0 0/0 .rodata m__22daAlinkHIO_backJump_c0 */
-SECTION_RODATA u8 const daAlinkHIO_backJump_c0::m[56] = {
- 0x00, 0x09, 0x00, 0x00, 0x3F, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
- 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xC0,
- 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
+daAlinkHIO_backJump_c1 const daAlinkHIO_backJump_c0::m = {
+ { 9, 0.7f, 0.0f, 2.0f, 12.0f },
+ { 17, 1.0f, 2.0f, 2.0f, 3.0f },
+ 24.0f, 10.0f, 100.0f, 10.0f,
};
-COMPILER_STRIP_GATE(0x8038D82C, &daAlinkHIO_backJump_c0::m);
/* 8038D864-8038D8CC 019EC4 0068+00 3/3 0/0 0/0 .rodata m__22daAlinkHIO_sideStep_c0 */
daAlinkHIO_sideStep_c1 const daAlinkHIO_sideStep_c0::m = {
@@ -5370,17 +5198,13 @@ SECTION_RODATA u8 const daAlinkHIO_cutHead_c0::m[96] = {
COMPILER_STRIP_GATE(0x8038DDB8, &daAlinkHIO_cutHead_c0::m);
/* 8038DE18-8038DE8C 01A478 0074+00 5/5 0/0 0/0 .rodata m__26daAlinkHIO_cutLargeJump_c0 */
-SECTION_RODATA u8 const daAlinkHIO_cutLargeJump_c0::m[116] = {
- 0x00, 0x1D, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0xF0, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x3F,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x41, 0x88, 0x00, 0x00,
- 0x00, 0x23, 0x00, 0x00, 0x3F, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x41, 0xB0, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0x04, 0x00, 0x00, 0x40, 0x00,
- 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00, 0x41, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
- 0x20, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038DE18, &daAlinkHIO_cutLargeJump_c0::m);
+daAlinkHIO_cutLargeJump_c1 const daAlinkHIO_cutLargeJump_c0::m = {
+ { 29, 1.3f, 0.0f, 3.0f, 30.0f },
+ { 6, 1.0f, 0.0f, 3.0f, 7.0f },
+ { 16, 1.0f, 0.0f, 2.0f, 17.0f },
+ { 35, 1.25f, 0.0f, 0.0f, 22.0f },
+ 20.0f, 33.0f, 2.0f, 6.0f, 13.0f, 0.0f, 10.0f, 250.0f, 5.0f
+};
/* 8038DE8C-8038DF28 01A4EC 009C+00 21/30 0/0 0/0 .rodata m__17daAlinkHIO_cut_c0 */
daAlinkHIO_cut_c1 const daAlinkHIO_cut_c0::m = {
@@ -5623,16 +5447,13 @@ SECTION_RODATA u8 const daAlinkHIO_damage_c0::m[88] = {
COMPILER_STRIP_GATE(0x8038E54C, &daAlinkHIO_damage_c0::m);
/* 8038E5A4-8038E610 01AC04 006C+00 7/8 0/0 0/0 .rodata m__19daAlinkHIO_horse_c0 */
-SECTION_RODATA u8 const daAlinkHIO_horse_c0::m[108] = {
- 0x00, 0x12, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
- 0x41, 0x98, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x3F, 0xB9, 0x99, 0x9A,
- 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00,
- 0x3F, 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x00,
- 0x00, 0x64, 0x7F, 0xFF, 0x00, 0x1E, 0x00, 0x19, 0x15, 0x7C, 0xCD, 0x38, 0x3F, 0x99, 0x99, 0x9A,
- 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
+daAlinkHIO_horse_c1 const daAlinkHIO_horse_c0::m = {
+ { 18, 1.2f, 0.0f, 5.0f, 19.0f },
+ { 22, 1.2f, 0.0f, 3.0f, 23.0f },
+ { 43, 1.45f, 3.0f, 3.0f, 44.0f },
+ { 18, 1.2f, 0.0f, 3.0f, 23.0f },
+ 100, 32767, 30, 25, 5500, -13000, 1.2f, 8.0f, 8.0f, 5.0f,
};
-COMPILER_STRIP_GATE(0x8038E5A4, &daAlinkHIO_horse_c0::m);
/* 800A07D8-800A0868 09B118 0090+00 2/2 0/0 0/0 .text checkAttentionPosAngle__9daAlink_cFP4cXyz */
#pragma push
@@ -5678,26 +5499,18 @@ SECTION_RODATA u8 const daAlinkHIO_canoe_c0::m[72] = {
COMPILER_STRIP_GATE(0x8038E610, &daAlinkHIO_canoe_c0::m);
/* 8038E658-8038E6C8 01ACB8 0070+00 9/9 0/0 0/0 .rodata m__17daAlinkHIO_bow_c0 */
-SECTION_RODATA u8 const daAlinkHIO_bow_c0::m[112] = {
- 0x00, 0x09, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x40, 0xA0, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x46, 0x00, 0x00,
- 0x40, 0xA0, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x45, 0x9C, 0x40, 0x00, 0x44, 0x48, 0x00, 0x00,
- 0x46, 0x0C, 0xA0, 0x00, 0x42, 0x48, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00,
- 0x43, 0x66, 0x00, 0x00, 0x45, 0x5A, 0xC0, 0x00, 0x44, 0x16, 0x00, 0x00, 0x46, 0x0C, 0xA0, 0x00,
- 0x44, 0x7A, 0x00, 0x00, 0x45, 0x7A, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00,
+daAlinkHIO_bow_c1 const daAlinkHIO_bow_c0::m = {
+ { 9, 1.0f, 0.0f, 3.0f, 5.0f },
+ { 6, 1.0f, 0.0f, 3.0f, 7.0f },
+ 10, 30, 70, 5.0f, 300.0f, 5000.0f, 800.0f, 9000.0f, 50.0f, 200.0f, 3000.0f, 230.0f, 3500.0f, 600.0f, 9000.0f, 1000.0f, 4000.0f, 250.0f, 800.0f,
};
-COMPILER_STRIP_GATE(0x8038E658, &daAlinkHIO_bow_c0::m);
/* 8038E6C8-8038E714 01AD28 004C+00 22/23 0/0 0/0 .rodata m__18daAlinkHIO_boom_c0 */
-SECTION_RODATA u8 const daAlinkHIO_boom_c0::m[76] = {
- 0x00, 0x15, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x40, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x41, 0xB0, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00,
- 0x45, 0x3B, 0x80, 0x00, 0x45, 0x3B, 0x80, 0x00, 0x42, 0x20, 0x00, 0x00,
+daAlinkHIO_boom_c1 const daAlinkHIO_boom_c0::m = {
+ { 21, 0.9f, 3.0f, 2.0f, 22.0f },
+ { 25, 1.0f, 3.0f, 1.0f, 10.0f },
+ 40, 0, 1.0f, 3.0f, 60.0f, 60.0f, 2000.0f, 3000.0f, 3000.0f, 40.0f,
};
-COMPILER_STRIP_GATE(0x8038E6C8, &daAlinkHIO_boom_c0::m);
/* 8038E714-8038E760 01AD74 004C+00 14/14 0/0 0/0 .rodata m__18daAlinkHIO_bomb_c0 */
daAlinkHIO_bomb_c1 const daAlinkHIO_bomb_c0::m = {
@@ -5748,57 +5561,40 @@ SECTION_RODATA u8 const daAlinkHIO_pickUp_c0::m[48] = {
COMPILER_STRIP_GATE(0x8038E840, &daAlinkHIO_pickUp_c0::m);
/* 8038E870-8038E90C 01AED0 009C+00 16/17 0/0 0/0 .rodata m__19daAlinkHIO_board_c0 */
-SECTION_RODATA u8 const daAlinkHIO_board_c0::m[156] = {
- 0x00, 0x09, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x3F, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0x00, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x3F, 0xCC, 0xCC, 0xCD,
- 0x40, 0xA0, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
- 0x3F, 0x4C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00,
- 0x42, 0x8C, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x41, 0xB0, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x42, 0x5C, 0x00, 0x00,
- 0x40, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00,
- 0x41, 0xC0, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038E870, &daAlinkHIO_board_c0::m);
+daAlinkHIO_board_c1 const daAlinkHIO_board_c0::m = {
+ { 9, 2.5f, 0.0f, 3.0f, 10.0f },
+ { 14, 0.7f, 0.0f, 8.0f, 15.0f },
+ { 24, 1.6f, 5.0f, 5.0f, 25.0f },
+ { 24, 0.8f, 0.0f, 3.0f, 25.0f },
+ 70.0f, 4.0f, 22.0f, 35.0f, 1.0f, 4.0f, 1.0f, 3.0f, 2.0f, 30.0f, 0.9f, 55.0f, 4.0f, 3.0f, 1.0f, 20.0f, 24.0f, 35.0f, 50.0f,
+};
/* 8038E90C-8038E9C0 01AF6C 00B4+00 12/12 0/0 0/0 .rodata m__20daAlinkHIO_bottle_c0 */
-SECTION_RODATA u8 const daAlinkHIO_bottle_c0::m[180] = {
- 0x00, 0x38, 0x00, 0x00, 0x3F, 0x93, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x42, 0x64, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x3F,
- 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
- 0x00, 0x36, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x3F,
- 0x19, 0x99, 0x9A, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x00, 0x2F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x42, 0x40, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0xAE, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x3F,
- 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038E90C, &daAlinkHIO_bottle_c0::m);
+daAlinkHIO_bottle_c1 const daAlinkHIO_bottle_c0::m = {
+ { 56, 1.15f, 0.0f, 3.0f, 57.0f },
+ { 39, 1.2f, 0.0f, 3.0f, 40.0f },
+ { 44, 1.2f, 0.0f, 3.0f, 50.0f },
+ { 54, 1.1f, 0.0f, 3.0f, 55.0f },
+ { 24, 1.0f, 0.0f, 3.0f, 25.0f },
+ { 12, 0.6f, 1.0f, 3.0f, 10.0f },
+ { 47, 1.0f, 0.0f, 3.0f, 48.0f },
+ { 86, 1.0f, 0.0f, 3.0f, 87.0f },
+ { 29, 1.2f, 0.0f, 3.0f, 30.0f },
+};
/* 8038E9C0-8038EA30 01B020 0070+00 15/16 0/0 0/0 .rodata m__22daAlinkHIO_hookshot_c0 */
-SECTION_RODATA u8 const daAlinkHIO_hookshot_c0::m[112] = {
- 0x00, 0x0C, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0x50, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x41, 0x30, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0x43, 0x16, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x41, 0x50, 0x00, 0x00,
- 0x45, 0x3B, 0x80, 0x00, 0x43, 0x16, 0x00, 0x00, 0x43, 0x61, 0x00, 0x00, 0x42, 0xB4, 0x00, 0x00,
+daAlinkHIO_hookshot_c1 const daAlinkHIO_hookshot_c0::m = {
+ { 12, 1.0f, 0.0f, 0.0f, 13.0f },
+ { 39, 1.0f, 0.0f, 1.0f, 11.0f },
+ { 28, 1.0f, 0.0f, 2.0f, 7.0f },
+ 0.0f, 1.0f, 3.0f, 2000.0f, 100.0f, 150.0f, 60.0f, 5.0f, 13.0f, 3000.0f, 150.0f, 225.0f, 90.0f,
};
-COMPILER_STRIP_GATE(0x8038E9C0, &daAlinkHIO_hookshot_c0::m);
/* 8038EA30-8038EA70 01B090 0040+00 10/10 0/0 0/0 .rodata m__21daAlinkHIO_spinner_c0 */
-SECTION_RODATA u8 const daAlinkHIO_spinner_c0::m[64] = {
- 0x00, 0x15, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0x50, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x0F, 0x01, 0x68, 0x01, 0x68, 0x00, 0x96, 0x00, 0x00,
- 0xC0, 0x6C, 0xCC, 0xCD, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x41, 0xD0, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x3D, 0xCC, 0xCC, 0xCD, 0x3C, 0x23, 0xD7, 0x0A, 0x42, 0x70, 0x00, 0x00,
+daAlinkHIO_spinner_c1 const daAlinkHIO_spinner_c0::m = {
+ { 21, 0.8f, 0.0f, 3.0f, 13.0f },
+ 30, 15, 360, 360, 150, -3.7f, -50.0f, 0.9f, 26.0f, 0.5f, 0.1f, 0.01f, 60.0f,
};
-COMPILER_STRIP_GATE(0x8038EA30, &daAlinkHIO_spinner_c0::m);
/* 8038EA70-8038EAFC 01B0D0 008C+00 10/12 0/0 0/0 .rodata m__22daAlinkHIO_ironBall_c0 */
SECTION_RODATA u8 const daAlinkHIO_ironBall_c0::m[140] = {
@@ -5815,44 +5611,32 @@ SECTION_RODATA u8 const daAlinkHIO_ironBall_c0::m[140] = {
COMPILER_STRIP_GATE(0x8038EA70, &daAlinkHIO_ironBall_c0::m);
/* 8038EAFC-8038EB34 01B15C 0038+00 4/4 0/0 0/0 .rodata m__21daAlinkHIO_copyRod_c0 */
-SECTION_RODATA u8 const daAlinkHIO_copyRod_c0::m[56] = {
- 0x00, 0x13, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40,
- 0x00, 0x00, 0x41, 0x60, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x42, 0xA0,
- 0x00, 0x00, 0x44, 0xBB, 0x80, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00,
+daAlinkHIO_copyRod_c1 const daAlinkHIO_copyRod_c0::m = {
+ 19, 1.0f, 0.0f, 3.0f, 14.0f, 39, 1.0f, 0.0f, 3.0f, 30.0f, 80.0f, 1500.0f, 100.0f, 2000.0f,
};
-COMPILER_STRIP_GATE(0x8038EAFC, &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
-SECTION_RODATA u8 const daAlinkHIO_zwLight_c0::m[28] = {
- 0x03, 0x03, 0x00, 0x00, 0x00, 0xB6, 0x00, 0xE1, 0x00, 0xF3, 0xFF, 0xA9, 0x3F, 0x80,
- 0x00, 0x00, 0x42, 0x8D, 0x81, 0x00, 0x43, 0x03, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00,
+daAlinkHIO_zwLight_c1 const daAlinkHIO_zwLight_c0::m = {
+ 771, 0, 182, 225, 243, -87, 1.0f, 70.75195f, 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 */
-SECTION_RODATA u8 const daAlinkHIO_item_c0::m[60] = {
- 0x00, 0x0C, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0x50, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x0F, 0x27, 0x10, 0xCD,
- 0x38, 0x17, 0x70, 0xDC, 0xD8, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, 0x3F, 0xA6, 0x66, 0x66,
+daAlinkHIO_item_c1 const daAlinkHIO_item_c0::m = {
+ { 12, 1.0f, 0.0f, 3.0f, 13.0f },
+ { 14, 1.0f, 0.0f, 3.0f, 15.0f },
+ 15, 10000, -13000, 6000, -9000, 1.3f, 1.3f
};
-COMPILER_STRIP_GATE(0x8038EB50, &daAlinkHIO_item_c0::m);
/* 8038EB8C-8038EBFC 01B1EC 0070+00 14/14 0/0 0/0 .rodata m__20daAlinkHIO_ladder_c0 */
-SECTION_RODATA u8 const daAlinkHIO_ladder_c0::m[112] = {
- 0x00, 0x0D, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x3F, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x42, 0x40, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0xA0, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
- 0x3F, 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xCC, 0xCC, 0xCD, 0x3F, 0x66, 0x66, 0x66,
- 0x40, 0x00, 0x00, 0x00, 0x41, 0x90, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD,
- 0x3F, 0x93, 0x33, 0x33, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0xAC, 0xCC, 0xCD, 0x42, 0xA0, 0x00, 0x00,
+daAlinkHIO_ladder_c1 const daAlinkHIO_ladder_c0::m = {
+ { 13, 0.8f, 2.0f, 3.0f, 10.0f },
+ { 47, 1.25f, 0.0f, 2.0f, 48.0f },
+ 0.8f, 5.0f, 1.0f, 0.0f, 1.0f, 5.0f, 1.2f, 0.0f, 0.4f, 0.9f, 2.0f, 18.0f, 40.0f, 0.8f, 1.15f, 0.9f, 1.35f, 80.0f,
};
-COMPILER_STRIP_GATE(0x8038EB8C, &daAlinkHIO_ladder_c0::m);
/* 8038EBFC-8038EC48 01B25C 004C+00 11/11 0/0 0/0 .rodata m__22daAlinkHIO_roofHang_c0 */
SECTION_RODATA u8 const daAlinkHIO_roofHang_c0::m[76] = {
@@ -5885,97 +5669,57 @@ SECTION_RODATA u8 const daAlinkHIO_grab_c0::m[228] = {
COMPILER_STRIP_GATE(0x8038EC48, &daAlinkHIO_grab_c0::m);
/* 8038ED2C-8038EE28 01B38C 00FC+00 21/30 0/0 0/0 .rodata m__18daAlinkHIO_swim_c0 */
-SECTION_RODATA u8 const daAlinkHIO_swim_c0::m[252] = {
- 0x00, 0x19, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0xBF, 0x80, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0xC0, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x41, 0xC0, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x42, 0x18, 0x00, 0x00,
- 0x00, 0x0F, 0x03, 0x20, 0x13, 0x88, 0x00, 0x0F, 0x00, 0xC8, 0x13, 0x88, 0x00, 0x5A, 0x00, 0x32,
- 0x43, 0x0C, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
- 0x40, 0xC0, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00, 0x3E, 0x4C, 0xCC, 0xCD,
- 0x3F, 0x4C, 0xCC, 0xCD, 0x41, 0x70, 0x00, 0x00, 0x40, 0x60, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, 0x3F, 0x00, 0x00, 0x00,
- 0x3F, 0xA6, 0x66, 0x66, 0x3E, 0xCC, 0xCC, 0xCD, 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x70, 0x00, 0x00,
- 0x42, 0x16, 0x00, 0x00, 0xC2, 0x16, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0xC0, 0x80, 0x00, 0x00,
- 0xC1, 0xA0, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x3F, 0x66, 0x66, 0x66, 0xBF, 0x33, 0x33, 0x33, 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x50, 0x00, 0x00,
- 0x3E, 0x99, 0x99, 0x9A, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66,
-};
-COMPILER_STRIP_GATE(0x8038ED2C, &daAlinkHIO_swim_c0::m);
+daAlinkHIO_swim_c1 const daAlinkHIO_swim_c0::m = {
+ { 25, 1.0f, 0.0f, 3.0f, -1.0f },
+ { 23, 1.0f, 0.0f, 3.0f, 24.0f },
+ { 12, 2.0f, 0.0f, 10.0f, 24.0f },
+ { 37, 1.0f, 3.0f, 5.0f, 38.0f },
+ 15, 800, 5000, 15, 200, 5000, 90, 50, 140.0f, 50.0f, 8.0f, 8.0f, 6.0f, 12.0f, 8.0f, 5.0f, 0.5f, -7.0f, 6.0f, 0.2f, 0.8f, 15.0f, 3.5f, 0.5f, 1.0f, 0.5f, 1.3f, 0.5f, 1.3f, 0.4f, 0.6f, 15.0f, 37.5f, -37.5f, 3.0f, -4.0f, -20.0f, 250.0f, 0.0f, 10.0f, 0.9f, -0.7f, 0.6f, 13.0f, 0.3f, 0.5f, 1.3f,
+};
/* 8038EE28-8038EF28 01B488 0100+00 32/41 0/0 0/0 .rodata m__20daAlinkHIO_wlMove_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlMove_c0::m[256] = {
- 0x00, 0x0E, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0x70, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00,
- 0x23, 0x28, 0x00, 0x64, 0x00, 0x05, 0x00, 0x5A, 0x00, 0x32, 0x00, 0x3C, 0x00, 0x32, 0x00, 0x2D,
- 0x00, 0x32, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x3F, 0xCC, 0xCC, 0xCD, 0x3F, 0x8C, 0xCC, 0xCD, 0x40, 0x0C, 0xCC, 0xCD, 0x3F, 0x99, 0x99, 0x9A,
- 0x3F, 0xA6, 0x66, 0x66, 0x3D, 0xCC, 0xCC, 0xCD, 0x3E, 0xCC, 0xCC, 0xCD, 0x3E, 0xCC, 0xCC, 0xCD,
- 0x3F, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x3E, 0x99, 0x99, 0x9A,
- 0x3F, 0x59, 0x99, 0x9A, 0x3F, 0x66, 0x66, 0x66, 0x40, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00,
- 0x40, 0xA0, 0x00, 0x00, 0x41, 0xB0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
- 0x42, 0xC8, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66,
- 0x40, 0xC0, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00,
- 0x42, 0x04, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0xC8, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x3F, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038EE28, &daAlinkHIO_wlMove_c0::m);
+daAlinkHIO_wlMove_c1 const daAlinkHIO_wlMove_c0::m = {
+ { 14, 1.0f, 0.0f, 3.0f, 15.0f },
+ { 14, 1.0f, 0.0f, 3.0f, 12.0f },
+ { 8, 1.0f, 0.0f, 1.0f, 20.0f },
+ { 41, 1.0f, 0.0f, 3.0f, 20.0f },
+ 9000, 100, 5, 90, 50, 60, 50, 45, 50, 40.0f, 4.0f, 3.0f, 1.6f, 1.1f, 2.2f, 1.2f, 1.3f, 0.1f, 0.4f, 0.4f, 0.5f, 5.0f, 5.0f, 0.3f, 0.85f, 0.9f, 2.5f, 40.0f, 5.0f, 22.0f, 1.0f, 5.0f, 100.0f, 10.0f, 45.0f, 1.3f, 6.0f, 65.0f, 20.0f, 15.0f, 33.0f, 35.0f, 1.2f, 3.0f, 25.0f, 35.0f, 1.1f, 0.5f,
+};
/* 8038EF28-8038EF70 01B588 0048+00 19/27 0/0 0/0 .rodata m__23daAlinkHIO_wlMoveNoP_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlMoveNoP_c0::m[72] = {
- 0x23, 0x28, 0x00, 0x64, 0x00, 0x05, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x3F, 0xE6, 0x66, 0x66, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0x0C,
- 0xCC, 0xCD, 0x3F, 0x8C, 0xCC, 0xCD, 0x3D, 0xCC, 0xCC, 0xCD, 0x3F, 0x19, 0x99, 0x9A, 0x3F,
- 0x19, 0x99, 0x9A, 0x40, 0xA0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x59, 0x99, 0x9A,
- 0x3F, 0x66, 0x66, 0x66, 0x40, 0x20, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00,
+daAlinkHIO_wlMoveNoP_c1 const daAlinkHIO_wlMoveNoP_c0::m = {
+ 9000, 100, 5, 25.0f, 3.0f, 1.8f, 1.0f, 0.8f, 2.2f, 1.1f, 0.1f, 0.6f, 0.6f, 5.0f, 0.5f, 0.85f, 0.9f, 2.5f, 30.0f,
};
-COMPILER_STRIP_GATE(0x8038EF28, &daAlinkHIO_wlMoveNoP_c0::m);
/* 8038EF70-8038EFA8 01B5D0 0038+00 3/6 0/0 0/0 .rodata m__23daAlinkHIO_wlAtnMove_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlAtnMove_c0::m[56] = {
- 0x23, 0x28, 0x00, 0x64, 0x00, 0x03, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x3F, 0xE6,
- 0x66, 0x66, 0x3E, 0x4C, 0xCC, 0xCD, 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x90, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3F, 0xD9, 0x99, 0x9A, 0x3E, 0xCC,
- 0xCC, 0xCD, 0x41, 0x40, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+daAlinkHIO_wlAtnMove_c1 const daAlinkHIO_wlAtnMove_c0::m = {
+ 9000, 100, 3, 0.8f, 1.8f, 0.2f, 0.6f, 18.0f, 2.0f, 2.0f, 1.7f, 0.4f, 12.0f, 3.0f, 2.0f,
};
-COMPILER_STRIP_GATE(0x8038EF70, &daAlinkHIO_wlAtnMove_c0::m);
/* 8038EFA8-8038F010 01B608 0068+00 3/3 0/0 0/0 .rodata m__24daAlinkHIO_wlSideStep_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlSideStep_c0::m[104] = {
- 0x00, 0x05, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80,
- 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x3F,
- 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
- 0x00, 0x17, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00,
- 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x04, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x00, 0x41, 0xF0,
- 0x00, 0x00, 0x41, 0xB0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
+daAlinkHIO_wlSideStep_c1 const daAlinkHIO_wlSideStep_c0::m = {
+ { 5, 1.0f, 0.0f, 3.0f, 6.0f },
+ { 23, 1.0f, 1.0f, 2.0f, 2.0f },
+ { 4, 0.9f, 0.0f, 3.0f, 5.0f },
+ { 23, 1.0f, 1.0f, 2.0f, 3.0f },
+ 33.0f, 23.0f, 30.0f, 22.0f, 100.0f, 10.0f,
};
-COMPILER_STRIP_GATE(0x8038EFA8, &daAlinkHIO_wlSideStep_c0::m);
/* 8038F010-8038F048 01B670 0038+00 3/4 0/0 0/0 .rodata m__24daAlinkHIO_wlBackJump_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlBackJump_c0::m[56] = {
- 0x00, 0x0B, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
- 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x41, 0xF0,
- 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
+daAlinkHIO_wlBackJump_c1 const daAlinkHIO_wlBackJump_c0::m = {
+ { 11, 0.8f, 0.0f, 2.0f, 12.0f },
+ { 28, 1.0f, 0.0f, 3.0f, 1.0f },
+ 30.0f, 20.0f, 100.0f, 10.0f,
};
-COMPILER_STRIP_GATE(0x8038F010, &daAlinkHIO_wlBackJump_c0::m);
/* 8038F048-8038F0A8 01B6A8 0060+00 2/2 0/0 0/0 .rodata m__20daAlinkHIO_wlHowl_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlHowl_c0::m[96] = {
- 0x00, 0x31, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x42, 0x20, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x42, 0x90, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66,
- 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
- 0x3F, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x90, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x3F, 0xD9, 0x99, 0x9A, 0x3F, 0x33, 0x33, 0x33,
+daAlinkHIO_wlHowl_c1 const daAlinkHIO_wlHowl_c0::m = {
+ { 49, 1.0f, 0.0f, 3.0f, 40.0f },
+ { 71, 1.0f, 0.0f, 3.0f, 72.0f },
+ { 14, 1.3f, 1.0f, 3.0f, 11.0f },
+ { 17, 0.9f, 0.0f, 3.0f, 18.0f },
+ 3.0f, 8.0f, 1.7f, 0.7f,
};
-COMPILER_STRIP_GATE(0x8038F048, &daAlinkHIO_wlHowl_c0::m);
/* 8038F0A8-8038F124 01B708 007C+00 8/13 0/0 0/0 .rodata m__24daAlinkHIO_wlAutoJump_c0 */
daAlinkHIO_wlAutoJump_c1 const daAlinkHIO_wlAutoJump_c0::m = {{3, 1.2f, 1.0f, 2.0f, 4.0f},
@@ -6001,181 +5745,138 @@ daAlinkHIO_wlAutoJump_c1 const daAlinkHIO_wlAutoJump_c0::m = {{3, 1.2f, 1.0f, 2.
100.0f};
/* 8038F124-8038F138 01B784 0014+00 4/4 0/0 0/0 .rodata m__20daAlinkHIO_wlPush_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlPush_c0::m[20] = {
- 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x80,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00,
+daAlinkHIO_wlPush_c1 const daAlinkHIO_wlPush_c0::m = {
+ 1.0f, 3.0f, 1.0f, 3.0f, 0.75f,
};
-COMPILER_STRIP_GATE(0x8038F124, &daAlinkHIO_wlPush_c0::m);
/* 8038F138-8038F184 01B798 004C+00 13/15 0/0 0/0 .rodata m__19daAlinkHIO_wlLie_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlLie_c0::m[76] = {
- 0x00, 0x0E, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0xF4, 0x00, 0x32, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x3F, 0xD9, 0x99, 0x9A, 0x3F, 0x33, 0x33, 0x33,
- 0x40, 0xA0, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0x40, 0x00, 0x00,
+daAlinkHIO_wlLie_c1 const daAlinkHIO_wlLie_c0::m = {
+ { 14, 1.5f, 0.0f, 3.0f, 10.0f },
+ { 11, 1.5f, 3.0f, 3.0f, 8.0f },
+ 5, 500, 50, 3.0f, 8.0f, 1.7f, 0.7f, 5.0f, 0.8f, 3.0f,
};
-COMPILER_STRIP_GATE(0x8038F138, &daAlinkHIO_wlLie_c0::m);
/* 8038F184-8038F1A0 01B7E4 001C+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_wlLight_c0 */
#pragma push
#pragma force_active on
-SECTION_RODATA u8 const daAlinkHIO_wlLight_c0::m[28] = {
- 0x02, 0x03, 0x00, 0x00, 0x00, 0x78, 0x00, 0x78, 0x00, 0x78, 0xFF, 0xE2, 0x40, 0x40,
- 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xC4, 0x1F, 0x80, 0x00,
+daAlinkHIO_wlLight_c1 const daAlinkHIO_wlLight_c0::m = {
+ 515, 0, 120, 120, 120, -30, 3.0f, 20.0f, 512.0f, -638.0f,
};
-COMPILER_STRIP_GATE(0x8038F184, &daAlinkHIO_wlLight_c0::m);
#pragma pop
/* 8038F1A0-8038F23C 01B800 009C+00 9/11 0/0 0/0 .rodata m__24daAlinkHIO_wlWallHang_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlWallHang_c0::m[156] = {
- 0x00, 0x0D, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0x41, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x41, 0x60, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0xF8, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00,
- 0x00, 0x06, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x40, 0xE0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0x43, 0x48, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x41, 0x88, 0x00, 0x00,
- 0x41, 0x70, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038F1A0, &daAlinkHIO_wlWallHang_c0::m);
+daAlinkHIO_wlWallHang_c1 const daAlinkHIO_wlWallHang_c0::m = {
+ { 13, 1.2f, 8.0f, 2.0f, 14.0f },
+ { 39, 1.1f, 0.0f, 3.0f, 31.0f },
+ { 39, 1.0f, 0.0f, 5.0f, 40.0f },
+ { 5, 1.0f, 0.0f, 3.0f, 6.0f },
+ { 6, 1.0f, 0.0f, 3.0f, 7.0f },
+ { 16, 1.0f, 0.0f, 3.0f, 10.0f },
+ 50.0f, 100.0f, 200.0f, 250.0f, 100.0f, 17.0f, 15.0f, 10.0f, 10.0f,
+};
/* 8038F23C-8038F29C 01B89C 0060+00 2/3 0/0 0/0 .rodata m__25daAlinkHIO_wlDamNormal_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlDamNormal_c0::m[96] = {
- 0x00, 0x09, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0x3C, 0x23, 0xD7, 0x0A, 0x3F, 0x80, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00,
+daAlinkHIO_wlDamNormal_c1 const daAlinkHIO_wlDamNormal_c0::m = {
+ { 9, 1.0f, 0.0f, 0.0f, 8.0f },
+ { 9, 1.0f, 0.0f, 0.0f, 8.0f },
+ { 9, 1.0f, 0.0f, 0.0f, 8.0f },
+ { 9, 1.0f, 0.0f, 0.0f, 8.0f },
+ 10.0f, 0.01f, 1.0f, 0.25f,
};
-COMPILER_STRIP_GATE(0x8038F23C, &daAlinkHIO_wlDamNormal_c0::m);
/* 8038F29C-8038F308 01B8FC 006C+00 2/4 0/0 0/0 .rodata m__24daAlinkHIO_wlDamLarge_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlDamLarge_c0::m[108] = {
- 0x00, 0x31, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x42, 0x20, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00,
- 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00,
- 0x05, 0x14, 0x00, 0x00, 0xC0, 0xA6, 0x66, 0x66, 0x40, 0x40, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x41, 0x70, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
+daAlinkHIO_wlDamLarge_c1 const daAlinkHIO_wlDamLarge_c0::m = {
+ { 49, 1.0f, 0.0f, 3.0f, 40.0f },
+ { 39, 1.0f, 0.0f, 3.0f, 35.0f },
+ { 34, 1.1f, 0.0f, 3.0f, 32.0f },
+ { 34, 1.1f, 0.0f, 3.0f, 32.0f },
+ 1300, -5.2f, 3.0f, 10.0f, 15.0f, 15.0f, 0.5f,
};
-COMPILER_STRIP_GATE(0x8038F29C, &daAlinkHIO_wlDamLarge_c0::m);
/* 8038F308-8038F374 01B968 006C+00 0/2 0/0 0/0 .rodata m__23daAlinkHIO_wlDamHuge_c0 */
#pragma push
#pragma force_active on
-SECTION_RODATA u8 const daAlinkHIO_wlDamHuge_c0::m[108] = {
- 0x00, 0x31, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x42, 0x20, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00,
- 0x3F, 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00,
- 0x07, 0xD0, 0x00, 0x00, 0xC0, 0xF0, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0xAA, 0x00, 0x00,
- 0x42, 0x34, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
+daAlinkHIO_wlDamHuge_c1 const daAlinkHIO_wlDamHuge_c0::m = {
+ { 49, 1.1f, 0.0f, 3.0f, 40.0f },
+ { 39, 1.1f, 0.0f, 3.0f, 35.0f },
+ { 34, 1.2f, 0.0f, 3.0f, 30.0f },
+ { 34, 1.2f, 0.0f, 3.0f, 30.0f },
+ 2000, -7.5f, 3.0f, 85.0f, 45.0f, 15.0f, 0.5f,
};
-COMPILER_STRIP_GATE(0x8038F308, &daAlinkHIO_wlDamHuge_c0::m);
#pragma pop
/* 8038F374-8038F3B4 01B9D4 0040+00 6/6 0/0 0/0 .rodata m__23daAlinkHIO_wlDamFall_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlDamFall_c0::m[64] = {
- 0x00, 0x0B, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0x40, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x23, 0x42, 0x20, 0x00, 0x00,
- 0x42, 0x70, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00,
+daAlinkHIO_wlDamFall_c1 const daAlinkHIO_wlDamFall_c0::m = {
+ { 11, 1.0f, 0.0f, 3.0f, 12.0f },
+ { 17, 0.8f, 0.0f, 0.0f, 12.0f },
+ 15, 35, 40.0f, 60.0f, 3.0f, 1.0f, 15.0f,
};
-COMPILER_STRIP_GATE(0x8038F374, &daAlinkHIO_wlDamFall_c0::m);
/* 8038F3B4-8038F3C4 01BA14 0010+00 1/1 0/0 0/0 .rodata m__25daAlinkHIO_wlDamCaught_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlDamCaught_c0::m[16] = {
- 0x01, 0x2C, 0x00, 0x05, 0x3F, 0x99, 0x99, 0x9A, 0x40, 0x40, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00,
+daAlinkHIO_wlDamCaught_c1 const daAlinkHIO_wlDamCaught_c0::m = {
+ 300, 5, 1.2f, 3.0f, 1.5f,
};
-COMPILER_STRIP_GATE(0x8038F3B4, &daAlinkHIO_wlDamCaught_c0::m);
/* 8038F3C4-8038F3F0 01BA24 002C+00 3/4 0/0 0/0 .rodata m__22daAlinkHIO_wlDamage_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlDamage_c0::m[44] = {
- 0x00, 0x09, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xE0, 0x00, 0x00, 0x3F, 0x33, 0x33, 0x33,
+daAlinkHIO_wlDamage_c1 const daAlinkHIO_wlDamage_c0::m = {
+ { 9, 1.1f, 0.0f, 3.0f, 10.0f },
+ { 9, 1.1f, 0.0f, 3.0f, 7.0f },
+ 0.7f,
};
-COMPILER_STRIP_GATE(0x8038F3C4, &daAlinkHIO_wlDamage_c0::m);
/* 8038F3F0-8038F46C 01BA50 007C+00 10/14 0/0 0/0 .rodata m__21daAlinkHIO_wlSlide_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlSlide_c0::m[124] = {
- 0x00, 0x14, 0x00, 0x00, 0x3F, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0xD8, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x40, 0x42, 0x0C, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
- 0x42, 0x0C, 0x00, 0x00, 0x40, 0x26, 0x66, 0x66, 0x41, 0x90, 0x00, 0x00, 0x40, 0x06, 0x66, 0x66,
- 0x41, 0x20, 0x00, 0x00, 0x3F, 0x33, 0x33, 0x33, 0x41, 0xF0, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038F3F0, &daAlinkHIO_wlSlide_c0::m);
+daAlinkHIO_wlSlide_c1 const daAlinkHIO_wlSlide_c0::m = {
+ { 20, 1.25f, 0.0f, 3.0f, 25.0f },
+ { 7, 1.0f, 0.0f, 3.0f, 8.0f },
+ { 14, 1.0f, 0.0f, 3.0f, 15.0f },
+ { 29, 1.0f, 0.0f, 3.0f, 27.0f },
+ 512, 64, 35.0f, 3.0f, 50.0f, 35.0f, 2.6f, 18.0f, 2.1f, 10.0f, 0.7f, 30.0f,
+};
/* 8038F46C-8038F4A4 01BACC 0038+00 7/7 0/0 0/0 .rodata m__20daAlinkHIO_wlRope_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlRope_c0::m[56] = {
- 0x00, 0x10, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40,
- 0x00, 0x00, 0x41, 0x88, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x1E, 0x3F, 0x00, 0x00, 0x00,
- 0x3F, 0x99, 0x99, 0x9A, 0x40, 0x40, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x3F, 0x80,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD,
+daAlinkHIO_wlRope_c1 const daAlinkHIO_wlRope_c0::m = {
+ { 16, 1.0f, 0.0f, 3.0f, 17.0f },
+ 90, 30, 0.5f, 1.2f, 3.0f, 15.0f, 1.0f, 3.0f, 3.0f, 0.8f,
};
-COMPILER_STRIP_GATE(0x8038F46C, &daAlinkHIO_wlRope_c0::m);
/* 8038F4A4-8038F4E0 01BB04 003C+00 0/1 0/0 0/0 .rodata m__22daAlinkHIO_wlAtWaLr_c0 */
#pragma push
#pragma force_active on
-SECTION_RODATA u8 const daAlinkHIO_wlAtWaLr_c0::m[60] = {
- 0x00, 0x29, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x40, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20,
- 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x41, 0x30, 0x00, 0x00, 0x41, 0x90, 0x00, 0x00, 0x40,
- 0xA0, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00,
+daAlinkHIO_wlAtWaLr_c1 const daAlinkHIO_wlAtWaLr_c0::m = {
+ { 41, 0.9f, 4.0f, 3.0f, 16.0f },
+ 5, 3, 0.0f, 10.0f, 4.0f, 11.0f, 18.0f, 5.0f, 70.0f, 70.0f, 150.0f,
};
-COMPILER_STRIP_GATE(0x8038F4A4, &daAlinkHIO_wlAtWaLr_c0::m);
#pragma pop
/* 8038F4E0-8038F51C 01BB40 003C+00 0/1 0/0 0/0 .rodata m__22daAlinkHIO_wlAtWaSc_c0 */
#pragma push
#pragma force_active on
-SECTION_RODATA u8 const daAlinkHIO_wlAtWaSc_c0::m[60] = {
- 0x00, 0x0F, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x41, 0x20, 0x00, 0x00, 0x40, 0x40,
- 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x41, 0x30, 0x00, 0x00, 0x41, 0x90, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xAA, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00,
+daAlinkHIO_wlAtWaSc_c1 const daAlinkHIO_wlAtWaSc_c0::m = {
+ { 15, 0.9f, 0.0f, 3.0f, 15.0f },
+ 5, 5, 10.0f, 3.0f, 5.0f, 11.0f, 18.0f, 0.0f, 100.0f, 85.0f, 150.0f,
};
-COMPILER_STRIP_GATE(0x8038F4E0, &daAlinkHIO_wlAtWaSc_c0::m);
#pragma pop
/* 8038F51C-8038F558 01BB7C 003C+00 0/1 0/0 0/0 .rodata m__22daAlinkHIO_wlAtWaTl_c0 */
#pragma push
#pragma force_active on
-SECTION_RODATA u8 const daAlinkHIO_wlAtWaTl_c0::m[60] = {
- 0x00, 0x2A, 0x00, 0x00, 0x3F, 0x86, 0x66, 0x66, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x41, 0x20, 0x00, 0x00, 0x40, 0xA0,
- 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x41, 0x60, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
+daAlinkHIO_wlAtWaTl_c1 const daAlinkHIO_wlAtWaTl_c0::m = {
+ { 42, 1.05f, 3.0f, 3.0f, 28.0f },
+ 0, 3, 10.0f, 5.0f, 10.0f, 14.0f, 25.0f, 0.0f, 40.0f, 150.0f, 100.0f,
};
-COMPILER_STRIP_GATE(0x8038F51C, &daAlinkHIO_wlAtWaTl_c0::m);
#pragma pop
/* 8038F558-8038F578 01BBB8 0020+00 2/2 0/0 0/0 .rodata m__22daAlinkHIO_wlAtRoll_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlAtRoll_c0::m[32] = {
- 0x00, 0x28, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0xB8, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+daAlinkHIO_wlAtRoll_c1 const daAlinkHIO_wlAtRoll_c0::m = {
+ { 40, 1.0f, 4.0f, 3.0f, 23.0f },
+ 250.0f, 20.0f, 0.0f,
};
-COMPILER_STRIP_GATE(0x8038F558, &daAlinkHIO_wlAtRoll_c0::m);
/* 8038F578-8038F5B4 01BBD8 003C+00 3/5 0/0 0/0 .rodata m__23daAlinkHIO_wlAtNjump_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlAtNjump_c0::m[60] = {
- 0x00, 0x06, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x40, 0xE0, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x41, 0xB8,
- 0x00, 0x00, 0x41, 0x88, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0x00, 0x00, 0x00, 0x42,
- 0xA0, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
+daAlinkHIO_wlAtNjump_c1 const daAlinkHIO_wlAtNjump_c0::m = {
+ { 6, 1.0f, 4.0f, 3.0f, 7.0f },
+ 30.0f, 40.0f, 23.0f, 17.0f, 0.8f, 2.0f, 80.0f, 60.0f, 120.0f, 10.0f,
};
-COMPILER_STRIP_GATE(0x8038F578, &daAlinkHIO_wlAtNjump_c0::m);
/* 8038F5B4-8038F618 01BC14 0064+00 1/4 0/0 0/0 .rodata m__23daAlinkHIO_wlAtCjump_c0 */
SECTION_RODATA u8 const daAlinkHIO_wlAtCjump_c0::m[100] = {
@@ -6190,13 +5891,12 @@ SECTION_RODATA u8 const daAlinkHIO_wlAtCjump_c0::m[100] = {
COMPILER_STRIP_GATE(0x8038F5B4, &daAlinkHIO_wlAtCjump_c0::m);
/* 8038F618-8038F658 01BC78 0040+00 4/4 0/0 0/0 .rodata m__22daAlinkHIO_wlAtLand_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlAtLand_c0::m[64] = {
- 0x00, 0x13, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+daAlinkHIO_wlAtLand_c1 const daAlinkHIO_wlAtLand_c0::m = {
+ { 19, 0.9f, 0.0f, 2.0f, 2.0f },
+ { 14, 1.0f, 0.0f, 3.0f, 1.0f },
+ { 19, 1.1f, 0.0f, 2.0f, 1.0f },
+ 2.0f,
};
-COMPILER_STRIP_GATE(0x8038F618, &daAlinkHIO_wlAtLand_c0::m);
/* 8038F658-8038F6F4 01BCB8 009C+00 6/7 0/0 0/0 .rodata m__22daAlinkHIO_wlAtDown_c0 */
SECTION_RODATA u8 const daAlinkHIO_wlAtDown_c0::m[156] = {
@@ -6214,15 +5914,12 @@ SECTION_RODATA u8 const daAlinkHIO_wlAtDown_c0::m[156] = {
COMPILER_STRIP_GATE(0x8038F658, &daAlinkHIO_wlAtDown_c0::m);
/* 8038F6F4-8038F748 01BD54 0054+00 6/6 0/0 0/0 .rodata m__22daAlinkHIO_wlAtLock_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlAtLock_c0::m[84] = {
- 0x00, 0x06, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40,
- 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x00, 0x78,
- 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x41, 0xC8, 0x00, 0x00,
- 0x42, 0xAA, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x42, 0xF0,
- 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
+daAlinkHIO_wlAtLock_c1 const daAlinkHIO_wlAtLock_c0::m = {
+ { 6, 3.0f, 0.0f, 3.0f, 15.0f },
+ { 6, 2.0f, 0.0f, 2.0f, 20.0f },
+ { 120, 100.0f, 550.0f, 25.0f, 85.0f },
+ 80.0f, 60.0f, 120.0f, -8.0f, 700.0f, 1000.0f,
};
-COMPILER_STRIP_GATE(0x8038F6F4, &daAlinkHIO_wlAtLock_c0::m);
/* 8038F748-8038F7A4 01BDA8 005C+00 5/5 0/0 0/0 .rodata m__22daAlinkHIO_wlAtBite_c0 */
SECTION_RODATA u8 const daAlinkHIO_wlAtBite_c0::m[92] = {
@@ -6242,75 +5939,54 @@ daAlinkHIO_wlAttack_c1 const daAlinkHIO_wlAttack_c0::m = {
};
/* 8038F7DC-8038F858 01BE3C 007C+00 5/5 0/0 0/0 .rodata m__21daAlinkHIO_wlPoint_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlPoint_c0::m[124] = {
- 0x00, 0x06, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x40, 0xE0, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x00, 0x14, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
- 0x42, 0x48, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0x4C, 0xCC, 0xCD,
-};
-COMPILER_STRIP_GATE(0x8038F7DC, &daAlinkHIO_wlPoint_c0::m);
+daAlinkHIO_wlPoint_c1 const daAlinkHIO_wlPoint_c0::m = {
+ { 6, 0.9f, 2.0f, 3.0f, 7.0f },
+ { 7, 1.0f, 0.0f, 3.0f, 8.0f },
+ { 11, 0.75f, 0.0f, 3.0f, 5.0f },
+ { 14, 1.0f, 0.0f, 3.0f, 3.0f },
+ { 20, 1.0f, 3.0f, 5.0f, 50.0f },
+ 45.0f, 65.0f, 15.0f, 0.5f, 0.5f, 0.2f,
+};
/* 8038F858-8038F8B4 01BEB8 005C+00 6/6 0/0 0/0 .rodata m__21daAlinkHIO_wlChain_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlChain_c0::m[92] = {
- 0x00, 0x27, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x42, 0x20, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x42, 0xA4, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x40, 0x00, 0x00, 0x00, 0x14, 0x00, 0x05,
- 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0x71, 0x99, 0x9A, 0x3F, 0x80, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
+daAlinkHIO_wlChain_c1 const daAlinkHIO_wlChain_c0::m = {
+ { 39, 1.0f, 0.0f, 3.0f, 40.0f },
+ { 81, 1.0f, 0.0f, 3.0f, 82.0f },
+ { 47, 1.0f, 0.0f, 0.0f, 48.0f },
+ 20, 5, 1.0f, 3.0f, 1.0f, 3.0f, 15.1f, 1.0f, 5.0f,
};
-COMPILER_STRIP_GATE(0x8038F858, &daAlinkHIO_wlChain_c0::m);
/* 8038F8B4-8038F95C 01BF14 00A8+00 16/24 0/0 0/0 .rodata m__20daAlinkHIO_wlSwim_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlSwim_c0::m[168] = {
- 0x00, 0x19, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00,
- 0xBF, 0x80, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x05, 0x03, 0xE8,
- 0x06, 0x40, 0x00, 0x05, 0x09, 0xC4, 0x04, 0x00, 0x42, 0xB4, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
- 0x41, 0xA0, 0x00, 0x00, 0x3E, 0xB3, 0x33, 0x33, 0xC1, 0x20, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x3F, 0xC0, 0x00, 0x00, 0x3F, 0xB3, 0x33, 0x33, 0x41, 0x20, 0x00, 0x00, 0x40, 0x60, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x42, 0x16, 0x00, 0x00,
- 0x41, 0x10, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3E, 0xCC, 0xCC, 0xCD,
- 0x3F, 0x99, 0x99, 0x9A, 0xC2, 0x16, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x3E, 0x4C, 0xCC, 0xCD,
- 0xC0, 0xE0, 0x00, 0x00, 0x40, 0xE0, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038F8B4, &daAlinkHIO_wlSwim_c0::m);
+daAlinkHIO_wlSwim_c1 const daAlinkHIO_wlSwim_c0::m = {
+ { 25, 0.9f, 0.0f, 5.0f, -1.0f },
+ { 45, 1.0f, 0.0f, 3.0f, 20.0f },
+ { 28, 1.1f, 0.0f, 1.0f, 32.0f },
+ 5, 1000, 1600, 5, 2500, 1024, 90.0f, 50.0f, 20.0f, 0.35f, -10.0f, 10.0f, 1.5f, 1.4f, 10.0f, 3.5f, 0.5f, 1.5f, 5.0f, 37.5f, 9.0f, 0.25f, 1.0f, 0.4f, 1.2f, -37.5f, 8.0f, 0.2f, -7.0f, 7.0f,
+};
/* 8038F95C-8038F9C0 01BFBC 0064+00 6/6 0/0 0/0 .rodata m__20daAlinkHIO_wlGrab_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlGrab_c0::m[100] = {
- 0x00, 0x14, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0xBF, 0xA6, 0x66, 0x66, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x3F,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00,
- 0x00, 0x0E, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, 0x40, 0x80,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00,
+daAlinkHIO_wlGrab_c1 const daAlinkHIO_wlGrab_c0::m = {
+ { 20, 1.5f, 0.0f, 3.0f, 15.0f },
+ { 20, -1.3f, 0.0f, 3.0f, 5.0f },
+ { 14, 1.0f, 0.0f, 3.0f, 15.0f },
+ { 14, -1.0f, 0.0f, 3.0f, -1.0f },
+ { 19, 1.3f, 4.0f, 3.0f, 15.0f },
};
-COMPILER_STRIP_GATE(0x8038F95C, &daAlinkHIO_wlGrab_c0::m);
/* 8038F9C0-8038F9F8 01C020 0038+00 0/0 0/0 0/0 .rodata m__20daAlinkHIO_wlBall_c0 */
#pragma push
#pragma force_active on
-SECTION_RODATA u8 const daAlinkHIO_wlBall_c0::m[56] = {
- 0x00, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40,
- 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x3C,
- 0x00, 0x00, 0xC0, 0xA0, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00,
+daAlinkHIO_wlBall_c1 const daAlinkHIO_wlBall_c0::m = {
+ { 64, 1.0f, 0.0f, 3.0f, 35.0f },
+ { 54, 1.0f, 0.0f, 3.0f, 55.0f },
+ 60, -5.0f, 60.0f, 20.0f,
};
-COMPILER_STRIP_GATE(0x8038F9C0, &daAlinkHIO_wlBall_c0::m);
#pragma pop
/* 8038F9F8-8038FA10 01C058 0018+00 5/6 0/0 0/0 .rodata m__18daAlinkHIO_wolf_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wolf_c0::m[24] = {
- 0x32, 0xC8, 0xD8, 0xF0, 0x1F, 0x40, 0x0F, 0xA0, 0xF8, 0x30, 0x1F, 0x40,
- 0x00, 0x96, 0x00, 0x05, 0x00, 0x23, 0x00, 0x3C, 0x3F, 0x33, 0x33, 0x33,
+daAlinkHIO_wolf_c1 const daAlinkHIO_wolf_c0::m = {
+ 13000, -10000, 8000, 4000, -2000, 8000, 150, 5, 35, 60, 0.7f,
};
-COMPILER_STRIP_GATE(0x8038F9F8, &daAlinkHIO_wolf_c0::m);
/* 800A142C-800A1AEC 09BD6C 06C0+00 1/1 0/0 0/0 .text getNeckAimAngle__9daAlink_cFP4cXyzPsPsPsPs
*/
@@ -6676,619 +6352,573 @@ COMPILER_STRIP_GATE(0x8038FC38, &daAlink_c::m_mainBckFishing);
#pragma pop
/* 8038FCA8-80391010 01C308 1368+00 3/4 0/0 0/0 .rodata m_anmDataTable__9daAlink_c */
-SECTION_RODATA u8 const daAlink_c::m_anmDataTable[4968] = {
- 0x00, 0x25, 0x00, 0x24, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x23, 0x00, 0x22,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x12, 0x00, 0x12, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x21, 0x00, 0x1F, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x1D,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x3B, 0x04, 0x0A, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x2B, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x3E, 0x00, 0x3D, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x2D,
- 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x30, 0x00, 0x2F, 0x04, 0x0A, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x28, 0x00, 0x27, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x32, 0x00, 0x31, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x29,
- 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x74, 0x02, 0x74, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x20, 0x00, 0x1A, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1A, 0x00, 0x0E, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x0E,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x77, 0x02, 0x77, 0x04, 0x0A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x00, 0xC5, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x02, 0x43, 0x02, 0x43, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x59, 0x00, 0x00, 0x02, 0x33, 0x02, 0x33,
- 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x34, 0x02, 0x34, 0x04, 0x0A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x33, 0x02, 0x5C, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x34, 0x02, 0x5C, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x6A, 0x02, 0x6A,
- 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x56, 0x02, 0x56, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x02, 0x57, 0x02, 0x57, 0x01, 0x06, 0x00, 0x00, 0x01, 0x5F, 0x00, 0x00,
- 0x00, 0xC6, 0x00, 0xC6, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x36, 0x00, 0x36,
- 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x38, 0x00, 0x38, 0xFE, 0xFE, 0x00, 0x00,
- 0x01, 0x48, 0x00, 0x00, 0x00, 0x35, 0x00, 0x35, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x37, 0x00, 0x37, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x34, 0x00, 0x34,
- 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x33, 0x00, 0x33, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x02, 0x07, 0x02, 0x07, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00,
- 0x02, 0x09, 0x02, 0x09, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x08, 0x02, 0x08,
- 0x01, 0x06, 0x00, 0x26, 0x01, 0x4F, 0x00, 0x00, 0x02, 0x06, 0x02, 0x06, 0x04, 0x0A, 0x00, 0x00,
- 0x01, 0x48, 0x00, 0x00, 0x02, 0x05, 0x02, 0x05, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x02, 0x2F, 0x02, 0x2F, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x7B,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x7E, 0xFE, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x13, 0x00, 0x13, 0xFE, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x15, 0x00, 0x15, 0xFE, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x7C,
- 0xFE, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x17, 0x00, 0x17, 0xFE, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0xFE, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x14, 0x00, 0x14, 0x01, 0x06, 0x00, 0x7D, 0x00, 0xE9, 0x00, 0x00, 0x01, 0xA5, 0x01, 0xA5,
- 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x47, 0x00, 0x00, 0x01, 0xA3, 0x01, 0xA3, 0xFE, 0xFE, 0x00, 0x00,
- 0x01, 0x47, 0x00, 0x00, 0x01, 0xA4, 0x01, 0xA4, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x01, 0xB4, 0x01, 0xB4, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xB5, 0x01, 0xB5,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x69, 0x02, 0x69, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0xF7, 0x01, 0xF7, 0xFE, 0xFE, 0x00, 0x0A, 0x01, 0x4D, 0x00, 0x00,
- 0x01, 0xF6, 0x01, 0xF6, 0xFE, 0xFE, 0x00, 0x04, 0x00, 0xE8, 0x00, 0x00, 0x01, 0xF5, 0x01, 0xF5,
- 0xFE, 0xFE, 0x00, 0x04, 0x00, 0xE8, 0x00, 0x00, 0x01, 0xF4, 0x01, 0xF4, 0x00, 0x05, 0x00, 0x0B,
- 0x01, 0x4C, 0x00, 0x00, 0x01, 0xF3, 0x01, 0xF3, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x01, 0xF2, 0x01, 0xF2, 0x00, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0xFE, 0x01, 0xFE,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0xFD, 0x01, 0xFD, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x00, 0xE1, 0x00, 0xE1, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE2, 0x00, 0xE2,
- 0x04, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x35, 0x02, 0x35, 0x04, 0x05, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x02, 0x36, 0x02, 0x36, 0x04, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x02, 0x32, 0x02, 0x32, 0x04, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0xA2, 0x01, 0xA2,
- 0x04, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0xA0, 0x01, 0xA0, 0x04, 0x05, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0xA1, 0x01, 0xA1, 0x04, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x02, 0x66, 0x02, 0x66, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x75, 0x02, 0x75,
- 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x76, 0x02, 0x76, 0x04, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0xCA, 0x04, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0xCB, 0x00, 0xCB, 0x04, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x03, 0x0D, 0x02, 0x66,
- 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x00, 0xDD, 0x04, 0x05, 0x00, 0x00,
- 0x01, 0x02, 0x00, 0x00, 0x01, 0xB3, 0x01, 0xB3, 0x04, 0x05, 0x00, 0x00, 0x01, 0x05, 0x00, 0x00,
- 0x00, 0x95, 0x00, 0x95, 0x64, 0x05, 0x00, 0x24, 0x01, 0x10, 0x00, 0x00, 0x02, 0x38, 0x02, 0x38,
- 0x04, 0x05, 0x00, 0x37, 0x01, 0x52, 0x00, 0x00, 0x02, 0x39, 0x02, 0x39, 0x04, 0x05, 0x00, 0x38,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0xD6, 0x04, 0x0A, 0x00, 0x58, 0x01, 0x2C, 0x00, 0x00,
- 0x02, 0x4B, 0x02, 0x4B, 0x04, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x02, 0x65, 0x02, 0x65,
- 0x04, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x30, 0x02, 0x30, 0x04, 0x05, 0x00, 0x6D,
- 0x01, 0x50, 0x00, 0x00, 0x02, 0x31, 0x02, 0x31, 0x04, 0x05, 0x00, 0x6D, 0x01, 0x50, 0x00, 0x00,
- 0x01, 0x75, 0x01, 0x75, 0x04, 0x05, 0x00, 0x6E, 0x01, 0x41, 0x00, 0x00, 0x01, 0x76, 0x01, 0x76,
- 0x04, 0x05, 0x00, 0x6E, 0x01, 0x41, 0x00, 0x00, 0x02, 0x4C, 0x02, 0x4C, 0x04, 0x05, 0x00, 0x72,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x4D, 0x02, 0x4D, 0x04, 0x05, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x02, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x01, 0x02, 0x01,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE3, 0x00, 0xE3, 0x04, 0x0A, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE4, 0x00, 0xE4, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x70, 0x02, 0x70, 0xFE, 0xFE, 0x00, 0x10, 0x01, 0x65, 0x00, 0x00, 0x02, 0x6F, 0x02, 0x6F,
- 0x04, 0x05, 0x00, 0x11, 0x01, 0x64, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x7F, 0x64, 0x06, 0x00, 0x2E,
- 0x01, 0x03, 0x00, 0x00, 0x00, 0x99, 0x00, 0x99, 0x00, 0x06, 0x00, 0x2F, 0x01, 0x13, 0x00, 0x00,
- 0x00, 0x9A, 0x00, 0x9A, 0x00, 0x06, 0x00, 0x30, 0x01, 0x14, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x8F,
- 0x64, 0x06, 0x00, 0x31, 0x01, 0x0B, 0x00, 0x00, 0x00, 0x90, 0x00, 0x90, 0x64, 0x06, 0x00, 0x31,
- 0x01, 0x0B, 0x00, 0x00, 0x00, 0x84, 0x00, 0x84, 0x64, 0x06, 0x00, 0x32, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0x85, 0x00, 0x85, 0x64, 0x06, 0x00, 0x33, 0x01, 0x07, 0x00, 0x00, 0x00, 0x86, 0x00, 0x86,
- 0x64, 0x05, 0x00, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x8A, 0x00, 0x05, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x00, 0x89, 0x00, 0x89, 0x64, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x00, 0x8B, 0x00, 0x8B, 0x64, 0x05, 0x00, 0x34, 0x01, 0x08, 0x00, 0x00, 0x00, 0x88, 0x00, 0x88,
- 0x00, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x87, 0x00, 0x87, 0x64, 0x05, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x9B, 0x00, 0x06, 0x00, 0x59, 0x01, 0x15, 0x00, 0x00,
- 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x06, 0x00, 0x59, 0x01, 0x15, 0x00, 0x00, 0x00, 0x98, 0x00, 0x98,
- 0x64, 0x06, 0x00, 0x3C, 0x01, 0x12, 0x00, 0x00, 0x00, 0x97, 0x00, 0x97, 0x64, 0x06, 0x00, 0x3D,
- 0x01, 0x11, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x9F, 0x64, 0x06, 0x00, 0x3A, 0x01, 0x18, 0x00, 0x00,
- 0x00, 0x9E, 0x00, 0x9E, 0x64, 0x06, 0x00, 0x3B, 0x01, 0x17, 0x00, 0x00, 0x00, 0xA4, 0x00, 0xA4,
- 0x00, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0xA5, 0x00, 0xA5, 0x64, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xA6, 0x64, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0xAA, 0x00, 0xAA, 0x00, 0x05, 0x00, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0xA7, 0x00, 0xA7,
- 0x00, 0x05, 0x00, 0x5A, 0x01, 0x1D, 0x00, 0x00, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0x05, 0x00, 0x00,
- 0x01, 0x1E, 0x00, 0x00, 0x00, 0xA9, 0x00, 0xA9, 0x64, 0x05, 0x00, 0x12, 0x01, 0x1F, 0x00, 0x00,
- 0x00, 0x8E, 0x00, 0x8E, 0x00, 0x06, 0x00, 0x7F, 0x01, 0x0A, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x8C,
- 0x00, 0x06, 0x00, 0x80, 0x01, 0x09, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x8D, 0x00, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0xAE, 0x00, 0xAE, 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00,
- 0x00, 0xAC, 0x00, 0xAC, 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00, 0x00, 0xBD, 0x00, 0xBD,
- 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00, 0x00, 0xBE, 0x00, 0xBE, 0x01, 0x06, 0x00, 0x27,
- 0x00, 0xEA, 0x00, 0x00, 0x00, 0xB2, 0x00, 0xB2, 0xFE, 0xFE, 0x00, 0x28, 0x00, 0xF8, 0x00, 0x00,
- 0x00, 0xAF, 0x00, 0xAF, 0xFE, 0xFE, 0x00, 0x28, 0x00, 0xF8, 0x00, 0x00, 0x00, 0xB4, 0x00, 0xB4,
- 0xFE, 0xFE, 0x00, 0x28, 0x00, 0xF8, 0x00, 0x00, 0x00, 0xB6, 0x00, 0xB6, 0xFE, 0xFE, 0x00, 0x28,
- 0x00, 0xF8, 0x00, 0x00, 0x00, 0xB3, 0x00, 0xB3, 0xFE, 0xFE, 0x00, 0x2A, 0x01, 0x24, 0x00, 0x00,
- 0x00, 0xB0, 0x00, 0xB0, 0xFE, 0xFE, 0x00, 0x2B, 0x01, 0x22, 0x00, 0x00, 0x00, 0xB5, 0x00, 0xB5,
- 0xFE, 0xFE, 0x00, 0x2C, 0x01, 0x25, 0x00, 0x00, 0x00, 0xB7, 0x00, 0xB7, 0xFE, 0xFE, 0x00, 0x2C,
- 0x01, 0x25, 0x00, 0x00, 0x00, 0xAB, 0x00, 0xAB, 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00,
- 0x01, 0xAF, 0x01, 0xAF, 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00, 0x01, 0xB0, 0x01, 0xB0,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0x44, 0x01, 0x44, 0x00, 0x06, 0x00, 0x06,
- 0x01, 0x31, 0x00, 0x00, 0x01, 0x45, 0x01, 0x45, 0x00, 0x0A, 0x00, 0x07, 0x01, 0x32, 0x00, 0x00,
- 0x02, 0x37, 0x02, 0x37, 0x04, 0x0A, 0x00, 0x1C, 0x01, 0x51, 0x00, 0x00, 0x02, 0x4F, 0x02, 0x4F,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x50, 0x02, 0x50, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x51, 0x02, 0x51, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x52, 0x02, 0x52, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0x74, 0x01, 0x74,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0x7A, 0x01, 0x7A, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0x78, 0x01, 0x78, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x01, 0x79, 0x01, 0x79, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xAE, 0x01, 0xAE,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xAC, 0x01, 0xAC, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0xAD, 0x01, 0xAD, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x01, 0xA9, 0x01, 0xA9, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xA7, 0x01, 0xA7,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xA8, 0x01, 0xA8, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0xAB, 0x01, 0xAB, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x01, 0xAA, 0x01, 0xAA, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x6A,
- 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x6C, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x6D, 0x00, 0x6D, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x6E,
- 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x6F, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x6B, 0x03, 0x09, 0x00, 0x5C, 0x00, 0xFE, 0x00, 0x00,
- 0x02, 0x0F, 0x02, 0x0F, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x10, 0x02, 0x10,
- 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x0A, 0x02, 0x0A, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x02, 0x0C, 0x02, 0x0C, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x02, 0x0D, 0x02, 0x0D, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x0E, 0x02, 0x0E,
- 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x0B, 0x02, 0x0B, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x6E, 0x01, 0x6E, 0xFE, 0xFE, 0x00, 0x18, 0x01, 0x39, 0x00, 0x00,
- 0x01, 0x71, 0x01, 0x71, 0xFE, 0xFE, 0x00, 0x19, 0x01, 0x3C, 0x00, 0x00, 0x01, 0x70, 0x01, 0x70,
- 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x3B, 0x00, 0x00, 0x01, 0x7B, 0x01, 0x7B, 0xFE, 0xFE, 0x00, 0x1A,
- 0x01, 0x42, 0x00, 0x00, 0x01, 0x6D, 0x01, 0x6D, 0xFE, 0xFE, 0x00, 0x1B, 0x01, 0x38, 0x00, 0x00,
- 0x01, 0x6F, 0x01, 0x6F, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x3A, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x5F,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x5C, 0x02, 0x5C, 0x04, 0x0A, 0x00, 0x01,
- 0x01, 0x60, 0x00, 0x00, 0x02, 0x54, 0x02, 0x54, 0x04, 0x0A, 0x00, 0x01, 0x01, 0x5D, 0x00, 0x00,
- 0x02, 0x49, 0x02, 0x49, 0x04, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x6C, 0x02, 0x6C,
- 0x01, 0x06, 0x00, 0x0C, 0x01, 0x63, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x9D, 0x01, 0x06, 0x00, 0x0D,
- 0x01, 0x16, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x02, 0x78, 0x02, 0x78, 0x01, 0x06, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x2D, 0x02, 0x2D,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x2B, 0x02, 0x2B, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x2E, 0x02, 0x2E, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x2C, 0x02, 0x2C, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x3E, 0x02, 0x3E,
- 0xFE, 0xFE, 0x00, 0x15, 0x01, 0x56, 0x00, 0x00, 0x02, 0x42, 0x02, 0x42, 0xFE, 0xFE, 0x00, 0x16,
- 0x01, 0x58, 0x00, 0x00, 0x00, 0x39, 0x00, 0x39, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x3A, 0x00, 0x3A, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x11, 0x00, 0x11,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x3A, 0x02, 0x3A, 0xFE, 0xFE, 0x00, 0x03,
- 0x00, 0xE8, 0x00, 0x00, 0x02, 0x3D, 0x02, 0x3D, 0xFE, 0xFE, 0x00, 0x17, 0x01, 0x55, 0x00, 0x00,
- 0x02, 0x41, 0x02, 0x41, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x40, 0x02, 0x40,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0xC1, 0x00, 0xC1, 0x01, 0x06, 0x00, 0x27,
- 0x00, 0xEA, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00,
- 0x00, 0xC2, 0x00, 0xC2, 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00, 0x00, 0xC3, 0x00, 0xC3,
- 0x01, 0x06, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00, 0x00, 0xC4, 0x00, 0xC4, 0x01, 0x06, 0x00, 0x27,
- 0x00, 0xEA, 0x00, 0x00, 0x00, 0x57, 0x00, 0x57, 0xFE, 0xFE, 0x00, 0x4D, 0x00, 0xF7, 0x00, 0x00,
- 0x00, 0x56, 0x00, 0x56, 0xFE, 0xFE, 0x00, 0x4E, 0x00, 0xF6, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55,
- 0xFE, 0xFE, 0x00, 0x4F, 0x00, 0xF5, 0x00, 0x00, 0x01, 0x69, 0x01, 0x69, 0xFE, 0xFE, 0x00, 0x00,
- 0x01, 0x34, 0x00, 0x00, 0x01, 0x6A, 0x01, 0x6A, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00,
- 0x01, 0x6A, 0x02, 0x6A, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x33, 0x00, 0x00, 0x01, 0x6A, 0x01, 0x7D,
- 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x33, 0x00, 0x00, 0x02, 0x4A, 0x02, 0x4A, 0x04, 0x0A, 0x00, 0x29,
- 0x01, 0x5A, 0x00, 0x00, 0x02, 0x53, 0x02, 0x53, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x5C, 0x00, 0x00,
- 0x02, 0x6B, 0x02, 0x6B, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x5B, 0x02, 0x5A,
- 0xFE, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x5B, 0x02, 0x5B, 0x00, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x6B, 0x02, 0x15, 0xFE, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x6B, 0x02, 0x16, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x6B, 0x02, 0x13,
- 0xFE, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x6B, 0x02, 0x14, 0x00, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x6B, 0x00, 0x67, 0xFE, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x00, 0x5A, 0x00, 0x5A, 0x02, 0xFE, 0x00, 0x00, 0x01, 0x30, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x5B,
- 0x02, 0xFE, 0x00, 0x00, 0x01, 0x30, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x5C, 0x02, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x5E, 0x02, 0x05, 0x00, 0x78, 0x00, 0xF9, 0x00, 0x00,
- 0x01, 0xEB, 0x01, 0xEB, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xFA, 0x01, 0xFA,
- 0x02, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xFC, 0x01, 0xFC, 0x02, 0x05, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0xB2, 0x01, 0xB2, 0x02, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x00, 0xD9, 0x00, 0xD9, 0x04, 0x0A, 0x00, 0x1E, 0x01, 0x2D, 0x00, 0x00, 0x00, 0xDA, 0x00, 0xDA,
- 0x04, 0x0A, 0x00, 0x1F, 0x01, 0x2E, 0x00, 0x00, 0x00, 0xD7, 0x00, 0xD7, 0x03, 0x0A, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x00, 0xD8, 0x00, 0xD8, 0x03, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x00, 0xDB, 0x00, 0xDB, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xDC, 0x00, 0xDC,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xEC, 0x01, 0xEC, 0xFE, 0xFE, 0x00, 0x1D,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x11, 0x02, 0x11, 0x01, 0x06, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x01, 0xE4, 0x01, 0xE4, 0x01, 0x06, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xE5, 0x01, 0xE5,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x28, 0x02, 0x28, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x20, 0x02, 0x20, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x1F, 0x02, 0x1F, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x25, 0x02, 0x25,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x23, 0x02, 0x23, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x21, 0x02, 0x21, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x22, 0x02, 0x22, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x24, 0x02, 0x24,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x02, 0x27, 0x02, 0x27, 0x64, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x02, 0x26, 0x02, 0x26, 0x64, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x12, 0x02, 0x12, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x66, 0x00, 0x66,
- 0xFE, 0xFE, 0x00, 0x35, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x69, 0x00, 0x69, 0xFE, 0xFE, 0x00, 0x36,
- 0x00, 0xFD, 0x00, 0x00, 0x02, 0x71, 0x02, 0x71, 0x04, 0x0A, 0x00, 0x00, 0x01, 0x66, 0x00, 0x00,
- 0x00, 0x48, 0x00, 0x48, 0x03, 0xFE, 0x00, 0x3E, 0x00, 0xEE, 0x00, 0x00, 0x00, 0x46, 0x00, 0x46,
- 0x03, 0xFE, 0x00, 0x3F, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x47, 0x00, 0x47, 0x03, 0xFE, 0x00, 0x40,
- 0x00, 0xED, 0x00, 0x00, 0x00, 0x45, 0x00, 0x45, 0x03, 0xFE, 0x00, 0x41, 0x00, 0xEB, 0x00, 0x00,
- 0x00, 0x4B, 0x00, 0x4B, 0x03, 0xFE, 0x00, 0x42, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x4C,
- 0x03, 0x05, 0x00, 0x43, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x49, 0x00, 0x49, 0x03, 0x05, 0x00, 0x44,
- 0x00, 0xEF, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x4E, 0x03, 0xFE, 0x00, 0x45, 0x00, 0xF3, 0x00, 0x00,
- 0x00, 0x4F, 0x00, 0x4F, 0x03, 0xFE, 0x00, 0x46, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x4A,
- 0x03, 0xFE, 0x00, 0x47, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x4D, 0x03, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0xB6, 0x01, 0xB6, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x01, 0xEF, 0x01, 0xEF, 0x00, 0x09, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xED, 0x01, 0xED,
- 0x00, 0x09, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0xEE, 0x01, 0xEE, 0x00, 0x09, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0x73, 0x01, 0x73, 0x02, 0xFE, 0x00, 0x4A, 0x01, 0x3F, 0x00, 0x00,
- 0x01, 0x72, 0x01, 0x72, 0x02, 0xFE, 0x00, 0x4C, 0x01, 0x3E, 0x00, 0x00, 0x00, 0x61, 0x00, 0x61,
- 0x02, 0xFE, 0x00, 0x4B, 0x00, 0xFB, 0x00, 0x00, 0x02, 0x6D, 0x02, 0x6D, 0x02, 0xFE, 0x00, 0x4B,
- 0x00, 0xFB, 0x00, 0x00, 0x02, 0x5D, 0x02, 0x5D, 0x01, 0x06, 0x00, 0x0E, 0x01, 0x63, 0x00, 0x00,
- 0x02, 0x62, 0x02, 0x62, 0x01, 0x06, 0x00, 0x0F, 0x01, 0x61, 0x00, 0x00, 0x01, 0xE3, 0x01, 0xE3,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xD4, 0x00, 0xD4, 0x04, 0x0A, 0x00, 0x50,
- 0x01, 0x2A, 0x00, 0x00, 0x00, 0xD5, 0x00, 0xD5, 0x04, 0x0A, 0x00, 0x51, 0x01, 0x2B, 0x00, 0x00,
- 0x02, 0x3B, 0x02, 0x3B, 0xFE, 0xFE, 0x00, 0x52, 0x01, 0x53, 0x00, 0x00, 0x02, 0x3C, 0x02, 0x3C,
- 0xFE, 0xFE, 0x00, 0x53, 0x01, 0x54, 0x00, 0x00, 0x00, 0x72, 0x00, 0x72, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xFF, 0x00, 0x00, 0x00, 0x74, 0x00, 0x74, 0x03, 0x09, 0x00, 0x55, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x73, 0x00, 0x73, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x71, 0x00, 0x71,
- 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x75, 0x00, 0x75, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x77, 0x00, 0x77, 0x03, 0x09, 0x00, 0x56, 0x01, 0x01, 0x00, 0x00,
- 0x00, 0x78, 0x00, 0x78, 0x03, 0x09, 0x00, 0x57, 0x01, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x79,
- 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x7A, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x76, 0x00, 0x76, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x30, 0x00, 0x00,
- 0x00, 0xDE, 0x00, 0xDE, 0x04, 0x0A, 0x00, 0x54, 0x01, 0x2F, 0x00, 0x00, 0x00, 0xE0, 0x00, 0xE0,
- 0xFE, 0xFE, 0x00, 0x28, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x05, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x02, 0x2A, 0x02, 0x2A, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x29, 0x02, 0x29, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x01, 0x8A, 0x01, 0x8A,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x8B, 0x01, 0x8B, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x8C, 0x01, 0x8C, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x01, 0x80, 0x01, 0x80, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x81, 0x01, 0x81,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x82, 0x01, 0x82, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x84, 0x01, 0x84, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x01, 0x88, 0x01, 0x88, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x89, 0x01, 0x89,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x86, 0x01, 0x86, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x87, 0x01, 0x87, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x01, 0x83, 0x01, 0x83, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x85, 0x01, 0x85,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x8E, 0x01, 0x8E, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x8F, 0x01, 0x8F, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x01, 0x90, 0x01, 0x90, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x91, 0x01, 0x91,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x94, 0x01, 0x94, 0x01, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x95, 0x01, 0x95, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x01, 0x92, 0x01, 0x92, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x93, 0x01, 0x93,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0xF8, 0x01, 0xF8, 0xFE, 0xFE, 0x00, 0x00,
- 0x01, 0x4E, 0x00, 0x00, 0x10, 0x2E, 0x10, 0x2E, 0x00, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x10, 0x2D, 0x10, 0x2D, 0x00, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x0A, 0x10, 0x0A,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x08, 0x10, 0x08, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x10, 0x09, 0x10, 0x09, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x10, 0x07, 0x10, 0x07, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x21, 0x10, 0x21,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x23, 0x10, 0x23, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x10, 0x22, 0x10, 0x22, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x10, 0x24, 0x10, 0x24, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x25, 0x10, 0x25,
- 0xFE, 0xFE, 0x00, 0x5E, 0x10, 0x11, 0x00, 0x00, 0x10, 0x28, 0x10, 0x28, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x10, 0x29, 0x10, 0x29, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x10, 0x26, 0x10, 0x26, 0xFE, 0xFE, 0x00, 0x5F, 0x10, 0x12, 0x00, 0x00, 0x10, 0x27, 0x10, 0x27,
- 0xFE, 0xFE, 0x00, 0x5F, 0x10, 0x12, 0x00, 0x00, 0x10, 0x2A, 0x10, 0x2A, 0xFE, 0xFE, 0x00, 0x63,
- 0x10, 0x13, 0x00, 0x00, 0x10, 0x19, 0x10, 0x19, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x10, 0x1B, 0x10, 0x1B, 0xFE, 0xFE, 0x00, 0x61, 0x10, 0x0E, 0x00, 0x00, 0x10, 0x1C, 0x10, 0x1C,
- 0xFE, 0xFE, 0x00, 0x62, 0x10, 0x0F, 0x00, 0x00, 0x10, 0x1A, 0x10, 0x1A, 0xFE, 0xFE, 0x00, 0x60,
- 0x10, 0x0D, 0x00, 0x00, 0x10, 0x20, 0x10, 0x20, 0xFE, 0xFE, 0x00, 0x5F, 0x10, 0x12, 0x00, 0x00,
- 0x10, 0x1D, 0x10, 0x1D, 0xFE, 0xFE, 0x00, 0x65, 0x10, 0x10, 0x00, 0x00, 0x10, 0x17, 0x10, 0x17,
- 0xFE, 0xFE, 0x00, 0x64, 0x10, 0x0C, 0x00, 0x00, 0x10, 0x18, 0x10, 0x18, 0xFE, 0xFE, 0x00, 0x64,
- 0x10, 0x0C, 0x00, 0x00, 0x10, 0x2B, 0x10, 0x2B, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x10, 0x2C, 0x10, 0x2C, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x15, 0x10, 0x15,
- 0xFE, 0xFE, 0x00, 0x66, 0x10, 0x0B, 0x00, 0x00, 0x10, 0x16, 0x10, 0x16, 0xFE, 0xFE, 0x00, 0x66,
- 0x10, 0x0B, 0x00, 0x00, 0x10, 0x06, 0x10, 0x06, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x10, 0x14, 0x10, 0x14, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x1E, 0x10, 0x1E,
- 0x00, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x1F, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x00, 0xB1, 0x00, 0xB1, 0xFE, 0xFE, 0x00, 0x5D, 0x01, 0x23, 0x00, 0x00,
- 0x01, 0x9C, 0x01, 0x9C, 0xFE, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x9D, 0x01, 0x9D,
- 0xFE, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x96, 0x01, 0x96, 0x00, 0x05, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x9B, 0x01, 0x9B, 0x00, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x01, 0x9A, 0x01, 0x9A, 0x00, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x99, 0x01, 0x99,
- 0x00, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x97, 0x01, 0x97, 0xFE, 0x05, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x01, 0x98, 0x01, 0x98, 0xFE, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x20, 0x0C, 0x20, 0x0C, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x20, 0x0D, 0x20, 0x0D,
- 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x20, 0x0E, 0x20, 0x0E, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x20, 0x0F, 0x20, 0x0F, 0x64, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x20, 0x09, 0x20, 0x09, 0x64, 0x09, 0x00, 0x67, 0x00, 0xE8, 0x00, 0x00, 0x20, 0x0A, 0x20, 0x0A,
- 0x64, 0x09, 0x00, 0x68, 0x00, 0xE8, 0x00, 0x00, 0x20, 0x0B, 0x20, 0x0B, 0x64, 0x0A, 0x00, 0x69,
- 0x20, 0x08, 0x00, 0x00, 0x20, 0x10, 0x20, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x50, 0x0D, 0x50, 0x0D, 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x50, 0x0E, 0x50, 0x0E,
- 0x01, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x50, 0x0A, 0x50, 0x0A, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x50, 0x0B, 0x50, 0x0B, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x50, 0x0C, 0x50, 0x0C, 0x64, 0xFE, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x50, 0x07, 0x50, 0x07,
- 0x64, 0x09, 0x00, 0x6A, 0x00, 0xE8, 0x00, 0x00, 0x50, 0x08, 0x50, 0x08, 0x64, 0x09, 0x00, 0x6B,
- 0x00, 0xE8, 0x00, 0x00, 0x50, 0x09, 0x50, 0x09, 0x64, 0x0A, 0x00, 0x6C, 0x50, 0x0F, 0x00, 0x00,
- 0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x00, 0x6F, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x04, 0x02, 0x04,
- 0x02, 0x05, 0x00, 0x70, 0x00, 0xE8, 0x00, 0x00, 0x01, 0x6B, 0x01, 0x6B, 0x02, 0x0A, 0x00, 0x71,
- 0x01, 0x35, 0x00, 0x00, 0x02, 0x5E, 0x02, 0x5E, 0x03, 0x09, 0x00, 0x27, 0x00, 0xEA, 0x00, 0x00,
- 0x01, 0xE6, 0x01, 0xE6, 0x03, 0x09, 0x00, 0x28, 0x00, 0xF8, 0x00, 0x00, 0x01, 0xE7, 0x01, 0xE7,
- 0x03, 0x09, 0x00, 0x28, 0x00, 0xF8, 0x00, 0x00, 0x01, 0xA6, 0x01, 0xA6, 0x04, 0x05, 0x00, 0x74,
- 0x01, 0x4A, 0x00, 0x00, 0x02, 0x66, 0x01, 0x6A, 0xFE, 0xFE, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00,
- 0x30, 0x04, 0x30, 0x04, 0x01, 0x06, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x65, 0x00, 0x65,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x62, 0x00, 0x62, 0x03, 0x09, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x00, 0x63, 0x00, 0x63, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x02, 0x67, 0x02, 0x67,
- 0x04, 0x0A, 0x00, 0x79, 0x01, 0x62, 0x00, 0x00, 0x00, 0xD0, 0x00, 0xD0, 0x04, 0x0A, 0x00, 0x7E,
- 0x01, 0x27, 0x00, 0x00, 0x01, 0x77, 0x01, 0x77, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x02, 0x79, 0x02, 0x79, 0x04, 0x0A, 0x00, 0x00, 0x01, 0x67, 0x00, 0x00, 0x02, 0x7A, 0x02, 0x7A,
- 0x04, 0x0A, 0x00, 0x00, 0x01, 0x33, 0x00, 0x00, 0x00, 0xCF, 0x00, 0xCF, 0x00, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x00, 0xA2, 0x00, 0xA2, 0x64, 0x06, 0x00, 0x81, 0x01, 0x1B, 0x00, 0x00,
- 0x00, 0xA3, 0x00, 0xA3, 0x64, 0x06, 0x00, 0x81, 0x00, 0xE8, 0x00, 0x00, 0x00, 0xA0, 0x00, 0xA0,
- 0x64, 0x06, 0x00, 0x83, 0x01, 0x19, 0x00, 0x00, 0x00, 0xA1, 0x00, 0xA1, 0x64, 0x06, 0x00, 0x84,
- 0x01, 0x1A, 0x00, 0x00, 0x60, 0x0B, 0x60, 0x0B, 0x00, 0x0A, 0x00, 0x85, 0x60, 0x09, 0x00, 0x00,
- 0x60, 0x0C, 0x60, 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x60, 0x0A, 0x60, 0x0A,
- 0x64, 0x05, 0x00, 0x00, 0x60, 0x08, 0x00, 0x00, 0x70, 0x0A, 0x70, 0x0A, 0x00, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x70, 0x0B, 0x70, 0x0B, 0x00, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00,
- 0x70, 0x0C, 0x70, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x70, 0x0E, 0x70, 0x0E,
- 0x00, 0x06, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x70, 0x0D, 0x70, 0x0D, 0x00, 0x06, 0x00, 0x00,
- 0x00, 0xE8, 0x00, 0x00, 0x70, 0x08, 0x70, 0x08, 0x00, 0x05, 0x00, 0x86, 0x70, 0x10, 0x00, 0x00,
- 0x70, 0x09, 0x70, 0x09, 0x00, 0x05, 0x00, 0x00, 0x70, 0x11, 0x00, 0x00, 0x02, 0x66, 0x70, 0x0F,
- 0x04, 0x05, 0x00, 0x87, 0x70, 0x12, 0x00, 0x00, 0x01, 0x9F, 0x01, 0x9F, 0xFE, 0xFE, 0x00, 0x00,
- 0x00, 0xDF, 0x00, 0x00, 0x01, 0x9E, 0x01, 0x9E, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00,
- 0x01, 0xEA, 0x01, 0xEA, 0xFE, 0xFE, 0x00, 0x88, 0x01, 0x4B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x0B,
- 0xFE, 0xFE, 0x00, 0x89, 0x00, 0xE7, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038FCA8, &daAlink_c::m_anmDataTable);
+daAlink_AnmData const daAlink_c::m_anmDataTable[414] = {
+ { 37, 36, 254, 254, 0, 232, 0 },
+ { 35, 34, 254, 254, 0, 232, 0 },
+ { 18, 18, 254, 254, 0, 232, 0 },
+ { 16, 16, 254, 254, 0, 232, 0 },
+ { 33, 31, 254, 254, 0, 232, 0 },
+ { 30, 29, 254, 254, 0, 232, 0 },
+ { 60, 59, 4, 10, 0, 232, 0 },
+ { 44, 43, 4, 10, 0, 232, 0 },
+ { 62, 61, 4, 10, 0, 232, 0 },
+ { 46, 45, 4, 10, 0, 232, 0 },
+ { 48, 47, 4, 10, 0, 232, 0 },
+ { 40, 39, 4, 10, 0, 232, 0 },
+ { 50, 49, 4, 10, 0, 232, 0 },
+ { 42, 41, 4, 10, 0, 232, 0 },
+ { 628, 628, 254, 254, 0, 232, 0 },
+ { 32, 26, 254, 254, 0, 0, 0 },
+ { 26, 14, 254, 254, 0, 232, 0 },
+ { 28, 14, 254, 254, 0, 232, 0 },
+ { 631, 631, 4, 10, 0, 0, 0 },
+ { 205, 197, 4, 10, 0, 232, 0 },
+ { 579, 579, 254, 254, 0, 345, 0 },
+ { 563, 563, 4, 10, 0, 0, 0 },
+ { 564, 564, 4, 10, 0, 0, 0 },
+ { 563, 604, 4, 10, 0, 0, 0 },
+ { 564, 604, 4, 10, 0, 0, 0 },
+ { 618, 618, 4, 10, 0, 0, 0 },
+ { 598, 598, 1, 6, 0, 232, 0 },
+ { 599, 599, 1, 6, 0, 351, 0 },
+ { 198, 198, 1, 6, 0, 232, 0 },
+ { 54, 54, 254, 254, 0, 328, 0 },
+ { 56, 56, 254, 254, 0, 328, 0 },
+ { 53, 53, 1, 6, 0, 232, 0 },
+ { 55, 55, 1, 6, 0, 232, 0 },
+ { 52, 52, 254, 254, 0, 328, 0 },
+ { 51, 51, 1, 6, 0, 232, 0 },
+ { 519, 519, 254, 254, 0, 328, 0 },
+ { 521, 521, 254, 254, 0, 223, 0 },
+ { 520, 520, 1, 6, 38, 335, 0 },
+ { 518, 518, 4, 10, 0, 328, 0 },
+ { 517, 517, 4, 10, 0, 232, 0 },
+ { 559, 559, 254, 254, 0, 232, 0 },
+ { 123, 123, 254, 254, 0, 0, 0 },
+ { 126, 126, 254, 6, 0, 232, 0 },
+ { 19, 19, 254, 6, 0, 232, 0 },
+ { 21, 21, 254, 6, 0, 232, 0 },
+ { 124, 124, 254, 6, 0, 232, 0 },
+ { 23, 23, 254, 6, 0, 232, 0 },
+ { 24, 24, 254, 6, 0, 232, 0 },
+ { 20, 20, 1, 6, 125, 233, 0 },
+ { 421, 421, 254, 254, 0, 327, 0 },
+ { 419, 419, 254, 254, 0, 327, 0 },
+ { 420, 420, 254, 254, 0, 223, 0 },
+ { 436, 436, 254, 254, 0, 223, 0 },
+ { 437, 437, 254, 254, 0, 223, 0 },
+ { 617, 617, 254, 254, 0, 223, 0 },
+ { 503, 503, 254, 254, 10, 333, 0 },
+ { 502, 502, 254, 254, 4, 232, 0 },
+ { 501, 501, 254, 254, 4, 232, 0 },
+ { 500, 500, 0, 5, 11, 332, 0 },
+ { 499, 499, 254, 254, 0, 232, 0 },
+ { 498, 498, 0, 5, 0, 232, 0 },
+ { 510, 510, 254, 254, 0, 223, 0 },
+ { 511, 511, 254, 254, 0, 223, 0 },
+ { 509, 509, 254, 254, 0, 223, 0 },
+ { 225, 225, 4, 10, 0, 223, 0 },
+ { 226, 226, 4, 10, 0, 223, 0 },
+ { 565, 565, 4, 5, 0, 232, 0 },
+ { 566, 566, 4, 5, 0, 232, 0 },
+ { 562, 562, 4, 5, 0, 232, 0 },
+ { 418, 418, 4, 5, 0, 232, 0 },
+ { 416, 416, 4, 5, 0, 232, 0 },
+ { 417, 417, 4, 5, 0, 232, 0 },
+ { 614, 614, 4, 5, 0, 0, 0 },
+ { 629, 629, 4, 5, 0, 0, 0 },
+ { 630, 630, 4, 5, 0, 0, 0 },
+ { 202, 202, 4, 5, 0, 232, 0 },
+ { 203, 203, 4, 5, 0, 232, 0 },
+ { 781, 614, 4, 5, 0, 0, 0 },
+ { 221, 221, 4, 5, 0, 258, 0 },
+ { 435, 435, 4, 5, 0, 261, 0 },
+ { 149, 149, 100, 5, 36, 272, 0 },
+ { 568, 568, 4, 5, 55, 338, 0 },
+ { 569, 569, 4, 5, 56, 0, 0 },
+ { 214, 214, 4, 10, 88, 300, 0 },
+ { 587, 587, 4, 5, 37, 0, 0 },
+ { 613, 613, 4, 5, 0, 232, 0 },
+ { 560, 560, 4, 5, 109, 336, 0 },
+ { 561, 561, 4, 5, 109, 336, 0 },
+ { 373, 373, 4, 5, 110, 321, 0 },
+ { 374, 374, 4, 5, 110, 321, 0 },
+ { 588, 588, 4, 5, 114, 0, 0 },
+ { 589, 589, 4, 5, 115, 0, 0 },
+ { 512, 512, 254, 254, 0, 223, 0 },
+ { 513, 513, 254, 254, 0, 223, 0 },
+ { 227, 227, 4, 10, 0, 223, 0 },
+ { 228, 228, 4, 10, 0, 223, 0 },
+ { 624, 624, 254, 254, 16, 357, 0 },
+ { 623, 623, 4, 5, 17, 356, 0 },
+ { 127, 127, 100, 6, 46, 259, 0 },
+ { 153, 153, 0, 6, 47, 275, 0 },
+ { 154, 154, 0, 6, 48, 276, 0 },
+ { 143, 143, 100, 6, 49, 267, 0 },
+ { 144, 144, 100, 6, 49, 267, 0 },
+ { 132, 132, 100, 6, 50, 262, 0 },
+ { 133, 133, 100, 6, 51, 263, 0 },
+ { 134, 134, 100, 5, 0, 261, 0 },
+ { 138, 138, 0, 5, 0, 223, 0 },
+ { 137, 137, 100, 5, 0, 223, 0 },
+ { 139, 139, 100, 5, 52, 264, 0 },
+ { 136, 136, 0, 5, 0, 223, 0 },
+ { 135, 135, 100, 5, 0, 223, 0 },
+ { 155, 155, 0, 6, 89, 277, 0 },
+ { 156, 156, 0, 6, 89, 277, 0 },
+ { 152, 152, 100, 6, 60, 274, 0 },
+ { 151, 151, 100, 6, 61, 273, 0 },
+ { 159, 159, 100, 6, 58, 280, 0 },
+ { 158, 158, 100, 6, 59, 279, 0 },
+ { 164, 164, 0, 6, 0, 232, 0 },
+ { 165, 165, 100, 6, 0, 232, 0 },
+ { 166, 166, 100, 6, 0, 232, 0 },
+ { 170, 170, 0, 5, 0, 261, 0 },
+ { 167, 167, 0, 5, 90, 285, 0 },
+ { 168, 168, 0, 5, 0, 286, 0 },
+ { 169, 169, 100, 5, 18, 287, 0 },
+ { 142, 142, 0, 6, 127, 266, 0 },
+ { 140, 140, 0, 6, 128, 265, 0 },
+ { 141, 141, 0, 6, 0, 232, 0 },
+ { 174, 174, 1, 6, 39, 234, 0 },
+ { 172, 172, 1, 6, 39, 234, 0 },
+ { 189, 189, 1, 6, 39, 234, 0 },
+ { 190, 190, 1, 6, 39, 234, 0 },
+ { 178, 178, 254, 254, 40, 248, 0 },
+ { 175, 175, 254, 254, 40, 248, 0 },
+ { 180, 180, 254, 254, 40, 248, 0 },
+ { 182, 182, 254, 254, 40, 248, 0 },
+ { 179, 179, 254, 254, 42, 292, 0 },
+ { 176, 176, 254, 254, 43, 290, 0 },
+ { 181, 181, 254, 254, 44, 293, 0 },
+ { 183, 183, 254, 254, 44, 293, 0 },
+ { 171, 171, 1, 6, 39, 234, 0 },
+ { 431, 431, 1, 6, 39, 234, 0 },
+ { 432, 432, 254, 254, 0, 223, 0 },
+ { 324, 324, 0, 6, 6, 305, 0 },
+ { 325, 325, 0, 10, 7, 306, 0 },
+ { 567, 567, 4, 10, 28, 337, 0 },
+ { 591, 591, 254, 254, 0, 223, 0 },
+ { 592, 592, 254, 254, 0, 223, 0 },
+ { 593, 593, 254, 254, 0, 223, 0 },
+ { 594, 594, 254, 254, 0, 223, 0 },
+ { 372, 372, 254, 254, 0, 223, 0 },
+ { 378, 378, 254, 254, 0, 223, 0 },
+ { 376, 376, 254, 254, 0, 223, 0 },
+ { 377, 377, 254, 254, 0, 223, 0 },
+ { 430, 430, 254, 254, 0, 223, 0 },
+ { 428, 428, 254, 254, 0, 223, 0 },
+ { 429, 429, 254, 254, 0, 223, 0 },
+ { 425, 425, 254, 254, 0, 223, 0 },
+ { 423, 423, 254, 254, 0, 223, 0 },
+ { 424, 424, 254, 254, 0, 223, 0 },
+ { 427, 427, 254, 254, 0, 223, 0 },
+ { 426, 426, 254, 254, 0, 223, 0 },
+ { 106, 106, 3, 9, 0, 232, 0 },
+ { 112, 112, 3, 9, 0, 232, 0 },
+ { 108, 108, 3, 9, 0, 232, 0 },
+ { 109, 109, 3, 9, 0, 232, 0 },
+ { 110, 110, 3, 9, 0, 232, 0 },
+ { 111, 111, 3, 9, 0, 232, 0 },
+ { 107, 107, 3, 9, 92, 254, 0 },
+ { 527, 527, 3, 9, 0, 232, 0 },
+ { 528, 528, 3, 9, 0, 232, 0 },
+ { 522, 522, 3, 9, 0, 232, 0 },
+ { 524, 524, 3, 9, 0, 232, 0 },
+ { 525, 525, 3, 9, 0, 232, 0 },
+ { 526, 526, 3, 9, 0, 232, 0 },
+ { 523, 523, 3, 9, 0, 232, 0 },
+ { 366, 366, 254, 254, 24, 313, 0 },
+ { 369, 369, 254, 254, 25, 316, 0 },
+ { 368, 368, 254, 254, 0, 315, 0 },
+ { 379, 379, 254, 254, 26, 322, 0 },
+ { 365, 365, 254, 254, 27, 312, 0 },
+ { 367, 367, 254, 254, 0, 314, 0 },
+ { 95, 95, 254, 254, 0, 223, 0 },
+ { 604, 604, 4, 10, 1, 352, 0 },
+ { 596, 596, 4, 10, 1, 349, 0 },
+ { 585, 585, 4, 10, 0, 223, 0 },
+ { 620, 620, 1, 6, 12, 355, 0 },
+ { 157, 157, 1, 6, 13, 278, 0 },
+ { 82, 82, 254, 254, 0, 232, 0 },
+ { 632, 632, 1, 6, 0, 223, 0 },
+ { 557, 557, 254, 254, 0, 223, 0 },
+ { 555, 555, 254, 254, 0, 223, 0 },
+ { 558, 558, 254, 254, 0, 223, 0 },
+ { 556, 556, 254, 254, 0, 223, 0 },
+ { 574, 574, 254, 254, 21, 342, 0 },
+ { 578, 578, 254, 254, 22, 344, 0 },
+ { 57, 57, 254, 254, 0, 232, 0 },
+ { 58, 58, 254, 254, 0, 232, 0 },
+ { 17, 17, 254, 254, 0, 232, 0 },
+ { 570, 570, 254, 254, 3, 232, 0 },
+ { 573, 573, 254, 254, 23, 341, 0 },
+ { 577, 577, 254, 254, 0, 232, 0 },
+ { 576, 576, 254, 254, 0, 232, 0 },
+ { 193, 193, 1, 6, 39, 234, 0 },
+ { 192, 192, 1, 6, 39, 234, 0 },
+ { 194, 194, 1, 6, 39, 234, 0 },
+ { 195, 195, 1, 6, 39, 234, 0 },
+ { 196, 196, 1, 6, 39, 234, 0 },
+ { 87, 87, 254, 254, 77, 247, 0 },
+ { 86, 86, 254, 254, 78, 246, 0 },
+ { 85, 85, 254, 254, 79, 245, 0 },
+ { 361, 361, 254, 254, 0, 308, 0 },
+ { 362, 362, 254, 254, 0, 310, 0 },
+ { 362, 618, 254, 254, 0, 307, 0 },
+ { 362, 381, 254, 254, 0, 307, 0 },
+ { 586, 586, 4, 10, 41, 346, 0 },
+ { 595, 595, 254, 254, 0, 348, 0 },
+ { 619, 619, 254, 254, 0, 223, 0 },
+ { 603, 602, 254, 5, 0, 223, 0 },
+ { 603, 603, 0, 254, 0, 223, 0 },
+ { 619, 533, 254, 5, 0, 223, 0 },
+ { 619, 534, 0, 254, 0, 223, 0 },
+ { 619, 531, 254, 5, 0, 223, 0 },
+ { 619, 532, 0, 254, 0, 223, 0 },
+ { 619, 103, 254, 5, 0, 223, 0 },
+ { 90, 90, 2, 254, 0, 304, 0 },
+ { 91, 91, 2, 254, 0, 304, 0 },
+ { 92, 92, 2, 254, 0, 223, 0 },
+ { 94, 94, 2, 5, 120, 249, 0 },
+ { 491, 491, 254, 254, 0, 223, 0 },
+ { 506, 506, 2, 5, 0, 223, 0 },
+ { 508, 508, 2, 5, 0, 223, 0 },
+ { 434, 434, 2, 5, 0, 223, 0 },
+ { 217, 217, 4, 10, 30, 301, 0 },
+ { 218, 218, 4, 10, 31, 302, 0 },
+ { 215, 215, 3, 10, 0, 223, 0 },
+ { 216, 216, 3, 10, 0, 223, 0 },
+ { 219, 219, 254, 254, 0, 223, 0 },
+ { 220, 220, 254, 254, 0, 223, 0 },
+ { 492, 492, 254, 254, 29, 223, 0 },
+ { 529, 529, 1, 6, 0, 223, 0 },
+ { 484, 484, 1, 6, 0, 223, 0 },
+ { 485, 485, 1, 6, 0, 223, 0 },
+ { 552, 552, 254, 254, 0, 223, 0 },
+ { 544, 544, 254, 254, 0, 223, 0 },
+ { 543, 543, 254, 254, 0, 223, 0 },
+ { 549, 549, 254, 254, 0, 223, 0 },
+ { 547, 547, 254, 254, 0, 223, 0 },
+ { 545, 545, 254, 254, 0, 223, 0 },
+ { 546, 546, 254, 254, 0, 223, 0 },
+ { 548, 548, 254, 254, 0, 223, 0 },
+ { 551, 551, 100, 254, 0, 223, 0 },
+ { 550, 550, 100, 254, 0, 223, 0 },
+ { 530, 530, 254, 254, 0, 223, 0 },
+ { 102, 102, 254, 254, 53, 252, 0 },
+ { 105, 105, 254, 254, 54, 253, 0 },
+ { 625, 625, 4, 10, 0, 358, 0 },
+ { 72, 72, 3, 254, 62, 238, 0 },
+ { 70, 70, 3, 254, 63, 236, 0 },
+ { 71, 71, 3, 254, 64, 237, 0 },
+ { 69, 69, 3, 254, 65, 235, 0 },
+ { 75, 75, 3, 254, 66, 241, 0 },
+ { 76, 76, 3, 5, 67, 242, 0 },
+ { 73, 73, 3, 5, 68, 239, 0 },
+ { 78, 78, 3, 254, 69, 243, 0 },
+ { 79, 79, 3, 254, 70, 244, 0 },
+ { 74, 74, 3, 254, 71, 240, 0 },
+ { 77, 77, 3, 254, 0, 223, 0 },
+ { 438, 438, 0, 10, 0, 223, 0 },
+ { 495, 495, 0, 9, 0, 223, 0 },
+ { 493, 493, 0, 9, 0, 223, 0 },
+ { 494, 494, 0, 9, 0, 223, 0 },
+ { 371, 371, 2, 254, 74, 319, 0 },
+ { 370, 370, 2, 254, 76, 318, 0 },
+ { 97, 97, 2, 254, 75, 251, 0 },
+ { 621, 621, 2, 254, 75, 251, 0 },
+ { 605, 605, 1, 6, 14, 355, 0 },
+ { 610, 610, 1, 6, 15, 353, 0 },
+ { 483, 483, 254, 254, 0, 223, 0 },
+ { 212, 212, 4, 10, 80, 298, 0 },
+ { 213, 213, 4, 10, 81, 299, 0 },
+ { 571, 571, 254, 254, 82, 339, 0 },
+ { 572, 572, 254, 254, 83, 340, 0 },
+ { 114, 114, 3, 9, 0, 255, 0 },
+ { 116, 116, 3, 9, 85, 256, 0 },
+ { 115, 115, 3, 9, 0, 232, 0 },
+ { 113, 113, 3, 9, 0, 232, 0 },
+ { 117, 117, 3, 9, 0, 232, 0 },
+ { 119, 119, 3, 9, 86, 257, 0 },
+ { 120, 120, 3, 9, 87, 257, 0 },
+ { 28, 121, 3, 9, 0, 232, 0 },
+ { 122, 122, 3, 9, 0, 232, 0 },
+ { 118, 118, 254, 254, 0, 304, 0 },
+ { 222, 222, 4, 10, 84, 303, 0 },
+ { 224, 224, 254, 254, 40, 248, 0 },
+ { 8, 8, 0, 5, 0, 232, 0 },
+ { 554, 554, 254, 254, 0, 223, 0 },
+ { 553, 553, 254, 254, 0, 223, 0 },
+ { 394, 394, 1, 6, 0, 232, 0 },
+ { 395, 395, 1, 6, 0, 232, 0 },
+ { 396, 396, 254, 254, 0, 232, 0 },
+ { 384, 384, 1, 6, 0, 232, 0 },
+ { 385, 385, 1, 6, 0, 232, 0 },
+ { 386, 386, 1, 6, 0, 232, 0 },
+ { 388, 388, 1, 6, 0, 232, 0 },
+ { 392, 392, 1, 6, 0, 232, 0 },
+ { 393, 393, 1, 6, 0, 232, 0 },
+ { 390, 390, 1, 6, 0, 232, 0 },
+ { 391, 391, 1, 6, 0, 232, 0 },
+ { 387, 387, 1, 6, 0, 232, 0 },
+ { 389, 389, 1, 6, 0, 232, 0 },
+ { 398, 398, 1, 6, 0, 232, 0 },
+ { 399, 399, 1, 6, 0, 232, 0 },
+ { 400, 400, 1, 6, 0, 232, 0 },
+ { 401, 401, 1, 6, 0, 232, 0 },
+ { 404, 404, 1, 6, 0, 232, 0 },
+ { 405, 405, 1, 6, 0, 232, 0 },
+ { 402, 402, 1, 6, 0, 232, 0 },
+ { 403, 403, 1, 6, 0, 232, 0 },
+ { 504, 504, 254, 254, 0, 334, 0 },
+ { 4142, 4142, 0, 5, 0, 223, 0 },
+ { 4141, 4141, 0, 5, 0, 223, 0 },
+ { 4106, 4106, 254, 254, 0, 223, 0 },
+ { 4104, 4104, 254, 254, 0, 223, 0 },
+ { 4105, 4105, 254, 254, 0, 223, 0 },
+ { 4103, 4103, 254, 254, 0, 223, 0 },
+ { 4129, 4129, 254, 254, 0, 223, 0 },
+ { 4131, 4131, 254, 254, 0, 223, 0 },
+ { 4130, 4130, 254, 254, 0, 223, 0 },
+ { 4132, 4132, 254, 254, 0, 223, 0 },
+ { 4133, 4133, 254, 254, 94, 4113, 0 },
+ { 4136, 4136, 254, 254, 0, 223, 0 },
+ { 4137, 4137, 254, 254, 0, 223, 0 },
+ { 4134, 4134, 254, 254, 95, 4114, 0 },
+ { 4135, 4135, 254, 254, 95, 4114, 0 },
+ { 4138, 4138, 254, 254, 99, 4115, 0 },
+ { 4121, 4121, 254, 254, 0, 223, 0 },
+ { 4123, 4123, 254, 254, 97, 4110, 0 },
+ { 4124, 4124, 254, 254, 98, 4111, 0 },
+ { 4122, 4122, 254, 254, 96, 4109, 0 },
+ { 4128, 4128, 254, 254, 95, 4114, 0 },
+ { 4125, 4125, 254, 254, 101, 4112, 0 },
+ { 4119, 4119, 254, 254, 100, 4108, 0 },
+ { 4120, 4120, 254, 254, 100, 4108, 0 },
+ { 4139, 4139, 254, 254, 0, 223, 0 },
+ { 4140, 4140, 254, 254, 0, 223, 0 },
+ { 4117, 4117, 254, 254, 102, 4107, 0 },
+ { 4118, 4118, 254, 254, 102, 4107, 0 },
+ { 4102, 4102, 254, 254, 0, 223, 0 },
+ { 4116, 4116, 254, 254, 0, 223, 0 },
+ { 4126, 4126, 0, 5, 0, 223, 0 },
+ { 4127, 4127, 254, 254, 0, 223, 0 },
+ { 177, 177, 254, 254, 93, 291, 0 },
+ { 412, 412, 254, 5, 0, 232, 0 },
+ { 413, 413, 254, 5, 0, 232, 0 },
+ { 406, 406, 0, 5, 0, 232, 0 },
+ { 411, 411, 0, 5, 0, 232, 0 },
+ { 410, 410, 0, 5, 0, 232, 0 },
+ { 409, 409, 0, 5, 0, 232, 0 },
+ { 407, 407, 254, 5, 0, 232, 0 },
+ { 408, 408, 254, 5, 0, 232, 0 },
+ { 8204, 8204, 3, 9, 0, 232, 0 },
+ { 8205, 8205, 3, 9, 0, 232, 0 },
+ { 8206, 8206, 3, 9, 0, 232, 0 },
+ { 8207, 8207, 100, 254, 0, 232, 0 },
+ { 8201, 8201, 100, 9, 103, 232, 0 },
+ { 8202, 8202, 100, 9, 104, 232, 0 },
+ { 8203, 8203, 100, 10, 105, 8200, 0 },
+ { 8208, 8208, 0, 5, 0, 223, 0 },
+ { 20493, 20493, 1, 6, 0, 232, 0 },
+ { 20494, 20494, 1, 6, 0, 232, 0 },
+ { 20490, 20490, 3, 9, 0, 232, 0 },
+ { 20491, 20491, 3, 9, 0, 232, 0 },
+ { 20492, 20492, 100, 254, 0, 232, 0 },
+ { 20487, 20487, 100, 9, 106, 232, 0 },
+ { 20488, 20488, 100, 9, 107, 232, 0 },
+ { 20489, 20489, 100, 10, 108, 20495, 0 },
+ { 515, 515, 2, 5, 111, 232, 0 },
+ { 516, 516, 2, 5, 112, 232, 0 },
+ { 363, 363, 2, 10, 113, 309, 0 },
+ { 606, 606, 3, 9, 39, 234, 0 },
+ { 486, 486, 3, 9, 40, 248, 0 },
+ { 487, 487, 3, 9, 40, 248, 0 },
+ { 422, 422, 4, 5, 116, 330, 0 },
+ { 614, 362, 254, 254, 0, 310, 0 },
+ { 12292, 12292, 1, 6, 0, 12291, 0 },
+ { 101, 101, 254, 254, 0, 223, 0 },
+ { 98, 98, 3, 9, 0, 232, 0 },
+ { 100, 100, 3, 9, 0, 232, 0 },
+ { 99, 99, 3, 9, 0, 232, 0 },
+ { 615, 615, 4, 10, 121, 354, 0 },
+ { 208, 208, 4, 10, 126, 295, 0 },
+ { 375, 375, 254, 254, 0, 223, 0 },
+ { 633, 633, 4, 10, 0, 359, 0 },
+ { 634, 634, 4, 10, 0, 307, 0 },
+ { 207, 207, 0, 6, 0, 232, 0 },
+ { 162, 162, 100, 6, 129, 283, 0 },
+ { 163, 163, 100, 6, 129, 232, 0 },
+ { 160, 160, 100, 6, 131, 281, 0 },
+ { 161, 161, 100, 6, 132, 282, 0 },
+ { 24587, 24587, 0, 10, 133, 24585, 0 },
+ { 24588, 24588, 0, 5, 0, 232, 0 },
+ { 24586, 24586, 100, 5, 0, 24584, 0 },
+ { 28682, 28682, 0, 6, 0, 232, 0 },
+ { 28683, 28683, 0, 6, 0, 232, 0 },
+ { 28684, 28684, 0, 6, 0, 232, 0 },
+ { 28686, 28686, 0, 6, 0, 232, 0 },
+ { 28685, 28685, 0, 6, 0, 232, 0 },
+ { 28680, 28680, 0, 5, 134, 28688, 0 },
+ { 28681, 28681, 0, 5, 0, 28689, 0 },
+ { 614, 28687, 4, 5, 135, 28690, 0 },
+ { 415, 415, 254, 254, 0, 223, 0 },
+ { 414, 414, 254, 254, 0, 223, 0 },
+ { 490, 490, 254, 254, 136, 331, 0 },
+ { 11, 11, 254, 254, 137, 231, 0 },
+};
/* 80391010-803914A8 -00001 0498+00 4/4 0/0 0/0 .rodata m_wlAnmDataTable__9daAlink_c */
-SECTION_RODATA void* const daAlink_c::m_wlAnmDataTable[294] = {
- (void*)0x02FF0001,
- (void*)0x0A28FFFF,
- (void*)0x030A0002,
- (void*)0x010EFFFF,
- (void*)0x030B0002,
- (void*)0x010EFFFF,
- (void*)0x02B4000C,
- (void*)0xFFFFFFFF,
- (void*)0x02CC010C,
- (void*)0xFFFFFFFF,
- (void*)0x02CA010C,
- (void*)0xFFFFFFFF,
- (void*)0x02CB010C,
- (void*)0xFFFFFFFF,
- (void*)0x03050001,
- (void*)0x0FFFFFFF,
- (void*)0x02E00007,
- (void*)0x02FFFFFF,
- (void*)0x02DF0007,
- (void*)0x0620FFFF,
- (void*)0x02DE000C,
- (void*)0xFFFFFFFF,
- (void*)0x02E90100,
- (void*)0x07FFFFFF,
- (void*)0x02D4010C,
- (void*)0xFFFFFFFF,
- (void*)0x02D5020C,
- (void*)0xFFFFFFFF,
- (void*)0x03060100,
- (void*)0x01FFFFFF,
- (void*)0x029A0107,
- (void*)0x09FFFFFF,
- (void*)0x02FE0105,
- (void*)0x09FFFFFF,
- (void*)0x029C0105,
- (void*)0x03FFFFFF,
- (void*)0x029B010C,
- (void*)0xFFFFFFFF,
- (void*)0x02FD0106,
- (void*)0x19FFFFFF,
- (void*)0x02FC010C,
- (void*)0xFFFFFFFF,
- (void*)0x02FB0008,
- (void*)0x03FFFFFF,
- (void*)0x02A7000C,
- (void*)0xFFFFFFFF,
- (void*)0x03030003,
- (void*)0x0A1E32FF,
- (void*)0x03000003,
- (void*)0x06FFFFFF,
- (void*)0x02C20105,
- (void*)0x06FFFFFF,
- (void*)0x02EE010C,
- (void*)0xFFFFFFFF,
- (void*)0x02FA010C,
- (void*)0xFFFFFFFF,
- (void*)0x027E000C,
- (void*)0xFFFFFFFF,
- (void*)0x030C0102,
- (void*)0x0112FFFF,
- (void*)0x02EA010C,
- (void*)0xFFFFFFFF,
- (void*)0x02EB010C,
- (void*)0xFFFFFFFF,
- (void*)0x02EC020C,
- (void*)0xFFFFFFFF,
- (void*)0x02E70002,
- (void*)0x010EFFFF,
- (void*)0x02E30105,
- (void*)0x14FFFFFF,
- (void*)0x02E40105,
- (void*)0x1AFFFFFF,
- (void*)0x02E6000C,
- (void*)0xFFFFFFFF,
- (void*)0x02E80801,
- (void*)0x1932FFFF,
- (void*)0x02E50902,
- (void*)0x010E1E2D,
- (void*)0x02B5010C,
- (void*)0xFFFFFFFF,
- (void*)0x02AC020C,
- (void*)0xFFFFFFFF,
- (void*)0x02AA020C,
- (void*)0xFFFFFFFF,
- (void*)0x02AE020C,
- (void*)0xFFFFFFFF,
- (void*)0x02B0020C,
- (void*)0xFFFFFFFF,
- (void*)0x02AD020A,
- (void*)0x20FFFFFF,
- (void*)0x02AB020B,
- (void*)0x14FFFFFF,
- (void*)0x02AF020C,
- (void*)0xFFFFFFFF,
- (void*)0x02B1020C,
- (void*)0xFFFFFFFF,
- (void*)0x02F0000C,
- (void*)0xFFFFFFFF,
- (void*)0x03020001,
- (void*)0x0A28FFFF,
- (void*)0x02CF000C,
- (void*)0xFFFFFFFF,
- (void*)0x02D0000C,
- (void*)0xFFFFFFFF,
- (void*)0x02CD000C,
- (void*)0xFFFFFFFF,
- (void*)0x02CE000C,
- (void*)0xFFFFFFFF,
- (void*)0x02F7010C,
- (void*)0xFFFFFFFF,
- (void*)0x02F80001,
- (void*)0x0DFFFFFF,
- (void*)0x02F60002,
- (void*)0x01FFFFFF,
- (void*)0x02F30004,
- (void*)0x03FFFFFF,
- (void*)0x02F1010C,
- (void*)0xFFFFFFFF,
- (void*)0x0307000C,
- (void*)0xFFFFFFFF,
- (void*)0x02A9010C,
- (void*)0xFFFFFFFF,
- (void*)0x02A8010C,
- (void*)0xFFFFFFFF,
- (void*)0x02B2010C,
- (void*)0xFFFFFFFF,
- (void*)0x02B3010C,
- (void*)0xFFFFFFFF,
- (void*)0x028D010C,
- (void*)0xFFFFFFFF,
- (void*)0x028E010C,
- (void*)0xFFFFFFFF,
- (void*)0x028F000C,
- (void*)0xFFFFFFFF,
- (void*)0x0290010C,
- (void*)0xFFFFFFFF,
- (void*)0x027F000C,
- (void*)0xFFFFFFFF,
- (void*)0x0281000C,
- (void*)0xFFFFFFFF,
- (void*)0x0280000C,
- (void*)0xFFFFFFFF,
- (void*)0x02DA000C,
- (void*)0xFFFFFFFF,
- (void*)0x0285010C,
- (void*)0xFFFFFFFF,
- (void*)0x0284010C,
- (void*)0xFFFFFFFF,
- (void*)0x0287010C,
- (void*)0xFFFFFFFF,
- (void*)0x0286010C,
- (void*)0xFFFFFFFF,
- (void*)0x0283010C,
- (void*)0xFFFFFFFF,
- (void*)0x0282010C,
- (void*)0xFFFFFFFF,
- (void*)0x02DB000C,
- (void*)0xFFFFFFFF,
- (void*)0x02DC0009,
- (void*)0x07FFFFFF,
- (void*)0x028C010C,
- (void*)0xFFFFFFFF,
- (void*)0x0288010C,
- (void*)0xFFFFFFFF,
- (void*)0x0289010C,
- (void*)0xFFFFFFFF,
- (void*)0x028B010C,
- (void*)0xFFFFFFFF,
- (void*)0x028A010C,
- (void*)0xFFFFFFFF,
- (void*)0x0295020C,
- (void*)0xFFFFFFFF,
- (void*)0x0294020C,
- (void*)0xFFFFFFFF,
- (void*)0x02C3010C,
- (void*)0xFFFFFFFF,
- (void*)0x02C5010C,
- (void*)0xFFFFFFFF,
- (void*)0x02C4010C,
- (void*)0xFFFFFFFF,
- (void*)0x02A4000C,
- (void*)0xFFFFFFFF,
- (void*)0x02A6000C,
- (void*)0xFFFFFFFF,
- (void*)0x02C6000C,
- (void*)0xFFFFFFFF,
- (void*)0x02C7010C,
- (void*)0xFFFFFFFF,
- (void*)0x02C8010C,
- (void*)0xFFFFFFFF,
- (void*)0x02C90001,
- (void*)0x1EFFFFFF,
- (void*)0x02D2010C,
- (void*)0xFFFFFFFF,
- (void*)0x02D3010A,
- (void*)0x04FFFFFF,
- (void*)0x0299000C,
- (void*)0xFFFFFFFF,
- (void*)0x0296010C,
- (void*)0xFFFFFFFF,
- (void*)0x0297010C,
- (void*)0xFFFFFFFF,
- (void*)0x0298010B,
- (void*)0x28FFFFFF,
- (void*)0x02E2010C,
- (void*)0xFFFFFFFF,
- (void*)0x02E1010C,
- (void*)0xFFFFFFFF,
- (void*)0x02B9000B,
- (void*)0x41FFFFFF,
- (void*)0x02BA0D0C,
- (void*)0xFFFFFFFF,
- (void*)0x02F90005,
- (void*)0x394655FF,
- (void*)0x02ED0106,
- (void*)0x01FFFFFF,
- (void*)0x02D1010C,
- (void*)0xFFFFFFFF,
- (void*)0x02DD000C,
- (void*)0xFFFFFFFF,
- (void*)0x02A5000C,
- (void*)0xFFFFFFFF,
- (void*)0x02A2000C,
- (void*)0xFFFFFFFF,
- (void*)0x02A3000C,
- (void*)0xFFFFFFFF,
- (void*)0x0308010C,
- (void*)0xFFFFFFFF,
- (void*)0x02EF000C,
- (void*)0xFFFFFFFF,
- (void*)0x02B60204,
- (void*)0x01FFFFFF,
- (void*)0x0293010C,
- (void*)0xFFFFFFFF,
- (void*)0x0291010C,
- (void*)0xFFFFFFFF,
- (void*)0x02BC000C,
- (void*)0xFFFFFFFF,
- (void*)0x02BF000C,
- (void*)0xFFFFFFFF,
- (void*)0x029E020C,
- (void*)0xFFFFFFFF,
- (void*)0x029D020C,
- (void*)0xFFFFFFFF,
- (void*)0x02920105,
- (void*)0x10FFFFFF,
- (void*)0x02B8060C,
- (void*)0xFFFFFFFF,
- (void*)0x02F4070C,
- (void*)0xFFFFFFFF,
- (void*)0x02F5070C,
- (void*)0xFFFFFFFF,
- (void*)0x0304020C,
- (void*)0xFFFFFFFF,
- (void*)0x03010001,
- (void*)0x0FFFFFFF,
- (void*)0x02F20001,
- (void*)0x0F2DFFFF,
- (void*)0x02D7000C,
- (void*)0xFFFFFFFF,
- (void*)0x02BB030C,
- (void*)0xFFFFFFFF,
- (void*)0x02C1010C,
- (void*)0xFFFFFFFF,
- (void*)0x02C00100,
- (void*)0x05FFFFFF,
- (void*)0x03090001,
- (void*)0x01FFFFFF,
- (void*)0x029F050C,
- (void*)0xFFFFFFFF,
- (void*)0x02D8000C,
- (void*)0xFFFFFFFF,
- (void*)0x02D9020C,
- (void*)0xFFFFFFFF,
- (void*)0x4003000C,
- (void*)0xFFFFFFFF,
- (void*)0x02A0000C,
- (void*)0xFFFFFFFF,
- (void*)0x02A1000C,
- (void*)0xFFFFFFFF,
- (void*)0x02D60100,
- (void*)0x143AFFFF,
- (void*)(((char*)JPACalcKeyAnmValue__FfUsPCf) + 0x88),
- (void*)0xFFFFFFFF,
- (void*)(((char*)cLib_chasePosXZ__FP4cXyzRC4cXyzf) + 0x7C),
- (void*)0xFFFFFFFF,
- (void*)(((char*)func_802A0A8C) + 0x80),
- (void*)0xFFFFFFFF,
- (void*)(((char*)getAramHeap__9JASKernelFv) + 0x4),
- (void*)0xFFFFFFFF,
- (void*)(((char*)startCollisionSE__10Z2CreatureFUlUl) + 0x24),
- (void*)0xFFFFFFFF,
- (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0xC80),
- (void*)0xFFFFFFFF,
+daAlink_WlAnmData const daAlink_c::m_wlAnmDataTable[147] = {
+ { 767, 0, 1, 2600, 255, 255 },
+ { 778, 0, 2, 270, 255, 255 },
+ { 779, 0, 2, 270, 255, 255 },
+ { 692, 0, 12, 65535, 255, 255 },
+ { 716, 1, 12, 65535, 255, 255 },
+ { 714, 1, 12, 65535, 255, 255 },
+ { 715, 1, 12, 65535, 255, 255 },
+ { 773, 0, 1, 4095, 255, 255 },
+ { 736, 0, 7, 767, 255, 255 },
+ { 735, 0, 7, 1568, 255, 255 },
+ { 734, 0, 12, 65535, 255, 255 },
+ { 745, 1, 0, 2047, 255, 255 },
+ { 724, 1, 12, 65535, 255, 255 },
+ { 725, 2, 12, 65535, 255, 255 },
+ { 774, 1, 0, 511, 255, 255 },
+ { 666, 1, 7, 2559, 255, 255 },
+ { 766, 1, 5, 2559, 255, 255 },
+ { 668, 1, 5, 1023, 255, 255 },
+ { 667, 1, 12, 65535, 255, 255 },
+ { 765, 1, 6, 6655, 255, 255 },
+ { 764, 1, 12, 65535, 255, 255 },
+ { 763, 0, 8, 1023, 255, 255 },
+ { 679, 0, 12, 65535, 255, 255 },
+ { 771, 0, 3, 2590, 50, 255 },
+ { 768, 0, 3, 1791, 255, 255 },
+ { 706, 1, 5, 1791, 255, 255 },
+ { 750, 1, 12, 65535, 255, 255 },
+ { 762, 1, 12, 65535, 255, 255 },
+ { 638, 0, 12, 65535, 255, 255 },
+ { 780, 1, 2, 274, 255, 255 },
+ { 746, 1, 12, 65535, 255, 255 },
+ { 747, 1, 12, 65535, 255, 255 },
+ { 748, 2, 12, 65535, 255, 255 },
+ { 743, 0, 2, 270, 255, 255 },
+ { 739, 1, 5, 5375, 255, 255 },
+ { 740, 1, 5, 6911, 255, 255 },
+ { 742, 0, 12, 65535, 255, 255 },
+ { 744, 8, 1, 6450, 255, 255 },
+ { 741, 9, 2, 270, 30, 45 },
+ { 693, 1, 12, 65535, 255, 255 },
+ { 684, 2, 12, 65535, 255, 255 },
+ { 682, 2, 12, 65535, 255, 255 },
+ { 686, 2, 12, 65535, 255, 255 },
+ { 688, 2, 12, 65535, 255, 255 },
+ { 685, 2, 10, 8447, 255, 255 },
+ { 683, 2, 11, 5375, 255, 255 },
+ { 687, 2, 12, 65535, 255, 255 },
+ { 689, 2, 12, 65535, 255, 255 },
+ { 752, 0, 12, 65535, 255, 255 },
+ { 770, 0, 1, 2600, 255, 255 },
+ { 719, 0, 12, 65535, 255, 255 },
+ { 720, 0, 12, 65535, 255, 255 },
+ { 717, 0, 12, 65535, 255, 255 },
+ { 718, 0, 12, 65535, 255, 255 },
+ { 759, 1, 12, 65535, 255, 255 },
+ { 760, 0, 1, 3583, 255, 255 },
+ { 758, 0, 2, 511, 255, 255 },
+ { 755, 0, 4, 1023, 255, 255 },
+ { 753, 1, 12, 65535, 255, 255 },
+ { 775, 0, 12, 65535, 255, 255 },
+ { 681, 1, 12, 65535, 255, 255 },
+ { 680, 1, 12, 65535, 255, 255 },
+ { 690, 1, 12, 65535, 255, 255 },
+ { 691, 1, 12, 65535, 255, 255 },
+ { 653, 1, 12, 65535, 255, 255 },
+ { 654, 1, 12, 65535, 255, 255 },
+ { 655, 0, 12, 65535, 255, 255 },
+ { 656, 1, 12, 65535, 255, 255 },
+ { 639, 0, 12, 65535, 255, 255 },
+ { 641, 0, 12, 65535, 255, 255 },
+ { 640, 0, 12, 65535, 255, 255 },
+ { 730, 0, 12, 65535, 255, 255 },
+ { 645, 1, 12, 65535, 255, 255 },
+ { 644, 1, 12, 65535, 255, 255 },
+ { 647, 1, 12, 65535, 255, 255 },
+ { 646, 1, 12, 65535, 255, 255 },
+ { 643, 1, 12, 65535, 255, 255 },
+ { 642, 1, 12, 65535, 255, 255 },
+ { 731, 0, 12, 65535, 255, 255 },
+ { 732, 0, 9, 2047, 255, 255 },
+ { 652, 1, 12, 65535, 255, 255 },
+ { 648, 1, 12, 65535, 255, 255 },
+ { 649, 1, 12, 65535, 255, 255 },
+ { 651, 1, 12, 65535, 255, 255 },
+ { 650, 1, 12, 65535, 255, 255 },
+ { 661, 2, 12, 65535, 255, 255 },
+ { 660, 2, 12, 65535, 255, 255 },
+ { 707, 1, 12, 65535, 255, 255 },
+ { 709, 1, 12, 65535, 255, 255 },
+ { 708, 1, 12, 65535, 255, 255 },
+ { 676, 0, 12, 65535, 255, 255 },
+ { 678, 0, 12, 65535, 255, 255 },
+ { 710, 0, 12, 65535, 255, 255 },
+ { 711, 1, 12, 65535, 255, 255 },
+ { 712, 1, 12, 65535, 255, 255 },
+ { 713, 0, 1, 7935, 255, 255 },
+ { 722, 1, 12, 65535, 255, 255 },
+ { 723, 1, 10, 1279, 255, 255 },
+ { 665, 0, 12, 65535, 255, 255 },
+ { 662, 1, 12, 65535, 255, 255 },
+ { 663, 1, 12, 65535, 255, 255 },
+ { 664, 1, 11, 10495, 255, 255 },
+ { 738, 1, 12, 65535, 255, 255 },
+ { 737, 1, 12, 65535, 255, 255 },
+ { 697, 0, 11, 16895, 255, 255 },
+ { 698, 13, 12, 65535, 255, 255 },
+ { 761, 0, 5, 14662, 85, 255 },
+ { 749, 1, 6, 511, 255, 255 },
+ { 721, 1, 12, 65535, 255, 255 },
+ { 733, 0, 12, 65535, 255, 255 },
+ { 677, 0, 12, 65535, 255, 255 },
+ { 674, 0, 12, 65535, 255, 255 },
+ { 675, 0, 12, 65535, 255, 255 },
+ { 776, 1, 12, 65535, 255, 255 },
+ { 751, 0, 12, 65535, 255, 255 },
+ { 694, 2, 4, 511, 255, 255 },
+ { 659, 1, 12, 65535, 255, 255 },
+ { 657, 1, 12, 65535, 255, 255 },
+ { 700, 0, 12, 65535, 255, 255 },
+ { 703, 0, 12, 65535, 255, 255 },
+ { 670, 2, 12, 65535, 255, 255 },
+ { 669, 2, 12, 65535, 255, 255 },
+ { 658, 1, 5, 4351, 255, 255 },
+ { 696, 6, 12, 65535, 255, 255 },
+ { 756, 7, 12, 65535, 255, 255 },
+ { 757, 7, 12, 65535, 255, 255 },
+ { 772, 2, 12, 65535, 255, 255 },
+ { 769, 0, 1, 4095, 255, 255 },
+ { 754, 0, 1, 3885, 255, 255 },
+ { 727, 0, 12, 65535, 255, 255 },
+ { 699, 3, 12, 65535, 255, 255 },
+ { 705, 1, 12, 65535, 255, 255 },
+ { 704, 1, 0, 1535, 255, 255 },
+ { 777, 0, 1, 511, 255, 255 },
+ { 671, 5, 12, 65535, 255, 255 },
+ { 728, 0, 12, 65535, 255, 255 },
+ { 729, 2, 12, 65535, 255, 255 },
+ { 16387, 0, 12, 65535, 255, 255 },
+ { 672, 0, 12, 65535, 255, 255 },
+ { 673, 0, 12, 65535, 255, 255 },
+ { 726, 1, 0, 5178, 255, 255 },
+ { 32808, 10, 12, 65535, 255, 255 },
+ { 32807, 10, 12, 65535, 255, 255 },
+ { 32810, 11, 12, 65535, 255, 255 },
+ { 32809, 11, 12, 65535, 255, 255 },
+ { 32812, 12, 12, 65535, 255, 255 },
+ { 32811, 12, 12, 65535, 255, 255 },
};
-COMPILER_STRIP_GATE(0x80391010, &daAlink_c::m_wlAnmDataTable);
/* 803914A8-80391734 01DB08 028C+00 2/2 0/0 0/0 .rodata m_faceTexDataTable__9daAlink_c */
SECTION_RODATA u8 const daAlink_c::m_faceTexDataTable[652] = {
@@ -7947,26 +7577,21 @@ SECTION_RODATA static u8 const getSeType[255 + 1 /* padding */] = {
COMPILER_STRIP_GATE(0x80391A5C, &getSeType);
/* 80391B5C-80391B7C 01E1BC 0020+00 1/1 0/0 0/0 .rodata bgmLabel$37391 */
-SECTION_RODATA static u8 const bgmLabel[32] = {
- 0x01, 0x00, 0x00, 0x1C, 0x01, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x00, 0x0B, 0x01, 0x00, 0x00, 0x14,
- 0x01, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00, 0x82, 0x01, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0xA0,
+static u32 const bgmLabel[8] = {
+ 0x100001C, 0x100000A, 0x100000B, 0x1000014, 0x1000081, 0x1000082, 0x1000083, 0x10000A0
};
-COMPILER_STRIP_GATE(0x80391B5C, &bgmLabel);
/* 80391B7C-80391B8C 01E1DC 0010+00 1/1 0/0 0/0 .rodata rupeeCount$37407 */
-SECTION_RODATA static u8 const rupeeCount[16] = {
- 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xC8,
+static int const rupeeCount[4] = {
+ 20, 50, 100, 200
};
-COMPILER_STRIP_GATE(0x80391B7C, &rupeeCount);
/* 80391B8C-80391BA0 01E1EC 0014+00 0/1 0/0 0/0 .rodata heartPieceMessage$37580 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const heartPieceMessage[20] = {
- 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00,
- 0x00, 0x9D, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x9F,
+static u32 const heartPieceMessage[5] = {
+ 0x86, 0x9C, 0x9D, 0x9E, 0x9F
};
-COMPILER_STRIP_GATE(0x80391B8C, &heartPieceMessage);
#pragma pop
/* 80391BA0-80391BAC 01E200 000C+00 0/1 0/0 0/0 .rodata effName$39419 */
@@ -8191,10 +7816,10 @@ SECTION_RODATA static u8 const effName_41208[12] = {
COMPILER_STRIP_GATE(0x80391D38, &effName_41208);
/* 80391D44-80391D54 01E3A4 0010+00 1/1 0/0 0/0 .rodata swordUpColor$41733 */
-SECTION_RODATA static u8 const swordUpColor[16] = {
- 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x02, 0x00, 0xFF, 0x00, 0x1C, 0x00, 0x10, 0x00, 0x04, 0x00, 0xFF,
+static GXColorS10 const swordUpColor[2] = {
+ { 13, 10, 2, 255 },
+ { 28, 16, 4, 255 }
};
-COMPILER_STRIP_GATE(0x80391D44, &swordUpColor);
/* 80391D54-80391D60 01E3B4 000C+00 1/1 0/0 0/0 .rodata swordCutSplashScale$41755 */
SECTION_RODATA static u8 const swordCutSplashScale[12] = {
@@ -8502,7 +8127,7 @@ asm void daAlink_c::handBgCheck() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::setItemHeap() {
+asm JKRHeap* daAlink_c::setItemHeap() {
nofralloc
#include "asm/d/a/d_a_alink/setItemHeap__9daAlink_cFv.s"
}
@@ -8534,7 +8159,7 @@ asm void daAlink_c::getAnimeResource(daPy_anmHeap_c* param_0, u16 param_1, u32 p
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::initModel(J3DModelData* param_0, u32 param_1, u32 param_2) {
+asm J3DModel* daAlink_c::initModel(J3DModelData* param_0, u32 param_1, u32 param_2) {
nofralloc
#include "asm/d/a/d_a_alink/initModel__9daAlink_cFP12J3DModelDataUlUl.s"
}
@@ -8701,21 +8326,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
};
/* 803AF99C-803AF9A8 00CABC 000A+02 2/2 0/0 0/0 .data l_peepEventName */
-SECTION_DATA static u8 l_peepEventName[10 + 2 /* padding */] = {
- 0x50,
- 0x45,
- 0x45,
- 0x50,
- 0x5F,
- 0x48,
- 0x4F,
- 0x4C,
- 0x45,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
-};
+SECTION_DATA static const char l_peepEventName[10] = "PEEP_HOLE";
/* 803AF9A8-803AF9B4 -00001 000C+00 0/1 0/0 0/0 .data @4422 */
#pragma push
@@ -13482,84 +13093,31 @@ SECTION_DATA static void* l_wolfJntColData[54] = {
/* 803B2C40-803B2C50 00FD60 000D+03 0/1 0/0 0/0 .data defaultPortal$39238 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 defaultPortal[13 + 3 /* padding */] = {
- 0x50,
- 0x4F,
- 0x54,
- 0x41,
- 0x4C,
- 0x5F,
- 0x57,
- 0x41,
- 0x52,
- 0x50,
- 0x49,
- 0x4E,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static const char defaultPortal[13] = "POTAL_WARPIN";
#pragma pop
/* 803B2C50-803B2C64 00FD70 0014+00 0/1 0/0 0/0 .data kBridgePortal$39239 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 kBridgePortal[20] = {
- 0x50, 0x4F, 0x52, 0x54, 0x41, 0x4C, 0x5F, 0x57, 0x41, 0x52,
- 0x50, 0x5F, 0x4B, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x00,
-};
+SECTION_DATA static const char kBridgePortal[20] = "PORTAL_WARP_KBRIDGE";
#pragma pop
/* 803B2C64-803B2C78 00FD84 0014+00 0/1 0/0 0/0 .data oBridgePortal$39240 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 oBridgePortal[20] = {
- 0x50, 0x4F, 0x52, 0x54, 0x41, 0x4C, 0x5F, 0x57, 0x41, 0x52,
- 0x50, 0x5F, 0x4F, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x00,
-};
+SECTION_DATA static const char oBridgePortal[20] = "PORTAL_WARP_OBRIDGE";
#pragma pop
/* 803B2C78-803B2C8C 00FD98 0014+00 0/1 0/0 0/0 .data volcBomPortal$39241 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 volcBomPortal[20] = {
- 0x50, 0x4F, 0x52, 0x54, 0x41, 0x4C, 0x5F, 0x57, 0x41, 0x52,
- 0x50, 0x5F, 0x42, 0x49, 0x47, 0x56, 0x4F, 0x4C, 0x43, 0x00,
-};
+SECTION_DATA static const char volcBomPortal[20] = "PORTAL_WARP_BIGVOLC";
#pragma pop
/* 803B2C8C-803B2CA4 00FDAC 0016+02 0/1 0/0 0/0 .data cannonPortal$39242 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 cannonPortal[22 + 2 /* padding */] = {
- 0x53,
- 0x4B,
- 0x59,
- 0x5F,
- 0x43,
- 0x41,
- 0x4E,
- 0x4E,
- 0x4F,
- 0x4E,
- 0x5F,
- 0x57,
- 0x41,
- 0x52,
- 0x50,
- 0x5F,
- 0x53,
- 0x54,
- 0x41,
- 0x52,
- 0x54,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
-};
+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 */
@@ -15088,8 +14646,8 @@ void daAlink_c::setDoubleAnimeBlendRatio(f32 param_0) {
f32 tmp = lit_6040; // remove later
field_0x1f28[0].setRatio(tmp - param_0);
field_0x1f28[1].setRatio(param_0);
- field_0x1f40[0].setRatio(tmp - param_0);
- field_0x1f40[1].setRatio(param_0);
+ mNowAnmPack[0].setRatio(tmp - param_0);
+ mNowAnmPack[1].setRatio(param_0);
}
/* 800AC754-800ACA14 0A7094 02C0+00 2/2 0/0 0/0 .text
@@ -15589,24 +15147,25 @@ void dBgS_RoofChk::SetPos(cXyz const& pos) {
}
/* 800B1488-800B14B4 0ABDC8 002C+00 4/4 0/0 0/0 .text checkWaterPolygonUnder__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkWaterPolygonUnder() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWaterPolygonUnder__9daAlink_cFv.s"
+BOOL daAlink_c::checkWaterPolygonUnder() {
+ return i_checkModeFlg(MODE_SWIMMING) || mCurrent.mPosition.y < mWaterY;
}
-#pragma pop
/* 800B14B4-800B154C 0ABDF4 0098+00 2/2 0/0 0/0 .text setWaterY__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setWaterY() {
- nofralloc
-#include "asm/d/a/d_a_alink/setWaterY__9daAlink_cFv.s"
+void daAlink_c::setWaterY() {
+ if (mLinkAcch.ChkWaterHit()) {
+ i_onNoResetFlg0(FLG0_UNK_80);
+ field_0x2fbc = dComIfG_Bgsp().GetPolyAtt0(mLinkAcch.m_wtr);
+ mWaterY = mLinkAcch.m_wtr.GetHeight();
+ if (field_0x2fbc != 6) {
+ checkWaterInKandelaar(mWaterY);
+ }
+ } else {
+ i_offNoResetFlg0(FLG0_UNK_80);
+ field_0x2fbc = 16;
+ mWaterY = lit_9138;
+ }
}
-#pragma pop
/* 800B154C-800B172C 0ABE8C 01E0+00 2/2 0/0 0/0 .text setHangWaterY__9daAlink_cFv */
#pragma push
@@ -15656,25 +15215,15 @@ asm void daAlink_c::setBgCheckParam() {
/* 800B1B28-800B1B68 0AC468 0040+00 4/4 0/0 0/0 .text checkNotJumpSinkLimit__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkNotJumpSinkLimit() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkNotJumpSinkLimit__9daAlink_cFv.s"
+BOOL daAlink_c::checkNotJumpSinkLimit() {
+ return mSinkShapeOffset < lit_14614 || field_0x2fbd == 3 || (field_0x2fbd == 4 && mSinkShapeOffset < lit_14624);
}
-#pragma pop
/* 800B1B68-800B1BAC 0AC4A8 0044+00 2/2 0/0 0/0 .text checkNotItemSinkLimit__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkNotItemSinkLimit() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkNotItemSinkLimit__9daAlink_cFv.s"
+BOOL daAlink_c::checkNotItemSinkLimit() {
+ return mSinkShapeOffset < lit_28045 && (field_0x2fbd == 1 || field_0x2fbd == 2 || field_0x2fbd == 3 || field_0x2fbd == 4);
}
-#pragma pop
/* ############################################################################################## */
/* 804532A8-804532AC 0018A8 0004+00 1/1 0/0 0/0 .sdata2 @64730 */
@@ -15694,27 +15243,9 @@ asm void daAlink_c::setSandShapeOffset() {
#pragma pop
/* 800B1FB8-800B1FD8 0AC8F8 0020+00 2/2 0/0 0/0 .text checkLv2MiddleBossBgRide__9daAlink_cFs */
-#ifdef NONMATCHING
-bool daAlink_c::checkLv2MiddleBossBgRide(short param1) {
- bool check = false;
-
- // beqlr needs to be beq
- if (param1 != 0x7B && param1 == 0x7D) {
- check = true;
- }
-
- return check;
+bool daAlink_c::checkLv2MiddleBossBgRide(short param_0) {
+ return param_0 == 0x7B || param_0 == 0x7D;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkLv2MiddleBossBgRide(s16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/checkLv2MiddleBossBgRide__9daAlink_cFs.s"
-}
-#pragma pop
-#endif
/* 800B1FD8-800B21EC 0AC918 0214+00 11/11 0/0 0/0 .text getSlidePolygon__9daAlink_cFP8cM3dGPla */
#pragma push
@@ -15727,14 +15258,9 @@ asm void daAlink_c::getSlidePolygon(cM3dGPla* param_0) {
#pragma pop
/* 800B21EC-800B221C 0ACB2C 0030+00 4/4 0/0 0/0 .text checkSlope__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkSlope() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkSlope__9daAlink_cCFv.s"
+BOOL daAlink_c::checkSlope() const {
+ return field_0x3174 != 8 && field_0x2ff0 < -field_0x3122;
}
-#pragma pop
/* 800B221C-800B23FC 0ACB5C 01E0+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi
*/
@@ -15951,14 +15477,9 @@ asm void daAlink_c::initServiceWaitTime() {
#pragma pop
/* 800B3904-800B3924 0AE244 0020+00 50/50 0/0 0/0 .text checkZeroSpeedF__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkZeroSpeedF() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkZeroSpeedF__9daAlink_cCFv.s"
+bool daAlink_c::checkZeroSpeedF() const {
+ return fabsf(mNormalSpeed) < lit_12328;
}
-#pragma pop
/* 800B3924-800B3F2C 0AE264 0608+00 14/14 0/0 0/0 .text setNormalSpeedF__9daAlink_cFff */
#pragma push
@@ -16026,9 +15547,9 @@ asm void daAlink_c::checkServiceWaitMode() {
/* 800B48D0-800B4908 0AF210 0038+00 18/18 0/0 0/0 .text setJumpMode__9daAlink_cFv */
void daAlink_c::setJumpMode() {
onModeFlg(MODE_JUMP);
- field_0x34f8 = mCurrent.mPosition;
- field_0x33c4 = field_0x34f8.y;
- field_0x33c8 = field_0x34f8.y;
+ mLastJumpPos = mCurrent.mPosition;
+ mFallHeight = mLastJumpPos.y;
+ field_0x33c8 = mLastJumpPos.y;
}
/* 800B4908-800B4918 0AF248 0010+00 0/0 0/0 1/1 .text getMetamorphoseNearDis__9daAlink_cCFv */
@@ -16121,9 +15642,9 @@ asm BOOL daAlink_c::checkWaitAction() {
/* 800B5BC0-800B5C34 0B0500 0074+00 3/3 0/0 0/0 .text setFallVoice__9daAlink_cFv */
void daAlink_c::setFallVoice() {
- if (field_0x3014 == 0 && lit_8782 * (field_0x33c4 - mCurrent.mPosition.y) > lit_8676) {
+ if (mFallVoiceInit == 0 && lit_8782 * (mFallHeight - mCurrent.mPosition.y) > lit_8676) {
voiceStart(Z2SE_AL_V_FALL);
- field_0x3014 = 1;
+ mFallVoiceInit = 1;
}
}
@@ -16178,7 +15699,7 @@ asm void daAlink_c::checkLandAction(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkSlideAction() {
+asm BOOL daAlink_c::checkSlideAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkSlideAction__9daAlink_cFv.s"
}
@@ -16237,15 +15758,16 @@ asm void daAlink_c::checkItemChangeAutoAction() {
}
#pragma pop
+inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) {
+ return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag);
+}
+
/* 800B7168-800B7190 0B1AA8 0028+00 7/7 0/0 0/0 .text setFastShotTimer__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setFastShotTimer() {
- nofralloc
-#include "asm/d/a/d_a_alink/setFastShotTimer__9daAlink_cFv.s"
+void daAlink_c::setFastShotTimer() {
+ if (!i_dComIfGp_checkPlayerStatus0(0, 0x2000)) {
+ mFastShotTime = daAlinkHIO_item_c0::m.mItemFPTransitionTimer;
+ }
}
-#pragma pop
/* 800B7190-800B71EC 0B1AD0 005C+00 9/9 0/0 0/0 .text cancelItemUseQuake__9daAlink_cFi */
#pragma push
@@ -16290,14 +15812,19 @@ asm bool daAlink_c::checkSwordTwirlAction() {
#pragma pop
/* 800B74B4-800B7528 0B1DF4 0074+00 3/3 0/0 0/0 .text checkUpperItemActionFly__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm BOOL daAlink_c::checkUpperItemActionFly() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkUpperItemActionFly__9daAlink_cFv.s"
+BOOL daAlink_c::checkUpperItemActionFly() {
+ if (checkBowAndSlingItem(mEquipItem)) {
+ checkUpperItemActionBowFly();
+ }
+ else if (mEquipItem == BOOMERANG) {
+ checkUpperItemActionBoomerangFly();
+ }
+ else if (mEquipItem == COPY_ROD) {
+ checkUpperItemActionCopyRodFly();
+ }
+
+ return checkCanoeJumpRide();
}
-#pragma pop
/* 800B7528-800B75EC 0B1E68 00C4+00 1/1 0/0 0/0 .text checkItemButtonChange__9daAlink_cFv
*/
@@ -16322,22 +15849,21 @@ asm void daAlink_c::checkUpperItemAction() {
#pragma pop
/* 800B7B7C-800B7BF8 0B24BC 007C+00 1/1 0/0 0/0 .text orderPeep__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::orderPeep() {
- nofralloc
-#include "asm/d/a/d_a_alink/orderPeep__9daAlink_cFv.s"
+void daAlink_c::orderPeep() {
+ field_0x2fad = field_0x27f4->getSceneListID();
+ field_0x2ff2 = 20;
+ fopAcM_orderOtherEvent(this, field_0x27f4, l_peepEventName, 0xFFFF, 1, 0);
+ if (i_checkWolf()) {
+ procWolfWaitInit();
+ } else {
+ procWaitInit();
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 804532B0-804532B4 0018B0 0004+00 1/1 0/0 0/0 .sdata2 itemTalkType$67468 */
-SECTION_SDATA2 static u8 itemTalkType[4] = {
- 0x00,
- 0x06,
- 0x00,
- 0x07,
+SECTION_SDATA2 static u16 itemTalkType[2] = {
+ 6, 7
};
/* 800B7BF8-800B7D4C 0B2538 0154+00 13/13 0/0 0/0 .text orderTalk__9daAlink_cFi */
@@ -16394,15 +15920,18 @@ asm void daAlink_c::checkNormalAction() {
}
#pragma pop
+u16 daAlink_c::getReadyItem() {
+ return dComIfGp_getSelectItem(mSelectItemId);
+}
+
/* 800B8930-800B8988 0B3270 0058+00 11/11 0/0 0/0 .text checkReadyItem__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkReadyItem() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkReadyItem__9daAlink_cFv.s"
+bool daAlink_c::checkReadyItem() {
+ if (mEquipItem == NO_ITEM) {
+ return false;
+ }
+
+ return getReadyItem() == mEquipItem;
}
-#pragma pop
/* 800B8988-800B9010 0B32C8 0688+00 2/2 0/0 0/0 .text checkItemAction__9daAlink_cFv */
#pragma push
@@ -16431,6 +15960,24 @@ asm void daAlink_c::checkMoveDoAction() {
/* 800B9148-800B9254 0B3A88 010C+00 3/3 0/0 0/0 .text checkSideRollAction__9daAlink_cFi
*/
+#ifdef NONMATCHING
+BOOL daAlink_c::checkSideRollAction(int param_0) {
+ if (checkNotJumpSinkLimit() || checkHeavyStateOn(1, 1) || checkInputOnR() || checkCutBackState()) {
+ return false;
+ } else {
+ if (mTargetedActor != NULL) {
+ if (checkEnemyGroup(mTargetedActor) && mTargetedActor->mCurrent.mPosition.abs2XZ(mCurrent.mPosition) <= lit_6237) {
+ return procSideRollInit(param_0);
+ } else {
+ return procTurnMoveInit(param_0);
+ }
+ } else {
+ return procSideRollInit(param_0);
+ }
+ }
+ return false;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -16439,6 +15986,7 @@ asm BOOL daAlink_c::checkSideRollAction(int param_0) {
#include "asm/d/a/d_a_alink/checkSideRollAction__9daAlink_cFi.s"
}
#pragma pop
+#endif
/* 800B9254-800B92D0 0B3B94 007C+00 35/35 0/0 0/0 .text checkNoUpperAnime__9daAlink_cCFv
*/
@@ -16529,14 +16077,14 @@ asm void daAlink_c::swordUnequip() {
#pragma pop
/* 800B9640-800B96A4 0B3F80 0064+00 6/6 0/0 0/0 .text itemEquip__9daAlink_cFUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::itemEquip(u16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/itemEquip__9daAlink_cFUs.s"
+void daAlink_c::itemEquip(u16 item_id) {
+ if (mThrowBoomerangActor.getActor() == NULL || item_id != BOOMERANG) {
+ field_0x2fde = item_id;
+ dComIfGp_clearPlayerStatus0(0, 0x400000);
+ i_offNoResetFlg3(0x40000);
+ itemUnequip(field_0x2fde, lit_6041);
+ }
}
-#pragma pop
/* 800B96A4-800B97EC 0B3FE4 0148+00 2/2 0/0 0/0 .text itemUnequip__9daAlink_cFUsf */
#pragma push
@@ -16712,36 +16260,25 @@ inline u16 i_dComIfGs_getRupee() {
/* 800BB408-800BB458 0B5D48 0050+00 6/6 0/0 0/0 .text checkMagicArmorHeavy__9daAlink_cCFv
*/
BOOL daAlink_c::checkMagicArmorHeavy() const {
- bool check = false;
-
- if (checkMagicArmorWearAbility() && i_dComIfGs_getRupee() == 0) {
- check = true;
- }
-
- return check;
+ return checkMagicArmorWearAbility() && i_dComIfGs_getRupee() == 0;
}
/* 800BB458-800BB4B8 0B5D98 0060+00 1/0 0/0 0/0 .text checkBootsOrArmorHeavy__9daAlink_cCFv */
BOOL daAlink_c::checkBootsOrArmorHeavy() const {
- bool check = false;
-
- if (i_checkEquipHeavyBoots() || checkMagicArmorHeavy() || checkIronBallWaitAnime()) {
- check = true;
- }
-
- return check;
+ return i_checkEquipHeavyBoots() || checkMagicArmorHeavy() || checkIronBallWaitAnime();
}
/* 800BB4B8-800BB560 0B5DF8 00A8+00 29/29 0/0 0/0 .text checkHeavyStateOn__9daAlink_cFii
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm BOOL daAlink_c::checkHeavyStateOn(int param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/checkHeavyStateOn__9daAlink_cFii.s"
+// param_0 something related to boots
+BOOL daAlink_c::checkHeavyStateOn(int param_0, int param_1) {
+ if (!checkEventRun()) {
+ if ((param_1 != 0 && mSinkShapeOffset < lit_14614) || (param_0 != 0 && checkIronBallWaitAnime()) || checkIronBallAnime() || checkMagicArmorHeavy() || getHeavyStateAndBoots()) {
+ return true;
+ }
+ }
+ return false;
}
-#pragma pop
/* 800BB560-800BB644 0B5EA0 00E4+00 1/0 0/0 0/0 .text setOutPower__9daAlink_cFfsi */
#pragma push
@@ -17256,7 +16793,7 @@ asm BOOL daAlink_c::checkMagicArmorWearAbility() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::loadAramBmd(u16 param_0, u32 param_1) {
+asm J3DModelData* daAlink_c::loadAramBmd(u16 param_0, u32 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/loadAramBmd__9daAlink_cFUsUl.s"
}
@@ -17276,7 +16813,7 @@ asm void daAlink_c::loadAram(u16 param_0, u32 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::loadAramItemBrk(u16 param_0, J3DModel* param_1) {
+asm J3DAnmTevRegKey* daAlink_c::loadAramItemBrk(u16 param_0, J3DModel* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/loadAramItemBrk__9daAlink_cFUsP8J3DModel.s"
}
@@ -17992,7 +17529,7 @@ bool daAlink_c::procSideStep() {
else if (checkNoUpperAnime() && checkForceSwordSwing()) {
setCutDash(1, 0);
}
- else if (mDemo.getDemoMode() != 16 && mCurrent.mPosition.y < field_0x34f8.y - daAlinkHIO_sideStep_c0::m.mFallHeight) {
+ else if (mDemo.getDemoMode() != 16 && mCurrent.mPosition.y < mLastJumpPos.y - daAlinkHIO_sideStep_c0::m.mFallHeight) {
return procFallInit(2, daAlinkHIO_sideStep_c0::m.mFallInterpolation);
}
@@ -18290,7 +17827,7 @@ asm void daAlink_c::procFrontRollSuccess() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procSideRollInit(int param_0) {
+asm bool daAlink_c::procSideRollInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procSideRollInit__9daAlink_cFi.s"
}
@@ -18586,7 +18123,7 @@ static f32 l_wolfBaseAnime[3];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procCoMetamorphoseInit() {
+asm bool daAlink_c::procCoMetamorphoseInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoMetamorphoseInit__9daAlink_cFv.s"
}
@@ -20934,14 +20471,64 @@ asm void daAlink_c::procCutLargeJumpInit() {
#pragma pop
/* 800D6484-800D66C0 0D0DC4 023C+00 1/0 0/0 0/0 .text procCutLargeJump__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procCutLargeJump() {
- nofralloc
-#include "asm/d/a/d_a_alink/procCutLargeJump__9daAlink_cFv.s"
+bool daAlink_c::procCutLargeJump() {
+ daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0];
+
+ if (field_0x3010 != 0) {
+ field_0x2f99 = 4;
+ }
+
+ if (i_checkModeFlg(2) && checkCutTurnInput()) {
+ field_0x3198 = getCutTurnDirection();
+ }
+
+ if (mCommonCounter == 0) {
+ if (ctrl->checkAnmEnd()) {
+ field_0x2f99 = 12;
+ setSingleAnimeParam(ANM_CUT_JUMP_LARGE, &daAlinkHIO_cutLargeJump_c0::m.mCutAnm);
+ mCommonCounter = 1;
+ setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_2);
+ } else {
+ if (ctrl->getFrame() >= lit_7307) {
+ field_0x3010 = 1;
+ }
+
+ if (!i_checkModeFlg(2) && ctrl->getFrame() >= lit_7808) {
+ setJumpMode();
+ mNormalSpeed = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedH;
+ mSpeed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV;
+ setCutJumpSpeed(0);
+ }
+
+ if (ctrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mJumpAttackStartF && ctrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mJumpAttackEndF) {
+ if (!i_checkNoResetFlg0(FLG0_UNK_40)) {
+ seStartSwordCut(Z2SE_AL_SWORD_SWING_S);
+ }
+ i_onResetFlg0(2);
+ }
+ }
+ } else {
+ if (field_0x300e != 0) {
+ field_0x300e--;
+ if (field_0x300e == 0) {
+ setSwordAtParam(dCcG_At_Spl_UNK_01, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius);
+ setCutType(TYPE_CUT_LARGE_JUMP);
+ }
+ }
+
+ if (mLinkAcch.ChkGroundHit()) {
+ procCutLargeJumpLandInit(field_0x3198);
+ } else {
+ if (ctrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mCutInitF) {
+ if (!i_checkNoResetFlg0(FLG0_UNK_40)) {
+ seStartSwordCut(Z2SE_AL_SWORD_SWING_S);
+ }
+ i_onResetFlg0(2);
+ }
+ }
+ }
+ return true;
}
-#pragma pop
/* 800D66C0-800D67FC 0D1000 013C+00 1/1 0/0 0/0 .text procCutLargeJumpLandInit__9daAlink_cFi */
#pragma push
@@ -21788,7 +21375,7 @@ asm void daAlink_c::procGuardBreak() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procTurnMoveInit(int param_0) {
+asm bool daAlink_c::procTurnMoveInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procTurnMoveInit__9daAlink_cFi.s"
}
@@ -22120,75 +21707,76 @@ asm void daAlink_c::procBowMove() {
#pragma pop
/* 800DFFE0-800E0010 0DA920 0030+00 0/0 0/0 1/1 .text checkBoomerangLockAccept__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkBoomerangLockAccept() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBoomerangLockAccept__9daAlink_cFv.s"
+BOOL daAlink_c::checkBoomerangLockAccept() {
+ return mSight.getDrawFlg() && i_dComIfGp_checkPlayerStatus0(0, 0x80000);
}
-#pragma pop
/* 800E0010-800E00B0 0DA950 00A0+00 0/0 0/0 1/1 .text getBoomSpeed__9daAlink_cFv */
+// small regalloc
+#ifdef NONMATCHING
+f32 daAlink_c::getBoomSpeed() {
+ f32 speed;
+ if (checkBoomerangChargeEndWait()) {
+ speed = daAlinkHIO_boom_c0::m.field_0x38;
+ } else {
+ speed = daAlinkHIO_boom_c0::m.field_0x34;
+ }
+
+ if (i_checkModeFlg(0x400) && mRideActor.getActor() != NULL && mSpeedF > FLOAT_LABEL(lit_6108)) {
+ speed += mSpeedF;
+ }
+
+ return speed;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::getBoomSpeed() {
+asm f32 daAlink_c::getBoomSpeed() {
nofralloc
#include "asm/d/a/d_a_alink/getBoomSpeed__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800E00B0-800E00C0 0DA9F0 0010+00 0/0 0/0 1/1 .text getBoomCatchSpeed__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBoomCatchSpeed() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBoomCatchSpeed__9daAlink_cCFv.s"
+f32 daAlink_c::getBoomCatchSpeed() const {
+ return daAlinkHIO_boom_c0::m.mCatchSpeed;
}
-#pragma pop
/* 800E00C0-800E011C 0DAA00 005C+00 1/1 0/0 1/1 .text getBoomFlyMax__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBoomFlyMax() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBoomFlyMax__9daAlink_cCFv.s"
+f32 daAlink_c::getBoomFlyMax() const {
+ if (i_checkModeFlg(0x400) && !checkCanoeRide()) {
+ return daAlinkHIO_boom_c0::m.field_0x40;
+ } else {
+ return daAlinkHIO_boom_c0::m.field_0x3c;
+ }
}
-#pragma pop
/* 800E011C-800E0190 0DAA5C 0074+00 1/1 0/0 2/2 .text getBoomLockMax__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBoomLockMax() {
- nofralloc
-#include "asm/d/a/d_a_alink/getBoomLockMax__9daAlink_cFv.s"
+f32 daAlink_c::getBoomLockMax() {
+ f32 max = getBoomFlyMax();
+
+ if (checkBossBabaRoom()) {
+ return lit_12475;
+ }
+ else if (daAlinkHIO_boom_c0::m.field_0x44 > max) {
+ return daAlinkHIO_boom_c0::m.field_0x44;
+ } else {
+ return max;
+ }
}
-#pragma pop
/* 800E0190-800E01A0 0DAAD0 0010+00 0/0 0/0 1/1 .text getBoomBgThroughTime__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBoomBgThroughTime() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBoomBgThroughTime__9daAlink_cCFv.s"
+s16 daAlink_c::getBoomBgThroughTime() const {
+ return daAlinkHIO_boom_c0::m.mBgThroughTime;
}
-#pragma pop
/* 800E01A0-800E01CC 0DAAE0 002C+00 1/1 0/0 0/0 .text checkBossBabaRoom__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkBossBabaRoom() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBossBabaRoom__9daAlink_cFv.s"
+bool daAlink_c::checkBossBabaRoom() {
+ return checkStageName("D_MN05A");
}
-#pragma pop
/* 800E01CC-800E0210 0DAB0C 0044+00 0/0 1/1 0/0 .text
* cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c */
@@ -22202,14 +21790,17 @@ asm void daAlink_c::cancelBoomerangLock(fopAc_ac_c* param_0) {
#pragma pop
/* 800E0210-800E0244 0DAB50 0034+00 2/2 0/0 0/0 .text getBoomerangActor__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBoomerangActor() {
- nofralloc
-#include "asm/d/a/d_a_alink/getBoomerangActor__9daAlink_cFv.s"
+fopAc_ac_c* daAlink_c::getBoomerangActor() {
+ if (mThrowBoomerangActor.getID() != 0xFFFFFFFF) {
+ return mThrowBoomerangActor.getActor();
+ }
+
+ if (mEquipItem == BOOMERANG) {
+ return mItemActor.getActor();
+ }
+
+ return NULL;
}
-#pragma pop
/* 800E0244-800E02B8 0DAB84 0074+00 0/0 1/1 0/0 .text checkBoomerangChargeEnd__9daAlink_cFv */
#pragma push
@@ -22234,31 +21825,30 @@ asm void daAlink_c::checkBoomerangCarry(fopAc_ac_c* param_0) {
/* 800E03D0-800E0440 0DAD10 0070+00 6/6 0/0 0/0 .text initBoomerangUpperAnimeSpeed__9daAlink_cFi
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::initBoomerangUpperAnimeSpeed(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/initBoomerangUpperAnimeSpeed__9daAlink_cFi.s"
+void daAlink_c::initBoomerangUpperAnimeSpeed(int param_0) {
+ if (!checkBoomerangThrowAnime()) {
+ if (param_0 != 0) {
+ f32 tmp = FLOAT_LABEL(lit_6108);
+ mFrameCtrl2[2].setRate(tmp);
+ mFrameCtrl2[2].setFrame(tmp);
+ getNowAnmPackUpper(UPPER_NOW)->setFrame(tmp);
+ } else {
+ mFrameCtrl2[2].setRate(daAlinkHIO_boom_c0::m.field_0x2c);
+ }
+ }
}
-#pragma pop
/* 800E0440-800E04AC 0DAD80 006C+00 9/9 0/0 0/0 .text checkBoomerangAnime__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkBoomerangAnime() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBoomerangAnime__9daAlink_cCFv.s"
+BOOL daAlink_c::checkBoomerangAnime() const {
+ return checkBoomerangReadyAnime() || checkBoomerangThrowAnime();
}
-#pragma pop
/* 800E04AC-800E04E8 0DADEC 003C+00 13/13 0/0 0/0 .text checkBoomerangThrowAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkBoomerangThrowAnime() const {
+asm BOOL daAlink_c::checkBoomerangThrowAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkBoomerangThrowAnime__9daAlink_cCFv.s"
}
@@ -22285,24 +21875,20 @@ asm void daAlink_c::setBoomerangReadyAnime() {
#pragma pop
/* 800E05E8-800E0630 0DAF28 0048+00 2/2 0/0 0/0 .text setThrowBoomerangAnime__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setThrowBoomerangAnime() {
- nofralloc
-#include "asm/d/a/d_a_alink/setThrowBoomerangAnime__9daAlink_cFv.s"
+void daAlink_c::setThrowBoomerangAnime() {
+ setUpperAnimeParam(0x53, UPPER_NOW, &daAlinkHIO_boom_c0::m.mThrowAnm);
+ cancelItemUseQuake(0);
}
-#pragma pop
/* 800E0630-800E06B8 0DAF70 0088+00 2/2 0/0 0/0 .text setBoomerangCatchAnime__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setBoomerangCatchAnime() {
- nofralloc
-#include "asm/d/a/d_a_alink/setBoomerangCatchAnime__9daAlink_cFv.s"
+void daAlink_c::setBoomerangCatchAnime() {
+ setUpperAnimeParam(0x52, UPPER_NOW, &daAlinkHIO_boom_c0::m.mCatchAnm);
+ setFacePriBck(0xE8);
+ field_0x2f97 = 254;
+ if (mEquipItem != COPY_ROD) {
+ seStartOnlyReverb(JA_SE_LK_BOOM_CATCH);
+ }
}
-#pragma pop
/* 800E06B8-800E08C4 0DAFF8 020C+00 1/1 0/0 0/0 .text throwBoomerang__9daAlink_cFv */
#pragma push
@@ -22439,67 +22025,49 @@ asm void daAlink_c::procBoomerangCatch() {
#pragma pop
/* 800E12E0-800E1310 0DBC20 0030+00 1/1 0/0 0/0 .text checkLv6BossRoom__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkLv6BossRoom() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkLv6BossRoom__9daAlink_cFv.s"
+BOOL daAlink_c::checkLv6BossRoom() {
+ return checkStageName("D_MN06A");
}
-#pragma pop
/* 800E1310-800E1320 0DBC50 0010+00 0/0 0/0 1/1 .text getCopyRodBallSpeed__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getCopyRodBallSpeed() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getCopyRodBallSpeed__9daAlink_cCFv.s"
+f32 daAlink_c::getCopyRodBallSpeed() const {
+ return daAlinkHIO_copyRod_c0::m.mBallSpeed;
}
-#pragma pop
/* 800E1320-800E1330 0DBC60 0010+00 0/0 0/0 1/1 .text getCopyRodBallReturnSpeed__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getCopyRodBallReturnSpeed() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getCopyRodBallReturnSpeed__9daAlink_cCFv.s"
+f32 daAlink_c::getCopyRodBallReturnSpeed() const {
+ return daAlinkHIO_copyRod_c0::m.mBallReturnSpeed;
}
-#pragma pop
/* 800E1330-800E1374 0DBC70 0044+00 3/3 0/0 2/2 .text getCopyRodBallDisMax__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getCopyRodBallDisMax() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getCopyRodBallDisMax__9daAlink_cCFv.s"
+f32 daAlink_c::getCopyRodBallDisMax() const {
+ if (checkLv6BossRoom()) {
+ return daAlinkHIO_copyRod_c0::m.mBossBallMaxDistance;
+ }
+
+ return daAlinkHIO_copyRod_c0::m.mBallMaxDistance;
}
-#pragma pop
/* 800E1374-800E1390 0DBCB4 001C+00 6/6 0/0 7/7 .text getCopyRodControllActor__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getCopyRodControllActor() {
- nofralloc
-#include "asm/d/a/d_a_alink/getCopyRodControllActor__9daAlink_cFv.s"
+fopAc_ac_c* daAlink_c::getCopyRodControllActor() {
+ if (mCopyRodAcKeep.getActor() != NULL) {
+ return static_cast<daCrod_c*>(mCopyRodAcKeep.getActor())->getControllActor();
+ }
+
+ return NULL;
}
-#pragma pop
/* 800E1390-800E13AC 0DBCD0 001C+00 0/0 4/4 1/1 .text getCopyRodCameraActor__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getCopyRodCameraActor() {
- nofralloc
-#include "asm/d/a/d_a_alink/getCopyRodCameraActor__9daAlink_cFv.s"
+fopAc_ac_c* daAlink_c::getCopyRodCameraActor() {
+ if (mCopyRodAcKeep.getActor() != NULL) {
+ return static_cast<daCrod_c*>(mCopyRodAcKeep.getActor())->getCameraActor();
+ }
+
+ return NULL;
}
-#pragma pop
/* 800E13AC-800E1408 0DBCEC 005C+00 2/2 0/0 0/0 .text initCopyRodUpperAnimeSpeed__9daAlink_cFi */
#pragma push
@@ -22511,22 +22079,29 @@ asm void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
}
#pragma pop
+/* void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
+ if (checkCopyRodThrowAnime()) {
+ if (param_1 == 0) {
+ mFrameCtrl2[2].setRate();
+ }
+ f32 tmp = FLOAT_LABEL(lit_6108);
+ mFrameCtrl2[2].setRate(tmp);
+ mFrameCtrl2[2].setFrame(tmp);
+
+ }
+} */
+
/* 800E1408-800E145C 0DBD48 0054+00 2/2 0/0 0/0 .text checkForestOldCentury__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkForestOldCentury() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkForestOldCentury__9daAlink_cFv.s"
+BOOL daAlink_c::checkForestOldCentury() {
+ return checkStageName("F_SP117") && dComIfGp_roomControl_getStayNo() == 2;
}
-#pragma pop
/* 800E145C-800E1530 0DBD9C 00D4+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm bool daAlink_c::checkCopyRodTopUse() {
+asm BOOL daAlink_c::checkCopyRodTopUse() {
nofralloc
#include "asm/d/a/d_a_alink/checkCopyRodTopUse__9daAlink_cFv.s"
}
@@ -22543,14 +22118,14 @@ asm void daAlink_c::checkCopyRodAnime() const {
#pragma pop
/* 800E158C-800E15FC 0DBECC 0070+00 2/2 0/0 0/0 .text setCopyRodControllAnime__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setCopyRodControllAnime() {
- nofralloc
-#include "asm/d/a/d_a_alink/setCopyRodControllAnime__9daAlink_cFv.s"
+void daAlink_c::setCopyRodControllAnime() {
+ if (checkNoUpperAnime() && getCopyRodControllActor()) {
+ setUpperAnimeBaseSpeed(0x202, FLOAT_LABEL(lit_6108), lit_6109);
+ field_0x2f96 = 2;
+ field_0x2f97 = 5;
+ field_0x33e8 = FLOAT_LABEL(lit_6108);
+ }
}
-#pragma pop
/* 800E15FC-800E1748 0DBF3C 014C+00 1/1 0/0 0/0 .text
* setCopyRodControllUpperSpeedRate__9daAlink_cFv */
@@ -22564,17 +22139,48 @@ asm void daAlink_c::setCopyRodControllUpperSpeedRate() {
#pragma pop
/* 800E1748-800E1840 0DC088 00F8+00 2/2 0/0 0/0 .text setCopyRodModel__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setCopyRodModel() {
- nofralloc
-#include "asm/d/a/d_a_alink/setCopyRodModel__9daAlink_cFv.s"
+void daAlink_c::setCopyRodModel() {
+ JKRHeap* heap = setItemHeap();
+ J3DModelData* mdl_data = loadAramBmd(0x315, 0x5400);
+ mHeldItemModel = initModel(mdl_data, 0x80000, 0x1000000);
+ field_0x0724 = loadAramItemBrk(0x323, mHeldItemModel);
+ mDoExt_setCurrentHeap(heap);
+ field_0x0724->setFrame(FLOAT_LABEL(lit_6108));
+ field_0x2f94 = 2;
+ field_0x122C[0].SetAtSpl(dCcG_At_Spl_UNK_0);
+ field_0x122C[0].SetAtAtp(0);
+ field_0x122C[0].SetAtSe(20);
+ field_0x122C[0].SetAtHitMark(1);
+ field_0x122C[0].OnAtSetBit();
+ field_0x122C[0].SetAtHitCallback(NULL);
+ field_0x122C[0].SetAtMtrl(0);
+ mHeldItemModel->i_setBaseTRMtx(field_0x0650->i_getAnmMtx(field_0x30c0));
+ mHeldItemModel->calc();
}
-#pragma pop
/* 800E1840-800E191C 0DC180 00DC+00 2/2 0/0 0/0 .text setCopyRodReadyAnime__9daAlink_cFv
*/
+// regalloc
+#ifdef NONMATCHING
+void daAlink_c::setCopyRodReadyAnime() {
+ f32 tmp;
+ if (i_checkAttentionLock()) {
+ tmp = daAlinkHIO_boom_c0::m.valc;
+ } else {
+ tmp = FLOAT_LABEL(lit_6108);
+ }
+
+ setUpperAnimeBaseSpeed(0x54, tmp, lit_6109);
+ if (checkCopyRodTopUse()) {
+ seStartSwordCut(Z2SE_AL_COPYROD_READY);
+ } else {
+ seStartSwordCut(Z2SE_AL_COPYROD_READY_OFF);
+ }
+ field_0x122C[0].SetR(lit_8676);
+ field_0x122C[0].SetAtType(0x1000000);
+ initLockAt();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -22583,16 +22189,34 @@ asm void daAlink_c::setCopyRodReadyAnime() {
#include "asm/d/a/d_a_alink/setCopyRodReadyAnime__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800E191C-800E1A30 0DC25C 0114+00 1/1 0/0 0/0 .text throwCopyRod__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::throwCopyRod() {
- nofralloc
-#include "asm/d/a/d_a_alink/throwCopyRod__9daAlink_cFv.s"
+void daAlink_c::throwCopyRod() {
+ daCrod_c* copy_rod = static_cast<daCrod_c*>(mItemActor.getActor());
+ i_onNoResetFlg1(FLG1_UNK_10000);
+
+ if (checkCopyRodTopUse()) {
+ copy_rod->setThrow();
+ mCopyRodAcKeep = mItemActor;
+ i_onNoResetFlg3(COPY_ROD_THROW_AFTER);
+ mItemActor.clearData();
+ }
+ dComIfGp_clearPlayerStatus0(0, 0x80);
+ mFastShotTime = -1;
+ voiceStart(Z2SE_AL_V_ATTACK_S);
+ seStartSwordCut(Z2SE_AL_COPYROD_SWING);
+
+ if (mLinkAcch.ChkGroundHit()) {
+ if (checkZeroSpeedF()) {
+ field_0x2f98 = 3;
+ procAtnActorWaitInit();
+ } else {
+ procAtnActorMoveInit();
+ }
+ field_0x2060->initOldFrameMorf(FLOAT_LABEL(lit_6108), 0, 35);
+ }
}
-#pragma pop
/* 800E1A30-800E1ADC 0DC370 00AC+00 0/0 0/0 1/1 .text returnCopyRod__9daAlink_cFv */
#pragma push
@@ -22604,6 +22228,18 @@ asm void daAlink_c::returnCopyRod() {
}
#pragma pop
+/* void daAlink_c::returnCopyRod() {
+ i_offNoResetFlg3(COPY_ROD_THROW_AFTER);
+
+ if (mEquipItem == 0x46) {
+ mItemActor = mCopyRodAcKeep;
+ i_onNoResetFlg0(FLG0_UNK_20);
+ cXyz tmp(0, 1, 0);
+ dComIfGp_getVibration().StartShock(1, 1, tmp);
+ }
+ mCopyRodAcKeep.clearData();
+} */
+
/* 800E1ADC-800E1BB4 0DC41C 00D8+00 2/2 0/0 0/0 .text checkUpperItemActionCopyRod__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
@@ -25348,7 +24984,7 @@ asm void daAlink_c::initCanoeRide() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCanoeJumpRide() {
+asm BOOL daAlink_c::checkCanoeJumpRide() {
nofralloc
#include "asm/d/a/d_a_alink/checkCanoeJumpRide__9daAlink_cFv.s"
}
@@ -29429,7 +29065,7 @@ asm void daAlink_c::setIronBallPos() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkIronBallAnime() const {
+asm BOOL daAlink_c::checkIronBallAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallAnime__9daAlink_cCFv.s"
}
@@ -30829,35 +30465,85 @@ asm void daAlink_c::checkAcceptWarp() {
}
#pragma pop
+
/* 8011F7D8-8011F8B8 11A118 00E0+00 2/2 0/0 0/0 .text dungeonReturnWarp__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::dungeonReturnWarp() {
- nofralloc
-#include "asm/d/a/d_a_alink/dungeonReturnWarp__9daAlink_cFv.s"
+void daAlink_c::dungeonReturnWarp() {
+ cXyz pos = dComIfGs_getWarpPlayerPos();
+ s16 angle = dComIfGs_getWarpPlayerAngleY();
+ s8 room = dComIfGs_getWarpRoomNo();
+ char name[8];
+ strcpy(name, dComIfGs_getWarpStageName());
+
+ dComIfGs_setRestartRoom(pos, angle, room);
+ dComIfGp_setNextStage(name, -1, dComIfGs_getRestartRoomNo(), -1, FLOAT_LABEL(lit_6108), 12, 0, 0, 0, 1, 0);
+ u32 data = setParamData(dComIfGs_getRestartRoomNo(), 0, 0xCA, 0);
+ dComIfGs_setRestartRoomParam(data);
}
-#pragma pop
/* 8011F8B8-8011F9EC 11A1F8 0134+00 1/0 0/0 0/0 .text skipPortalObjWarp__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::skipPortalObjWarp() {
- nofralloc
-#include "asm/d/a/d_a_alink/skipPortalObjWarp__9daAlink_cFv.s"
+void daAlink_c::skipPortalObjWarp() {
+ if (mActionID == WARP && field_0x300e <= 0) {
+ return;
+ }
+
+ if (i_checkNoResetFlg3(FLG3_UNK_2000000) && (dComIfGp_TargetWarpPt_get() == 9 && dComIfGp_TransportWarp_check())) {
+ dStage_changeScene(2, FLOAT_LABEL(lit_6108), 0, fopAcM_GetRoomNo(this), mCollisionRot.y, -1);
+ } else {
+ u32 data = setParamData(dMeter2Info_getWarpRoomNo(), 0, 0xCA, 0);
+ dComIfGs_setTurnRestart(dMeter2Info_getWarpPos(), dMeter2Info_getWarpPlayerNo(), dMeter2Info_getWarpRoomNo(), data);
+ dComIfGp_setNextStage(dMeter2Info_getWarpStageName(), -4, dMeter2Info_getWarpRoomNo(), -1, FLOAT_LABEL(lit_6108), 0, 1, 0, mCollisionRot.y, 1, 0);
+ }
+
+ if (mActionID == WARP) {
+ field_0x300e = -1;
+ }
}
-#pragma pop
/* 8011F9EC-8011FBC0 11A32C 01D4+00 1/1 0/0 0/0 .text checkWarpStart__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkWarpStart() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWarpStart__9daAlink_cFv.s"
+void daAlink_c::checkWarpStart() {
+ if (dMeter2Info_getWarpStatus() != 0) {
+ if (dMeter2Info_getWarpStatus() == 3 || dComIfGp_event_compulsory(this, 0, 0xFFFF)) {
+ i_onNoResetFlg0(0x4000);
+ if (dMeter2Info_getWarpStatus() == 3) {
+ const char* portal;
+ if (!i_checkMidnaRide()) {
+ if (dComIfGp_TargetWarpPt_get() == 3) {
+ mEvtInfo.setArchiveName("Obj_kbrg");
+ portal = kBridgePortal;
+ }
+ else if (dComIfGp_TargetWarpPt_get() == 6) {
+ mEvtInfo.setArchiveName("Obj_obrg");
+ portal = oBridgePortal;
+ }
+ else if (dComIfGp_TargetWarpPt_get() == 9) {
+ mEvtInfo.setArchiveName("M_VolcBom");
+ portal = volcBomPortal;
+ }
+ else if (dComIfGp_TargetWarpPt_get() == 8) {
+ mEvtInfo.setArchiveName("SCanCrs");
+ portal = cannonPortal;
+ } else {
+ portal = defaultPortal;
+ }
+ } else {
+ dComIfGp_TargetWarpPt_set(0xFF);
+ portal = defaultPortal;
+ }
+ fopAcM_orderOtherEvent(this, portal, 0xFFFF, 1, 1);
+ } else {
+ mDemo.i_setSpecialDemoType();
+ if (dMeter2Info_getWarpStatus() == 1) {
+ stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
+ u32 tmp = dStage_stagInfo_GetEscapeWarp(stag_info);
+ dStage_changeScene(tmp, FLOAT_LABEL(lit_6108), 0, -1, mCollisionRot.y, -1);
+ } else {
+ dungeonReturnWarp();
+ }
+ }
+ }
+ g_meter2_info.resetWarpStatus();
+ }
}
-#pragma pop
/* 8011FBC0-8011FD4C 11A500 018C+00 3/3 0/0 0/0 .text warpModelTexScroll__9daAlink_cFv */
#pragma push
@@ -30928,6 +30614,15 @@ void daAlink_c::commonFallInit(int param_0) {
/* 80120580-80120634 11AEC0 00B4+00 21/21 0/0 0/0 .text
* setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz */
+// matches with literal
+#ifdef NONMATCHING
+void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2,
+ csXyz const* param_3) {
+ *param_0 = dComIfGp_particle_set(*param_0, param_1, param_2, &mTevStr, param_3, NULL, 0xFF, NULL, 0xFF, NULL, NULL, NULL);
+ dComIfGp_particle_levelEmitterOnEventMove(*param_0);
+ dComIfGp_particle_getEmitter(*param_0);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -30937,18 +30632,16 @@ asm void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2,
#include "asm/d/a/d_a_alink/setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s"
}
#pragma pop
+#endif
/* 80120634-801206C4 11AF74 0090+00 4/4 0/0 0/0 .text
* setEmitterPolyColor__9daAlink_cFPUlUsR13cBgS_PolyInfoPC4cXyzPC5csXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setEmitterPolyColor(u32* param_0, u16 param_1, cBgS_PolyInfo& param_2,
+void daAlink_c::setEmitterPolyColor(u32* param_0, u16 param_1, cBgS_PolyInfo& param_2,
cXyz const* param_3, csXyz const* param_4) {
- nofralloc
-#include "asm/d/a/d_a_alink/setEmitterPolyColor__9daAlink_cFPUlUsR13cBgS_PolyInfoPC4cXyzPC5csXyz.s"
+ *param_0 = dComIfGp_particle_setPolyColor(*param_0, param_1, param_2, param_3, &mTevStr, param_4, NULL, 0, NULL, -1, NULL);
+ dComIfGp_particle_levelEmitterOnEventMove(*param_0);
+ dComIfGp_particle_getEmitter(*param_0);
}
-#pragma pop
/* 801206C4-80120778 11B004 00B4+00 2/2 0/0 0/0 .text
* setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz */
@@ -31280,6 +30973,24 @@ asm void daAlink_c::setWaterDropEffect() {
/* 801244E4-801245EC 11EE24 0108+00 1/1 0/0 0/0 .text setSwordUpColorEffect__9daAlink_cFv
*/
+// matches with literals
+#ifdef NONMATCHING
+void daAlink_c::setSwordUpColorEffect() {
+ f32 max_intensity;
+ if (mSwordUpTimer != 0) {
+ max_intensity = 1.0f;
+ } else {
+ max_intensity = 0.0f;
+ }
+ cLib_chaseF(&mSwordUpColorIntensity, max_intensity, 0.1f);
+
+ for (int i = 0; i < 2; i++) {
+ field_0x32b0[i].mColor.r = mSwordUpColorIntensity * swordUpColor[i].r;
+ field_0x32b0[i].mColor.g = mSwordUpColorIntensity * swordUpColor[i].g;
+ field_0x32b0[i].mColor.b = mSwordUpColorIntensity * swordUpColor[i].b;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -31288,6 +30999,7 @@ asm void daAlink_c::setSwordUpColorEffect() {
#include "asm/d/a/d_a_alink/setSwordUpColorEffect__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 801245EC-80124738 11EF2C 014C+00 1/1 0/0 0/0 .text setSwordCutSplash__9daAlink_cFv */
#pragma push
@@ -31301,14 +31013,11 @@ asm void daAlink_c::setSwordCutSplash() {
/* 80124738-801247A8 11F078 0070+00 1/1 0/0 0/0 .text setMetamorphoseEffectStartLink__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setMetamorphoseEffectStartLink() {
- nofralloc
-#include "asm/d/a/d_a_alink/setMetamorphoseEffectStartLink__9daAlink_cFv.s"
+void daAlink_c::setMetamorphoseEffectStartLink() {
+ setEmitter(&field_0x31f8, 0x24F, &field_0x37c8, NULL);
+ setEmitter(&field_0x31fc, 0x250, &field_0x37c8, NULL);
+ setEmitter(&field_0x3200, 0x6E8, &cXyz::Zero, NULL);
}
-#pragma pop
/* 801247A8-801248A8 11F0E8 0100+00 1/1 0/0 0/0 .text setMetamorphoseEffect__9daAlink_cFv
*/
@@ -31345,14 +31054,10 @@ extern "C" asm void execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP1
#pragma pop
/* 80124B68-80124BA4 11F4A8 003C+00 2/2 0/0 0/0 .text resetFairyEffect__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::resetFairyEffect() {
- nofralloc
-#include "asm/d/a/d_a_alink/resetFairyEffect__9daAlink_cFv.s"
+void daAlink_c::resetFairyEffect() {
+ stopDrawParticle(field_0x3258);
+ stopDrawParticle(field_0x325c);
}
-#pragma pop
/* 80124BA4-80124E28 11F4E4 0284+00 1/1 0/0 0/0 .text setBottleEffect__9daAlink_cFv */
#pragma push
@@ -31365,14 +31070,16 @@ asm void daAlink_c::setBottleEffect() {
#pragma pop
/* 80124E28-80124EA8 11F768 0080+00 2/2 0/0 0/0 .text clearFirePointDamageEffect__9daAlink_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::clearFirePointDamageEffect(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/clearFirePointDamageEffect__9daAlink_cFi.s"
+void daAlink_c::clearFirePointDamageEffect(int i) {
+ firePointEff_c* fire_eff = &field_0x32d8[i];
+
+ if (fire_eff->field_0x0 != 0) {
+ stopDrawParticle(fire_eff->field_0x4);
+ stopDrawParticle(fire_eff->field_0x8);
+ }
+ fire_eff->field_0x0 = 0;
+ fire_eff->field_0x24 = cXyz::Zero;
}
-#pragma pop
/* 80124EA8-80124FA4 11F7E8 00FC+00 1/1 0/0 0/0 .text initFirePointDamageEffectAll__9daAlink_cFv
*/
@@ -31427,6 +31134,16 @@ asm void daAlink_c::setWoodShieldBurnEffect() {
#pragma pop
/* 801255BC-80125628 11FEFC 006C+00 3/3 0/0 0/0 .text clearWoodShieldBurnEffect__9daAlink_cFv */
+#ifdef NONMATCHING
+void daAlink_c::clearWoodShieldBurnEffect() {
+ if (field_0x2fcb != 0) {
+ for (int i = 0; i < 2; i++) {
+ stopDrawParticle(field_0x3260[i].field_0x0);
+ }
+ field_0x2fcb = 0;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -31435,6 +31152,7 @@ asm void daAlink_c::clearWoodShieldBurnEffect() {
#include "asm/d/a/d_a_alink/clearWoodShieldBurnEffect__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 80125628-801256EC 11FF68 00C4+00 1/1 0/0 0/0 .text setWoodShieldBurnOutEffect__9daAlink_cFv */
#pragma push
@@ -31448,15 +31166,17 @@ asm void daAlink_c::setWoodShieldBurnOutEffect() {
/* 801256EC-80125778 12002C 008C+00 2/2 0/0 0/0 .text
* initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_blur_c::initBlur(f32 param_0, int param_1, cXyz const* param_2,
+void daAlink_blur_c::initBlur(f32 param_0, int param_1, cXyz const* param_2,
cXyz const* param_3, cXyz const* param_4) {
- nofralloc
-#include "asm/d/a/d_a_alink/initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz.s"
+ field_0x24 = param_0;
+ field_0x1c = param_1;
+ field_0x2c = *param_4;
+ field_0x38[0] = *param_2;
+ field_0x308[0] = *param_3;
+ field_0x38[1] = field_0x38[0];
+ field_0x308[1] = field_0x308[0];
+ field_0x14 = 0;
}
-#pragma pop
/* 80125778-8012589C 1200B8 0124+00 1/1 0/0 0/0 .text
* setBezierPos__FPC4cXyzPC4cXyzPC4cXyzPC4cXyzfP4cXyz */
@@ -31516,14 +31236,82 @@ extern "C" asm void draw__14daAlink_blur_cFv() {
#pragma pop
/* 80125F14-80126350 120854 043C+00 1/1 0/0 0/0 .text create__20daAlink_lockCursor_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_lockCursor_c::create() {
- nofralloc
-#include "asm/d/a/d_a_alink/create__20daAlink_lockCursor_cFv.s"
+BOOL daAlink_lockCursor_c::create() {
+ JKRArchive* arc = dComIfG_getObjectResInfo(l_arcName)->getArchive();
+
+ f32 tmp = FLOAT_LABEL(lit_6108);
+ field_0x2c = tmp;
+ field_0x4 = false;
+ field_0x30 = tmp;
+
+ mScrn = new J2DScreen();
+ if (mScrn == NULL) {
+ return false;
+ }
+
+ mScrn->setPriority("zelda_v_cursor_new_yellow.blo", 0x100000, arc);
+ dPaneClass_showNullPane(mScrn);
+
+ void* tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.bpk", arc);
+ field_0x24 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(tmpData);
+ if (field_0x24 == NULL) {
+ return false;
+ }
+
+ tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.bck", arc);
+ field_0x28 = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(tmpData);
+ if (field_0x28 == NULL) {
+ return false;
+ }
+
+ tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow_02.brk", arc);
+ field_0x1c = (J2DAnmTevRegKey*)J2DAnmLoaderDataBase::load(tmpData);
+ if (field_0x1c == NULL) {
+ return false;
+ }
+
+ tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.brk", arc);
+ field_0x20 = (J2DAnmTevRegKey*)J2DAnmLoaderDataBase::load(tmpData);
+ if (field_0x20 == NULL) {
+ return false;
+ }
+
+ field_0xc = mScrn->search('n_all');
+ mCursor0 = mScrn->search('cursor0');
+ mCursor1 = mScrn->search('cursor1');
+ mCursor2 = mScrn->search('cursor2');
+
+ field_0x28->searchUpdateMaterialID(mScrn);
+ field_0xc->setAnimation(field_0x28);
+ mCursor0->setAnimation(field_0x28);
+ mCursor1->setAnimation(field_0x28);
+ mCursor2->setAnimation(field_0x28);
+ field_0x28->setFrame(FLOAT_LABEL(lit_6108));
+
+ field_0x24->searchUpdateMaterialID(mScrn);
+ mCursor0->setAnimation(field_0x24);
+ mCursor1->setAnimation(field_0x24);
+ mCursor2->setAnimation(field_0x24);
+ mScrn->search('flash')->setAnimation(field_0x24);
+ field_0x24->setFrame(FLOAT_LABEL(lit_6108));
+
+ field_0x1c->searchUpdateMaterialID(mScrn);
+ field_0x20->searchUpdateMaterialID(mScrn);
+ mCursor0->setAnimation(field_0x1c);
+ mCursor1->setAnimation(field_0x1c);
+ mCursor2->setAnimation(field_0x1c);
+ mCursor0->setAnimation(field_0x20);
+ mCursor1->setAnimation(field_0x20);
+ mCursor2->setAnimation(field_0x20);
+ f32 tmp2 = FLOAT_LABEL(lit_6108);
+ field_0x1c->setFrame(tmp2);
+ field_0x20->setFrame(tmp2);
+
+ mScrn->animation();
+ mScrn->setUserInfo('n_43');
+ field_0xc->setUserInfo(0x20);
+ return true;
}
-#pragma pop
/* 80126350-80126354 120C90 0004+00 0/0 4/0 0/0 .text setAnimation__7J2DPaneFP15J2DAnmTevRegKey */
void J2DPane::setAnimation(J2DAnmTevRegKey* param_0) {
@@ -31557,14 +31345,14 @@ extern "C" asm void draw__20daAlink_lockCursor_cFv() {
#pragma pop
/* 80126650-801266C0 120F90 0070+00 1/1 0/0 0/0 .text create__15daAlink_sight_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_sight_c::create() {
- nofralloc
-#include "asm/d/a/d_a_alink/create__15daAlink_sight_cFv.s"
+bool daAlink_sight_c::create() {
+ if (!mLockCursor.create()) {
+ return false;
+ }
+ ResTIMG* data = (ResTIMG*)dComIfG_getObjectRes(l_arcName, daAlink_c::getSightBti());
+ setSightImage(data);
+ return true;
}
-#pragma pop
/* 801266C0-80126710 121000 0050+00 1/0 0/0 0/0 .text draw__15daAlink_sight_cFv */
#pragma push
@@ -31578,6 +31366,16 @@ extern "C" asm void draw__15daAlink_sight_cFv() {
#pragma pop
/* 80126710-80126740 121050 0030+00 2/2 0/0 0/0 .text onLockFlg__15daAlink_sight_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void daAlink_sight_c::onLockFlg() {
+ if (mLockFlag) {
+ return;
+ }
+ mLockFlag = true;
+ mLockCursor.initFrame();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -31586,6 +31384,7 @@ asm void daAlink_sight_c::onLockFlg() {
#include "asm/d/a/d_a_alink/onLockFlg__15daAlink_sight_cFv.s"
}
#pragma pop
+#endif
/* 80126740-80126928 121080 01E8+00 2/2 0/0 0/0 .text changeCommon__9daAlink_cFv */
#pragma push
@@ -31618,40 +31417,33 @@ asm void daAlink_c::changeLink(int param_0) {
#pragma pop
/* 80127C54-80127CAC 122594 0058+00 2/2 0/0 0/0 .text onWolfEyeUp__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::onWolfEyeUp() {
- nofralloc
-#include "asm/d/a/d_a_alink/onWolfEyeUp__9daAlink_cFv.s"
+void daAlink_c::onWolfEyeUp() {
+ if (mWolfEyeUp == 0) {
+ mZ2Link.setWolfEyeOpen(true);
+ mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime;
+ field_0x2fd2 = 20;
+ }
}
-#pragma pop
/* 80127CAC-80127CF0 1225EC 0044+00 5/5 0/0 0/0 .text offWolfEyeUp__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::offWolfEyeUp() {
- nofralloc
-#include "asm/d/a/d_a_alink/offWolfEyeUp__9daAlink_cFv.s"
+void daAlink_c::offWolfEyeUp() {
+ if (mWolfEyeUp != 0) {
+ mWolfEyeUp = 0;
+ field_0x2fd2 = 20;
+ mZ2Link.setWolfEyeOpen(false);
+ }
}
-#pragma pop
/* 80127CF0-80127D14 122630 0024+00 1/1 0/0 0/0 .text wolfSenseTrigger__9daAlink_cFv */
-void daAlink_c::wolfSenseTrigger() {
- itemTriggerCheck(1);
+BOOL daAlink_c::wolfSenseTrigger() {
+ return itemTriggerCheck(1);
}
/* 80127D14-80127D2C 122654 0018+00 1/1 0/0 0/0 .text setWolfSenceStatus__9daAlink_cFUc
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setWolfSenceStatus(u8 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setWolfSenceStatus__9daAlink_cFUc.s"
+void daAlink_c::setWolfSenceStatus(u8 status) {
+ dComIfGp_setXStatus(status, 0);
}
-#pragma pop
/* 80127D2C-80127D50 12266C 0024+00 1/1 0/0 0/0 .text wolfClawTrigger__9daAlink_cFv */
void daAlink_c::wolfClawTrigger() {
@@ -31659,14 +31451,9 @@ void daAlink_c::wolfClawTrigger() {
}
/* 80127D50-80127D68 122690 0018+00 2/2 0/0 0/0 .text setWolfDigStatus__9daAlink_cFUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setWolfDigStatus(u8 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setWolfDigStatus__9daAlink_cFUc.s"
+void daAlink_c::setWolfDigStatus(u8 flag) {
+ dComIfGp_setYStatus(13, flag);
}
-#pragma pop
/* 80127D68-80127DC4 1226A8 005C+00 4/4 0/0 0/0 .text checkWolfShapeReverse__9daAlink_cCFv */
#pragma push
@@ -31679,14 +31466,9 @@ asm BOOL daAlink_c::checkWolfShapeReverse() const {
#pragma pop
/* 80127DC4-80127E08 122704 0044+00 1/1 0/0 0/0 .text checkWolfSideStep__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkWolfSideStep() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfSideStep__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfSideStep() const {
+ return field_0x2f98 != 0 && ((mActionID == WOLF_ATN_WAIT && !i_checkModeFlg(1)) || mActionID == WOLF_SIDESTEP_LAND || mActionID == WOLF_BACKFLIP_LAND);
}
-#pragma pop
/* 80127E08-80127F20 122748 0118+00 1/1 0/0 0/0 .text setWolfTailAngle__9daAlink_cFv */
#pragma push
@@ -31699,14 +31481,9 @@ asm void daAlink_c::setWolfTailAngle() {
#pragma pop
/* 80127F20-80127F50 122860 0030+00 5/5 0/0 0/0 .text checkWolfSlowDash__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkWolfSlowDash() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfSlowDash__9daAlink_cFv.s"
+BOOL daAlink_c::checkWolfSlowDash() {
+ return field_0x2fc7 == 1 || field_0x2fc7 == 3 || field_0x3174 == 11;
}
-#pragma pop
/* 80127F50-80128478 122890 0528+00 1/1 0/0 0/0 .text setSpeedAndAngleWolf__9daAlink_cFv
*/
@@ -31739,16 +31516,15 @@ asm void daAlink_c::checkWolfAtnWait() {
}
#pragma pop
+/* void daAlink_c::checkWolfAtnWait() {
+ return checkEnemyGroup(mTargetedActor) && mDemo.getDemoMode() == 0x17 || mTargetedActor != NULL || fopAcM_GetName(mTargetedActor) == 0x262 ||
+} */
+
/* 8012880C-80128844 12314C 0038+00 27/27 0/0 0/0 .text
* checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm BOOL daAlink_c::checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM param_0) const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM.s"
+BOOL daAlink_c::checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM anm_id) const {
+ return mUnderAnime[0].checkNoSetArcNo() && m_wlAnmDataTable[anm_id].field_0x0 == mUnderAnime[0].getIdx();
}
-#pragma pop
/* 80128844-80128F0C 123184 06C8+00 11/11 0/0 0/0 .text setBlendWolfMoveAnime__9daAlink_cFf */
#pragma push
@@ -31884,38 +31660,56 @@ asm void daAlink_c::checkWolfLandAction(int param_0) {
}
#pragma pop
+inline bool i_dComIfGp_checkPlayerStatus1(int param_0, u32 flag) {
+ return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag);
+}
+
/* 80129958-801299A8 124298 0050+00 1/1 0/0 1/1 .text checkMidnaUseAbility__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkMidnaUseAbility() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkMidnaUseAbility__9daAlink_cCFv.s"
+BOOL daAlink_c::checkMidnaUseAbility() const {
+ return i_dComIfGp_checkPlayerStatus1(0, 0x800000) || dKy_withwarp_capture_check();
}
-#pragma pop
/* 801299A8-80129A80 1242E8 00D8+00 1/1 0/0 0/0 .text checkWolfUseAbility__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkWolfUseAbility() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfUseAbility__9daAlink_cFv.s"
+void daAlink_c::checkWolfUseAbility() {
+ if (mActionID == 0x137) {
+ return;
+ }
+
+ if (checkMidnaLockJumpPoint() != NULL && !i_checkMidnaRide()) {
+ offWolfEyeUp();
+ } else {
+ if (i_dComIfGs_isEventBit(0x4308) && field_0x2fd2 == 0 && !checkEventRun() && mWolfEyeUp < daAlinkHIO_wolf_c0::m.mSensesLingerTime && wolfSenseTrigger()) {
+ if (mWolfEyeUp == 0) {
+ onWolfEyeUp();
+ } else {
+ offWolfEyeUp();
+ }
+ }
+ }
}
-#pragma pop
/* 80129A80-80129B44 1243C0 00C4+00 13/13 0/0 0/0 .text checkWolfGroundSpecialMode__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkWolfGroundSpecialMode() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfGroundSpecialMode__9daAlink_cFv.s"
+bool daAlink_c::checkWolfGroundSpecialMode() {
+ if (mLinkAcch.ChkGroundHit() && !i_checkModeFlg(MODE_PLAYER_FLY) && i_checkEndResetFlg0(ERFLG0_UNK_1)) {
+ return procCoMetamorphoseInit();
+ }
+ else if (mSpecialMode == SMODE_WOLF_PUZZLE || mSpecialMode == 0x28) {
+ return procWolfGiantPuzzleInit();
+ }
+ else if (checkCargoCarry()) {
+ return procWolfCargoCarryInit();
+ }
+ else if (checkSlideAction()) {
+ return true;
+ }
+ else if (i_checkEndResetFlg1(ERFLG1_UNK_1)) {
+ return procWolfScreamWaitInit();
+ }
+ return false;
}
-#pragma pop
/* 80129B44-8012A02C 124484 04E8+00 46/46 0/0 0/0 .text checkNextActionWolf__9daAlink_cFi
*/
@@ -32907,7 +32701,7 @@ asm void daAlink_c::getWolfTagJumpTime() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkMidnaLockJumpPoint() const {
+asm cXyz* daAlink_c::checkMidnaLockJumpPoint() const {
nofralloc
#include "asm/d/a/d_a_alink/checkMidnaLockJumpPoint__9daAlink_cCFv.s"
}
@@ -32980,7 +32774,7 @@ static asm void daAlink_searchGiantTalk(fopAc_ac_c* param_0, void* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procWolfGiantPuzzleInit() {
+asm bool daAlink_c::procWolfGiantPuzzleInit() {
nofralloc
#include "asm/d/a/d_a_alink/procWolfGiantPuzzleInit__9daAlink_cFv.s"
}
@@ -33169,7 +32963,7 @@ asm void daAlink_c::setWolfScreamWaitAnime() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procWolfScreamWaitInit() {
+asm bool daAlink_c::procWolfScreamWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procWolfScreamWaitInit__9daAlink_cFv.s"
}
@@ -34060,7 +33854,7 @@ static asm void daAlink_searchEnemyCargo(fopAc_ac_c* param_0, void* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procWolfCargoCarryInit() {
+asm bool daAlink_c::procWolfCargoCarryInit() {
nofralloc
#include "asm/d/a/d_a_alink/procWolfCargoCarryInit__9daAlink_cFv.s"
}
@@ -35718,7 +35512,7 @@ BOOL daPy_py_c::checkWolfHowlSuccessAnime() const {
}
/* 8014192C-80141934 13C26C 0008+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daPy_py_cFv */
-bool daPy_py_c::checkCopyRodTopUse() {
+BOOL daPy_py_c::checkCopyRodTopUse() {
return false;
}
diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp
index c625449590..8c3743d800 100644
--- a/src/d/a/d_a_player.cpp
+++ b/src/d/a/d_a_player.cpp
@@ -232,7 +232,7 @@ void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
/* ############################################################################################## */
/* 80451018-8045101C 000518 0004+00 2/2 33/32 103/103 .sbss m_midnaActor__9daPy_py_c */
-u8 daPy_py_c::m_midnaActor[4];
+daMidna_c* daPy_py_c::m_midnaActor;
/* 8045101C-80451020 -00001 0004+00 1/1 1/1 1/1 .sbss None */
/* 8045101C 0002+00 data_8045101C m_dropAngleY__20daPy_boomerangMove_c */
@@ -304,7 +304,7 @@ asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
+asm u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
nofralloc
#include "asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s"
}
@@ -574,9 +574,9 @@ J3DAnmBase* daPy_anmHeap_c::loadDataDemoRID(u16 pID, u16 pArcNo) {
}
/* 8015F168-8015F1A0 159AA8 0038+00 1/1 4/4 0/0 .text setAnimeHeap__14daPy_anmHeap_cFv */
-void daPy_anmHeap_c::setAnimeHeap() {
+JKRHeap* daPy_anmHeap_c::setAnimeHeap() {
mAnimeHeap->freeAll();
- mDoExt_setCurrentHeap(mAnimeHeap);
+ return mDoExt_setCurrentHeap(mAnimeHeap);
}
/* ############################################################################################## */
diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp
index 557b44267a..9d5c67bea9 100644
--- a/src/d/com/d_com_inf_game.cpp
+++ b/src/d/com/d_com_inf_game.cpp
@@ -28,10 +28,6 @@ struct dSmplMdl_draw_c {
/* 80049058 */ void removeModel(J3DModelData*, int);
};
-struct dPa_control_c {
- /* 8004BACC */ dPa_control_c();
-};
-
struct dMapInfo_n {
/* 8003EE5C */ void getMapPlayerPos();
};
@@ -2276,7 +2272,7 @@ cXyz dComIfGs_getWarpPlayerPos() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dComIfGs_getWarpPlayerPos() {
+asm cXyz& dComIfGs_getWarpPlayerPos() {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_getWarpPlayerPos__Fv.s"
}
@@ -2287,7 +2283,7 @@ s16 dComIfGs_getWarpPlayerAngleY() {
return dComIfGs_getLastWarpMarkPlayerAngleY();
}
-int dComIfGs_getWarpRoomNo() {
+s8 dComIfGs_getWarpRoomNo() {
return dComIfGs_getLastWarpMarkRoomNo();
}
diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp
index c30bb716b9..a6fc85fd47 100644
--- a/src/d/event/d_event.cpp
+++ b/src/d/event/d_event.cpp
@@ -628,7 +628,7 @@ bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
+asm BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
nofralloc
#include "asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s"
}
diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp
index 7c3b85a839..ed12b40973 100644
--- a/src/d/event/d_event_data.cpp
+++ b/src/d/event/d_event_data.cpp
@@ -4,6 +4,7 @@
//
#include "d/event/d_event_data.h"
+#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -18,45 +19,6 @@ struct mDoGph_gInf_c {
static f32 mFadeRate;
};
-struct dVibration_c {
- /* 8006FA24 */ void StartShock(int, int, cXyz);
- /* 8006FB10 */ void StartQuake(int, int, cXyz);
- /* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz);
- /* 8006FD94 */ void StopQuake(int);
-};
-
-struct dMsgObject_c {
- /* 8023806C */ void demoMessageGroup();
-};
-
-struct dEvt_control_c {
- /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
- /* 80042958 */ void setSkipZev(void*, char*);
- /* 80043278 */ void getStageEventDt();
- /* 800432EC */ void convPId(unsigned int);
- /* 8004331C */ void getStbDemoData(char*);
- /* 800434D8 */ void searchMapEventData(u8);
- /* 8004365C */ void setPt2(void*);
- /* 8004368C */ void setPtT(void*);
- /* 800436BC */ void setPtI(void*);
- /* 800436F4 */ void setPtD(void*);
-};
-
-struct dEvent_manager_c {
- /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
- /* 80047D4C */ void getIsAddvance(int);
- /* 80047F5C */ void getMyNowCutName(int);
- /* 800480EC */ void getMySubstanceP(int, char const*, int);
- /* 80048144 */ void getMySubstanceNum(int, char const*);
- /* 8004817C */ void cutEnd(int);
-};
-
-struct dDlst_list_c {
- /* 800568D8 */ void wipeIn(f32);
-
- static f32 mWipeRate;
-};
-
struct dDemo_c {
/* 80039B6C */ void start(u8 const*, cXyz*, f32);
/* 80039CF8 */ void end();
@@ -75,8 +37,6 @@ struct Z2SeqMgr {
/* 802AFE18 */ void bgmStreamPlay();
};
-struct JAISoundID {};
-
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
@@ -189,7 +149,6 @@ 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" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" f32 mFadeRate__13mDoGph_gInf_c;
extern "C" extern u8 struct_80450BE4[4];
extern "C" u8 m_control__7dDemo_c[4];
@@ -316,14 +275,116 @@ SECTION_SDATA2 static f32 lit_4265 = 15.0f;
SECTION_SDATA2 static f64 lit_4267 = 4503601774854144.0 /* cast s32 to float */;
/* 80043A14-80043D60 03E354 034C+00 1/1 0/0 0/0 .text dEvDt_Next_Stage__Fii */
+// bunch of issues with sclsInfo section. regalloc for the rest
+#ifdef NONMATCHING
+static int dEvDt_Next_Stage(int index, int wipe_type) {
+ char* stage;
+ s16 point;
+ s8 roomNo;
+ s8 layer;
+ u32 mode = 0; // uvar8 - retail
+ s8 wipe = wipe_type; // ivar10
+ int noVisit = true;
+ int wipe_time = 0; // bvar9
+ f32 speed = FLOAT_LABEL(lit_4264); // dvar12
+ bool setHour = false; // bvar2
+ f32 hour = speed; // set to 0.0f dvar13
+
+ int* p_id = dComIfGp_evmng_getMyIntegerP(index, "ID");
+ if (p_id != NULL) {
+ int id = *p_id;
+ s8 room_no = dComIfGp_roomControl_getStayNo();
+ stage_scls_info_dummy_class* info;
+ if (room_no == -1) {
+ info = dComIfGp_getStageSclsInfo();
+ } else {
+ info = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getSclsInfo();
+ }
+
+ if (info != NULL && id >= 0 && id < info->numEntries) {
+ stage = info->mEntries[id].mStage;
+ point = info->mEntries[id].mStart;
+ roomNo = info->mEntries[id].mRoom;
+ layer = dStage_sclsInfo_getSceneLayer(&info->mEntries[id]);
+ wipe = dStage_sclsInfo_getWipe(&info->mEntries[id]);
+ wipe_time = dStage_sclsInfo_getWipeTime(&info->mEntries[id]);
+
+ if (wipe == 15) {
+ wipe = 0;
+ }
+
+ s8 timeH = dStage_sclsInfo_getTimeH(&info->mEntries[id]);
+ if (timeH >= 0 && timeH <= 23) {
+ setHour = true;
+ hour = timeH;
+ }
+ }
+ }
+
+ char* stageP = dComIfGp_evmng_getMyStringP(index, "Stage");
+ if (stageP != NULL) {
+ stage = stageP;
+ }
+
+ int* pointP = dComIfGp_evmng_getMyIntegerP(index, "StartCode");
+ if (pointP != NULL) {
+ point = *pointP;
+ }
+
+ int* roomP = dComIfGp_evmng_getMyIntegerP(index, "RoomNo");
+ if (roomP != NULL) {
+ roomNo = *roomP;
+ }
+
+ int* layerP = dComIfGp_evmng_getMyIntegerP(index, "Layer");
+ if (layerP != NULL) {
+ layer = *layerP;
+ }
+
+ int* wipeP = dComIfGp_evmng_getMyIntegerP(index, "Wipe");
+ if (wipeP != NULL) {
+ wipe = *wipeP;
+ }
+
+ int* modeP = dComIfGp_evmng_getMyIntegerP(index, "Mode");
+ if (modeP != NULL) {
+ mode = *modeP;
+ }
+
+ f32* speedP = dComIfGp_evmng_getMyFloatP(index, "Speed");
+ if (speedP != NULL) {
+ speed = *speedP;
+ }
+
+ f32* hourP = dComIfGp_evmng_getMyFloatP(index, "Hour");
+ if (hourP != NULL) {
+ hour = *hourP;
+ setHour = true;
+ }
+
+ int* noVisitP = dComIfGp_evmng_getMyIntegerP(index, "NoVisit");
+ if (noVisitP != NULL) {
+ noVisit = false;
+ }
+
+ if (stage != NULL && point != -1) {
+ if (setHour) {
+ dKy_set_nexttime(15.0f * hour);
+ }
+ dComIfGp_setNextStage(stage, point, roomNo, layer, speed, mode, 1, wipe, 0, noVisit, wipe_time);
+ }
+ return 1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-static asm void dEvDt_Next_Stage(int param_0, int param_1) {
+static asm int dEvDt_Next_Stage(int param_0, int param_1) {
nofralloc
#include "asm/d/event/d_event_data/dEvDt_Next_Stage__Fii.s"
}
#pragma pop
+#endif
/* 80043D60-80043DC8 03E6A0 0068+00 3/3 0/0 0/0 .text flagCheck__11dEvDtFlag_cFi */
#pragma push
@@ -447,25 +508,28 @@ asm void dEvDtStaff_c::specialProc() {
}
#pragma pop
+inline dEvent_manager_c& dComIfGp_getEventManager() {
+ return g_dComIfG_gameInfo.play.getEvtManager();
+}
+
/* 80044134-80044170 03EA74 003C+00 0/0 1/1 0/0 .text init__12dEvDtStaff_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvDtStaff_c::init() {
- nofralloc
-#include "asm/d/event/d_event_data/init__12dEvDtStaff_cFv.s"
+void dEvDtStaff_c::init() {
+ mCurrentCut = mStartCut;
+ field_0x40 = true;
+ field_0x41 = false;
+ field_0x3c = -1;
+ if (mType == TYPE_CAMERA) {
+ dComIfGp_getEventManager().setCameraPlay(1);
+ }
}
-#pragma pop
/* 80044170-80044190 03EAB0 0020+00 1/1 0/0 0/0 .text advanceCut__12dEvDtStaff_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvDtStaff_c::advanceCut(int param_0) {
- nofralloc
-#include "asm/d/event/d_event_data/advanceCut__12dEvDtStaff_cFi.s"
+void dEvDtStaff_c::advanceCut(int cut) {
+ mCurrentCut = cut;
+ field_0x40 = true;
+ field_0x41 = false;
+ field_0x3c = -1;
}
-#pragma pop
/* ############################################################################################## */
/* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -676,34 +740,66 @@ asm void dEvDtCut_c::startCheck() {
#pragma pop
/* 80046138-8004616C 040A78 0034+00 1/1 7/7 0/0 .text init__11dEvDtBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvDtBase_c::init() {
- nofralloc
-#include "asm/d/event/d_event_data/init__11dEvDtBase_cFv.s"
+int dEvDtBase_c::init() {
+ mHeaderP = NULL;
+ mEventP = NULL;
+ mStaffP = NULL;
+ mCutP = NULL;
+ mDataP = NULL;
+ mFDataP = NULL;
+ mIDataP = NULL;
+ mSDataP = NULL;
+ mRoomNo = -1;
+ return 0;
}
-#pragma pop
/* 8004616C-8004628C 040AAC 0120+00 0/0 6/6 0/0 .text init__11dEvDtBase_cFPci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvDtBase_c::init(char* param_0, int param_1) {
- nofralloc
-#include "asm/d/event/d_event_data/init__11dEvDtBase_cFPci.s"
+int dEvDtBase_c::init(char* p_data, int roomNo) {
+ init();
+ if (p_data == NULL) {
+ return 0;
+ } else {
+ setHeaderP((event_binary_data_header*)p_data);
+
+ if (getEventNum() > 0) {
+ setEventP((dEvDtEvent_c*)(p_data + getEventTop()));
+ }
+
+ if (getStaffNum() > 0) {
+ setStaffP((dEvDtStaff_c*)(p_data + getStaffTop()));
+ }
+
+ if (getCutNum() > 0) {
+ setCutP((dEvDtCut_c*)(p_data + getCutTop()));
+ }
+
+ if (getDataNum() > 0) {
+ setDataP((dEvDtData_c*)(p_data + getDataTop()));
+ }
+
+ if (getFDataNum() > 0) {
+ setFDataP((f32*)(p_data + getFDataTop()));
+ }
+
+ if (getIDataNum() > 0) {
+ setIDataP((int*)(p_data + getIDataTop()));
+ }
+
+ if (getSDataNum() > 0) {
+ setSDataP((char*)(p_data + getSDataTop()));
+ }
+
+ mRoomNo = roomNo;
+ return getEventNum();
+ }
}
-#pragma pop
/* 8004628C-800462FC 040BCC 0070+00 0/0 1/1 0/0 .text advanceCut__11dEvDtBase_cFP12dEvDtEvent_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvDtBase_c::advanceCut(dEvDtEvent_c* param_0) {
- nofralloc
-#include "asm/d/event/d_event_data/advanceCut__11dEvDtBase_cFP12dEvDtEvent_c.s"
+void dEvDtBase_c::advanceCut(dEvDtEvent_c* p_event) {
+ for (int i = 0; i < p_event->getNStaff(); i++) {
+ advanceCutLocal(mStaffP + p_event->getStaff(i));
+ }
}
-#pragma pop
/* 800462FC-800463DC 040C3C 00E0+00 1/1 0/0 0/0 .text
* advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c */
diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp
index bc3f611c13..c44253c42d 100644
--- a/src/d/event/d_event_manager.cpp
+++ b/src/d/event/d_event_manager.cpp
@@ -199,21 +199,21 @@ SECTION_DEAD static char const* const stringBase_8037A071 = "(!BAD DATA!)";
#pragma pop
/* 803A8270-803A82A8 -00001 0038+00 1/1 0/0 0/0 .data soecial_names$3966 */
-SECTION_DATA static void* soecial_names[14] = {
- (void*)&d_event_d_event_manager__stringBase0,
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x10),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x1E),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x2C),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x3F),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x50),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x63),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x6E),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x7B),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x89),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0x94),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xA3),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xB2),
- (void*)(((char*)&d_event_d_event_manager__stringBase0) + 0xC3),
+SECTION_DATA static char* soecial_names[14] = {
+ "NORMAL_COMEBACK",
+ "DEFAULT_START",
+ "SHUTTER_START",
+ "SHUTTER_START_STOP",
+ "BS_SHUTTER_START",
+ "BS_SHUTTER_START_B",
+ "KNOB_START",
+ "KNOB_START_B",
+ "FMASTER_START",
+ "FALL_START",
+ "CRAWLOUT_START",
+ "BOSSWARP_START",
+ "PORTALWARP_START",
+ "PORTALWARP_START_B",
};
/* 80046480-800465E8 040DC0 0168+00 1/1 0/0 0/0 .text getEventName__18dEvent_exception_cFv */
@@ -228,14 +228,23 @@ asm void dEvent_exception_c::getEventName() {
/* 800465E8-80046688 040F28 00A0+00 1/1 0/0 0/0 .text
* getSubstance__16dEvent_manager_cFP11dEvDtData_ci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvent_manager_c::getSubstance(dEvDtData_c* param_0, int param_1) {
- nofralloc
-#include "asm/d/event/d_event_manager/getSubstance__16dEvent_manager_cFP11dEvDtData_ci.s"
+void* dEvent_manager_c::getSubstance(dEvDtData_c* p_data, int type) {
+ if (p_data->getIndex() < 0 || p_data->getNumber() <= 0) {
+ return NULL;
+ } else {
+ switch(p_data->getType()) {
+ case dEvDtData_c::TYPE_FLOAT:
+ case dEvDtData_c::TYPE_VEC:
+ case 2:
+ return getBase().getFDataP(p_data->getIndex());
+ case dEvDtData_c::TYPE_INT:
+ return getBase().getIDataP(p_data->getIndex());
+ case dEvDtData_c::TYPE_STRING:
+ return getBase().getSDataP(p_data->getIndex());
+ }
+ return NULL;
+ }
}
-#pragma pop
dEvent_manager_c::dEvent_manager_c() {
mDataLoaded = false;
@@ -264,18 +273,16 @@ int dEvent_manager_c::create() {
field_0x1b4 = 0;
field_0x1aa = -1;
field_0x1b8 = 0;
- field_0x1b0 = -1;
+ mRoomNo = -1;
mDataLoaded = 0;
for (int i = 4; i <= 9; i++) {
mEventList[i].init();
}
- char* res = (char*)dComIfG_getStageRes(data_80379F50);
- mEventList[3].init(res, -1);
- mEventList[10].init();
- res = (char*)dComIfG_getObjectRes("Event", data_80379F50);
- mEventList[1].init(res, -1);
+ mEventList[3].init((char*)dComIfG_getStageRes(data_80379F50), -1);
+ mEventList[10].init();
+ mEventList[1].init((char*)dComIfG_getObjectRes("Event", data_80379F50), -1);
mEventList[2].init();
return 1;
}
@@ -305,6 +312,35 @@ asm void dEvent_manager_c::demoInit() {
#pragma pop
/* 80046904-800469EC 041244 00E8+00 0/0 1/1 0/0 .text roomInit__16dEvent_manager_cFi */
+// reversed reg alloc
+#ifdef NONMATCHING
+void dEvent_manager_c::roomInit(int roomNo) {
+ if (roomNo == -1) {
+ roomNo = dComIfGp_roomControl_getStayNo();
+ }
+ char arc_name[8];
+ strcpy(arc_name, dComIfG_getRoomArcName(roomNo));
+ char* data = (char*)dComIfG_getStageRes(arc_name, data_80379F50);
+
+ int tmp = -1;
+ for (int i = 4; i <= 9; i++) {
+ if (mEventList[i].getHeaderP() == NULL) {
+ tmp = i;
+ continue;
+ }
+
+ if (mEventList[i].roomNo() == roomNo) {
+ tmp = i;
+ break;
+ }
+ }
+
+ if (tmp != -1) {
+ mEventList[tmp].init(data, roomNo);
+ }
+ mRoomNo = roomNo;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -313,6 +349,7 @@ asm void dEvent_manager_c::roomInit(int param_0) {
#include "asm/d/event/d_event_manager/roomInit__16dEvent_manager_cFi.s"
}
#pragma pop
+#endif
void dEvent_manager_c::roomFinish(int param_0) {
for (int i = 4; i <= 9; i++) {
@@ -369,19 +406,31 @@ static int allOffObjectCallBack(fopAc_ac_c* pActor, void* param_1) {
/* 80046CB8-80046DA0 0415F8 00E8+00 1/1 0/0 0/0 .text
* startProc__16dEvent_manager_cFP12dEvDtEvent_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvent_manager_c::startProc(dEvDtEvent_c* param_0) {
- nofralloc
-#include "asm/d/event/d_event_manager/startProc__16dEvent_manager_cFP12dEvDtEvent_c.s"
+void dEvent_manager_c::startProc(dEvDtEvent_c* p_evnt) {
+ for (int i = 0; i < p_evnt->getNStaff(); i++) {
+ dEvDtStaff_c* staff = getBase().getStaffP(p_evnt->getStaff(i));
+ if (staff->getType() == dEvDtStaff_c::TYPE_DEFAULT) {
+ fopAc_ac_c* ac = specialCast(staff->getName(), 1);
+ if (ac == NULL) {
+ ac = fopAcM_searchFromName4Event(staff->getName(), -1);
+ }
+ if (ac != NULL) {
+ fopAcM_OnStatus(ac, 0x8000);
+ }
+ }
+ if (staff->getType() == dEvDtStaff_c::TYPE_ALL) {
+ issueStaff(staff->getName());
+ }
+ staff->init();
+ }
+ p_evnt->mEventState = 1;
+ mFlags.init();
}
-#pragma pop
/* 80046DA0-80046DAC 0416E0 000C+00 2/2 0/0 0/0 .text
* closeProc__16dEvent_manager_cFP12dEvDtEvent_c */
-void dEvent_manager_c::closeProc(dEvDtEvent_c* param_0) {
- param_0->field_0xa4 = 2;
+void dEvent_manager_c::closeProc(dEvDtEvent_c* p_evnt) {
+ p_evnt->mEventState = 2;
}
/* ############################################################################################## */
@@ -452,23 +501,21 @@ asm void dEvent_manager_c::Experts() {
/* 80047454-800474BC 041D94 0068+00 1/1 0/0 0/0 .text getEventData__16dEvent_manager_cFsi
*/
#ifdef NONMATCHING
-dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int param_1) {
- dEvDtBase_c* baseptr;
- dEvDtEvent_c* eventptr;
-
- if (param_1 < 1 || param_1 > 12) {
- eventptr = NULL;
+dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int idx) {
+ if (idx <= 0 || idx > 11) {
+ return NULL;
} else {
- baseptr = &mEventList[param_1];
- if (baseptr == NULL || baseptr->getHeaderP() == NULL) {
- eventptr = NULL;
- } else if (param_0 < 0 || baseptr->getEventNum() <= param_0) {
- eventptr = NULL;
+ dEvDtBase_c* base = &mEventList[idx];
+
+ if (base == NULL || base->getHeaderP() == NULL) {
+ return NULL;
+ } else if (param_0 < 0 || param_0 >= base->getEventNum()) {
+ return NULL;
} else {
- eventptr = baseptr->getEventP(param_1);
+ return base->getEventP(idx);
}
}
- return eventptr;
+ return NULL;
}
#else
#pragma push
@@ -664,26 +711,62 @@ asm void dEvent_manager_c::getMyNowCutName(int param_0) {
}
#pragma pop
+inline dEvt_control_c& dComIfGp_getEvent() {
+ return g_dComIfG_gameInfo.play.getEvent();
+}
+
/* 80047FC8-800480EC 042908 0124+00 2/2 0/0 0/0 .text getMyDataP__16dEvent_manager_cFiPCci */
+// instruction in wrong place
+#ifdef NONMATCHING
+dEvDtData_c* dEvent_manager_c::getMyDataP(int index, char const* name, int type) {
+ if (dComIfGp_getEvent().getMode() == 0) {
+ return NULL;
+ }
+ else if (index == -1) {
+ return NULL;
+ }
+ else if (field_0x1aa == -1) {
+ return NULL;
+ } else {
+ dEvDtCut_c* cut;
+ if (type != 0) {
+ cut = getBase().getCutStaffStartCutP(index);
+ } else {
+ cut = getBase().getCutStaffCurrentCutP(index);
+ }
+
+ int top = cut->getDataTop();
+ while (top != -1) {
+ dEvDtData_c* data = getBase().getDataP(index);
+ if (!strcmp(name, data->getName())) {
+ return data;
+ }
+ top = data->getNext();
+ }
+
+ return NULL;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dEvent_manager_c::getMyDataP(int param_0, char const* param_1, int param_2) {
+asm dEvDtData_c* dEvent_manager_c::getMyDataP(int param_0, char const* param_1, int param_2) {
nofralloc
#include "asm/d/event/d_event_manager/getMyDataP__16dEvent_manager_cFiPCci.s"
}
#pragma pop
+#endif
/* 800480EC-80048144 042A2C 0058+00 0/0 22/22 355/355 .text
* getMySubstanceP__16dEvent_manager_cFiPCci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dEvent_manager_c::getMySubstanceP(int param_0, char const* param_1, int param_2) {
- nofralloc
-#include "asm/d/event/d_event_manager/getMySubstanceP__16dEvent_manager_cFiPCci.s"
+void* dEvent_manager_c::getMySubstanceP(int index, char const* name, int type) {
+ dEvDtData_c* data = getMyDataP(index, name, 0);
+ if (data == NULL) {
+ return NULL;
+ }
+ return getSubstance(data, type);
}
-#pragma pop
/* 80048144-8004817C 042A84 0038+00 0/0 12/12 0/0 .text getMySubstanceNum__16dEvent_manager_cFiPCc
*/
@@ -821,7 +904,7 @@ SECTION_DEAD static char const* const stringBase_8037A0DE = "SHUTTER_DOOR";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dEvent_manager_c::specialCast(char const* param_0, int param_1) {
+asm fopAc_ac_c* dEvent_manager_c::specialCast(char const* param_0, int param_1) {
nofralloc
#include "asm/d/event/d_event_manager/specialCast__16dEvent_manager_cFPCci.s"
}
diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp
index e0f640af35..d760c2dfad 100644
--- a/src/d/kankyo/d_kankyo.cpp
+++ b/src/d/kankyo/d_kankyo.cpp
@@ -26,12 +26,6 @@ struct mDoGph_gInf_c {
static u8 m_bloom[20];
};
-struct dPa_control_c {
- /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
- u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
- cXyz const*, f32);
-};
-
struct color_RGB_class {};
struct Z2SeMgr {
@@ -3152,7 +3146,7 @@ static asm void dKy_Indoor_check() {
#pragma pop
/* 801AC2E0-801AC2E8 1A6C20 0008+00 0/0 1/1 0/0 .text dKy_withwarp_capture_check__Fv */
-bool dKy_withwarp_capture_check() {
+BOOL dKy_withwarp_capture_check() {
return false;
}
diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp
index c677279916..6687cdd8c6 100644
--- a/src/d/particle/d_particle.cpp
+++ b/src/d/particle/d_particle.cpp
@@ -11,6 +11,7 @@
// Types:
//
+
struct mDoLib_clipper {
static u8 mClipper[92];
};
@@ -50,13 +51,6 @@ struct dPa_wbPcallBack_c {
struct JPADrawInfo {};
-struct JPAResourceManager {
- /* 80273E10 */ JPAResourceManager(void const*, JKRHeap*);
- /* 80273EA8 */ void checkUserIndexDuplication(u16) const;
- /* 80273EEC */ void swapTexture(ResTIMG const*, char const*);
- /* 80273FCC */ void getResUserWork(u16) const;
-};
-
struct JGeometry {
template <typename A1>
struct TVec3 {};
@@ -75,16 +69,6 @@ struct JPAEmitterManager {
/* 8027E354 */ void clearResourceManager(u8);
};
-struct dPa_simpleEcallBack {
- /* 8004ADF4 */ dPa_simpleEcallBack();
- /* 8004AE1C */ void executeAfter(JPABaseEmitter*);
- /* 8004AF94 */ void draw(JPABaseEmitter*);
- /* 8004AF98 */ void create(JPAEmitterManager*, u16, u8);
- /* 8004B064 */ void createEmitter(JPAEmitterManager*);
- /* 8004B168 */ void set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&,
- int, f32);
- /* 8004FC08 */ ~dPa_simpleEcallBack();
-};
struct dPa_simpleData_c {
/* 8004B024 */ ~dPa_simpleData_c();
@@ -205,82 +189,6 @@ struct dPa_followEcallBack {
struct cBgS_PolyInfo {};
-struct dPa_control_c {
- struct level_c {
- struct emitter_c {
- /* 8004B504 */ void onActive();
- /* 8004B544 */ void entry(u32, u16, JPABaseEmitter*, dPa_levelEcallBack*);
- /* 8004B5AC */ void cleanup();
- /* 8004FBFC */ emitter_c();
- };
-
- /* 8004B688 */ level_c();
- /* 8004B7A8 */ void execute();
- /* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*);
- /* 8004B808 */ void cleanup();
- /* 8004B874 */ void get(u32);
- /* 8004B8B4 */ void forceOnEventMove(u32);
- /* 8004B8E8 */ void allForceOnEventMove();
- /* 8004B918 */ void getEmitter(u32);
- /* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
- /* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*);
- /* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*);
- };
-
- /* 8004BACC */ dPa_control_c();
- /* 8004BB70 */ void getRM_ID(u16);
- /* 8004BB78 */ void createCommon(void const*);
- /* 8004BCDC */ void createRoomScene();
- /* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**);
- /* 8004BEB0 */ void createScene(void const*);
- /* 8004BF3C */ void removeRoomScene(bool);
- /* 8004BFD4 */ void removeScene(bool);
- /* 8004C054 */ void cleanup();
- /* 8004C078 */ void calc3D();
- /* 8004C0EC */ void calc2D();
- /* 8004C134 */ void calcMenu();
- /* 8004C188 */ void draw(JPADrawInfo*, u8);
- /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
- /* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
- cXyz const*, s8);
- /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
- u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
- cXyz const*, f32);
- /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
- cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
- _GXColor const*, cXyz const*, f32);
- /* 8004CF90 */ void getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
- /* 8004D6A4 */ void setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
- csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
- cXyz const*);
- /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
- cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
- /* 8004D128 */ void newSimple(u16, u8, u32*);
- /* 8004D1B8 */ void setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
- _GXColor const&, int, f32);
- /* 8004D23C */ void getSimple(u16);
- /* 8004D770 */ void setStopContinue(u32);
- /* 8004D7C4 */ void setSimpleFoot(u32, u32*, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
- int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8,
- cXyz const*);
- /* 8004D988 */ void setCommonPoly(u32*, cBgS_PolyInfo*, cXyz const*, cXyz const*,
- dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
-
- static u8 mTsubo[64];
- static u8 mLifeBall[24];
- static u8 mWindViewMatrix[48];
- static u8 mEmitterMng[4];
- static u8 mWaterBubblePcallBack[4];
- static u8 mFsenthPcallBack[4];
- static u8 mLight8EcallBack[4];
- static u8 mLight8PcallBack[4];
- static u8 m_b_Light8EcallBack[4];
- static u8 m_b_Light8PcallBack[4];
- static u8 m_d_Light8EcallBack[4];
- static u8 m_d_Light8PcallBack[4];
- static u8 mParticleTracePCB[4 + 4 /* padding */];
-};
-
struct dJntCol_c {
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
};
@@ -1628,7 +1536,7 @@ asm void dPa_control_c::level_c::allForceOnEventMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dPa_control_c::level_c::getEmitter(u32 param_0) {
+asm dPa_control_c::level_c::emitter_c* dPa_control_c::level_c::getEmitter(u32 param_0) {
nofralloc
#include "asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s"
}
@@ -2144,7 +2052,7 @@ static asm void dPa_kankyocolor_set(f32 param_0, JPABaseEmitter* param_1,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3,
+asm u32 dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3,
dKy_tevstr_c const* param_4, csXyz const* param_5, cXyz const* param_6,
u8 param_7, dPa_levelEcallBack* param_8, s8 param_9,
_GXColor const* param_10, _GXColor const* param_11,
@@ -2160,7 +2068,7 @@ asm void dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* pa
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dPa_control_c::setPoly(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2,
+asm u32 dPa_control_c::setPoly(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2,
cXyz const* param_3, dKy_tevstr_c const* param_4,
csXyz const* param_5, cXyz const* param_6, int param_7,
dPa_levelEcallBack* param_8, s8 param_9, cXyz const* param_10) {
@@ -2379,7 +2287,8 @@ asm void dPa_particleTracePcallBack_c::execute(JPABaseEmitter* param_0, JPABaseP
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dPa_levelEcallBack::~dPa_levelEcallBack() {
+// asm dPa_levelEcallBack::~dPa_levelEcallBack() {
+extern "C" asm void __dt__18dPa_levelEcallBackFv() {
nofralloc
#include "asm/d/particle/d_particle/__dt__18dPa_levelEcallBackFv.s"
}
@@ -2415,7 +2324,8 @@ asm dPa_control_c::level_c::emitter_c::emitter_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dPa_simpleEcallBack::~dPa_simpleEcallBack() {
+// asm dPa_simpleEcallBack::~dPa_simpleEcallBack() {
+extern "C" asm void __dt__19dPa_simpleEcallBackFv() {
nofralloc
#include "asm/d/particle/d_particle/__dt__19dPa_simpleEcallBackFv.s"
}
@@ -2435,7 +2345,8 @@ asm dPa_particleTracePcallBack_c::~dPa_particleTracePcallBack_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dPa_hermiteEcallBack_c::~dPa_hermiteEcallBack_c() {
+// asm dPa_hermiteEcallBack_c::~dPa_hermiteEcallBack_c() {
+extern "C" asm void __dt__22dPa_hermiteEcallBack_cFv() {
nofralloc
#include "asm/d/particle/d_particle/__dt__22dPa_hermiteEcallBack_cFv.s"
}
@@ -2666,7 +2577,7 @@ asm dPa_setColorEcallBack::~dPa_setColorEcallBack() {
/* 80050368-8005036C 04ACA8 0004+00 10/0 0/0 0/0 .text
* execute__18JPAEmitterCallBackFP14JPABaseEmitter */
-void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) {
+extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() {
/* empty function */
}
diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp
index adcfc1be3a..866b1d5dd8 100644
--- a/src/f_op/f_op_actor_mng.cpp
+++ b/src/f_op/f_op_actor_mng.cpp
@@ -1948,7 +1948,7 @@ asm s32 fopAcM_findObject4EventCB(fopAc_ac_c* param_0, void* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm s32 fopAcM_searchFromName4Event(char const* param_0, s16 param_1) {
+asm fopAc_ac_c* fopAcM_searchFromName4Event(char const* param_0, s16 param_1) {
nofralloc
#include "asm/f_op/f_op_actor_mng/fopAcM_searchFromName4Event__FPCcs.s"
}
diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp
index 0e6f5a4dde..e850d25c3e 100644
--- a/src/m_Do/m_Do_ext.cpp
+++ b/src/m_Do/m_Do_ext.cpp
@@ -18,25 +18,6 @@
// Types:
//
-struct mDoExt_morf_c {
- /* 8000F950 */ mDoExt_morf_c();
- /* 8000FAE8 */ ~mDoExt_morf_c();
- /* 8000FB7C */ void setMorf(f32);
- /* 8000FBC0 */ void frameUpdate();
-};
-
-struct mDoExt_invisibleModel {
- /* 8000E53C */ void create(J3DModel*, u8);
- /* 8000E6C8 */ void entryJoint(cXyz*);
- /* 8000E7C0 */ void entryDL(cXyz*);
-};
-
-struct mDoExt_invJntPacket {
- /* 8000E5F8 */ ~mDoExt_invJntPacket();
- /* 8000E654 */ mDoExt_invJntPacket();
- /* 80012220 */ void draw();
-};
-
struct mDoExt_btpAnm {
/* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
@@ -46,11 +27,6 @@ struct mDoExt_blkAnm {
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
};
-struct mDoExt_MtxCalcOldFrame {
- /* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
- /* 8000F8CC */ void decOldFrameMorfCounter();
-};
-
struct mDoExt_MtxCalcAnmBlendTblOld {
/* 8000F4B0 */ void calc();
/* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld();
@@ -203,12 +179,6 @@ struct JUTCacheFont {
/* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*);
};
-struct J3DMtxCalcNoAnmBase {
- /* 8000FA8C */ ~J3DMtxCalcNoAnmBase();
-};
-
-template <typename A0, typename B0>
-struct J3DMtxCalcNoAnm {};
/* J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> */
struct J3DMtxCalcNoAnm__template0 {
/* 8000FA20 */ void func_8000FA20(void* _this);
@@ -2518,7 +2488,8 @@ extern "C" asm void func_8000FA20(void* _this) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
+// asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
+extern "C" asm void __dt__19J3DMtxCalcNoAnmBaseFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__19J3DMtxCalcNoAnmBaseFv.s"
}
@@ -2528,7 +2499,8 @@ asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm mDoExt_morf_c::~mDoExt_morf_c() {
+// asm mDoExt_morf_c::~mDoExt_morf_c() {
+extern "C" asm void __dt__13mDoExt_morf_cFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__13mDoExt_morf_cFv.s"
}
@@ -2920,7 +2892,8 @@ asm void mDoExt_McaMorf2::stopZelAnime() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void mDoExt_invJntPacket::draw() {
+// asm void mDoExt_invJntPacket::draw() {
+extern "C" asm void draw__19mDoExt_invJntPacketFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/draw__19mDoExt_invJntPacketFv.s"
}