summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2021-11-10 23:54:31 -0800
committerTakaRikka <38417346+TakaRikka@users.noreply.github.com>2021-11-10 23:54:31 -0800
commit70eabb12bd5e9327ccd01b1f9367fca109d4fbfa (patch)
treebc478c843622a25b54dd87479b6575be425b7488 /src/d
parent74ed2da8bc93804373cddf64c0c878603150b699 (diff)
wip
Diffstat (limited to 'src/d')
-rw-r--r--src/d/a/d_a_alink.cpp3563
-rw-r--r--src/d/a/d_a_player.cpp83
-rw-r--r--src/d/bg/d_bg_s_acch.cpp4
-rw-r--r--src/d/com/d_com_inf_game.cpp36
-rw-r--r--src/d/d_att_dist.cpp674
-rw-r--r--src/d/d_attention.cpp4
-rw-r--r--src/d/d_drawlist.cpp2
-rw-r--r--src/d/d_jnt_col.cpp1
-rw-r--r--src/d/event/d_event_manager.cpp2
-rw-r--r--src/d/kankyo/d_kankyo.cpp2
-rw-r--r--src/d/particle/d_particle.cpp2
-rw-r--r--src/d/save/d_save.cpp14
12 files changed, 2020 insertions, 2367 deletions
diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp
index cb7d394ae0..4827466f51 100644
--- a/src/d/a/d_a_alink.cpp
+++ b/src/d/a/d_a_alink.cpp
@@ -4,7 +4,10 @@
//
#include "d/a/d_a_alink.h"
+#include "d/d_bomb.h"
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
+#include "JSystem/JMath/JMath.h"
+#include "SSystem/SComponent/c_math.h"
#include "Z2AudioLib/Z2AudioMgr.h"
#include "d/a/d_a_horse_static.h"
#include "d/com/d_com_inf_game.h"
@@ -12,7 +15,10 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_ext.h"
+#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_mtx.h"
+#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
+#include "rel/d/a/d_a_crod/d_a_crod.h"
//
// Types:
@@ -70,19 +76,6 @@ struct daMirror_c {
/* 8003194C */ void entry(J3DModel*);
};
-struct daCrod_c {
- /* 80141A94 */ void setControllActorData();
-};
-
-struct daAlink_matAnm_c {
- /* 8009D8E4 */ void init();
- /* 8009D90C */ void calc(J3DMaterial*) const;
- /* 800D0180 */ void offSetFlg();
- /* 800D0B8C */ ~daAlink_matAnm_c();
-};
-
-struct dCcG_At_Spl {};
-
struct dDemo_actor_c {
/* 8003819C */ void getPrm_Morf();
/* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*);
@@ -188,10 +181,6 @@ struct daAlinkHIO_wlBackJump_c0 {
static u8 const m[56];
};
-struct daAlinkHIO_wlAttack_c0 {
- static u8 const m[56];
-};
-
struct daAlinkHIO_wlAtnMove_c0 {
static u8 const m[56];
};
@@ -236,10 +225,6 @@ struct daAlinkHIO_wlAtBite_c0 {
static u8 const m[92];
};
-struct daAlinkHIO_wallMove_c0 {
- static u8 const m[20];
-};
-
struct daAlinkHIO_wallHang_c0 {
static u8 const m[28];
};
@@ -252,10 +237,6 @@ struct daAlinkHIO_wallCatch_c0 {
static u8 const m[84];
};
-struct daAlinkHIO_turnMove_c0 {
- static u8 const m[44];
-};
-
struct daAlinkHIO_swim_c0 {
static u8 const m[252];
};
@@ -268,14 +249,6 @@ struct daAlinkHIO_smallJump_c0 {
static u8 const m[72];
};
-struct daAlinkHIO_slide_c0 {
- static u8 const m[120];
-};
-
-struct daAlinkHIO_sideStep_c0 {
- static u8 const m[104];
-};
-
struct daAlinkHIO_roofHang_c0 {
static u8 const m[76];
};
@@ -292,14 +265,6 @@ struct daAlinkHIO_noActAtnMove_c0 {
static u8 const m[84];
};
-struct daAlinkHIO_move_c0 {
- static u8 const m[88];
-};
-
-struct daAlinkHIO_magneBoots_c0 {
- static u8 const m[76];
-};
-
struct daAlinkHIO_ladder_c0 {
static u8 const m[112];
};
@@ -364,10 +329,6 @@ struct daAlinkHIO_gAtKick_c0 {
static u8 const m[36];
};
-struct daAlinkHIO_frontRoll_c0 {
- static u8 const m[112];
-};
-
struct daAlinkHIO_fmChain_c0 {
static u8 const m[40];
};
@@ -404,10 +365,6 @@ struct daAlinkHIO_damCaught_c0 {
static u8 const m[36];
};
-struct daAlinkHIO_cut_c0 {
- static u8 const m[156];
-};
-
struct daAlinkHIO_cut_c {
/* 80140BD4 */ ~daAlinkHIO_cut_c();
};
@@ -440,10 +397,6 @@ struct daAlinkHIO_cutLargeJump_c0 {
static u8 const m[116];
};
-struct daAlinkHIO_cutJump_c0 {
- static u8 const m[68];
-};
-
struct daAlinkHIO_cutHead_c0 {
static u8 const m[96];
};
@@ -521,10 +474,6 @@ struct daAlinkHIO_boom_c0 {
static u8 const m[76];
};
-struct daAlinkHIO_bomb_c0 {
- static u8 const m[76];
-};
-
struct daAlinkHIO_board_c0 {
static u8 const m[156];
};
@@ -533,10 +482,6 @@ struct daAlinkHIO_backJump_c0 {
static u8 const m[56];
};
-struct daAlinkHIO_atnMove_c0 {
- static u8 const m[84];
-};
-
struct dPa_control_c {
struct level_c {
/* 8004B8B4 */ void forceOnEventMove(u32);
@@ -621,12 +566,6 @@ struct JAISeq {
/* 802A0A8C */ JAISeq(JAISeqMgr*, JAISoundStrategyMgr<JAISeq>*);
};
-struct J3DMaterialAnm {
- /* 800A4820 */ ~J3DMaterialAnm();
- /* 8032C320 */ void initialize();
- /* 8032C3C4 */ void calc(J3DMaterial*) const;
-};
-
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
@@ -3638,6 +3577,14 @@ inline Z2CreatureLink* Z2GetLink() {
return Z2CreatureLink::mLinkPtr;
}
+inline u16 i_dComIfGs_getLife() {
+ return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife();
+}
+
+inline BOOL i_dComIfGs_isEventBit(u16 id) {
+ return g_dComIfG_gameInfo.info.getEvent().isEventBit(id);
+}
+
/* 8009D87C-8009D884 0981BC 0008+00 0/0 1/1 0/0 .text getE3Zhint__9daAlink_cFv */
bool daAlink_c::getE3Zhint() {
return false;
@@ -3713,8 +3660,10 @@ static u8 struct_80450FC4[4];
/* 80450FC8-80450FCC -00001 0004+00 5/5 0/0 0/0 .sbss None */
/* 80450FC8 0001+00 data_80450FC8 None */
+static bool struct_80450FC8; // sEyeMoveFlg
+
/* 80450FC9 0003+00 data_80450FC9 None */
-static u8 struct_80450FC8[4];
+static u8 sMorfFrame;
/* 80452C98-80452C9C 001298 0004+00 102/102 0/0 0/0 .sdata2 @5943 */
SECTION_SDATA2 static f32 lit_5943 = 0.5f;
@@ -3752,14 +3701,16 @@ SECTION_SDATA2 static u8 lit_6108[4] = {
};
/* 8009D8E4-8009D90C 098224 0028+00 2/2 0/0 0/0 .text init__16daAlink_matAnm_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_matAnm_c::init() {
- nofralloc
-#include "asm/d/a/d_a_alink/init__16daAlink_matAnm_cFv.s"
+void daAlink_matAnm_c::init() {
+ f32 tmp_0 = FLOAT_LABEL(lit_6108);
+ field_0xf4 = tmp_0;
+ field_0xf8 = tmp_0;
+ mNowOffsetX = tmp_0;
+ mNowOffsetY = tmp_0;
+ struct_80450FC8 = false; // sEyeMoveFlg
+ sMorfFrame = 0;
+ mSetFlag = 0;
}
-#pragma pop
/* 8009D90C-8009DA60 09824C 0154+00 1/0 0/0 0/0 .text calc__16daAlink_matAnm_cCFP11J3DMaterial */
#pragma push
@@ -3771,6 +3722,37 @@ asm void daAlink_matAnm_c::calc(J3DMaterial* param_0) const {
}
#pragma pop
+/* void daAlink_matAnm_c::calc(J3DMaterial* param_0) const {
+ J3DMaterialAnm::calc(param_0);
+
+ if (!daAlink_getAlinkActorClass()->checkStatusWindowDraw()) {
+ for (u32 i = 0; i < 8; i++) {
+ if (getTexMtxAnm(i).getAnmFlag()) {
+ J3DTexMtxInfo* info = &param_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo();
+ if (sMorfFrame != 0) {
+ if (mSetFlag == 0) {
+ f32 tmp = 1.0f / sMorfFrame;
+ info->field_0x10.field_0xc = field_0xf4 * (1.0f - tmp) + info->field_0x10.field_0xc * tmp;
+ info->field_0x10.field_0x10 = field_0xf8 * (1.0f - tmp) + info->field_0x10.field_0xc * tmp;
+ //mSetFlag = 1;
+ } else {
+ info->field_0x10.field_0xc = field_0xf4;
+ info->field_0x10.field_0x10 = field_0xf8;
+ }
+ }
+
+ if (struct_80450FC8) {
+ info->field_0x10.field_0xc = mNowOffsetX;
+ info->field_0x10.field_0x10 = mNowOffsetY;
+ }
+
+
+
+ }
+ }
+ }
+} */
+
bool daAlink_c::checkStageName(const char* stage) {
return strcmp(dComIfGp_getStartStageName(), stage) == 0;
}
@@ -5076,26 +5058,16 @@ daAlinkHIO_basic_c1 const daAlinkHIO_basic_c0::m = {
60.0f, 85.0f, 300.0f, 200.0f, 20.0f, 30.0f, 23.0f, 41.0f, 0.7f, 0.5f, 0.7f, 400.0f, 5000.0f};
/* 8038D6BC-8038D714 019D1C 0058+00 34/47 0/0 0/0 .rodata m__18daAlinkHIO_move_c0 */
-SECTION_RODATA u8 const daAlinkHIO_move_c0::m[88] = {
- 0x00, 0x0B, 0x00, 0x00, 0x3F, 0x33, 0x33, 0x33, 0x40, 0x40, 0x00, 0x00, 0x40, 0x80, 0x00,
- 0x00, 0x41, 0x40, 0x00, 0x00, 0x11, 0x94, 0x00, 0x64, 0x00, 0x05, 0x00, 0x00, 0x3F, 0x80,
- 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x3E, 0xCC, 0xCC, 0xCD, 0x3F,
- 0x4C, 0xCC, 0xCD, 0x41, 0xB8, 0x00, 0x00, 0x3F, 0xF3, 0x33, 0x33, 0x40, 0x0C, 0xCC, 0xCD,
- 0x3F, 0x19, 0x99, 0x9A, 0x3F, 0x8C, 0xCC, 0xCD, 0x3F, 0xC0, 0x00, 0x00, 0x3F, 0x7D, 0x70,
- 0xA4, 0x40, 0x40, 0x00, 0x00, 0x3F, 0x33, 0x33, 0x33, 0x3E, 0xCC, 0xCC, 0xCD,
+daAlinkHIO_move_c1 const daAlinkHIO_move_c0::m = {
+ { 11, 0.7f, 3.0f, 4.0f, 12.0f },
+ 4500, 100, 5, 1.0f, 0.75f, 1.5f, 0.4f, 0.8f, 23.0f, 1.9f, 2.2f, 0.6f, 1.1f, 1.5f, 0.99f, 3.0f, 0.7f, 0.4f
};
-COMPILER_STRIP_GATE(0x8038D6BC, &daAlinkHIO_move_c0::m);
/* 8038D714-8038D768 019D74 0054+00 10/16 0/0 0/0 .rodata m__21daAlinkHIO_atnMove_c0 */
-SECTION_RODATA u8 const daAlinkHIO_atnMove_c0::m[84] = {
- 0x0B, 0xB8, 0x07, 0xD0, 0x00, 0x06, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0x3F, 0x8C,
- 0xCC, 0xCD, 0x3F, 0xC0, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x19, 0x99, 0x9A,
- 0x41, 0x50, 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00, 0x40, 0xF0, 0x00, 0x00, 0x3F, 0x33,
- 0x33, 0x33, 0x3F, 0xB3, 0x33, 0x33, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x33, 0x33, 0x33,
- 0x41, 0x70, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x3F, 0x00,
- 0x00, 0x00, 0x3E, 0xCC, 0xCC, 0xCD, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66,
+daAlinkHIO_atnMove_c1 const daAlinkHIO_atnMove_c0::m = {
+ 3000, 2000, 6, 1.2f, 1.1f, 1.5f, 0.5f, 0.6f, 13.0f, 6.0f, 7.5f,
+ 0.7f, 1.4f, 0.25f, 0.7f, 15.0f, 2.5f, 8.0f, 0.5f, 0.4f, 1.0f, 1.3f
};
-COMPILER_STRIP_GATE(0x8038D714, &daAlinkHIO_atnMove_c0::m);
/* 8038D768-8038D7BC 019DC8 0054+00 3/9 0/0 0/0 .rodata m__26daAlinkHIO_noActAtnMove_c0 */
SECTION_RODATA u8 const daAlinkHIO_noActAtnMove_c0::m[84] = {
@@ -5109,16 +5081,12 @@ SECTION_RODATA u8 const daAlinkHIO_noActAtnMove_c0::m[84] = {
COMPILER_STRIP_GATE(0x8038D768, &daAlinkHIO_noActAtnMove_c0::m);
/* 8038D7BC-8038D82C 019E1C 0070+00 5/7 0/0 0/0 .rodata m__23daAlinkHIO_frontRoll_c0 */
-SECTION_RODATA u8 const daAlinkHIO_frontRoll_c0::m[112] = {
- 0x00, 0x1D, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0xB0, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0x40, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x27, 0x10, 0x00, 0x05,
- 0x03, 0xE8, 0x00, 0x64, 0x40, 0x40, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, 0x41, 0xC8, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x41, 0x40, 0x00, 0x00, 0x41, 0x10, 0x00, 0x00, 0x41, 0x98, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00,
+daAlinkHIO_frontRoll_c1 const daAlinkHIO_frontRoll_c0::m = {
+ { 29, 1.1f, 0.0f, 3.0f, 22.0f },
+ { 29, 0.8f, 3.0f, 2.0f, 25.0f },
+ { 33, 1.2f, 0.0f, 1.0f, 25.0f },
+ 10000, 5, 1000, 100, 3.0f, 1.3f, 25.0f, 10.0f, 3.0f, 15.0f, 10.0f, 12.0f, 9.0f, 19.0f, 60.0f
};
-COMPILER_STRIP_GATE(0x8038D7BC, &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] = {
@@ -5130,29 +5098,22 @@ SECTION_RODATA u8 const daAlinkHIO_backJump_c0::m[56] = {
COMPILER_STRIP_GATE(0x8038D82C, &daAlinkHIO_backJump_c0::m);
/* 8038D864-8038D8CC 019EC4 0068+00 3/3 0/0 0/0 .rodata m__22daAlinkHIO_sideStep_c0 */
-SECTION_RODATA u8 const daAlinkHIO_sideStep_c0::m[104] = {
- 0x00, 0x05, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x3F,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xE0, 0x00, 0x00,
- 0x00, 0x09, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x40, 0x80, 0x00, 0x00, 0x41, 0xE0, 0x00, 0x00, 0x41, 0xB0, 0x00, 0x00, 0x41, 0xC8,
- 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
+daAlinkHIO_sideStep_c1 const daAlinkHIO_sideStep_c0::m = {
+ { 5, 1.1f, 1.0f, 3.0f, 6.0f },
+ { 9, 1.0f, 0.0f, 3.0f, 2.0f },
+ { 6, 1.0f, 0.0f, 3.0f, 7.0f },
+ { 9, 1.1f, 0.0f, 3.0f, 4.0f },
+ 28.0f, 22.0f, 25.0f, 20.0f, 100.0f, 10.0f
};
-COMPILER_STRIP_GATE(0x8038D864, &daAlinkHIO_sideStep_c0::m);
/* 8038D8CC-8038D944 019F2C 0078+00 5/10 0/0 0/0 .rodata m__19daAlinkHIO_slide_c0 */
-SECTION_RODATA u8 const daAlinkHIO_slide_c0::m[120] = {
- 0x00, 0x0E, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00,
- 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x3F,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x10, 0x00, 0x00,
- 0x00, 0x14, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0x80, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x48,
- 0x00, 0x00, 0x41, 0xD8, 0x00, 0x00, 0x3E, 0x4C, 0xCC, 0xCD, 0x41, 0x40, 0x00, 0x00, 0x42,
- 0x48, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x42, 0x04, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A,
-};
-COMPILER_STRIP_GATE(0x8038D8CC, &daAlinkHIO_slide_c0::m);
+daAlinkHIO_slide_c1 const daAlinkHIO_slide_c0::m = {
+ { 14, 0.75f, 0.0f, 5.0f, 15.0f },
+ { 6, 0.9f, 0.0f, 3.0f, 7.0f },
+ { 15, 1.0f, 0.0f, 3.0f, 9.0f },
+ { 20, 1.0f, 0.0f, 3.0f, 16.0f },
+ 40.0f, 3.0f, 50.0f, 27.0f, 0.2f, 12.0f, 50.0f, 3.0f, 33.0f, 1.2f
+};
/* 8038D944-8038D964 019FA4 0020+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutNmV_c0 */
#pragma push
@@ -5282,14 +5243,11 @@ SECTION_RODATA u8 const daAlinkHIO_cutFnJU_c0::m[84] = {
COMPILER_STRIP_GATE(0x8038DAEC, &daAlinkHIO_cutFnJU_c0::m);
/* 8038DB40-8038DB84 01A1A0 0044+00 4/4 0/0 0/0 .rodata m__21daAlinkHIO_cutJump_c0 */
-SECTION_RODATA u8 const daAlinkHIO_cutJump_c0::m[68] = {
- 0x00, 0x11, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
- 0x00, 0x00, 0x41, 0x90, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x10, 0x00, 0x00, 0x41, 0xC8,
- 0x00, 0x00, 0x41, 0xD8, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x41, 0x50, 0x00, 0x00,
- 0x41, 0x50, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
+daAlinkHIO_cutJump_c1 const daAlinkHIO_cutJump_c0::m = {
+ { 17, 1.1f, 0.0f, 2.0f, 18.0f },
+ { 29, 1.0f, 2.0f, 0.0f, 9.0f },
+ 25.0f, 27.0f, 15.0f, 13.0f, 13.0f, 1.0f, 3.0f
};
-COMPILER_STRIP_GATE(0x8038DB40, &daAlinkHIO_cutJump_c0::m);
/* 8038DB84-8038DC1C 01A1E4 0098+00 5/6 0/0 0/0 .rodata m__21daAlinkHIO_cutTurn_c0 */
SECTION_RODATA u8 const daAlinkHIO_cutTurn_c0::m[152] = {
@@ -5425,19 +5383,16 @@ SECTION_RODATA u8 const daAlinkHIO_cutLargeJump_c0::m[116] = {
COMPILER_STRIP_GATE(0x8038DE18, &daAlinkHIO_cutLargeJump_c0::m);
/* 8038DE8C-8038DF28 01A4EC 009C+00 21/30 0/0 0/0 .rodata m__17daAlinkHIO_cut_c0 */
-SECTION_RODATA u8 const daAlinkHIO_cut_c0::m[156] = {
- 0x00, 0x12, 0x00, 0x00, 0xBF, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0xBF, 0x80, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x40, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x41, 0xD8, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x0A, 0x00, 0x5A, 0x00, 0x4B, 0x0F, 0xA0,
- 0xF0, 0x60, 0x00, 0x1E, 0x41, 0x40, 0x00, 0x00, 0x3F, 0xA0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x3F, 0xCC, 0xCC, 0xCD, 0x42, 0x34, 0x00, 0x00, 0x3F, 0xD3, 0x33, 0x33,
- 0x42, 0x82, 0x00, 0x00, 0x3F, 0x9A, 0xE1, 0x48, 0x42, 0x0C, 0x00, 0x00, 0x40, 0x13, 0x33, 0x33,
- 0x40, 0x0C, 0xCC, 0xCD, 0x42, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x8038DE8C, &daAlinkHIO_cut_c0::m);
+daAlinkHIO_cut_c1 const daAlinkHIO_cut_c0::m = {
+ { 18, -1.100f, 0.0f, 3.0f, -1.0f },
+ { 22, 0.9f, 0.0f, 3.0f, 23.0f },
+ { 45, 1.0f, 0.0f, 3.0f, 15.0f },
+ { 47, 1.0f, 0.0f, 5.0f, 27.0f },
+ 0, 1, 15, 8, 10, 90, 75, 4000, -4000, 30,
+ 12.0f, 1.250f, 1.0f, 1.0f, 1.6f, 45.0f,
+ 1.65f, 65.0f, 1.21f, 35.0f, 2.3f, 2.2f, 65.0f,
+ 0.0f
+};
/* 8038DF28-8038DF4C 01A588 0024+00 1/1 0/0 0/0 .rodata m__21daAlinkHIO_gAtPush_c0 */
SECTION_RODATA u8 const daAlinkHIO_gAtPush_c0::m[36] = {
@@ -5459,12 +5414,10 @@ COMPILER_STRIP_GATE(0x8038DF4C, &daAlinkHIO_gAtKick_c0::m);
#pragma pop
/* 8038DF70-8038DF9C 01A5D0 002C+00 4/4 0/0 0/0 .rodata m__22daAlinkHIO_turnMove_c0 */
-SECTION_RODATA u8 const daAlinkHIO_turnMove_c0::m[44] = {
- 0x00, 0x1B, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
- 0x00, 0x41, 0xB0, 0x00, 0x00, 0x00, 0x05, 0x09, 0xC4, 0x00, 0xC8, 0x03, 0xE8, 0x3F, 0x8C,
- 0xCC, 0xCD, 0x41, 0x98, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00,
+daAlinkHIO_turnMove_c1 const daAlinkHIO_turnMove_c0::m = {
+ { 27, 1.0f, 0.0f, 3.0f, 22.0f },
+ 5, 2500, 200, 1000, 1.1f, 19.0f, 1.5f, 25.0f,
};
-COMPILER_STRIP_GATE(0x8038DF70, &daAlinkHIO_turnMove_c0::m);
/* 8038DF9C-8038E01C 01A5FC 0080+00 6/7 0/0 0/0 .rodata m__19daAlinkHIO_guard_c0 */
SECTION_RODATA u8 const daAlinkHIO_guard_c0::m[128] = {
@@ -5552,11 +5505,9 @@ SECTION_RODATA u8 const daAlinkHIO_wallFall_c0::m[40] = {
COMPILER_STRIP_GATE(0x8038E1B8, &daAlinkHIO_wallFall_c0::m);
/* 8038E1E0-8038E1F4 01A840 0014+00 2/2 0/0 0/0 .rodata m__22daAlinkHIO_wallMove_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wallMove_c0::m[20] = {
- 0x3F, 0x4C, 0xCC, 0xCD, 0x3F, 0x8C, 0xCC, 0xCD, 0x40, 0x40,
- 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
+daAlinkHIO_wallMove_c1 const daAlinkHIO_wallMove_c0::m = {
+ 0.8f, 1.1f, 3.0f, 2.0f, 3.0f
};
-COMPILER_STRIP_GATE(0x8038E1E0, &daAlinkHIO_wallMove_c0::m);
/* 8038E1F4-8038E210 01A854 001C+00 2/5 0/0 0/0 .rodata m__22daAlinkHIO_wallHang_c0 */
SECTION_RODATA u8 const daAlinkHIO_wallHang_c0::m[28] = {
@@ -5749,14 +5700,10 @@ SECTION_RODATA u8 const daAlinkHIO_boom_c0::m[76] = {
COMPILER_STRIP_GATE(0x8038E6C8, &daAlinkHIO_boom_c0::m);
/* 8038E714-8038E760 01AD74 004C+00 14/14 0/0 0/0 .rodata m__18daAlinkHIO_bomb_c0 */
-SECTION_RODATA u8 const daAlinkHIO_bomb_c0::m[76] = {
- 0x00, 0xA0, 0x00, 0x32, 0x00, 0x32, 0x00, 0x00, 0xC0, 0x86, 0x66, 0x66, 0xC2, 0xC8, 0x00, 0x00,
- 0x3E, 0xB3, 0x33, 0x33, 0x40, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66,
- 0x43, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x4C, 0xCC, 0xCD, 0xC0, 0xE0, 0x00, 0x00,
- 0x41, 0xD0, 0x00, 0x00, 0x42, 0x04, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00,
- 0x42, 0x20, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
+daAlinkHIO_bomb_c1 const daAlinkHIO_bomb_c0::m = {
+ 160, 50, 50, -4.2f, -100.0f, 0.350f, 2.0f, 20.0f, 1.3f, 225.0f, 0.0f, -0.8f, -7.0f, 26.0f, 33.0f,
+ 10.0f, 15.0f, 40.0f, 15.0f, 300.0f
};
-COMPILER_STRIP_GATE(0x8038E714, &daAlinkHIO_bomb_c0::m);
/* 8038E760-8038E77C 01ADC0 001C+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_huLight_c0 */
#pragma push
@@ -5787,14 +5734,10 @@ SECTION_RODATA u8 const daAlinkHIO_fmChain_c0::m[40] = {
COMPILER_STRIP_GATE(0x8038E7CC, &daAlinkHIO_fmChain_c0::m);
/* 8038E7F4-8038E840 01AE54 004C+00 17/21 0/0 0/0 .rodata m__24daAlinkHIO_magneBoots_c0 */
-SECTION_RODATA u8 const daAlinkHIO_magneBoots_c0::m[76] = {
- 0x00, 0x1D, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00,
- 0x41, 0xB8, 0x00, 0x00, 0x3E, 0xCC, 0xCC, 0xCD, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0xE6, 0x66, 0x66,
- 0x3F, 0x33, 0x33, 0x33, 0x3F, 0x40, 0x00, 0x00, 0x3E, 0xE6, 0x66, 0x66, 0x3F, 0x19, 0x99, 0x9A,
- 0x42, 0x48, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x3E, 0xB3, 0x33, 0x33, 0x3E, 0x99, 0x99, 0x9A,
- 0x3F, 0x33, 0x33, 0x33, 0x3F, 0x4C, 0xCC, 0xCD, 0x3F, 0x33, 0x33, 0x33,
+daAlinkHIO_magneBoots_c1 const daAlinkHIO_magneBoots_c0::m = {
+ {29, 1.1f, 0.0f, 3.0f, 23.0f},
+ 0.4f, 1.0f, 1.8f, 0.7f, 0.75f, 0.45, 0.6f, 50.0f, 10.0f, 0.35f, 0.3f, 0.7f, 0.8f, 0.7f
};
-COMPILER_STRIP_GATE(0x8038E7F4, &daAlinkHIO_magneBoots_c0::m);
/* 8038E840-8038E870 01AEA0 0030+00 6/6 0/0 0/0 .rodata m__20daAlinkHIO_pickUp_c0 */
SECTION_RODATA u8 const daAlinkHIO_pickUp_c0::m[48] = {
@@ -6293,13 +6236,10 @@ SECTION_RODATA u8 const daAlinkHIO_wlAtBite_c0::m[92] = {
COMPILER_STRIP_GATE(0x8038F748, &daAlinkHIO_wlAtBite_c0::m);
/* 8038F7A4-8038F7DC 01BE04 0038+00 7/10 0/0 0/0 .rodata m__22daAlinkHIO_wlAttack_c0 */
-SECTION_RODATA u8 const daAlinkHIO_wlAttack_c0::m[56] = {
- 0x00, 0x3B, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
- 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x05, 0x42, 0xC8, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x43, 0x66, 0x00, 0x00, 0x41, 0x20,
- 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00,
+daAlinkHIO_wlAttack_c1 const daAlinkHIO_wlAttack_c0::m = {
+ { 59, 1.2f, 0.0f, 2.0f, 5.0f },
+ 15, 5, 100.0f, 10.0f, 5.0f, 230.0f, 10.0f, 12.0f, 35.0f, 30.0f
};
-COMPILER_STRIP_GATE(0x8038F7A4, &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] = {
@@ -6444,7 +6384,7 @@ asm void daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) {
+asm s16 daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi.s"
}
@@ -7405,101 +7345,81 @@ COMPILER_STRIP_GATE(0x80391734, &lit_5908);
/* 80391740-80391754 01DDA0 0014+00 0/1 0/0 0/0 .rodata atnNormalType1$6976 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const atnNormalType1[20] = {
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+static int const atnNormalType1[5] = {
+ 4, 1, 1, 2, 0
};
-COMPILER_STRIP_GATE(0x80391740, &atnNormalType1);
#pragma pop
/* 80391754-80391768 01DDB4 0014+00 0/1 0/0 0/0 .rodata atnNormalType2$6977 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const atnNormalType2[20] = {
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+static int const atnNormalType2[5] = {
+ 3, 0, 0, 1, 1
};
-COMPILER_STRIP_GATE(0x80391754, &atnNormalType2);
#pragma pop
/* 80391768-8039177C 01DDC8 0014+00 0/1 0/0 0/0 .rodata atnNormalType3$6978 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const atnNormalType3[20] = {
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+static int const atnNormalType3[5] = {
+ 4, 1, 1, 0, 0
};
-COMPILER_STRIP_GATE(0x80391768, &atnNormalType3);
#pragma pop
/* 8039177C-80391790 01DDDC 0014+00 0/1 0/0 0/0 .rodata atnFinishType$6979 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const atnFinishType[20] = {
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+static int const atnFinishType[5] = {
+ 2, 1, 0, 5, 1
};
-COMPILER_STRIP_GATE(0x8039177C, &atnFinishType);
#pragma pop
/* 80391790-803917A4 01DDF0 0014+00 0/1 0/0 0/0 .rodata hitType$6980 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const hitType[20] = {
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+static int const hitType[5] = {
+ 4, 0, 5, 0, 1
};
-COMPILER_STRIP_GATE(0x80391790, &hitType);
#pragma pop
/* 803917A4-803917B8 01DE04 0014+00 0/1 0/0 0/0 .rodata hitFinishType$6981 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const hitFinishType[20] = {
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+static int const hitFinishType[5] = {
+ 2, 1, 0, 5, 0
};
-COMPILER_STRIP_GATE(0x803917A4, &hitFinishType);
#pragma pop
/* 803917B8-803917CC 01DE18 0014+00 0/1 0/0 0/0 .rodata normalType1$6982 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const normalType1_6982[20] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+static int const normalType1_6982[5] = {
+ 0, 2, 1, 2, 1
};
-COMPILER_STRIP_GATE(0x803917B8, &normalType1_6982);
#pragma pop
/* 803917CC-803917E0 01DE2C 0014+00 0/1 0/0 0/0 .rodata normalType2$6983 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const normalType2[20] = {
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+static int const normalType2[5] = {
+ 1, 1, 2, 1, 2
};
-COMPILER_STRIP_GATE(0x803917CC, &normalType2);
#pragma pop
/* 803917E0-803917F4 01DE40 0014+00 0/1 0/0 0/0 .rodata normalType3$6984 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const normalType3[20] = {
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+static int const normalType3[5] = {
+ 4, 0, 1, 2, 1
};
-COMPILER_STRIP_GATE(0x803917E0, &normalType3);
#pragma pop
/* 803917F4-80391808 01DE54 0014+00 0/1 0/0 0/0 .rodata finishType$6985 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const finishType[20] = {
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+static int const finishType[5] = {
+ 2, 0, 0, 5, 1
};
-COMPILER_STRIP_GATE(0x803917F4, &finishType);
#pragma pop
/* 80391808-80391858 01DE68 0050+00 0/1 0/0 0/0 .rodata cutParamTable$7312 */
@@ -7530,28 +7450,24 @@ COMPILER_STRIP_GATE(0x80391858, &cutParamTable_7455);
#pragma pop
/* 803918B8-803918C4 01DF18 000C+00 1/1 0/0 0/0 .rodata localCenter$11047 */
-SECTION_RODATA static u8 const localCenter[12] = {
- 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x90, 0x00, 0x00,
+static Vec const localCenter = {
+ -15.0f, 0.0f, 18.0f
};
-COMPILER_STRIP_GATE(0x803918B8, &localCenter);
/* 803918C4-803918D0 01DF24 000C+00 1/1 0/0 0/0 .rodata localPos$11819 */
-SECTION_RODATA static u8 const localPos[12] = {
- 0x40, 0x5C, 0xCC, 0xCD, 0x42, 0x35, 0x47, 0xAE, 0xC0, 0xE0, 0x00, 0x00,
+static Vec const localPos = {
+ 3.45f, 45.32f, -7.0f
};
-COMPILER_STRIP_GATE(0x803918C4, &localPos);
/* 803918D0-803918DC 01DF30 000C+00 1/1 0/0 0/0 .rodata slingLocalPos$12042 */
-SECTION_RODATA static u8 const slingLocalPos[12] = {
- 0x41, 0x20, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+static Vec const slingLocalPos = {
+ 10.0f, 10.0f, 0.0f
};
-COMPILER_STRIP_GATE(0x803918D0, &slingLocalPos);
/* 803918DC-803918E8 01DF3C 000C+00 1/1 0/0 0/0 .rodata localSidePos$14270 */
-SECTION_RODATA static u8 const localSidePos[12] = {
- 0x40, 0x13, 0x33, 0x33, 0xC1, 0x78, 0x00, 0x00, 0x41, 0x79, 0x99, 0x9A,
+static Vec const localSidePos = {
+ 2.3f, -15.5f, 15.6f
};
-COMPILER_STRIP_GATE(0x803918DC, &localSidePos);
/* 803918E8-803918F4 01DF48 000C+00 0/1 0/0 0/0 .rodata m_handLeftOutSidePos__9daAlink_c */
#pragma push
@@ -14334,7 +14250,8 @@ asm void daAlink_c::createHeap() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J3DMaterialAnm::~J3DMaterialAnm() {
+// asm J3DMaterialAnm::~J3DMaterialAnm() {
+extern "C" asm void __dt__14J3DMaterialAnmFv() {
nofralloc
#include "asm/d/a/d_a_alink/__dt__14J3DMaterialAnmFv.s"
}
@@ -14342,14 +14259,9 @@ asm J3DMaterialAnm::~J3DMaterialAnm() {
/* 800A48F0-800A4910 09F230 0020+00 1/1 0/0 0/0 .text daAlink_createHeap__FP10fopAc_ac_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daAlink_createHeap(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/daAlink_createHeap__FP10fopAc_ac_c.s"
+static void daAlink_createHeap(fopAc_ac_c* param_0) {
+ daAlink_c::createHeap();
}
-#pragma pop
/* 800A4910-800A4BC8 09F250 02B8+00 5/5 0/0 0/0 .text setSelectEquipItem__9daAlink_cFi */
#pragma push
@@ -14362,24 +14274,16 @@ asm void daAlink_c::setSelectEquipItem(int param_0) {
#pragma pop
/* 800A4BC8-800A4C40 09F508 0078+00 2/2 0/0 0/0 .text checkBoarStart__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkBoarStart() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBoarStart__9daAlink_cFv.s"
+BOOL daAlink_c::checkBoarStart() {
+ // Stage: Bulblin Camp Room: Outside Arbiter's
+ return (checkStageName("F_SP118") && getStartRoomNo() == 3) && dComIfGs_getStartPoint() == 0;
}
-#pragma pop
/* 800A4C40-800A4CB4 09F580 0074+00 2/2 0/0 0/0 .text checkCanoeStart__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCanoeStart() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCanoeStart__9daAlink_cFv.s"
+BOOL daAlink_c::checkCanoeStart() {
+ // Stage: Lake Hylia Room: Lake
+ return (checkStageName("F_SP115") && getStartRoomNo() == 0) && dComIfGs_getStartPoint() == 2;
}
-#pragma pop
/* 800A4CB4-800A54F4 09F5F4 0840+00 1/1 0/0 0/0 .text playerInit__9daAlink_cFv */
#pragma push
@@ -14393,13 +14297,7 @@ asm void daAlink_c::playerInit() {
/* 800A54F4-800A551C 09FE34 0028+00 3/3 0/0 0/0 .text checkHorseStart__9daAlink_cFUli */
BOOL daAlink_c::checkHorseStart(u32 pLastMode, int pStartMode) {
- bool horseStart = false;
-
- if (pLastMode == 1 || pStartMode == 2 || pLastMode == 8) {
- horseStart = true;
- }
-
- return horseStart;
+ return pLastMode == 1 || pStartMode == 2 || pLastMode == 8;
}
/* 800A551C-800A5CC8 09FE5C 07AC+00 1/1 0/0 0/0 .text setStartProcInit__9daAlink_cFv */
@@ -14414,7 +14312,7 @@ asm void daAlink_c::setStartProcInit() {
/* ############################################################################################## */
/* 80450FCC-80450FD0 0004CC 0004+00 1/1 0/0 0/0 .sbss bgWaitFlg$58404 */
-static u8 bgWaitFlg[4];
+static s32 bgWaitFlg;
/* 80450FD0-80450FD8 -00001 0008+00 2/2 0/0 0/0 .sbss None */
/* 80450FD0 0001+00 data_80450FD0 None */
@@ -15063,24 +14961,21 @@ asm void daAlink_c::setWolfCollisionPos() {
#pragma pop
/* 800ABAE0-800ABB28 0A6420 0048+00 2/2 0/0 0/0 .text initLockAt__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::initLockAt() {
- nofralloc
-#include "asm/d/a/d_a_alink/initLockAt__9daAlink_cFv.s"
+void daAlink_c::initLockAt() {
+ field_0x122C[0].OnAtSPrmBit(0x20);
+ field_0x122C[0].OnAtNoHitMark();
+ field_0x122C[0].OffAtNoConHit();
+ field_0x122C[0].ResetAtHit();
}
-#pragma pop
/* 800ABB28-800ABB84 0A6468 005C+00 3/3 0/0 0/0 .text cancelLockAt__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::cancelLockAt() {
- nofralloc
-#include "asm/d/a/d_a_alink/cancelLockAt__9daAlink_cFv.s"
+void daAlink_c::cancelLockAt() {
+ field_0x122C[0].OffAtSPrmBit(0x20);
+ field_0x122C[0].OffAtNoHitMark();
+ field_0x122C[0].OnAtNoConHit();
+ field_0x122C[0].ResetAtHit();
+ field_0x814.SetAtApid(0xFFFFFFFF);
}
-#pragma pop
/* 800ABB84-800ABDB8 0A64C4 0234+00 1/1 0/0 0/0 .text setCollisionPos__9daAlink_cFv */
#pragma push
@@ -15113,26 +15008,28 @@ asm float daAlink_c::getBaseAnimeFrame() const {
#pragma pop
/* 800AC378-800AC394 0A6CB8 001C+00 1/0 0/0 0/0 .text setAnimeFrame__9daAlink_cFf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setAnimeFrame(f32 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setAnimeFrame__9daAlink_cFf.s"
+void daAlink_c::setAnimeFrame(f32 frame) {
+ mFrameCtrl1[0].setFrame(frame);
+ mFrameCtrl1[1].setFrame(frame);
+ mFrameCtrl1[2].setFrame(frame);
+ mFrameCtrl2[0].setFrame(frame);
+ mFrameCtrl2[1].setFrame(frame);
+ mFrameCtrl2[2].setFrame(frame);
}
-#pragma pop
/* 800AC394-800AC450 0A6CD4 00BC+00 6/6 0/0 0/0 .text
* setFrameCtrl__9daAlink_cFP16daPy_frameCtrl_cUcssff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* param_0, u8 param_1, s16 param_2, s16 param_3,
- f32 param_4, f32 param_5) {
- nofralloc
-#include "asm/d/a/d_a_alink/setFrameCtrl__9daAlink_cFP16daPy_frameCtrl_cUcssff.s"
+void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* p_ctrl, u8 attr, s16 start, s16 end,
+ f32 rate, f32 frame) {
+ if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
+ if (checkZoraWearAbility()) {
+ rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed;
+ } else {
+ rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate;
+ }
+ }
+ p_ctrl->setFrameCtrl(attr, start, end, rate, frame);
}
-#pragma pop
/* ############################################################################################## */
/* 80453278-80453280 001878 0008+00 1/1 0/0 0/0 .sdata2 kandelaarAnm$62207 */
@@ -15187,14 +15084,13 @@ asm void daAlink_c::getUnderUpperAnime(daAlink_c::daAlink_ANM param_0, J3DAnmTra
#pragma pop
/* 800AC738-800AC754 0A7078 001C+00 7/7 0/0 0/0 .text setDoubleAnimeBlendRatio__9daAlink_cFf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setDoubleAnimeBlendRatio(f32 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setDoubleAnimeBlendRatio__9daAlink_cFf.s"
+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);
}
-#pragma pop
/* 800AC754-800ACA14 0A7094 02C0+00 2/2 0/0 0/0 .text
* commonDoubleAnime__9daAlink_cFP15J3DAnmTransformP15J3DAnmTransformP15J3DAnmTransformP15J3DAnmTransformfffi
@@ -15237,37 +15133,22 @@ asm void daAlink_c::commonSingleAnime(J3DAnmTransform* param_0, J3DAnmTransform*
/* 800ACF80-800ACFB0 0A78C0 0030+00 88/88 0/0 0/0 .text
* setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSingleAnimeBase(daAlink_c::daAlink_ANM param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM.s"
+void daAlink_c::setSingleAnimeBase(daAlink_c::daAlink_ANM anm) {
+ setSingleAnime(anm, lit_6040, FLOAT_LABEL(lit_6108), -1, lit_6109);
}
-#pragma pop
/* 800ACFB0-800ACFE0 0A78F0 0030+00 27/27 0/0 0/0 .text
* setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM param_0, f32 param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf.s"
+void daAlink_c::setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM anm, f32 param_1) {
+ setSingleAnime(anm, lit_6040, FLOAT_LABEL(lit_6108), -1, param_1);
}
-#pragma pop
/* 800ACFE0-800AD00C 0A7920 002C+00 77/77 0/0 0/0 .text
* setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM param_0, f32 param_1,
+void daAlink_c::setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM anm, f32 param_1,
f32 param_2) {
- nofralloc
-#include "asm/d/a/d_a_alink/setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff.s"
+ setSingleAnime(anm, param_1, FLOAT_LABEL(lit_6108), -1, param_2);
}
-#pragma pop
/* 800AD00C-800AD0F4 0A794C 00E8+00 58/58 0/0 0/0 .text
* setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf */
@@ -15295,14 +15176,12 @@ asm void daAlink_c::setSingleAnimeParam(daAlink_c::daAlink_ANM param_0,
/* 800AD128-800AD170 0A7A68 0048+00 1/1 0/0 0/0 .text
* animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::animePlay(J3DAnmTransform* param_0, daPy_frameCtrl_c* param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c.s"
+void daAlink_c::animePlay(J3DAnmTransform* param_0, daPy_frameCtrl_c* param_1) {
+ if (param_0 != NULL) {
+ param_1->updateFrame();
+ param_0->setFrame(param_1->getFrame());
+ }
}
-#pragma pop
/* 800AD170-800AD2D8 0A7AB0 0168+00 2/2 0/0 0/0 .text allAnimePlay__9daAlink_cFv */
#pragma push
@@ -15891,13 +15770,13 @@ asm void daAlink_c::setPlayerPosAndAngle(f32 (*param_0)[4]) {
/* 800B25CC-800B25E8 0ACF0C 001C+00 16/16 0/0 0/0 .text itemTriggerCheck__9daAlink_cFUc
*/
-u32 daAlink_c::itemTriggerCheck(u8 pTrigger) {
+BOOL daAlink_c::itemTriggerCheck(u8 pTrigger) {
field_0x2fae |= pTrigger;
return mItemTrigger & pTrigger;
}
/* 800B25E8-800B2604 0ACF28 001C+00 11/11 0/0 0/0 .text itemButtonCheck__9daAlink_cFUc */
-u32 daAlink_c::itemButtonCheck(u8 pButton) {
+BOOL daAlink_c::itemButtonCheck(u8 pButton) {
field_0x2fae |= pButton;
return mItemButton & pButton;
}
@@ -15918,12 +15797,12 @@ void daAlink_c::spActionTrigger() {
itemTriggerCheck(64);
}
-u32 daAlink_c::midnaTalkTrigger() const {
+BOOL daAlink_c::midnaTalkTrigger() const {
return mItemTrigger & 4;
}
-void daAlink_c::swordSwingTrigger() {
- itemTriggerCheck(8);
+BOOL daAlink_c::swordSwingTrigger() {
+ return itemTriggerCheck(8);
}
/* 800B26DC-800B26FC 0AD01C 0020+00 2/2 0/0 0/0 .text setItemActionButtonStatus__9daAlink_cFUc */
@@ -15991,7 +15870,7 @@ void daAlink_c::setBStatus(u8 status) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkAtnWaitAnime() {
+asm BOOL daAlink_c::checkAtnWaitAnime() {
nofralloc
#include "asm/d/a/d_a_alink/checkAtnWaitAnime__9daAlink_cFv.s"
}
@@ -15999,14 +15878,15 @@ asm void daAlink_c::checkAtnWaitAnime() {
/* 800B3358-800B33E4 0ADC98 008C+00 2/2 0/0 0/0 .text
* setTiredVoice__9daAlink_cFP16daPy_frameCtrl_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setTiredVoice(daPy_frameCtrl_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setTiredVoice__9daAlink_cFP16daPy_frameCtrl_c.s"
+void daAlink_c::setTiredVoice(daPy_frameCtrl_c* param_0) {
+ if (param_0->checkPass(lit_7448)) {
+ if (i_dComIfGs_getLife() <= 2) {
+ voiceStart(Z2SE_AL_V_TIRED_L);
+ } else {
+ voiceStart(Z2SE_AL_V_TIRED_S);
+ }
+ }
}
-#pragma pop
/* 800B33E4-800B3494 0ADD24 00B0+00 4/4 0/0 0/0 .text checkRestHPAnime__9daAlink_cFv */
#pragma push
@@ -16144,22 +16024,20 @@ asm void daAlink_c::checkServiceWaitMode() {
#pragma pop
/* 800B48D0-800B4908 0AF210 0038+00 18/18 0/0 0/0 .text setJumpMode__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setJumpMode() {
- nofralloc
-#include "asm/d/a/d_a_alink/setJumpMode__9daAlink_cFv.s"
+void daAlink_c::setJumpMode() {
+ onModeFlg(MODE_JUMP);
+ field_0x34f8 = mCurrent.mPosition;
+ field_0x33c4 = field_0x34f8.y;
+ field_0x33c8 = field_0x34f8.y;
}
-#pragma pop
/* 800B4908-800B4918 0AF248 0010+00 0/0 0/0 1/1 .text getMetamorphoseNearDis__9daAlink_cCFv */
-float daAlink_c::getMetamorphoseNearDis() const {
+f32 daAlink_c::getMetamorphoseNearDis() const {
return daAlinkHIO_basic_c0::m.mTransformBlockNearDis;
}
/* 800B4918-800B4928 0AF258 0010+00 0/0 0/0 1/1 .text getMetamorphoseFarDis__9daAlink_cCFv */
-float daAlink_c::getMetamorphoseFarDis() const {
+f32 daAlink_c::getMetamorphoseFarDis() const {
return daAlinkHIO_basic_c0::m.mTransformBlockFarDis;
}
@@ -16169,24 +16047,27 @@ s16 daAlink_c::getMetamorphoseFarAngle() const {
}
/* 800B4938-800B4950 0AF278 0018+00 0/0 1/1 0/0 .text setMidnaMsg__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setMidnaMsg() {
- nofralloc
-#include "asm/d/a/d_a_alink/setMidnaMsg__9daAlink_cFv.s"
+void daAlink_c::setMidnaMsg() {
+ if (mMidnaMsg != NULL) {
+ mMidnaMsg->onUseFlg();
+ }
}
-#pragma pop
/* 800B4950-800B4A08 0AF290 00B8+00 3/3 0/0 0/0 .text notTalk__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::notTalk() {
- nofralloc
-#include "asm/d/a/d_a_alink/notTalk__9daAlink_cFv.s"
+bool daAlink_c::notTalk() {
+ BOOL chk;
+ if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dBgS_CheckBGroundPoly(mLinkAcch.m_gnd)) {
+ chk = true;
+ } else {
+ chk = false;
+ }
+
+ if ((mMidnaTalkDelayTimer != 0 || (i_checkMagneBootsOn() && !cBgW_CheckBGround(mMagneBootsTopVec.y))) ||
+ !i_checkModeFlg(MODE_SWIMMING | MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING | MODE_NO_COLLISION | MODE_CLIMB | MODE_JUMP) && !chk) {
+ return true;
+ }
+ return false;
}
-#pragma pop
/* 800B4A08-800B4B2C 0AF348 0124+00 11/11 0/0 0/0 .text setTalkStatus__9daAlink_cFv */
#pragma push
@@ -16199,14 +16080,13 @@ asm void daAlink_c::setTalkStatus() {
#pragma pop
/* 800B4B2C-800B4B7C 0AF46C 0050+00 1/1 0/0 0/0 .text getFrontRollRate__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getFrontRollRate() {
- nofralloc
-#include "asm/d/a/d_a_alink/getFrontRollRate__9daAlink_cFv.s"
+f32 daAlink_c::getFrontRollRate() {
+ if (checkHeavyStateOn(1, 1)) {
+ return lit_16641 * mHeavySpeedMultiplier;
+ } else {
+ return lit_16641;
+ }
}
-#pragma pop
/* 800B4B7C-800B5284 0AF4BC 0708+00 2/2 0/0 0/0 .text decideCommonDoStatus__9daAlink_cFv
*/
@@ -16233,34 +16113,47 @@ asm void daAlink_c::decideDoStatus() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkWaitAction() {
+asm BOOL daAlink_c::checkWaitAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkWaitAction__9daAlink_cFv.s"
}
#pragma pop
/* 800B5BC0-800B5C34 0B0500 0074+00 3/3 0/0 0/0 .text setFallVoice__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setFallVoice() {
- nofralloc
-#include "asm/d/a/d_a_alink/setFallVoice__9daAlink_cFv.s"
+void daAlink_c::setFallVoice() {
+ if (field_0x3014 == 0 && lit_8782 * (field_0x33c4 - mCurrent.mPosition.y) > lit_8676) {
+ voiceStart(Z2SE_AL_V_FALL);
+ field_0x3014 = 1;
+ }
}
-#pragma pop
/* 800B5C34-800B5C64 0B0574 0030+00 2/2 0/0 0/0 .text setLandPassiveData__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setLandPassiveData() {
- nofralloc
-#include "asm/d/a/d_a_alink/setLandPassiveData__9daAlink_cFv.s"
+void daAlink_c::setLandPassiveData() {
+ if (field_0x30f0 == 0) {
+ if (doTrigger()) {
+ field_0x30f0 = 0x41;
+ }
+ } else {
+ field_0x30f0--;
+ }
}
-#pragma pop
/* 800B5C64-800B5CCC 0B05A4 0068+00 5/5 0/0 0/0 .text setStepLandVibration__9daAlink_cFv
*/
+// cXyz issues
+#ifdef NONMATCHING
+void daAlink_c::setStepLandVibration() {
+ int shock;
+ if (checkBootsOrArmorHeavy()) {
+ shock = 3;
+ } else {
+ shock = 1;
+ }
+ cXyz xyz(0.0f, 1.0f, 0.0f);
+
+ dComIfGp_getVibration().StartShock(shock, 15, xyz);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -16269,6 +16162,7 @@ asm void daAlink_c::setStepLandVibration() {
#include "asm/d/a/d_a_alink/setStepLandVibration__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800B5CCC-800B5F6C 0B060C 02A0+00 5/5 0/0 0/0 .text checkLandAction__9daAlink_cFi */
#pragma push
@@ -16302,14 +16196,12 @@ asm void daAlink_c::checkAutoJumpAction() {
#pragma pop
/* 800B69CC-800B6A30 0B130C 0064+00 2/2 0/0 0/0 .text checkCutJumpInFly__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutJumpInFly() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutJumpInFly__9daAlink_cFv.s"
+bool daAlink_c::checkCutJumpInFly() {
+ if ((mEquipItem == EQUIP_SWORD && i_checkResetFlg0(RFLG0_UNK_80)) || checkForceSwordSwing()) {
+ return procCutJumpInit(1);
+ }
+ return false;
}
-#pragma pop
/* ############################################################################################## */
/* 80450698-8045069C 000118 0004+00 4/4 0/0 0/0 .sdata l_ladderAnmBaseTransY */
@@ -16391,7 +16283,7 @@ asm void daAlink_c::checkItemActorPointer() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkSwordTwirlAction() {
+asm bool daAlink_c::checkSwordTwirlAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkSwordTwirlAction__9daAlink_cFv.s"
}
@@ -16401,7 +16293,7 @@ asm void daAlink_c::checkSwordTwirlAction() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkUpperItemActionFly() {
+asm BOOL daAlink_c::checkUpperItemActionFly() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionFly__9daAlink_cFv.s"
}
@@ -16506,7 +16398,7 @@ asm void daAlink_c::checkNormalAction() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkReadyItem() {
+asm bool daAlink_c::checkReadyItem() {
nofralloc
#include "asm/d/a/d_a_alink/checkReadyItem__9daAlink_cFv.s"
}
@@ -16542,7 +16434,7 @@ asm void daAlink_c::checkMoveDoAction() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkSideRollAction(int param_0) {
+asm BOOL daAlink_c::checkSideRollAction(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkSideRollAction__9daAlink_cFi.s"
}
@@ -16553,7 +16445,7 @@ asm void daAlink_c::checkSideRollAction(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkNoUpperAnime() const {
+asm BOOL daAlink_c::checkNoUpperAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkNoUpperAnime__9daAlink_cCFv.s"
}
@@ -16584,7 +16476,7 @@ asm void daAlink_c::checkItemEquipAnime() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkEquipAnime() const {
+asm BOOL daAlink_c::checkEquipAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkEquipAnime__9daAlink_cCFv.s"
}
@@ -16680,7 +16572,7 @@ asm void daAlink_c::allUnequip(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkItemChangeFromButton() {
+asm BOOL daAlink_c::checkItemChangeFromButton() {
nofralloc
#include "asm/d/a/d_a_alink/checkItemChangeFromButton__9daAlink_cFv.s"
}
@@ -16690,7 +16582,7 @@ asm void daAlink_c::checkItemChangeFromButton() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkNextActionFromButton() {
+asm BOOL daAlink_c::checkNextActionFromButton() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionFromButton__9daAlink_cFv.s"
}
@@ -16700,7 +16592,7 @@ asm void daAlink_c::checkNextActionFromButton() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkGroundSpecialMode() {
+asm BOOL daAlink_c::checkGroundSpecialMode() {
nofralloc
#include "asm/d/a/d_a_alink/checkGroundSpecialMode__9daAlink_cFv.s"
}
@@ -16845,7 +16737,7 @@ BOOL daAlink_c::checkBootsOrArmorHeavy() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkHeavyStateOn(int param_0, int param_1) {
+asm BOOL daAlink_c::checkHeavyStateOn(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/checkHeavyStateOn__9daAlink_cFii.s"
}
@@ -17059,6 +16951,12 @@ asm void daAlink_c::checkSceneChange(int param_0) {
#pragma pop
/* 800BF084-800BF0B8 0B99C4 0034+00 1/0 0/0 0/0 .text voiceStart__9daAlink_cFUl */
+// matches, but JAISoundID(u32) constructor needs to be inlined?
+#ifdef NONMATCHING
+void daAlink_c::voiceStart(u32 sfx_id) {
+ mZ2Link.startLinkVoice(sfx_id, mVoiceReverbIntensity);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -17067,6 +16965,7 @@ asm void daAlink_c::voiceStart(u32 param_0) {
#include "asm/d/a/d_a_alink/voiceStart__9daAlink_cFUl.s"
}
#pragma pop
+#endif
/* 800BF0B8-800BF0EC 0B99F8 0034+00 14/14 0/0 0/0 .text voiceStartLevel__9daAlink_cFUl */
#pragma push
@@ -17202,45 +17101,146 @@ asm void daAlink_c::returnKeepItemData() {
}
#pragma pop
+inline daHorse_c* i_dComIfGp_getHorseActor() {
+ return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1);
+}
+
/* 800BF8D0-800BF9F0 0BA210 0120+00 2/2 0/0 0/0 .text setItemModel__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::setItemModel() {
+asm BOOL daAlink_c::setItemModel() {
nofralloc
#include "asm/d/a/d_a_alink/setItemModel__9daAlink_cFv.s"
}
#pragma pop
/* 800BF9F0-800BFD74 0BA330 0384+00 4/4 0/0 0/0 .text setItemActor__9daAlink_cFv */
+// register issues
+#ifdef NONMATCHING
+BOOL daAlink_c::setItemActor() {
+ if (mEquipItem == BOOMERANG) {
+ fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(0xFE, 0, &mCurrent.mPosition, -1, NULL, NULL, -1, NULL, NULL);
+ if (actor == NULL) {
+ deleteEquipItem(0, 0);
+ return false;
+ } else {
+ mItemActor.setData(actor);
+ field_0x2f94 = 2;
+ return true;
+ }
+ }
+ else if (mEquipItem == COPY_ROD) {
+ fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 0, &mCurrent.mPosition, -1, NULL, NULL, -1, NULL, NULL);
+ if (actor == NULL) {
+ deleteEquipItem(0, 0);
+ return false;
+ } else {
+ mItemActor.setData(actor);
+ field_0x2f94 = 2;
+ return true;
+ }
+ }
+ else if (mEquipItem == IRONBALL) {
+ fopAc_ac_c* actor = daCrod_c::makeIronBallDummy(this);
+ if (actor == NULL) {
+ if (checkIronBallWaitAnime()) {
+ resetUpperAnime(UPPER_NOW, -1.0f);
+ }
+ deleteEquipItem(0, 0);
+ return false;
+ } else {
+ mItemActor.setData(actor);
+ field_0x173c.SetActor(actor);
+ return true;
+ }
+ }
+ else if (checkFisingRodLure()) {
+ u32 id = fopAcM_create(0x2E4, 0x10D, &mLeftHandPos, -1, NULL, NULL, 0xFF);
+ mItemActor.setID(id);
+ initFishingRodHand();
+ return 1;
+ }
+ else if (checkFishingRodItem(mEquipItem)) {
+ setGroundFishingRodActor();
+ return 1;
+ }
+ else if (checkBombItem(mEquipItem)) {
+ if (checkHorseRide()) {
+ if (!i_dComIfGp_getHorseActor()->checkNoBombProc() && (mActionID != HORSE_TURN || !i_checkModeFlg(MODE_DISABLE_ITEMS))) {
+ mEquipItem = NO_ITEM;
+ return 1;
+ }
+ }
+ cXyz create_pos = (mLeftHandPos + mRightHandPos) * 0.5f;
+ if (checkReadyItem()) {
+ fopAc_ac_c* actor;
+ if (mEquipItem == NORMAL_BOMB) {
+ actor = dBomb_c::createNormalBombPlayer(&create_pos);
+ } else {
+ actor = dBomb_c::createWaterBombPlayer(&create_pos);
+ }
+ if (actor != NULL) {
+ mActiveBombNum++;
+ setGrabItemActor(actor);
+ dComIfGp_addSelectItemNum(mSelectItemId, -1);
+ field_0x33e4 = 38.0f;
+ setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ }
+ }
+ mEquipItem = NO_ITEM;
+ return true;
+ }
+ return false;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::setItemActor() {
+asm BOOL daAlink_c::setItemActor() {
nofralloc
#include "asm/d/a/d_a_alink/setItemActor__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800BFD74-800BFDB0 0BA6B4 003C+00 2/2 0/0 0/0 .text makeItemType__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::makeItemType() {
- nofralloc
-#include "asm/d/a/d_a_alink/makeItemType__9daAlink_cFv.s"
+void daAlink_c::makeItemType() {
+ if (!setItemModel()) {
+ setItemActor();
+ }
+}
+
+bool daPy_py_c::checkZoraWearFlg() const {
+ return dComIfGs_getSelectEquipClothes() == WEAR_ZORA;
}
-#pragma pop
/* 800BFDB0-800BFDFC 0BA6F0 004C+00 28/28 0/0 0/0 .text checkZoraWearAbility__9daAlink_cCFv */
+// li 0 needs to be mr
+#ifdef NONMATCHING
+BOOL daAlink_c::checkZoraWearAbility() const {
+ bool ret = false;
+ bool wear_zora = false;
+ if (!i_checkWolf()) {
+ if (checkZoraWearFlg()) {
+ wear_zora = true;
+ }
+ }
+ if (wear_zora && !i_checkNoResetFlg2(UNK_ARMOR)) {
+ ret = true;
+ }
+ return ret;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkZoraWearAbility() const {
+asm BOOL daAlink_c::checkZoraWearAbility() const {
nofralloc
#include "asm/d/a/d_a_alink/checkZoraWearAbility__9daAlink_cCFv.s"
}
#pragma pop
+#endif
/* 800BFDFC-800BFE48 0BA73C 004C+00 5/5 0/0 0/0 .text checkMagicArmorWearAbility__9daAlink_cCFv */
#pragma push
@@ -17387,7 +17387,7 @@ asm bool daAlink_c::checkCastleTown() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCloudSea() {
+asm bool daAlink_c::checkCloudSea() {
nofralloc
#include "asm/d/a/d_a_alink/checkCloudSea__9daAlink_cFv.s"
}
@@ -17397,109 +17397,72 @@ asm void daAlink_c::checkCloudSea() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkRoomOnly() {
+asm bool daAlink_c::checkRoomOnly() {
nofralloc
#include "asm/d/a/d_a_alink/checkRoomOnly__9daAlink_cFv.s"
}
#pragma pop
-/* ############################################################################################## */
-/* 80392094-80392094 01E6F4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_803925C2 = "D_MN04";
-#pragma pop
-
/* 800C044C-800C04B4 0BAD8C 0068+00 3/3 0/0 0/0 .text checkLv2DungeonRoomSpecial__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkLv2DungeonRoomSpecial() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkLv2DungeonRoomSpecial__9daAlink_cFv.s"
+bool daAlink_c::checkLv2DungeonRoomSpecial() {
+ return checkStageName("D_MN04") && (dComIfGp_roomControl_getStayNo() == 14 || dComIfGp_roomControl_getStayNo() == 16 || dComIfGp_roomControl_getStayNo() == 17);
}
-#pragma pop
/* 800C04B4-800C0520 0BADF4 006C+00 2/2 0/0 0/0 .text checkRoomSpecial__9daAlink_cFv */
+// 1 wrong branch
+#ifdef NONMATCHING
+bool daAlink_c::checkRoomSpecial() {
+ return !checkStageName("D_MN11") || dComIfGp_roomControl_getStayNo() == 1 || dComIfGp_roomControl_getStayNo() == 2 || checkLv2DungeonRoomSpecial();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkRoomSpecial() {
+asm bool daAlink_c::checkRoomSpecial() {
nofralloc
#include "asm/d/a/d_a_alink/checkRoomSpecial__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800C0520-800C0594 0BAE60 0074+00 1/1 0/0 0/0 .text checkRoom__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkRoom() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkRoom__9daAlink_cFv.s"
+bool daAlink_c::checkRoom() {
+ return checkRoomOnly() || checkRoomSpecial() || checkStageName("R_SP161") && !dComIfGs_isOneZoneSwitch(14, -1);
}
-#pragma pop
/* 800C0594-800C05DC 0BAED4 0048+00 8/8 0/0 0/0 .text checkNotBattleStage__9daAlink_cFv
*/
-#ifdef NONMATCHING
-bool daAlink_c::checkNotBattleStage(void) {
- bool isNotBattleStage = false;
-
- if (checkRoom() || checkCastleTown()) {
- isNotBattleStage = true;
- }
-
- return isNotBattleStage;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkNotBattleStage() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkNotBattleStage__9daAlink_cFv.s"
+bool daAlink_c::checkNotBattleStage() {
+ return checkRoom() || checkCastleTown();
}
-#pragma pop
-#endif
/* 800C05DC-800C0630 0BAF1C 0054+00 2/2 0/0 0/0 .text checkNotHeavyBootsStage__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkNotHeavyBootsStage() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkNotHeavyBootsStage__9daAlink_cFv.s"
+bool daAlink_c::checkNotHeavyBootsStage() {
+ return (checkNotBattleStage() || checkCloudSea()) && !checkLv2DungeonRoomSpecial();
}
-#pragma pop
/* 800C0630-800C0678 0BAF70 0048+00 1/1 0/0 0/0 .text checkNotAutoJumpStage__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkNotAutoJumpStage() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkNotAutoJumpStage__9daAlink_cFv.s"
+bool daAlink_c::checkNotAutoJumpStage() {
+ return checkRoomOnly() || checkCastleTown();
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 80392094-80392094 01E6F4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_803925C9 = "R_SP128";
-#pragma pop
/* 800C0678-800C077C 0BAFB8 0104+00 3/3 0/0 0/0 .text checkCastleTownUseItem__9daAlink_cFUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCastleTownUseItem(u16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCastleTownUseItem__9daAlink_cFUs.s"
+bool daAlink_c::checkCastleTownUseItem(u16 item_id) {
+ if (checkNotBattleStage()) {
+ if (item_id == KANTERA || checkTradeItem(item_id) ||
+ (item_id == DUNGEON_BACK && checkLv7DungeonShop()) ||
+ (checkRoomSpecial() && (item_id == EMPTY_BOTTLE || checkDungeonWarpItem(item_id))) ||
+ (checkStageName("R_SP128") && item_id == COPY_ROD) ||
+ (checkLv2DungeonRoomSpecial() && item_id == HVY_BOOTS) ||
+ (checkBottleItem(item_id) && item_id != EMPTY_BOTTLE)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ return true;
}
-#pragma pop
/* 800C077C-800C0A9C 0BB0BC 0320+00 1/1 0/0 0/0 .text changeItemTriggerKeepProc__9daAlink_cFUci */
#pragma push
@@ -17594,11 +17557,11 @@ MtxP daAlink_c::getModelJointMtx(u16 param_0) {
/* 800C1DE0-800C1E0C 0BC720 002C+00 1/0 0/0 0/0 .text onFrollCrashFlg__9daAlink_cFUci */
void daAlink_c::onFrollCrashFlg(u8 param_0, int param_1) {
if (param_1 != 0) {
- i_onNoResetFlg0(UnkFrollCrashFlg2);
+ i_onNoResetFlg0(UNK_F_ROLL_CRASH_2);
} else {
- i_onNoResetFlg0(UnkFrollCrashFlg1);
+ i_onNoResetFlg0(UNK_F_ROLL_CRASH_1);
}
- field_0x2fa4 = param_0;
+ mRollCrashFlg = param_0;
}
/* ############################################################################################## */
@@ -17657,7 +17620,7 @@ void daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) {
field_0x280c.setData(param_1);
field_0x300e = 1;
if (fopAcM_GetName(param_1) == 0x2cb) {
- if (field_0x2fdc == 0x48) {
+ if (mEquipItem == KANTERA) {
field_0x3010 = 1;
} else {
if (i_checkNoResetFlg2(1) != 0) {
@@ -17694,35 +17657,34 @@ asm void daAlink_c::procPreActionUnequip() {
/* 800C3098-800C30F0 0BD9D8 0058+00 1/1 0/0 0/0 .text procServiceWaitInit__9daAlink_cFv
*/
-#ifdef NONMATCHING
bool daAlink_c::procServiceWaitInit() {
commonProcInit(SERVICE_WAIT);
- setSingleAnimeBase(0x90);
- mNormalSpeed = 0.0f;
- mNext.mAngle.y = mCollisionRot.y;
+ setSingleAnimeBase(ANM_SERVICE_WAIT);
+ mNormalSpeed = FLOAT_LABEL(lit_6108);
+ mCurrent.mAngle.y = mCollisionRot.y;
field_0x2f98 = 4;
return true;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::procServiceWaitInit() {
- nofralloc
-#include "asm/d/a/d_a_alink/procServiceWaitInit__9daAlink_cFv.s"
-}
-#pragma pop
-#endif
/* 800C30F0-800C3224 0BDA30 0134+00 1/0 0/0 0/0 .text procServiceWait__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procServiceWait() {
- nofralloc
-#include "asm/d/a/d_a_alink/procServiceWait__9daAlink_cFv.s"
+bool daAlink_c::procServiceWait() {
+ J3DFrameCtrl* ctrl = &mFrameCtrl1[0];
+ if ((!checkNextAction(0) && !checkFrontWallTypeAction()) && (checkEventRun() || checkGuardActionChange() || mCollisionRot.y != field_0x2fe6)) {
+ ctrl->setRate(FLOAT_LABEL(lit_6108));
+ procWaitInit();
+ } else {
+ if (ctrl->checkPass(lit_10040)) {
+ voiceStart(Z2SE_AL_V_RELAX_A);
+ }
+ else if (ctrl->checkPass(lit_11673)) {
+ voiceStart(Z2SE_AL_V_RELAX_B);
+ }
+ else if (ctrl->checkPass(lit_25684)) {
+ voiceStart(Z2SE_AL_V_RELAX_C);
+ }
+ }
+ return true;
}
-#pragma pop
/* 800C3224-800C3338 0BDB64 0114+00 2/2 0/0 0/0 .text procTiredWaitInit__9daAlink_cFv */
#pragma push
@@ -17735,20 +17697,24 @@ asm void daAlink_c::procTiredWaitInit() {
#pragma pop
/* 800C3338-800C33B8 0BDC78 0080+00 1/0 0/0 0/0 .text procTiredWait__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procTiredWait() {
- nofralloc
-#include "asm/d/a/d_a_alink/procTiredWait__9daAlink_cFv.s"
+bool daAlink_c::procTiredWait() {
+ daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0];
+ if (!checkNextAction(0)) {
+ if (ctrl->checkAnmEnd()) {
+ setSingleAnimeBase(ANM_TIRED_WAIT);
+ }
+ else if (ctrl->getAttribute() == 2) {
+ setTiredVoice(ctrl);
+ }
+ }
+ return true;
}
-#pragma pop
/* 800C33B8-800C3504 0BDCF8 014C+00 26/26 0/0 0/0 .text procWaitInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procWaitInit() {
+asm bool daAlink_c::procWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procWaitInit__9daAlink_cFv.s"
}
@@ -17765,34 +17731,50 @@ asm void daAlink_c::procWait() {
#pragma pop
/* 800C36CC-800C3730 0BE00C 0064+00 3/3 0/0 0/0 .text procMoveInit__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procMoveInit() {
- nofralloc
-#include "asm/d/a/d_a_alink/procMoveInit__9daAlink_cFv.s"
+bool daAlink_c::procMoveInit() {
+ if (!commonProcInitNotSameProc(HUMAN_MOVE)) {
+ return false;
+ }
+ setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ setFootEffectProcType(3);
+ return true;
}
-#pragma pop
/* 800C3730-800C3810 0BE070 00E0+00 1/0 0/0 0/0 .text procMove__9daAlink_cFv */
+// results of cLib_minMaxLimit are put in r4 instead of r3
+#ifdef NONMATCHING
+bool daAlink_c::procMove() {
+ setFootEffectProcType(3);
+ if (!checkNextAction(0) && !checkFrontWallTypeAction()) {
+ if (mDemo.getDemoMode() == 2 && mNormalSpeed > field_0x594 * daAlinkHIO_move_c0::m.mWalkChangeRate) {
+ mNormalSpeed = field_0x594 * daAlinkHIO_move_c0::m.mWalkChangeRate;
+ }
+ setBlendMoveAnime(-1.0f);
+ if (field_0x3174 != 8) {
+ field_0x30a0 = cLib_minMaxLimit((s16)(field_0x2ff0 >> 1), daAlinkHIO_basic_c0::m.mNeckMaxUp, daAlinkHIO_basic_c0::m.mNeckMaxDown);
+ }
+ }
+ return true;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procMove() {
+asm bool daAlink_c::procMove() {
nofralloc
#include "asm/d/a/d_a_alink/procMove__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800C3810-800C3868 0BE150 0058+00 1/1 0/0 0/0 .text procAtnMoveInit__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procAtnMoveInit() {
- nofralloc
-#include "asm/d/a/d_a_alink/procAtnMoveInit__9daAlink_cFv.s"
+bool daAlink_c::procAtnMoveInit() {
+ if (!commonProcInitNotSameProc(HUMAN_ATN_MOVE)) {
+ return false;
+ }
+ setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ return true;
}
-#pragma pop
/* 800C3868-800C38CC 0BE1A8 0064+00 1/0 0/0 0/0 .text procAtnMove__9daAlink_cFv */
bool daAlink_c::procAtnMove() {
@@ -17806,136 +17788,329 @@ bool daAlink_c::procAtnMove() {
/* 800C38CC-800C397C 0BE20C 00B0+00 4/4 0/0 0/0 .text procAtnActorWaitInit__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procAtnActorWaitInit() {
- nofralloc
-#include "asm/d/a/d_a_alink/procAtnActorWaitInit__9daAlink_cFv.s"
+bool daAlink_c::procAtnActorWaitInit() {
+ if (!commonProcInitNotSameProc(HUMAN_ATN_ACTOR_WAIT)) {
+ return false;
+ }
+
+ if (mTargetedActor != NULL) {
+ fopAcM_searchActorAngleY(this, mTargetedActor);
+ }
+ mNormalSpeed = FLOAT_LABEL(lit_6108);
+ if (field_0x2f98 != 2) {
+ field_0x2f98 = 3;
+ }
+
+ if (checkAtnWaitAnime()) {
+ setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ } else {
+ setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ }
+
+ return true;
}
-#pragma pop
/* 800C397C-800C39EC 0BE2BC 0070+00 1/0 0/0 0/0 .text procAtnActorWait__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procAtnActorWait() {
- nofralloc
-#include "asm/d/a/d_a_alink/procAtnActorWait__9daAlink_cFv.s"
+bool daAlink_c::procAtnActorWait() {
+ if (!checkNextAction(0)) {
+ if (checkAtnWaitAnime()) {
+ setBlendAtnMoveAnime(lit_6041);
+ } else {
+ setBlendMoveAnime(lit_6041);
+ }
+ checkSwordTwirlAction();
+ }
+ return true;
}
-#pragma pop
/* 800C39EC-800C3A44 0BE32C 0058+00 3/3 0/0 0/0 .text procAtnActorMoveInit__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procAtnActorMoveInit() {
- nofralloc
-#include "asm/d/a/d_a_alink/procAtnActorMoveInit__9daAlink_cFv.s"
+bool daAlink_c::procAtnActorMoveInit() {
+ if (!commonProcInitNotSameProc(HUMAN_ATN_ACTOR_MOVE)) {
+ return false;
+ }
+ setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ return true;
}
-#pragma pop
/* 800C3A44-800C3A94 0BE384 0050+00 1/0 0/0 0/0 .text procAtnActorMove__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procAtnActorMove() {
- nofralloc
-#include "asm/d/a/d_a_alink/procAtnActorMove__9daAlink_cFv.s"
+bool daAlink_c::procAtnActorMove() {
+ if (!checkNextAction(0)) {
+ setBlendAtnMoveAnime(lit_6041);
+ checkSwordTwirlAction();
+ }
+ return 1;
}
-#pragma pop
/* 800C3A94-800C3B1C 0BE3D4 0088+00 2/2 0/0 0/0 .text procWaitTurnInit__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procWaitTurnInit() {
- nofralloc
-#include "asm/d/a/d_a_alink/procWaitTurnInit__9daAlink_cFv.s"
+bool daAlink_c::procWaitTurnInit() {
+ if (!commonProcInitNotSameProc(HUMAN_WAIT_TURN)) {
+ return false;
+ }
+
+ setSingleAnimeBaseSpeed(ANM_WAIT_TURN, daAlinkHIO_basic_c0::m.mWaitTurnSpeed, daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ if (checkEventRun()) {
+ mNormalSpeed = FLOAT_LABEL(lit_6108);
+ }
+ field_0x300e = field_0x2fe2;
+ mCurrent.mAngle.y = mCollisionRot.y;
+ return true;
}
-#pragma pop
/* 800C3B1C-800C3C3C 0BE45C 0120+00 1/0 0/0 0/0 .text procWaitTurn__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procWaitTurn() {
- nofralloc
-#include "asm/d/a/d_a_alink/procWaitTurn__9daAlink_cFv.s"
+BOOL daAlink_c::procWaitTurn() {
+ cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_move_c0::m.mDeceleration);
+ if (checkGroundSpecialMode()) {
+ return true;
+ } else {
+ if (i_checkEndResetFlg0(ERFLG0_UNK_100000)) {
+ return procFloorDownReboundInit();
+ } else {
+ s16 angle = cLib_addCalcAngleS(&mCollisionRot.y, field_0x300e, 30, 0x3CDF, 8000);
+ mCurrent.mAngle.y = mCollisionRot.y;
+ if (checkNextActionFromButton()) {
+ return true;
+ } else {
+ if (angle == 0) {
+ if (checkEventRun()) {
+ if (mDemo.getDemoMode() == 5) {
+ dComIfGp_evmng_cutEnd(field_0x3184);
+ }
+ else if (!checkNextAction(0)) {
+ checkWaitAction();
+ }
+ } else {
+ checkNextAction(0);
+ }
+ }
+ }
+ }
+ }
+ return true;
}
-#pragma pop
/* 800C3C3C-800C3D38 0BE57C 00FC+00 2/2 0/0 0/0 .text procMoveTurnInit__9daAlink_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procMoveTurnInit(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/procMoveTurnInit__9daAlink_cFi.s"
+bool daAlink_c::procMoveTurnInit(int param_0) {
+ if (!commonProcInitNotSameProc(HUMAN_MOVE_TURN)) {
+ return false;
+ }
+
+ setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ dComIfGp_setPlayerStatus0(0, 0x800);
+
+ if (param_0 != 0) {
+ field_0x300e = (daAlinkHIO_move_c0::m.mMaxTurnAngle << 2) + 19030;
+ field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1;
+ field_0x300a = 2;
+ mCurrent.mAngle.y = field_0x2fe2;
+ mNormalSpeed *= lit_5943;
+ } else {
+ field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1;
+ field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle;
+ field_0x300a = 3;
+ }
+ field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1;
+ field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle;
+ return true;
}
-#pragma pop
/* 800C3D38-800C3DA0 0BE678 0068+00 1/0 0/0 0/0 .text procMoveTurn__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procMoveTurn() {
- nofralloc
-#include "asm/d/a/d_a_alink/procMoveTurn__9daAlink_cFv.s"
+bool daAlink_c::procMoveTurn() {
+ setSpeedAndAngleNormal();
+ cLib_addCalcAngleS(&mCollisionRot.y, mCurrent.mAngle.y, field_0x300a, field_0x300e, field_0x3010);
+
+ if (!checkNextAction(0)) {
+ setBlendMoveAnime(lit_6041);
+ }
+ return true;
}
-#pragma pop
/* 800C3DA0-800C3F60 0BE6E0 01C0+00 2/2 0/0 0/0 .text procSideStepInit__9daAlink_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procSideStepInit(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/procSideStepInit__9daAlink_cFi.s"
+bool daAlink_c::procSideStepInit(int jump_type) {
+ if (jump_type == 1 && !checkHeavyStateOn(1, 1) && (checkNoUpperAnime() || checkEquipAnime() || field_0x2fcc != 0 && checkUpperGuardAnime())) {
+ return procBackJumpInit(0);
+ } else {
+ commonProcInit(HUMAN_SIDESTEP);
+ field_0x2f98 = jump_type;
+
+ if (field_0x2f98 == 1) {
+ mCurrent.mAngle.y = mCollisionRot.y + 0x8000;
+ setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm);
+ mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH;
+ mSpeed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV;
+ field_0x300a = 0;
+ } else {
+ daAlink_ANM anm_id;
+ if (field_0x2f98 == 2) {
+ anm_id = ANM_SIDE_STEP_LEFT;
+ mCurrent.mAngle.y = mCollisionRot.y + 0x4000;
+ } else {
+ anm_id = ANM_SIDE_STEP_RIGHT;
+ mCurrent.mAngle.y = mCollisionRot.y - 0x4000;
+ }
+ setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm);
+ mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH;
+ mSpeed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV;
+ field_0x300a = 1;
+ }
+ if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
+ mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
+ mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
+ }
+ voiceStart(Z2SE_AL_V_JUMP_S);
+ mCommonCounter = 0;
+ field_0x300e = 0;
+ return 1;
+ }
}
-#pragma pop
/* 800C3F60-800C40F0 0BE8A0 0190+00 1/0 0/0 0/0 .text procSideStep__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procSideStep() {
- nofralloc
-#include "asm/d/a/d_a_alink/procSideStep__9daAlink_cFv.s"
+bool daAlink_c::procSideStep() {
+ if (mTargetedActor != NULL && field_0x300a != 0) {
+ s16 actor_angle = fopAcM_searchActorAngleY(this, mTargetedActor);
+ cLib_addCalcAngleS(&mCollisionRot.y, actor_angle, 5, 0x5E8, 0x13C);
+ if (field_0x2f98 == 2) {
+ mCurrent.mAngle.y = mCollisionRot.y + 0x4000;
+ } else {
+ mCurrent.mAngle.y = mCollisionRot.y - 0x4000;
+ }
+ }
+ if (doTrigger() && field_0x300a != 0) {
+ mCommonCounter = 1;
+ }
+
+ if (checkUpperItemActionFly()) {
+ return true;
+ }
+ else if (mLinkAcch.ChkGroundHit() && field_0x300e != 0) {
+ if (mCommonCounter != 0 && checkSideRollAction(field_0x2f98)) {
+ return true;
+ } else {
+ return procSideStepLandInit();
+ }
+ }
+ else if (checkNoUpperAnime() && checkForceSwordSwing()) {
+ setCutDash(1, 0);
+ }
+ else if (mDemo.getDemoMode() != 16 && mCurrent.mPosition.y < field_0x34f8.y - daAlinkHIO_sideStep_c0::m.mFallHeight) {
+ return procFallInit(2, daAlinkHIO_sideStep_c0::m.mFallInterpolation);
+ }
+
+ field_0x300e = 1;
+ checkItemChangeFromButton();
+ return true;
}
-#pragma pop
/* 800C40F0-800C4278 0BEA30 0188+00 1/1 0/0 0/0 .text procSideStepLandInit__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procSideStepLandInit() {
- nofralloc
-#include "asm/d/a/d_a_alink/procSideStepLandInit__9daAlink_cFv.s"
+bool daAlink_c::procSideStepLandInit() {
+ commonProcInit(HUMAN_SIDESTEP_LAND);
+ if (field_0x2f98 == 1) {
+ field_0x2f9d = 4;
+ setSingleAnimeParam(ANM_BACK_JUMP_LAND, &daAlinkHIO_sideStep_c0::m.mBackLandAnm);
+ field_0x3478 = daAlinkHIO_sideStep_c0::m.mBackLandAnm.field_0x10;
+ field_0x2f98 = 2;
+ field_0x300a = 0;
+ field_0x2fb0 = 0;
+ field_0x2fcc = 10;
+ } else {
+ daAlink_ANM anm_id;
+ u16 uvar3;
+ if (field_0x2f98 == 2) {
+ anm_id = ANM_SIDE_STEP_LEFT_LAND;
+ uvar3 = 0x3F;
+ } else {
+ anm_id = ANM_SIDE_STEP_RIGHT_LAND;
+ uvar3 = 0x40;
+ }
+ setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideLandAnm);
+ field_0x3478 = daAlinkHIO_sideStep_c0::m.mSideLandAnm.field_0x10;
+ field_0x300a = 1;
+ field_0x2fb0 = 8;
+ field_0x2fcc = 0;
+ if (checkEnemyGroup(mTargetedActor) && mEquipItem == EQUIP_SWORD && checkNoUpperAnime()) {
+ setUpperAnimeBaseSpeed(uvar3, daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed, lit_6041);
+ seStartSwordCut(Z2SE_AL_WAIT_SWORD_SWING);
+ }
+ }
+ field_0x2f9d = 4;
+ setFootEffectProcType(2);
+ i_onResetFlg1(0x30);
+ mNormalSpeed = FLOAT_LABEL(lit_6108);
+ mCommonCounter = 0;
+ mCurrent.mAngle.y = mCollisionRot.y;
+ setStepLandVibration();
+ return true;
}
-#pragma pop
/* 800C4278-800C4378 0BEBB8 0100+00 1/0 0/0 0/0 .text procSideStepLand__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procSideStepLand() {
- nofralloc
-#include "asm/d/a/d_a_alink/procSideStepLand__9daAlink_cFv.s"
+bool daAlink_c::procSideStepLand() {
+ daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0];
+ i_onEndResetFlg0(ERFLG0_UNK_8000000);
+ if (field_0x2fcc != 0) {
+ field_0x2fcc = 10;
+ }
+
+ if (doTrigger() && field_0x300a != 0) {
+ mCommonCounter = 1;
+ }
+
+ if (ctrl->checkAnmEnd()) {
+ if (mDemo.getDemoMode() == 16) {
+ dComIfGp_evmng_cutEnd(field_0x3184);
+ } else {
+ checkNextAction(0);
+ }
+ }
+ else if (ctrl->getFrame() > field_0x3478) {
+ if (mCommonCounter != 0 && checkSideRollAction(field_0x2f98)) {
+ return true;
+ }
+ checkNextAction(1);
+ }
+
+ return true;
}
-#pragma pop
/* 800C4378-800C4514 0BECB8 019C+00 1/1 0/0 0/0 .text procSlideInit__9daAlink_cFs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procSlideInit(s16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/procSlideInit__9daAlink_cFs.s"
+bool daAlink_c::procSlideInit(s16 param_0) {
+ commonProcInit(HUMAN_SLIDE);
+
+ field_0x814.SetWeight(255);
+ field_0x3090 = 8;
+ mCurrent.mAngle.y = param_0;
+
+ if (getMoveBGActorName(mLinkAcch.m_gnd, 0) == 0xD4) {
+ field_0x300e = 1;
+ } else {
+ field_0x300e = 0;
+ }
+
+ if (cLib_distanceAngleS(param_0, mCollisionRot.y) < 0x3800 || field_0x300e != 0) {
+ field_0x3198 = 1;
+ setSingleAnimeParam(ANM_FORWARD_SLIDE, &daAlinkHIO_slide_c0::m.mForwardSlideAnm);
+ dComIfGp_setPlayerStatus1(0, 0x100);
+ onModeFlg(MODE_UNK_8000);
+ onModeFlg(MODE_UNK_2000000);
+ onModeFlg(MODE_UNK_20000000);
+ mNormalSpeed = FLOAT_LABEL(lit_6108);
+ field_0x2f9d = 4;
+ setUpperAnimeBaseMorf(0xCE, lit_6041);
+ i_onNoResetFlg1(0x10000000);
+ setFootEffectProcType(0);
+ } else {
+ field_0x3198 = 0;
+ setSingleAnimeParam(ANM_BACKWARD_SLIDE, &daAlinkHIO_slide_c0::m.mBackwardSlideAnm);
+ dComIfGp_setPlayerStatus1(0, 0x200);
+ field_0x2f9d = 0x60;
+ setFootEffectProcType(1);
+ }
+ field_0x594 = daAlinkHIO_slide_c0::m.mMaxSpeed;
+ field_0x33cc = FLOAT_LABEL(lit_6108);
+ mCommonCounter = 0;
+ field_0x3010 = 0;
+ return true;
}
-#pragma pop
/* ############################################################################################## */
/* 804532E0-804532E4 0018E0 0004+00 1/1 0/0 0/0 .sdata2 @73057 */
@@ -17952,34 +18127,113 @@ asm void daAlink_c::procSlide() {
#pragma pop
/* 800C47AC-800C4894 0BF0EC 00E8+00 1/1 0/0 0/0 .text procSlideLandInit__9daAlink_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procSlideLandInit(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/procSlideLandInit__9daAlink_cFi.s"
+bool daAlink_c::procSlideLandInit(int param_0) {
+ commonProcInit(HUMAN_SLIDE_LAND);
+
+ if (param_0 != 0) {
+ setSingleAnimeParam(ANM_BACKWARD_SLIDE_LAND, &daAlinkHIO_slide_c0::m.mForwardLandAnm);
+ field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.field_0x10;
+ field_0x3198 = 1;
+ field_0x2f99 = 4;
+ field_0x3588.x = l_waitBaseAnime[0];
+ field_0x3588.y = l_waitBaseAnime[1];
+ field_0x3588.z = l_waitBaseAnime[2];
+ } else {
+ setSingleAnimeParam(ANM_FORWARD_SLIDE_LAND, &daAlinkHIO_slide_c0::m.mBackwardLandAnm);
+ field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.field_0x10;
+ field_0x3198 = 0;
+ }
+ field_0x814.SetWeight(255);
+ mNormalSpeed *= lit_5943;
+ return true;
}
-#pragma pop
/* 800C4894-800C494C 0BF1D4 00B8+00 1/0 0/0 0/0 .text procSlideLand__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procSlideLand() {
- nofralloc
-#include "asm/d/a/d_a_alink/procSlideLand__9daAlink_cFv.s"
+bool daAlink_c::procSlideLand() {
+ daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0];
+
+ cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), lit_7450);
+ if (field_0x3198 != 0) {
+ field_0x2f99 = 4;
+ }
+
+ if (ctrl->checkAnmEnd()) {
+ mCurrent.mAngle.y = mCollisionRot.y;
+ checkNextAction(0);
+ } else {
+ if (ctrl->getFrame() > field_0x3478) {
+ s16 tmp_angle = mCurrent.mAngle.y;
+ mCurrent.mAngle.y = mCollisionRot.y;
+ if (!checkNextAction(1)) {
+ mCurrent.mAngle.y = tmp_angle;
+ }
+ }
+ }
+ return true;
}
-#pragma pop
/* 800C494C-800C4B40 0BF28C 01F4+00 4/3 0/0 0/0 .text procFrontRollInit__9daAlink_cFv */
+#ifdef NONMATCHING
+bool daAlink_c::procFrontRollInit() {
+ BOOL check = checkUpperGuardAnime();
+ if (mActionID == FRONT_ROLL && mDemo.getDemoMode() == 0x28) {
+ return 0;
+ } else {
+ BOOL check = mActionID == 0x16;
+ commonProcInit(FRONT_ROLL);
+
+ f32 fvar1;
+ if (!check) {
+ fvar1 = daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x04;
+ } else {
+ fvar1 = lit_7977;
+ }
+ setSingleAnime(ANM_FRONT_ROLL, daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x04, fvar1, daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x00, daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x0c);
+ mNormalSpeed = mSpeedF * daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_frontRoll_c0::m.mSpeedRate;
+ if (mNormalSpeed > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08) {
+ mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08;
+ }
+ if (mNormalSpeed < daAlinkHIO_frontRoll_c0::m.mMinSpeed) {
+ mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mMinSpeed;
+ }
+
+ if (!i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
+ if (checkHeavyStateOn(1, 1)) {
+ mNormalSpeed *= mHeavySpeedMultiplier;
+ }
+ } else {
+ mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
+ }
+ mCurrent.mAngle.y = mCollisionRot.y;
+ voiceStart(Z2SE_AL_V_BACKTEN);
+ mCommonCounter = 0;
+ setFootEffectProcType(0);
+ if (check) {
+ i_onNoResetFlg0(2);
+ }
+ if (i_checkEquipHeavyBoots()) {
+ field_0xFB8.SetAtType(0x200000);
+ field_0xFB8.SetAtHitMark(1);
+ field_0xFB8.SetAtSe(9);
+ field_0xFB8.SetAtAtp(2);
+ field_0xFB8.SetAtMtrl(0);
+ field_0xFB8.ResetAtHit();
+ field_0xFB8.SetR(daAlinkHIO_frontRoll_c0::m.mBootsAttackRadius);
+ field_0xFB8.OnAtSetBit();
+ }
+ return true;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procFrontRollInit() {
+asm bool daAlink_c::procFrontRollInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFrontRollInit__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800C4B40-800C4F14 0BF480 03D4+00 1/0 0/0 0/0 .text procFrontRoll__9daAlink_cFv */
#pragma push
@@ -18053,20 +18307,31 @@ asm void daAlink_c::procSideRoll() {
#pragma pop
/* 800C5700-800C57A4 0C0040 00A4+00 2/2 0/0 0/0 .text backJumpSpeedDec__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::backJumpSpeedDec() {
- nofralloc
-#include "asm/d/a/d_a_alink/backJumpSpeedDec__9daAlink_cFv.s"
+void daAlink_c::backJumpSpeedDec() {
+ if (mLinkAcch.ChkGroundHit()) {
+ if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
+ f32 jump_speed;
+ if (dBgS_CheckBWallPoly(mLinkAcch.m_gnd)) {
+ jump_speed = FLOAT_LABEL(lit_6108);
+ } else {
+ jump_speed = field_0x3478 * cM_scos(field_0x2ff0);
+ if (field_0x2ff0 > 0) {
+ jump_speed *= cM_scos(field_0x2ff0);
+ }
+ }
+
+ if (mNormalSpeed > jump_speed) {
+ mNormalSpeed = jump_speed;
+ }
+ }
+ }
}
-#pragma pop
/* 800C57A4-800C5964 0C00E4 01C0+00 6/6 0/0 0/0 .text procBackJumpInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procBackJumpInit(int param_0) {
+asm bool daAlink_c::procBackJumpInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBackJumpInit__9daAlink_cFi.s"
}
@@ -18195,7 +18460,7 @@ asm void daAlink_c::procRollJump() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procFallInit(int param_0, f32 param_1) {
+asm bool daAlink_c::procFallInit(int param_0, f32 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procFallInit__9daAlink_cFif.s"
}
@@ -18404,7 +18669,7 @@ asm void daAlink_c::procCoMetamorphoseOnly() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procFloorDownReboundInit() {
+asm BOOL daAlink_c::procFloorDownReboundInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFloorDownReboundInit__9daAlink_cFv.s"
}
@@ -18502,35 +18767,33 @@ asm void daAlink_c::setDrawHand() {
}
#pragma pop
+BOOL daPy_py_c::i_checkSwordGet() {
+ return dComIfGs_getSelectEquipSword() != 0xFF;
+}
+
/* 800CB480-800CB53C 0C5DC0 00BC+00 3/3 0/0 0/0 .text checkSwordDraw__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkSwordDraw() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkSwordDraw__9daAlink_cFv.s"
+bool daAlink_c::checkSwordDraw() {
+ return ((i_checkSwordGet() && mSwordChangeWaitTimer == 0) && !i_checkNoResetFlg2(FLG2_UNK_2080000)) && (!i_checkWolf() || !i_dComIfGs_isEventBit(0x0C08));
+}
+
+bool daPy_py_c::i_checkShieldGet() const {
+ return dComIfGs_getSelectEquipShield() != NO_ITEM;
}
-#pragma pop
/* 800CB53C-800CB5F8 0C5E7C 00BC+00 3/3 0/0 0/0 .text checkShieldDraw__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkShieldDraw() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkShieldDraw__9daAlink_cFv.s"
+bool daAlink_c::checkShieldDraw() {
+ return ((i_checkShieldGet() && mShieldChangeWaitTimer == 0) && !i_checkNoResetFlg2(FLG2_UNK_4080000)) && (!i_checkWolf() || !i_dComIfGs_isEventBit(0x0C08));
}
-#pragma pop
/* 800CB5F8-800CB694 0C5F38 009C+00 2/2 0/0 0/0 .text checkItemDraw__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkItemDraw() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkItemDraw__9daAlink_cFv.s"
+bool daAlink_c::checkItemDraw() {
+ if (mHeldItemModel != NULL && (mEquipItem != IRONBALL || !checkSwordEquipAnime())) {
+ if (!checkBowAndSlingItem(mEquipItem) || checkBowGrabLeftHand() || !i_checkShieldGet() || field_0x2e44.checkPassNum(15)) {
+ return true;
+ }
+ }
+ return false;
}
-#pragma pop
/* 800CB694-800CBA38 0C5FD4 03A4+00 0/0 0/0 1/1 .text initShadowScaleLight__9daAlink_cFv
*/
@@ -18569,14 +18832,11 @@ asm void daAlink_c::shadowDraw() {
#pragma pop
/* 800CC25C-800CC298 0C6B9C 003C+00 3/3 0/0 0/0 .text modelCalc__9daAlink_cFP8J3DModel */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::modelCalc(J3DModel* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/modelCalc__9daAlink_cFP8J3DModel.s"
+void daAlink_c::modelCalc(J3DModel* p_model) {
+ if (mClothesChangeWaitTimer == 0) {
+ p_model->calc();
+ }
}
-#pragma pop
/* 800CC298-800CC2E0 0C6BD8 0048+00 2/2 0/0 0/0 .text basicModelDraw__9daAlink_cFP8J3DModel */
#pragma push
@@ -18617,14 +18877,14 @@ asm void daAlink_c::setWaterDropColor(J3DGXColorS10 const* param_0) {
#pragma pop
/* 800CC7DC-800CC7FC 0C711C 0020+00 2/2 0/0 0/0 .text initTevCustomColor__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::initTevCustomColor() {
- nofralloc
-#include "asm/d/a/d_a_alink/initTevCustomColor__9daAlink_cFv.s"
+void daAlink_c::initTevCustomColor() {
+ mTevStr.field_0x367 = 0;
+ mTevStr.field_0x358 = 0;
+ mTevStr.field_0x35a = 0;
+ mTevStr.field_0x35c = 0;
+ mTevStr.field_0x360 = 0;
+ mTevStr.field_0x362 = 0;
}
-#pragma pop
/* 800CC7FC-800CD78C 0C713C 0F90+00 1/1 0/0 0/0 .text draw__9daAlink_cFv */
#pragma push
@@ -18692,14 +18952,31 @@ asm daAlink_c::~daAlink_c() {
#pragma pop
/* 800CE208-800CE294 0C8B48 008C+00 1/0 0/0 0/0 .text daAlink_Delete__FP9daAlink_c */
+// destructor issue
+#ifdef NONMATCHING
+static bool daAlink_Delete(daAlink_c* p_link) {
+ if (p_link->getClothesChangeWaitTimer() != 0) {
+ p_link->loadModelDVD();
+ return false;
+ }
+ else if (p_link->getShieldChangeWaitTimer() != 0) {
+ p_link->loadShieldModelDVD();
+ return false;
+ } else {
+ delete p_link;
+ return true;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-static asm void daAlink_Delete(daAlink_c* param_0) {
+static asm bool daAlink_Delete(daAlink_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_Delete__FP9daAlink_c.s"
}
#pragma pop
+#endif
/* 800CE294-800CE468 0C8BD4 01D4+00 1/1 0/0 0/0 .text checkNoSubjectModeCamera__9daAlink_cFv */
#pragma push
@@ -18878,14 +19155,9 @@ u32 daAlink_c::checkHorseRide() const {
}
/* 800CF298-800CF2B4 0C9BD8 001C+00 1/0 0/0 0/0 .text getLeftItemMatrix__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getLeftItemMatrix() {
- nofralloc
-#include "asm/d/a/d_a_alink/getLeftItemMatrix__9daAlink_cFv.s"
+MtxP daAlink_c::getLeftItemMatrix() {
+ return field_0x0650->i_getAnmMtx(field_0x30c0);
}
-#pragma pop
/* 800CF2B4-800CF2C8 0C9BF4 0014+00 1/0 0/0 0/0 .text checkBoarRide__9daAlink_cCFv */
u32 daAlink_c::checkBoarRide() const {
@@ -18898,55 +19170,32 @@ u32 daAlink_c::checkSpinnerRide() const {
}
/* 800CF2DC-800CF2F8 0C9C1C 001C+00 1/0 0/0 0/0 .text getLeftHandMatrix__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getLeftHandMatrix() {
- nofralloc
-#include "asm/d/a/d_a_alink/getLeftHandMatrix__9daAlink_cFv.s"
+MtxP daAlink_c::getLeftHandMatrix() {
+ return field_0x0650->i_getAnmMtx(field_0x30b8);
}
-#pragma pop
/* 800CF2F8-800CF314 0C9C38 001C+00 1/0 0/0 0/0 .text getRightHandMatrix__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getRightHandMatrix() {
- nofralloc
-#include "asm/d/a/d_a_alink/getRightHandMatrix__9daAlink_cFv.s"
+MtxP daAlink_c::getRightHandMatrix() {
+ return field_0x0650->i_getAnmMtx(field_0x30ba);
}
-#pragma pop
/* 800CF314-800CF328 0C9C54 0014+00 1/0 0/0 0/0 .text
* onSceneChangeArea__9daAlink_cFUcUcP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::onSceneChangeArea(u8 param_0, u8 param_1, fopAc_ac_c* param_2) {
- nofralloc
-#include "asm/d/a/d_a_alink/onSceneChangeArea__9daAlink_cFUcUcP10fopAc_ac_c.s"
+void daAlink_c::onSceneChangeArea(u8 param_0, u8 param_1, fopAc_ac_c* param_2) {
+ field_0x3112 = param_0;
+ field_0x2fac = param_1;
+ field_0x2808 = param_2;
}
-#pragma pop
/* 800CF328-800CF344 0C9C68 001C+00 1/0 0/0 0/0 .text getRightItemMatrix__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getRightItemMatrix() {
- nofralloc
-#include "asm/d/a/d_a_alink/getRightItemMatrix__9daAlink_cFv.s"
+MtxP daAlink_c::getRightItemMatrix() {
+ return field_0x0650->i_getAnmMtx(field_0x30c2);
}
-#pragma pop
/* 800CF344-800CF380 0C9C84 003C+00 1/0 0/0 0/0 .text checkPlayerNoDraw__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkPlayerNoDraw() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkPlayerNoDraw__9daAlink_cFv.s"
+BOOL daAlink_c::checkPlayerNoDraw() {
+ return dComIfGp_checkCameraAttentionStatus(field_0x317c, 2) || i_checkNoResetFlg0(FLG0_UNK_8000000);
}
-#pragma pop
/* 800CF380-800CFC3C 0C9CC0 08BC+00 1/1 0/0 0/0 .text __ct__9daAlink_cFv */
#pragma push
@@ -19067,33 +19316,18 @@ static asm void cMtx_multVec(f32 const (*param_0)[4], Vec const* param_1, Vec* p
#pragma pop
/* 800CFFE0-800CFFF4 0CA920 0014+00 1/1 0/0 0/0 .text getAnmMtx__8J3DModelFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* J3DModel::getAnmMtx(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/getAnmMtx__8J3DModelFi.s"
+MtxP J3DModel::getAnmMtx(int i) {
+ return mMtxBuffer->getAnmMtx(i);
}
-#pragma pop
/* 800CFFF4-800D0020 0CA934 002C+00 1/1 0/0 0/0 .text setBaseTRMtx__8J3DModelFPA4_f */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void J3DModel::setBaseTRMtx(f32 (*param_0)[4]) {
- nofralloc
-#include "asm/d/a/d_a_alink/setBaseTRMtx__8J3DModelFPA4_f.s"
+void J3DModel::setBaseTRMtx(MtxP matrix) {
+ PSMTXCopy(matrix, mBaseTransformMtx);
}
-#pragma pop
/* 800D0020-800D0048 0CA960 0028+00 1/1 0/0 0/0 .text checkFmChainGrabAnime__9daAlink_cCFv */
BOOL daAlink_c::checkFmChainGrabAnime() const {
- bool fmChainGrab = false;
-
- if (checkUpperAnime(ANM_HUMAN_CHAIN_GRAB) || checkUpperAnime(ANM_WOLF_CHAIN_GRAB)) {
- fmChainGrab = true;
- }
- return fmChainGrab;
+ return checkUpperAnime(ANM_HUMAN_CHAIN_GRAB) || checkUpperAnime(ANM_WOLF_CHAIN_GRAB);
}
/* 800D0048-800D005C 0CA988 0014+00 1/1 0/0 0/0 .text checkSmallUpperGuardAnime__9daAlink_cCFv */
@@ -19139,35 +19373,13 @@ void dBgS_Acch::ClrGroundHit() {
}
/* 800D00EC-800D0110 0CAA2C 0024+00 1/1 0/0 0/0 .text checkReinRide__9daAlink_cCFv */
-// regalloc
-#ifdef NONMATCHING
BOOL daAlink_c::checkReinRide() const {
- bool reinRide = false;
-
- if (mRideStatus == 1 || mRideStatus == 2) {
- reinRide = true;
- }
- return reinRide;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm BOOL daAlink_c::checkReinRide() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkReinRide__9daAlink_cCFv.s"
+ return mRideStatus == 1 || mRideStatus == 2;
}
-#pragma pop
-#endif
/* 800D0110-800D0138 0CAA50 0028+00 1/1 0/0 0/0 .text checkWolfEnemyThrowAnime__9daAlink_cCFv */
BOOL daAlink_c::checkWolfEnemyThrowAnime() const {
- bool wolfEnemyThrowAnime = false;
-
- if (checkUpperAnime(ANM_WOLF_ENEMY_THROW_LEFT) || checkUpperAnime(ANM_WOLF_ENEMY_THROW_RIGHT)) {
- wolfEnemyThrowAnime = true;
- }
- return wolfEnemyThrowAnime;
+ return checkUpperAnime(ANM_WOLF_ENEMY_THROW_LEFT) || checkUpperAnime(ANM_WOLF_ENEMY_THROW_RIGHT);
}
/* 800D0138-800D014C 0CAA78 0014+00 1/1 0/0 0/0 .text checkSpecialDemoMode__9daAlink_cCFv
@@ -19183,24 +19395,14 @@ void daAlink_c::setMidnaTalkStatus(u8 status) {
}
/* 800D0164-800D0180 0CAAA4 001C+00 1/1 0/0 0/0 .text set3DStatus__9daAlink_cFUcUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::set3DStatus(u8 param_0, u8 param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/set3DStatus__9daAlink_cFUcUc.s"
+void daAlink_c::set3DStatus(u8 status, u8 direction) {
+ dComIfGp_set3DStatus(status, direction, 0);
}
-#pragma pop
/* 800D0180-800D018C 0CAAC0 000C+00 1/1 0/0 0/0 .text offSetFlg__16daAlink_matAnm_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_matAnm_c::offSetFlg() {
- nofralloc
-#include "asm/d/a/d_a_alink/offSetFlg__16daAlink_matAnm_cFv.s"
+void daAlink_matAnm_c::offSetFlg() {
+ mSetFlag = 0;
}
-#pragma pop
/* 800D018C-800D0198 0CAACC 000C+00 1/1 0/0 0/0 .text checkModeFlg__9daAlink_cCFUl */
u32 daAlink_c::checkModeFlg(u32 pFlag) const {
@@ -19218,24 +19420,18 @@ u8 daAlink_c::getClothesChangeWaitTimer() const {
}
/* 800D01A8-800D01E0 0CAAE8 0038+00 1/0 0/0 0/0 .text checkHorseStart__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkHorseStart() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkHorseStart__9daAlink_cFv.s"
+u32 daPy_py_c::getLastSceneMode() {
+ return dComIfGs_getLastSceneMode();
+}
+
+BOOL daAlink_c::checkHorseStart() {
+ return checkHorseStart(getLastSceneMode() & 0xF, getStartMode());
}
-#pragma pop
/* 800D01E0-800D0208 0CAB20 0028+00 1/0 0/0 0/0 .text checkCutTurnCharge__9daAlink_cCFv
*/
BOOL daAlink_c::checkCutTurnCharge() const {
- bool cutTurnCharge = false;
-
- if (mActionID == CUT_TURN_MOVE && mCommonCounter == 0) {
- cutTurnCharge = true;
- }
- return cutTurnCharge;
+ return mActionID == CUT_TURN_MOVE && mCommonCounter == 0;
}
/* 800D0208-800D0228 0CAB48 0020+00 1/0 0/0 0/0 .text checkAcceptDungeonWarpAlink__9daAlink_cFi */
@@ -19270,86 +19466,55 @@ s16 daAlink_c::checkSumouWithstand() const {
*/
void daAlink_c::setMidnaMsgNum(fopAc_ac_c* param_0, u16 pMsgNum) {
mMidnaMsgNum = pMsgNum;
- field_0x2800 = param_0;
+ static_cast<fopAc_ac_c*>(mMidnaMsg) = param_0;
}
/* 800D0290-800D029C 0CABD0 000C+00 1/0 0/0 0/0 .text getModelMtx__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getModelMtx() {
- nofralloc
-#include "asm/d/a/d_a_alink/getModelMtx__9daAlink_cFv.s"
+MtxP daAlink_c::getModelMtx() {
+ return field_0x0650->getBaseTRMtx();
}
-#pragma pop
/* 800D029C-800D02A4 0CABDC 0008+00 1/0 0/0 0/0 .text getInvMtx__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getInvMtx() {
- nofralloc
-#include "asm/d/a/d_a_alink/getInvMtx__9daAlink_cFv.s"
+MtxP daAlink_c::getInvMtx() {
+ return mInvMtx;
}
-#pragma pop
/* 800D02A4-800D02B8 0CABE4 0014+00 1/0 0/0 0/0 .text getLinkBackBone1Matrix__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getLinkBackBone1Matrix() {
- nofralloc
-#include "asm/d/a/d_a_alink/getLinkBackBone1Matrix__9daAlink_cFv.s"
+MtxP daAlink_c::getLinkBackBone1Matrix() {
+ return field_0x0650->i_getAnmMtx(1);
}
-#pragma pop
/* 800D02B8-800D02CC 0CABF8 0014+00 1/0 0/0 0/0 .text getWolfMouthMatrix__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getWolfMouthMatrix() {
- nofralloc
-#include "asm/d/a/d_a_alink/getWolfMouthMatrix__9daAlink_cFv.s"
+MtxP daAlink_c::getWolfMouthMatrix() {
+ return field_0x0650->i_getAnmMtx(13);
}
-#pragma pop
/* 800D02CC-800D02E0 0CAC0C 0014+00 1/0 0/0 0/0 .text getWolfBackbone2Matrix__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm Mtx* daAlink_c::getWolfBackbone2Matrix() {
- nofralloc
-#include "asm/d/a/d_a_alink/getWolfBackbone2Matrix__9daAlink_cFv.s"
+MtxP daAlink_c::getWolfBackbone2Matrix() {
+ return field_0x0650->i_getAnmMtx(2);
}
-#pragma pop
/* 800D02E0-800D0334 0CAC20 0054+00 1/0 0/0 0/0 .text getBottleMtx__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::getBottleMtx() {
- nofralloc
-#include "asm/d/a/d_a_alink/getBottleMtx__9daAlink_cFv.s"
+MtxP daAlink_c::getBottleMtx() {
+ if (mHeldItemModel != NULL && checkBottleItem(mEquipItem)) {
+ return mHeldItemModel->getBaseTRMtx();
+ }
+
+ return NULL;
}
-#pragma pop
/* 800D0334-800D0350 0CAC74 001C+00 1/0 0/0 0/0 .text getHeadMtx__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::getHeadMtx() {
- nofralloc
-#include "asm/d/a/d_a_alink/getHeadMtx__9daAlink_cFv.s"
+MtxP daAlink_c::getHeadMtx() {
+ return field_0x0650->i_getAnmMtx(field_0x30b4);
}
-#pragma pop
/* 800D0350-800D0358 0CAC90 0008+00 1/0 0/0 0/0 .text getGroundY__9daAlink_cFv */
-float daAlink_c::getGroundY() {
+f32 daAlink_c::getGroundY() {
return mLinkAcch.GetGroundH();
}
/* 800D0358-800D0360 0CAC98 0008+00 1/0 0/0 0/0 .text getBaseAnimeFrameRate__9daAlink_cCFv */
-float daAlink_c::getBaseAnimeFrameRate() const {
+f32 daAlink_c::getBaseAnimeFrameRate() const {
return mFrameCtrl1[0].getRate();
}
@@ -19365,10 +19530,10 @@ s32 daAlink_c::getItemID() const {
/* 800D0370-800D038C 0CACB0 001C+00 1/0 0/0 0/0 .text getGrabActorID__9daAlink_cCFv */
s32 daAlink_c::getGrabActorID() const {
- if (field_0x2fdc == 0x102) {
+ if (mEquipItem == 0x102) {
return mItemActor.getID();
} else {
- return field_0x282c.getID();
+ return mGrabItemActor.getID();
}
}
@@ -19376,12 +19541,12 @@ s32 daAlink_c::getGrabActorID() const {
*/
void daAlink_c::setForcePutPos(cXyz const& pPutPos) {
mForcePutPos = pPutPos;
- i_onEndResetFlg1(UnkForcePutPos);
+ i_onEndResetFlg1(UNK_FORCE_PUT_POS);
}
/* 800D03B4-800D03C8 0CACF4 0014+00 1/0 0/0 0/0 .text checkPlayerFly__9daAlink_cCFv */
u32 daAlink_c::checkPlayerFly() const {
- return i_checkModeFlg(PLAYER_FLY);
+ return i_checkModeFlg(MODE_SWIMMING | MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_NO_COLLISION | MODE_CLIMB | MODE_JUMP);
}
/* 800D03C8-800D03DC 0CAD08 0014+00 1/0 0/0 0/0 .text checkFrontRoll__9daAlink_cCFv */
@@ -19390,605 +19555,349 @@ BOOL daAlink_c::checkFrontRoll() const {
}
/* 800D03DC-800D03F0 0CAD1C 0014+00 1/0 0/0 0/0 .text checkWolfDash__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfDash() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfDash__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfDash() const {
+ return mActionID == WOLF_DASH;
}
-#pragma pop
/* 800D03F0-800D0414 0CAD30 0024+00 1/0 0/0 0/0 .text checkAutoJump__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkAutoJump() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkAutoJump__9daAlink_cCFv.s"
+BOOL daAlink_c::checkAutoJump() const {
+ return mActionID == HUMAN_AUTOJUMP || mActionID == WOLF_AUTOJUMP;
}
-#pragma pop
/* 800D0414-800D0444 0CAD54 0030+00 1/0 0/0 0/0 .text checkSideStep__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkSideStep() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkSideStep__9daAlink_cCFv.s"
+bool daAlink_c::checkSideStep() const {
+ return (mActionID == HUMAN_SIDESTEP || mActionID == WOLF_SIDESTEP) && field_0x300a != 0;
}
-#pragma pop
/* 800D0444-800D0468 0CAD84 0024+00 1/0 0/0 0/0 .text checkWolfTriggerJump__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfTriggerJump() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfTriggerJump__9daAlink_cCFv.s"
+bool daAlink_c::checkWolfTriggerJump() const {
+ return mActionID == WOLF_SIDESTEP || mActionID == WOLF_JUMPATTACK;
}
-#pragma pop
/* 800D0468-800D047C 0CADA8 0014+00 1/0 0/0 0/0 .text checkGuardBreakMode__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkGuardBreakMode() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkGuardBreakMode__9daAlink_cCFv.s"
+BOOL daAlink_c::checkGuardBreakMode() const {
+ return mActionID == GUARD_BREAK;
}
-#pragma pop
/* 800D047C-800D04A4 0CADBC 0028+00 1/0 0/0 0/0 .text checkLv3Slide__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkLv3Slide() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkLv3Slide__9daAlink_cCFv.s"
+bool daAlink_c::checkLv3Slide() const {
+ return mActionID == HUMAN_SLIDE && field_0x300e != 0;
}
-#pragma pop
/* 800D04A4-800D04B8 0CADE4 0014+00 1/0 0/0 0/0 .text checkWolfHowlDemoMode__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfHowlDemoMode() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfHowlDemoMode__9daAlink_cCFv.s"
+bool daAlink_c::checkWolfHowlDemoMode() const {
+ return mActionID == WOLF_HOWL;
}
-#pragma pop
/* 800D04B8-800D04CC 0CADF8 0014+00 1/0 0/0 0/0 .text checkElecDamage__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkElecDamage() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkElecDamage__9daAlink_cCFv.s"
+BOOL daAlink_c::checkElecDamage() const {
+ return mActionID == ELEC_DAMAGE;
}
-#pragma pop
/* 800D04CC-800D04F4 0CAE0C 0028+00 1/0 0/0 0/0 .text checkEmptyBottleSwing__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkEmptyBottleSwing() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkEmptyBottleSwing__9daAlink_cCFv.s"
+BOOL daAlink_c::checkEmptyBottleSwing() const {
+ return mEquipItem == EMPTY_BOTTLE && mActionID == BOTTLE_SWING;
}
-#pragma pop
/* 800D04F4-800D0508 0CAE34 0014+00 1/0 0/0 0/0 .text checkBottleSwingMode__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkBottleSwingMode() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBottleSwingMode__9daAlink_cCFv.s"
+BOOL daAlink_c::checkBottleSwingMode() const {
+ return mActionID == BOTTLE_SWING;
}
-#pragma pop
/* 800D0508-800D051C 0CAE48 0014+00 1/0 0/0 0/0 .text checkHawkWait__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkHawkWait() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkHawkWait__9daAlink_cCFv.s"
+BOOL daAlink_c::checkHawkWait() const {
+ return mActionID == HAWK_WAIT;
}
-#pragma pop
/* 800D051C-800D0544 0CAE5C 0028+00 1/0 0/0 0/0 .text checkGoatThrow__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkGoatThrow() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkGoatThrow__9daAlink_cCFv.s"
+BOOL daAlink_c::checkGoatThrow() const {
+ return mActionID == GOAT_THROW && mCommonCounter != 0;
}
-#pragma pop
/* 800D0544-800D0570 0CAE84 002C+00 1/0 0/0 0/0 .text checkGoatThrowAfter__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkGoatThrowAfter() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkGoatThrowAfter__9daAlink_cCFv.s"
+BOOL daAlink_c::checkGoatThrowAfter() const {
+ return mActionID == GOAT_THROW && field_0x3478 > FLOAT_LABEL(lit_6108);
}
-#pragma pop
/* 800D0570-800D0598 0CAEB0 0028+00 1/0 0/0 0/0 .text checkWolfTagLockJump__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfTagLockJump() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfTagLockJump__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfTagLockJump() const {
+ return mActionID == WOLF_TAGLOCK_JUMP && field_0x3198 == 0;
}
-#pragma pop
/* 800D0598-800D05AC 0CAED8 0014+00 1/0 0/0 0/0 .text checkWolfTagLockJumpLand__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfTagLockJumpLand() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfTagLockJumpLand__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfTagLockJumpLand() const {
+ return mActionID == WOLF_TAGLOCK_LAND;
}
-#pragma pop
/* 800D05AC-800D05C0 0CAEEC 0014+00 1/0 0/0 0/0 .text checkWolfRopeHang__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfRopeHang() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfRopeHang__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfRopeHang() const {
+ return mActionID == WOLF_ROPE_HANG;
}
-#pragma pop
/* 800D05C0-800D05D4 0CAF00 0014+00 1/0 0/0 0/0 .text checkRollJump__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkRollJump() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkRollJump__9daAlink_cCFv.s"
+BOOL daAlink_c::checkRollJump() const {
+ return mActionID == ROLL_JUMP;
}
-#pragma pop
/* 800D05D4-800D05E8 0CAF14 0014+00 1/0 0/0 0/0 .text checkGoronRideWait__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkGoronRideWait() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkGoronRideWait__9daAlink_cCFv.s"
+BOOL daAlink_c::checkGoronRideWait() const {
+ return mActionID == GORON_RIDE_WAIT;
}
-#pragma pop
/* 800D05E8-800D05FC 0CAF28 0014+00 1/0 0/0 0/0 .text checkWolfChain__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfChain() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfChain__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfChain() const {
+ return mActionID == WOLF_CHAIN;
}
-#pragma pop
/* 800D05FC-800D0610 0CAF3C 0014+00 1/0 0/0 0/0 .text checkWolfWait__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfWait() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfWait__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfWait() const {
+ return mActionID == WOLF_WAIT;
}
-#pragma pop
/* 800D0610-800D0624 0CAF50 0014+00 1/0 0/0 0/0 .text checkWolfJumpAttack__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfJumpAttack() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfJumpAttack__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfJumpAttack() const {
+ return mActionID == WOLF_JUMPATTACK;
}
-#pragma pop
/* 800D0624-800D0638 0CAF64 0014+00 1/0 0/0 0/0 .text checkWolfRSit__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfRSit() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfRSit__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfRSit() const {
+ return mActionID == WOLF_RSIT;
}
-#pragma pop
/* 800D0638-800D0660 0CAF78 0028+00 1/0 0/0 0/0 .text checkBottleDrinkEnd__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkBottleDrinkEnd() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBottleDrinkEnd__9daAlink_cCFv.s"
+BOOL daAlink_c::checkBottleDrinkEnd() const {
+ return mActionID == BOTTLE_DRINK && field_0x300e != 0;
}
-#pragma pop
/* 800D0660-800D0674 0CAFA0 0014+00 1/0 0/0 0/0 .text checkWolfDig__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfDig() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfDig__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfDig() const {
+ return mActionID == WOLF_DIG;
}
-#pragma pop
/* 800D0674-800D0688 0CAFB4 0014+00 1/0 0/0 0/0 .text checkCutCharge__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkCutCharge() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutCharge__9daAlink_cCFv.s"
+BOOL daAlink_c::checkCutCharge() const {
+ return mActionID == CUT_TURN_MOVE;
}
-#pragma pop
/* 800D0688-800D06B0 0CAFC8 0028+00 1/0 0/0 0/0 .text checkCutLargeJumpCharge__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkCutLargeJumpCharge() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutLargeJumpCharge__9daAlink_cCFv.s"
+BOOL daAlink_c::checkCutLargeJumpCharge() const {
+ return mActionID == CUT_TURN_MOVE && mCommonCounter != 0;
}
-#pragma pop
/* 800D06B0-800D06D8 0CAFF0 0028+00 1/0 0/0 0/0 .text checkComboCutTurn__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkComboCutTurn() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkComboCutTurn__9daAlink_cCFv.s"
+BOOL daAlink_c::checkComboCutTurn() const {
+ return mActionID == COMBO_CUT_TURN && mComboCutCount != 0;
}
-#pragma pop
/* 800D06D8-800D0704 0CB018 002C+00 1/0 0/0 0/0 .text checkClimbMove__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkClimbMove() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkClimbMove__9daAlink_cCFv.s"
+BOOL daAlink_c::checkClimbMove() const {
+ return mActionID == CLIMB_MOVE_VERTICAL || mActionID == CLIMB_MOVE_LADDER || mActionID == CLIMB_MOVE_HORIZONTAL;
}
-#pragma pop
/* 800D0704-800D0718 0CB044 0014+00 1/0 0/0 0/0 .text checkGrassWhistle__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkGrassWhistle() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkGrassWhistle__9daAlink_cCFv.s"
+BOOL daAlink_c::checkGrassWhistle() const {
+ return mActionID == GRASS_WHISTLE;
}
-#pragma pop
/* 800D0718-800D072C 0CB058 0014+00 1/0 0/0 0/0 .text checkBoarRun__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkBoarRun() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBoarRun__9daAlink_cCFv.s"
+BOOL daAlink_c::checkBoarRun() const {
+ return mActionID == BOAR_RUN;
}
-#pragma pop
/* 800D072C-800D0794 0CB06C 0068+00 1/0 0/0 0/0 .text checkHorseRideNotReady__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkHorseRideNotReady() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkHorseRideNotReady__9daAlink_cCFv.s"
+BOOL daAlink_c::checkHorseRideNotReady() const {
+ return checkHorseRide() && mActionID != HORSE_RIDE && mActionID != HORSE_GETOFF;
}
-#pragma pop
/* 800D0794-800D079C 0CB0D4 0008+00 1/0 0/0 0/0 .text getSearchBallScale__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getSearchBallScale() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getSearchBallScale__9daAlink_cCFv.s"
+f32 daAlink_c::getSearchBallScale() const {
+ return mSearchBallScale;
}
-#pragma pop
/* 800D079C-800D07A4 0CB0DC 0008+00 1/0 0/0 0/0 .text checkFastShotTime__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkFastShotTime() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkFastShotTime__9daAlink_cFv.s"
+s16 daAlink_c::checkFastShotTime() {
+ return mFastShotTime;
}
-#pragma pop
/* 800D07A4-800D07D4 0CB0E4 0030+00 1/0 0/0 0/0 .text checkCutJumpCancelTurn__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutJumpCancelTurn() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutJumpCancelTurn__9daAlink_cCFv.s"
+BOOL daAlink_c::checkCutJumpCancelTurn() const {
+ return (mActionID == CUT_JUMP || mActionID == CUT_JUMP_LAND) && field_0x3198 != 2;
}
-#pragma pop
/* 800D07D4-800D07FC 0CB114 0028+00 1/0 0/0 0/0 .text
* checkSingleBoarBattleSecondBowReady__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkSingleBoarBattleSecondBowReady() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkSingleBoarBattleSecondBowReady__9daAlink_cCFv.s"
+BOOL daAlink_c::checkSingleBoarBattleSecondBowReady() const {
+ return mActionID == RIDE_BOW_READY && mCommonCounter != 0;
}
-#pragma pop
/* 800D07FC-800D0818 0CB13C 001C+00 1/0 0/0 0/0 .text cancelDungeonWarpReadyNeck__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::cancelDungeonWarpReadyNeck() {
- nofralloc
-#include "asm/d/a/d_a_alink/cancelDungeonWarpReadyNeck__9daAlink_cFv.s"
+void daAlink_c::cancelDungeonWarpReadyNeck() {
+ if (mActionID != DUNGEON_WARP_READY) {
+ return;
+ }
+ offModeFlg(MODE_UNK_100);
}
-#pragma pop
/* 800D0818-800D0830 0CB158 0018+00 1/0 0/0 0/0 .text
* onSceneChangeAreaJump__9daAlink_cFUcUcP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::onSceneChangeAreaJump(u8 param_0, u8 param_1, fopAc_ac_c* param_2) {
- nofralloc
-#include "asm/d/a/d_a_alink/onSceneChangeAreaJump__9daAlink_cFUcUcP10fopAc_ac_c.s"
+void daAlink_c::onSceneChangeAreaJump(u8 param_0, u8 param_1, fopAc_ac_c* param_2) {
+ field_0x3112 = param_0 | 0x8000;
+ field_0x2fac = param_1;
+ field_0x2808 = param_2;
}
-#pragma pop
/* 800D0830-800D084C 0CB170 001C+00 1/0 0/0 0/0 .text onSceneChangeDead__9daAlink_cFUci
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::onSceneChangeDead(u8 param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/onSceneChangeDead__9daAlink_cFUci.s"
+void daAlink_c::onSceneChangeDead(u8 param_0, int param_1) {
+ if (mActionID != DEAD) {
+ return;
+ }
+ field_0x3012 = param_0;
+ field_0x3198 = param_1;
}
-#pragma pop
/* 800D084C-800D0860 0CB18C 0014+00 1/0 0/0 0/0 .text checkNoEquipItem__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkNoEquipItem() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkNoEquipItem__9daAlink_cCFv.s"
+bool daAlink_c::checkNoEquipItem() const {
+ return mEquipItem == NO_ITEM;
}
-#pragma pop
/* 800D0860-800D087C 0CB1A0 001C+00 1/0 0/0 0/0 .text getBoardCutTurnOffsetAngleY__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::getBoardCutTurnOffsetAngleY() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBoardCutTurnOffsetAngleY__9daAlink_cCFv.s"
+s16 daAlink_c::getBoardCutTurnOffsetAngleY() const {
+ if (mActionID == BOARD_CUT_TURN) {
+ return field_0x3012;
+ }
+ return 0;
}
-#pragma pop
/* 800D087C-800D0884 0CB1BC 0008+00 1/0 0/0 0/0 .text getMagneBootsTopVec__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm cXyz* daAlink_c::getMagneBootsTopVec() {
- nofralloc
-#include "asm/d/a/d_a_alink/getMagneBootsTopVec__9daAlink_cFv.s"
+cXyz* daAlink_c::getMagneBootsTopVec() {
+ return &mMagneBootsTopVec;
}
-#pragma pop
/* 800D0884-800D08B0 0CB1C4 002C+00 1/0 0/0 0/0 .text setCargoCarry__9daAlink_cFP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setCargoCarry(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setCargoCarry__9daAlink_cFP10fopAc_ac_c.s"
+void daAlink_c::setCargoCarry(fopAc_ac_c* p_actor) {
+ mSpecialMode = SMODE_CARGO_CARRY;
+ mCargoCarryActor.setData(p_actor);
}
-#pragma pop
/* 800D08B0-800D08DC 0CB1F0 002C+00 1/0 0/0 0/0 .text setGoronSideMove__9daAlink_cFP10fopAc_ac_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setGoronSideMove(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setGoronSideMove__9daAlink_cFP10fopAc_ac_c.s"
+void daAlink_c::setGoronSideMove(fopAc_ac_c* p_actor) {
+ mSpecialMode = SMODE_GORON_THROW;
+ mCargoCarryActor.setData(p_actor);
}
-#pragma pop
/* 800D08DC-800D091C 0CB21C 0040+00 1/0 0/0 0/0 .text setSumouReady__9daAlink_cFP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSumouReady(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setSumouReady__9daAlink_cFP10fopAc_ac_c.s"
+void daAlink_c::setSumouReady(fopAc_ac_c* p_actor) {
+ mSpecialMode = SMODE_SUMO_READY;
+ mCargoCarryActor.setData(p_actor);
+ mDemo.setDemoMode(1);
}
-#pragma pop
/* 800D091C-800D0930 0CB25C 0014+00 1/0 0/0 0/0 .text setSumouPushBackDirection__9daAlink_cFs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSumouPushBackDirection(s16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setSumouPushBackDirection__9daAlink_cFs.s"
+void daAlink_c::setSumouPushBackDirection(s16 param_0) {
+ if (mActionID != SUMOU_PUSH) {
+ return;
+ }
+ field_0x3010 = param_0;
}
-#pragma pop
/* 800D0930-800D0948 0CB270 0018+00 1/0 0/0 0/0 .text setSumouLoseHeadUp__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSumouLoseHeadUp() {
- nofralloc
-#include "asm/d/a/d_a_alink/setSumouLoseHeadUp__9daAlink_cFv.s"
+void daAlink_c::setSumouLoseHeadUp() {
+ if (mActionID != SUMOU_WIN_LOSE) {
+ return;
+ }
+ mSpecialMode = SMODE_SUMO_LOSE;
}
-#pragma pop
/* 800D0948-800D095C 0CB288 0014+00 1/0 0/0 0/0 .text checkPriActorOwn__9daAlink_cCFPC10fopAc_ac_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkPriActorOwn(fopAc_ac_c const* param_0) const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkPriActorOwn__9daAlink_cCFPC10fopAc_ac_c.s"
+bool daAlink_c::checkPriActorOwn(fopAc_ac_c const* p_actor) const {
+ return field_0x27f4 == p_actor;
}
-#pragma pop
/* 800D095C-800D0970 0CB29C 0014+00 1/0 0/0 0/0 .text
* checkWolfEnemyBiteAllOwn__9daAlink_cCFPC10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfEnemyBiteAllOwn(fopAc_ac_c const* param_0) const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfEnemyBiteAllOwn__9daAlink_cCFPC10fopAc_ac_c.s"
+bool daAlink_c::checkWolfEnemyBiteAllOwn(fopAc_ac_c const* p_actor) const {
+ return field_0x281c.getActorConst() == p_actor;
}
-#pragma pop
/* 800D0970-800D0984 0CB2B0 0014+00 1/0 0/0 0/0 .text setWolfEnemyHangBiteAngle__9daAlink_cFs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setWolfEnemyHangBiteAngle(s16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setWolfEnemyHangBiteAngle__9daAlink_cFs.s"
+void daAlink_c::setWolfEnemyHangBiteAngle(s16 angle) {
+ if (mActionID != WOLF_ENEMY_HANG_BITE) {
+ return;
+ }
+ field_0x3010 = angle;
}
-#pragma pop
/* 800D0984-800D0998 0CB2C4 0014+00 1/0 0/0 0/0 .text setSumouGraspCancelCount__9daAlink_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSumouGraspCancelCount(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setSumouGraspCancelCount__9daAlink_cFi.s"
+void daAlink_c::setSumouGraspCancelCount(int param_0) {
+ if (mActionID != SUMOU_PUSH) {
+ return;
+ }
+ mCommonCounter = param_0;
}
-#pragma pop
/* 800D0998-800D09AC 0CB2D8 0014+00 1/0 0/0 0/0 .text checkItemSwordEquip__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkItemSwordEquip() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkItemSwordEquip__9daAlink_cCFv.s"
+bool daAlink_c::checkItemSwordEquip() const {
+ return mEquipItem == EQUIP_SWORD;
}
-#pragma pop
/* 800D09AC-800D09B4 0CB2EC 0008+00 1/0 0/0 0/0 .text getSinkShapeOffset__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm float daAlink_c::getSinkShapeOffset() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getSinkShapeOffset__9daAlink_cCFv.s"
+f32 daAlink_c::getSinkShapeOffset() const {
+ return mSinkShapeOffset;
}
-#pragma pop
/* 800D09B4-800D09C8 0CB2F4 0014+00 1/0 0/0 0/0 .text checkSinkDead__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkSinkDead() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkSinkDead__9daAlink_cCFv.s"
+BOOL daAlink_c::checkSinkDead() const {
+ return field_0x2fbd == 0xFF;
}
-#pragma pop
/* 800D09C8-800D09DC 0CB308 0014+00 1/0 0/0 0/0 .text checkCutJumpMode__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkCutJumpMode() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutJumpMode__9daAlink_cCFv.s"
+BOOL daAlink_c::checkCutJumpMode() const {
+ return mActionID == CUT_JUMP;
}
-#pragma pop
/* 800D09DC-800D09E4 0CB31C 0008+00 1/0 0/0 0/0 .text getGiantPuzzleAimAngle__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm s16 daAlink_c::getGiantPuzzleAimAngle() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getGiantPuzzleAimAngle__9daAlink_cCFv.s"
+s16 daAlink_c::getGiantPuzzleAimAngle() const {
+ return mCommonCounter;
}
-#pragma pop
/* 800D09E4-800D09EC 0CB324 0008+00 1/0 0/0 0/0 .text getSwordChangeWaitTimer__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::getSwordChangeWaitTimer() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getSwordChangeWaitTimer__9daAlink_cCFv.s"
+u8 daAlink_c::getSwordChangeWaitTimer() const {
+ return mSwordChangeWaitTimer;
}
-#pragma pop
/* 800D09EC-800D0A14 0CB32C 0028+00 1/0 0/0 0/0 .text checkMetamorphose__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkMetamorphose() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkMetamorphose__9daAlink_cCFv.s"
+BOOL daAlink_c::checkMetamorphose() const {
+ return mActionID == METAMORPHOSE && field_0x300a == 0;
}
-#pragma pop
/* 800D0A14-800D0A28 0CB354 0014+00 1/0 0/0 0/0 .text checkWolfDownAttackPullOut__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfDownAttackPullOut() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfDownAttackPullOut__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfDownAttackPullOut() const {
+ return mActionID == WOLF_DOWNATTACK_PULLOUT;
}
-#pragma pop
/* 800D0A28-800D0A30 0CB368 0008+00 1/0 0/0 0/0 .text getMidnaAtnPos__9daAlink_cCFv */
+// vtable issue
+#ifdef NONMATCHING
+cXyz* daAlink_c::getMidnaAtnPos() const {
+ return &mMidnaAtnPos;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -19998,135 +19907,86 @@ extern "C" asm void getMidnaAtnPos__9daAlink_cCFv() {
#include "asm/d/a/d_a_alink/getMidnaAtnPos__9daAlink_cCFv.s"
}
#pragma pop
+#endif
/* 800D0A30-800D0A44 0CB370 0014+00 1/0 0/0 0/0 .text checkCopyRodEquip__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkCopyRodEquip() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCopyRodEquip__9daAlink_cCFv.s"
+bool daAlink_c::checkCopyRodEquip() const {
+ return mEquipItem == COPY_ROD;
}
-#pragma pop
/* 800D0A44-800D0A6C 0CB384 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetLeft__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkCanoeFishingGetLeft() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCanoeFishingGetLeft__9daAlink_cCFv.s"
+bool daAlink_c::checkCanoeFishingGetLeft() const {
+ return mActionID == CANOE_FISHING_GET && field_0x300e == 0;
}
-#pragma pop
/* 800D0A6C-800D0A94 0CB3AC 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetRight__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkCanoeFishingGetRight() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCanoeFishingGetRight__9daAlink_cCFv.s"
+bool daAlink_c::checkCanoeFishingGetRight() const {
+ return mActionID == CANOE_FISHING_GET && field_0x300e == 1;
}
-#pragma pop
/* 800D0A94-800D0A9C 0CB3D4 0008+00 1/0 0/0 0/0 .text checkBeeChildDrink__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkBeeChildDrink() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkBeeChildDrink__9daAlink_cCFv.s"
+u8 daAlink_c::checkBeeChildDrink() const {
+ return field_0x2fd3;
}
-#pragma pop
/* 800D0A9C-800D0AA4 0CB3DC 0008+00 1/0 0/0 0/0 .text getWolfHowlMgrP__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::getWolfHowlMgrP() {
- nofralloc
-#include "asm/d/a/d_a_alink/getWolfHowlMgrP__9daAlink_cFv.s"
+Z2WolfHowlMgr* daAlink_c::getWolfHowlMgrP() {
+ return &mZ2WolfHowlMgr;
}
-#pragma pop
/* 800D0AA4-800D0AC8 0CB3E4 0024+00 1/0 0/0 0/0 .text checkWolfHowlSuccessAnime__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfHowlSuccessAnime() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfHowlSuccessAnime__9daAlink_cCFv.s"
+BOOL daAlink_c::checkWolfHowlSuccessAnime() const {
+ return checkUnderMove0BckNoArcWolf(ANM_WOLF_HOWL_SUCCESS);
}
-#pragma pop
/* 800D0AC8-800D0AF0 0CB408 0028+00 1/0 0/0 0/0 .text checkOctaIealHang__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkOctaIealHang() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkOctaIealHang__9daAlink_cCFv.s"
+bool daAlink_c::checkOctaIealHang() const {
+ return mActionID == BOSS_ENEMY_HANG && field_0x32cc == 0;
}
-#pragma pop
/* 800D0AF0-800D0B08 0CB430 0018+00 1/0 0/0 0/0 .text cancelOctaIealHang__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::cancelOctaIealHang() {
- nofralloc
-#include "asm/d/a/d_a_alink/cancelOctaIealHang__9daAlink_cFv.s"
+void daAlink_c::cancelOctaIealHang() {
+ if (mActionID != BOSS_ENEMY_HANG) {
+ return;
+ }
+ field_0x300e = 1;
}
-#pragma pop
/* 800D0B08-800D0B20 0CB448 0018+00 1/0 0/0 0/0 .text cancelDragonHangBackJump__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::cancelDragonHangBackJump() {
- nofralloc
-#include "asm/d/a/d_a_alink/cancelDragonHangBackJump__9daAlink_cFv.s"
+void daAlink_c::cancelDragonHangBackJump() {
+ if (mActionID != BOSS_ENEMY_HANG) {
+ return;
+ }
+ field_0x300e = -1;
}
-#pragma pop
/* 800D0B20-800D0B38 0CB460 0018+00 1/0 0/0 0/0 .text setOctaIealWildHang__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setOctaIealWildHang() {
- nofralloc
-#include "asm/d/a/d_a_alink/setOctaIealWildHang__9daAlink_cFv.s"
+void daAlink_c::setOctaIealWildHang() {
+ if (mActionID != BOSS_ENEMY_HANG) {
+ return;
+ }
+ field_0x3008 = 1;
}
-#pragma pop
/* 800D0B38-800D0B60 0CB478 0028+00 1/0 0/0 0/0 .text checkDragonHangRide__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkDragonHangRide() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkDragonHangRide__9daAlink_cCFv.s"
+bool daAlink_c::checkDragonHangRide() const {
+ return mActionID == BOSS_ENEMY_HANG && field_0x32cc != 0;
}
-#pragma pop
/* 800D0B60-800D0B8C 0CB4A0 002C+00 1/0 0/0 0/0 .text playerStartCollisionSE__9daAlink_cFUlUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::playerStartCollisionSE(u32 param_0, u32 param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/playerStartCollisionSE__9daAlink_cFUlUl.s"
+void daAlink_c::playerStartCollisionSE(u32 param_0, u32 param_1) {
+ mZ2Link.startCollisionSE(param_0, param_1);
}
-#pragma pop
/* 800D0B8C-800D0C6C 0CB4CC 00E0+00 1/0 0/0 0/0 .text __dt__16daAlink_matAnm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm daAlink_matAnm_c::~daAlink_matAnm_c() {
+// asm daAlink_matAnm_c::~daAlink_matAnm_c() {
+extern "C" asm void __dt__16daAlink_matAnm_cFv() {
nofralloc
#include "asm/d/a/d_a_alink/__dt__16daAlink_matAnm_cFv.s"
}
@@ -20207,76 +20067,70 @@ asm void daAlink_c::checkLightSwordMtrl() {
/* 800D0E98-800D0ECC 0CB7D8 0034+00 5/5 0/0 0/0 .text checkSwordEquipAnime__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkSwordEquipAnime() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkSwordEquipAnime__9daAlink_cCFv.s"
+BOOL daAlink_c::checkSwordEquipAnime() const {
+ return !i_checkNoResetFlg0(FLG0_UNK_1000000) && (checkUpperAnime(0x255) || checkUpperAnime(0x261));
}
-#pragma pop
/* 800D0ECC-800D0EFC 0CB80C 0030+00 8/8 0/0 0/0 .text checkCutDashAnime__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutDashAnime() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutDashAnime__9daAlink_cCFv.s"
+BOOL daAlink_c::checkCutDashAnime() const {
+ return checkUpperAnime(0x80) || checkUpperAnime(0x82) || checkUpperAnime(0x81);
}
-#pragma pop
/* 800D0EFC-800D0F5C 0CB83C 0060+00 1/1 0/0 0/0 .text
* checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutDashEnemyHit(dCcD_GObjInf& param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf.s"
+BOOL daAlink_c::checkCutDashEnemyHit(dCcD_GObjInf& obj) {
+ return obj.ChkAtHit() && checkEnemyGroup(obj.GetAtHitAc());
}
-#pragma pop
/* 800D0F5C-800D0F90 0CB89C 0034+00 6/6 0/0 0/0 .text getSwordAtType__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getSwordAtType() {
- nofralloc
-#include "asm/d/a/d_a_alink/getSwordAtType__9daAlink_cFv.s"
+u32 daAlink_c::getSwordAtType() {
+ return checkMasterSwordEquip() ? 0x4000002 : 2;
}
-#pragma pop
/* 800D0F90-800D102C 0CB8D0 009C+00 3/3 0/0 0/0 .text initCutTurnAt__9daAlink_cFfi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::initCutTurnAt(f32 param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/initCutTurnAt__9daAlink_cFfi.s"
+void daAlink_c::initCutTurnAt(f32 param_0, int param_1) {
+ field_0xFB8.ResetAtHit();
+ field_0xFB8.OnAtSetBit();
+ field_0xFB8.SetAtType(getSwordAtType());
+ field_0xFB8.SetAtHitMark(3);
+ field_0xFB8.SetAtSe(1);
+ field_0xFB8.SetAtAtp(param_1);
+ u8 mtrl;
+ if (!i_checkNoResetFlg3(FLG3_UNK_100000)) {
+ mtrl = 0;
+ } else {
+ mtrl = 4;
+ }
+ field_0xFB8.SetAtMtrl(mtrl);
+ field_0xFB8.SetR(param_0);
+ field_0x2fd0 = 1;
}
-#pragma pop
/* 800D102C-800D1088 0CB96C 005C+00 2/2 0/0 0/0 .text checkCutFinishJumpUp__9daAlink_cFv
*/
+#ifdef NONMATCHING
+bool daAlink_c::checkCutFinishJumpUp() {
+ return checkCutBackState() && (!checkNotBattleStage() && swordSwingTrigger());
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCutFinishJumpUp() {
+asm bool daAlink_c::checkCutFinishJumpUp() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutFinishJumpUp__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800D1088-800D10E0 0CB9C8 0058+00 2/2 0/0 0/0 .text changeCutFast__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::changeCutFast() {
- nofralloc
-#include "asm/d/a/d_a_alink/changeCutFast__9daAlink_cFv.s"
+void daAlink_c::changeCutFast() {
+ deleteEquipItem(0, 0);
+ setSwordModel();
+ mComboCutCount = 3;
+ checkCutAction();
+ i_onNoResetFlg0(FLG0_UNK_80000);
}
-#pragma pop
/* 800D10E0-800D1268 0CBA20 0188+00 1/1 0/0 0/0 .text checkCutFastReady__9daAlink_cFv */
#pragma push
@@ -20288,42 +20142,48 @@ asm void daAlink_c::checkCutFastReady() {
}
#pragma pop
+bool daPy_py_c::checkWoodSwordEquip() {
+ return dComIfGs_getSelectEquipSword() == WOOD_STICK;
+}
+
/* 800D1268-800D1310 0CBBA8 00A8+00 9/9 0/0 0/0 .text setSwordModel__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSwordModel() {
- nofralloc
-#include "asm/d/a/d_a_alink/setSwordModel__9daAlink_cFv.s"
+void daAlink_c::setSwordModel() {
+ field_0x2fde = 0xFF;
+ mEquipItem = EQUIP_SWORD;
+
+ mDoAud_bgmSetSwordUsing(1);
+ field_0x2f94 = 0;
+
+ if (checkWoodSwordEquip()) {
+ mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide();
+ } else {
+ mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->show();
+ }
}
-#pragma pop
/* 800D1310-800D13AC 0CBC50 009C+00 2/2 0/0 0/0 .text offSwordModel__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::offSwordModel() {
- nofralloc
-#include "asm/d/a/d_a_alink/offSwordModel__9daAlink_cFv.s"
+void daAlink_c::offSwordModel() {
+ mDoAud_bgmSetSwordUsing(0);
+
+ if (mSwordModel == field_0x0668 || mSwordModel == field_0x0660) {
+ mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide();
+ }
+ else if (mSwordModel == field_0x0670) {
+ field_0x0670->getModelData()->getMaterialNodePointer(1)->getShape()->show();
+ }
}
-#pragma pop
/* 800D13AC-800D13E4 0CBCEC 0038+00 1/1 0/0 0/0 .text checkCutTypeNoBlur__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutTypeNoBlur() const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutTypeNoBlur__9daAlink_cCFv.s"
+BOOL daAlink_c::checkCutTypeNoBlur() const {
+ return mCutType == TYPE_CUT_STAB || mCutType == TYPE_CUT_STAB_COMBO || mCutType == TYPE_CUT_STAB_FINISH || i_checkNoResetFlg0(UNDER_WATER_MOVEMENT);
}
-#pragma pop
/* 800D13E4-800D1424 0CBD24 0040+00 7/7 0/0 0/0 .text checkCutTurnInput__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCutTurnInput() const {
+asm bool daAlink_c::checkCutTurnInput() const {
nofralloc
#include "asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s"
}
@@ -20331,26 +20191,33 @@ asm void daAlink_c::checkCutTurnInput() const {
/* 800D1424-800D1430 0CBD64 000C+00 7/7 0/0 0/0 .text getCutTurnDirection__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getCutTurnDirection() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getCutTurnDirection__9daAlink_cCFv.s"
+int daAlink_c::getCutTurnDirection() const {
+ return field_0x3180 < 0;
}
-#pragma pop
/* 800D1430-800D1454 0CBD70 0024+00 17/17 0/0 0/0 .text resetCombo__9daAlink_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::resetCombo(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/resetCombo__9daAlink_cFi.s"
+void daAlink_c::resetCombo(int param_0) {
+ mComboCutCount = 0;
+ i_offNoResetFlg0(FLG0_UNK_8000);
+ if (param_0 != 0) {
+ mRunCutComboCount = 0;
+ }
}
-#pragma pop
/* 800D1454-800D152C 0CBD94 00D8+00 1/1 0/0 0/0 .text checkComboCnt__9daAlink_cFv */
+// something with i_checkAttentionLock
+#ifdef NONMATCHING
+void daAlink_c::checkComboCnt() {
+ if ((mEquipItem == EQUIP_SWORD && mComboCutCount == 2) && (i_checkAttentionLock() && (field_0x122C[0].ChkAtHit() || field_0x122C[1].ChkAtHit() || field_0x122C[2].ChkAtHit()))) {
+ i_onNoResetFlg0(FLG0_UNK_8000);
+ }
+ if (field_0x307e > 0) {
+ field_0x307e--;
+ } else {
+ resetCombo(1);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -20359,16 +20226,13 @@ asm void daAlink_c::checkComboCnt() {
#include "asm/d/a/d_a_alink/checkComboCnt__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800D152C-800D1540 0CBE6C 0014+00 22/22 0/0 0/0 .text setCutType__9daAlink_cFUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setCutType(u8 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setCutType__9daAlink_cFUc.s"
+void daAlink_c::setCutType(u8 type) {
+ mCutType = type;
+ i_offResetFlg0(RFLG0_UNK_8000000);
}
-#pragma pop
/* 800D1540-800D1688 0CBE80 0148+00 8/8 0/0 0/0 .text
* setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff */
@@ -20396,14 +20260,15 @@ asm void daAlink_c::setSwordAtParam(dCcG_At_Spl param_0, u8 param_1, u8 param_2,
/* 800D1788-800D17EC 0CC0C8 0064+00 1/1 0/0 1/1 .text
* notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::notSwordHitVibActor(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c.s"
+bool daAlink_c::notSwordHitVibActor(fopAc_ac_c* p_actor) {
+ if (p_actor != NULL && fopAcM_GetGroup(p_actor) == 4) {
+ s16 name = fopAcM_GetName(p_actor);
+ if (!checkSpecialNpc(p_actor) && name != 0x108 && name != 0x240) {
+ return true;
+ }
+ }
+ return false;
}
-#pragma pop
/* 800D17EC-800D1920 0CC12C 0134+00 4/4 0/0 0/0 .text
* setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf */
@@ -20418,32 +20283,23 @@ asm void daAlink_c::setSwordHitVibration(dCcD_GObjInf* param_0) {
/* 800D1920-800D1978 0CC260 0058+00 3/3 0/0 0/0 .text checkAtShieldHit__9daAlink_cFR12dCcD_GObjInf
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkAtShieldHit(dCcD_GObjInf& param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/checkAtShieldHit__9daAlink_cFR12dCcD_GObjInf.s"
+BOOL daAlink_c::checkAtShieldHit(dCcD_GObjInf& param_0) {
+ return param_0.ChkAtHit() && param_0.ChkAtShieldHit();
}
-#pragma pop
/* 800D1978-800D19C8 0CC2B8 0050+00 1/1 0/0 0/0 .text
* checkCutReverseAt__9daAlink_cFP12dCcD_GObjInf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutReverseAt__9daAlink_cFP12dCcD_GObjInf.s"
+bool daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) {
+ param_0->GetAtHitAc();
+ return checkAtShieldHit(*param_0) ? true : false;
}
-#pragma pop
/* 800D19C8-800D1E1C 0CC308 0454+00 5/5 0/0 0/0 .text
* changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) {
+asm BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) {
nofralloc
#include "asm/d/a/d_a_alink/changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM.s"
}
@@ -20461,85 +20317,87 @@ asm void daAlink_c::setCutDash(int param_0, int param_1) {
/* 800D20B4-800D20FC 0CC9F4 0048+00 4/4 0/0 0/0 .text checkForceSwordSwing__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkForceSwordSwing() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkForceSwordSwing__9daAlink_cFv.s"
+BOOL daAlink_c::checkForceSwordSwing() {
+ return mEquipItem == EQUIP_SWORD && swordSwingTrigger();
}
-#pragma pop
/* 800D20FC-800D2188 0CCA3C 008C+00 7/7 0/0 0/0 .text setComboReserb__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setComboReserb() {
- nofralloc
-#include "asm/d/a/d_a_alink/setComboReserb__9daAlink_cFv.s"
+void daAlink_c::setComboReserb() {
+ if (i_checkWolf()) {
+ field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration;
+ } else {
+ field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration;
+ }
+ if (mComboCutCount != 4 && field_0x2fce == 0 && swordSwingTrigger()) {
+ i_onNoResetFlg2(UNK_FLG2_2);
+ }
}
-#pragma pop
/* 800D2188-800D21D0 0CCAC8 0048+00 1/1 0/0 0/0 .text checkComboReserb__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkComboReserb() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkComboReserb__9daAlink_cFv.s"
+BOOL daAlink_c::checkComboReserb() {
+ return i_checkNoResetFlg2(UNK_FLG2_2) && !checkEventRun();
+}
+
+inline u8 i_dComIfGp_getDoStatus() {
+ return g_dComIfG_gameInfo.play.getDoStatus();
}
-#pragma pop
/* 800D21D0-800D2284 0CCB10 00B4+00 1/1 0/0 0/0 .text commonCutAction__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::commonCutAction() {
- nofralloc
-#include "asm/d/a/d_a_alink/commonCutAction__9daAlink_cFv.s"
+bool daAlink_c::commonCutAction() {
+ if (mComboCutCount == 4) {
+ resetCombo(1);
+ }
+
+ if (i_dComIfGp_getDoStatus() == 4) {
+ setDoStatus(0);
+ }
+ mComboCutCount++;
+
+ if (i_checkReinRide()) {
+ procHorseCutInit();
+ if (mComboCutCount > 1) {
+ mComboCutCount = 1;
+ }
+ return true;
+ } else {
+ return false;
+ }
}
-#pragma pop
/* 800D2284-800D22BC 0CCBC4 0038+00 13/13 0/0 0/0 .text setSwordVoiceSe__9daAlink_cFUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSwordVoiceSe(u32 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/setSwordVoiceSe__9daAlink_cFUl.s"
+void daAlink_c::setSwordVoiceSe(u32 sfx_id) {
+ if (!i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
+ voiceStart(sfx_id);
+ }
}
-#pragma pop
/* 800D22BC-800D2304 0CCBFC 0048+00 3/3 0/0 0/0 .text setSwordChargeVoiceSe__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSwordChargeVoiceSe() {
- nofralloc
-#include "asm/d/a/d_a_alink/setSwordChargeVoiceSe__9daAlink_cFv.s"
+void daAlink_c::setSwordChargeVoiceSe() {
+ if (mCommonCounter != 0) {
+ mCommonCounter--;
+ if (mCommonCounter == 0) {
+ setSwordVoiceSe(Z2SE_AL_V_TAME);
+ }
+ }
}
-#pragma pop
/* 800D2304-800D2368 0CCC44 0064+00 3/3 0/0 0/0 .text setSwordComboVoice__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::setSwordComboVoice() {
- nofralloc
-#include "asm/d/a/d_a_alink/setSwordComboVoice__9daAlink_cFv.s"
+void daAlink_c::setSwordComboVoice() {
+ if (mActionID == CUT_JUMP || mComboCutCount == 4) {
+ setSwordVoiceSe(Z2SE_AL_V_ATTACK_L);
+ }
+ else if (mComboCutCount == 1) {
+ setSwordVoiceSe(Z2SE_AL_V_ATTACK_S);
+ } else {
+ setSwordVoiceSe(Z2SE_AL_V_ATTACK_M);
+ }
}
-#pragma pop
/* 800D2368-800D23C0 0CCCA8 0058+00 3/3 0/0 0/0 .text checkCutTurnInputTrigger__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutTurnInputTrigger() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutTurnInputTrigger__9daAlink_cFv.s"
+bool daAlink_c::checkCutTurnInputTrigger() {
+ return swordSwingTrigger() && checkCutTurnInput();
}
-#pragma pop
/* 800D23C0-800D2684 0CCD00 02C4+00 7/7 0/0 0/0 .text checkCutAction__9daAlink_cFv */
#pragma push
@@ -20552,14 +20410,17 @@ asm void daAlink_c::checkCutAction() {
#pragma pop
/* 800D2684-800D26EC 0CCFC4 0068+00 9/9 0/0 0/0 .text checkCutTurnCharge__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::checkCutTurnCharge() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCutTurnCharge__9daAlink_cFv.s"
+void daAlink_c::checkCutTurnCharge() {
+ if (swordButton()) {
+ if (field_0x3012 < 3) {
+ field_0x3012++;
+ } else {
+ i_onResetFlg0(RFLG0_UNK_40);
+ }
+ } else {
+ field_0x3012 = 0;
+ }
}
-#pragma pop
/* 800D26EC-800D2760 0CD02C 0074+00 4/4 0/0 0/0 .text getCutDirection__9daAlink_cFv */
#pragma push
@@ -20595,7 +20456,7 @@ asm void daAlink_c::checkDoCutAction() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCutBackState() {
+asm BOOL daAlink_c::checkCutBackState() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutBackState__9daAlink_cFv.s"
}
@@ -20664,6 +20525,47 @@ asm void daAlink_c::checkCutAtnActorChange() {
#pragma pop
/* 800D2C78-800D2F58 0CD5B8 02E0+00 2/2 0/0 0/0 .text setCutJumpSpeed__9daAlink_cFi */
+// literals, and small issue with JMAFastSqrt instructions
+#ifdef NONMATCHING
+void daAlink_c::setCutJumpSpeed(int cut_type) {
+ if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
+ mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
+ mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
+ } else if (checkHeavyStateOn(1, 1)) {
+ mSpeed.y *= 1.35f;
+ }
+
+ // cut_type 0 = standing jump attack
+ if (mTargetedActor != NULL && cut_type == 0) {
+ mCollisionRot.y = cLib_targetAngleY(&mCurrent.mPosition, &mTargetedActor->mEyePos);
+ cXyz targetPos(mTargetedActor->mEyePos.x - (cM_ssin(mCollisionRot.y) * 70.0f),
+ mTargetedActor->mEyePos.y + 50.0f,
+ mTargetedActor->mEyePos.z - (cM_scos(mCollisionRot.y) * 70.0f));
+
+ if (fopAcM_gc_c::gndCheck(&targetPos)) {
+ targetPos.y = fopAcM_gc_c::getGroundY();
+ } else {
+ targetPos.y = mTargetedActor->mEyePos.y;
+ }
+
+ f32 dvar12 = mSpeed.y + mGravity;
+ f32 dvar10 = 1.0f / mGravity;
+ f32 fvar1 = targetPos.y - (mCurrent.mPosition.y - (dvar10 * (dvar12 * dvar12) * 0.5f));
+
+ if (fvar1 > 0.0f) {
+ fvar1 = 0.0f;
+ }
+ f32 sqrt = JMAFastSqrt(fvar1 * 2.0f * dvar10);
+ f32 speedDiv = sqrt - (dvar12 * dvar10);
+ f32 squareDist = mCurrent.mPosition.absXZ(targetPos);
+
+ if (squareDist > 500.0f) {
+ squareDist = 500.0f;
+ }
+ mNormalSpeed = squareDist / speedDiv;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -20672,6 +20574,7 @@ asm void daAlink_c::setCutJumpSpeed(int param_0) {
#include "asm/d/a/d_a_alink/setCutJumpSpeed__9daAlink_cFi.s"
}
#pragma pop
+#endif
/* 800D2F58-800D31B8 0CD898 0260+00 3/3 0/0 0/0 .text procCutNormalInit__9daAlink_cFi */
#pragma push
@@ -20776,24 +20679,63 @@ asm void daAlink_c::procCutReverse() {
#pragma pop
/* 800D42FC-800D43F8 0CEC3C 00FC+00 2/2 0/0 0/0 .text procCutJumpInit__9daAlink_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::procCutJumpInit(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/procCutJumpInit__9daAlink_cFi.s"
+bool daAlink_c::procCutJumpInit(int jump_type) {
+ commonProcInit(CUT_JUMP);
+ setSingleAnimeParam(ANM_CUT_JUMP, &daAlinkHIO_cutJump_c0::m.mCutAnm);
+ if (jump_type != 0) {
+ mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH;
+ mSpeed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV;
+ } else {
+ mNormalSpeed = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedH;
+ mSpeed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV;
+ }
+ setCutJumpSpeed(jump_type);
+ mCurrent.mAngle.y = mCollisionRot.y;
+ setSwordAtParam(dCcG_At_Spl_UNK_01, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius);
+ setCutType(TYPE_CUT_JUMP);
+ setSwordComboVoice();
+ dComIfGp_setPlayerStatus0(0, 0x8000);
+ field_0x3198 = 2;
+ return true;
}
-#pragma pop
/* 800D43F8-800D452C 0CED38 0134+00 1/0 0/0 0/0 .text procCutJump__9daAlink_cFv */
+#ifdef NONMATCHING
+bool daAlink_c::procCutJump() {
+ if (mCurrent.mAngle.y == mCollisionRot.y && changeCutReverseProc(ANM_CUT_JUMP)) {
+ mCurrent.mAngle.y += 0x8000;
+ mNormalSpeed = 27.0f;
+ cXyz xyz(0.0f, 1.0f, 0.0f);
+ dComIfGp_getVibration().StartShock(5, 31, xyz);
+ }
+ else if (mCurrent.mAngle.y != mCollisionRot.y) {
+ cLib_chaseF(&mNormalSpeed, 5.0f, 1.0f);
+ }
+
+ if (checkCutTurnInput()) {
+ field_0x3198 = getCutTurnDirection();
+ }
+ if (mLinkAcch.ChkGroundHit()) {
+ procCutJumpLandInit(field_0x3198);
+ }
+ else if (mFrameCtrl1[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) {
+ if (!i_checkNoResetFlg0(FLG0_UNK_40)) {
+ seStartSwordCut(Z2SE_AL_SWORD_SWING_L);
+ }
+ i_onResetFlg0(RFLG0_UNK_2);
+ }
+ return true;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::procCutJump() {
+asm bool daAlink_c::procCutJump() {
nofralloc
#include "asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 800D452C-800D4684 0CEE6C 0158+00 1/1 0/0 0/0 .text procCutJumpLandInit__9daAlink_cFi
*/
@@ -21584,7 +21526,7 @@ asm void daAlink_c::procCoSwimFreezeReturn() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkEnemyGroup(fopAc_ac_c* param_0) {
+asm BOOL daAlink_c::checkEnemyGroup(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkEnemyGroup__9daAlink_cFP10fopAc_ac_c.s"
}
@@ -21594,7 +21536,7 @@ asm void daAlink_c::checkEnemyGroup(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkSpecialNpc(fopAc_ac_c* param_0) {
+asm BOOL daAlink_c::checkSpecialNpc(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkSpecialNpc__9daAlink_cFP10fopAc_ac_c.s"
}
@@ -21614,7 +21556,7 @@ asm void daAlink_c::checkShieldAttackEmphasys() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkGuardActionChange() {
+asm BOOL daAlink_c::checkGuardActionChange() {
nofralloc
#include "asm/d/a/d_a_alink/checkGuardActionChange__9daAlink_cFv.s"
}
@@ -21681,21 +21623,43 @@ asm void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, cXyz const*
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkUpperGuardAnime() const {
+asm BOOL daAlink_c::checkUpperGuardAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperGuardAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 800DCE6C-800DCF04 0D77AC 0098+00 1/0 0/0 0/0 .text checkPlayerGuard__9daAlink_cCFv */
+#ifdef NONMATCHING
+BOOL daAlink_c::checkPlayerGuard() const {
+ bool ret = true;
+ bool bvar2 = true;
+ if (!i_checkSmallUpperGuardAnime()) {
+ bool bvar1 = false;
+ if (i_checkShieldGet() && checkHorseLieAnime()) {
+ bvar1 = true;
+ }
+ if (!bvar1) {
+ bvar2 = false;
+ }
+ }
+
+ if (!bvar2 && !checkUpperGuardAnime()) {
+ ret = false;
+ }
+
+ return ret;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm bool daAlink_c::checkPlayerGuard() const {
+asm BOOL daAlink_c::checkPlayerGuard() const {
nofralloc
#include "asm/d/a/d_a_alink/checkPlayerGuard__9daAlink_cCFv.s"
}
#pragma pop
+#endif
/* 800DCF04-800DCF64 0D7844 0060+00 5/5 0/0 0/0 .text checkPlayerGuardAndAttack__9daAlink_cCFv */
#pragma push
@@ -21895,7 +21859,7 @@ asm void daAlink_c::getArrowIncAtMax() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkBowAndSlingItem(int param_0) {
+asm BOOL daAlink_c::checkBowAndSlingItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkBowAndSlingItem__9daAlink_cFi.s"
}
@@ -22079,7 +22043,7 @@ asm void daAlink_c::setBowModel() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkBowGrabLeftHand() const {
+asm bool daAlink_c::checkBowGrabLeftHand() const {
nofralloc
#include "asm/d/a/d_a_alink/checkBowGrabLeftHand__9daAlink_cCFv.s"
}
@@ -22911,168 +22875,97 @@ asm void daAlink_c::procMagneBootsFly() {
/* 800E3760-800E3770 0DE0A0 0010+00 0/0 0/0 7/7 .text getBombExplodeTime__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombExplodeTime() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombExplodeTime__9daAlink_cCFv.s"
+s16 daAlink_c::getBombExplodeTime() const {
+ return daAlinkHIO_bomb_c0::m.mExplodeTime;
}
-#pragma pop
/* 800E3770-800E3780 0DE0B0 0010+00 0/0 0/0 2/2 .text getBombGravity__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombGravity() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombGravity__9daAlink_cCFv.s"
+f32 daAlink_c::getBombGravity() const {
+ return daAlinkHIO_bomb_c0::m.mGravity;
}
-#pragma pop
/* 800E3780-800E3790 0DE0C0 0010+00 0/0 0/0 2/2 .text getBombMaxFallSpeed__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombMaxFallSpeed() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombMaxFallSpeed__9daAlink_cCFv.s"
+f32 daAlink_c::getBombMaxFallSpeed() const {
+ return daAlinkHIO_bomb_c0::m.mMaxFallSpeed;
}
-#pragma pop
/* 800E3790-800E37A0 0DE0D0 0010+00 0/0 0/0 1/1 .text getBombBoundRate__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombBoundRate() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombBoundRate__9daAlink_cCFv.s"
+f32 daAlink_c::getBombBoundRate() const {
+ return daAlinkHIO_bomb_c0::m.mBoundRate;
}
-#pragma pop
/* 800E37A0-800E37B0 0DE0E0 0010+00 0/0 0/0 1/1 .text getBombStopSpeedY__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombStopSpeedY() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombStopSpeedY__9daAlink_cCFv.s"
+f32 daAlink_c::getBombStopSpeedY() const {
+ return daAlinkHIO_bomb_c0::m.mStopSpeedY;
}
-#pragma pop
/* 800E37B0-800E37C0 0DE0F0 0010+00 0/0 0/0 1/1 .text getBombMaxSpeedY__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombMaxSpeedY() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombMaxSpeedY__9daAlink_cCFv.s"
+f32 daAlink_c::getBombMaxSpeedY() const {
+ return daAlinkHIO_bomb_c0::m.mMaxSpeedY;
}
-#pragma pop
/* 800E37C0-800E37D0 0DE100 0010+00 0/0 0/0 1/1 .text getBombEffScale__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombEffScale() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombEffScale__9daAlink_cCFv.s"
+f32 daAlink_c::getBombEffScale() const {
+ return daAlinkHIO_bomb_c0::m.mEffScale;
}
-#pragma pop
/* 800E37D0-800E37E0 0DE110 0010+00 0/0 0/0 1/1 .text getBombAtR__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombAtR() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombAtR__9daAlink_cCFv.s"
+f32 daAlink_c::getBombAtR() const {
+ return daAlinkHIO_bomb_c0::m.mAtRadius;
}
-#pragma pop
/* 800E37E0-800E37F0 0DE120 0010+00 0/0 0/0 1/1 .text getEnemyBombColorR__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getEnemyBombColorR() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getEnemyBombColorR__9daAlink_cCFv.s"
+s16 daAlink_c::getEnemyBombColorR() const {
+ return daAlinkHIO_bomb_c0::m.mEnemyBombColorR;
}
-#pragma pop
/* 800E37F0-800E3800 0DE130 0010+00 0/0 0/0 2/2 .text getBombWaterGravity__9daAlink_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombWaterGravity() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombWaterGravity__9daAlink_cCFv.s"
+f32 daAlink_c::getBombWaterGravity() const {
+ return daAlinkHIO_bomb_c0::m.mWaterGravity;
}
-#pragma pop
/* 800E3800-800E3810 0DE140 0010+00 0/0 0/0 2/2 .text getBombWaterMaxFallSpeed__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombWaterMaxFallSpeed() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombWaterMaxFallSpeed__9daAlink_cCFv.s"
+f32 daAlink_c::getBombWaterMaxFallSpeed() const {
+ return daAlinkHIO_bomb_c0::m.mWaterMaxFallSpeed;
}
-#pragma pop
/* 800E3810-800E3820 0DE150 0010+00 0/0 0/0 1/1 .text
* getBombExplodeWaterEffectLimit__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombExplodeWaterEffectLimit() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombExplodeWaterEffectLimit__9daAlink_cCFv.s"
+f32 daAlink_c::getBombExplodeWaterEffectLimit() const {
+ return daAlinkHIO_bomb_c0::m.mExplodeWaterEffectLimit;
}
-#pragma pop
/* 800E3820-800E3830 0DE160 0010+00 0/0 0/0 1/1 .text getBombInsectLimitAngle__9daAlink_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getBombInsectLimitAngle() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBombInsectLimitAngle__9daAlink_cCFv.s"
+s16 daAlink_c::getBombInsectLimitAngle() const {
+ return daAlinkHIO_bomb_c0::m.mBombInsectLimitAngle;
}
-#pragma pop
/* 800E3830-800E3858 0DE170 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallA__FP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daAlink_checkLightBallA(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/daAlink_checkLightBallA__FP10fopAc_ac_c.s"
+static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) {
+ if (fopAcM_GetName(p_actor) == 0x2FC && static_cast<daObjCarry_c*>(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S) {
+ return true;
+ }
+ return false;
}
-#pragma pop
/* 800E3858-800E3880 0DE198 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallB__FP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daAlink_checkLightBallB(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/daAlink_checkLightBallB__FP10fopAc_ac_c.s"
+static bool daAlink_checkLightBallB(fopAc_ac_c* p_actor) {
+ if (fopAcM_GetName(p_actor) == 0x2FC && static_cast<daObjCarry_c*>(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S_2) {
+ return true;
+ }
+ return false;
}
-#pragma pop
/* 800E3880-800E38EC 0DE1C0 006C+00 1/1 0/0 0/0 .text daAlink_searchLightBall__FP10fopAc_ac_cPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daAlink_searchLightBall(fopAc_ac_c* param_0, void* param_1) {
- nofralloc
-#include "asm/d/a/d_a_alink/daAlink_searchLightBall__FP10fopAc_ac_cPv.s"
+static fopAc_ac_c* daAlink_searchLightBall(fopAc_ac_c* p_actor, void* param_1) {
+ if ((daPy_py_c::checkCarryStartLightBallA() && daAlink_checkLightBallA(p_actor)) || (daPy_py_c::checkCarryStartLightBallB() && daAlink_checkLightBallB(p_actor))) {
+ return p_actor;
+ }
+ return NULL;
}
-#pragma pop
/* 800E38EC-800E3994 0DE22C 00A8+00 1/1 0/0 0/0 .text checkGrabLineCheck__9daAlink_cFv */
#pragma push
@@ -23097,24 +22990,38 @@ asm void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyIn
/* 800E3A14-800E3A9C 0DE354 0088+00 1/0 0/0 0/0 .text exchangeGrabActor__9daAlink_cFP10fopAc_ac_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::exchangeGrabActor(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/exchangeGrabActor__9daAlink_cFP10fopAc_ac_c.s"
+bool daAlink_c::exchangeGrabActor(fopAc_ac_c* p_actor) {
+ fopAc_ac_c* actor = mGrabItemActor.getActor();
+
+ if (actor == NULL) {
+ return false;
+ }
+
+ fopAcM_cancelCarryNow(actor);
+ actor->mCollisionRot.z = 0;
+ actor->mCollisionRot.x = 0;
+ if (checkGrabCarryActor()) {
+ actor->mCurrent.mAngle.z = 0;
+ actor->mCurrent.mAngle.x = 0;
+ }
+ setGrabItemActor(p_actor);
+ return true;
}
-#pragma pop
/* 800E3A9C-800E3BCC 0DE3DC 0130+00 1/0 0/0 0/0 .text setForceGrab__9daAlink_cFP10fopAc_ac_cii */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::setForceGrab(fopAc_ac_c* param_0, int param_1, int param_2) {
- nofralloc
-#include "asm/d/a/d_a_alink/setForceGrab__9daAlink_cFP10fopAc_ac_cii.s"
+bool daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) {
+ if (((param_1 != 0 || !checkEventRun()) && !i_checkWolf()) &&
+ (((mEquipItem == NO_ITEM || (param_2 != 0 && checkHookshotItem(mEquipItem)))) &&
+ ((i_checkModeFlg(MODE_UNK_10000000) && (checkHorseNoUpperAnime() || checkHorseTurnAnime())) ||
+ param_2 != 0 && checkHookshotAnime()))) {
+ deleteEquipItem(1, 0);
+ setGrabItemActor(p_actor);
+ field_0x33e4 = lit_8785;
+ setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
+ return true;
+ }
+ return false;
}
-#pragma pop
/* 800E3BCC-800E3C1C 0DE50C 0050+00 2/2 0/0 0/0 .text getGrabThrowRate__9daAlink_cFv */
#pragma push
@@ -23162,7 +23069,7 @@ asm void daAlink_c::checkGrabAnimeAndThrow() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkGrabCarryActor() {
+asm BOOL daAlink_c::checkGrabCarryActor() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabCarryActor__9daAlink_cFv.s"
}
@@ -23700,14 +23607,19 @@ asm void daAlink_c::setFmChainPosFromOut(fopAc_ac_c* param_0, cXyz* param_1, int
#pragma pop
/* 800E7BD0-800E7C30 0E2510 0060+00 1/0 0/0 0/0 .text checkChainBlockPushPull__9daAlink_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkChainBlockPushPull() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkChainBlockPushPull__9daAlink_cFv.s"
+bool daAlink_c::checkChainBlockPushPull() {
+ if (i_checkFmChainGrabAnime()) {
+ fopAc_ac_c* actor = field_0x2844.getActor();
+ if (actor != NULL) {
+ s16 name = fopAcM_GetName(actor);
+ // actor is Cblock || chainSw || Cwall
+ if (name == 0x7E || name == 0x16F || name == 0x7F) {
+ return true;
+ }
+ }
+ }
+ return false;
}
-#pragma pop
/* 800E7C30-800E7CC0 0E2570 0090+00 2/2 0/0 0/0 .text procFmChainUpInit__9daAlink_cFv */
#pragma push
@@ -23815,10 +23727,10 @@ asm void daAlink_c::checkPullBehindWall() {
/* 800E8298-800E82B0 0E2BD8 0018+00 3/3 0/0 0/0 .text offGoatStopGame__9daAlink_cFv */
void daAlink_c::offGoatStopGame() {
- if (field_0x560[0xA] != 0x2a) {
+ if (mSpecialMode != SMODE_GOAT_STOP) {
return;
} else {
- field_0x560[0xA] = 0;
+ mSpecialMode = 0;
}
}
@@ -24057,8 +23969,8 @@ asm void daAlink_c::checkSumouVsActor() {
/* 800EA8D0-800EA908 0E5210 0038+00 5/5 0/0 0/0 .text cancelSumouMode__9daAlink_cFv */
void daAlink_c::cancelSumouMode() {
- field_0x2854.clearData();
- field_0x560[0xA] = 0;
+ mCargoCarryActor.clearData();
+ mSpecialMode = 0;
}
/* 800EA908-800EA92C 0E5248 0024+00 2/2 0/0 0/0 .text sumouPunchTrigger__9daAlink_cFv */
@@ -24386,7 +24298,7 @@ asm void daAlink_c::getReinHandType() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkHorseLieAnime() const {
+asm BOOL daAlink_c::checkHorseLieAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseLieAnime__9daAlink_cCFv.s"
}
@@ -24427,7 +24339,7 @@ asm void daAlink_c::setHorseTurnUpperAnime(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkHorseNoUpperAnime() const {
+asm BOOL daAlink_c::checkHorseNoUpperAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseNoUpperAnime__9daAlink_cCFv.s"
}
@@ -27970,7 +27882,8 @@ asm void daAlink_c::procBoardCutTurn() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::hsChainShape_c::draw() {
+extern "C" asm void draw__Q29daAlink_c14hsChainShape_cFv() {
+// asm void daAlink_c::hsChainShape_c::draw() {
nofralloc
#include "asm/d/a/d_a_alink/draw__Q29daAlink_c14hsChainShape_cFv.s"
}
@@ -29652,7 +29565,7 @@ asm void daAlink_c::procIronBallReturn() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkEventRun() const {
+asm BOOL daAlink_c::checkEventRun() const {
nofralloc
#include "asm/d/a/d_a_alink/checkEventRun__9daAlink_cCFv.s"
}
@@ -30739,10 +30652,10 @@ asm void daAlink_c::procGanonFinishInit() {
/* 8011EA78-8011EAE8 1193B8 0070+00 1/0 0/0 0/0 .text procGanonFinish__9daAlink_cFv */
bool daAlink_c::procGanonFinish() {
- i_onEndResetFlg1(GanonFinish);
+ i_onEndResetFlg1(GANON_FINISH);
mCurrent.mPosition = field_0x37c8;
if (mFrameCtrl1[0].checkAnmEnd()) {
- setSingleAnimeBaseMorf(GANON_FINISH, lit_6041);
+ setSingleAnimeBaseMorf(ANM_GANON_FINISH, lit_6041);
}
return true;
}
@@ -30815,7 +30728,7 @@ asm void daAlink_c::procMasterSwordPull() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkLv7DungeonShop() {
+asm BOOL daAlink_c::checkLv7DungeonShop() {
nofralloc
#include "asm/d/a/d_a_alink/checkLv7DungeonShop__9daAlink_cFv.s"
}
@@ -31831,7 +31744,7 @@ asm void daAlink_c::checkWolfAtnWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM param_0) const {
+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"
}
@@ -32763,6 +32676,22 @@ asm void daObj_Sekizoa_c::setWolfHowling() {
#pragma pop
/* 80131408-80131450 12BD48 0048+00 1/0 0/0 0/0 .text checkWolfRope__9daAlink_cFv */
+#ifdef NONMATCHING
+bool daAlink_c::checkWolfRope() {
+ bool ret = false;
+ bool bvar1 = false;
+
+ if (i_checkModeFlg(MODE_UNK_20000) && field_0x280c.getActor() != NULL) {
+ bvar1 = true;
+ }
+
+ // actor is Crope
+ if (bvar1 && fopAcM_GetName(field_0x280c.getActor()) == 0x2BE) {
+ ret = true;
+ }
+ return ret;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -32771,6 +32700,7 @@ asm bool daAlink_c::checkWolfRope() {
#include "asm/d/a/d_a_alink/checkWolfRope__9daAlink_cFv.s"
}
#pragma pop
+#endif
/* 80131450-80131628 12BD90 01D8+00 2/2 0/0 0/0 .text
* checkWolfRopeHit__9daAlink_cCFP12dCcD_GObjInfPC4cXyzi */
@@ -33579,35 +33509,35 @@ asm void daAlink_c::checkWolfLockData() {
#pragma pop
/* 8013911C-8013916C 133A5C 0050+00 1/0 0/0 0/0 .text checkWolfLock__9daAlink_cCFP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::checkWolfLock(fopAc_ac_c* param_0) const {
- nofralloc
-#include "asm/d/a/d_a_alink/checkWolfLock__9daAlink_cCFP10fopAc_ac_c.s"
+bool daAlink_c::checkWolfLock(fopAc_ac_c* p_actor) const {
+ u32 id = fopAcM_GetID(p_actor);
+
+ for (int i = 0; i < mWolfLockNum; i++) {
+ if (id == mWolfLockAcKeep[i].getID()) {
+ return true;
+ }
+ }
+ return false;
}
-#pragma pop
/* 8013916C-801391DC 133AAC 0070+00 1/0 0/0 0/0 .text cancelWolfLock__9daAlink_cFP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool daAlink_c::cancelWolfLock(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/cancelWolfLock__9daAlink_cFP10fopAc_ac_c.s"
+bool daAlink_c::cancelWolfLock(fopAc_ac_c* p_actor) {
+ u32 id = fopAcM_GetID(p_actor);
+
+ for (int i = 0; i < mWolfLockNum; i++) {
+ if (id == mWolfLockAcKeep[i].getID()) {
+ mWolfLockAcKeep[i].clearData();
+ return true;
+ }
+ }
+ return false;
}
-#pragma pop
/* 801391DC-801391E4 133B1C 0008+00 0/0 0/0 1/1 .text getWolfLockActorEnd__9daAlink_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daAlink_c::getWolfLockActorEnd() {
- nofralloc
-#include "asm/d/a/d_a_alink/getWolfLockActorEnd__9daAlink_cFv.s"
+fopAc_ac_c* daAlink_c::getWolfLockActorEnd() {
+ return mWolfLockAcKeep[0].getActor();
}
-#pragma pop
/* 801391E4-801392A8 133B24 00C4+00 1/1 0/0 0/0 .text
* searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv */
@@ -34718,14 +34648,9 @@ asm void dEvt_info_c::offCondition(u16 param_0) {
#pragma pop
/* 80141210-80141230 13BB50 0020+00 1/1 0/0 0/0 .text checkShieldGet__9daPy_py_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daPy_py_c::checkShieldGet() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkShieldGet__9daPy_py_cFv.s"
+BOOL daPy_py_c::checkShieldGet() {
+ return dComIfGs_getSelectEquipShield() != NO_ITEM;
}
-#pragma pop
/* 80141230-80141264 13BB70 0034+00 1/1 0/0 0/0 .text fopAcM_onSwitch__FPC10fopAc_ac_ci
*/
@@ -34767,7 +34692,7 @@ static asm void dComIfGp_getStage() {
/* 801412B0-801412BC 13BBF0 000C+00 1/1 0/0 0/0 .text checkEquipHeavyBoots__9daPy_py_cCFv
*/
BOOL daPy_py_c::checkEquipHeavyBoots() const {
- return i_checkNoResetFlg0(EquipHeavyBoots);
+ return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS);
}
/* 801412BC-801412C4 13BBFC 0008+00 1/1 4/4 0/0 .text fopAcM_GetName__FPv */
@@ -34886,29 +34811,19 @@ asm bool dEvt_info_c::checkCommandCatch() {
#pragma pop
/* 8014139C-801413CC 13BCDC 0030+00 1/1 1/1 0/0 .text dComIfGs_isEventBit__FUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm BOOL dComIfGs_isEventBit(u16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/dComIfGs_isEventBit__FUs.s"
+BOOL dComIfGs_isEventBit(u16 id) {
+ return g_dComIfG_gameInfo.info.getEvent().isEventBit(id);
}
-#pragma pop
/* 801413CC-801413D8 13BD0C 000C+00 1/1 0/0 0/0 .text checkWolf__9daPy_py_cCFv */
int daPy_py_c::checkWolf() const {
- return i_checkNoResetFlg1(Wolf);
+ return i_checkNoResetFlg1(IS_WOLF);
}
/* 801413D8-801413F8 13BD18 0020+00 1/1 0/0 0/0 .text checkSwordGet__9daPy_py_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daPy_py_c::checkSwordGet() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkSwordGet__9daPy_py_cFv.s"
+BOOL daPy_py_c::checkSwordGet() {
+ return dComIfGs_getSelectEquipSword() != 0xFF;
}
-#pragma pop
/* 801413F8-80141404 13BD38 000C+00 1/1 0/0 0/0 .text
* checkResetFlg0__9daPy_py_cCFQ29daPy_py_c10daPy_RFLG0 */
@@ -34928,6 +34843,11 @@ int daPy_py_c::checkNoResetFlg0(daPy_FLG0 pFlag) const {
}
/* 8014141C-80141438 13BD5C 001C+00 1/1 0/0 0/0 .text dComIfGp_getPlayerCameraID__Fi */
+#ifdef NONMATCHING
+static s32 dComIfGp_getPlayerCameraID(int i) {
+ return g_dComIfG_gameInfo.play.getPlayerCameraID(i);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -34936,48 +34856,29 @@ static asm void dComIfGp_getPlayerCameraID(int param_0) {
#include "asm/d/a/d_a_alink/dComIfGp_getPlayerCameraID__Fi.s"
}
#pragma pop
+#endif
/* 80141438-80141450 13BD78 0018+00 1/1 0/0 0/0 .text dComIfGp_event_chkEventFlag__FUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dComIfGp_event_chkEventFlag(u16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_alink/dComIfGp_event_chkEventFlag__FUs.s"
+static u16 dComIfGp_event_chkEventFlag(u16 flag) {
+ return g_dComIfG_gameInfo.play.getEvent().chkEventFlag(flag);
}
-#pragma pop
/* 80141450-80141464 13BD90 0014+00 1/1 0/0 0/0 .text checkCommandDoor__11dEvt_info_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool dEvt_info_c::checkCommandDoor() {
- nofralloc
-#include "asm/d/a/d_a_alink/checkCommandDoor__11dEvt_info_cFv.s"
+BOOL dEvt_info_c::checkCommandDoor() {
+ return mCommand == 3;
}
-#pragma pop
/* 80141464-801414A4 13BDA4 0040+00 1/1 0/0 0/0 .text
* dComIfGp_evmng_getMyStaffId__FPCcP10fopAc_ac_ci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dComIfGp_evmng_getMyStaffId(char const* param_0, fopAc_ac_c* param_1, int param_2) {
- nofralloc
-#include "asm/d/a/d_a_alink/dComIfGp_evmng_getMyStaffId__FPCcP10fopAc_ac_ci.s"
+static s32 dComIfGp_evmng_getMyStaffId(char const* param_0, fopAc_ac_c* param_1, int param_2) {
+ return dComIfGp_getPEvtManager()->getMyStaffId(param_0, param_1, param_2);
}
-#pragma pop
/* 801414A4-801414C0 13BDE4 001C+00 1/1 0/0 0/0 .text dComIfGp_event_runCheck__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dComIfGp_event_runCheck() {
- nofralloc
-#include "asm/d/a/d_a_alink/dComIfGp_event_runCheck__Fv.s"
+static BOOL dComIfGp_event_runCheck() {
+ return g_dComIfG_gameInfo.play.getEvent().runCheck();
}
-#pragma pop
/* 801414C0-801414CC 13BE00 000C+00 1/1 0/0 0/0 .text
* checkNoResetFlg2__9daPy_py_cCFQ29daPy_py_c9daPy_FLG2 */
@@ -34987,22 +34888,17 @@ int daPy_py_c::checkNoResetFlg2(daPy_FLG2 pFlag) const {
/* 801414CC-801414D8 13BE0C 000C+00 1/1 2/2 0/0 .text checkMagneBootsOn__9daPy_py_cCFv */
int daPy_py_c::checkMagneBootsOn() const {
- return i_checkNoResetFlg0(MagneBootsOn);
+ return i_checkNoResetFlg0(MAGNE_BOOTS_ON);
}
/* 801414D8-801414E8 13BE18 0010+00 1/1 2/2 0/0 .text dComIfGp_getHorseActor__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGp_getHorseActor() {
- nofralloc
-#include "asm/d/a/d_a_alink/dComIfGp_getHorseActor__Fv.s"
+daHorse_c* dComIfGp_getHorseActor() {
+ return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1);
}
-#pragma pop
/* 801414E8-801414F4 13BE28 000C+00 1/1 0/0 0/0 .text checkBoarSingleBattle__9daPy_py_cCFv */
int daPy_py_c::checkBoarSingleBattle() const {
- return i_checkNoResetFlg2(BoarSingleBattle);
+ return i_checkNoResetFlg2(BOAR_SINGLE_BATTLE);
}
/* 801414F4-80141500 13BE34 000C+00 1/1 0/0 0/0 .text
@@ -35024,12 +34920,12 @@ void daPy_py_c::setMidnaMsgNum(fopAc_ac_c* param_0, u16 param_1) {
}
/* 8014150C-80141514 13BE4C 0008+00 1/0 0/0 0/0 .text getModelMtx__9daPy_py_cFv */
-Mtx* daPy_py_c::getModelMtx() {
+MtxP daPy_py_c::getModelMtx() {
return mCullMtx;
}
/* 80141514-8014151C 13BE54 0008+00 1/0 0/0 0/0 .text getInvMtx__9daPy_py_cFv */
-Mtx* daPy_py_c::getInvMtx() {
+MtxP daPy_py_c::getInvMtx() {
return mCullMtx;
}
@@ -35040,52 +34936,52 @@ cXyz* daPy_py_c::getShadowTalkAtnPos() {
}
/* 80141524-8014152C 13BE64 0008+00 1/0 0/0 0/0 .text getLeftItemMatrix__9daPy_py_cFv */
-Mtx* daPy_py_c::getLeftItemMatrix() {
+MtxP daPy_py_c::getLeftItemMatrix() {
return mCullMtx;
}
/* 8014152C-80141534 13BE6C 0008+00 1/0 0/0 0/0 .text getRightItemMatrix__9daPy_py_cFv */
-Mtx* daPy_py_c::getRightItemMatrix() {
+MtxP daPy_py_c::getRightItemMatrix() {
return mCullMtx;
}
/* 80141534-8014153C 13BE74 0008+00 1/0 0/0 0/0 .text getLeftHandMatrix__9daPy_py_cFv */
-Mtx* daPy_py_c::getLeftHandMatrix() {
+MtxP daPy_py_c::getLeftHandMatrix() {
return mCullMtx;
}
/* 8014153C-80141544 13BE7C 0008+00 1/0 0/0 0/0 .text getRightHandMatrix__9daPy_py_cFv */
-Mtx* daPy_py_c::getRightHandMatrix() {
+MtxP daPy_py_c::getRightHandMatrix() {
return mCullMtx;
}
/* 80141544-8014154C 13BE84 0008+00 1/0 0/0 0/0 .text getLinkBackBone1Matrix__9daPy_py_cFv */
-Mtx* daPy_py_c::getLinkBackBone1Matrix() {
+MtxP daPy_py_c::getLinkBackBone1Matrix() {
return mCullMtx;
}
/* 8014154C-80141554 13BE8C 0008+00 1/0 0/0 0/0 .text getWolfMouthMatrix__9daPy_py_cFv */
-Mtx* daPy_py_c::getWolfMouthMatrix() {
+MtxP daPy_py_c::getWolfMouthMatrix() {
return mCullMtx;
}
/* 80141554-8014155C 13BE94 0008+00 1/0 0/0 0/0 .text getWolfBackbone2Matrix__9daPy_py_cFv */
-Mtx* daPy_py_c::getWolfBackbone2Matrix() {
+MtxP daPy_py_c::getWolfBackbone2Matrix() {
return mCullMtx;
}
/* 8014155C-80141564 13BE9C 0008+00 1/0 0/0 0/0 .text getBottleMtx__9daPy_py_cFv */
-bool daPy_py_c::getBottleMtx() {
- return false;
+MtxP daPy_py_c::getBottleMtx() {
+ return NULL;
}
/* 80141564-8014156C 13BEA4 0008+00 1/0 0/0 0/0 .text checkPlayerGuard__9daPy_py_cCFv */
-bool daPy_py_c::checkPlayerGuard() const {
+BOOL daPy_py_c::checkPlayerGuard() const {
return false;
}
/* 8014156C-80141574 13BEAC 0008+00 1/0 0/0 0/0 .text checkAutoJump__9daPy_py_cCFv */
-bool daPy_py_c::checkAutoJump() const {
+BOOL daPy_py_c::checkAutoJump() const {
return false;
}
@@ -35102,7 +34998,7 @@ bool daPy_py_c::checkWolfTriggerJump() const {
/* 80141584-8014158C 13BEC4 0008+00 1/0 0/0 0/0 .text checkGuardBreakMode__9daPy_py_cCFv
*/
-bool daPy_py_c::checkGuardBreakMode() const {
+BOOL daPy_py_c::checkGuardBreakMode() const {
return false;
}
@@ -35122,45 +35018,45 @@ bool daPy_py_c::checkChainBlockPushPull() {
}
/* 801415A4-801415AC 13BEE4 0008+00 1/0 0/0 0/0 .text checkElecDamage__9daPy_py_cCFv */
-bool daPy_py_c::checkElecDamage() const {
+BOOL daPy_py_c::checkElecDamage() const {
return false;
}
/* 801415AC-801415B4 13BEEC 0008+00 1/0 0/0 0/0 .text checkEmptyBottleSwing__9daPy_py_cCFv */
-bool daPy_py_c::checkEmptyBottleSwing() const {
+BOOL daPy_py_c::checkEmptyBottleSwing() const {
return false;
}
/* 801415B4-801415BC 13BEF4 0008+00 1/0 0/0 0/0 .text checkBottleSwingMode__9daPy_py_cCFv
*/
-bool daPy_py_c::checkBottleSwingMode() const {
+BOOL daPy_py_c::checkBottleSwingMode() const {
return false;
}
/* 801415BC-801415C4 13BEFC 0008+00 1/0 0/0 0/0 .text checkHawkWait__9daPy_py_cCFv */
-bool daPy_py_c::checkHawkWait() const {
+BOOL daPy_py_c::checkHawkWait() const {
return false;
}
/* 801415C4-801415CC 13BF04 0008+00 1/0 0/0 0/0 .text checkGoatThrow__9daPy_py_cCFv */
-bool daPy_py_c::checkGoatThrow() const {
+BOOL daPy_py_c::checkGoatThrow() const {
return false;
}
/* 801415CC-801415D4 13BF0C 0008+00 1/0 0/0 0/0 .text checkGoatThrowAfter__9daPy_py_cCFv
*/
-bool daPy_py_c::checkGoatThrowAfter() const {
+BOOL daPy_py_c::checkGoatThrowAfter() const {
return false;
}
/* 801415D4-801415DC 13BF14 0008+00 1/0 0/0 0/0 .text checkWolfTagLockJump__9daPy_py_cCFv
*/
-bool daPy_py_c::checkWolfTagLockJump() const {
+BOOL daPy_py_c::checkWolfTagLockJump() const {
return false;
}
/* 801415DC-801415E4 13BF1C 0008+00 1/0 0/0 0/0 .text checkWolfTagLockJumpLand__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfTagLockJumpLand() const {
+BOOL daPy_py_c::checkWolfTagLockJumpLand() const {
return false;
}
@@ -35170,39 +35066,39 @@ bool daPy_py_c::checkWolfRope() {
}
/* 801415EC-801415F4 13BF2C 0008+00 1/0 0/0 0/0 .text checkWolfRopeHang__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfRopeHang() const {
+BOOL daPy_py_c::checkWolfRopeHang() const {
return false;
}
/* 801415F4-801415FC 13BF34 0008+00 1/0 0/0 0/0 .text checkRollJump__9daPy_py_cCFv */
-bool daPy_py_c::checkRollJump() const {
+BOOL daPy_py_c::checkRollJump() const {
return false;
}
/* 801415FC-80141604 13BF3C 0008+00 1/0 0/0 0/0 .text checkGoronRideWait__9daPy_py_cCFv
*/
-bool daPy_py_c::checkGoronRideWait() const {
+BOOL daPy_py_c::checkGoronRideWait() const {
return false;
}
/* 80141604-8014160C 13BF44 0008+00 1/0 0/0 0/0 .text checkWolfChain__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfChain() const {
+BOOL daPy_py_c::checkWolfChain() const {
return false;
}
/* 8014160C-80141614 13BF4C 0008+00 1/0 0/0 0/0 .text checkWolfWait__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfWait() const {
+BOOL daPy_py_c::checkWolfWait() const {
return false;
}
/* 80141614-8014161C 13BF54 0008+00 1/0 0/0 0/0 .text checkWolfJumpAttack__9daPy_py_cCFv
*/
-bool daPy_py_c::checkWolfJumpAttack() const {
+BOOL daPy_py_c::checkWolfJumpAttack() const {
return false;
}
/* 8014161C-80141624 13BF5C 0008+00 1/0 0/0 0/0 .text checkWolfRSit__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfRSit() const {
+BOOL daPy_py_c::checkWolfRSit() const {
return false;
}
@@ -35213,28 +35109,28 @@ bool daPy_py_c::checkBubbleFly() const {
/* 8014162C-80141634 13BF6C 0008+00 1/0 0/0 0/0 .text checkBottleDrinkEnd__9daPy_py_cCFv
*/
-bool daPy_py_c::checkBottleDrinkEnd() const {
+BOOL daPy_py_c::checkBottleDrinkEnd() const {
return false;
}
/* 80141634-8014163C 13BF74 0008+00 1/0 0/0 0/0 .text checkWolfDig__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfDig() const {
+BOOL daPy_py_c::checkWolfDig() const {
return false;
}
/* 8014163C-80141644 13BF7C 0008+00 1/0 0/0 0/0 .text checkCutCharge__9daPy_py_cCFv */
-bool daPy_py_c::checkCutCharge() const {
+BOOL daPy_py_c::checkCutCharge() const {
return false;
}
/* 80141644-8014164C 13BF84 0008+00 1/0 0/0 0/0 .text checkCutTurnCharge__9daPy_py_cCFv
*/
-bool daPy_py_c::checkCutTurnCharge() const {
+BOOL daPy_py_c::checkCutTurnCharge() const {
return false;
}
/* 8014164C-80141654 13BF8C 0008+00 1/0 0/0 0/0 .text checkCutLargeJumpCharge__9daPy_py_cCFv */
-bool daPy_py_c::checkCutLargeJumpCharge() const {
+BOOL daPy_py_c::checkCutLargeJumpCharge() const {
return false;
}
@@ -35245,22 +35141,22 @@ bool daPy_py_c::getBokoFlamePos(cXyz* param_0) {
}
/* 8014165C-80141664 13BF9C 0008+00 1/0 0/0 0/0 .text checkComboCutTurn__9daPy_py_cCFv */
-bool daPy_py_c::checkComboCutTurn() const {
+BOOL daPy_py_c::checkComboCutTurn() const {
return false;
}
/* 80141664-8014166C 13BFA4 0008+00 1/0 0/0 0/0 .text checkClimbMove__9daPy_py_cCFv */
-bool daPy_py_c::checkClimbMove() const {
+BOOL daPy_py_c::checkClimbMove() const {
return false;
}
/* 8014166C-80141674 13BFAC 0008+00 1/0 0/0 0/0 .text checkGrassWhistle__9daPy_py_cCFv */
-bool daPy_py_c::checkGrassWhistle() const {
+BOOL daPy_py_c::checkGrassWhistle() const {
return false;
}
/* 80141674-8014167C 13BFB4 0008+00 1/0 0/0 0/0 .text checkBoarRun__9daPy_py_cCFv */
-bool daPy_py_c::checkBoarRun() const {
+BOOL daPy_py_c::checkBoarRun() const {
return false;
}
@@ -35281,14 +35177,9 @@ float daPy_py_c::getBaseAnimeFrameRate() const {
}
/* 80141694-8014169C 13BFD4 0008+00 1/0 0/0 0/0 .text getBaseAnimeFrame__9daPy_py_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm float daPy_py_c::getBaseAnimeFrame() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getBaseAnimeFrame__9daPy_py_cCFv.s"
+f32 daPy_py_c::getBaseAnimeFrame() const {
+ return FLOAT_LABEL(lit_6108);
}
-#pragma pop
/* 8014169C-801416A0 13BFDC 0004+00 1/0 0/0 0/0 .text setAnimeFrame__9daPy_py_cFf */
void daPy_py_c::setAnimeFrame(f32 param_0) {
@@ -35369,13 +35260,13 @@ void daPy_py_c::onMagneGrab(f32 param_0, f32 param_1) {
}
/* 801416F4-801416FC 13C034 0008+00 1/0 0/0 0/0 .text getModelJointMtx__9daPy_py_cFUs */
-bool daPy_py_c::getModelJointMtx(u16 param_0) {
- return false;
+MtxP daPy_py_c::getModelJointMtx(u16 param_0) {
+ return NULL;
}
/* 801416FC-80141704 13C03C 0008+00 1/0 0/0 0/0 .text getHeadMtx__9daPy_py_cFv */
-bool daPy_py_c::getHeadMtx() {
- return false;
+MtxP daPy_py_c::getHeadMtx() {
+ return NULL;
}
/* 80141704-8014170C 13C044 0008+00 1/0 0/0 0/0 .text setHookshotCarryOffset__9daPy_py_cFUiPC4cXyz
@@ -35397,7 +35288,7 @@ bool daPy_py_c::checkIronBallGroundStop() const {
/* 8014171C-80141724 13C05C 0008+00 1/0 0/0 0/0 .text
* checkSingleBoarBattleSecondBowReady__9daPy_py_cCFv */
-bool daPy_py_c::checkSingleBoarBattleSecondBowReady() const {
+BOOL daPy_py_c::checkSingleBoarBattleSecondBowReady() const {
return false;
}
@@ -35485,12 +35376,12 @@ void daPy_py_c::onSceneChangeDead(u8 param_0, int param_1) {
}
/* 80141770-80141778 13C0B0 0008+00 1/0 0/0 0/0 .text getSpinnerActor__9daPy_py_cFv */
-bool daPy_py_c::getSpinnerActor() {
- return false;
+fopAc_ac_c* daPy_py_c::getSpinnerActor() {
+ return NULL;
}
/* 80141778-80141780 13C0B8 0008+00 1/0 0/0 0/0 .text checkHorseRideNotReady__9daPy_py_cCFv */
-bool daPy_py_c::checkHorseRideNotReady() const {
+BOOL daPy_py_c::checkHorseRideNotReady() const {
return false;
}
@@ -35502,18 +35393,13 @@ bool daPy_py_c::checkArrowChargeEnd() const {
/* 80141788-80141790 13C0C8 0008+00 1/0 0/0 0/0 .text getSearchBallScale__9daPy_py_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daPy_py_c::getSearchBallScale() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getSearchBallScale__9daPy_py_cCFv.s"
+f32 daPy_py_c::getSearchBallScale() const {
+ return FLOAT_LABEL(lit_6108);
}
-#pragma pop
/* 80141790-80141798 13C0D0 0008+00 1/0 0/0 0/0 .text checkFastShotTime__9daPy_py_cFv */
-bool daPy_py_c::checkFastShotTime() {
- return false;
+s16 daPy_py_c::checkFastShotTime() {
+ return 0;
}
/* 80141798-801417A0 13C0D8 0008+00 1/0 0/0 0/0 .text checkNoEquipItem__9daPy_py_cCFv */
@@ -35534,8 +35420,8 @@ bool daPy_py_c::checkKandelaarSwing(int param_0) const {
/* 801417B0-801417B8 13C0F0 0008+00 1/0 0/0 0/0 .text getBoardCutTurnOffsetAngleY__9daPy_py_cCFv
*/
-bool daPy_py_c::getBoardCutTurnOffsetAngleY() const {
- return false;
+s16 daPy_py_c::getBoardCutTurnOffsetAngleY() const {
+ return 0;
}
/* 801417B8-801417C0 13C0F8 0008+00 2/0 0/0 0/0 .text getMagneHitPos__9daPy_py_cFv */
@@ -35638,7 +35524,7 @@ bool daPy_py_c::checkCanoeFishingGetRight() const {
/* 80141834-8014183C 13C174 0008+00 1/0 0/0 0/0 .text checkBeeChildDrink__9daPy_py_cCFv
*/
-bool daPy_py_c::checkBeeChildDrink() const {
+u8 daPy_py_c::checkBeeChildDrink() const {
return false;
}
@@ -35663,14 +35549,14 @@ bool daPy_py_c::checkAcceptDungeonWarpAlink(int param_0) {
}
/* 80141854-8014185C 13C194 0008+00 1/0 0/0 0/0 .text getSumouCounter__9daPy_py_cCFv */
-bool daPy_py_c::getSumouCounter() const {
- return false;
+s16 daPy_py_c::getSumouCounter() const {
+ return 0;
}
/* 8014185C-80141864 13C19C 0008+00 1/0 0/0 0/0 .text checkSumouWithstand__9daPy_py_cCFv
*/
-bool daPy_py_c::checkSumouWithstand() const {
- return false;
+s16 daPy_py_c::checkSumouWithstand() const {
+ return 0;
}
/* 80141864-80141868 13C1A4 0004+00 1/0 0/0 0/0 .text cancelGoronThrowEvent__9daPy_py_cFv
@@ -35765,32 +35651,32 @@ void daPy_py_c::changeDragonActor(fopAc_ac_c* param_0) {
}
/* 801418C4-801418CC 13C204 0008+00 1/0 0/0 0/0 .text getClothesChangeWaitTimer__9daPy_py_cCFv */
-bool daPy_py_c::getClothesChangeWaitTimer() const {
- return false;
+u8 daPy_py_c::getClothesChangeWaitTimer() const {
+ return 0;
}
/* 801418CC-801418D4 13C20C 0008+00 1/0 0/0 0/0 .text getShieldChangeWaitTimer__9daPy_py_cCFv */
-bool daPy_py_c::getShieldChangeWaitTimer() const {
- return false;
+u8 daPy_py_c::getShieldChangeWaitTimer() const {
+ return 0;
}
/* 801418D4-801418DC 13C214 0008+00 1/0 0/0 0/0 .text getSwordChangeWaitTimer__9daPy_py_cCFv */
-bool daPy_py_c::getSwordChangeWaitTimer() const {
- return false;
+u8 daPy_py_c::getSwordChangeWaitTimer() const {
+ return 0;
}
/* 801418DC-801418E4 13C21C 0008+00 1/0 0/0 0/0 .text checkMetamorphose__9daPy_py_cCFv */
-bool daPy_py_c::checkMetamorphose() const {
+BOOL daPy_py_c::checkMetamorphose() const {
return false;
}
/* 801418E4-801418EC 13C224 0008+00 1/0 0/0 0/0 .text checkWolfDownAttackPullOut__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfDownAttackPullOut() const {
+BOOL daPy_py_c::checkWolfDownAttackPullOut() const {
return false;
}
/* 801418EC-801418F4 13C22C 0008+00 1/0 0/0 0/0 .text checkBootsOrArmorHeavy__9daPy_py_cCFv */
-bool daPy_py_c::checkBootsOrArmorHeavy() const {
+BOOL daPy_py_c::checkBootsOrArmorHeavy() const {
return false;
}
@@ -35807,32 +35693,27 @@ bool daPy_py_c::checkItemSwordEquip() const {
/* 80141904-8014190C 13C244 0008+00 1/0 0/0 0/0 .text getSinkShapeOffset__9daPy_py_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm float daPy_py_c::getSinkShapeOffset() const {
- nofralloc
-#include "asm/d/a/d_a_alink/getSinkShapeOffset__9daPy_py_cCFv.s"
+f32 daPy_py_c::getSinkShapeOffset() const {
+ return FLOAT_LABEL(lit_6108);
}
-#pragma pop
/* 8014190C-80141914 13C24C 0008+00 1/0 0/0 0/0 .text checkSinkDead__9daPy_py_cCFv */
-bool daPy_py_c::checkSinkDead() const {
+BOOL daPy_py_c::checkSinkDead() const {
return false;
}
/* 80141914-8014191C 13C254 0008+00 1/0 0/0 0/0 .text checkHorseStart__9daPy_py_cFv */
-bool daPy_py_c::checkHorseStart() {
+BOOL daPy_py_c::checkHorseStart() {
return false;
}
/* 8014191C-80141924 13C25C 0008+00 1/0 0/0 0/0 .text getWolfHowlMgrP__9daPy_py_cFv */
-bool daPy_py_c::getWolfHowlMgrP() {
- return false;
+Z2WolfHowlMgr* daPy_py_c::getWolfHowlMgrP() {
+ return NULL;
}
/* 80141924-8014192C 13C264 0008+00 1/0 0/0 0/0 .text checkWolfHowlSuccessAnime__9daPy_py_cCFv */
-bool daPy_py_c::checkWolfHowlSuccessAnime() const {
+BOOL daPy_py_c::checkWolfHowlSuccessAnime() const {
return false;
}
@@ -35847,7 +35728,7 @@ bool daPy_py_c::checkCopyRodEquip() const {
}
/* 8014193C-80141944 13C27C 0008+00 1/0 0/0 0/0 .text checkCutJumpMode__9daPy_py_cCFv */
-bool daPy_py_c::checkCutJumpMode() const {
+BOOL daPy_py_c::checkCutJumpMode() const {
return false;
}
@@ -35914,18 +35795,18 @@ static void dMeter2Info_setFloatingMessage(u16 pMessageID, s16 pMessageTimer, bo
/* 801419F4-80141A04 13C334 0010+00 1/1 0/0 0/0 .text onForcePanic__9daMidna_cFv */
void daMidna_c::onForcePanic() {
- onEndResetStateFlg0(ForcePanic);
+ onEndResetStateFlg0(FORCE_PANIC);
}
/* 80141A04-80141A10 13C344 000C+00 1/1 0/0 0/0 .text checkForceNormalColor__9daMidna_cCFv */
u32 daMidna_c::checkForceNormalColor() const {
- return checkStateFlg1(ForceNormalColor);
+ return checkStateFlg1(FORCE_NORMAL_COLOR);
}
/* 80141A10-80141A1C 13C350 000C+00 1/1 0/0 0/0 .text checkForceTiredColor__9daMidna_cCFv
*/
u32 daMidna_c::checkForceTiredColor() const {
- return checkStateFlg1(ForceTiredColor);
+ return checkStateFlg1(FORCE_TIRED_COLOR);
}
/* 80141A1C-80141A84 13C35C 0068+00 1/1 0/0 0/0 .text checkMidnaTired__9daMidna_cFv */
@@ -35940,7 +35821,7 @@ asm bool daMidna_c::checkMidnaTired() {
/* 80141A84-80141A94 13C3C4 0010+00 1/1 0/0 0/0 .text onNoServiceWait__9daMidna_cFv */
void daMidna_c::onNoServiceWait() {
- onEndResetStateFlg0(NoServiceWait);
+ onEndResetStateFlg0(NO_SERVICE_WAIT);
}
/* 80141A94-80141ACC 13C3D4 0038+00 1/1 0/0 0/0 .text setControllActorData__8daCrod_cFv
diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp
index 9249f54536..c625449590 100644
--- a/src/d/a/d_a_player.cpp
+++ b/src/d/a/d_a_player.cpp
@@ -10,6 +10,8 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor_iter.h"
#include "f_op/f_op_actor_mng.h"
+#include "SSystem/SComponent/c_math.h"
+#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
//
// Types:
@@ -21,10 +23,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
struct J3DAnmLoaderDataBaseFlag {};
struct J3DAnmLoaderDataBase {
@@ -219,14 +217,18 @@ SECTION_SDATA2 static f32 lit_4250 = 65536.0f;
/* 8015E5B0-8015E654 158EF0 00A4+00 0/0 1/1 18/18 .text initOffset__20daPy_boomerangMove_cFPC4cXyz
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
- nofralloc
-#include "asm/d/a/d_a_player/initOffset__20daPy_boomerangMove_cFPC4cXyz.s"
+void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
+ daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
+ if (boomerang != NULL) {
+ bgCheckAfterOffset(param_0);
+ boomerang->onWindCatch();
+ } else {
+ field_0x4 = cM_rndF(lit_4248) + lit_4247;
+ field_0x8 = cM_rndF(lit_4249) + lit_4249;
+ field_0x2 = cM_rndF(lit_4250);
+ }
+ field_0x0 = 0;
}
-#pragma pop
/* ############################################################################################## */
/* 80451018-8045101C 000518 0004+00 2/2 33/32 103/103 .sbss m_midnaActor__9daPy_py_c */
@@ -277,6 +279,17 @@ SECTION_SDATA2 static u8 lit_4381[8] = {
/* 8015E87C-8015EA0C 1591BC 0190+00 1/1 1/1 17/17 .text
* bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz */
+// matches with literals (used in inlines)
+#ifdef NONMATCHING
+void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
+ daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
+ if (boomerang != NULL) {
+ field_0x4 = param_0->y - boomerang->mCurrent.mPosition.y;
+ field_0x8 = boomerang->mCurrent.mPosition.absXZ(*param_0);
+ field_0x2 = cM_atan2s(param_0->x - boomerang->mCurrent.mPosition.x, param_0->z - boomerang->mCurrent.mPosition.z);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -285,6 +298,7 @@ asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
#include "asm/d/a/d_a_player/bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz.s"
}
#pragma pop
+#endif
/* 8015EA0C-8015EA20 15934C 0014+00 0/0 3/3 0/0 .text setParamData__9daPy_py_cFiiii */
#pragma push
@@ -323,7 +337,7 @@ asm BOOL daPy_py_c::checkFishingRodItem(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkBombItem(int param_0) {
+asm BOOL daPy_py_c::checkBombItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_player/checkBombItem__9daPy_py_cFi.s"
}
@@ -333,7 +347,7 @@ asm void daPy_py_c::checkBombItem(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkBottleItem(int param_0) {
+asm BOOL daPy_py_c::checkBottleItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s"
}
@@ -352,40 +366,24 @@ asm void daPy_py_c::checkDrinkBottleItem(int param_0) {
/* 8015EB40-8015EB68 159480 0028+00 0/0 4/4 0/0 .text checkOilBottleItem__9daPy_py_cFi */
BOOL daPy_py_c::checkOilBottleItem(int i_itemNo) {
- bool isOilBottleItem = false;
- if (i_itemNo == CHUCHU_YELLOW || i_itemNo == OIL_BOTTLE_2 || i_itemNo == OIL_BOTTLE) {
- isOilBottleItem = true;
- }
- return isOilBottleItem;
+ return i_itemNo == CHUCHU_YELLOW || i_itemNo == OIL_BOTTLE_2 || i_itemNo == OIL_BOTTLE;
}
/* 8015EB68-8015EB90 1594A8 0028+00 0/0 2/2 0/0 .text checkOpenBottleItem__9daPy_py_cFi
*/
BOOL daPy_py_c::checkOpenBottleItem(int i_itemNo) {
- bool isOpenBottleItem = false;
- if (i_itemNo == WATER_BOTTLE || i_itemNo == WORM || i_itemNo == FAIRY) {
- isOpenBottleItem = true;
- }
- return isOpenBottleItem;
+ return i_itemNo == WATER_BOTTLE || i_itemNo == WORM || i_itemNo == FAIRY;
}
/* 8015EB90-8015EBB8 1594D0 0028+00 0/0 11/11 0/0 .text checkBowItem__9daPy_py_cFi */
BOOL daPy_py_c::checkBowItem(int i_itemNo) {
- bool isBowItem = false;
- if (i_itemNo == BOW || i_itemNo == BOMB_ARROW || i_itemNo == HAWK_ARROW) {
- isBowItem = true;
- }
- return isBowItem;
+ return i_itemNo == BOW || i_itemNo == BOMB_ARROW || i_itemNo == HAWK_ARROW;
}
/* 8015EBB8-8015EBD8 1594F8 0020+00 0/0 23/23 0/0 .text checkHookshotItem__9daPy_py_cFi
*/
BOOL daPy_py_c::checkHookshotItem(int i_itemNo) {
- bool isHookshotItem = false;
- if (i_itemNo == HOOKSHOT || i_itemNo == W_HOOKSHOT) {
- isHookshotItem = true;
- }
- return isHookshotItem;
+ return i_itemNo == HOOKSHOT || i_itemNo == W_HOOKSHOT;
}
/* 8015EBD8-8015EC28 159518 0050+00 0/0 3/3 0/0 .text checkTradeItem__9daPy_py_cFi */
@@ -401,11 +399,7 @@ asm BOOL daPy_py_c::checkTradeItem(int param_0) {
/* 8015EC28-8015EC48 159568 0020+00 0/0 2/2 0/0 .text checkDungeonWarpItem__9daPy_py_cFi
*/
BOOL daPy_py_c::checkDungeonWarpItem(int i_itemNo) {
- bool isDungeonWarpItem = false;
- if (i_itemNo == DUNGEON_EXIT || i_itemNo == DUNGEON_BACK) {
- isDungeonWarpItem = true;
- }
- return isDungeonWarpItem;
+ return i_itemNo == DUNGEON_EXIT || i_itemNo == DUNGEON_BACK;
}
/* 8015EC48-8015ECB8 159588 0070+00 0/0 10/10 3/3 .text setActor__16daPy_actorKeep_cFv */
@@ -909,7 +903,7 @@ asm void daPy_py_c::checkRoomRestartStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkCarryStartLightBallA() {
+asm u32 daPy_py_c::checkCarryStartLightBallA() {
nofralloc
#include "asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s"
}
@@ -919,7 +913,7 @@ asm void daPy_py_c::checkCarryStartLightBallA() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkCarryStartLightBallB() {
+asm u32 daPy_py_c::checkCarryStartLightBallB() {
nofralloc
#include "asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s"
}
@@ -962,14 +956,9 @@ bool daPy_py_c::checkBoomerangChargeTime() {
}
/* 8015F8D0-8015F8E4 15A210 0014+00 3/3 1/1 5/5 .text getThrowBoomerangActor__9daPy_py_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daPy_py_c::getThrowBoomerangActor() {
- nofralloc
-#include "asm/d/a/d_a_player/getThrowBoomerangActor__9daPy_py_cFv.s"
+daBoomerang_c* daPy_py_c::getThrowBoomerangActor() {
+ return static_cast<daBoomerang_c*>(daAlink_getAlinkActorClass()->getThrowBoomerangAcKeep()->getActor());
}
-#pragma pop
/* 8015F8E4-8015F914 15A224 0030+00 0/0 0/0 2/2 .text
* cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c */
diff --git a/src/d/bg/d_bg_s_acch.cpp b/src/d/bg/d_bg_s_acch.cpp
index 5c1fedf3e1..8dd0d7bb34 100644
--- a/src/d/bg/d_bg_s_acch.cpp
+++ b/src/d/bg/d_bg_s_acch.cpp
@@ -813,6 +813,6 @@ static asm void func_8007748C() {
#pragma pop
/* 80077494-8007749C 071DD4 0008+00 0/0 1/0 0/0 .text checkPlayerFly__9daPy_py_cCFv */
-bool daPy_py_c::checkPlayerFly() const {
- return false;
+u32 daPy_py_c::checkPlayerFly() const {
+ return 0;
}
diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp
index 9f39275a30..557b44267a 100644
--- a/src/d/com/d_com_inf_game.cpp
+++ b/src/d/com/d_com_inf_game.cpp
@@ -401,7 +401,7 @@ inline u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
}
inline BOOL dComIfGs_isEventBit(u16 id) {
- return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(id);
+ return g_dComIfG_gameInfo.info.getEvent().isEventBit(id);
}
inline int dComIfGs_isItemFirstBit(u8 i_no) {
@@ -978,9 +978,9 @@ int dComIfG_play_c::getLayerNo_common_common(const char* stageName, int roomId,
else if (dComIfGs_isTmpBit(0x0601)) {
if (dComIfGs_isTmpBit(0x0602)) {
layer = 2;
+ } else {
+ layer = 3;
}
- } else {
- layer = 3;
}
}
@@ -1150,22 +1150,22 @@ int dComIfG_play_c::getLayerNo_common_common(const char* stageName, int roomId,
layer = 13;
}
}
+ }
- // Stage is Hyrule Castle Sewers and room is Prison Cell
- if (!strcmp(stageName, "R_SP107") && roomId == 0) {
- // Haven't been to Hyrule Castle Sewers
- if (!dComIfGs_isEventBit(0x4D08)) {
- layer = 11;
- }
+ // Stage is Hyrule Castle Sewers and room is Prison Cell
+ if (!strcmp(stageName, "R_SP107") && roomId == 0) {
+ // Haven't been to Hyrule Castle Sewers
+ if (!dComIfGs_isEventBit(0x4D08)) {
+ layer = 11;
}
- // Stage and room is Zant Throne Room
- else if (!strcmp(stageName, "D_MN08A") && roomId == 10) {
- // Defeated Zant
- if (dComIfGs_isEventBit(0x5410)) {
- layer = 1;
- } else {
- layer = 0;
- }
+ }
+ // Stage and room is Zant Throne Room
+ else if (!strcmp(stageName, "D_MN08A") && roomId == 10) {
+ // Defeated Zant
+ if (dComIfGs_isEventBit(0x5410)) {
+ layer = 1;
+ } else {
+ layer = 0;
}
}
}
@@ -1728,7 +1728,7 @@ asm void dComIfGs_offOneZoneSwitch(int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dComIfGs_isOneZoneSwitch(int param_0, int param_1) {
+asm BOOL dComIfGs_isOneZoneSwitch(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneSwitch__Fii.s"
}
diff --git a/src/d/d_att_dist.cpp b/src/d/d_att_dist.cpp
index 80dd6e347d..f1669d0140 100644
--- a/src/d/d_att_dist.cpp
+++ b/src/d/d_att_dist.cpp
@@ -1,445 +1,243 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/d_att_dist
-//
-
#include "d/d_att_dist.h"
+#include "d/d_attention.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-//
-// Types:
-//
-
-struct dAttention_c {
- static u8 dist_table[6552];
-};
-
-//
-// Forward References:
-//
-
-extern "C" u8 dist_table__12dAttention_c[6552];
-
-//
-// External References:
-//
-
-//
-// Declarations:
-//
-
/* ############################################################################################## */
/* 803A9C70-803AB608 006D90 1998+00 0/0 5/5 13/13 .data dist_table__12dAttention_c */
-SECTION_DATA u8 dAttention_c::dist_table[6552] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3C, 0x23, 0xD7, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00,
- 0x43, 0xBB, 0x80, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0xC3, 0xC8, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3B, 0x80, 0x00, 0x43, 0x7A, 0x00, 0x00,
- 0x43, 0x9C, 0x40, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x44, 0xBB, 0x80, 0x00, 0x44, 0xFA, 0x00, 0x00,
- 0xC4, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3B, 0x80, 0x00,
- 0x43, 0x7A, 0x00, 0x00, 0x43, 0x9C, 0x40, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x42, 0x48, 0x00, 0x00, 0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00,
- 0xC2, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00,
- 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC2, 0xDC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x42, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x43, 0x48, 0x00, 0x00, 0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00,
- 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x70, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0x48, 0x00, 0x00, 0x43, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00,
- 0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0xC2, 0xF0, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0xC4, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0x48, 0x00, 0x00, 0xC4, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0x7A, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00,
- 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00,
- 0x45, 0x8C, 0xA0, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x45, 0x1C, 0x40, 0x00, 0x45, 0x22, 0x80, 0x00, 0x45, 0x1C, 0x40, 0x00, 0x45, 0x1C, 0x40, 0x00,
- 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x9C, 0x40, 0x00,
- 0x45, 0xAB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x9C, 0x40, 0x00, 0x45, 0xAB, 0xE0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00,
- 0xC2, 0xF0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
- 0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x16, 0x00, 0x00,
- 0x43, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0xC3, 0x16, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x7A, 0x00, 0x00, 0x44, 0x96, 0x00, 0x00,
- 0x44, 0xE1, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x44, 0x3B, 0x80, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x44, 0xE1, 0x00, 0x00, 0x44, 0x96, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0xC4, 0x89, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3C, 0x23, 0xD7, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x44, 0x44, 0xED, 0x80, 0x00, 0x44, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0xFA, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0xED, 0x80, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xA0, 0x00, 0x00,
- 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xDC, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x43, 0x02, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x42, 0x34, 0x00, 0x00, 0xC2, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x43, 0x20, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00,
- 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0x3E, 0x00, 0x00,
- 0x43, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC2, 0xDC, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
- 0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0x46, 0x1F, 0x60, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0x46, 0x1F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0xBB, 0x80, 0x00, 0x44, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0xC3, 0xC8, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x46, 0x1C, 0x40, 0x00, 0x46, 0x1F, 0x60, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x48, 0x00, 0x00, 0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
- 0x42, 0xC8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x42, 0x34, 0x00, 0x00, 0xC2, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x47, 0xC3, 0x50, 0x00, 0x47, 0xC3, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xC3, 0x50, 0x00,
- 0xC7, 0xC3, 0x50, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00,
- 0x46, 0x1D, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00, 0xC4, 0xFA, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
- 0xC4, 0x2F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00,
- 0x46, 0x1F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x44, 0xFA, 0x00, 0x00, 0x45, 0x09, 0x80, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x44, 0x16, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x44, 0x96, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x44, 0x96, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00,
- 0xC3, 0xFA, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00,
- 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x44, 0x3B, 0x80, 0x00,
- 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x44, 0x3B, 0x80, 0x00, 0x43, 0x48, 0x00, 0x00,
- 0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0x7A, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00, 0x3D, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x48, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x96, 0x00, 0x00,
- 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x45, 0x3B, 0x80, 0x00, 0x45, 0x41, 0xC0, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00, 0xC5, 0x3B, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x45, 0x03, 0x40, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0xC2, 0xC8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x45, 0x5A, 0xC0, 0x00,
- 0x45, 0x5A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00, 0xC5, 0x3B, 0x80, 0x00,
- 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
- 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC4, 0x7A, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0x16, 0x00, 0x00,
- 0x43, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x44, 0xFA, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0xC4, 0x7A, 0x00, 0x00, 0x3D, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x04, 0x42, 0xC8, 0x00, 0x00,
- 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, 0xC3, 0x16, 0x00, 0x00,
- 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0C, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0C, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0C, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x22, 0x80, 0x00, 0x44, 0x2F, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0C, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x48, 0x00, 0x00,
- 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0C, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x14, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x14, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
- 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x14, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
- 0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x22, 0x80, 0x00, 0x44, 0x2F, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x14, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
- 0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x48, 0x00, 0x00,
- 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x14, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
- 0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
- 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
- 0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x22, 0x80, 0x00, 0x44, 0x2F, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
- 0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x48, 0x00, 0x00,
- 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
- 0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x44, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x44, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
- 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x44, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
- 0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x44, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
- 0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x48, 0x00, 0x00,
- 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x44, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
- 0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x84, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x84, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
- 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x84, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
- 0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x84, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
- 0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x48, 0x00, 0x00,
- 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x84, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
- 0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x04, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x04, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
- 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
- 0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x04, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
- 0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x48, 0x00, 0x00,
- 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x04, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
- 0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x48, 0x00, 0x00,
- 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x16, 0x00, 0x00,
- 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x44, 0x3B, 0x80, 0x00, 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x48, 0x00, 0x00,
- 0x44, 0x6D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
- 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00,
- 0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+dist_entry dAttention_c::dist_table[234] = {
+ { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.01f, 0 },
+ { 250.0f, 375.0f, 500.0f, 400.0f, -400.0f, 0.5f, 0 },
+ { 187.5f, 250.0f, 312.5f, 300.0f, -300.0f, 1.0f, 0 },
+ { 375.0f, 625.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
+ { 500.0f, 600.0f, 1500.0f, 2000.0f, -2000.0f, 10.0f, 0 },
+ { 187.5f, 250.0f, 312.5f, 300.0f, -300.0f, 1.0f, 0 },
+ { 80.0f, 100.0f, 0.0f, 30.0f, -130.0f, 1.0f, 1 },
+ { 100.0f, 120.0f, 0.0f, 50.0f, -120.0f, 1.0f, 1 },
+ { 100.0f, 120.0f, 0.0f, 45.0f, -125.0f, 1.0f, 1 },
+ { 100.0f, 120.0f, 0.0f, 40.0f, -130.0f, 1.0f, 1 },
+ { 80.0f, 100.0f, 0.0f, 40.0f, -110.0f, 1.0f, 1 },
+ { 80.0f, 100.0f, 0.0f, 10.0f, -130.0f, 1.0f, 1 },
+ { 200.0f, 240.0f, 0.0f, 100.0f, -120.0f, 1.0f, 1 },
+ { 100.0f, 120.0f, 0.0f, 30.0f, -240.0f, 1.0f, 1 },
+ { 200.0f, 220.0f, 0.0f, 200.0f, -200.0f, 10.0f, 4 },
+ { 100.0f, 120.0f, 300.0f, 300.0f, -200.0f, 1.0f, 4 },
+ { 100.0f, 120.0f, 0.0f, 20.0f, -120.0f, 1.0f, 0 },
+ { 200.0f, 200.0f, 0.0f, 400.0f, -120.0f, 1.0f, 1 },
+ { 500.0f, 700.0f, 0.0f, 800.0f, -800.0f, 1.0f, 0 },
+ { 500.0f, 700.0f, 0.0f, 800.0f, -800.0f, 1.0f, 0 },
+ { 1000.0f, 1100.0f, 0.0f, 700.0f, -300.0f, 1.0f, 0 },
+ { 150.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 0 },
+ { 500.0f, 600.0f, 4500.0f, 2000.0f, -2000.0f, 1.0f, 0 },
+ { 400.0f, 450.0f, 200.0f, 500.0f, -500.0f, 1.0f, 0 },
+ { 2500.0f, 2600.0f, 2500.0f, 2500.0f, -2000.0f, 1.0f, 0 },
+ { 5000.0f, 5500.0f, 0.0f, 2000.0f, -2000.0f, 1.0f, 0 },
+ { 5000.0f, 5500.0f, 0.0f, 2000.0f, -2000.0f, 1.0f, 0 },
+ { 180.0f, 180.0f, 0.0f, 30.0f, -130.0f, 1.0f, 0 },
+ { 500.0f, 600.0f, 0.0f, 600.0f, -120.0f, 100.0f, 0 },
+ { 1000.0f, 1000.0f, 0.0f, 500.0f, -500.0f, 1.0f, 0 },
+ { -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0 },
+ { 120.0f, 120.0f, 0.0f, 30.0f, -130.0f, 1.0f, 0 },
+ { 150.0f, 160.0f, 0.0f, 200.0f, -200.0f, 1.0f, 4 },
+ { 150.0f, 160.0f, 0.0f, 150.0f, -150.0f, 1.0f, 132 },
+ { 1000.0f, 1200.0f, 1800.0f, 2000.0f, -2000.0f, 1.0f, 0 },
+ { 375.0f, 625.0f, 500.0f, 750.0f, -500.0f, 1.0f, 0 },
+ { 1200.0f, 1800.0f, 1200.0f, 500.0f, -1100.0f, 1.0f, 0 },
+ { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.01f, 0 },
+ { 200.0f, 220.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 1900.0f, 1900.0f, 0.0f, 2000.0f, -300.0f, 1.0f, 0 },
+ { 1900.0f, 2000.0f, 0.0f, 2000.0f, -300.0f, 1.0f, 1 },
+ { 80.0f, 100.0f, 0.0f, 30.0f, -130.0f, 1.0f, 1 },
+ { 100.0f, 110.0f, 0.0f, 50.0f, -120.0f, 1.0f, 4 },
+ { 130.0f, 140.0f, 0.0f, 45.0f, -125.0f, 1.0f, 1 },
+ { 160.0f, 180.0f, 0.0f, 40.0f, -130.0f, 1.0f, 1 },
+ { 190.0f, 210.0f, 0.0f, 40.0f, -110.0f, 1.0f, 1 },
+ { 375.0f, 625.0f, 500.0f, 800.0f, -500.0f, 10.0f, 0 },
+ { 100.0f, 400.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
+ { 150.0f, 160.0f, 0.0f, 200.0f, -200.0f, 1.0f, 4 },
+ { 1000.0f, 1100.0f, 0.0f, 200.0f, -200.0f, 1.0f, 0 },
+ { 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 100.0f, 0 },
+ { 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 1.0f, 0 },
+ { 1500.0f, 1800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 1000.0f, 1200.0f, 0.0f, 400.0f, -400.0f, 1.0f, 4 },
+ { 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 1.0f, 0 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 0 },
+ { 200.0f, 240.0f, 0.0f, 700.0f, 100.0f, 1.0f, 0 },
+ { 600.0f, 700.0f, 0.0f, 700.0f, 100.0f, 1.0f, 0 },
+ { 700.0f, 1000.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
+ { 130.0f, 140.0f, 0.0f, 45.0f, -125.0f, 1.0f, 0 },
+ { 100000.0f, 100100.0f, 0.0f, 100000.0f, -100000.0f, 1.0f, 0 },
+ { 10000.0f, 10100.0f, 0.0f, 3000.0f, -2000.0f, 300.0f, 0 },
+ { 700.0f, 1000.0f, 500.0f, 1000.0f, -500.0f, 10.0f, 0 },
+ { 500.0f, 600.0f, 0.0f, 500.0f, -500.0f, 1.0f, 0 },
+ { 700.0f, 800.0f, 0.0f, 700.0f, -700.0f, 1.0f, 0 },
+ { 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 1.0f, 0 },
+ { 400.0f, 450.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
+ { 500.0f, 550.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
+ { 2000.0f, 2200.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
+ { 500.0f, 600.0f, 200.0f, 500.0f, -500.0f, 1.0f, 0 },
+ { 300.0f, 350.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
+ { 500.0f, 550.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
+ { 1200.0f, 2000.0f, 1200.0f, 800.0f, -500.0f, 2.0f, 0 },
+ { 160.0f, 180.0f, 0.0f, 40.0f, -130.0f, 1.0f, 0 },
+ { 140.0f, 150.0f, 0.0f, 250.0f, -50.0f, 1.0f, 1 },
+ { 500.0f, 600.0f, 750.0f, 2000.0f, -2000.0f, 1.0f, 0 },
+ { 500.0f, 600.0f, 750.0f, 200.0f, -200.0f, 1.0f, 0 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 4 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 4 },
+ { 1000.0f, 2000.0f, 0.0f, 1000.0f, -1000.0f, 0.1f, 0 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 2.5f, 4 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 2.5f, 4 },
+ { 3000.0f, 3100.0f, 300.0f, 3000.0f, -3000.0f, 1.0f, 0 },
+ { 2000.0f, 2100.0f, 300.0f, 2000.0f, -2000.0f, 1.0f, 0 },
+ { 150.0f, 200.0f, 0.0f, 100.0f, -100.0f, 1.0f, 17 },
+ { 3500.0f, 3500.0f, 0.0f, 3000.0f, -3000.0f, 100.0f, 0 },
+ { 375.0f, 625.0f, 500.0f, 500.0f, -500.0f, 40.0f, 0 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 68 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 68 },
+ { 150.0f, 150.0f, 0.0f, 40.0f, -130.0f, 1.0f, 1 },
+ { 100.0f, 100.0f, 0.0f, 40.0f, -130.0f, 1.0f, 0 },
+ { 375.0f, 1000.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
+ { 2000.0f, 2000.0f, 0.0f, 1000.0f, -1000.0f, 0.1f, 4 },
+ { 100.0f, 200.0f, 0.0f, 160.0f, -150.0f, 10.0f, 4 },
+ { 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 200.0f, 240.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 650.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
+ { 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 200.0f, 240.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 650.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
+ { 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 650.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
+ { 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
+ { 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
+ { 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
+ { 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 750.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 800.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
+ { 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
};
diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp
index 61117fabb1..951cbc5c5b 100644
--- a/src/d/d_attention.cpp
+++ b/src/d/d_attention.cpp
@@ -177,13 +177,11 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
-extern "C" void tan();
extern "C" extern void* __vt__25mDoExt_McaMorfCallBack1_c[3];
extern "C" u8 dist_table__12dAttention_c[6552];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_max;
extern "C" extern u8 data_80450F58[8];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -936,7 +934,7 @@ asm void dAttention_c::CheckObjectTarget(s32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dAttention_c::LockonTruth() {
+asm bool dAttention_c::LockonTruth() {
nofralloc
#include "asm/d/d_attention/LockonTruth__12dAttention_cFv.s"
}
diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp
index 65b36253a7..596e402697 100644
--- a/src/d/d_drawlist.cpp
+++ b/src/d/d_drawlist.cpp
@@ -288,7 +288,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
-extern "C" void fmod();
extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
extern "C" extern void* __vt__26mDoExt_3DlineMatSortPacket[5];
extern "C" extern void* __vt__12dDlst_base_c[3];
@@ -303,7 +302,6 @@ extern "C" u8 mBackColor__13mDoGph_gInf_c[4];
extern "C" extern u8 g_clearColor[4];
extern "C" extern u32 g_blackColor;
extern "C" extern u32 g_whiteColor;
-extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_max;
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" f32 mFovyRate__14mDoLib_clipper;
diff --git a/src/d/d_jnt_col.cpp b/src/d/d_jnt_col.cpp
index 9089295591..564620c3f0 100644
--- a/src/d/d_jnt_col.cpp
+++ b/src/d/d_jnt_col.cpp
@@ -88,7 +88,6 @@ extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern void* __vt__8cM3dGCyl[3];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 BaseZ__4cXyz[12];
-extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_max;
//
diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp
index abcc88e10d..bc3f611c13 100644
--- a/src/d/event/d_event_manager.cpp
+++ b/src/d/event/d_event_manager.cpp
@@ -616,7 +616,7 @@ SECTION_DEAD static char const* const stringBase_8037A0C5 = "Link";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dEvent_manager_c::getMyStaffId(char const* param_0, fopAc_ac_c* param_1, int param_2) {
+asm s32 dEvent_manager_c::getMyStaffId(char const* param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/event/d_event_manager/getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci.s"
}
diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp
index fbdf59e1e1..e0f640af35 100644
--- a/src/d/kankyo/d_kankyo.cpp
+++ b/src/d/kankyo/d_kankyo.cpp
@@ -3204,7 +3204,7 @@ static asm void dKy_F_SP121Check(char const* param_0, int param_1, u8* param_2,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm BOOL dKy_darkworld_stage_check(char const* param_0, int param_1) {
+asm bool dKy_darkworld_stage_check(char const* param_0, int param_1) {
nofralloc
#include "asm/d/kankyo/d_kankyo/dKy_darkworld_stage_check__FPCci.s"
}
diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp
index a963fd0cb8..c677279916 100644
--- a/src/d/particle/d_particle.cpp
+++ b/src/d/particle/d_particle.cpp
@@ -605,8 +605,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 g_whiteColor;
-extern "C" extern u32 __float_nan;
-extern "C" extern u32 __float_epsilon;
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
extern "C" extern u8 JPTracePCB4[4];
extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
diff --git a/src/d/save/d_save.cpp b/src/d/save/d_save.cpp
index 20ed84ed21..43a7a57c25 100644
--- a/src/d/save/d_save.cpp
+++ b/src/d/save/d_save.cpp
@@ -9,15 +9,7 @@
#include "d/meter/d_meter2_info.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-
-//
-// Types:
-//
-
-struct daObjCarry_c {
- /* 80031CF8 */ void clrSaveFlag();
- /* 80031D04 */ void setSaveFlag();
-};
+#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
//
// Forward References:
@@ -1456,11 +1448,11 @@ bool dSv_danBit_c::init(s8 i_stage) {
unk28[i] = 0xFFFF;
}
- clrSaveFlag__12daObjCarry_cFv();
+ daObjCarry_c::clrSaveFlag();
return true;
} else {
- setSaveFlag__12daObjCarry_cFv();
+ daObjCarry_c::setSaveFlag();
return false;
}
}