summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2023-09-07 21:22:55 -0700
committerGitHub <noreply@github.com>2023-09-07 21:22:55 -0700
commit6deaa22a19c725fa62ee4db8eb6ec5a07e60b22f (patch)
tree3f39d25656c0b19fc4d521f6b30d942e5df1fc24
parent3dd1963a59c4cf80c0348f10532d2ce445dec7de (diff)
d_a_npc / d_a_tag_mhint / d_a_grass work (#1916)
* some npc work / cleanup * tag_mhint / grass work * fix path / remove asm
-rw-r--r--asm/d/bg/d_bg_w_kcol/__dt__8dBgWKColFv.s36
-rw-r--r--asm/d/d_npc_lib/init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz.s78
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__ct__12dGrass_anm_cFv.s4
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dFlower_anm_cFv.s4
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_data_cFv.s4
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_room_cFv.s4
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_data_cFv.s4
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_room_cFv.s4
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__dt__13dGrass_data_cFv.s17
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__dt__14dFlower_data_cFv.s17
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__dt__15dGrass_packet_cFv.s36
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/__dt__16dFlower_packet_cFv.s36
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/createFlower__9daGrass_cFv.s32
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/createGrass__9daGrass_cFv.s32
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/daGrass_Delete__FP9daGrass_c.s23
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/daGrass_create__FP9daGrass_c.s24
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/daGrass_draw__FP9daGrass_c.s15
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/daGrass_execute__FP9daGrass_c.s24
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/deleteAnm__14dFlower_data_cFv.s24
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/deleteData__13dGrass_room_cFv.s43
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/deleteData__14dFlower_room_cFv.s26
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/deleteFlower__9daGrass_cFv.s24
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/deleteGrass__9daGrass_cFv.s24
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__15dGrass_packet_cFi.s14
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__16dFlower_packet_cFi.s14
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/drawFlower__9daGrass_cFv.s15
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/drawGrass__9daGrass_cFv.s15
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/executeFlower__9daGrass_cFv.s15
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/executeGrass__9daGrass_cFv.s15
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newAnm__15dGrass_packet_cFv.s22
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newAnm__16dFlower_packet_cFv.s22
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newData__13dGrass_room_cFP13dGrass_data_c.s5
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newData__14dFlower_room_cFP14dFlower_data_c.s5
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newData__15dGrass_packet_cFR4cXyziUcUcsUc.s69
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newData__16dFlower_packet_cFScR4cXyziScs.s65
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newFlowerData__9daGrass_cFScR4cXyziScs.s12
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/newGrassData__9daGrass_cFR4cXyziUcUcsUc.s12
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/setAnm__15dGrass_packet_cFis.s11
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/setAnm__16dFlower_packet_cFis.s11
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc.s64
-rw-r--r--asm/rel/d/a/d_a_grass/d_a_grass/setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs.s96
-rw-r--r--asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/__dt__12daTagMhint_cFv.s27
-rw-r--r--asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/create__12daTagMhint_cFv.s143
-rw-r--r--asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Create__FP10fopAc_ac_c.s9
-rw-r--r--asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Delete__FP12daTagMhint_c.s11
-rw-r--r--asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Execute__FP12daTagMhint_c.s9
-rw-r--r--include/d/a/d_a_alink.h29
-rw-r--r--include/d/a/d_a_npc.h12
-rw-r--r--include/d/cc/d_cc_mass_s.h1
-rw-r--r--include/d/cc/d_cc_s.h2
-rw-r--r--include/d/com/d_com_inf_game.h4
-rw-r--r--include/d/d_npc_lib.h3
-rw-r--r--include/d/d_stage.h4
-rw-r--r--include/m_Do/m_Do_ext.h6
-rw-r--r--include/rel/d/a/d_a_grass/d_a_grass.h208
-rw-r--r--include/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h8
-rw-r--r--include/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.h4
-rw-r--r--rel/d/a/d_a_grass/d_a_grass.cpp5347
-rw-r--r--rel/d/a/d_a_grass/d_flower.inc259
-rw-r--r--rel/d/a/d_a_grass/d_grass.inc530
-rw-r--r--rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp20
-rw-r--r--rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp348
-rw-r--r--src/d/a/d_a_npc.cpp961
-rw-r--r--src/d/bg/d_bg_s.cpp42
-rw-r--r--src/d/bg/d_bg_s_acch.cpp3
-rw-r--r--src/d/bg/d_bg_w_base.cpp8
-rw-r--r--src/d/bg/d_bg_w_kcol.cpp75
-rw-r--r--src/d/com/d_com_inf_game.cpp6
-rw-r--r--src/d/com/d_com_static.cpp90
-rw-r--r--src/d/d_npc_lib.cpp162
70 files changed, 2596 insertions, 6752 deletions
diff --git a/asm/d/bg/d_bg_w_kcol/__dt__8dBgWKColFv.s b/asm/d/bg/d_bg_w_kcol/__dt__8dBgWKColFv.s
deleted file mode 100644
index 61cb6b0459..0000000000
--- a/asm/d/bg/d_bg_w_kcol/__dt__8dBgWKColFv.s
+++ /dev/null
@@ -1,36 +0,0 @@
-lbl_8007E74C:
-/* 8007E74C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8007E750 7C 08 02 A6 */ mflr r0
-/* 8007E754 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8007E758 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8007E75C 93 C1 00 08 */ stw r30, 8(r1)
-/* 8007E760 7C 7E 1B 79 */ or. r30, r3, r3
-/* 8007E764 7C 9F 23 78 */ mr r31, r4
-/* 8007E768 41 82 00 4C */ beq lbl_8007E7B4
-/* 8007E76C 3C 60 80 3B */ lis r3, __vt__8dBgWKCol@ha /* 0x803ABDC8@ha */
-/* 8007E770 38 03 BD C8 */ addi r0, r3, __vt__8dBgWKCol@l /* 0x803ABDC8@l */
-/* 8007E774 90 1E 00 04 */ stw r0, 4(r30)
-/* 8007E778 34 1E 00 20 */ addic. r0, r30, 0x20
-/* 8007E77C 41 82 00 10 */ beq lbl_8007E78C
-/* 8007E780 3C 60 80 3A */ lis r3, __vt__8cM3dGAab@ha /* 0x803A7218@ha */
-/* 8007E784 38 03 72 18 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x803A7218@l */
-/* 8007E788 90 1E 00 38 */ stw r0, 0x38(r30)
-lbl_8007E78C:
-/* 8007E78C 38 7E 00 1C */ addi r3, r30, 0x1c
-/* 8007E790 38 80 FF FF */ li r4, -1
-/* 8007E794 4B FF 58 ED */ bl __dt__6dBgPlcFv
-/* 8007E798 7F C3 F3 78 */ mr r3, r30
-/* 8007E79C 38 80 00 00 */ li r4, 0
-/* 8007E7A0 4B FF FE A1 */ bl __dt__9dBgW_BaseFv
-/* 8007E7A4 7F E0 07 35 */ extsh. r0, r31
-/* 8007E7A8 40 81 00 0C */ ble lbl_8007E7B4
-/* 8007E7AC 7F C3 F3 78 */ mr r3, r30
-/* 8007E7B0 48 25 05 8D */ bl __dl__FPv
-lbl_8007E7B4:
-/* 8007E7B4 7F C3 F3 78 */ mr r3, r30
-/* 8007E7B8 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8007E7BC 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8007E7C0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8007E7C4 7C 08 03 A6 */ mtlr r0
-/* 8007E7C8 38 21 00 10 */ addi r1, r1, 0x10
-/* 8007E7CC 4E 80 00 20 */ blr
diff --git a/asm/d/d_npc_lib/init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz.s b/asm/d/d_npc_lib/init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz.s
deleted file mode 100644
index 34347b4003..0000000000
--- a/asm/d/d_npc_lib/init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz.s
+++ /dev/null
@@ -1,78 +0,0 @@
-lbl_8025140C:
-/* 8025140C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 80251410 7C 08 02 A6 */ mflr r0
-/* 80251414 90 01 00 34 */ stw r0, 0x34(r1)
-/* 80251418 39 61 00 30 */ addi r11, r1, 0x30
-/* 8025141C 48 11 0D A5 */ bl _savegpr_22
-/* 80251420 7C 78 1B 78 */ mr r24, r3
-/* 80251424 7C 99 23 78 */ mr r25, r4
-/* 80251428 7C BA 2B 78 */ mr r26, r5
-/* 8025142C 7C DB 33 78 */ mr r27, r6
-/* 80251430 7C FC 3B 78 */ mr r28, r7
-/* 80251434 38 60 00 00 */ li r3, 0
-/* 80251438 38 80 FF FF */ li r4, -1
-/* 8025143C 38 00 00 04 */ li r0, 4
-/* 80251440 7C 09 03 A6 */ mtctr r0
-lbl_80251444:
-/* 80251444 38 03 00 BC */ addi r0, r3, 0xbc
-/* 80251448 7C 98 01 2E */ stwx r4, r24, r0
-/* 8025144C 38 63 00 04 */ addi r3, r3, 4
-/* 80251450 42 00 FF F4 */ bdnz lbl_80251444
-/* 80251454 3B C0 00 00 */ li r30, 0
-/* 80251458 93 D8 00 CC */ stw r30, 0xcc(r24)
-/* 8025145C 3A E0 00 00 */ li r23, 0
-/* 80251460 3A C0 00 00 */ li r22, 0
-/* 80251464 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
-/* 80251468 3B E3 D4 70 */ addi r31, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
-lbl_8025146C:
-/* 8025146C 7F BA B0 2E */ lwzx r29, r26, r22
-/* 80251470 2C 1D 00 00 */ cmpwi r29, 0
-/* 80251474 41 80 00 A8 */ blt lbl_8025151C
-/* 80251478 80 79 00 84 */ lwz r3, 0x84(r25)
-/* 8025147C 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 80251480 1C 1D 00 30 */ mulli r0, r29, 0x30
-/* 80251484 7C 63 02 14 */ add r3, r3, r0
-/* 80251488 7F E4 FB 78 */ mr r4, r31
-/* 8025148C 48 0F 50 25 */ bl PSMTXCopy
-/* 80251490 80 18 00 CC */ lwz r0, 0xcc(r24)
-/* 80251494 1C 60 00 0C */ mulli r3, r0, 0xc
-/* 80251498 38 63 00 04 */ addi r3, r3, 4
-/* 8025149C 7C 78 1A 14 */ add r3, r24, r3
-/* 802514A0 C0 1F 00 0C */ lfs f0, 0xc(r31)
-/* 802514A4 D0 03 00 00 */ stfs f0, 0(r3)
-/* 802514A8 C0 1F 00 1C */ lfs f0, 0x1c(r31)
-/* 802514AC D0 03 00 04 */ stfs f0, 4(r3)
-/* 802514B0 C0 1F 00 2C */ lfs f0, 0x2c(r31)
-/* 802514B4 D0 03 00 08 */ stfs f0, 8(r3)
-/* 802514B8 38 16 00 BC */ addi r0, r22, 0xbc
-/* 802514BC 7F B8 01 2E */ stwx r29, r24, r0
-/* 802514C0 7C 7B BA 14 */ add r3, r27, r23
-/* 802514C4 A8 03 00 00 */ lha r0, 0(r3)
-/* 802514C8 7C 98 BA 14 */ add r4, r24, r23
-/* 802514CC B0 04 00 94 */ sth r0, 0x94(r4)
-/* 802514D0 A8 03 00 02 */ lha r0, 2(r3)
-/* 802514D4 B0 04 00 96 */ sth r0, 0x96(r4)
-/* 802514D8 A8 03 00 04 */ lha r0, 4(r3)
-/* 802514DC B0 04 00 98 */ sth r0, 0x98(r4)
-/* 802514E0 7C 7C BA 14 */ add r3, r28, r23
-/* 802514E4 A8 03 00 00 */ lha r0, 0(r3)
-/* 802514E8 B0 04 00 7C */ sth r0, 0x7c(r4)
-/* 802514EC A8 03 00 02 */ lha r0, 2(r3)
-/* 802514F0 B0 04 00 7E */ sth r0, 0x7e(r4)
-/* 802514F4 A8 03 00 04 */ lha r0, 4(r3)
-/* 802514F8 B0 04 00 80 */ sth r0, 0x80(r4)
-/* 802514FC 80 78 00 CC */ lwz r3, 0xcc(r24)
-/* 80251500 38 03 00 01 */ addi r0, r3, 1
-/* 80251504 90 18 00 CC */ stw r0, 0xcc(r24)
-/* 80251508 3B DE 00 01 */ addi r30, r30, 1
-/* 8025150C 2C 1E 00 03 */ cmpwi r30, 3
-/* 80251510 3A F7 00 06 */ addi r23, r23, 6
-/* 80251514 3A D6 00 04 */ addi r22, r22, 4
-/* 80251518 41 80 FF 54 */ blt lbl_8025146C
-lbl_8025151C:
-/* 8025151C 39 61 00 30 */ addi r11, r1, 0x30
-/* 80251520 48 11 0C ED */ bl _restgpr_22
-/* 80251524 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 80251528 7C 08 03 A6 */ mtlr r0
-/* 8025152C 38 21 00 30 */ addi r1, r1, 0x30
-/* 80251530 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__12dGrass_anm_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__ct__12dGrass_anm_cFv.s
deleted file mode 100644
index e024149444..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__12dGrass_anm_cFv.s
+++ /dev/null
@@ -1,4 +0,0 @@
-lbl_80520934:
-/* 80520934 38 00 00 00 */ li r0, 0
-/* 80520938 98 03 00 00 */ stb r0, 0(r3)
-/* 8052093C 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dFlower_anm_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dFlower_anm_cFv.s
deleted file mode 100644
index e3bd79b014..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dFlower_anm_cFv.s
+++ /dev/null
@@ -1,4 +0,0 @@
-lbl_80522FC0:
-/* 80522FC0 38 00 00 00 */ li r0, 0
-/* 80522FC4 98 03 00 00 */ stb r0, 0(r3)
-/* 80522FC8 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_data_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_data_cFv.s
deleted file mode 100644
index 556dd66196..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_data_cFv.s
+++ /dev/null
@@ -1,4 +0,0 @@
-lbl_8052097C:
-/* 8052097C 38 00 00 00 */ li r0, 0
-/* 80520980 98 03 00 00 */ stb r0, 0(r3)
-/* 80520984 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_room_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_room_cFv.s
deleted file mode 100644
index cd8c1dda38..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_room_cFv.s
+++ /dev/null
@@ -1,4 +0,0 @@
-lbl_80520928:
-/* 80520928 38 00 00 00 */ li r0, 0
-/* 8052092C 90 03 00 00 */ stw r0, 0(r3)
-/* 80520930 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_data_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_data_cFv.s
deleted file mode 100644
index 9671fc391d..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_data_cFv.s
+++ /dev/null
@@ -1,4 +0,0 @@
-lbl_80523008:
-/* 80523008 38 00 00 00 */ li r0, 0
-/* 8052300C 98 03 00 00 */ stb r0, 0(r3)
-/* 80523010 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_room_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_room_cFv.s
deleted file mode 100644
index 62bc085f94..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_room_cFv.s
+++ /dev/null
@@ -1,4 +0,0 @@
-lbl_80522FB4:
-/* 80522FB4 38 00 00 00 */ li r0, 0
-/* 80522FB8 90 03 00 00 */ stw r0, 0(r3)
-/* 80522FBC 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__13dGrass_data_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__dt__13dGrass_data_cFv.s
deleted file mode 100644
index cba78bf225..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__13dGrass_data_cFv.s
+++ /dev/null
@@ -1,17 +0,0 @@
-lbl_80520940:
-/* 80520940 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80520944 7C 08 02 A6 */ mflr r0
-/* 80520948 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8052094C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80520950 7C 7F 1B 79 */ or. r31, r3, r3
-/* 80520954 41 82 00 10 */ beq lbl_80520964
-/* 80520958 7C 80 07 35 */ extsh. r0, r4
-/* 8052095C 40 81 00 08 */ ble lbl_80520964
-/* 80520960 4B DA E3 DD */ bl __dl__FPv
-lbl_80520964:
-/* 80520964 7F E3 FB 78 */ mr r3, r31
-/* 80520968 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8052096C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80520970 7C 08 03 A6 */ mtlr r0
-/* 80520974 38 21 00 10 */ addi r1, r1, 0x10
-/* 80520978 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__14dFlower_data_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__dt__14dFlower_data_cFv.s
deleted file mode 100644
index 6afe9c7c7d..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__14dFlower_data_cFv.s
+++ /dev/null
@@ -1,17 +0,0 @@
-lbl_80522FCC:
-/* 80522FCC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80522FD0 7C 08 02 A6 */ mflr r0
-/* 80522FD4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80522FD8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80522FDC 7C 7F 1B 79 */ or. r31, r3, r3
-/* 80522FE0 41 82 00 10 */ beq lbl_80522FF0
-/* 80522FE4 7C 80 07 35 */ extsh. r0, r4
-/* 80522FE8 40 81 00 08 */ ble lbl_80522FF0
-/* 80522FEC 4B DA BD 51 */ bl __dl__FPv
-lbl_80522FF0:
-/* 80522FF0 7F E3 FB 78 */ mr r3, r31
-/* 80522FF4 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80522FF8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80522FFC 7C 08 03 A6 */ mtlr r0
-/* 80523000 38 21 00 10 */ addi r1, r1, 0x10
-/* 80523004 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__15dGrass_packet_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__dt__15dGrass_packet_cFv.s
deleted file mode 100644
index 57015c9dde..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__15dGrass_packet_cFv.s
+++ /dev/null
@@ -1,36 +0,0 @@
-lbl_8051BFBC:
-/* 8051BFBC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051BFC0 7C 08 02 A6 */ mflr r0
-/* 8051BFC4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051BFC8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8051BFCC 93 C1 00 08 */ stw r30, 8(r1)
-/* 8051BFD0 7C 7E 1B 79 */ or. r30, r3, r3
-/* 8051BFD4 7C 9F 23 78 */ mr r31, r4
-/* 8051BFD8 41 82 00 4C */ beq lbl_8051C024
-/* 8051BFDC 3C 60 80 52 */ lis r3, __vt__15dGrass_packet_c@ha /* 0x805278A4@ha */
-/* 8051BFE0 38 03 78 A4 */ addi r0, r3, __vt__15dGrass_packet_c@l /* 0x805278A4@l */
-/* 8051BFE4 90 1E 00 00 */ stw r0, 0(r30)
-/* 8051BFE8 38 7E 00 14 */ addi r3, r30, 0x14
-/* 8051BFEC 3C 80 80 52 */ lis r4, __dt__13dGrass_data_cFv@ha /* 0x80520940@ha */
-/* 8051BFF0 38 84 09 40 */ addi r4, r4, __dt__13dGrass_data_cFv@l /* 0x80520940@l */
-/* 8051BFF4 38 A0 00 4C */ li r5, 0x4c
-/* 8051BFF8 38 C0 05 DC */ li r6, 0x5dc
-/* 8051BFFC 4B E4 5C ED */ bl __destroy_arr
-/* 8051C000 28 1E 00 00 */ cmplwi r30, 0
-/* 8051C004 41 82 00 10 */ beq lbl_8051C014
-/* 8051C008 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
-/* 8051C00C 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
-/* 8051C010 90 1E 00 00 */ stw r0, 0(r30)
-lbl_8051C014:
-/* 8051C014 7F E0 07 35 */ extsh. r0, r31
-/* 8051C018 40 81 00 0C */ ble lbl_8051C024
-/* 8051C01C 7F C3 F3 78 */ mr r3, r30
-/* 8051C020 4B DB 2D 1D */ bl __dl__FPv
-lbl_8051C024:
-/* 8051C024 7F C3 F3 78 */ mr r3, r30
-/* 8051C028 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8051C02C 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8051C030 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C034 7C 08 03 A6 */ mtlr r0
-/* 8051C038 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C03C 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__16dFlower_packet_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/__dt__16dFlower_packet_cFv.s
deleted file mode 100644
index 5620cddd0f..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/__dt__16dFlower_packet_cFv.s
+++ /dev/null
@@ -1,36 +0,0 @@
-lbl_8051C194:
-/* 8051C194 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C198 7C 08 02 A6 */ mflr r0
-/* 8051C19C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C1A0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8051C1A4 93 C1 00 08 */ stw r30, 8(r1)
-/* 8051C1A8 7C 7E 1B 79 */ or. r30, r3, r3
-/* 8051C1AC 7C 9F 23 78 */ mr r31, r4
-/* 8051C1B0 41 82 00 4C */ beq lbl_8051C1FC
-/* 8051C1B4 3C 60 80 52 */ lis r3, __vt__16dFlower_packet_c@ha /* 0x80527890@ha */
-/* 8051C1B8 38 03 78 90 */ addi r0, r3, __vt__16dFlower_packet_c@l /* 0x80527890@l */
-/* 8051C1BC 90 1E 00 00 */ stw r0, 0(r30)
-/* 8051C1C0 38 7E 00 14 */ addi r3, r30, 0x14
-/* 8051C1C4 3C 80 80 52 */ lis r4, __dt__14dFlower_data_cFv@ha /* 0x80522FCC@ha */
-/* 8051C1C8 38 84 2F CC */ addi r4, r4, __dt__14dFlower_data_cFv@l /* 0x80522FCC@l */
-/* 8051C1CC 38 A0 00 48 */ li r5, 0x48
-/* 8051C1D0 38 C0 03 E8 */ li r6, 0x3e8
-/* 8051C1D4 4B E4 5B 15 */ bl __destroy_arr
-/* 8051C1D8 28 1E 00 00 */ cmplwi r30, 0
-/* 8051C1DC 41 82 00 10 */ beq lbl_8051C1EC
-/* 8051C1E0 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
-/* 8051C1E4 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
-/* 8051C1E8 90 1E 00 00 */ stw r0, 0(r30)
-lbl_8051C1EC:
-/* 8051C1EC 7F E0 07 35 */ extsh. r0, r31
-/* 8051C1F0 40 81 00 0C */ ble lbl_8051C1FC
-/* 8051C1F4 7F C3 F3 78 */ mr r3, r30
-/* 8051C1F8 4B DB 2B 45 */ bl __dl__FPv
-lbl_8051C1FC:
-/* 8051C1FC 7F C3 F3 78 */ mr r3, r30
-/* 8051C200 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8051C204 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8051C208 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C20C 7C 08 03 A6 */ mtlr r0
-/* 8051C210 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C214 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/createFlower__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/createFlower__9daGrass_cFv.s
deleted file mode 100644
index 18eb0322a0..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/createFlower__9daGrass_cFv.s
+++ /dev/null
@@ -1,32 +0,0 @@
-lbl_8051C0D4:
-/* 8051C0D4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C0D8 7C 08 02 A6 */ mflr r0
-/* 8051C0DC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C0E0 3C 60 80 45 */ lis r3, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 8051C0E4 80 03 0D B4 */ lwz r0, m_flower__9daGrass_c@l(r3) /* 0x80450DB4@l */
-/* 8051C0E8 28 00 00 00 */ cmplwi r0, 0
-/* 8051C0EC 41 82 00 0C */ beq lbl_8051C0F8
-/* 8051C0F0 38 60 00 01 */ li r3, 1
-/* 8051C0F4 48 00 00 3C */ b lbl_8051C130
-lbl_8051C0F8:
-/* 8051C0F8 3C 60 00 01 */ lis r3, 0x0001 /* 0x00012A54@ha */
-/* 8051C0FC 38 63 2A 54 */ addi r3, r3, 0x2A54 /* 0x00012A54@l */
-/* 8051C100 4B DB 2B 4D */ bl __nw__FUl
-/* 8051C104 7C 60 1B 79 */ or. r0, r3, r3
-/* 8051C108 41 82 00 0C */ beq lbl_8051C114
-/* 8051C10C 48 00 5B 59 */ bl __ct__16dFlower_packet_cFv
-/* 8051C110 7C 60 1B 78 */ mr r0, r3
-lbl_8051C114:
-/* 8051C114 3C 60 80 45 */ lis r3, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 8051C118 90 03 0D B4 */ stw r0, m_flower__9daGrass_c@l(r3) /* 0x80450DB4@l */
-/* 8051C11C 28 00 00 00 */ cmplwi r0, 0
-/* 8051C120 40 82 00 0C */ bne lbl_8051C12C
-/* 8051C124 38 60 00 00 */ li r3, 0
-/* 8051C128 48 00 00 08 */ b lbl_8051C130
-lbl_8051C12C:
-/* 8051C12C 38 60 00 01 */ li r3, 1
-lbl_8051C130:
-/* 8051C130 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C134 7C 08 03 A6 */ mtlr r0
-/* 8051C138 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C13C 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/createGrass__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/createGrass__9daGrass_cFv.s
deleted file mode 100644
index c1af7cf3f9..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/createGrass__9daGrass_cFv.s
+++ /dev/null
@@ -1,32 +0,0 @@
-lbl_8051BEFC:
-/* 8051BEFC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051BF00 7C 08 02 A6 */ mflr r0
-/* 8051BF04 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051BF08 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051BF0C 80 03 0D B0 */ lwz r0, m_grass__9daGrass_c@l(r3) /* 0x80450DB0@l */
-/* 8051BF10 28 00 00 00 */ cmplwi r0, 0
-/* 8051BF14 41 82 00 0C */ beq lbl_8051BF20
-/* 8051BF18 38 60 00 01 */ li r3, 1
-/* 8051BF1C 48 00 00 3C */ b lbl_8051BF58
-lbl_8051BF20:
-/* 8051BF20 3C 60 00 02 */ lis r3, 0x0002 /* 0x0001D718@ha */
-/* 8051BF24 38 63 D7 18 */ addi r3, r3, 0xD718 /* 0x0001D718@l */
-/* 8051BF28 4B DB 2D 25 */ bl __nw__FUl
-/* 8051BF2C 7C 60 1B 79 */ or. r0, r3, r3
-/* 8051BF30 41 82 00 0C */ beq lbl_8051BF3C
-/* 8051BF34 48 00 2F 59 */ bl __ct__15dGrass_packet_cFv
-/* 8051BF38 7C 60 1B 78 */ mr r0, r3
-lbl_8051BF3C:
-/* 8051BF3C 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051BF40 90 03 0D B0 */ stw r0, m_grass__9daGrass_c@l(r3) /* 0x80450DB0@l */
-/* 8051BF44 28 00 00 00 */ cmplwi r0, 0
-/* 8051BF48 40 82 00 0C */ bne lbl_8051BF54
-/* 8051BF4C 38 60 00 00 */ li r3, 0
-/* 8051BF50 48 00 00 08 */ b lbl_8051BF58
-lbl_8051BF54:
-/* 8051BF54 38 60 00 01 */ li r3, 1
-lbl_8051BF58:
-/* 8051BF58 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051BF5C 7C 08 03 A6 */ mtlr r0
-/* 8051BF60 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051BF64 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_Delete__FP9daGrass_c.s b/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_Delete__FP9daGrass_c.s
deleted file mode 100644
index a23960b361..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_Delete__FP9daGrass_c.s
+++ /dev/null
@@ -1,23 +0,0 @@
-lbl_8051D6CC:
-/* 8051D6CC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051D6D0 7C 08 02 A6 */ mflr r0
-/* 8051D6D4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051D6D8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8051D6DC 7C 7F 1B 78 */ mr r31, r3
-/* 8051D6E0 3C 80 80 45 */ lis r4, m_myObj__9daGrass_c@ha /* 0x80450DAC@ha */
-/* 8051D6E4 80 04 0D AC */ lwz r0, m_myObj__9daGrass_c@l(r4) /* 0x80450DAC@l */
-/* 8051D6E8 7C 00 F8 40 */ cmplw r0, r31
-/* 8051D6EC 40 82 00 1C */ bne lbl_8051D708
-/* 8051D6F0 4B FF E8 79 */ bl deleteGrass__9daGrass_cFv
-/* 8051D6F4 7F E3 FB 78 */ mr r3, r31
-/* 8051D6F8 4B FF EA 49 */ bl deleteFlower__9daGrass_cFv
-/* 8051D6FC 38 00 00 00 */ li r0, 0
-/* 8051D700 3C 60 80 45 */ lis r3, m_myObj__9daGrass_c@ha /* 0x80450DAC@ha */
-/* 8051D704 90 03 0D AC */ stw r0, m_myObj__9daGrass_c@l(r3) /* 0x80450DAC@l */
-lbl_8051D708:
-/* 8051D708 38 60 00 01 */ li r3, 1
-/* 8051D70C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8051D710 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051D714 7C 08 03 A6 */ mtlr r0
-/* 8051D718 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051D71C 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_create__FP9daGrass_c.s b/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_create__FP9daGrass_c.s
deleted file mode 100644
index a0afffcfa6..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_create__FP9daGrass_c.s
+++ /dev/null
@@ -1,24 +0,0 @@
-lbl_8051C2B0:
-/* 8051C2B0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C2B4 7C 08 02 A6 */ mflr r0
-/* 8051C2B8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C2BC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8051C2C0 7C 7F 1B 78 */ mr r31, r3
-/* 8051C2C4 80 03 04 A0 */ lwz r0, 0x4a0(r3)
-/* 8051C2C8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
-/* 8051C2CC 40 82 00 1C */ bne lbl_8051C2E8
-/* 8051C2D0 28 1F 00 00 */ cmplwi r31, 0
-/* 8051C2D4 41 82 00 08 */ beq lbl_8051C2DC
-/* 8051C2D8 4B AF C8 8D */ bl __ct__10fopAc_ac_cFv
-lbl_8051C2DC:
-/* 8051C2DC 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
-/* 8051C2E0 60 00 00 08 */ ori r0, r0, 8
-/* 8051C2E4 90 1F 04 A0 */ stw r0, 0x4a0(r31)
-lbl_8051C2E8:
-/* 8051C2E8 7F E3 FB 78 */ mr r3, r31
-/* 8051C2EC 48 00 00 19 */ bl create__9daGrass_cFv
-/* 8051C2F0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8051C2F4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C2F8 7C 08 03 A6 */ mtlr r0
-/* 8051C2FC 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C300 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_draw__FP9daGrass_c.s b/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_draw__FP9daGrass_c.s
deleted file mode 100644
index 193d13f067..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_draw__FP9daGrass_c.s
+++ /dev/null
@@ -1,15 +0,0 @@
-lbl_8051D77C:
-/* 8051D77C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051D780 7C 08 02 A6 */ mflr r0
-/* 8051D784 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051D788 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8051D78C 7C 7F 1B 78 */ mr r31, r3
-/* 8051D790 4B FF E8 E5 */ bl drawGrass__9daGrass_cFv
-/* 8051D794 7F E3 FB 78 */ mr r3, r31
-/* 8051D798 4B FF EA B5 */ bl drawFlower__9daGrass_cFv
-/* 8051D79C 38 60 00 01 */ li r3, 1
-/* 8051D7A0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8051D7A4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051D7A8 7C 08 03 A6 */ mtlr r0
-/* 8051D7AC 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051D7B0 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_execute__FP9daGrass_c.s b/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_execute__FP9daGrass_c.s
deleted file mode 100644
index 74ecea9eaf..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/daGrass_execute__FP9daGrass_c.s
+++ /dev/null
@@ -1,24 +0,0 @@
-lbl_8051D720:
-/* 8051D720 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051D724 7C 08 02 A6 */ mflr r0
-/* 8051D728 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051D72C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8051D730 7C 7F 1B 78 */ mr r31, r3
-/* 8051D734 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 8051D738 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 8051D73C 38 63 4B 88 */ addi r3, r3, 0x4b88
-/* 8051D740 4B B6 7F 51 */ bl Prepare__12dCcMassS_MngFv
-/* 8051D744 7F E3 FB 78 */ mr r3, r31
-/* 8051D748 4B FF E8 F9 */ bl executeGrass__9daGrass_cFv
-/* 8051D74C 7F E3 FB 78 */ mr r3, r31
-/* 8051D750 4B FF EA C9 */ bl executeFlower__9daGrass_cFv
-/* 8051D754 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 8051D758 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 8051D75C 38 63 23 3C */ addi r3, r3, 0x233c
-/* 8051D760 4B B6 9B AD */ bl MassClear__4dCcSFv
-/* 8051D764 38 60 00 01 */ li r3, 1
-/* 8051D768 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8051D76C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051D770 7C 08 03 A6 */ mtlr r0
-/* 8051D774 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051D778 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/deleteAnm__14dFlower_data_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/deleteAnm__14dFlower_data_cFv.s
deleted file mode 100644
index 4a8ef6f2ed..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/deleteAnm__14dFlower_data_cFv.s
+++ /dev/null
@@ -1,24 +0,0 @@
-lbl_80520AD8:
-/* 80520AD8 88 03 00 01 */ lbz r0, 1(r3)
-/* 80520ADC 7C 00 07 74 */ extsb r0, r0
-/* 80520AE0 2C 00 00 08 */ cmpwi r0, 8
-/* 80520AE4 4D 80 00 20 */ bltlr
-/* 80520AE8 38 C0 00 00 */ li r6, 0
-/* 80520AEC 3C 80 80 45 */ lis r4, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 80520AF0 38 A4 0D B4 */ addi r5, r4, m_flower__9daGrass_c@l /* 0x80450DB4@l */
-/* 80520AF4 80 85 00 00 */ lwz r4, 0(r5)
-/* 80520AF8 3C 84 00 01 */ addis r4, r4, 1
-/* 80520AFC 1C 00 00 38 */ mulli r0, r0, 0x38
-/* 80520B00 7C 84 02 14 */ add r4, r4, r0
-/* 80520B04 98 C4 19 54 */ stb r6, 0x1954(r4)
-/* 80520B08 80 A5 00 00 */ lwz r5, 0(r5)
-/* 80520B0C 88 03 00 01 */ lbz r0, 1(r3)
-/* 80520B10 7C 00 07 74 */ extsb r0, r0
-/* 80520B14 1C 80 00 38 */ mulli r4, r0, 0x38
-/* 80520B18 3C 84 00 01 */ addis r4, r4, 1
-/* 80520B1C 38 84 19 54 */ addi r4, r4, 0x1954
-/* 80520B20 7C 85 22 14 */ add r4, r5, r4
-/* 80520B24 A8 04 00 02 */ lha r0, 2(r4)
-/* 80520B28 54 00 9F 7E */ rlwinm r0, r0, 0x13, 0x1d, 0x1f
-/* 80520B2C 98 03 00 01 */ stb r0, 1(r3)
-/* 80520B30 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/deleteData__13dGrass_room_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/deleteData__13dGrass_room_cFv.s
deleted file mode 100644
index 43d46f07fa..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/deleteData__13dGrass_room_cFv.s
+++ /dev/null
@@ -1,43 +0,0 @@
-lbl_8051EDF0:
-/* 8051EDF0 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8051EDF4 7C 08 02 A6 */ mflr r0
-/* 8051EDF8 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8051EDFC 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8051EE00 7C 7F 1B 78 */ mr r31, r3
-/* 8051EE04 48 00 00 68 */ b lbl_8051EE6C
-lbl_8051EE08:
-/* 8051EE08 38 A0 00 00 */ li r5, 0
-/* 8051EE0C 98 A3 00 00 */ stb r5, 0(r3)
-/* 8051EE10 80 7F 00 00 */ lwz r3, 0(r31)
-/* 8051EE14 88 03 00 02 */ lbz r0, 2(r3)
-/* 8051EE18 7C 00 07 74 */ extsb r0, r0
-/* 8051EE1C 2C 00 00 10 */ cmpwi r0, 0x10
-/* 8051EE20 41 80 00 40 */ blt lbl_8051EE60
-/* 8051EE24 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051EE28 80 83 0D B0 */ lwz r4, m_grass__9daGrass_c@l(r3) /* 0x80450DB0@l */
-/* 8051EE2C 1C 60 00 38 */ mulli r3, r0, 0x38
-/* 8051EE30 3C 63 00 02 */ addis r3, r3, 2
-/* 8051EE34 38 63 BD 64 */ addi r3, r3, -17052
-/* 8051EE38 7C A4 19 AE */ stbx r5, r4, r3
-/* 8051EE3C 4B D4 8A 31 */ bl cM_rnd__Fv
-/* 8051EE40 3C 60 80 52 */ lis r3, lit_4600@ha /* 0x80523098@ha */
-/* 8051EE44 C0 03 30 98 */ lfs f0, lit_4600@l(r3) /* 0x80523098@l */
-/* 8051EE48 EC 00 00 72 */ fmuls f0, f0, f1
-/* 8051EE4C FC 00 00 1E */ fctiwz f0, f0
-/* 8051EE50 D8 01 00 08 */ stfd f0, 8(r1)
-/* 8051EE54 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 8051EE58 80 7F 00 00 */ lwz r3, 0(r31)
-/* 8051EE5C 98 03 00 02 */ stb r0, 2(r3)
-lbl_8051EE60:
-/* 8051EE60 80 7F 00 00 */ lwz r3, 0(r31)
-/* 8051EE64 80 03 00 48 */ lwz r0, 0x48(r3)
-/* 8051EE68 90 1F 00 00 */ stw r0, 0(r31)
-lbl_8051EE6C:
-/* 8051EE6C 80 7F 00 00 */ lwz r3, 0(r31)
-/* 8051EE70 28 03 00 00 */ cmplwi r3, 0
-/* 8051EE74 40 82 FF 94 */ bne lbl_8051EE08
-/* 8051EE78 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8051EE7C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8051EE80 7C 08 03 A6 */ mtlr r0
-/* 8051EE84 38 21 00 20 */ addi r1, r1, 0x20
-/* 8051EE88 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/deleteData__14dFlower_room_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/deleteData__14dFlower_room_cFv.s
deleted file mode 100644
index e633bd9c6a..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/deleteData__14dFlower_room_cFv.s
+++ /dev/null
@@ -1,26 +0,0 @@
-lbl_80521C08:
-/* 80521C08 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80521C0C 7C 08 02 A6 */ mflr r0
-/* 80521C10 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80521C14 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80521C18 93 C1 00 08 */ stw r30, 8(r1)
-/* 80521C1C 7C 7E 1B 78 */ mr r30, r3
-/* 80521C20 3B E0 00 00 */ li r31, 0
-/* 80521C24 48 00 00 1C */ b lbl_80521C40
-lbl_80521C28:
-/* 80521C28 4B FF EE B1 */ bl deleteAnm__14dFlower_data_cFv
-/* 80521C2C 80 7E 00 00 */ lwz r3, 0(r30)
-/* 80521C30 9B E3 00 00 */ stb r31, 0(r3)
-/* 80521C34 80 7E 00 00 */ lwz r3, 0(r30)
-/* 80521C38 80 03 00 44 */ lwz r0, 0x44(r3)
-/* 80521C3C 90 1E 00 00 */ stw r0, 0(r30)
-lbl_80521C40:
-/* 80521C40 80 7E 00 00 */ lwz r3, 0(r30)
-/* 80521C44 28 03 00 00 */ cmplwi r3, 0
-/* 80521C48 40 82 FF E0 */ bne lbl_80521C28
-/* 80521C4C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80521C50 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80521C54 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80521C58 7C 08 03 A6 */ mtlr r0
-/* 80521C5C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80521C60 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/deleteFlower__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/deleteFlower__9daGrass_cFv.s
deleted file mode 100644
index 713841c43f..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/deleteFlower__9daGrass_cFv.s
+++ /dev/null
@@ -1,24 +0,0 @@
-lbl_8051C140:
-/* 8051C140 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C144 7C 08 02 A6 */ mflr r0
-/* 8051C148 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C14C 3C 60 80 45 */ lis r3, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 8051C150 38 63 0D B4 */ addi r3, r3, m_flower__9daGrass_c@l /* 0x80450DB4@l */
-/* 8051C154 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051C158 28 03 00 00 */ cmplwi r3, 0
-/* 8051C15C 41 82 00 28 */ beq lbl_8051C184
-/* 8051C160 41 82 00 18 */ beq lbl_8051C178
-/* 8051C164 38 80 00 01 */ li r4, 1
-/* 8051C168 81 83 00 00 */ lwz r12, 0(r3)
-/* 8051C16C 81 8C 00 10 */ lwz r12, 0x10(r12)
-/* 8051C170 7D 89 03 A6 */ mtctr r12
-/* 8051C174 4E 80 04 21 */ bctrl
-lbl_8051C178:
-/* 8051C178 38 00 00 00 */ li r0, 0
-/* 8051C17C 3C 60 80 45 */ lis r3, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 8051C180 90 03 0D B4 */ stw r0, m_flower__9daGrass_c@l(r3) /* 0x80450DB4@l */
-lbl_8051C184:
-/* 8051C184 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C188 7C 08 03 A6 */ mtlr r0
-/* 8051C18C 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C190 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/deleteGrass__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/deleteGrass__9daGrass_cFv.s
deleted file mode 100644
index a5f6a648d2..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/deleteGrass__9daGrass_cFv.s
+++ /dev/null
@@ -1,24 +0,0 @@
-lbl_8051BF68:
-/* 8051BF68 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051BF6C 7C 08 02 A6 */ mflr r0
-/* 8051BF70 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051BF74 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051BF78 38 63 0D B0 */ addi r3, r3, m_grass__9daGrass_c@l /* 0x80450DB0@l */
-/* 8051BF7C 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051BF80 28 03 00 00 */ cmplwi r3, 0
-/* 8051BF84 41 82 00 28 */ beq lbl_8051BFAC
-/* 8051BF88 41 82 00 18 */ beq lbl_8051BFA0
-/* 8051BF8C 38 80 00 01 */ li r4, 1
-/* 8051BF90 81 83 00 00 */ lwz r12, 0(r3)
-/* 8051BF94 81 8C 00 10 */ lwz r12, 0x10(r12)
-/* 8051BF98 7D 89 03 A6 */ mtctr r12
-/* 8051BF9C 4E 80 04 21 */ bctrl
-lbl_8051BFA0:
-/* 8051BFA0 38 00 00 00 */ li r0, 0
-/* 8051BFA4 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051BFA8 90 03 0D B0 */ stw r0, m_grass__9daGrass_c@l(r3) /* 0x80450DB0@l */
-lbl_8051BFAC:
-/* 8051BFAC 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051BFB0 7C 08 03 A6 */ mtlr r0
-/* 8051BFB4 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051BFB8 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__15dGrass_packet_cFi.s b/asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__15dGrass_packet_cFi.s
deleted file mode 100644
index 3cc292012e..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__15dGrass_packet_cFi.s
+++ /dev/null
@@ -1,14 +0,0 @@
-lbl_80520864:
-/* 80520864 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80520868 7C 08 02 A6 */ mflr r0
-/* 8052086C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80520870 7C 60 1B 78 */ mr r0, r3
-/* 80520874 54 83 10 3A */ slwi r3, r4, 2
-/* 80520878 3C 63 00 02 */ addis r3, r3, 2
-/* 8052087C 38 63 D5 E4 */ addi r3, r3, -10780
-/* 80520880 7C 60 1A 14 */ add r3, r0, r3
-/* 80520884 4B FF E5 6D */ bl deleteData__13dGrass_room_cFv
-/* 80520888 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8052088C 7C 08 03 A6 */ mtlr r0
-/* 80520890 38 21 00 10 */ addi r1, r1, 0x10
-/* 80520894 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__16dFlower_packet_cFi.s b/asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__16dFlower_packet_cFi.s
deleted file mode 100644
index 62ca313893..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__16dFlower_packet_cFi.s
+++ /dev/null
@@ -1,14 +0,0 @@
-lbl_80522F0C:
-/* 80522F0C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80522F10 7C 08 02 A6 */ mflr r0
-/* 80522F14 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80522F18 7C 60 1B 78 */ mr r0, r3
-/* 80522F1C 54 83 10 3A */ slwi r3, r4, 2
-/* 80522F20 3C 63 00 01 */ addis r3, r3, 1
-/* 80522F24 38 63 29 14 */ addi r3, r3, 0x2914
-/* 80522F28 7C 60 1A 14 */ add r3, r0, r3
-/* 80522F2C 4B FF EC DD */ bl deleteData__14dFlower_room_cFv
-/* 80522F30 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80522F34 7C 08 03 A6 */ mtlr r0
-/* 80522F38 38 21 00 10 */ addi r1, r1, 0x10
-/* 80522F3C 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/drawFlower__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/drawFlower__9daGrass_cFv.s
deleted file mode 100644
index 8186d16b45..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/drawFlower__9daGrass_cFv.s
+++ /dev/null
@@ -1,15 +0,0 @@
-lbl_8051C24C:
-/* 8051C24C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C250 7C 08 02 A6 */ mflr r0
-/* 8051C254 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C258 3C 60 80 45 */ lis r3, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 8051C25C 38 63 0D B4 */ addi r3, r3, m_flower__9daGrass_c@l /* 0x80450DB4@l */
-/* 8051C260 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051C264 28 03 00 00 */ cmplwi r3, 0
-/* 8051C268 41 82 00 08 */ beq lbl_8051C270
-/* 8051C26C 48 00 67 F9 */ bl update__16dFlower_packet_cFv
-lbl_8051C270:
-/* 8051C270 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C274 7C 08 03 A6 */ mtlr r0
-/* 8051C278 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C27C 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/drawGrass__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/drawGrass__9daGrass_cFv.s
deleted file mode 100644
index ac7d7dec93..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/drawGrass__9daGrass_cFv.s
+++ /dev/null
@@ -1,15 +0,0 @@
-lbl_8051C074:
-/* 8051C074 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C078 7C 08 02 A6 */ mflr r0
-/* 8051C07C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C080 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051C084 38 63 0D B0 */ addi r3, r3, m_grass__9daGrass_c@l /* 0x80450DB0@l */
-/* 8051C088 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051C08C 28 03 00 00 */ cmplwi r3, 0
-/* 8051C090 41 82 00 08 */ beq lbl_8051C098
-/* 8051C094 48 00 3F 9D */ bl update__15dGrass_packet_cFv
-lbl_8051C098:
-/* 8051C098 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C09C 7C 08 03 A6 */ mtlr r0
-/* 8051C0A0 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C0A4 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/executeFlower__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/executeFlower__9daGrass_cFv.s
deleted file mode 100644
index 181e89df34..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/executeFlower__9daGrass_cFv.s
+++ /dev/null
@@ -1,15 +0,0 @@
-lbl_8051C218:
-/* 8051C218 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C21C 7C 08 02 A6 */ mflr r0
-/* 8051C220 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C224 3C 60 80 45 */ lis r3, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 8051C228 38 63 0D B4 */ addi r3, r3, m_flower__9daGrass_c@l /* 0x80450DB4@l */
-/* 8051C22C 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051C230 28 03 00 00 */ cmplwi r3, 0
-/* 8051C234 41 82 00 08 */ beq lbl_8051C23C
-/* 8051C238 48 00 65 3D */ bl calc__16dFlower_packet_cFv
-lbl_8051C23C:
-/* 8051C23C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C240 7C 08 03 A6 */ mtlr r0
-/* 8051C244 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C248 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/executeGrass__9daGrass_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/executeGrass__9daGrass_cFv.s
deleted file mode 100644
index 15dca4d004..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/executeGrass__9daGrass_cFv.s
+++ /dev/null
@@ -1,15 +0,0 @@
-lbl_8051C040:
-/* 8051C040 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C044 7C 08 02 A6 */ mflr r0
-/* 8051C048 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C04C 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051C050 38 63 0D B0 */ addi r3, r3, m_grass__9daGrass_c@l /* 0x80450DB0@l */
-/* 8051C054 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051C058 28 03 00 00 */ cmplwi r3, 0
-/* 8051C05C 41 82 00 08 */ beq lbl_8051C064
-/* 8051C060 48 00 3A 5D */ bl calc__15dGrass_packet_cFv
-lbl_8051C064:
-/* 8051C064 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C068 7C 08 03 A6 */ mtlr r0
-/* 8051C06C 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C070 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newAnm__15dGrass_packet_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/newAnm__15dGrass_packet_cFv.s
deleted file mode 100644
index cf2f781343..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newAnm__15dGrass_packet_cFv.s
+++ /dev/null
@@ -1,22 +0,0 @@
-lbl_80520898:
-/* 80520898 3C 83 00 02 */ addis r4, r3, 2
-/* 8052089C 38 60 00 10 */ li r3, 0x10
-/* 805208A0 38 00 00 60 */ li r0, 0x60
-/* 805208A4 7C 09 03 A6 */ mtctr r0
-/* 805208A8 38 84 C0 E4 */ addi r4, r4, -16156
-lbl_805208AC:
-/* 805208AC 88 04 00 00 */ lbz r0, 0(r4)
-/* 805208B0 28 00 00 00 */ cmplwi r0, 0
-/* 805208B4 40 82 00 1C */ bne lbl_805208D0
-/* 805208B8 38 00 00 01 */ li r0, 1
-/* 805208BC 98 04 00 00 */ stb r0, 0(r4)
-/* 805208C0 38 00 00 00 */ li r0, 0
-/* 805208C4 B0 04 00 02 */ sth r0, 2(r4)
-/* 805208C8 B0 04 00 04 */ sth r0, 4(r4)
-/* 805208CC 4E 80 00 20 */ blr
-lbl_805208D0:
-/* 805208D0 38 84 00 38 */ addi r4, r4, 0x38
-/* 805208D4 38 63 00 01 */ addi r3, r3, 1
-/* 805208D8 42 00 FF D4 */ bdnz lbl_805208AC
-/* 805208DC 38 60 FF FF */ li r3, -1
-/* 805208E0 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newAnm__16dFlower_packet_cFv.s b/asm/rel/d/a/d_a_grass/d_a_grass/newAnm__16dFlower_packet_cFv.s
deleted file mode 100644
index 5a9f17d779..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newAnm__16dFlower_packet_cFv.s
+++ /dev/null
@@ -1,22 +0,0 @@
-lbl_80522F40:
-/* 80522F40 3C 83 00 01 */ addis r4, r3, 1
-/* 80522F44 38 60 00 08 */ li r3, 8
-/* 80522F48 38 00 00 40 */ li r0, 0x40
-/* 80522F4C 7C 09 03 A6 */ mtctr r0
-/* 80522F50 38 84 1B 14 */ addi r4, r4, 0x1b14
-lbl_80522F54:
-/* 80522F54 88 04 00 00 */ lbz r0, 0(r4)
-/* 80522F58 28 00 00 00 */ cmplwi r0, 0
-/* 80522F5C 40 82 00 1C */ bne lbl_80522F78
-/* 80522F60 38 00 00 01 */ li r0, 1
-/* 80522F64 98 04 00 00 */ stb r0, 0(r4)
-/* 80522F68 38 00 00 00 */ li r0, 0
-/* 80522F6C B0 04 00 02 */ sth r0, 2(r4)
-/* 80522F70 B0 04 00 04 */ sth r0, 4(r4)
-/* 80522F74 4E 80 00 20 */ blr
-lbl_80522F78:
-/* 80522F78 38 84 00 38 */ addi r4, r4, 0x38
-/* 80522F7C 38 63 00 01 */ addi r3, r3, 1
-/* 80522F80 42 00 FF D4 */ bdnz lbl_80522F54
-/* 80522F84 38 60 FF FF */ li r3, -1
-/* 80522F88 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newData__13dGrass_room_cFP13dGrass_data_c.s b/asm/rel/d/a/d_a_grass/d_a_grass/newData__13dGrass_room_cFP13dGrass_data_c.s
deleted file mode 100644
index 56bedaa7f3..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newData__13dGrass_room_cFP13dGrass_data_c.s
+++ /dev/null
@@ -1,5 +0,0 @@
-lbl_8051EDE0:
-/* 8051EDE0 80 03 00 00 */ lwz r0, 0(r3)
-/* 8051EDE4 90 04 00 48 */ stw r0, 0x48(r4)
-/* 8051EDE8 90 83 00 00 */ stw r4, 0(r3)
-/* 8051EDEC 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newData__14dFlower_room_cFP14dFlower_data_c.s b/asm/rel/d/a/d_a_grass/d_a_grass/newData__14dFlower_room_cFP14dFlower_data_c.s
deleted file mode 100644
index d7519a70fb..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newData__14dFlower_room_cFP14dFlower_data_c.s
+++ /dev/null
@@ -1,5 +0,0 @@
-lbl_80521BF8:
-/* 80521BF8 80 03 00 00 */ lwz r0, 0(r3)
-/* 80521BFC 90 04 00 44 */ stw r0, 0x44(r4)
-/* 80521C00 90 83 00 00 */ stw r4, 0(r3)
-/* 80521C04 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newData__15dGrass_packet_cFR4cXyziUcUcsUc.s b/asm/rel/d/a/d_a_grass/d_a_grass/newData__15dGrass_packet_cFR4cXyziUcUcsUc.s
deleted file mode 100644
index 9e8d367bba..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newData__15dGrass_packet_cFR4cXyziUcUcsUc.s
+++ /dev/null
@@ -1,69 +0,0 @@
-lbl_80520770:
-/* 80520770 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80520774 7C 08 02 A6 */ mflr r0
-/* 80520778 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8052077C 39 61 00 20 */ addi r11, r1, 0x20
-/* 80520780 4B E4 1A 5D */ bl _savegpr_29
-/* 80520784 7C 9D 23 78 */ mr r29, r4
-/* 80520788 7C BE 2B 78 */ mr r30, r5
-/* 8052078C 7C CC 33 78 */ mr r12, r6
-/* 80520790 7C EB 3B 78 */ mr r11, r7
-/* 80520794 7D 0A 43 78 */ mr r10, r8
-/* 80520798 A0 C3 00 10 */ lhz r6, 0x10(r3)
-/* 8052079C 1C 86 00 4C */ mulli r4, r6, 0x4c
-/* 805207A0 3B E4 00 14 */ addi r31, r4, 0x14
-/* 805207A4 7F E3 FA 14 */ add r31, r3, r31
-/* 805207A8 7C C5 33 78 */ mr r5, r6
-/* 805207AC 20 06 05 DC */ subfic r0, r6, 0x5dc
-/* 805207B0 7C 09 03 A6 */ mtctr r0
-/* 805207B4 2C 06 05 DC */ cmpwi r6, 0x5dc
-/* 805207B8 40 80 00 40 */ bge lbl_805207F8
-lbl_805207BC:
-/* 805207BC 88 1F 00 00 */ lbz r0, 0(r31)
-/* 805207C0 28 00 00 00 */ cmplwi r0, 0
-/* 805207C4 40 82 00 28 */ bne lbl_805207EC
-/* 805207C8 91 21 00 08 */ stw r9, 8(r1)
-/* 805207CC 7F E4 FB 78 */ mr r4, r31
-/* 805207D0 7F A6 EB 78 */ mr r6, r29
-/* 805207D4 7F C7 F3 78 */ mr r7, r30
-/* 805207D8 7D 88 63 78 */ mr r8, r12
-/* 805207DC 7D 69 5B 78 */ mr r9, r11
-/* 805207E0 4B FF FE 9D */ bl setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc
-/* 805207E4 7F E3 FB 78 */ mr r3, r31
-/* 805207E8 48 00 00 64 */ b lbl_8052084C
-lbl_805207EC:
-/* 805207EC 3B FF 00 4C */ addi r31, r31, 0x4c
-/* 805207F0 38 A5 00 01 */ addi r5, r5, 1
-/* 805207F4 42 00 FF C8 */ bdnz lbl_805207BC
-lbl_805207F8:
-/* 805207F8 3B E3 00 14 */ addi r31, r3, 0x14
-/* 805207FC 38 A0 00 00 */ li r5, 0
-/* 80520800 7C C9 03 A6 */ mtctr r6
-/* 80520804 2C 06 00 00 */ cmpwi r6, 0
-/* 80520808 40 81 00 40 */ ble lbl_80520848
-lbl_8052080C:
-/* 8052080C 88 1F 00 00 */ lbz r0, 0(r31)
-/* 80520810 28 00 00 00 */ cmplwi r0, 0
-/* 80520814 40 82 00 28 */ bne lbl_8052083C
-/* 80520818 91 21 00 08 */ stw r9, 8(r1)
-/* 8052081C 7F E4 FB 78 */ mr r4, r31
-/* 80520820 7F A6 EB 78 */ mr r6, r29
-/* 80520824 7F C7 F3 78 */ mr r7, r30
-/* 80520828 7D 88 63 78 */ mr r8, r12
-/* 8052082C 7D 69 5B 78 */ mr r9, r11
-/* 80520830 4B FF FE 4D */ bl setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc
-/* 80520834 7F E3 FB 78 */ mr r3, r31
-/* 80520838 48 00 00 14 */ b lbl_8052084C
-lbl_8052083C:
-/* 8052083C 3B FF 00 4C */ addi r31, r31, 0x4c
-/* 80520840 38 A5 00 01 */ addi r5, r5, 1
-/* 80520844 42 00 FF C8 */ bdnz lbl_8052080C
-lbl_80520848:
-/* 80520848 38 60 00 00 */ li r3, 0
-lbl_8052084C:
-/* 8052084C 39 61 00 20 */ addi r11, r1, 0x20
-/* 80520850 4B E4 19 D9 */ bl _restgpr_29
-/* 80520854 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80520858 7C 08 03 A6 */ mtlr r0
-/* 8052085C 38 21 00 20 */ addi r1, r1, 0x20
-/* 80520860 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newData__16dFlower_packet_cFScR4cXyziScs.s b/asm/rel/d/a/d_a_grass/d_a_grass/newData__16dFlower_packet_cFScR4cXyziScs.s
deleted file mode 100644
index c7e6e34a00..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newData__16dFlower_packet_cFScR4cXyziScs.s
+++ /dev/null
@@ -1,65 +0,0 @@
-lbl_80522E28:
-/* 80522E28 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80522E2C 7C 08 02 A6 */ mflr r0
-/* 80522E30 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80522E34 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80522E38 93 C1 00 08 */ stw r30, 8(r1)
-/* 80522E3C 7C 9E 23 78 */ mr r30, r4
-/* 80522E40 7C AC 2B 78 */ mr r12, r5
-/* 80522E44 7C CB 33 78 */ mr r11, r6
-/* 80522E48 7C E9 3B 78 */ mr r9, r7
-/* 80522E4C 7D 0A 43 78 */ mr r10, r8
-/* 80522E50 A0 C3 00 10 */ lhz r6, 0x10(r3)
-/* 80522E54 1C 86 00 48 */ mulli r4, r6, 0x48
-/* 80522E58 3B E4 00 14 */ addi r31, r4, 0x14
-/* 80522E5C 7F E3 FA 14 */ add r31, r3, r31
-/* 80522E60 7C C5 33 78 */ mr r5, r6
-/* 80522E64 20 06 03 E8 */ subfic r0, r6, 0x3e8
-/* 80522E68 7C 09 03 A6 */ mtctr r0
-/* 80522E6C 2C 06 03 E8 */ cmpwi r6, 0x3e8
-/* 80522E70 40 80 00 38 */ bge lbl_80522EA8
-lbl_80522E74:
-/* 80522E74 88 1F 00 00 */ lbz r0, 0(r31)
-/* 80522E78 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
-/* 80522E7C 40 82 00 20 */ bne lbl_80522E9C
-/* 80522E80 7F E4 FB 78 */ mr r4, r31
-/* 80522E84 7F C6 F3 78 */ mr r6, r30
-/* 80522E88 7D 87 63 78 */ mr r7, r12
-/* 80522E8C 7D 68 5B 78 */ mr r8, r11
-/* 80522E90 4B FF FE 2D */ bl setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs
-/* 80522E94 7F E3 FB 78 */ mr r3, r31
-/* 80522E98 48 00 00 5C */ b lbl_80522EF4
-lbl_80522E9C:
-/* 80522E9C 3B FF 00 48 */ addi r31, r31, 0x48
-/* 80522EA0 38 A5 00 01 */ addi r5, r5, 1
-/* 80522EA4 42 00 FF D0 */ bdnz lbl_80522E74
-lbl_80522EA8:
-/* 80522EA8 3B E3 00 14 */ addi r31, r3, 0x14
-/* 80522EAC 38 A0 00 00 */ li r5, 0
-/* 80522EB0 7C C9 03 A6 */ mtctr r6
-/* 80522EB4 2C 06 00 00 */ cmpwi r6, 0
-/* 80522EB8 40 81 00 38 */ ble lbl_80522EF0
-lbl_80522EBC:
-/* 80522EBC 88 1F 00 00 */ lbz r0, 0(r31)
-/* 80522EC0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
-/* 80522EC4 40 82 00 20 */ bne lbl_80522EE4
-/* 80522EC8 7F E4 FB 78 */ mr r4, r31
-/* 80522ECC 7F C6 F3 78 */ mr r6, r30
-/* 80522ED0 7D 87 63 78 */ mr r7, r12
-/* 80522ED4 7D 68 5B 78 */ mr r8, r11
-/* 80522ED8 4B FF FD E5 */ bl setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs
-/* 80522EDC 7F E3 FB 78 */ mr r3, r31
-/* 80522EE0 48 00 00 14 */ b lbl_80522EF4
-lbl_80522EE4:
-/* 80522EE4 3B FF 00 48 */ addi r31, r31, 0x48
-/* 80522EE8 38 A5 00 01 */ addi r5, r5, 1
-/* 80522EEC 42 00 FF D0 */ bdnz lbl_80522EBC
-lbl_80522EF0:
-/* 80522EF0 38 60 00 00 */ li r3, 0
-lbl_80522EF4:
-/* 80522EF4 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80522EF8 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80522EFC 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80522F00 7C 08 03 A6 */ mtlr r0
-/* 80522F04 38 21 00 10 */ addi r1, r1, 0x10
-/* 80522F08 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newFlowerData__9daGrass_cFScR4cXyziScs.s b/asm/rel/d/a/d_a_grass/d_a_grass/newFlowerData__9daGrass_cFScR4cXyziScs.s
deleted file mode 100644
index 0f664c771f..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newFlowerData__9daGrass_cFScR4cXyziScs.s
+++ /dev/null
@@ -1,12 +0,0 @@
-lbl_8051C280:
-/* 8051C280 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C284 7C 08 02 A6 */ mflr r0
-/* 8051C288 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C28C 3C 60 80 45 */ lis r3, m_flower__9daGrass_c@ha /* 0x80450DB4@ha */
-/* 8051C290 38 63 0D B4 */ addi r3, r3, m_flower__9daGrass_c@l /* 0x80450DB4@l */
-/* 8051C294 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051C298 48 00 6B 91 */ bl newData__16dFlower_packet_cFScR4cXyziScs
-/* 8051C29C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C2A0 7C 08 03 A6 */ mtlr r0
-/* 8051C2A4 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C2A8 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/newGrassData__9daGrass_cFR4cXyziUcUcsUc.s b/asm/rel/d/a/d_a_grass/d_a_grass/newGrassData__9daGrass_cFR4cXyziUcUcsUc.s
deleted file mode 100644
index 171e9ea9b2..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/newGrassData__9daGrass_cFR4cXyziUcUcsUc.s
+++ /dev/null
@@ -1,12 +0,0 @@
-lbl_8051C0A8:
-/* 8051C0A8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8051C0AC 7C 08 02 A6 */ mflr r0
-/* 8051C0B0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8051C0B4 3C 60 80 45 */ lis r3, m_grass__9daGrass_c@ha /* 0x80450DB0@ha */
-/* 8051C0B8 38 63 0D B0 */ addi r3, r3, m_grass__9daGrass_c@l /* 0x80450DB0@l */
-/* 8051C0BC 80 63 00 00 */ lwz r3, 0(r3)
-/* 8051C0C0 48 00 46 B1 */ bl newData__15dGrass_packet_cFR4cXyziUcUcsUc
-/* 8051C0C4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8051C0C8 7C 08 03 A6 */ mtlr r0
-/* 8051C0CC 38 21 00 10 */ addi r1, r1, 0x10
-/* 8051C0D0 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/setAnm__15dGrass_packet_cFis.s b/asm/rel/d/a/d_a_grass/d_a_grass/setAnm__15dGrass_packet_cFis.s
deleted file mode 100644
index 8237232bc1..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/setAnm__15dGrass_packet_cFis.s
+++ /dev/null
@@ -1,11 +0,0 @@
-lbl_805208E4:
-/* 805208E4 1C 84 00 38 */ mulli r4, r4, 0x38
-/* 805208E8 3C 84 00 02 */ addis r4, r4, 2
-/* 805208EC 38 84 BD 64 */ addi r4, r4, -17052
-/* 805208F0 7C 83 22 14 */ add r4, r3, r4
-/* 805208F4 38 00 00 01 */ li r0, 1
-/* 805208F8 98 04 00 00 */ stb r0, 0(r4)
-/* 805208FC 38 00 00 00 */ li r0, 0
-/* 80520900 B0 04 00 02 */ sth r0, 2(r4)
-/* 80520904 B0 04 00 04 */ sth r0, 4(r4)
-/* 80520908 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/setAnm__16dFlower_packet_cFis.s b/asm/rel/d/a/d_a_grass/d_a_grass/setAnm__16dFlower_packet_cFis.s
deleted file mode 100644
index 144a6578fe..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/setAnm__16dFlower_packet_cFis.s
+++ /dev/null
@@ -1,11 +0,0 @@
-lbl_80522F8C:
-/* 80522F8C 1C 84 00 38 */ mulli r4, r4, 0x38
-/* 80522F90 3C 84 00 01 */ addis r4, r4, 1
-/* 80522F94 38 84 19 54 */ addi r4, r4, 0x1954
-/* 80522F98 7C 83 22 14 */ add r4, r3, r4
-/* 80522F9C 38 00 00 01 */ li r0, 1
-/* 80522FA0 98 04 00 00 */ stb r0, 0(r4)
-/* 80522FA4 B0 A4 00 02 */ sth r5, 2(r4)
-/* 80522FA8 38 00 00 00 */ li r0, 0
-/* 80522FAC B0 04 00 04 */ sth r0, 4(r4)
-/* 80522FB0 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc.s b/asm/rel/d/a/d_a_grass/d_a_grass/setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc.s
deleted file mode 100644
index 75361a991e..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc.s
+++ /dev/null
@@ -1,64 +0,0 @@
-lbl_8052067C:
-/* 8052067C 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 80520680 7C 08 02 A6 */ mflr r0
-/* 80520684 90 01 00 54 */ stw r0, 0x54(r1)
-/* 80520688 DB E1 00 40 */ stfd f31, 0x40(r1)
-/* 8052068C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */
-/* 80520690 39 61 00 40 */ addi r11, r1, 0x40
-/* 80520694 4B E4 1B 31 */ bl _savegpr_23
-/* 80520698 7C 77 1B 78 */ mr r23, r3
-/* 8052069C 7C 98 23 78 */ mr r24, r4
-/* 805206A0 7C B9 2B 78 */ mr r25, r5
-/* 805206A4 7C DA 33 78 */ mr r26, r6
-/* 805206A8 7C FB 3B 78 */ mr r27, r7
-/* 805206AC 7D 1C 43 78 */ mr r28, r8
-/* 805206B0 7D 3D 4B 78 */ mr r29, r9
-/* 805206B4 7D 5E 53 78 */ mr r30, r10
-/* 805206B8 8B E1 00 5B */ lbz r31, 0x5b(r1)
-/* 805206BC 4B AF DE 9D */ bl fopOvlpM_IsPeek__Fv
-/* 805206C0 2C 03 00 00 */ cmpwi r3, 0
-/* 805206C4 41 82 00 1C */ beq lbl_805206E0
-/* 805206C8 7F 43 D3 78 */ mr r3, r26
-/* 805206CC 4B FF F8 BD */ bl checkGroundY__FR4cXyz
-/* 805206D0 FF E0 08 90 */ fmr f31, f1
-/* 805206D4 38 00 00 02 */ li r0, 2
-/* 805206D8 98 18 00 00 */ stb r0, 0(r24)
-/* 805206DC 48 00 00 10 */ b lbl_805206EC
-lbl_805206E0:
-/* 805206E0 C3 FA 00 04 */ lfs f31, 4(r26)
-/* 805206E4 38 00 00 01 */ li r0, 1
-/* 805206E8 98 18 00 00 */ stb r0, 0(r24)
-lbl_805206EC:
-/* 805206EC 38 00 00 02 */ li r0, 2
-/* 805206F0 98 18 00 01 */ stb r0, 1(r24)
-/* 805206F4 3C 60 80 52 */ lis r3, lit_4600@ha /* 0x80523098@ha */
-/* 805206F8 C0 23 30 98 */ lfs f1, lit_4600@l(r3) /* 0x80523098@l */
-/* 805206FC 4B D4 72 59 */ bl cM_rndF__Ff
-/* 80520700 FC 00 08 1E */ fctiwz f0, f1
-/* 80520704 D8 01 00 08 */ stfd f0, 8(r1)
-/* 80520708 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 8052070C 98 18 00 02 */ stb r0, 2(r24)
-/* 80520710 C0 3A 00 08 */ lfs f1, 8(r26)
-/* 80520714 C0 1A 00 00 */ lfs f0, 0(r26)
-/* 80520718 D0 18 00 0C */ stfs f0, 0xc(r24)
-/* 8052071C D3 F8 00 10 */ stfs f31, 0x10(r24)
-/* 80520720 D0 38 00 14 */ stfs f1, 0x14(r24)
-/* 80520724 9B 98 00 03 */ stb r28, 3(r24)
-/* 80520728 9B B8 00 04 */ stb r29, 4(r24)
-/* 8052072C B3 D8 00 08 */ sth r30, 8(r24)
-/* 80520730 9B F8 00 05 */ stb r31, 5(r24)
-/* 80520734 57 63 10 3A */ slwi r3, r27, 2
-/* 80520738 3C 63 00 02 */ addis r3, r3, 2
-/* 8052073C 38 63 D5 E4 */ addi r3, r3, -10780
-/* 80520740 7C 77 1A 14 */ add r3, r23, r3
-/* 80520744 7F 04 C3 78 */ mr r4, r24
-/* 80520748 4B FF E6 99 */ bl newData__13dGrass_room_cFP13dGrass_data_c
-/* 8052074C B3 37 00 10 */ sth r25, 0x10(r23)
-/* 80520750 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */
-/* 80520754 CB E1 00 40 */ lfd f31, 0x40(r1)
-/* 80520758 39 61 00 40 */ addi r11, r1, 0x40
-/* 8052075C 4B E4 1A B5 */ bl _restgpr_23
-/* 80520760 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 80520764 7C 08 03 A6 */ mtlr r0
-/* 80520768 38 21 00 50 */ addi r1, r1, 0x50
-/* 8052076C 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/d_a_grass/d_a_grass/setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs.s b/asm/rel/d/a/d_a_grass/d_a_grass/setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs.s
deleted file mode 100644
index 50b30dba45..0000000000
--- a/asm/rel/d/a/d_a_grass/d_a_grass/setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs.s
+++ /dev/null
@@ -1,96 +0,0 @@
-lbl_80522CBC:
-/* 80522CBC 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 80522CC0 7C 08 02 A6 */ mflr r0
-/* 80522CC4 90 01 00 54 */ stw r0, 0x54(r1)
-/* 80522CC8 DB E1 00 40 */ stfd f31, 0x40(r1)
-/* 80522CCC F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */
-/* 80522CD0 39 61 00 40 */ addi r11, r1, 0x40
-/* 80522CD4 4B E3 F4 F1 */ bl _savegpr_23
-/* 80522CD8 7C 7B 1B 78 */ mr r27, r3
-/* 80522CDC 7C 9C 23 78 */ mr r28, r4
-/* 80522CE0 7C BD 2B 78 */ mr r29, r5
-/* 80522CE4 7C D7 33 78 */ mr r23, r6
-/* 80522CE8 7C F8 3B 78 */ mr r24, r7
-/* 80522CEC 7D 1E 43 78 */ mr r30, r8
-/* 80522CF0 7D 39 4B 78 */ mr r25, r9
-/* 80522CF4 7D 5A 53 78 */ mr r26, r10
-/* 80522CF8 3C 60 80 52 */ lis r3, cNullVec__6Z2Calc@ha /* 0x805231D8@ha */
-/* 80522CFC 3B E3 31 D8 */ addi r31, r3, cNullVec__6Z2Calc@l /* 0x805231D8@l */
-/* 80522D00 4B AF B8 59 */ bl fopOvlpM_IsPeek__Fv
-/* 80522D04 2C 03 00 00 */ cmpwi r3, 0
-/* 80522D08 41 82 00 1C */ beq lbl_80522D24
-/* 80522D0C 7F 03 C3 78 */ mr r3, r24
-/* 80522D10 4B FF FC 8D */ bl flowerCheckGroundY__FR4cXyz
-/* 80522D14 FF E0 08 90 */ fmr f31, f1
-/* 80522D18 38 00 00 06 */ li r0, 6
-/* 80522D1C 98 1C 00 00 */ stb r0, 0(r28)
-/* 80522D20 48 00 00 10 */ b lbl_80522D30
-lbl_80522D24:
-/* 80522D24 C3 F8 00 04 */ lfs f31, 4(r24)
-/* 80522D28 38 00 00 26 */ li r0, 0x26
-/* 80522D2C 98 1C 00 00 */ stb r0, 0(r28)
-lbl_80522D30:
-/* 80522D30 7E E0 07 74 */ extsb r0, r23
-/* 80522D34 2C 00 00 02 */ cmpwi r0, 2
-/* 80522D38 40 82 00 10 */ bne lbl_80522D48
-/* 80522D3C 88 1C 00 00 */ lbz r0, 0(r28)
-/* 80522D40 60 00 00 40 */ ori r0, r0, 0x40
-/* 80522D44 98 1C 00 00 */ stb r0, 0(r28)
-lbl_80522D48:
-/* 80522D48 3C 60 80 52 */ lis r3, lit_6262@ha /* 0x805231A8@ha */
-/* 80522D4C C0 23 31 A8 */ lfs f1, lit_6262@l(r3) /* 0x805231A8@l */
-/* 80522D50 4B D4 4C 05 */ bl cM_rndF__Ff
-/* 80522D54 FC 00 08 1E */ fctiwz f0, f1
-/* 80522D58 D8 01 00 08 */ stfd f0, 8(r1)
-/* 80522D5C 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 80522D60 98 1C 00 01 */ stb r0, 1(r28)
-/* 80522D64 C0 38 00 08 */ lfs f1, 8(r24)
-/* 80522D68 C0 18 00 00 */ lfs f0, 0(r24)
-/* 80522D6C D0 1C 00 08 */ stfs f0, 8(r28)
-/* 80522D70 D3 FC 00 0C */ stfs f31, 0xc(r28)
-/* 80522D74 D0 3C 00 10 */ stfs f1, 0x10(r28)
-/* 80522D78 9B 3C 00 02 */ stb r25, 2(r28)
-/* 80522D7C 38 00 00 00 */ li r0, 0
-/* 80522D80 98 1C 00 03 */ stb r0, 3(r28)
-/* 80522D84 B3 5C 00 04 */ sth r26, 4(r28)
-/* 80522D88 3C 9B 00 01 */ addis r4, r27, 1
-/* 80522D8C 57 C5 10 3A */ slwi r5, r30, 2
-/* 80522D90 7C 64 2A 14 */ add r3, r4, r5
-/* 80522D94 80 03 29 14 */ lwz r0, 0x2914(r3)
-/* 80522D98 28 00 00 00 */ cmplwi r0, 0
-/* 80522D9C 40 82 00 54 */ bne lbl_80522DF0
-/* 80522DA0 38 1F 3A 40 */ addi r0, r31, 0x3a40
-/* 80522DA4 90 04 2A 28 */ stw r0, 0x2a28(r4)
-/* 80522DA8 38 1F 40 28 */ addi r0, r31, 0x4028
-/* 80522DAC 90 04 2A 2C */ stw r0, 0x2a2c(r4)
-/* 80522DB0 38 1F 40 30 */ addi r0, r31, 0x4030
-/* 80522DB4 90 04 2A 30 */ stw r0, 0x2a30(r4)
-/* 80522DB8 38 1F 44 C0 */ addi r0, r31, 0x44c0
-/* 80522DBC 90 04 2A 34 */ stw r0, 0x2a34(r4)
-/* 80522DC0 38 60 00 80 */ li r3, 0x80
-/* 80522DC4 90 64 2A 38 */ stw r3, 0x2a38(r4)
-/* 80522DC8 38 1F 45 60 */ addi r0, r31, 0x4560
-/* 80522DCC 90 04 2A 3C */ stw r0, 0x2a3c(r4)
-/* 80522DD0 90 64 2A 40 */ stw r3, 0x2a40(r4)
-/* 80522DD4 38 1F 41 60 */ addi r0, r31, 0x4160
-/* 80522DD8 90 04 2A 44 */ stw r0, 0x2a44(r4)
-/* 80522DDC 38 60 01 20 */ li r3, 0x120
-/* 80522DE0 90 64 2A 48 */ stw r3, 0x2a48(r4)
-/* 80522DE4 38 1F 43 80 */ addi r0, r31, 0x4380
-/* 80522DE8 90 04 2A 4C */ stw r0, 0x2a4c(r4)
-/* 80522DEC 90 64 2A 50 */ stw r3, 0x2a50(r4)
-lbl_80522DF0:
-/* 80522DF0 3C 65 00 01 */ addis r3, r5, 1
-/* 80522DF4 38 63 29 14 */ addi r3, r3, 0x2914
-/* 80522DF8 7C 7B 1A 14 */ add r3, r27, r3
-/* 80522DFC 7F 84 E3 78 */ mr r4, r28
-/* 80522E00 4B FF ED F9 */ bl newData__14dFlower_room_cFP14dFlower_data_c
-/* 80522E04 B3 BB 00 10 */ sth r29, 0x10(r27)
-/* 80522E08 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */
-/* 80522E0C CB E1 00 40 */ lfd f31, 0x40(r1)
-/* 80522E10 39 61 00 40 */ addi r11, r1, 0x40
-/* 80522E14 4B E3 F3 FD */ bl _restgpr_23
-/* 80522E18 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 80522E1C 7C 08 03 A6 */ mtlr r0
-/* 80522E20 38 21 00 50 */ addi r1, r1, 0x50
-/* 80522E24 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/__dt__12daTagMhint_cFv.s b/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/__dt__12daTagMhint_cFv.s
deleted file mode 100644
index 47b0337e6a..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/__dt__12daTagMhint_cFv.s
+++ /dev/null
@@ -1,27 +0,0 @@
-lbl_805A58E8:
-/* 805A58E8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 805A58EC 7C 08 02 A6 */ mflr r0
-/* 805A58F0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 805A58F4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 805A58F8 93 C1 00 08 */ stw r30, 8(r1)
-/* 805A58FC 7C 7E 1B 79 */ or. r30, r3, r3
-/* 805A5900 7C 9F 23 78 */ mr r31, r4
-/* 805A5904 41 82 00 2C */ beq lbl_805A5930
-/* 805A5908 38 7E 05 80 */ addi r3, r30, 0x580
-/* 805A590C 38 80 FF FF */ li r4, -1
-/* 805A5910 4B CA 46 39 */ bl __dt__10dMsgFlow_cFv
-/* 805A5914 7F C3 F3 78 */ mr r3, r30
-/* 805A5918 38 80 00 00 */ li r4, 0
-/* 805A591C 4B A7 33 71 */ bl __dt__10fopAc_ac_cFv
-/* 805A5920 7F E0 07 35 */ extsh. r0, r31
-/* 805A5924 40 81 00 0C */ ble lbl_805A5930
-/* 805A5928 7F C3 F3 78 */ mr r3, r30
-/* 805A592C 4B D2 94 11 */ bl __dl__FPv
-lbl_805A5930:
-/* 805A5930 7F C3 F3 78 */ mr r3, r30
-/* 805A5934 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 805A5938 83 C1 00 08 */ lwz r30, 8(r1)
-/* 805A593C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 805A5940 7C 08 03 A6 */ mtlr r0
-/* 805A5944 38 21 00 10 */ addi r1, r1, 0x10
-/* 805A5948 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/create__12daTagMhint_cFv.s b/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/create__12daTagMhint_cFv.s
deleted file mode 100644
index b4e93e349a..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/create__12daTagMhint_cFv.s
+++ /dev/null
@@ -1,143 +0,0 @@
-lbl_805A56B8:
-/* 805A56B8 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 805A56BC 7C 08 02 A6 */ mflr r0
-/* 805A56C0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 805A56C4 39 61 00 20 */ addi r11, r1, 0x20
-/* 805A56C8 4B DB CB 15 */ bl _savegpr_29
-/* 805A56CC 7C 7E 1B 78 */ mr r30, r3
-/* 805A56D0 3C 80 80 5A */ lis r4, lit_3741@ha /* 0x805A6034@ha */
-/* 805A56D4 3B E4 60 34 */ addi r31, r4, lit_3741@l /* 0x805A6034@l */
-/* 805A56D8 80 03 04 A0 */ lwz r0, 0x4a0(r3)
-/* 805A56DC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
-/* 805A56E0 40 82 00 28 */ bne lbl_805A5708
-/* 805A56E4 7F C0 F3 79 */ or. r0, r30, r30
-/* 805A56E8 41 82 00 14 */ beq lbl_805A56FC
-/* 805A56EC 7C 1D 03 78 */ mr r29, r0
-/* 805A56F0 4B A7 34 75 */ bl __ct__10fopAc_ac_cFv
-/* 805A56F4 38 7D 05 80 */ addi r3, r29, 0x580
-/* 805A56F8 4B CA 48 09 */ bl __ct__10dMsgFlow_cFv
-lbl_805A56FC:
-/* 805A56FC 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
-/* 805A5700 60 00 00 08 */ ori r0, r0, 8
-/* 805A5704 90 1E 04 A0 */ stw r0, 0x4a0(r30)
-lbl_805A5708:
-/* 805A5708 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 805A570C 54 00 05 BE */ clrlwi r0, r0, 0x16
-/* 805A5710 B0 1E 05 74 */ sth r0, 0x574(r30)
-/* 805A5714 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 805A5718 54 00 B5 BE */ rlwinm r0, r0, 0x16, 0x16, 0x1f
-/* 805A571C B0 1E 05 7C */ sth r0, 0x57c(r30)
-/* 805A5720 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 805A5724 54 00 65 FE */ rlwinm r0, r0, 0xc, 0x17, 0x1f
-/* 805A5728 B0 1E 05 78 */ sth r0, 0x578(r30)
-/* 805A572C A0 1E 05 78 */ lhz r0, 0x578(r30)
-/* 805A5730 B0 1E 05 7A */ sth r0, 0x57a(r30)
-/* 805A5734 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 805A5738 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
-/* 805A573C 41 82 00 10 */ beq lbl_805A574C
-/* 805A5740 38 00 00 01 */ li r0, 1
-/* 805A5744 98 1E 05 6A */ stb r0, 0x56a(r30)
-/* 805A5748 48 00 00 0C */ b lbl_805A5754
-lbl_805A574C:
-/* 805A574C 38 00 00 00 */ li r0, 0
-/* 805A5750 98 1E 05 6A */ stb r0, 0x56a(r30)
-lbl_805A5754:
-/* 805A5754 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 805A5758 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
-/* 805A575C 98 1E 05 6B */ stb r0, 0x56b(r30)
-/* 805A5760 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 805A5764 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 805A5768 80 83 5D AC */ lwz r4, 0x5dac(r3)
-/* 805A576C 28 04 00 00 */ cmplwi r4, 0
-/* 805A5770 41 82 00 2C */ beq lbl_805A579C
-/* 805A5774 80 7E 04 A4 */ lwz r3, 0x4a4(r30)
-/* 805A5778 41 82 00 0C */ beq lbl_805A5784
-/* 805A577C 80 04 00 04 */ lwz r0, 4(r4)
-/* 805A5780 48 00 00 08 */ b lbl_805A5788
-lbl_805A5784:
-/* 805A5784 38 00 FF FF */ li r0, -1
-lbl_805A5788:
-/* 805A5788 7C 03 00 50 */ subf r0, r3, r0
-/* 805A578C 7C 00 00 34 */ cntlzw r0, r0
-/* 805A5790 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
-/* 805A5794 98 1E 05 72 */ stb r0, 0x572(r30)
-/* 805A5798 48 00 00 0C */ b lbl_805A57A4
-lbl_805A579C:
-/* 805A579C 38 00 00 00 */ li r0, 0
-/* 805A57A0 98 1E 05 72 */ stb r0, 0x572(r30)
-lbl_805A57A4:
-/* 805A57A4 A8 1E 04 E4 */ lha r0, 0x4e4(r30)
-/* 805A57A8 98 1E 05 68 */ stb r0, 0x568(r30)
-/* 805A57AC A8 1E 04 E4 */ lha r0, 0x4e4(r30)
-/* 805A57B0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
-/* 805A57B4 98 1E 05 69 */ stb r0, 0x569(r30)
-/* 805A57B8 A8 1E 04 E6 */ lha r0, 0x4e6(r30)
-/* 805A57BC 98 1E 05 6D */ stb r0, 0x56d(r30)
-/* 805A57C0 A8 1E 04 E6 */ lha r0, 0x4e6(r30)
-/* 805A57C4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
-/* 805A57C8 98 1E 05 6C */ stb r0, 0x56c(r30)
-/* 805A57CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 805A57D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 805A57D4 38 63 4F F8 */ addi r3, r3, 0x4ff8
-/* 805A57D8 7F C4 F3 78 */ mr r4, r30
-/* 805A57DC 88 BE 05 6C */ lbz r5, 0x56c(r30)
-/* 805A57E0 4B AA 1E B9 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc
-/* 805A57E4 B0 7E 05 76 */ sth r3, 0x576(r30)
-/* 805A57E8 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 805A57EC 54 00 17 FF */ rlwinm. r0, r0, 2, 0x1f, 0x1f
-/* 805A57F0 41 82 00 20 */ beq lbl_805A5810
-/* 805A57F4 C0 1E 04 EC */ lfs f0, 0x4ec(r30)
-/* 805A57F8 C0 3F 00 00 */ lfs f1, 0(r31)
-/* 805A57FC EC 00 00 72 */ fmuls f0, f0, f1
-/* 805A5800 D0 1E 04 EC */ stfs f0, 0x4ec(r30)
-/* 805A5804 C0 1E 04 F0 */ lfs f0, 0x4f0(r30)
-/* 805A5808 EC 00 00 72 */ fmuls f0, f0, f1
-/* 805A580C D0 1E 04 F0 */ stfs f0, 0x4f0(r30)
-lbl_805A5810:
-/* 805A5810 C0 3E 04 EC */ lfs f1, 0x4ec(r30)
-/* 805A5814 C0 1F 00 04 */ lfs f0, 4(r31)
-/* 805A5818 EC 00 00 72 */ fmuls f0, f0, f1
-/* 805A581C EC 01 00 32 */ fmuls f0, f1, f0
-/* 805A5820 D0 1E 05 CC */ stfs f0, 0x5cc(r30)
-/* 805A5824 C0 5E 04 D4 */ lfs f2, 0x4d4(r30)
-/* 805A5828 C0 3F 00 08 */ lfs f1, 8(r31)
-/* 805A582C C0 1E 04 F0 */ lfs f0, 0x4f0(r30)
-/* 805A5830 EC 01 00 32 */ fmuls f0, f1, f0
-/* 805A5834 EC 02 00 2A */ fadds f0, f2, f0
-/* 805A5838 D0 1E 05 D0 */ stfs f0, 0x5d0(r30)
-/* 805A583C 8B FE 05 6D */ lbz r31, 0x56d(r30)
-/* 805A5840 28 1F 00 FF */ cmplwi r31, 0xff
-/* 805A5844 41 82 00 68 */ beq lbl_805A58AC
-/* 805A5848 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
-/* 805A584C 7C 1D 07 74 */ extsb r29, r0
-/* 805A5850 7F A3 EB 78 */ mr r3, r29
-/* 805A5854 4B A8 7A 09 */ bl dComIfGp_getRoomCamera__Fi
-/* 805A5858 80 63 00 04 */ lwz r3, 4(r3)
-/* 805A585C 1C 1F 00 18 */ mulli r0, r31, 0x18
-/* 805A5860 7C 63 02 14 */ add r3, r3, r0
-/* 805A5864 88 03 00 10 */ lbz r0, 0x10(r3)
-/* 805A5868 1F E0 00 14 */ mulli r31, r0, 0x14
-/* 805A586C 7F A3 EB 78 */ mr r3, r29
-/* 805A5870 4B A8 7A 3D */ bl dComIfGp_getRoomArrow__Fi
-/* 805A5874 80 03 00 04 */ lwz r0, 4(r3)
-/* 805A5878 7C 60 FA 14 */ add r3, r0, r31
-/* 805A587C C0 43 00 08 */ lfs f2, 8(r3)
-/* 805A5880 C0 23 00 04 */ lfs f1, 4(r3)
-/* 805A5884 C0 03 00 00 */ lfs f0, 0(r3)
-/* 805A5888 D0 1E 05 38 */ stfs f0, 0x538(r30)
-/* 805A588C D0 3E 05 3C */ stfs f1, 0x53c(r30)
-/* 805A5890 D0 5E 05 40 */ stfs f2, 0x540(r30)
-/* 805A5894 C0 1E 05 38 */ lfs f0, 0x538(r30)
-/* 805A5898 D0 1E 05 50 */ stfs f0, 0x550(r30)
-/* 805A589C C0 1E 05 3C */ lfs f0, 0x53c(r30)
-/* 805A58A0 D0 1E 05 54 */ stfs f0, 0x554(r30)
-/* 805A58A4 C0 1E 05 40 */ lfs f0, 0x540(r30)
-/* 805A58A8 D0 1E 05 58 */ stfs f0, 0x558(r30)
-lbl_805A58AC:
-/* 805A58AC 38 60 00 04 */ li r3, 4
-/* 805A58B0 39 61 00 20 */ addi r11, r1, 0x20
-/* 805A58B4 4B DB C9 75 */ bl _restgpr_29
-/* 805A58B8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 805A58BC 7C 08 03 A6 */ mtlr r0
-/* 805A58C0 38 21 00 20 */ addi r1, r1, 0x20
-/* 805A58C4 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Create__FP10fopAc_ac_c.s
deleted file mode 100644
index a540a4939d..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Create__FP10fopAc_ac_c.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_805A58C8:
-/* 805A58C8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 805A58CC 7C 08 02 A6 */ mflr r0
-/* 805A58D0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 805A58D4 4B FF FD E5 */ bl create__12daTagMhint_cFv
-/* 805A58D8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 805A58DC 7C 08 03 A6 */ mtlr r0
-/* 805A58E0 38 21 00 10 */ addi r1, r1, 0x10
-/* 805A58E4 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Delete__FP12daTagMhint_c.s b/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Delete__FP12daTagMhint_c.s
deleted file mode 100644
index 8400031404..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Delete__FP12daTagMhint_c.s
+++ /dev/null
@@ -1,11 +0,0 @@
-lbl_805A594C:
-/* 805A594C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 805A5950 7C 08 02 A6 */ mflr r0
-/* 805A5954 90 01 00 14 */ stw r0, 0x14(r1)
-/* 805A5958 38 80 FF FF */ li r4, -1
-/* 805A595C 4B FF FF 8D */ bl __dt__12daTagMhint_cFv
-/* 805A5960 38 60 00 01 */ li r3, 1
-/* 805A5964 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 805A5968 7C 08 03 A6 */ mtlr r0
-/* 805A596C 38 21 00 10 */ addi r1, r1, 0x10
-/* 805A5970 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Execute__FP12daTagMhint_c.s b/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Execute__FP12daTagMhint_c.s
deleted file mode 100644
index c00fee09d9..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Execute__FP12daTagMhint_c.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_805A6004:
-/* 805A6004 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 805A6008 7C 08 02 A6 */ mflr r0
-/* 805A600C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 805A6010 4B FF FA D5 */ bl execute__12daTagMhint_cFv
-/* 805A6014 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 805A6018 7C 08 03 A6 */ mtlr r0
-/* 805A601C 38 21 00 10 */ addi r1, r1, 0x10
-/* 805A6020 4E 80 00 20 */ blr
diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h
index bc98e385ea..fcc4f4e2f0 100644
--- a/include/d/a/d_a_alink.h
+++ b/include/d/a/d_a_alink.h
@@ -6365,39 +6365,22 @@ public:
}
bool checkShadowModelDrawSmode() const {
- if (field_0x84e != 3 && field_0x84e != 4) {
- if (field_0x84e == 2) {
- return false;
- }
- }
- return true;
+ return field_0x84e == 3 || field_0x84e == 4 || field_0x84e == 2;
}
- int checkShadowModelDraw() const {
- int ret = 0;
-
- if (checkShadowModelDrawDemoForce() == 0) {
- if (checkShadowModelDrawSmode() != 0) {
- ret = 0;
- }
- }
-
- return ret;
+ bool checkShadowModelDraw() const {
+ return checkShadowModelDrawDemoForce() || checkShadowModelDrawSmode();
}
- int checkShadowReturnEnd() const {
- if (field_0x5e4[0].getIdx() == 0x21C && !field_0x578->isStop()) {
- return 1;
- }
-
- return 0;
+ bool checkShadowReturnEnd() const {
+ return field_0x5e4[0].getIdx() == 0x21C && field_0x578->isStop();
}
bool checkShadowModeTalkWait() const {
return (field_0x84e == 2 || field_0x84e == 1) ;
}
- void setShadowReturn() { mDemoType = 4; }
+ void setShadowReturn() { field_0x84e = 4; }
bool checkPortalObjRide() const {
diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h
index f19d7bf4a4..4cda66ba8b 100644
--- a/include/d/a/d_a_npc.h
+++ b/include/d/a/d_a_npc.h
@@ -290,7 +290,7 @@ public:
/* 0xE1E */ u16 field_0xe1e;
/* 0xE20 */ u16 field_0xe20;
/* 0xE22 */ u16 field_0xe22;
- /* 0xE24 */ u8 field_0xe24;
+ /* 0xE24 */ s8 field_0xe24;
/* 0xE25 */ u8 field_0xe25;
/* 0xE26 */ u8 field_0xe26;
/* 0xE27 */ u8 field_0xe27;
@@ -422,8 +422,8 @@ public:
}
static u8 const mCcDObjData[48];
- static u8 mCcDCyl[68];
- static u8 mCcDSph[64];
+ static dCcD_SrcCyl mCcDCyl;
+ static dCcD_SrcSph mCcDSph;
static fopAc_ac_c* mFindActorPtrs[50];
static s16 mSrchName;
static s32 mFindCount;
@@ -643,7 +643,7 @@ public:
static u8 const mCcDObjInfo[48];
static dCcD_SrcCyl mCcDCyl;
- static u8 mCcDSph[64];
+ static dCcD_SrcSph mCcDSph;
static fopAc_ac_c* mFindActorPList[100];
static s32 mFindCount;
static s16 mSrchActorName;
@@ -794,8 +794,8 @@ public:
void setVtable(void* table) { vtable = table;}
static u8 const mCcDObj[48];
- static u8 mCcDCyl[68];
- static u8 mCcDSph[64];
+ static dCcD_SrcCyl mCcDCyl;
+ static dCcD_SrcSph mCcDSph;
};
class daBaseNpc_moveBgActor_c : public daBaseNpc_c {
diff --git a/include/d/cc/d_cc_mass_s.h b/include/d/cc/d_cc_mass_s.h
index 0c0a009f9d..8cdd855acf 100644
--- a/include/d/cc/d_cc_mass_s.h
+++ b/include/d/cc/d_cc_mass_s.h
@@ -41,6 +41,7 @@ public:
void SetCoHitObj(cCcD_Obj* obj) { mpCoObj = obj; }
void SetAtHitObj(cCcD_Obj* obj) { mpAtObj = obj; }
void SetCoHitLen(f32 len) { mCoHitLen = len; }
+ cCcD_Obj* GetAtHitObj() const { return mpAtObj; }
};
class dCcMassS_Mng {
diff --git a/include/d/cc/d_cc_s.h b/include/d/cc/d_cc_s.h
index b2442d2563..7fbfb54a32 100644
--- a/include/d/cc/d_cc_s.h
+++ b/include/d/cc/d_cc_s.h
@@ -46,10 +46,10 @@ public:
/* 80086754 */ virtual void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*);
void SetMass(cCcD_Obj* i_obj, u8 i_priority) { mMass_Mng.Set(i_obj, i_priority); }
+ void PrepareMass() { mMass_Mng.Prepare(); }
static u8 m_mtrl_hit_tbl[64];
-private:
// /* 0x0000 */ cCcS mCCcS;
/* 0x284C */ dCcMassS_Mng mMass_Mng;
}; // Size = 0x2AC4
diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h
index 12d4847d0f..4b0ca4b2e9 100644
--- a/include/d/com/d_com_inf_game.h
+++ b/include/d/com/d_com_inf_game.h
@@ -1831,6 +1831,10 @@ inline u8 dComIfGp_att_getCatchChgItem() {
return dComIfGp_getAttention().getCatchChgItem();
}
+inline int dComIfGp_att_ZHintRequest(fopAc_ac_c *param_1, int param_2) {
+ return dComIfGp_getAttention().ZHintRequest(param_1, param_2);
+}
+
inline void dComIfGp_att_LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist, f32 i_upDist,
f32 i_downDist, s16 i_angle, int param_5) {
dComIfGp_getAttention().LookRequest(param_0, i_horizontalDist, i_upDist, i_downDist, i_angle,
diff --git a/include/d/d_npc_lib.h b/include/d/d_npc_lib.h
index f01ada8b9f..c815e46dfb 100644
--- a/include/d/d_npc_lib.h
+++ b/include/d/d_npc_lib.h
@@ -4,7 +4,8 @@
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
-struct dNpcLib_lookat_c {
+class dNpcLib_lookat_c {
+public:
/* 80251314 */ dNpcLib_lookat_c();
/* 8025140C */ void init(J3DModel*, int*, csXyz*, csXyz*);
/* 80251534 */ void action(cXyz, cXyz, fopAc_ac_c*, f32 (*)[4], int);
diff --git a/include/d/d_stage.h b/include/d/d_stage.h
index e9dc613493..b7ff0a72ad 100644
--- a/include/d/d_stage.h
+++ b/include/d/d_stage.h
@@ -165,12 +165,12 @@ struct stage_camera_class {
struct stage_arrow_data_class {
/* 0x00 */ cXyz mPosition;
/* 0x0C */ csXyz mAngle;
-};
+}; // Size: 0x14
struct stage_arrow_class {
/* 0x00 */ int mNum;
/* 0x04 */ stage_arrow_data_class* mEntries;
-}; // Size: 0x14
+};
class stage_actor_data_class {
public:
diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h
index b19daeab7c..5ccf6fd623 100644
--- a/include/m_Do/m_Do_ext.h
+++ b/include/m_Do/m_Do_ext.h
@@ -278,11 +278,7 @@ public:
void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
bool isStop() {
- bool stopped = true;
- if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) {
- stopped = false;
- }
- return stopped;
+ return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f;
}
/* 0x04 */ J3DModel* mpModel;
diff --git a/include/rel/d/a/d_a_grass/d_a_grass.h b/include/rel/d/a/d_a_grass/d_a_grass.h
index d9d7770980..03a24af334 100644
--- a/include/rel/d/a/d_a_grass/d_a_grass.h
+++ b/include/rel/d/a/d_a_grass/d_a_grass.h
@@ -1,6 +1,212 @@
#ifndef D_A_GRASS_H
#define D_A_GRASS_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+class dCcMassS_HitInf;
+class cCcD_Obj;
+
+class dGrass_data_c {
+public:
+ /* 8051D88C */ void WorkCo(fopAc_ac_c*, u32, int);
+ /* 8051DA20 */ void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
+ /* 8051DF54 */ void Direction_Set(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*, csXyz*);
+ /* 8051E1C8 */ void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, u16);
+ /* 8051EB88 */ void hitCheck(int, u16);
+ /* 80520940 */ ~dGrass_data_c();
+ /* 8052097C */ dGrass_data_c();
+
+ /* 0x00 */ u8 m_state;
+ /* 0x01 */ u8 field_0x01;
+ /* 0x02 */ s8 field_0x02;
+ /* 0x03 */ u8 m_tableNo;
+ /* 0x04 */ u8 m_itemBitNo;
+ /* 0x05 */ u8 field_0x05;
+ /* 0x06 */ u8 field_0x06[0x08 - 0x06];
+ /* 0x08 */ s16 m_addCol;
+ /* 0x0C */ cXyz m_pos;
+ /* 0x18 */ Mtx m_modelMtx;
+ /* 0x48 */ dGrass_data_c* mp_next;
+};
+
+class dGrass_room_c {
+public:
+ /* 8051EDE0 */ void newData(dGrass_data_c*);
+ /* 8051EDF0 */ void deleteData();
+ /* 80520928 */ dGrass_room_c();
+
+ /* 0x0 */ dGrass_data_c* mp_data;
+};
+
+class dGrass_anm_c {
+public:
+ /* 80520934 */ dGrass_anm_c();
+
+ /* 0x00 */ u8 m_state;
+ /* 0x02 */ s16 m_angY;
+ /* 0x04 */ s16 m_angX;
+ /* 0x08 */ Mtx m_animMtx;
+};
+
+class dGrass_packet_c : public J3DPacket {
+public:
+ /* 8051EE8C */ dGrass_packet_c();
+ /* 8051FABC */ void calc();
+ /* 80520030 */ void update();
+ /* 8052067C */ void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
+ /* 80520770 */ dGrass_data_c* newData(cXyz&, int, u8, u8, s16, u8);
+ /* 80520864 */ void deleteRoom(int);
+ /* 80520898 */ int newAnm();
+ /* 805208E4 */ void setAnm(int, s16);
+
+ /* 8051F03C */ virtual void draw();
+ /* 8051BFBC */ virtual ~dGrass_packet_c();
+
+ typedef void (dGrass_packet_c::*deleteFunc)(int);
+ static deleteFunc m_deleteRoom;
+
+ dGrass_anm_c* getAnm() { return m_anm; }
+ dGrass_data_c* getData() { return m_data; }
+
+ void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
+
+ /* 0x00010 */ u16 field_0x10;
+ /* 0x00014 */ dGrass_data_c m_data[1500];
+ /* 0x1BD64 */ dGrass_anm_c m_anm[112];
+ /* 0x1D5E4 */ dGrass_room_c m_room[64];
+ /* 0x1D6E4 */ Vec* mp_pos;
+ /* 0x1D6E8 */ Vec* mp_normal;
+ /* 0x1D6EC */ GXColor* mp_colors;
+ /* 0x1D6F0 */ Vec* mp_texCoords;
+ /* 0x1D6F4 */ u8* mp_kusa9q_DL;
+ /* 0x1D6F8 */ u32 m_kusa9q_DL_size;
+ /* 0x1D6FC */ u8* mp_kusa9q_14_DL;
+ /* 0x1D700 */ u32 m_kusa9q_DL_14_size;
+ /* 0x1D704 */ u8* mp_Mkusa_9q_DL;
+ /* 0x1D708 */ u32 m_Mkusa_9q_DL_size;
+ /* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
+ /* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
+ /* 0x1D714 */ u16 field_0x1d714;
+}; // Size: 0x1D718
+
+STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
+
+class dFlower_data_c {
+public:
+ /* 80520988 */ void WorkCo(fopAc_ac_c*, u32, int);
+ /* 80520AD8 */ void deleteAnm();
+ /* 80520B34 */ void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
+ /* 80520CFC */ void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*);
+ /* 80521A3C */ void hitCheck(fopAc_ac_c*, int);
+ /* 80522FCC */ ~dFlower_data_c();
+ /* 80523008 */ dFlower_data_c();
+
+ /* 0x00 */ u8 m_state;
+ /* 0x01 */ s8 field_0x01;
+ /* 0x02 */ s8 m_tableNo;
+ /* 0x03 */ u8 field_0x03;
+ /* 0x04 */ s16 field_0x04;
+ /* 0x08 */ cXyz m_pos;
+ /* 0x14 */ Mtx m_modelMtx;
+ /* 0x44 */ dFlower_data_c* mp_next;
+};
+
+class dFlower_room_c {
+public:
+ /* 80521BF8 */ void newData(dFlower_data_c*);
+ /* 80521C08 */ void deleteData();
+ /* 80522FB4 */ dFlower_room_c();
+
+ /* 0x0 */ dFlower_data_c* mp_data;
+};
+
+class dFlower_anm_c {
+public:
+ /* 80522FC0 */ dFlower_anm_c();
+
+ /* 0x00 */ u8 m_state;
+ /* 0x02 */ s16 m_angY;
+ /* 0x04 */ s16 m_angX;
+ /* 0x08 */ Mtx m_animMtx;
+};
+
+class dFlower_packet_c : public J3DPacket {
+public:
+ /* 80521C64 */ dFlower_packet_c();
+ /* 80522774 */ void calc();
+ /* 80522A64 */ void update();
+ /* 80522CBC */ void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
+ /* 80522E28 */ dFlower_data_c* newData(s8, cXyz&, int, s8, s16);
+ /* 80522F0C */ void deleteRoom(int);
+ /* 80522F40 */ int newAnm();
+ /* 80522F8C */ void setAnm(int, s16);
+
+ /* 80521DAC */ virtual void draw();
+ /* 8051C194 */ virtual ~dFlower_packet_c();
+
+ typedef void (dFlower_packet_c::*deleteFunc)(int);
+ static deleteFunc m_deleteRoom;
+
+ dFlower_anm_c* getAnm(int i_idx) { return &m_anm[i_idx]; }
+ dFlower_data_c* getData() { return m_data; }
+
+ void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
+
+ /* 0x00010 */ u16 field_0x10;
+ /* 0x00014 */ dFlower_data_c m_data[1000];
+ /* 0x11954 */ dFlower_anm_c m_anm[72];
+ /* 0x12914 */ dFlower_room_c m_room[64];
+ /* 0x12A14 */ u8 m_playerCutFlg;
+ /* 0x12A16 */ s16 m_playerSwordAngY;
+ /* 0x12A18 */ s16 m_playerSwordMoveAngY;
+ /* 0x12A1C */ cXyz m_playerSwordTop;
+ /* 0x12A28 */ Vec* mp_pos;
+ /* 0x12A2C */ GXColor* mp_colors;
+ /* 0x12A30 */ Vec* mp_texCoords;
+ /* 0x12A34 */ u8* mp_mat2DL;
+ /* 0x12A38 */ u32 m_mat2DL_size;
+ /* 0x12A3C */ u8* mp_mat2Light4DL;
+ /* 0x12A40 */ u32 m_mat2Light4DL_size;
+ /* 0x12A44 */ u8* mp_Jhana01DL;
+ /* 0x12A48 */ u32 m_Jhana01DL_size;
+ /* 0x12A4C */ u8* mp_Jhana01_cDL;
+ /* 0x12A50 */ u32 m_Jhana01_cDL_size;
+}; // Size: 0x12A54
+
+class daGrass_c : public fopAc_ac_c {
+public:
+ /* 8051BEFC */ int createGrass();
+ /* 8051BF68 */ void deleteGrass();
+ /* 8051C040 */ void executeGrass();
+ /* 8051C074 */ void drawGrass();
+ /* 8051C0A8 */ void newGrassData(cXyz&, int, u8, u8, s16, u8);
+ /* 8051C0D4 */ int createFlower();
+ /* 8051C140 */ void deleteFlower();
+ /* 8051C218 */ void executeFlower();
+ /* 8051C24C */ void drawFlower();
+ /* 8051C280 */ void newFlowerData(s8, cXyz&, int, s8, s16);
+ /* 8051C304 */ int create();
+
+ inline int Delete();
+ inline int execute();
+ inline int draw();
+
+ static dGrass_packet_c* getGrass() { return m_grass; }
+ static dFlower_packet_c* getFlower() { return m_flower; }
+
+ /* 800319C8 */ static void deleteRoomGrass(int);
+ /* 80031A20 */ static void deleteRoomFlower(int);
+
+ static daGrass_c* m_myObj;
+ static dGrass_packet_c* m_grass;
+ static dFlower_packet_c* m_flower;
+};
+
+namespace daGrass_prm {
+ inline u8 getKind(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 4) & 3; }
+ inline u8 getType(daGrass_c* i_this) { return fopAcM_GetParam(i_this) & 0xF; }
+ inline u8 getItemNo(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x10) & 0xFF; }
+ inline u8 getItemBitNo(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xFF; }
+};
#endif /* D_A_GRASS_H */
diff --git a/include/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h b/include/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h
index 05e2b8e308..dea6866d59 100644
--- a/include/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h
+++ b/include/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h
@@ -1,16 +1,18 @@
#ifndef D_A_TAG_MHINT_H
#define D_A_TAG_MHINT_H
-#include "f_op/f_op_actor.h"
+#include "f_op/f_op_actor_mng.h"
#include "d/msg/d_msg_flow.h"
class daTagMhint_c : public fopAc_ac_c {
public:
- /* 805A56B8 */ void create();
+ /* 805A56B8 */ int create();
/* 805A58E8 */ ~daTagMhint_c();
/* 805A5974 */ void eventOrder();
- /* 805A5AE4 */ void execute();
+ /* 805A5AE4 */ int execute();
+
bool checkNoAttention() const { return field_0x56d == 0xFF; }
+ bool checkEventID() const { return mToolEventID != 0xFF; }
private:
/* 0x568 */ u8 field_0x568;
diff --git a/include/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.h b/include/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.h
index c70adb356d..b9aca220c6 100644
--- a/include/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.h
+++ b/include/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.h
@@ -12,10 +12,6 @@ struct daTagWljump_c : fopAc_ac_c {
/* 80D65090 */ int execute();
/* 80D6589C */ int draw();
- int dComIfGp_att_ZHintRequest(fopAc_ac_c *param_1, int param_2) {
- return dComIfGp_getAttention().ZHintRequest(param_1, param_2);
- }
-
/* 0x568 */ s8 field_0x568;
/* 0x568 */ s8 field_0x569;
/* 0x568 */ u8 field_0x56a;
diff --git a/rel/d/a/d_a_grass/d_a_grass.cpp b/rel/d/a/d_a_grass/d_a_grass.cpp
index d1442043ce..2f721e8b12 100644
--- a/rel/d/a/d_a_grass/d_a_grass.cpp
+++ b/rel/d/a/d_a_grass/d_a_grass.cpp
@@ -4,229 +4,14 @@
//
#include "rel/d/a/d_a_grass/d_a_grass.h"
+#include "JSystem/JKernel/JKRHeap.h"
+#include "SSystem/SComponent/c_counter.h"
+#include "SSystem/SComponent/c_math.h"
+#include "d/a/d_a_player.h"
+#include "d/com/d_com_inf_game.h"
+#include "d/d_procname.h"
#include "dol2asm.h"
-
-//
-// Types:
-//
-
-struct mDoMtx_stack_c {
- /* 8000CE38 */ void scaleM(f32, f32, f32);
-
- static u8 now[48];
-};
-
-struct mDoLib_clipper {
- static u8 mClipper[92];
- static f32 mSystemFar;
-};
-
-struct fopAc_ac_c {
- /* 80018B64 */ fopAc_ac_c();
-};
-
-struct Vec {};
-
-struct cXyz {
- /* 80266B34 */ void operator-(Vec const&) const;
-};
-
-struct fopAcM_gc_c {
- /* 8001DCBC */ void gndCheck(cXyz const*);
-
- static f32 mGroundY;
-};
-
-struct daPy_py_c {
- /* 8015F424 */ void checkNowWolfEyeUp();
- /* 8052090C */ void getSwordTopPos() const;
-};
-
-struct daGrass_c {
- /* 8051BEFC */ void createGrass();
- /* 8051BF68 */ void deleteGrass();
- /* 8051C040 */ void executeGrass();
- /* 8051C074 */ void drawGrass();
- /* 8051C0A8 */ void newGrassData(cXyz&, int, u8, u8, s16, u8);
- /* 8051C0D4 */ void createFlower();
- /* 8051C140 */ void deleteFlower();
- /* 8051C218 */ void executeFlower();
- /* 8051C24C */ void drawFlower();
- /* 8051C280 */ void newFlowerData(s8, cXyz&, int, s8, s16);
- /* 8051C304 */ void create();
-
- static u8 m_myObj[4];
- static u8 m_grass[4];
- static u8 m_flower[4];
-};
-
-struct dStage_roomControl_c {
- /* 80024384 */ void getStatusRoomDt(int);
-
- static u8 mStatus[65792];
-};
-
-struct dScnKy_env_light_c {
- /* 8019FA08 */ void getDaytime();
-};
-
-struct dPa_levelEcallBack {};
-
-struct dKy_tevstr_c {};
-
-struct csXyz {
- /* 802673F4 */ csXyz(s16, s16, s16);
- /* 8051EB4C */ ~csXyz();
-};
-
-struct _GXColor {};
-
-struct dPa_control_c {
- /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
- u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
- cXyz const*, f32);
-
- static u8 mLight8EcallBack[4];
-};
-
-struct dCcMassS_HitInf {
- /* 8051ED98 */ ~dCcMassS_HitInf();
-};
-
-struct cCcD_Obj {};
-
-struct dGrass_data_c {
- /* 8051D88C */ void WorkCo(fopAc_ac_c*, u32, int);
- /* 8051DA20 */ void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
- /* 8051DF54 */ void Direction_Set(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*, csXyz*);
- /* 8051E1C8 */ void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, u16);
- /* 8051EB88 */ void hitCheck(int, u16);
- /* 80520940 */ ~dGrass_data_c();
- /* 8052097C */ dGrass_data_c();
-};
-
-struct dGrass_room_c {
- /* 8051EDE0 */ void newData(dGrass_data_c*);
- /* 8051EDF0 */ void deleteData();
- /* 80520928 */ dGrass_room_c();
-};
-
-struct dGrass_packet_c {
- /* 8051BFBC */ ~dGrass_packet_c();
- /* 8051EE8C */ dGrass_packet_c();
- /* 8051F03C */ void draw();
- /* 8051FABC */ void calc();
- /* 80520030 */ void update();
- /* 8052067C */ void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
- /* 80520770 */ void newData(cXyz&, int, u8, u8, s16, u8);
- /* 80520864 */ void deleteRoom(int);
- /* 80520898 */ void newAnm();
- /* 805208E4 */ void setAnm(int, s16);
-
- static u8 m_deleteRoom[12];
-};
-
-struct dGrass_anm_c {
- /* 80520934 */ dGrass_anm_c();
-};
-
-struct dFlower_data_c {
- /* 80520988 */ void WorkCo(fopAc_ac_c*, u32, int);
- /* 80520AD8 */ void deleteAnm();
- /* 80520B34 */ void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
- /* 80520CFC */ void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*);
- /* 80521A3C */ void hitCheck(fopAc_ac_c*, int);
- /* 80522FCC */ ~dFlower_data_c();
- /* 80523008 */ dFlower_data_c();
-};
-
-struct dFlower_room_c {
- /* 80521BF8 */ void newData(dFlower_data_c*);
- /* 80521C08 */ void deleteData();
- /* 80522FB4 */ dFlower_room_c();
-};
-
-struct dFlower_packet_c {
- /* 8051C194 */ ~dFlower_packet_c();
- /* 80521C64 */ dFlower_packet_c();
- /* 80521DAC */ void draw();
- /* 80522774 */ void calc();
- /* 80522A64 */ void update();
- /* 80522CBC */ void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
- /* 80522E28 */ void newData(s8, cXyz&, int, s8, s16);
- /* 80522F0C */ void deleteRoom(int);
- /* 80522F40 */ void newAnm();
- /* 80522F8C */ void setAnm(int, s16);
-
- static u8 m_deleteRoom[12];
-};
-
-struct dFlower_anm_c {
- /* 80522FC0 */ dFlower_anm_c();
-};
-
-struct dCcS {
- /* 8008730C */ void MassClear();
-};
-
-struct dCcMassS_Mng {
- /* 80085630 */ void SetAttr(f32, f32, u8, u8);
- /* 80085690 */ void Prepare();
- /* 800858AC */ void Chk(cXyz*, fopAc_ac_c**, dCcMassS_HitInf*);
-};
-
-struct dBgS_GndChk {
- /* 8007757C */ dBgS_GndChk();
- /* 800775F0 */ ~dBgS_GndChk();
-};
-
-struct cBgS_GndChk {
- /* 80267D28 */ void SetPos(cXyz const*);
-};
-
-struct cBgS {
- /* 800744A0 */ void GroundCross(cBgS_GndChk*);
-};
-
-struct _GXTevRegID {};
-
-struct _GXColorS10 {};
-
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
-struct J3DUClipper {
- /* 8027378C */ void calcViewFrustum();
- /* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const;
-};
-
-struct J3DSys {
- /* 8031073C */ void reinitGX();
-};
-
-struct J3DShape {
- static u8 sOldVcdVatCmd[4];
-};
-
-struct J3DPacket;
-struct J3DDrawBuffer {
- /* 8032548C */ void entryImm(J3DPacket*, u16);
-};
-
-struct J3DPacket {
- /* 80312750 */ bool entry(J3DDrawBuffer*);
-};
+#include "m_Do/m_Do_lib.h"
//
// Forward References:
@@ -356,24 +141,6 @@ extern "C" void __dl__FPv();
extern "C" void reinitGX__6J3DSysFv();
extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
-extern "C" void PSMTXCopy();
-extern "C" void PSMTXConcat();
-extern "C" void PSMTXTrans();
-extern "C" void PSVECScale();
-extern "C" void PSVECSquareMag();
-extern "C" void PSVECSquareDistance();
-extern "C" void GXSetVtxDesc();
-extern "C" void GXSetVtxDescv();
-extern "C" void GXClearVtxDesc();
-extern "C" void GXSetVtxAttrFmt();
-extern "C" void GXSetVtxAttrFmtv();
-extern "C" void GXSetArray();
-extern "C" void GXSetChanAmbColor();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevColorS10();
-extern "C" void GXCallDisplayList();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXLoadNrmMtxImm();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_18();
@@ -392,30 +159,19 @@ extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
-extern "C" void memcmp();
-extern "C" void strcmp();
-extern "C" extern void* g_fopAc_Method[8];
-extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__9J3DPacket[5];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mClipper__14mDoLib_clipper[92];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 m_deleteRoom__15dGrass_packet_c[12];
extern "C" u8 m_deleteRoom__16dFlower_packet_c[12];
-extern "C" extern u8 g_env_light[4880];
-extern "C" extern u8 g_Counter[12 + 4 /* padding */];
-extern "C" extern u8 j3dSys[284];
extern "C" u8 sincosTable___5JMath[65536];
-extern "C" extern u32 __float_nan;
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" f32 mGroundY__11fopAcM_gc_c;
-extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
extern "C" u8 m_myObj__9daGrass_c[4];
extern "C" u8 m_grass__9daGrass_c[4];
extern "C" u8 m_flower__9daGrass_c[4];
extern "C" u8 mLight8EcallBack__13dPa_control_c[4];
-extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
extern "C" void __register_global_object();
@@ -1039,6 +795,53 @@ COMPILER_STRIP_GATE(0x805231AC, &lit_6337);
#pragma pop
/* 8051BD4C-8051BEFC 0000EC 01B0+00 1/1 0/0 0/0 .text randam_addcol_set__FPs */
+// matches with literals
+#ifdef NONMATCHING
+static void randam_addcol_set(s16* param_0) {
+ s16 temp_r4 = *param_0;
+ s16 var_r30 = temp_r4 & 0x1F;
+ s16 var_r29 = (temp_r4 >> 5) & 0x1F;
+ s16 var_r28 = (temp_r4 >> 10) & 0x1F;
+
+ f32 temp_f31_2 = (0.2f + (0.8f * ((f32)var_r30 / 31.0f)));
+ temp_f31_2 *= cM_rndF(10.0f);
+
+ if (var_r30 != 0x1F) {
+ var_r30 = ((f32)var_r30 - temp_f31_2);
+ if (var_r30 < 0) {
+ var_r30 = 0;
+ }
+
+ if (var_r30 > 0x1F) {
+ var_r30 = 0x1F;
+ }
+ }
+
+ if (var_r29 != 0x1F) {
+ var_r29 = ((f32)var_r29 - temp_f31_2);
+ if (var_r29 < 0) {
+ var_r29 = 0;
+ }
+
+ if (var_r29 > 0x1F) {
+ var_r29 = 0x1F;
+ }
+ }
+
+ if (var_r28 != 0x1F) {
+ var_r28 = ((f32)var_r28 - temp_f31_2);
+ if (var_r28 < 0) {
+ var_r28 = 0;
+ }
+
+ if (var_r28 > 0x1F) {
+ var_r28 = 0x1F;
+ }
+ }
+ s16 x = (((u16)var_r28 & 0x1f) << 5) | (var_r29 & ~0x3E0);
+ *param_0 = ((x) << 5) | (var_r30 & 0x1F);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1047,26 +850,29 @@ static asm void randam_addcol_set(s16* param_0) {
#include "asm/rel/d/a/d_a_grass/d_a_grass/randam_addcol_set__FPs.s"
}
#pragma pop
+#endif
/* 8051BEFC-8051BF68 00029C 006C+00 1/1 0/0 0/0 .text createGrass__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::createGrass() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/createGrass__9daGrass_cFv.s"
+int daGrass_c::createGrass() {
+ if (m_grass != NULL) {
+ return 1;
+ }
+
+ m_grass = new dGrass_packet_c();
+ if (m_grass == NULL) {
+ return 0;
+ }
+
+ return 1;
}
-#pragma pop
/* 8051BF68-8051BFBC 000308 0054+00 1/1 0/0 0/0 .text deleteGrass__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::deleteGrass() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/deleteGrass__9daGrass_cFv.s"
+void daGrass_c::deleteGrass() {
+ if (m_grass != NULL) {
+ delete m_grass;
+ m_grass = NULL;
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 80528854-80528880 -00001 002C+00 2/1 0/0 0/0 .bss None */
@@ -1446,17 +1252,15 @@ SECTION_DATA static u8 l_pos[960] = {
/* 805245B8-805245C4 0013E0 000C+00 0/1 0/0 0/0 .data l_normal */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_normal[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
+SECTION_DATA static Vec l_normal = {0.0f, 1.0f, 0.0f};
#pragma pop
/* 805245C4-805245D8 0013EC 0014+00 0/1 0/0 0/0 .data l_color */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_color[20] = {
- 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF,
- 0xFF, 0x79, 0xFF, 0xFF, 0xFF, 0x73, 0xFF, 0xFF, 0xFF, 0xFF,
+SECTION_DATA static GXColor l_color[] = {
+ {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x80}, {0xFF, 0xFF, 0xFF, 0x79},
+ {0xFF, 0xFF, 0xFF, 0x73}, {0xFF, 0xFF, 0xFF, 0xFF},
};
#pragma pop
@@ -1480,1103 +1284,99 @@ SECTION_DATA static u8 l_texCoord[160] = {
/* 80524678-80524758 0014A0 00CB+15 0/1 0/0 0/0 .data l_M_Kusa_9qDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_M_Kusa_9qDL[203 + 21 /* padding */] = {
- 0x98,
- 0x00,
- 0x04,
- 0x13,
- 0x00,
- 0x01,
- 0x08,
- 0x0C,
- 0x00,
- 0x00,
- 0x09,
- 0x15,
- 0x00,
- 0x01,
- 0x04,
- 0x0B,
- 0x00,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x11,
- 0x00,
- 0x00,
- 0x06,
- 0x0C,
- 0x00,
- 0x00,
- 0x07,
- 0x14,
- 0x00,
- 0x01,
- 0x05,
- 0x13,
- 0x00,
- 0x01,
- 0x04,
- 0x98,
- 0x00,
- 0x04,
- 0x0F,
- 0x00,
- 0x01,
- 0x08,
- 0x0C,
- 0x00,
- 0x00,
- 0x09,
- 0x12,
- 0x00,
- 0x01,
- 0x04,
- 0x11,
- 0x00,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x0D,
- 0x00,
- 0x00,
- 0x06,
- 0x0C,
- 0x00,
- 0x00,
- 0x07,
- 0x10,
- 0x00,
- 0x01,
- 0x05,
- 0x0F,
- 0x00,
- 0x01,
- 0x04,
- 0x98,
- 0x00,
- 0x04,
- 0x09,
- 0x00,
- 0x01,
- 0x08,
- 0x0C,
- 0x00,
- 0x00,
- 0x09,
- 0x0E,
- 0x00,
- 0x01,
- 0x04,
- 0x0D,
- 0x00,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x0B,
- 0x00,
- 0x00,
- 0x06,
- 0x0C,
- 0x00,
- 0x00,
- 0x07,
- 0x0A,
- 0x00,
- 0x01,
- 0x05,
- 0x09,
- 0x00,
- 0x01,
- 0x04,
- 0x98,
- 0x00,
- 0x04,
- 0x07,
- 0x00,
- 0x01,
- 0x02,
- 0x08,
- 0x00,
- 0x01,
- 0x03,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x98,
- 0x00,
- 0x04,
- 0x05,
- 0x00,
- 0x01,
- 0x02,
- 0x06,
- 0x00,
- 0x01,
- 0x03,
- 0x04,
- 0x00,
- 0x00,
- 0x01,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x98,
- 0x00,
- 0x04,
- 0x02,
- 0x00,
- 0x01,
- 0x02,
- 0x03,
- 0x00,
- 0x01,
- 0x03,
- 0x01,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_M_Kusa_9qDL[] = {
+ 0x98, 0x00, 0x04, 0x13, 0x00, 0x01, 0x08, 0x0C, 0x00, 0x00, 0x09, 0x15, 0x00, 0x01, 0x04, 0x0B,
+ 0x00, 0x00, 0x07, 0x98, 0x00, 0x04, 0x11, 0x00, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x07, 0x14, 0x00,
+ 0x01, 0x05, 0x13, 0x00, 0x01, 0x04, 0x98, 0x00, 0x04, 0x0F, 0x00, 0x01, 0x08, 0x0C, 0x00, 0x00,
+ 0x09, 0x12, 0x00, 0x01, 0x04, 0x11, 0x00, 0x00, 0x07, 0x98, 0x00, 0x04, 0x0D, 0x00, 0x00, 0x06,
+ 0x0C, 0x00, 0x00, 0x07, 0x10, 0x00, 0x01, 0x05, 0x0F, 0x00, 0x01, 0x04, 0x98, 0x00, 0x04, 0x09,
+ 0x00, 0x01, 0x08, 0x0C, 0x00, 0x00, 0x09, 0x0E, 0x00, 0x01, 0x04, 0x0D, 0x00, 0x00, 0x07, 0x98,
+ 0x00, 0x04, 0x0B, 0x00, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x07, 0x0A, 0x00, 0x01, 0x05, 0x09, 0x00,
+ 0x01, 0x04, 0x98, 0x00, 0x04, 0x07, 0x00, 0x01, 0x02, 0x08, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00,
+ 0x01, 0x04, 0x00, 0x00, 0x00, 0x98, 0x00, 0x04, 0x05, 0x00, 0x01, 0x02, 0x06, 0x00, 0x01, 0x03,
+ 0x04, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x98, 0x00, 0x04, 0x02, 0x00, 0x01, 0x02, 0x03,
+ 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80524758-80524838 001580 00CB+15 0/1 0/0 0/0 .data l_M_Kusa_9q_cDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_M_Kusa_9q_cDL[203 + 21 /* padding */] ALIGN_DECL(32) = {
- 0x98,
- 0x00,
- 0x04,
- 0x2A,
- 0x00,
- 0x03,
- 0x0D,
- 0x2B,
- 0x00,
- 0x03,
- 0x0E,
- 0x23,
- 0x00,
- 0x00,
- 0x01,
- 0x27,
- 0x00,
- 0x00,
- 0x00,
- 0x98,
- 0x00,
- 0x04,
- 0x28,
- 0x00,
- 0x03,
- 0x0D,
- 0x29,
- 0x00,
- 0x03,
- 0x0E,
- 0x27,
- 0x00,
- 0x00,
- 0x01,
- 0x24,
- 0x00,
- 0x00,
- 0x00,
- 0x98,
- 0x00,
- 0x04,
- 0x25,
- 0x00,
- 0x03,
- 0x0D,
- 0x26,
- 0x00,
- 0x03,
- 0x0E,
- 0x24,
- 0x00,
- 0x00,
- 0x01,
- 0x23,
- 0x00,
- 0x00,
- 0x00,
- 0x98,
- 0x00,
- 0x04,
- 0x20,
- 0x00,
- 0x02,
- 0x0C,
- 0x19,
- 0x00,
- 0x00,
- 0x09,
- 0x22,
- 0x00,
- 0x02,
- 0x0A,
- 0x18,
- 0x00,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x1E,
- 0x00,
- 0x00,
- 0x06,
- 0x19,
- 0x00,
- 0x00,
- 0x07,
- 0x21,
- 0x00,
- 0x02,
- 0x0B,
- 0x20,
- 0x00,
- 0x02,
- 0x0A,
- 0x98,
- 0x00,
- 0x04,
- 0x1C,
- 0x00,
- 0x02,
- 0x0C,
- 0x19,
- 0x00,
- 0x00,
- 0x09,
- 0x1F,
- 0x00,
- 0x02,
- 0x0A,
- 0x1E,
- 0x00,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x1A,
- 0x00,
- 0x00,
- 0x06,
- 0x19,
- 0x00,
- 0x00,
- 0x07,
- 0x1D,
- 0x00,
- 0x02,
- 0x0B,
- 0x1C,
- 0x00,
- 0x02,
- 0x0A,
- 0x98,
- 0x00,
- 0x04,
- 0x16,
- 0x00,
- 0x02,
- 0x0C,
- 0x19,
- 0x00,
- 0x00,
- 0x09,
- 0x1B,
- 0x00,
- 0x02,
- 0x0A,
- 0x1A,
- 0x00,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x18,
- 0x00,
- 0x00,
- 0x06,
- 0x19,
- 0x00,
- 0x00,
- 0x07,
- 0x17,
- 0x00,
- 0x02,
- 0x0B,
- 0x16,
- 0x00,
- 0x02,
- 0x0A,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_M_Kusa_9q_cDL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x04, 0x2A, 0x00, 0x03, 0x0D, 0x2B, 0x00, 0x03, 0x0E, 0x23, 0x00, 0x00, 0x01, 0x27,
+ 0x00, 0x00, 0x00, 0x98, 0x00, 0x04, 0x28, 0x00, 0x03, 0x0D, 0x29, 0x00, 0x03, 0x0E, 0x27, 0x00,
+ 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x98, 0x00, 0x04, 0x25, 0x00, 0x03, 0x0D, 0x26, 0x00, 0x03,
+ 0x0E, 0x24, 0x00, 0x00, 0x01, 0x23, 0x00, 0x00, 0x00, 0x98, 0x00, 0x04, 0x20, 0x00, 0x02, 0x0C,
+ 0x19, 0x00, 0x00, 0x09, 0x22, 0x00, 0x02, 0x0A, 0x18, 0x00, 0x00, 0x07, 0x98, 0x00, 0x04, 0x1E,
+ 0x00, 0x00, 0x06, 0x19, 0x00, 0x00, 0x07, 0x21, 0x00, 0x02, 0x0B, 0x20, 0x00, 0x02, 0x0A, 0x98,
+ 0x00, 0x04, 0x1C, 0x00, 0x02, 0x0C, 0x19, 0x00, 0x00, 0x09, 0x1F, 0x00, 0x02, 0x0A, 0x1E, 0x00,
+ 0x00, 0x07, 0x98, 0x00, 0x04, 0x1A, 0x00, 0x00, 0x06, 0x19, 0x00, 0x00, 0x07, 0x1D, 0x00, 0x02,
+ 0x0B, 0x1C, 0x00, 0x02, 0x0A, 0x98, 0x00, 0x04, 0x16, 0x00, 0x02, 0x0C, 0x19, 0x00, 0x00, 0x09,
+ 0x1B, 0x00, 0x02, 0x0A, 0x1A, 0x00, 0x00, 0x07, 0x98, 0x00, 0x04, 0x18, 0x00, 0x00, 0x06, 0x19,
+ 0x00, 0x00, 0x07, 0x17, 0x00, 0x02, 0x0B, 0x16, 0x00, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80524838-80524918 001660 00D4+0C 0/1 0/0 0/0 .data l_M_TenGusaDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_M_TenGusaDL[212 + 12 /* padding */] ALIGN_DECL(32) = {
- 0x98,
- 0x00,
- 0x03,
- 0x4D,
- 0x00,
- 0x04,
- 0x0F,
- 0x4E,
- 0x00,
- 0x00,
- 0x12,
- 0x4F,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x4A,
- 0x00,
- 0x04,
- 0x0F,
- 0x4B,
- 0x00,
- 0x00,
- 0x12,
- 0x4C,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x47,
- 0x00,
- 0x04,
- 0x0F,
- 0x48,
- 0x00,
- 0x00,
- 0x10,
- 0x49,
- 0x00,
- 0x00,
- 0x11,
- 0x98,
- 0x00,
- 0x03,
- 0x44,
- 0x00,
- 0x04,
- 0x0F,
- 0x45,
- 0x00,
- 0x00,
- 0x12,
- 0x46,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x41,
- 0x00,
- 0x04,
- 0x0F,
- 0x42,
- 0x00,
- 0x00,
- 0x12,
- 0x43,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x3E,
- 0x00,
- 0x04,
- 0x0F,
- 0x3F,
- 0x00,
- 0x00,
- 0x10,
- 0x40,
- 0x00,
- 0x00,
- 0x11,
- 0x98,
- 0x00,
- 0x03,
- 0x3B,
- 0x00,
- 0x04,
- 0x0F,
- 0x3C,
- 0x00,
- 0x00,
- 0x12,
- 0x3D,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x38,
- 0x00,
- 0x04,
- 0x0F,
- 0x39,
- 0x00,
- 0x00,
- 0x12,
- 0x3A,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x35,
- 0x00,
- 0x04,
- 0x0F,
- 0x36,
- 0x00,
- 0x00,
- 0x10,
- 0x37,
- 0x00,
- 0x00,
- 0x11,
- 0x98,
- 0x00,
- 0x03,
- 0x32,
- 0x00,
- 0x04,
- 0x0F,
- 0x33,
- 0x00,
- 0x00,
- 0x12,
- 0x34,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x2F,
- 0x00,
- 0x04,
- 0x0F,
- 0x30,
- 0x00,
- 0x00,
- 0x12,
- 0x31,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x03,
- 0x2C,
- 0x00,
- 0x04,
- 0x0F,
- 0x2D,
- 0x00,
- 0x00,
- 0x10,
- 0x2E,
- 0x00,
- 0x00,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_M_TenGusaDL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x03, 0x4D, 0x00, 0x04, 0x0F, 0x4E, 0x00, 0x00, 0x12, 0x4F, 0x00, 0x00, 0x13, 0x98,
+ 0x00, 0x03, 0x4A, 0x00, 0x04, 0x0F, 0x4B, 0x00, 0x00, 0x12, 0x4C, 0x00, 0x00, 0x13, 0x98, 0x00,
+ 0x03, 0x47, 0x00, 0x04, 0x0F, 0x48, 0x00, 0x00, 0x10, 0x49, 0x00, 0x00, 0x11, 0x98, 0x00, 0x03,
+ 0x44, 0x00, 0x04, 0x0F, 0x45, 0x00, 0x00, 0x12, 0x46, 0x00, 0x00, 0x13, 0x98, 0x00, 0x03, 0x41,
+ 0x00, 0x04, 0x0F, 0x42, 0x00, 0x00, 0x12, 0x43, 0x00, 0x00, 0x13, 0x98, 0x00, 0x03, 0x3E, 0x00,
+ 0x04, 0x0F, 0x3F, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x11, 0x98, 0x00, 0x03, 0x3B, 0x00, 0x04,
+ 0x0F, 0x3C, 0x00, 0x00, 0x12, 0x3D, 0x00, 0x00, 0x13, 0x98, 0x00, 0x03, 0x38, 0x00, 0x04, 0x0F,
+ 0x39, 0x00, 0x00, 0x12, 0x3A, 0x00, 0x00, 0x13, 0x98, 0x00, 0x03, 0x35, 0x00, 0x04, 0x0F, 0x36,
+ 0x00, 0x00, 0x10, 0x37, 0x00, 0x00, 0x11, 0x98, 0x00, 0x03, 0x32, 0x00, 0x04, 0x0F, 0x33, 0x00,
+ 0x00, 0x12, 0x34, 0x00, 0x00, 0x13, 0x98, 0x00, 0x03, 0x2F, 0x00, 0x04, 0x0F, 0x30, 0x00, 0x00,
+ 0x12, 0x31, 0x00, 0x00, 0x13, 0x98, 0x00, 0x03, 0x2C, 0x00, 0x04, 0x0F, 0x2D, 0x00, 0x00, 0x10,
+ 0x2E, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80524918-805249D8 001740 00A8+18 0/2 0/0 0/0 .data l_Tengusa_matDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_Tengusa_matDL[168 + 24 /* padding */] ALIGN_DECL(32) = {
- 0x61,
- 0x80,
- 0x00,
- 0x01,
- 0x31,
- 0x61,
- 0x84,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x88,
- 0x50,
- 0x7C,
- 0x1F,
- 0x61,
- 0x94,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x30,
- 0x00,
- 0x00,
- 0x1F,
- 0x61,
- 0x31,
- 0x00,
- 0x00,
- 0x1F,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x40,
- 0xFF,
- 0xFF,
- 0x42,
- 0x80,
- 0x08,
- 0x30,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x18,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x0E,
- 0x00,
- 0x00,
- 0x7F,
- 0x3B,
- 0x61,
- 0x28,
- 0x04,
- 0x00,
- 0x40,
- 0x61,
- 0x28,
- 0x04,
- 0x00,
- 0x40,
- 0x61,
- 0xC0,
- 0x08,
- 0xFA,
- 0x8F,
- 0x61,
- 0xC1,
- 0x0A,
- 0xEA,
- 0xD0,
- 0x61,
- 0xC2,
- 0x28,
- 0xF1,
- 0x40,
- 0x61,
- 0xC3,
- 0xC8,
- 0xFF,
- 0xC0,
- 0x61,
- 0x43,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x40,
- 0x00,
- 0x00,
- 0x17,
- 0x61,
- 0x41,
- 0x00,
- 0x31,
- 0x0C,
- 0x61,
- 0xF3,
- 0x1E,
- 0xFF,
- 0x80,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x3F,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x09,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x00,
- 0x00,
- 0x04,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_Tengusa_matDL[] ALIGN_DECL(32) = {
+ 0x61, 0x80, 0x00, 0x01, 0x31, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0x50, 0x7C, 0x1F, 0x61,
+ 0x94, 0x00, 0x00, 0x00, 0x61, 0x30, 0x00, 0x00, 0x1F, 0x61, 0x31, 0x00, 0x00, 0x1F, 0x10, 0x00,
+ 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00,
+ 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, 0x3B, 0x61,
+ 0x28, 0x04, 0x00, 0x40, 0x61, 0x28, 0x04, 0x00, 0x40, 0x61, 0xC0, 0x08, 0xFA, 0x8F, 0x61, 0xC1,
+ 0x0A, 0xEA, 0xD0, 0x61, 0xC2, 0x28, 0xF1, 0x40, 0x61, 0xC3, 0xC8, 0xFF, 0xC0, 0x61, 0x43, 0x00,
+ 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x31, 0x0C, 0x61, 0xF3, 0x1E, 0xFF,
+ 0x80, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00,
+ 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x04, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 805249D8-80524A98 001800 00A8+18 0/2 0/0 0/0 .data l_kusa9q_matDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_kusa9q_matDL[168 + 24 /* padding */] ALIGN_DECL(32) = {
- 0x61,
- 0x80,
- 0x00,
- 0x01,
- 0x31,
- 0x61,
- 0x84,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x88,
- 0x50,
- 0x7C,
- 0x1F,
- 0x61,
- 0x94,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x30,
- 0x00,
- 0x00,
- 0x1F,
- 0x61,
- 0x31,
- 0x00,
- 0x00,
- 0x1F,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x40,
- 0xFF,
- 0xFF,
- 0x42,
- 0x80,
- 0x08,
- 0x30,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x18,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x0E,
- 0x00,
- 0x00,
- 0x7F,
- 0x3B,
- 0x61,
- 0x28,
- 0x04,
- 0x00,
- 0x40,
- 0x61,
- 0x28,
- 0x04,
- 0x00,
- 0x40,
- 0x61,
- 0xC0,
- 0x08,
- 0xFA,
- 0x8F,
- 0x61,
- 0xC1,
- 0x0A,
- 0xEA,
- 0xD0,
- 0x61,
- 0xC2,
- 0x28,
- 0xF1,
- 0x40,
- 0x61,
- 0xC3,
- 0xC8,
- 0xFF,
- 0xC0,
- 0x61,
- 0x43,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x40,
- 0x00,
- 0x00,
- 0x17,
- 0x61,
- 0x41,
- 0x00,
- 0x31,
- 0x0C,
- 0x61,
- 0xF3,
- 0x1E,
- 0xFF,
- 0x80,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x3F,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x09,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x00,
- 0x00,
- 0x04,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_kusa9q_matDL[] ALIGN_DECL(32) = {
+ 0x61, 0x80, 0x00, 0x01, 0x31, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0x50, 0x7C, 0x1F, 0x61,
+ 0x94, 0x00, 0x00, 0x00, 0x61, 0x30, 0x00, 0x00, 0x1F, 0x61, 0x31, 0x00, 0x00, 0x1F, 0x10, 0x00,
+ 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00,
+ 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, 0x3B, 0x61,
+ 0x28, 0x04, 0x00, 0x40, 0x61, 0x28, 0x04, 0x00, 0x40, 0x61, 0xC0, 0x08, 0xFA, 0x8F, 0x61, 0xC1,
+ 0x0A, 0xEA, 0xD0, 0x61, 0xC2, 0x28, 0xF1, 0x40, 0x61, 0xC3, 0xC8, 0xFF, 0xC0, 0x61, 0x43, 0x00,
+ 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x31, 0x0C, 0x61, 0xF3, 0x1E, 0xFF,
+ 0x80, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00,
+ 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x04, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80524A98-80524B40 0018C0 00A8+00 0/2 0/0 0/0 .data l_kusa9q_l4_matDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_kusa9q_l4_matDL[168] ALIGN_DECL(32) = {
+SECTION_DATA static u8 l_kusa9q_l4_matDL[] ALIGN_DECL(32) = {
0x61, 0x80, 0x00, 0x01, 0x31, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0x50, 0x7C, 0x1F, 0x61,
0x94, 0x00, 0x00, 0x00, 0x61, 0x30, 0x00, 0x00, 0x1F, 0x61, 0x31, 0x00, 0x00, 0x1F, 0x10, 0x00,
0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00,
@@ -2614,108 +1414,12 @@ SECTION_DATA static u8 l_vtxDescList[40] = {
/* 80524B74-80524BD8 00199C 0050+14 0/1 0/0 0/0 .data l_vtxAttrFmtList$4655 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_vtxAttrFmtList[80 + 20 /* padding */] = {
- 0x00,
- 0x00,
- 0x00,
- 0x09,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x0A,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x0B,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x05,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x0D,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xFF,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+SECTION_DATA static u8 l_vtxAttrFmtList[80] = {
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
@@ -2936,1256 +1640,106 @@ SECTION_DATA static u8 l_flowerColor[8] = {
/* 80525758-80525898 002580 0138+08 0/1 0/0 0/0 .data l_flowerTexCoord */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_flowerTexCoord[312 + 8 /* padding */] = {
- 0x40,
- 0x40,
- 0xD0,
- 0xEA,
- 0x3D,
- 0x69,
- 0x70,
- 0x72,
- 0x40,
- 0x7D,
- 0xD8,
- 0x30,
- 0x3F,
- 0x81,
- 0x3D,
- 0xC9,
- 0x40,
- 0x40,
- 0xCE,
- 0x85,
- 0x3F,
- 0x81,
- 0x3D,
- 0xC9,
- 0x40,
- 0x01,
- 0xDD,
- 0x33,
- 0x3F,
- 0x81,
- 0x3D,
- 0xC9,
- 0x40,
- 0x40,
- 0xD0,
- 0xEA,
- 0x3F,
- 0xF9,
- 0x46,
- 0xD4,
- 0x40,
- 0x00,
- 0xCD,
- 0xB8,
- 0xBF,
- 0x7F,
- 0xD4,
- 0x39,
- 0x40,
- 0x40,
- 0xC2,
- 0xC6,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x20,
- 0xC8,
- 0x3F,
- 0x3E,
- 0xFF,
- 0xD4,
- 0x39,
- 0x3F,
- 0xC1,
- 0xA6,
- 0x61,
- 0xBE,
- 0xFF,
- 0xD4,
- 0x39,
- 0x40,
- 0x00,
- 0xCD,
- 0xB8,
- 0x3F,
- 0x7F,
- 0xD4,
- 0x39,
- 0x3F,
- 0x81,
- 0xB1,
- 0x53,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x3D,
- 0x49,
- 0x75,
- 0x29,
- 0xBD,
- 0xFA,
- 0x4F,
- 0x87,
- 0x3C,
- 0x54,
- 0x88,
- 0x83,
- 0xBD,
- 0xFA,
- 0x4F,
- 0x87,
- 0x3C,
- 0xF8,
- 0x85,
- 0x4D,
- 0xBF,
- 0x27,
- 0x85,
- 0x40,
- 0x3D,
- 0x01,
- 0x8D,
- 0x69,
- 0xBF,
- 0x27,
- 0x98,
- 0x20,
- 0xBD,
- 0x44,
- 0x30,
- 0xB1,
- 0xBD,
- 0xFC,
- 0xC3,
- 0xA0,
- 0xBB,
- 0xEE,
- 0x06,
- 0xD9,
- 0xBD,
- 0xFC,
- 0xC3,
- 0xA0,
- 0xBC,
- 0xF4,
- 0x1F,
- 0x21,
- 0xBF,
- 0x27,
- 0x90,
- 0xA8,
- 0xBD,
- 0x00,
- 0x00,
- 0x00,
- 0xBF,
- 0x27,
- 0x92,
- 0x7D,
- 0xBE,
- 0x03,
- 0x5A,
- 0x86,
- 0xBD,
- 0x67,
- 0x4C,
- 0x0A,
- 0xBE,
- 0x03,
- 0x5A,
- 0x86,
- 0xBC,
- 0x82,
- 0xCD,
- 0x3A,
- 0xBF,
- 0x25,
- 0x30,
- 0x59,
- 0xBD,
- 0x06,
- 0x8E,
- 0xC5,
- 0xBF,
- 0x25,
- 0xFA,
- 0x66,
- 0xBD,
- 0x2F,
- 0x2B,
- 0x67,
- 0xBE,
- 0x03,
- 0x59,
- 0x79,
- 0x3D,
- 0x40,
- 0x8E,
- 0x9B,
- 0xBE,
- 0x03,
- 0x59,
- 0x79,
- 0x3B,
- 0xAF,
- 0xE6,
- 0x0C,
- 0xBF,
- 0x25,
- 0xB3,
- 0x4A,
- 0x3C,
- 0x9E,
- 0x81,
- 0xCB,
- 0xBF,
- 0x25,
- 0xD9,
- 0x3C,
- 0x3C,
- 0xF1,
- 0xE6,
- 0xCD,
- 0x3E,
- 0x1C,
- 0xD0,
- 0x78,
- 0x3D,
- 0x36,
- 0xDC,
- 0xA0,
- 0x3E,
- 0x1C,
- 0xD0,
- 0x78,
- 0x3B,
- 0x48,
- 0x68,
- 0xBA,
- 0x3F,
- 0x59,
- 0x32,
- 0x61,
- 0x3C,
- 0xDD,
- 0x5F,
- 0x57,
- 0x3F,
- 0x59,
- 0x61,
- 0xF6,
- 0x3C,
- 0xFB,
- 0x13,
- 0x9D,
- 0x3E,
- 0x1C,
- 0xD0,
- 0x78,
- 0xBB,
- 0xEB,
- 0xED,
- 0xFA,
- 0x3E,
- 0x1C,
- 0xD0,
- 0x78,
- 0xBD,
- 0x47,
- 0xD3,
- 0xD4,
- 0x3F,
- 0x59,
- 0x49,
- 0x41,
- 0xBC,
- 0xCB,
- 0x3E,
- 0x57,
- 0x3F,
- 0x59,
- 0x4B,
- 0x6A,
- 0xBC,
- 0xAD,
- 0x94,
- 0x8E,
- 0x3E,
- 0xA7,
- 0x7F,
- 0x28,
- 0x3D,
- 0x28,
- 0x87,
- 0xA9,
- 0x3E,
- 0xA7,
- 0x67,
- 0x4D,
- 0x3C,
- 0x14,
- 0x46,
- 0x74,
- 0x3E,
- 0xA7,
- 0x73,
- 0xE2,
- 0xBC,
- 0x2F,
- 0x46,
- 0xAA,
- 0x3E,
- 0xA7,
- 0x72,
- 0xD6,
- 0xBD,
- 0x2F,
- 0x46,
- 0xAA,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_flowerTexCoord[] = {
+ 0x40, 0x40, 0xD0, 0xEA, 0x3D, 0x69, 0x70, 0x72, 0x40, 0x7D, 0xD8, 0x30, 0x3F, 0x81, 0x3D, 0xC9,
+ 0x40, 0x40, 0xCE, 0x85, 0x3F, 0x81, 0x3D, 0xC9, 0x40, 0x01, 0xDD, 0x33, 0x3F, 0x81, 0x3D, 0xC9,
+ 0x40, 0x40, 0xD0, 0xEA, 0x3F, 0xF9, 0x46, 0xD4, 0x40, 0x00, 0xCD, 0xB8, 0xBF, 0x7F, 0xD4, 0x39,
+ 0x40, 0x40, 0xC2, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0xC8, 0x3F, 0x3E, 0xFF, 0xD4, 0x39,
+ 0x3F, 0xC1, 0xA6, 0x61, 0xBE, 0xFF, 0xD4, 0x39, 0x40, 0x00, 0xCD, 0xB8, 0x3F, 0x7F, 0xD4, 0x39,
+ 0x3F, 0x81, 0xB1, 0x53, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x49, 0x75, 0x29, 0xBD, 0xFA, 0x4F, 0x87,
+ 0x3C, 0x54, 0x88, 0x83, 0xBD, 0xFA, 0x4F, 0x87, 0x3C, 0xF8, 0x85, 0x4D, 0xBF, 0x27, 0x85, 0x40,
+ 0x3D, 0x01, 0x8D, 0x69, 0xBF, 0x27, 0x98, 0x20, 0xBD, 0x44, 0x30, 0xB1, 0xBD, 0xFC, 0xC3, 0xA0,
+ 0xBB, 0xEE, 0x06, 0xD9, 0xBD, 0xFC, 0xC3, 0xA0, 0xBC, 0xF4, 0x1F, 0x21, 0xBF, 0x27, 0x90, 0xA8,
+ 0xBD, 0x00, 0x00, 0x00, 0xBF, 0x27, 0x92, 0x7D, 0xBE, 0x03, 0x5A, 0x86, 0xBD, 0x67, 0x4C, 0x0A,
+ 0xBE, 0x03, 0x5A, 0x86, 0xBC, 0x82, 0xCD, 0x3A, 0xBF, 0x25, 0x30, 0x59, 0xBD, 0x06, 0x8E, 0xC5,
+ 0xBF, 0x25, 0xFA, 0x66, 0xBD, 0x2F, 0x2B, 0x67, 0xBE, 0x03, 0x59, 0x79, 0x3D, 0x40, 0x8E, 0x9B,
+ 0xBE, 0x03, 0x59, 0x79, 0x3B, 0xAF, 0xE6, 0x0C, 0xBF, 0x25, 0xB3, 0x4A, 0x3C, 0x9E, 0x81, 0xCB,
+ 0xBF, 0x25, 0xD9, 0x3C, 0x3C, 0xF1, 0xE6, 0xCD, 0x3E, 0x1C, 0xD0, 0x78, 0x3D, 0x36, 0xDC, 0xA0,
+ 0x3E, 0x1C, 0xD0, 0x78, 0x3B, 0x48, 0x68, 0xBA, 0x3F, 0x59, 0x32, 0x61, 0x3C, 0xDD, 0x5F, 0x57,
+ 0x3F, 0x59, 0x61, 0xF6, 0x3C, 0xFB, 0x13, 0x9D, 0x3E, 0x1C, 0xD0, 0x78, 0xBB, 0xEB, 0xED, 0xFA,
+ 0x3E, 0x1C, 0xD0, 0x78, 0xBD, 0x47, 0xD3, 0xD4, 0x3F, 0x59, 0x49, 0x41, 0xBC, 0xCB, 0x3E, 0x57,
+ 0x3F, 0x59, 0x4B, 0x6A, 0xBC, 0xAD, 0x94, 0x8E, 0x3E, 0xA7, 0x7F, 0x28, 0x3D, 0x28, 0x87, 0xA9,
+ 0x3E, 0xA7, 0x67, 0x4D, 0x3C, 0x14, 0x46, 0x74, 0x3E, 0xA7, 0x73, 0xE2, 0xBC, 0x2F, 0x46, 0xAA,
+ 0x3E, 0xA7, 0x72, 0xD6, 0xBD, 0x2F, 0x46, 0xAA};
#pragma pop
/* 80525898-805259F8 0026C0 0150+10 0/1 0/0 0/0 .data l_J_hana00DL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_J_hana00DL[336 + 16 /* padding */] ALIGN_DECL(32) = {
- 0x98,
- 0x00,
- 0x05,
- 0x0B,
- 0x00,
- 0x00,
- 0x03,
- 0x0E,
- 0x00,
- 0x00,
- 0x00,
- 0x0C,
- 0x00,
- 0x00,
- 0x02,
- 0x0D,
- 0x00,
- 0x00,
- 0x01,
- 0x0A,
- 0x00,
- 0x00,
- 0x04,
- 0x98,
- 0x00,
- 0x05,
- 0x06,
- 0x00,
- 0x00,
- 0x04,
- 0x09,
- 0x00,
- 0x00,
- 0x03,
- 0x07,
- 0x02,
- 0x00,
- 0x02,
- 0x08,
- 0x00,
- 0x00,
- 0x00,
- 0x05,
- 0x00,
- 0x00,
- 0x01,
- 0x98,
- 0x00,
- 0x05,
- 0x01,
- 0x00,
- 0x00,
- 0x01,
- 0x04,
- 0x00,
- 0x00,
- 0x04,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x03,
- 0x00,
- 0x00,
- 0x03,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x98,
- 0x00,
- 0x04,
- 0x11,
- 0x00,
- 0x00,
- 0x07,
- 0x12,
- 0x00,
- 0x00,
- 0x08,
- 0x10,
- 0x00,
- 0x00,
- 0x06,
- 0x0F,
- 0x00,
- 0x00,
- 0x05,
- 0x98,
- 0x00,
- 0x04,
- 0x15,
- 0x00,
- 0x00,
- 0x09,
- 0x16,
- 0x00,
- 0x00,
- 0x0A,
- 0x14,
- 0x00,
- 0x00,
- 0x07,
- 0x13,
- 0x00,
- 0x00,
- 0x08,
- 0x98,
- 0x00,
- 0x04,
- 0x19,
- 0x00,
- 0x00,
- 0x09,
- 0x1A,
- 0x00,
- 0x00,
- 0x0A,
- 0x18,
- 0x00,
- 0x00,
- 0x07,
- 0x17,
- 0x00,
- 0x00,
- 0x08,
- 0x98,
- 0x00,
- 0x04,
- 0x1D,
- 0x00,
- 0x00,
- 0x0A,
- 0x1E,
- 0x00,
- 0x00,
- 0x09,
- 0x1C,
- 0x00,
- 0x00,
- 0x08,
- 0x1B,
- 0x00,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x21,
- 0x03,
- 0x01,
- 0x0D,
- 0x22,
- 0x03,
- 0x01,
- 0x0E,
- 0x20,
- 0x00,
- 0x00,
- 0x0C,
- 0x1F,
- 0x00,
- 0x00,
- 0x0B,
- 0x98,
- 0x00,
- 0x04,
- 0x25,
- 0x04,
- 0x01,
- 0x11,
- 0x26,
- 0x04,
- 0x01,
- 0x12,
- 0x24,
- 0x00,
- 0x00,
- 0x10,
- 0x23,
- 0x00,
- 0x00,
- 0x0F,
- 0x98,
- 0x00,
- 0x04,
- 0x29,
- 0x05,
- 0x01,
- 0x15,
- 0x2A,
- 0x05,
- 0x01,
- 0x16,
- 0x28,
- 0x00,
- 0x00,
- 0x14,
- 0x27,
- 0x00,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x04,
- 0x2D,
- 0x06,
- 0x01,
- 0x19,
- 0x2E,
- 0x06,
- 0x01,
- 0x1A,
- 0x2C,
- 0x00,
- 0x00,
- 0x18,
- 0x2B,
- 0x00,
- 0x00,
- 0x17,
- 0x98,
- 0x00,
- 0x04,
- 0x31,
- 0x07,
- 0x01,
- 0x1D,
- 0x32,
- 0x07,
- 0x01,
- 0x1E,
- 0x30,
- 0x00,
- 0x00,
- 0x1C,
- 0x2F,
- 0x00,
- 0x00,
- 0x1B,
- 0x98,
- 0x00,
- 0x04,
- 0x35,
- 0x08,
- 0x01,
- 0x21,
- 0x36,
- 0x08,
- 0x01,
- 0x22,
- 0x34,
- 0x00,
- 0x00,
- 0x20,
- 0x33,
- 0x00,
- 0x00,
- 0x1F,
- 0x98,
- 0x00,
- 0x03,
- 0x0A,
- 0x00,
- 0x00,
- 0x04,
- 0x0B,
- 0x00,
- 0x00,
- 0x03,
- 0x0C,
- 0x00,
- 0x00,
- 0x02,
- 0x98,
- 0x00,
- 0x03,
- 0x05,
- 0x00,
- 0x00,
- 0x01,
- 0x06,
- 0x00,
- 0x00,
- 0x04,
- 0x07,
- 0x02,
- 0x00,
- 0x02,
- 0x98,
- 0x00,
- 0x03,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x01,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_J_hana00DL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x05, 0x0B, 0x00, 0x00, 0x03, 0x0E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x02, 0x0D,
+ 0x00, 0x00, 0x01, 0x0A, 0x00, 0x00, 0x04, 0x98, 0x00, 0x05, 0x06, 0x00, 0x00, 0x04, 0x09, 0x00,
+ 0x00, 0x03, 0x07, 0x02, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x01, 0x98, 0x00,
+ 0x05, 0x01, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x04, 0x11, 0x00, 0x00, 0x07, 0x12, 0x00, 0x00, 0x08,
+ 0x10, 0x00, 0x00, 0x06, 0x0F, 0x00, 0x00, 0x05, 0x98, 0x00, 0x04, 0x15, 0x00, 0x00, 0x09, 0x16,
+ 0x00, 0x00, 0x0A, 0x14, 0x00, 0x00, 0x07, 0x13, 0x00, 0x00, 0x08, 0x98, 0x00, 0x04, 0x19, 0x00,
+ 0x00, 0x09, 0x1A, 0x00, 0x00, 0x0A, 0x18, 0x00, 0x00, 0x07, 0x17, 0x00, 0x00, 0x08, 0x98, 0x00,
+ 0x04, 0x1D, 0x00, 0x00, 0x0A, 0x1E, 0x00, 0x00, 0x09, 0x1C, 0x00, 0x00, 0x08, 0x1B, 0x00, 0x00,
+ 0x07, 0x98, 0x00, 0x04, 0x21, 0x03, 0x01, 0x0D, 0x22, 0x03, 0x01, 0x0E, 0x20, 0x00, 0x00, 0x0C,
+ 0x1F, 0x00, 0x00, 0x0B, 0x98, 0x00, 0x04, 0x25, 0x04, 0x01, 0x11, 0x26, 0x04, 0x01, 0x12, 0x24,
+ 0x00, 0x00, 0x10, 0x23, 0x00, 0x00, 0x0F, 0x98, 0x00, 0x04, 0x29, 0x05, 0x01, 0x15, 0x2A, 0x05,
+ 0x01, 0x16, 0x28, 0x00, 0x00, 0x14, 0x27, 0x00, 0x00, 0x13, 0x98, 0x00, 0x04, 0x2D, 0x06, 0x01,
+ 0x19, 0x2E, 0x06, 0x01, 0x1A, 0x2C, 0x00, 0x00, 0x18, 0x2B, 0x00, 0x00, 0x17, 0x98, 0x00, 0x04,
+ 0x31, 0x07, 0x01, 0x1D, 0x32, 0x07, 0x01, 0x1E, 0x30, 0x00, 0x00, 0x1C, 0x2F, 0x00, 0x00, 0x1B,
+ 0x98, 0x00, 0x04, 0x35, 0x08, 0x01, 0x21, 0x36, 0x08, 0x01, 0x22, 0x34, 0x00, 0x00, 0x20, 0x33,
+ 0x00, 0x00, 0x1F, 0x98, 0x00, 0x03, 0x0A, 0x00, 0x00, 0x04, 0x0B, 0x00, 0x00, 0x03, 0x0C, 0x00,
+ 0x00, 0x02, 0x98, 0x00, 0x03, 0x05, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x04, 0x07, 0x02, 0x00,
+ 0x02, 0x98, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 805259F8-80525AD8 002820 00DE+02 0/1 0/0 0/0 .data l_J_hana00_cDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_J_hana00_cDL[222 + 2 /* padding */] ALIGN_DECL(32) = {
- 0x98,
- 0x00,
- 0x04,
- 0x35,
- 0x0D,
- 0x01,
- 0x21,
- 0x36,
- 0x0E,
- 0x01,
- 0x22,
- 0x3A,
- 0x09,
- 0x00,
- 0x26,
- 0x39,
- 0x0E,
- 0x00,
- 0x25,
- 0x98,
- 0x00,
- 0x04,
- 0x31,
- 0x0D,
- 0x01,
- 0x1D,
- 0x32,
- 0x0D,
- 0x01,
- 0x1E,
- 0x38,
- 0x0D,
- 0x00,
- 0x24,
- 0x37,
- 0x0D,
- 0x00,
- 0x23,
- 0x98,
- 0x00,
- 0x04,
- 0x2D,
- 0x0C,
- 0x01,
- 0x19,
- 0x2E,
- 0x0C,
- 0x01,
- 0x1A,
- 0x2C,
- 0x09,
- 0x00,
- 0x18,
- 0x2B,
- 0x09,
- 0x00,
- 0x17,
- 0x98,
- 0x00,
- 0x04,
- 0x29,
- 0x0B,
- 0x01,
- 0x15,
- 0x2A,
- 0x0B,
- 0x01,
- 0x16,
- 0x28,
- 0x09,
- 0x00,
- 0x14,
- 0x27,
- 0x09,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x04,
- 0x25,
- 0x0A,
- 0x01,
- 0x11,
- 0x26,
- 0x0A,
- 0x01,
- 0x12,
- 0x24,
- 0x09,
- 0x00,
- 0x10,
- 0x23,
- 0x09,
- 0x00,
- 0x0F,
- 0x98,
- 0x00,
- 0x04,
- 0x21,
- 0x03,
- 0x01,
- 0x0D,
- 0x22,
- 0x03,
- 0x01,
- 0x0E,
- 0x20,
- 0x09,
- 0x00,
- 0x0C,
- 0x1F,
- 0x09,
- 0x00,
- 0x0B,
- 0x98,
- 0x00,
- 0x04,
- 0x1D,
- 0x09,
- 0x00,
- 0x0A,
- 0x1E,
- 0x09,
- 0x00,
- 0x09,
- 0x1C,
- 0x09,
- 0x00,
- 0x08,
- 0x1B,
- 0x09,
- 0x00,
- 0x07,
- 0x98,
- 0x00,
- 0x04,
- 0x19,
- 0x09,
- 0x00,
- 0x09,
- 0x1A,
- 0x09,
- 0x00,
- 0x0A,
- 0x18,
- 0x09,
- 0x00,
- 0x07,
- 0x17,
- 0x09,
- 0x00,
- 0x08,
- 0x98,
- 0x00,
- 0x04,
- 0x15,
- 0x09,
- 0x00,
- 0x09,
- 0x16,
- 0x09,
- 0x00,
- 0x0A,
- 0x14,
- 0x09,
- 0x00,
- 0x07,
- 0x13,
- 0x09,
- 0x00,
- 0x08,
- 0x98,
- 0x00,
- 0x04,
- 0x11,
- 0x09,
- 0x00,
- 0x07,
- 0x12,
- 0x09,
- 0x00,
- 0x08,
- 0x10,
- 0x09,
- 0x00,
- 0x06,
- 0x0F,
- 0x09,
- 0x00,
- 0x05,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_J_hana00_cDL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x04, 0x35, 0x0D, 0x01, 0x21, 0x36, 0x0E, 0x01, 0x22, 0x3A, 0x09, 0x00, 0x26, 0x39,
+ 0x0E, 0x00, 0x25, 0x98, 0x00, 0x04, 0x31, 0x0D, 0x01, 0x1D, 0x32, 0x0D, 0x01, 0x1E, 0x38, 0x0D,
+ 0x00, 0x24, 0x37, 0x0D, 0x00, 0x23, 0x98, 0x00, 0x04, 0x2D, 0x0C, 0x01, 0x19, 0x2E, 0x0C, 0x01,
+ 0x1A, 0x2C, 0x09, 0x00, 0x18, 0x2B, 0x09, 0x00, 0x17, 0x98, 0x00, 0x04, 0x29, 0x0B, 0x01, 0x15,
+ 0x2A, 0x0B, 0x01, 0x16, 0x28, 0x09, 0x00, 0x14, 0x27, 0x09, 0x00, 0x13, 0x98, 0x00, 0x04, 0x25,
+ 0x0A, 0x01, 0x11, 0x26, 0x0A, 0x01, 0x12, 0x24, 0x09, 0x00, 0x10, 0x23, 0x09, 0x00, 0x0F, 0x98,
+ 0x00, 0x04, 0x21, 0x03, 0x01, 0x0D, 0x22, 0x03, 0x01, 0x0E, 0x20, 0x09, 0x00, 0x0C, 0x1F, 0x09,
+ 0x00, 0x0B, 0x98, 0x00, 0x04, 0x1D, 0x09, 0x00, 0x0A, 0x1E, 0x09, 0x00, 0x09, 0x1C, 0x09, 0x00,
+ 0x08, 0x1B, 0x09, 0x00, 0x07, 0x98, 0x00, 0x04, 0x19, 0x09, 0x00, 0x09, 0x1A, 0x09, 0x00, 0x0A,
+ 0x18, 0x09, 0x00, 0x07, 0x17, 0x09, 0x00, 0x08, 0x98, 0x00, 0x04, 0x15, 0x09, 0x00, 0x09, 0x16,
+ 0x09, 0x00, 0x0A, 0x14, 0x09, 0x00, 0x07, 0x13, 0x09, 0x00, 0x08, 0x98, 0x00, 0x04, 0x11, 0x09,
+ 0x00, 0x07, 0x12, 0x09, 0x00, 0x08, 0x10, 0x09, 0x00, 0x06, 0x0F, 0x09, 0x00, 0x05, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80525AD8-80525B78 002900 0099+07 0/2 0/0 0/0 .data l_matDL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_matDL[153 + 7 /* padding */] ALIGN_DECL(32) = {
- 0x61,
- 0x80,
- 0x00,
- 0x01,
- 0x3A,
- 0x61,
- 0x84,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x88,
- 0xE0,
- 0xFC,
- 0x3F,
- 0x61,
- 0x94,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x30,
- 0x00,
- 0x00,
- 0x3F,
- 0x61,
- 0x31,
- 0x00,
- 0x00,
- 0x3F,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x40,
- 0xFF,
- 0xFF,
- 0x42,
- 0x80,
- 0x08,
- 0x30,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x18,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x0E,
- 0x00,
- 0x00,
- 0x7F,
- 0x3B,
- 0x61,
- 0x28,
- 0x38,
- 0x00,
- 0x40,
- 0x61,
- 0xC0,
- 0x28,
- 0xF8,
- 0xA2,
- 0x61,
- 0xC1,
- 0x08,
- 0xFF,
- 0xC0,
- 0x61,
- 0x43,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x40,
- 0x00,
- 0x00,
- 0x17,
- 0x61,
- 0x41,
- 0x00,
- 0x31,
- 0x0C,
- 0x61,
- 0xF3,
- 0x1E,
- 0xFF,
- 0x80,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x3F,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x09,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x00,
- 0x00,
- 0x00,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_matDL[] ALIGN_DECL(32) = {
+ 0x61, 0x80, 0x00, 0x01, 0x3A, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0xE0, 0xFC, 0x3F, 0x61,
+ 0x94, 0x00, 0x00, 0x00, 0x61, 0x30, 0x00, 0x00, 0x3F, 0x61, 0x31, 0x00, 0x00, 0x3F, 0x10, 0x00,
+ 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00,
+ 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, 0x3B, 0x61,
+ 0x28, 0x38, 0x00, 0x40, 0x61, 0xC0, 0x28, 0xF8, 0xA2, 0x61, 0xC1, 0x08, 0xFF, 0xC0, 0x61, 0x43,
+ 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x31, 0x0C, 0x61, 0xF3, 0x1E,
+ 0xFF, 0x80, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80525B78-80525C18 0029A0 0099+07 0/2 0/0 0/0 .data l_matLight4DL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_matLight4DL[153 + 7 /* padding */] ALIGN_DECL(32) = {
- 0x61,
- 0x80,
- 0x00,
- 0x01,
- 0x3A,
- 0x61,
- 0x84,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x88,
- 0xE0,
- 0xFC,
- 0x3F,
- 0x61,
- 0x94,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x30,
- 0x00,
- 0x00,
- 0x3F,
- 0x61,
- 0x31,
- 0x00,
- 0x00,
- 0x3F,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x40,
- 0xFF,
- 0xFF,
- 0x42,
- 0x80,
- 0x08,
- 0x30,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x18,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x0E,
- 0x00,
- 0x00,
- 0x0F,
- 0x3B,
- 0x61,
- 0x28,
- 0x38,
- 0x00,
- 0x40,
- 0x61,
- 0xC0,
- 0x28,
- 0xF8,
- 0xA2,
- 0x61,
- 0xC1,
- 0x08,
- 0xFF,
- 0xC0,
- 0x61,
- 0x43,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x40,
- 0x00,
- 0x00,
- 0x17,
- 0x61,
- 0x41,
- 0x00,
- 0x31,
- 0x0C,
- 0x61,
- 0xF3,
- 0x1E,
- 0xFF,
- 0x80,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x3F,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x09,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x00,
- 0x00,
- 0x00,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+SECTION_DATA static u8 l_matLight4DL[] ALIGN_DECL(32) = {
+ 0x61, 0x80, 0x00, 0x01, 0x3A, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0xE0, 0xFC, 0x3F, 0x61,
+ 0x94, 0x00, 0x00, 0x00, 0x61, 0x30, 0x00, 0x00, 0x3F, 0x61, 0x31, 0x00, 0x00, 0x3F, 0x10, 0x00,
+ 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00,
+ 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x0F, 0x3B, 0x61,
+ 0x28, 0x38, 0x00, 0x40, 0x61, 0xC0, 0x28, 0xF8, 0xA2, 0x61, 0xC1, 0x08, 0xFF, 0xC0, 0x61, 0x43,
+ 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x31, 0x0C, 0x61, 0xF3, 0x1E,
+ 0xFF, 0x80, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
@@ -4572,1533 +2126,128 @@ SECTION_DATA static u8 l_flowerColor2[8] = {
/* 80527208-80527338 004030 0120+10 0/1 0/0 0/0 .data l_flowerTexCoord2 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_flowerTexCoord2[288 + 16 /* padding */] = {
- 0x3F,
- 0xF3,
- 0x6D,
- 0x11,
- 0x3F,
- 0x72,
- 0x0B,
- 0xA2,
- 0x3F,
- 0x80,
- 0x00,
- 0x00,
- 0x3C,
- 0xAB,
- 0xDC,
- 0x27,
- 0x3D,
- 0xC9,
- 0x2E,
- 0xE8,
- 0x3F,
- 0x72,
- 0x0B,
- 0xA2,
- 0x40,
- 0x2B,
- 0x93,
- 0x9A,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x2B,
- 0x93,
- 0x9A,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x06,
- 0x1F,
- 0xCD,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x06,
- 0x00,
- 0x47,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x06,
- 0x16,
- 0xBE,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x06,
- 0x09,
- 0x5B,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x07,
- 0xBB,
- 0x1F,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x07,
- 0xC2,
- 0xF8,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x07,
- 0xB8,
- 0xC3,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x07,
- 0xC5,
- 0x50,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x03,
- 0xA9,
- 0x58,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x03,
- 0xA9,
- 0x58,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x00,
- 0x7B,
- 0xB7,
- 0xC0,
- 0xA0,
- 0x9B,
- 0xA2,
- 0x40,
- 0x39,
- 0x01,
- 0x1D,
- 0xC0,
- 0xBD,
- 0x25,
- 0x1C,
- 0x40,
- 0x00,
- 0x7B,
- 0xB7,
- 0xC0,
- 0xBE,
- 0x0D,
- 0xCC,
- 0x40,
- 0x00,
- 0x7B,
- 0xB7,
- 0xC0,
- 0xBD,
- 0x25,
- 0x1C,
- 0x40,
- 0x25,
- 0xD5,
- 0xA2,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x25,
- 0xD9,
- 0x1F,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x25,
- 0xD4,
- 0x95,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x25,
- 0xDA,
- 0x2B,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x24,
- 0x06,
- 0x9E,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x24,
- 0x06,
- 0x9E,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x2F,
- 0xF0,
- 0x35,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x2F,
- 0xF8,
- 0x16,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x2F,
- 0xF2,
- 0x78,
- 0x3F,
- 0x7B,
- 0xB5,
- 0x18,
- 0x40,
- 0x2F,
- 0xF5,
- 0xCF,
- 0x3F,
- 0x81,
- 0x7B,
- 0x96,
- 0x40,
- 0x66,
- 0xBD,
- 0x6A,
- 0x3F,
- 0x51,
- 0x10,
- 0x6F,
- 0x40,
- 0x66,
- 0xBD,
- 0x6A,
- 0x3F,
- 0x97,
- 0xF6,
- 0xBA,
- 0x40,
- 0x7C,
- 0x19,
- 0xB1,
- 0x3F,
- 0x80,
- 0x5E,
- 0x57,
- 0x40,
- 0x1B,
- 0x7D,
- 0x52,
- 0x3F,
- 0x97,
- 0xF6,
- 0xBA,
- 0x40,
- 0x04,
- 0x26,
- 0x74,
- 0x3F,
- 0x80,
- 0x3F,
- 0x79,
- 0x40,
- 0x1B,
- 0x7D,
- 0x52,
- 0x3F,
- 0x80,
- 0x3F,
- 0x79,
- 0x40,
- 0x1B,
- 0x7D,
- 0x52,
- 0x3F,
- 0x51,
- 0x10,
- 0x6F,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_flowerTexCoord2[] = {
+ 0x3F, 0xF3, 0x6D, 0x11, 0x3F, 0x72, 0x0B, 0xA2, 0x3F, 0x80, 0x00, 0x00, 0x3C, 0xAB, 0xDC, 0x27,
+ 0x3D, 0xC9, 0x2E, 0xE8, 0x3F, 0x72, 0x0B, 0xA2, 0x40, 0x2B, 0x93, 0x9A, 0x3F, 0x81, 0x7B, 0x96,
+ 0x40, 0x2B, 0x93, 0x9A, 0x3F, 0x7B, 0xB5, 0x18, 0x40, 0x06, 0x1F, 0xCD, 0x3F, 0x7B, 0xB5, 0x18,
+ 0x40, 0x06, 0x00, 0x47, 0x3F, 0x81, 0x7B, 0x96, 0x40, 0x06, 0x16, 0xBE, 0x3F, 0x81, 0x7B, 0x96,
+ 0x40, 0x06, 0x09, 0x5B, 0x3F, 0x7B, 0xB5, 0x18, 0x40, 0x07, 0xBB, 0x1F, 0x3F, 0x7B, 0xB5, 0x18,
+ 0x40, 0x07, 0xC2, 0xF8, 0x3F, 0x81, 0x7B, 0x96, 0x40, 0x07, 0xB8, 0xC3, 0x3F, 0x81, 0x7B, 0x96,
+ 0x40, 0x07, 0xC5, 0x50, 0x3F, 0x7B, 0xB5, 0x18, 0x40, 0x03, 0xA9, 0x58, 0x3F, 0x7B, 0xB5, 0x18,
+ 0x40, 0x03, 0xA9, 0x58, 0x3F, 0x81, 0x7B, 0x96, 0x40, 0x00, 0x7B, 0xB7, 0xC0, 0xA0, 0x9B, 0xA2,
+ 0x40, 0x39, 0x01, 0x1D, 0xC0, 0xBD, 0x25, 0x1C, 0x40, 0x00, 0x7B, 0xB7, 0xC0, 0xBE, 0x0D, 0xCC,
+ 0x40, 0x00, 0x7B, 0xB7, 0xC0, 0xBD, 0x25, 0x1C, 0x40, 0x25, 0xD5, 0xA2, 0x3F, 0x7B, 0xB5, 0x18,
+ 0x40, 0x25, 0xD9, 0x1F, 0x3F, 0x81, 0x7B, 0x96, 0x40, 0x25, 0xD4, 0x95, 0x3F, 0x81, 0x7B, 0x96,
+ 0x40, 0x25, 0xDA, 0x2B, 0x3F, 0x7B, 0xB5, 0x18, 0x40, 0x24, 0x06, 0x9E, 0x3F, 0x7B, 0xB5, 0x18,
+ 0x40, 0x24, 0x06, 0x9E, 0x3F, 0x81, 0x7B, 0x96, 0x40, 0x2F, 0xF0, 0x35, 0x3F, 0x81, 0x7B, 0x96,
+ 0x40, 0x2F, 0xF8, 0x16, 0x3F, 0x7B, 0xB5, 0x18, 0x40, 0x2F, 0xF2, 0x78, 0x3F, 0x7B, 0xB5, 0x18,
+ 0x40, 0x2F, 0xF5, 0xCF, 0x3F, 0x81, 0x7B, 0x96, 0x40, 0x66, 0xBD, 0x6A, 0x3F, 0x51, 0x10, 0x6F,
+ 0x40, 0x66, 0xBD, 0x6A, 0x3F, 0x97, 0xF6, 0xBA, 0x40, 0x7C, 0x19, 0xB1, 0x3F, 0x80, 0x5E, 0x57,
+ 0x40, 0x1B, 0x7D, 0x52, 0x3F, 0x97, 0xF6, 0xBA, 0x40, 0x04, 0x26, 0x74, 0x3F, 0x80, 0x3F, 0x79,
+ 0x40, 0x1B, 0x7D, 0x52, 0x3F, 0x80, 0x3F, 0x79, 0x40, 0x1B, 0x7D, 0x52, 0x3F, 0x51, 0x10, 0x6F};
#pragma pop
/* 80527338-80527478 004160 0138+08 0/1 0/0 0/0 .data l_J_hana01DL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_J_hana01DL[312 + 8 /* padding */] ALIGN_DECL(32) = {
- 0x98,
- 0x00,
- 0x03,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x01,
- 0x02,
- 0x00,
- 0x00,
- 0x02,
- 0x98,
- 0x00,
- 0x03,
- 0x03,
- 0x00,
- 0x00,
- 0x02,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x05,
- 0x00,
- 0x00,
- 0x01,
- 0x98,
- 0x00,
- 0x03,
- 0x06,
- 0x00,
- 0x00,
- 0x00,
- 0x07,
- 0x00,
- 0x00,
- 0x01,
- 0x08,
- 0x00,
- 0x00,
- 0x02,
- 0x98,
- 0x00,
- 0x03,
- 0x09,
- 0x00,
- 0x00,
- 0x01,
- 0x0A,
- 0x00,
- 0x00,
- 0x02,
- 0x0B,
- 0x00,
- 0x00,
- 0x00,
- 0x98,
- 0x00,
- 0x03,
- 0x0C,
- 0x00,
- 0x00,
- 0x00,
- 0x0D,
- 0x00,
- 0x00,
- 0x01,
- 0x0E,
- 0x00,
- 0x00,
- 0x02,
- 0x98,
- 0x00,
- 0x03,
- 0x0F,
- 0x00,
- 0x00,
- 0x02,
- 0x10,
- 0x00,
- 0x00,
- 0x00,
- 0x11,
- 0x00,
- 0x00,
- 0x01,
- 0x98,
- 0x00,
- 0x04,
- 0x18,
- 0x03,
- 0x01,
- 0x07,
- 0x19,
- 0x03,
- 0x01,
- 0x08,
- 0x17,
- 0x01,
- 0x00,
- 0x03,
- 0x16,
- 0x01,
- 0x00,
- 0x04,
- 0x98,
- 0x00,
- 0x04,
- 0x14,
- 0x02,
- 0x01,
- 0x05,
- 0x15,
- 0x02,
- 0x01,
- 0x06,
- 0x13,
- 0x01,
- 0x00,
- 0x04,
- 0x12,
- 0x01,
- 0x00,
- 0x03,
- 0x98,
- 0x00,
- 0x04,
- 0x20,
- 0x07,
- 0x01,
- 0x0B,
- 0x21,
- 0x07,
- 0x01,
- 0x0C,
- 0x1F,
- 0x06,
- 0x00,
- 0x03,
- 0x1E,
- 0x06,
- 0x00,
- 0x04,
- 0x98,
- 0x00,
- 0x04,
- 0x1C,
- 0x05,
- 0x01,
- 0x09,
- 0x1D,
- 0x05,
- 0x01,
- 0x0A,
- 0x1B,
- 0x04,
- 0x00,
- 0x04,
- 0x1A,
- 0x04,
- 0x00,
- 0x03,
- 0x98,
- 0x00,
- 0x04,
- 0x28,
- 0x08,
- 0x01,
- 0x0E,
- 0x29,
- 0x08,
- 0x01,
- 0x0D,
- 0x27,
- 0x08,
- 0x00,
- 0x03,
- 0x26,
- 0x08,
- 0x00,
- 0x04,
- 0x98,
- 0x00,
- 0x04,
- 0x24,
- 0x08,
- 0x01,
- 0x0D,
- 0x25,
- 0x08,
- 0x01,
- 0x0E,
- 0x23,
- 0x08,
- 0x00,
- 0x04,
- 0x22,
- 0x08,
- 0x00,
- 0x03,
- 0x98,
- 0x00,
- 0x05,
- 0x2C,
- 0x01,
- 0x00,
- 0x11,
- 0x2E,
- 0x01,
- 0x00,
- 0x10,
- 0x2A,
- 0x01,
- 0x00,
- 0x0F,
- 0x2D,
- 0x01,
- 0x00,
- 0x11,
- 0x2B,
- 0x01,
- 0x00,
- 0x10,
- 0x98,
- 0x00,
- 0x03,
- 0x2A,
- 0x01,
- 0x00,
- 0x0F,
- 0x2B,
- 0x01,
- 0x00,
- 0x10,
- 0x2C,
- 0x01,
- 0x00,
- 0x11,
- 0x98,
- 0x00,
- 0x05,
- 0x31,
- 0x01,
- 0x00,
- 0x12,
- 0x33,
- 0x01,
- 0x00,
- 0x10,
- 0x2F,
- 0x01,
- 0x00,
- 0x0F,
- 0x32,
- 0x01,
- 0x00,
- 0x12,
- 0x30,
- 0x01,
- 0x00,
- 0x10,
- 0x98,
- 0x00,
- 0x03,
- 0x2F,
- 0x01,
- 0x00,
- 0x0F,
- 0x30,
- 0x01,
- 0x00,
- 0x10,
- 0x31,
- 0x01,
- 0x00,
- 0x12,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_J_hana01DL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x02, 0x98,
+ 0x00, 0x03, 0x03, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x01, 0x98, 0x00,
+ 0x03, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x02, 0x98, 0x00, 0x03,
+ 0x09, 0x00, 0x00, 0x01, 0x0A, 0x00, 0x00, 0x02, 0x0B, 0x00, 0x00, 0x00, 0x98, 0x00, 0x03, 0x0C,
+ 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x01, 0x0E, 0x00, 0x00, 0x02, 0x98, 0x00, 0x03, 0x0F, 0x00,
+ 0x00, 0x02, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x01, 0x98, 0x00, 0x04, 0x18, 0x03, 0x01,
+ 0x07, 0x19, 0x03, 0x01, 0x08, 0x17, 0x01, 0x00, 0x03, 0x16, 0x01, 0x00, 0x04, 0x98, 0x00, 0x04,
+ 0x14, 0x02, 0x01, 0x05, 0x15, 0x02, 0x01, 0x06, 0x13, 0x01, 0x00, 0x04, 0x12, 0x01, 0x00, 0x03,
+ 0x98, 0x00, 0x04, 0x20, 0x07, 0x01, 0x0B, 0x21, 0x07, 0x01, 0x0C, 0x1F, 0x06, 0x00, 0x03, 0x1E,
+ 0x06, 0x00, 0x04, 0x98, 0x00, 0x04, 0x1C, 0x05, 0x01, 0x09, 0x1D, 0x05, 0x01, 0x0A, 0x1B, 0x04,
+ 0x00, 0x04, 0x1A, 0x04, 0x00, 0x03, 0x98, 0x00, 0x04, 0x28, 0x08, 0x01, 0x0E, 0x29, 0x08, 0x01,
+ 0x0D, 0x27, 0x08, 0x00, 0x03, 0x26, 0x08, 0x00, 0x04, 0x98, 0x00, 0x04, 0x24, 0x08, 0x01, 0x0D,
+ 0x25, 0x08, 0x01, 0x0E, 0x23, 0x08, 0x00, 0x04, 0x22, 0x08, 0x00, 0x03, 0x98, 0x00, 0x05, 0x2C,
+ 0x01, 0x00, 0x11, 0x2E, 0x01, 0x00, 0x10, 0x2A, 0x01, 0x00, 0x0F, 0x2D, 0x01, 0x00, 0x11, 0x2B,
+ 0x01, 0x00, 0x10, 0x98, 0x00, 0x03, 0x2A, 0x01, 0x00, 0x0F, 0x2B, 0x01, 0x00, 0x10, 0x2C, 0x01,
+ 0x00, 0x11, 0x98, 0x00, 0x05, 0x31, 0x01, 0x00, 0x12, 0x33, 0x01, 0x00, 0x10, 0x2F, 0x01, 0x00,
+ 0x0F, 0x32, 0x01, 0x00, 0x12, 0x30, 0x01, 0x00, 0x10, 0x98, 0x00, 0x03, 0x2F, 0x01, 0x00, 0x0F,
+ 0x30, 0x01, 0x00, 0x10, 0x31, 0x01, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80527478-80527558 0042A0 00DE+02 0/0 0/0 0/0 .data l_J_hana01_c_00DL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_J_hana01_c_00DL[222 + 2 /* padding */] ALIGN_DECL(32) = {
- 0x98,
- 0x00,
- 0x05,
- 0x2C,
- 0x01,
- 0x00,
- 0x11,
- 0x2E,
- 0x01,
- 0x00,
- 0x10,
- 0x2A,
- 0x01,
- 0x00,
- 0x0F,
- 0x2D,
- 0x01,
- 0x00,
- 0x11,
- 0x2B,
- 0x01,
- 0x00,
- 0x10,
- 0x98,
- 0x00,
- 0x03,
- 0x2A,
- 0x01,
- 0x00,
- 0x0F,
- 0x2B,
- 0x01,
- 0x00,
- 0x10,
- 0x2C,
- 0x01,
- 0x00,
- 0x11,
- 0x98,
- 0x00,
- 0x05,
- 0x31,
- 0x01,
- 0x00,
- 0x12,
- 0x33,
- 0x01,
- 0x00,
- 0x10,
- 0x2F,
- 0x01,
- 0x00,
- 0x0F,
- 0x32,
- 0x01,
- 0x00,
- 0x12,
- 0x30,
- 0x01,
- 0x00,
- 0x10,
- 0x98,
- 0x00,
- 0x03,
- 0x2F,
- 0x01,
- 0x00,
- 0x0F,
- 0x30,
- 0x01,
- 0x00,
- 0x10,
- 0x31,
- 0x01,
- 0x00,
- 0x12,
- 0x98,
- 0x00,
- 0x04,
- 0x21,
- 0x0C,
- 0x01,
- 0x0C,
- 0x37,
- 0x0B,
- 0x00,
- 0x16,
- 0x20,
- 0x0C,
- 0x01,
- 0x0B,
- 0x36,
- 0x0B,
- 0x00,
- 0x15,
- 0x98,
- 0x00,
- 0x04,
- 0x1D,
- 0x0A,
- 0x01,
- 0x0A,
- 0x35,
- 0x09,
- 0x00,
- 0x14,
- 0x1C,
- 0x0A,
- 0x01,
- 0x09,
- 0x34,
- 0x09,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x04,
- 0x29,
- 0x03,
- 0x01,
- 0x0D,
- 0x3B,
- 0x0F,
- 0x00,
- 0x17,
- 0x28,
- 0x03,
- 0x01,
- 0x0E,
- 0x3A,
- 0x0F,
- 0x00,
- 0x18,
- 0x98,
- 0x00,
- 0x04,
- 0x25,
- 0x0E,
- 0x01,
- 0x0E,
- 0x39,
- 0x0D,
- 0x00,
- 0x18,
- 0x24,
- 0x0E,
- 0x01,
- 0x0D,
- 0x38,
- 0x0D,
- 0x00,
- 0x17,
- 0x98,
- 0x00,
- 0x04,
- 0x18,
- 0x0F,
- 0x01,
- 0x07,
- 0x19,
- 0x11,
- 0x01,
- 0x08,
- 0x3F,
- 0x10,
- 0x00,
- 0x1C,
- 0x3E,
- 0x10,
- 0x00,
- 0x1B,
- 0x98,
- 0x00,
- 0x04,
- 0x14,
- 0x02,
- 0x01,
- 0x05,
- 0x15,
- 0x02,
- 0x01,
- 0x06,
- 0x3D,
- 0x02,
- 0x00,
- 0x1A,
- 0x3C,
- 0x02,
- 0x00,
- 0x19,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_J_hana01_c_00DL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x05, 0x2C, 0x01, 0x00, 0x11, 0x2E, 0x01, 0x00, 0x10, 0x2A, 0x01, 0x00, 0x0F, 0x2D,
+ 0x01, 0x00, 0x11, 0x2B, 0x01, 0x00, 0x10, 0x98, 0x00, 0x03, 0x2A, 0x01, 0x00, 0x0F, 0x2B, 0x01,
+ 0x00, 0x10, 0x2C, 0x01, 0x00, 0x11, 0x98, 0x00, 0x05, 0x31, 0x01, 0x00, 0x12, 0x33, 0x01, 0x00,
+ 0x10, 0x2F, 0x01, 0x00, 0x0F, 0x32, 0x01, 0x00, 0x12, 0x30, 0x01, 0x00, 0x10, 0x98, 0x00, 0x03,
+ 0x2F, 0x01, 0x00, 0x0F, 0x30, 0x01, 0x00, 0x10, 0x31, 0x01, 0x00, 0x12, 0x98, 0x00, 0x04, 0x21,
+ 0x0C, 0x01, 0x0C, 0x37, 0x0B, 0x00, 0x16, 0x20, 0x0C, 0x01, 0x0B, 0x36, 0x0B, 0x00, 0x15, 0x98,
+ 0x00, 0x04, 0x1D, 0x0A, 0x01, 0x0A, 0x35, 0x09, 0x00, 0x14, 0x1C, 0x0A, 0x01, 0x09, 0x34, 0x09,
+ 0x00, 0x13, 0x98, 0x00, 0x04, 0x29, 0x03, 0x01, 0x0D, 0x3B, 0x0F, 0x00, 0x17, 0x28, 0x03, 0x01,
+ 0x0E, 0x3A, 0x0F, 0x00, 0x18, 0x98, 0x00, 0x04, 0x25, 0x0E, 0x01, 0x0E, 0x39, 0x0D, 0x00, 0x18,
+ 0x24, 0x0E, 0x01, 0x0D, 0x38, 0x0D, 0x00, 0x17, 0x98, 0x00, 0x04, 0x18, 0x0F, 0x01, 0x07, 0x19,
+ 0x11, 0x01, 0x08, 0x3F, 0x10, 0x00, 0x1C, 0x3E, 0x10, 0x00, 0x1B, 0x98, 0x00, 0x04, 0x14, 0x02,
+ 0x01, 0x05, 0x15, 0x02, 0x01, 0x06, 0x3D, 0x02, 0x00, 0x1A, 0x3C, 0x02, 0x00, 0x19, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80527558-80527698 004380 0128+18 0/1 0/0 0/0 .data l_J_hana01_c_01DL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_J_hana01_c_01DL[296 + 24 /* padding */] ALIGN_DECL(32) = {
- 0x98,
- 0x00,
- 0x03,
- 0x42,
- 0x13,
- 0x00,
- 0x1F,
- 0x44,
- 0x16,
- 0x00,
- 0x1E,
- 0x40,
- 0x16,
- 0x00,
- 0x1D,
- 0x98,
- 0x00,
- 0x03,
- 0x42,
- 0x13,
- 0x00,
- 0x1F,
- 0x43,
- 0x15,
- 0x00,
- 0x1D,
- 0x44,
- 0x15,
- 0x00,
- 0x1E,
- 0x98,
- 0x00,
- 0x03,
- 0x42,
- 0x14,
- 0x00,
- 0x1F,
- 0x41,
- 0x14,
- 0x00,
- 0x1E,
- 0x43,
- 0x14,
- 0x00,
- 0x1D,
- 0x98,
- 0x00,
- 0x03,
- 0x40,
- 0x12,
- 0x00,
- 0x1D,
- 0x41,
- 0x12,
- 0x00,
- 0x1E,
- 0x42,
- 0x13,
- 0x00,
- 0x1F,
- 0x98,
- 0x00,
- 0x03,
- 0x47,
- 0x16,
- 0x00,
- 0x1F,
- 0x49,
- 0x16,
- 0x00,
- 0x1E,
- 0x45,
- 0x16,
- 0x00,
- 0x1D,
- 0x98,
- 0x00,
- 0x03,
- 0x47,
- 0x15,
- 0x00,
- 0x1F,
- 0x48,
- 0x17,
- 0x00,
- 0x1D,
- 0x49,
- 0x15,
- 0x00,
- 0x1E,
- 0x98,
- 0x00,
- 0x03,
- 0x47,
- 0x14,
- 0x00,
- 0x1F,
- 0x46,
- 0x14,
- 0x00,
- 0x1E,
- 0x48,
- 0x14,
- 0x00,
- 0x1D,
- 0x98,
- 0x00,
- 0x03,
- 0x45,
- 0x12,
- 0x00,
- 0x1D,
- 0x46,
- 0x12,
- 0x00,
- 0x1E,
- 0x47,
- 0x12,
- 0x00,
- 0x1F,
- 0x98,
- 0x00,
- 0x03,
- 0x4C,
- 0x14,
- 0x00,
- 0x22,
- 0x4B,
- 0x14,
- 0x00,
- 0x21,
- 0x4D,
- 0x14,
- 0x00,
- 0x23,
- 0x98,
- 0x00,
- 0x03,
- 0x4A,
- 0x12,
- 0x00,
- 0x20,
- 0x4B,
- 0x12,
- 0x00,
- 0x21,
- 0x4C,
- 0x13,
- 0x00,
- 0x22,
- 0x98,
- 0x00,
- 0x04,
- 0x54,
- 0x0C,
- 0x01,
- 0x0C,
- 0x55,
- 0x0B,
- 0x00,
- 0x16,
- 0x53,
- 0x0C,
- 0x01,
- 0x0B,
- 0x52,
- 0x0B,
- 0x00,
- 0x15,
- 0x98,
- 0x00,
- 0x04,
- 0x50,
- 0x0A,
- 0x01,
- 0x0A,
- 0x51,
- 0x09,
- 0x00,
- 0x14,
- 0x4F,
- 0x0A,
- 0x01,
- 0x09,
- 0x4E,
- 0x09,
- 0x00,
- 0x13,
- 0x98,
- 0x00,
- 0x04,
- 0x5C,
- 0x03,
- 0x01,
- 0x0D,
- 0x5D,
- 0x0F,
- 0x00,
- 0x17,
- 0x5B,
- 0x03,
- 0x01,
- 0x0E,
- 0x5A,
- 0x0F,
- 0x00,
- 0x18,
- 0x98,
- 0x00,
- 0x04,
- 0x58,
- 0x0E,
- 0x01,
- 0x0E,
- 0x59,
- 0x0D,
- 0x00,
- 0x18,
- 0x57,
- 0x0E,
- 0x01,
- 0x0D,
- 0x56,
- 0x0D,
- 0x00,
- 0x17,
- 0x98,
- 0x00,
- 0x04,
- 0x64,
- 0x0F,
- 0x01,
- 0x07,
- 0x65,
- 0x11,
- 0x01,
- 0x08,
- 0x63,
- 0x10,
- 0x00,
- 0x1C,
- 0x62,
- 0x10,
- 0x00,
- 0x1B,
- 0x98,
- 0x00,
- 0x04,
- 0x60,
- 0x02,
- 0x01,
- 0x05,
- 0x61,
- 0x02,
- 0x01,
- 0x06,
- 0x5F,
- 0x02,
- 0x00,
- 0x1A,
- 0x5E,
- 0x02,
- 0x00,
- 0x19,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_J_hana01_c_01DL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x03, 0x42, 0x13, 0x00, 0x1F, 0x44, 0x16, 0x00, 0x1E, 0x40, 0x16, 0x00, 0x1D, 0x98,
+ 0x00, 0x03, 0x42, 0x13, 0x00, 0x1F, 0x43, 0x15, 0x00, 0x1D, 0x44, 0x15, 0x00, 0x1E, 0x98, 0x00,
+ 0x03, 0x42, 0x14, 0x00, 0x1F, 0x41, 0x14, 0x00, 0x1E, 0x43, 0x14, 0x00, 0x1D, 0x98, 0x00, 0x03,
+ 0x40, 0x12, 0x00, 0x1D, 0x41, 0x12, 0x00, 0x1E, 0x42, 0x13, 0x00, 0x1F, 0x98, 0x00, 0x03, 0x47,
+ 0x16, 0x00, 0x1F, 0x49, 0x16, 0x00, 0x1E, 0x45, 0x16, 0x00, 0x1D, 0x98, 0x00, 0x03, 0x47, 0x15,
+ 0x00, 0x1F, 0x48, 0x17, 0x00, 0x1D, 0x49, 0x15, 0x00, 0x1E, 0x98, 0x00, 0x03, 0x47, 0x14, 0x00,
+ 0x1F, 0x46, 0x14, 0x00, 0x1E, 0x48, 0x14, 0x00, 0x1D, 0x98, 0x00, 0x03, 0x45, 0x12, 0x00, 0x1D,
+ 0x46, 0x12, 0x00, 0x1E, 0x47, 0x12, 0x00, 0x1F, 0x98, 0x00, 0x03, 0x4C, 0x14, 0x00, 0x22, 0x4B,
+ 0x14, 0x00, 0x21, 0x4D, 0x14, 0x00, 0x23, 0x98, 0x00, 0x03, 0x4A, 0x12, 0x00, 0x20, 0x4B, 0x12,
+ 0x00, 0x21, 0x4C, 0x13, 0x00, 0x22, 0x98, 0x00, 0x04, 0x54, 0x0C, 0x01, 0x0C, 0x55, 0x0B, 0x00,
+ 0x16, 0x53, 0x0C, 0x01, 0x0B, 0x52, 0x0B, 0x00, 0x15, 0x98, 0x00, 0x04, 0x50, 0x0A, 0x01, 0x0A,
+ 0x51, 0x09, 0x00, 0x14, 0x4F, 0x0A, 0x01, 0x09, 0x4E, 0x09, 0x00, 0x13, 0x98, 0x00, 0x04, 0x5C,
+ 0x03, 0x01, 0x0D, 0x5D, 0x0F, 0x00, 0x17, 0x5B, 0x03, 0x01, 0x0E, 0x5A, 0x0F, 0x00, 0x18, 0x98,
+ 0x00, 0x04, 0x58, 0x0E, 0x01, 0x0E, 0x59, 0x0D, 0x00, 0x18, 0x57, 0x0E, 0x01, 0x0D, 0x56, 0x0D,
+ 0x00, 0x17, 0x98, 0x00, 0x04, 0x64, 0x0F, 0x01, 0x07, 0x65, 0x11, 0x01, 0x08, 0x63, 0x10, 0x00,
+ 0x1C, 0x62, 0x10, 0x00, 0x1B, 0x98, 0x00, 0x04, 0x60, 0x02, 0x01, 0x05, 0x61, 0x02, 0x01, 0x06,
+ 0x5F, 0x02, 0x00, 0x1A, 0x5E, 0x02, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80527698-80527738 0044C0 0099+07 0/2 0/0 0/0 .data l_mat2DL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_mat2DL[153 + 7 /* padding */] ALIGN_DECL(32) = {
- 0x61,
- 0x80,
- 0x00,
- 0x01,
- 0x3A,
- 0x61,
- 0x84,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x88,
- 0xE1,
- 0xFC,
- 0x3F,
- 0x61,
- 0x94,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x30,
- 0x00,
- 0x00,
- 0x3F,
- 0x61,
- 0x31,
- 0x00,
- 0x00,
- 0x7F,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x40,
- 0xFF,
- 0xFF,
- 0x42,
- 0x80,
- 0x08,
- 0x30,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x18,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x0E,
- 0x00,
- 0x00,
- 0x7F,
- 0x3B,
- 0x61,
- 0x28,
- 0x38,
- 0x00,
- 0x40,
- 0x61,
- 0xC0,
- 0x28,
- 0xF8,
- 0xA2,
- 0x61,
- 0xC1,
- 0x08,
- 0xFF,
- 0xC0,
- 0x61,
- 0x43,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x40,
- 0x00,
- 0x00,
- 0x17,
- 0x61,
- 0x41,
- 0x00,
- 0x31,
- 0x0C,
- 0x61,
- 0xF3,
- 0x1E,
- 0xFF,
- 0x80,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x3F,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x09,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x00,
- 0x00,
- 0x00,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_mat2DL[] ALIGN_DECL(32) = {
+ 0x61, 0x80, 0x00, 0x01, 0x3A, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0xE1, 0xFC, 0x3F, 0x61,
+ 0x94, 0x00, 0x00, 0x00, 0x61, 0x30, 0x00, 0x00, 0x3F, 0x61, 0x31, 0x00, 0x00, 0x7F, 0x10, 0x00,
+ 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00,
+ 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, 0x3B, 0x61,
+ 0x28, 0x38, 0x00, 0x40, 0x61, 0xC0, 0x28, 0xF8, 0xA2, 0x61, 0xC1, 0x08, 0xFF, 0xC0, 0x61, 0x43,
+ 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x31, 0x0C, 0x61, 0xF3, 0x1E,
+ 0xFF, 0x80, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 80527738-805277D4 004560 0099+03 0/2 0/0 0/0 .data l_mat2Light4DL */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_mat2Light4DL[153 + 3 /* padding */] ALIGN_DECL(32) = {
- 0x61,
- 0x80,
- 0x00,
- 0x01,
- 0x3A,
- 0x61,
- 0x84,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x88,
- 0xE1,
- 0xFC,
- 0x3F,
- 0x61,
- 0x94,
- 0x00,
- 0x00,
- 0x00,
- 0x61,
- 0x30,
- 0x00,
- 0x00,
- 0x3F,
- 0x61,
- 0x31,
- 0x00,
- 0x00,
- 0x7F,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x40,
- 0xFF,
- 0xFF,
- 0x42,
- 0x80,
- 0x08,
- 0x30,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x18,
- 0x3C,
- 0xF3,
- 0xCF,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x0E,
- 0x00,
- 0x00,
- 0x0F,
- 0x3B,
- 0x61,
- 0x28,
- 0x38,
- 0x00,
- 0x40,
- 0x61,
- 0xC0,
- 0x28,
- 0xF8,
- 0xA2,
- 0x61,
- 0xC1,
- 0x08,
- 0xFF,
- 0xC0,
- 0x61,
- 0x43,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x40,
- 0x00,
- 0x00,
- 0x17,
- 0x61,
- 0x41,
- 0x00,
- 0x31,
- 0x0C,
- 0x61,
- 0xF3,
- 0x1E,
- 0xFF,
- 0x80,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x3F,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x10,
- 0x00,
- 0x00,
- 0x10,
- 0x09,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x61,
- 0x00,
- 0x00,
- 0x00,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
-};
+SECTION_DATA static u8 l_mat2Light4DL[] ALIGN_DECL(32) = {
+ 0x61, 0x80, 0x00, 0x01, 0x3A, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0xE1, 0xFC, 0x3F, 0x61,
+ 0x94, 0x00, 0x00, 0x00, 0x61, 0x30, 0x00, 0x00, 0x3F, 0x61, 0x31, 0x00, 0x00, 0x7F, 0x10, 0x00,
+ 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00,
+ 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x0F, 0x3B, 0x61,
+ 0x28, 0x38, 0x00, 0x40, 0x61, 0xC0, 0x28, 0xF8, 0xA2, 0x61, 0xC1, 0x08, 0xFF, 0xC0, 0x61, 0x43,
+ 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x31, 0x0C, 0x61, 0xF3, 0x1E,
+ 0xFF, 0x80, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#pragma pop
/* 805277D4-805277E0 -00001 000C+00 1/1 0/0 0/0 .data @5875 */
@@ -6290,7 +2439,7 @@ static u8 struct_80527920[12 + 4 /* padding */];
#pragma pop
/* 80527930-805284E8 000068 0BB8+00 1/1 0/0 0/0 .bss mAngleZ$5046 */
-static u8 mAngleZ[3000];
+static s16 mAngleZ[1500];
/* 805284E8-805284EC 000C20 0004+00 1/2 0/0 0/0 .bss None */
static u8 data_805284E8[4];
@@ -6883,120 +3032,80 @@ static u8 struct_80528940[104];
static u8 data_805289A8[42];
/* 8051BFBC-8051C040 00035C 0084+00 1/0 0/0 0/0 .text __dt__15dGrass_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dGrass_packet_c::~dGrass_packet_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__15dGrass_packet_cFv.s"
-}
-#pragma pop
+dGrass_packet_c::~dGrass_packet_c() {}
/* 8051C040-8051C074 0003E0 0034+00 1/1 0/0 0/0 .text executeGrass__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::executeGrass() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/executeGrass__9daGrass_cFv.s"
+void daGrass_c::executeGrass() {
+ if (m_grass != NULL) {
+ m_grass->calc();
+ }
}
-#pragma pop
/* 8051C074-8051C0A8 000414 0034+00 1/1 0/0 0/0 .text drawGrass__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::drawGrass() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/drawGrass__9daGrass_cFv.s"
+void daGrass_c::drawGrass() {
+ if (m_grass != NULL) {
+ m_grass->update();
+ }
}
-#pragma pop
/* 8051C0A8-8051C0D4 000448 002C+00 1/1 0/0 0/0 .text newGrassData__9daGrass_cFR4cXyziUcUcsUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::newGrassData(cXyz& param_0, int param_1, u8 param_2, u8 param_3, s16 param_4,
- u8 param_5) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newGrassData__9daGrass_cFR4cXyziUcUcsUc.s"
+void daGrass_c::newGrassData(cXyz& i_pos, int i_roomNo, u8 i_itemNo, u8 i_itemBitNo, s16 i_addCol,
+ u8 param_5) {
+ m_grass->newData(i_pos, i_roomNo, i_itemNo, i_itemBitNo, i_addCol, param_5);
}
-#pragma pop
/* 8051C0D4-8051C140 000474 006C+00 1/1 0/0 0/0 .text createFlower__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::createFlower() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/createFlower__9daGrass_cFv.s"
+int daGrass_c::createFlower() {
+ if (m_flower != NULL) {
+ return 1;
+ }
+
+ m_flower = new dFlower_packet_c();
+ if (m_flower == NULL) {
+ return 0;
+ }
+
+ return 1;
}
-#pragma pop
/* 8051C140-8051C194 0004E0 0054+00 1/1 0/0 0/0 .text deleteFlower__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::deleteFlower() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/deleteFlower__9daGrass_cFv.s"
+void daGrass_c::deleteFlower() {
+ if (m_flower != NULL) {
+ delete m_flower;
+ m_flower = NULL;
+ }
}
-#pragma pop
/* 8051C194-8051C218 000534 0084+00 1/0 0/0 0/0 .text __dt__16dFlower_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dFlower_packet_c::~dFlower_packet_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__16dFlower_packet_cFv.s"
-}
-#pragma pop
+dFlower_packet_c::~dFlower_packet_c() {}
/* 8051C218-8051C24C 0005B8 0034+00 1/1 0/0 0/0 .text executeFlower__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::executeFlower() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/executeFlower__9daGrass_cFv.s"
+void daGrass_c::executeFlower() {
+ if (m_flower != NULL) {
+ m_flower->calc();
+ }
}
-#pragma pop
/* 8051C24C-8051C280 0005EC 0034+00 1/1 0/0 0/0 .text drawFlower__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::drawFlower() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/drawFlower__9daGrass_cFv.s"
+void daGrass_c::drawFlower() {
+ if (m_flower != NULL) {
+ m_flower->update();
+ }
}
-#pragma pop
/* 8051C280-8051C2AC 000620 002C+00 1/1 0/0 0/0 .text newFlowerData__9daGrass_cFScR4cXyziScs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::newFlowerData(s8 param_0, cXyz& param_1, int param_2, s8 param_3, s16 param_4) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newFlowerData__9daGrass_cFScR4cXyziScs.s"
+void daGrass_c::newFlowerData(s8 param_0, cXyz& param_1, int param_2, s8 param_3, s16 param_4) {
+ m_flower->newData(param_0, param_1, param_2, param_3, param_4);
}
-#pragma pop
/* 8051C2AC-8051C2B0 00064C 0004+00 1/1 0/0 0/0 .text dGrass_Tex_Change__Fv */
-static void dGrass_Tex_Change() {
- /* empty function */
-}
+static void dGrass_Tex_Change() {}
/* 8051C2B0-8051C304 000650 0054+00 1/0 0/0 0/0 .text daGrass_create__FP9daGrass_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daGrass_create(daGrass_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/daGrass_create__FP9daGrass_c.s"
+static int daGrass_create(daGrass_c* i_this) {
+ fopAcM_SetupActor(i_this, daGrass_c);
+ return i_this->create();
}
-#pragma pop
/* ############################################################################################## */
/* 805231B0-805231B4 000188 0004+00 0/1 0/0 0/0 .rodata @6978 */
@@ -7036,44 +3145,230 @@ SECTION_DEAD static char const* const stringBase_805231CE = "D_MN07A";
#pragma pop
/* 8051C304-8051D6CC 0006A4 13C8+00 1/1 0/0 0/0 .text create__9daGrass_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daGrass_c::create() {
+// matches except for static data
+#ifdef NONMATCHING
+int daGrass_c::create() {
+ static csXyz l_setType0[] = {
+ csXyz(0, 0, 0), csXyz(3, 0, -50), csXyz(-2, 0, 50), csXyz(50, 0, 27),
+ csXyz(52, 0, -25), csXyz(-50, 0, 22), csXyz(-50, 0, -29),
+ };
+
+ static csXyz l_setType1[] = {
+ csXyz(-18, 0, 76), csXyz(-15, 0, 26), csXyz(133, 0, 0), csXyz(80, 0, 23),
+ csXyz(86, 0, -83), csXyz(33, 0, -56), csXyz(83, 0, -27), csXyz(-120, 0, -26),
+ csXyz(-18, 0, -74), csXyz(-20, 0, -21), csXyz(-73, 0, 1), csXyz(-67, 0, -102),
+ csXyz(-21, 0, 126), csXyz(-120, 0, -78), csXyz(-70, 0, -49), csXyz(32, 0, 103),
+ csXyz(34, 0, 51), csXyz(-72, 0, 98), csXyz(-68, 0, 47), csXyz(33, 0, -5),
+ csXyz(135, 0, -53),
+ };
+
+ static csXyz l_setType2[] = {csXyz(25, 0, 25), csXyz(25, 0, -25), csXyz(-25, 0, 0)};
+
+ static csXyz l_setType3[] = {
+ csXyz(-24, 0, -28), csXyz(27, 0, -28), csXyz(-21, 0, 33), csXyz(-18, 0, -34),
+ csXyz(44, 0, -4), csXyz(41, 0, 10), csXyz(24, 0, 39),
+ };
+
+ static csXyz l_setType4[] = {
+ csXyz(-55, 0, -22), csXyz(-28, 0, -50), csXyz(-77, 0, 11), csXyz(55, 0, -44),
+ csXyz(83, 0, -71), csXyz(11, 0, -48), csXyz(97, 0, -34), csXyz(-74, 0, -57),
+ csXyz(31, 0, 58), csXyz(59, 0, 30), csXyz(13, 0, 23), csXyz(-12, 0, 54),
+ csXyz(55, 0, 97), csXyz(10, 0, 92), csXyz(33, 0, -10), csXyz(-99, 0, -27),
+ csXyz(40, 0, -87),
+ };
+
+ static csXyz l_setType5[] = {
+ csXyz(0, 0, 3), csXyz(-26, 0, -29), csXyz(7, 0, -25), csXyz(31, 0, -5),
+ csXyz(-7, 0, 40), csXyz(-35, 0, 15), csXyz(23, 0, 32),
+ };
+
+ struct offset_data {
+ /* 0x0 */ u8 num;
+ /* 0x4 */ csXyz* set_type;
+ };
+
+ static offset_data l_offsetData[] = {
+ {3, l_setType2}, {7, l_setType0}, {21, l_setType1}, {7, l_setType0},
+ {7, l_setType3}, {17, l_setType4}, {7, l_setType5}, {7, l_setType0},
+ };
+
+ offset_data* data = l_offsetData;
+
+ int temp_r26 = current.angle.x & 0xFF;
+ u8 kind = daGrass_prm::getKind(this);
+ s16 add_col = current.angle.z;
+
+ int type;
+ if ((u32)temp_r26 >= 1 && kind == 0) {
+ type = ((temp_r26 - 1) % 3);
+ data = &data[type];
+ } else {
+ type = daGrass_prm::getType(this);
+ data = &data[type];
+ }
+
+ csXyz* set_type = data->set_type;
+
+ if (kind == 0) {
+ dGrass_Tex_Change();
+
+ if (createGrass()) {
+ u8 itemNo = daGrass_prm::getItemNo(this);
+ u8 itemBitNo = daGrass_prm::getItemBitNo(this);
+
+ cXyz pos;
+
+ if (dKy_get_dayofweek() == 6 && strcmp(dComIfGp_getStartStageName(), "D_MN07A") == 0) {
+ int var_r25 = 0;
+ int var_r27 = 0;
+ f32 var_f29 = 1200.0f;
+
+ for (int i = 0; i < 500; i++) {
+ add_col = current.angle.z;
+ if (i != 0) {
+ randam_addcol_set(&add_col);
+ }
+
+ pos.x = var_f29 * cM_ssin(var_r25);
+ pos.y = 0.0f;
+ pos.z = var_f29 * cM_scos(var_r25);
+
+ var_r25 += 0x157;
+ if (var_r25 > 0xFFFF) {
+ var_r25 += 0xFFFF0001;
+ var_f29 += 75.0f;
+ var_r27++;
+
+ if (var_r27 > 1000) {
+ break;
+ }
+ }
+
+ if (cM_rndF(1.0f) < 0.83f) {
+ i--;
+ } else {
+ newGrassData(pos, fopAcM_GetRoomNo(this), itemNo, itemBitNo, add_col,
+ temp_r26);
+ }
+ }
+ } else {
+ for (int i = 0; i < data->num; i++) {
+ add_col = current.angle.z;
+ if (i != 0) {
+ randam_addcol_set(&add_col);
+ }
+
+ if ((u32)temp_r26 < 10) {
+ pos.x = current.pos.x + set_type->x;
+ pos.y = current.pos.y;
+ pos.z = current.pos.z + set_type->z;
+ } else {
+ pos.x = current.pos.x + set_type->x * 2.3f;
+ pos.y = current.pos.y;
+ pos.z = current.pos.z + set_type->z * 2.3f;
+ }
+
+ u8 num = data->num;
+ if ((num == 3 && i != 0) || (num >= 16 && num <= 21 && i >= 16) ||
+ (num >= 4 && num <= 7 && i >= 4))
+ {
+ newGrassData(pos, fopAcM_GetRoomNo(this), 0xFF, 0xFF, add_col, temp_r26);
+ } else {
+ newGrassData(pos, fopAcM_GetRoomNo(this), itemNo, itemBitNo, add_col,
+ temp_r26);
+ }
+
+ set_type++;
+ }
+ }
+ }
+ } else if ((kind == 2 || kind == 3) && createFlower()) {
+ u8 item_no = daGrass_prm::getItemNo(this);
+ s8 temp_r28;
+ if (kind == 2) {
+ temp_r28 = 1;
+ } else if (kind == 3) {
+ temp_r28 = 2;
+ }
+
+ cXyz pos;
+ for (int i = 0; i < data->num; i++) {
+ add_col = current.angle.z;
+ if (i != 0) {
+ randam_addcol_set(&add_col);
+ }
+
+ pos.x = current.pos.x + set_type->x;
+ pos.y = current.pos.y;
+ pos.z = current.pos.z + set_type->z;
+
+ newFlowerData(temp_r28, pos, fopAcM_GetRoomNo(this), item_no, add_col);
+ set_type++;
+ }
+ }
+
+ if (m_myObj != NULL) {
+ return cPhs_ERROR_e;
+ }
+
+ m_myObj = this;
+ fopAcM_setStageLayer(this);
+ return cPhs_COMPLEATE_e;
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm int daGrass_c::create() {
nofralloc
#include "asm/rel/d/a/d_a_grass/d_a_grass/create__9daGrass_cFv.s"
}
#pragma pop
+#endif
+
+int daGrass_c::Delete() {
+ if (m_myObj == this) {
+ deleteGrass();
+ deleteFlower();
+ m_myObj = NULL;
+ }
+
+ return 1;
+}
/* 8051D6CC-8051D720 001A6C 0054+00 1/0 0/0 0/0 .text daGrass_Delete__FP9daGrass_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daGrass_Delete(daGrass_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/daGrass_Delete__FP9daGrass_c.s"
+static int daGrass_Delete(daGrass_c* i_this) {
+ return i_this->Delete();
+}
+
+int daGrass_c::execute() {
+ // inlines save to register instead of reloading
+ // dComIfG_Ccsp()->PrepareMass();
+ g_dComIfG_gameInfo.play.mCcs.mMass_Mng.Prepare();
+
+ executeGrass();
+ executeFlower();
+
+ // dComIfG_Ccsp()->MassClear();
+ g_dComIfG_gameInfo.play.mCcs.MassClear();
+ return 1;
}
-#pragma pop
/* 8051D720-8051D77C 001AC0 005C+00 1/0 0/0 0/0 .text daGrass_execute__FP9daGrass_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daGrass_execute(daGrass_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/daGrass_execute__FP9daGrass_c.s"
+static int daGrass_execute(daGrass_c* i_this) {
+ return i_this->execute();
+}
+
+int daGrass_c::draw() {
+ drawGrass();
+ drawFlower();
+ return 1;
}
-#pragma pop
/* 8051D77C-8051D7B4 001B1C 0038+00 1/0 0/0 0/0 .text daGrass_draw__FP9daGrass_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daGrass_draw(daGrass_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/daGrass_draw__FP9daGrass_c.s"
+static int daGrass_draw(daGrass_c* i_this) {
+ return i_this->draw();
}
-#pragma pop
/* 8051D7B4-8051D7D0 001B54 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Uc>__FPUc */
#pragma push
@@ -7089,8 +3384,7 @@ extern "C" asm void func_8051D7B4(void* _this, u8* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void __sinit_d_a_grass_cpp() {
- nofralloc
+asm void __sinit_d_a_grass_cpp(){nofralloc
#include "asm/rel/d/a/d_a_grass/d_a_grass/__sinit_d_a_grass_cpp.s"
}
#pragma pop
@@ -7100,479 +3394,6 @@ asm void __sinit_d_a_grass_cpp() {
REGISTER_CTORS(0x8051D7D0, __sinit_d_a_grass_cpp);
#pragma pop
-/* 8051D88C-8051DA20 001C2C 0194+00 1/1 0/0 0/0 .text WorkCo__13dGrass_data_cFP10fopAc_ac_cUli */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_data_c::WorkCo(fopAc_ac_c* param_0, u32 param_1, int param_2) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkCo__13dGrass_data_cFP10fopAc_ac_cUli.s"
-}
-#pragma pop
-
-/* 8051DA20-8051DF54 001DC0 0534+00 1/1 0/0 0/0 .text
- * WorkAt_NoCutAnim__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_data_c::WorkAt_NoCutAnim(fopAc_ac_c* param_0, u32 param_1, int param_2,
- dCcMassS_HitInf* param_3, cCcD_Obj* param_4) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt_NoCutAnim__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj.s"
-}
-#pragma pop
-
-/* 8051DF54-8051E1C8 0022F4 0274+00 1/1 0/0 0/0 .text
- * Direction_Set__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_ObjP5csXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_data_c::Direction_Set(fopAc_ac_c* param_0, u32 param_1, int param_2,
- dCcMassS_HitInf* param_3, cCcD_Obj* param_4, csXyz* param_5) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/Direction_Set__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_ObjP5csXyz.s"
-}
-#pragma pop
-
-/* 8051E1C8-8051EB4C 002568 0984+00 1/1 0/0 0/0 .text
- * WorkAt__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_data_c::WorkAt(fopAc_ac_c* param_0, u32 param_1, int param_2,
- dCcMassS_HitInf* param_3, u16 param_4) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfUs.s"
-}
-#pragma pop
-
-/* 8051EB4C-8051EB88 002EEC 003C+00 3/3 0/0 0/0 .text __dt__5csXyzFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm csXyz::~csXyz() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__5csXyzFv.s"
-}
-#pragma pop
-
-/* ############################################################################################## */
-/* 805278B8-805278C4 0046E0 000C+00 3/3 0/0 0/0 .data __vt__15dCcMassS_HitInf */
-SECTION_DATA extern void* __vt__15dCcMassS_HitInf[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__15dCcMassS_HitInfFv,
-};
-
-/* 8051EB88-8051ED98 002F28 0210+00 1/1 0/0 0/0 .text hitCheck__13dGrass_data_cFiUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_data_c::hitCheck(int param_0, u16 param_1) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/hitCheck__13dGrass_data_cFiUs.s"
-}
-#pragma pop
-
-/* 8051ED98-8051EDE0 003138 0048+00 1/0 0/0 0/0 .text __dt__15dCcMassS_HitInfFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dCcMassS_HitInf::~dCcMassS_HitInf() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__15dCcMassS_HitInfFv.s"
-}
-#pragma pop
-
-/* 8051EDE0-8051EDF0 003180 0010+00 1/1 0/0 0/0 .text newData__13dGrass_room_cFP13dGrass_data_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_room_c::newData(dGrass_data_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newData__13dGrass_room_cFP13dGrass_data_c.s"
-}
-#pragma pop
-
-/* 8051EDF0-8051EE8C 003190 009C+00 1/1 0/0 0/0 .text deleteData__13dGrass_room_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_room_c::deleteData() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/deleteData__13dGrass_room_cFv.s"
-}
-#pragma pop
-
-/* 8051EE8C-8051F03C 00322C 01B0+00 1/1 0/0 0/0 .text __ct__15dGrass_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dGrass_packet_c::dGrass_packet_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__15dGrass_packet_cFv.s"
-}
-#pragma pop
-
-/* 8051F03C-8051FABC 0033DC 0A80+00 1/0 0/0 0/0 .text draw__15dGrass_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::draw() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/draw__15dGrass_packet_cFv.s"
-}
-#pragma pop
-
-/* 8051FABC-8051FF88 003E5C 04CC+00 1/1 0/0 0/0 .text calc__15dGrass_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::calc() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/calc__15dGrass_packet_cFv.s"
-}
-#pragma pop
-
-/* 8051FF88-80520030 004328 00A8+00 2/3 0/0 0/1 .text checkGroundY__FR4cXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void checkGroundY(cXyz& param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/checkGroundY__FR4cXyz.s"
-}
-#pragma pop
-
-/* 80520030-8052067C 0043D0 064C+00 1/1 0/0 0/0 .text update__15dGrass_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::update() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/update__15dGrass_packet_cFv.s"
-}
-#pragma pop
-
-/* 8052067C-80520770 004A1C 00F4+00 1/1 0/0 0/0 .text
- * setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::setData(dGrass_data_c* param_0, int param_1, cXyz& param_2, int param_3,
- u8 param_4, u8 param_5, s16 param_6, u8 param_7) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc.s"
-}
-#pragma pop
-
-/* 80520770-80520864 004B10 00F4+00 1/1 0/0 0/0 .text newData__15dGrass_packet_cFR4cXyziUcUcsUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::newData(cXyz& param_0, int param_1, u8 param_2, u8 param_3, s16 param_4,
- u8 param_5) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newData__15dGrass_packet_cFR4cXyziUcUcsUc.s"
-}
-#pragma pop
-
-/* 80520864-80520898 004C04 0034+00 1/0 0/0 0/0 .text deleteRoom__15dGrass_packet_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::deleteRoom(int param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__15dGrass_packet_cFi.s"
-}
-#pragma pop
-
-/* 80520898-805208E4 004C38 004C+00 2/2 0/0 0/0 .text newAnm__15dGrass_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::newAnm() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newAnm__15dGrass_packet_cFv.s"
-}
-#pragma pop
-
-/* 805208E4-8052090C 004C84 0028+00 1/1 0/0 0/0 .text setAnm__15dGrass_packet_cFis */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dGrass_packet_c::setAnm(int param_0, s16 param_1) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/setAnm__15dGrass_packet_cFis.s"
-}
-#pragma pop
-
-/* 8052090C-80520928 004CAC 001C+00 1/1 0/0 0/0 .text getSwordTopPos__9daPy_py_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daPy_py_c::getSwordTopPos() const {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/getSwordTopPos__9daPy_py_cCFv.s"
-}
-#pragma pop
-
-/* 80520928-80520934 004CC8 000C+00 1/1 0/0 0/0 .text __ct__13dGrass_room_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dGrass_room_c::dGrass_room_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_room_cFv.s"
-}
-#pragma pop
-
-/* 80520934-80520940 004CD4 000C+00 1/1 0/0 0/0 .text __ct__12dGrass_anm_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dGrass_anm_c::dGrass_anm_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__12dGrass_anm_cFv.s"
-}
-#pragma pop
-
-/* 80520940-8052097C 004CE0 003C+00 2/2 0/0 0/0 .text __dt__13dGrass_data_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dGrass_data_c::~dGrass_data_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__13dGrass_data_cFv.s"
-}
-#pragma pop
-
-/* 8052097C-80520988 004D1C 000C+00 1/1 0/0 0/0 .text __ct__13dGrass_data_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dGrass_data_c::dGrass_data_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dGrass_data_cFv.s"
-}
-#pragma pop
-
-/* 80520988-80520AD8 004D28 0150+00 1/1 0/0 0/0 .text WorkCo__14dFlower_data_cFP10fopAc_ac_cUli */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_data_c::WorkCo(fopAc_ac_c* param_0, u32 param_1, int param_2) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkCo__14dFlower_data_cFP10fopAc_ac_cUli.s"
-}
-#pragma pop
-
-/* 80520AD8-80520B34 004E78 005C+00 4/4 0/0 0/0 .text deleteAnm__14dFlower_data_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_data_c::deleteAnm() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/deleteAnm__14dFlower_data_cFv.s"
-}
-#pragma pop
-
-/* 80520B34-80520CFC 004ED4 01C8+00 1/1 0/0 0/0 .text
- * WorkAt_NoCutAnim__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_data_c::WorkAt_NoCutAnim(fopAc_ac_c* param_0, u32 param_1, int param_2,
- dCcMassS_HitInf* param_3, cCcD_Obj* param_4) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt_NoCutAnim__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj.s"
-}
-#pragma pop
-
-/* 80520CFC-80521A3C 00509C 0D40+00 1/1 0/0 0/0 .text
- * WorkAt__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_data_c::WorkAt(fopAc_ac_c* param_0, u32 param_1, int param_2,
- dCcMassS_HitInf* param_3) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInf.s"
-}
-#pragma pop
-
-/* 80521A3C-80521BF8 005DDC 01BC+00 1/1 0/0 0/0 .text hitCheck__14dFlower_data_cFP10fopAc_ac_ci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_data_c::hitCheck(fopAc_ac_c* param_0, int param_1) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/hitCheck__14dFlower_data_cFP10fopAc_ac_ci.s"
-}
-#pragma pop
-
-/* 80521BF8-80521C08 005F98 0010+00 1/1 0/0 0/0 .text newData__14dFlower_room_cFP14dFlower_data_c
- */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_room_c::newData(dFlower_data_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newData__14dFlower_room_cFP14dFlower_data_c.s"
-}
-#pragma pop
-
-/* 80521C08-80521C64 005FA8 005C+00 1/1 0/0 0/0 .text deleteData__14dFlower_room_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_room_c::deleteData() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/deleteData__14dFlower_room_cFv.s"
-}
-#pragma pop
-
-/* 80521C64-80521DAC 006004 0148+00 1/1 0/0 0/0 .text __ct__16dFlower_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dFlower_packet_c::dFlower_packet_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__16dFlower_packet_cFv.s"
-}
-#pragma pop
-
-/* 80521DAC-80522774 00614C 09C8+00 2/0 0/0 0/0 .text draw__16dFlower_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::draw() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/draw__16dFlower_packet_cFv.s"
-}
-#pragma pop
-
-/* 80522774-8052299C 006B14 0228+00 1/1 0/0 0/0 .text calc__16dFlower_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::calc() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/calc__16dFlower_packet_cFv.s"
-}
-#pragma pop
-
-/* 8052299C-80522A64 006D3C 00C8+00 2/2 0/0 0/0 .text flowerCheckGroundY__FR4cXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void flowerCheckGroundY(cXyz& param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/flowerCheckGroundY__FR4cXyz.s"
-}
-#pragma pop
-
-/* 80522A64-80522CBC 006E04 0258+00 1/1 0/0 0/0 .text update__16dFlower_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::update() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/update__16dFlower_packet_cFv.s"
-}
-#pragma pop
-
-/* 80522CBC-80522E28 00705C 016C+00 1/1 0/0 0/0 .text
- * setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::setData(dFlower_data_c* param_0, int param_1, s8 param_2, cXyz& param_3,
- int param_4, s8 param_5, s16 param_6) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs.s"
-}
-#pragma pop
-
-/* 80522E28-80522F0C 0071C8 00E4+00 1/1 0/0 0/0 .text newData__16dFlower_packet_cFScR4cXyziScs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::newData(s8 param_0, cXyz& param_1, int param_2, s8 param_3,
- s16 param_4) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newData__16dFlower_packet_cFScR4cXyziScs.s"
-}
-#pragma pop
-
-/* 80522F0C-80522F40 0072AC 0034+00 1/0 0/0 0/0 .text deleteRoom__16dFlower_packet_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::deleteRoom(int param_0) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/deleteRoom__16dFlower_packet_cFi.s"
-}
-#pragma pop
-
-/* 80522F40-80522F8C 0072E0 004C+00 2/2 0/0 0/0 .text newAnm__16dFlower_packet_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::newAnm() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/newAnm__16dFlower_packet_cFv.s"
-}
-#pragma pop
-
-/* 80522F8C-80522FB4 00732C 0028+00 1/1 0/0 0/0 .text setAnm__16dFlower_packet_cFis */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dFlower_packet_c::setAnm(int param_0, s16 param_1) {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/setAnm__16dFlower_packet_cFis.s"
-}
-#pragma pop
-
-/* 80522FB4-80522FC0 007354 000C+00 1/1 0/0 0/0 .text __ct__14dFlower_room_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dFlower_room_c::dFlower_room_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_room_cFv.s"
-}
-#pragma pop
+#include "rel/d/a/d_a_grass/d_grass.inc"
-/* 80522FC0-80522FCC 007360 000C+00 1/1 0/0 0/0 .text __ct__13dFlower_anm_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dFlower_anm_c::dFlower_anm_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__13dFlower_anm_cFv.s"
-}
-#pragma pop
-
-/* 80522FCC-80523008 00736C 003C+00 2/2 0/0 0/0 .text __dt__14dFlower_data_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dFlower_data_c::~dFlower_data_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__14dFlower_data_cFv.s"
-}
-#pragma pop
-
-/* 80523008-80523014 0073A8 000C+00 1/1 0/0 0/0 .text __ct__14dFlower_data_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dFlower_data_c::dFlower_data_c() {
- nofralloc
-#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__14dFlower_data_cFv.s"
-}
-#pragma pop
-
-/* 805231C0-805231C0 000198 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+#include "rel/d/a/d_a_grass/d_flower.inc"
diff --git a/rel/d/a/d_a_grass/d_flower.inc b/rel/d/a/d_a_grass/d_flower.inc
new file mode 100644
index 0000000000..68292a790d
--- /dev/null
+++ b/rel/d/a/d_a_grass/d_flower.inc
@@ -0,0 +1,259 @@
+/* 80520988-80520AD8 004D28 0150+00 1/1 0/0 0/0 .text WorkCo__14dFlower_data_cFP10fopAc_ac_cUli */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dFlower_data_c::WorkCo(fopAc_ac_c* param_0, u32 param_1, int param_2) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkCo__14dFlower_data_cFP10fopAc_ac_cUli.s"
+}
+#pragma pop
+
+/* 80520AD8-80520B34 004E78 005C+00 4/4 0/0 0/0 .text deleteAnm__14dFlower_data_cFv */
+void dFlower_data_c::deleteAnm() {
+ if (field_0x01 >= 8) {
+ daGrass_c::getFlower()->deleteAnm(field_0x01);
+ dFlower_anm_c* anm_p = daGrass_c::getFlower()->getAnm(field_0x01);
+ field_0x01 = (anm_p->m_angY >> 0xD) & 7;
+ }
+}
+
+/* 80520B34-80520CFC 004ED4 01C8+00 1/1 0/0 0/0 .text
+ * WorkAt_NoCutAnim__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dFlower_data_c::WorkAt_NoCutAnim(fopAc_ac_c* param_0, u32 param_1, int param_2,
+ dCcMassS_HitInf* param_3, cCcD_Obj* param_4) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt_NoCutAnim__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj.s"
+}
+#pragma pop
+
+/* 80520CFC-80521A3C 00509C 0D40+00 1/1 0/0 0/0 .text
+ * WorkAt__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInf */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dFlower_data_c::WorkAt(fopAc_ac_c* param_0, u32 param_1, int param_2,
+ dCcMassS_HitInf* param_3) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt__14dFlower_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInf.s"
+}
+#pragma pop
+
+/* 80521A3C-80521BF8 005DDC 01BC+00 1/1 0/0 0/0 .text hitCheck__14dFlower_data_cFP10fopAc_ac_ci */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dFlower_data_c::hitCheck(fopAc_ac_c* param_0, int param_1) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/hitCheck__14dFlower_data_cFP10fopAc_ac_ci.s"
+}
+#pragma pop
+
+/* 80521BF8-80521C08 005F98 0010+00 1/1 0/0 0/0 .text newData__14dFlower_room_cFP14dFlower_data_c
+ */
+void dFlower_room_c::newData(dFlower_data_c* i_data) {
+ i_data->mp_next = mp_data;
+ mp_data = i_data;
+}
+
+/* 80521C08-80521C64 005FA8 005C+00 1/1 0/0 0/0 .text deleteData__14dFlower_room_cFv */
+void dFlower_room_c::deleteData() {
+ while (mp_data != NULL) {
+ mp_data->deleteAnm();
+ mp_data->m_state = 0;
+ mp_data = mp_data->mp_next;
+ }
+}
+
+/* 80521C64-80521DAC 006004 0148+00 1/1 0/0 0/0 .text __ct__16dFlower_packet_cFv */
+// matches with data
+#ifdef NONMATCHING
+dFlower_packet_c::dFlower_packet_c() {
+ dFlower_data_c* data_p = m_data;
+ for (int i = 0; i < 1000; i++) {
+ data_p->m_state = 0;
+ data_p++;
+ }
+
+ dFlower_anm_c* anm_p = m_anm;
+ for (int i = 0; i < 72; i++) {
+ anm_p->m_state = 0;
+ anm_p++;
+ }
+
+ s16 unused = 0;
+ for (int i = 0; i < 8; i++) {
+ setAnm(i, unused);
+ unused += 0x2000;
+ }
+
+ m_deleteRoom = &deleteRoom;
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm dFlower_packet_c::dFlower_packet_c() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__16dFlower_packet_cFv.s"
+}
+#pragma pop
+#endif
+
+/* 80521DAC-80522774 00614C 09C8+00 2/0 0/0 0/0 .text draw__16dFlower_packet_cFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm void dFlower_packet_c::draw() {
+extern "C" asm void draw__16dFlower_packet_cFv() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/draw__16dFlower_packet_cFv.s"
+}
+#pragma pop
+
+/* 80522774-8052299C 006B14 0228+00 1/1 0/0 0/0 .text calc__16dFlower_packet_cFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dFlower_packet_c::calc() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/calc__16dFlower_packet_cFv.s"
+}
+#pragma pop
+
+/* 8052299C-80522A64 006D3C 00C8+00 2/2 0/0 0/0 .text flowerCheckGroundY__FR4cXyz */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+static asm f32 flowerCheckGroundY(cXyz& param_0) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/flowerCheckGroundY__FR4cXyz.s"
+}
+#pragma pop
+
+/* 80522A64-80522CBC 006E04 0258+00 1/1 0/0 0/0 .text update__16dFlower_packet_cFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dFlower_packet_c::update() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/update__16dFlower_packet_cFv.s"
+}
+#pragma pop
+
+/* 80522CBC-80522E28 00705C 016C+00 1/1 0/0 0/0 .text
+ * setData__16dFlower_packet_cFP14dFlower_data_ciScR4cXyziScs */
+void dFlower_packet_c::setData(dFlower_data_c* i_data, int param_1, s8 param_2, cXyz& i_pos,
+ int i_roomNo, s8 i_tableNo, s16 i_addCol) {
+ f32 y_pos;
+ if (fopOvlpM_IsPeek()) {
+ y_pos = flowerCheckGroundY(i_pos);
+ i_data->m_state = 6;
+ } else {
+ y_pos = i_pos.y;
+ i_data->m_state = 38;
+ }
+
+ if (param_2 == 2) {
+ cLib_onBit(i_data->m_state, 0x40);
+ }
+
+ i_data->field_0x01 = cM_rndF(FLOAT_LABEL(lit_6262));
+ i_data->m_pos.set(i_pos.x, y_pos, i_pos.z);
+ i_data->m_tableNo = i_tableNo;
+ i_data->field_0x03 = 0;
+ i_data->field_0x04 = i_addCol;
+
+ if (m_room[i_roomNo].mp_data == NULL) {
+ mp_pos = (Vec*)l_flowerPos2;
+ mp_colors = (GXColor*)l_flowerColor2;
+ mp_texCoords = (Vec*)l_flowerTexCoord2;
+ mp_mat2DL = l_mat2DL;
+ m_mat2DL_size = 0x80;
+ mp_mat2Light4DL = l_mat2Light4DL;
+ m_mat2Light4DL_size = 0x80;
+ mp_Jhana01DL = l_J_hana01DL;
+ m_Jhana01DL_size = 0x120;
+ mp_Jhana01_cDL = l_J_hana01_c_01DL;
+ m_Jhana01_cDL_size = 0x120;
+ }
+
+ m_room[i_roomNo].newData(i_data);
+ field_0x10 = param_1;
+}
+
+/* 80522E28-80522F0C 0071C8 00E4+00 1/1 0/0 0/0 .text newData__16dFlower_packet_cFScR4cXyziScs */
+dFlower_data_c* dFlower_packet_c::newData(s8 param_0, cXyz& i_pos, int i_roomNo, s8 i_tableNo,
+ s16 i_addCol) {
+ dFlower_data_c* data_p = m_data + field_0x10;
+
+ for (int i = field_0x10; i < 1000; i++) {
+ if (!cLib_checkBit(data_p->m_state, 2)) {
+ setData(data_p, i, param_0, i_pos, i_roomNo, i_tableNo, i_addCol);
+ return data_p;
+ }
+ data_p++;
+ }
+
+ data_p = m_data;
+ for (int i = 0; i < field_0x10; i++) {
+ if (!cLib_checkBit(data_p->m_state, 2)) {
+ setData(data_p, i, param_0, i_pos, i_roomNo, i_tableNo, i_addCol);
+ return data_p;
+ }
+ data_p++;
+ }
+
+ return NULL;
+}
+
+/* 80522F0C-80522F40 0072AC 0034+00 1/0 0/0 0/0 .text deleteRoom__16dFlower_packet_cFi */
+void dFlower_packet_c::deleteRoom(int i_roomNo) {
+ m_room[i_roomNo].deleteData();
+}
+
+/* 80522F40-80522F8C 0072E0 004C+00 2/2 0/0 0/0 .text newAnm__16dFlower_packet_cFv */
+int dFlower_packet_c::newAnm() {
+ dFlower_anm_c* anm_p = m_anm + 8;
+ for (int i = 8; i < 72; i++) {
+ if (anm_p->m_state == 0) {
+ anm_p->m_state = 1;
+ anm_p->m_angY = 0;
+ anm_p->m_angX = 0;
+ return i;
+ }
+
+ anm_p++;
+ }
+
+ return -1;
+}
+
+/* 80522F8C-80522FB4 00732C 0028+00 1/1 0/0 0/0 .text setAnm__16dFlower_packet_cFis */
+void dFlower_packet_c::setAnm(int i_idx, s16 param_1) {
+ dFlower_anm_c* anm_p = m_anm + i_idx;
+
+ anm_p->m_state = 1;
+ anm_p->m_angY = param_1;
+ anm_p->m_angX = 0;
+}
+
+/* 80522FB4-80522FC0 007354 000C+00 1/1 0/0 0/0 .text __ct__14dFlower_room_cFv */
+dFlower_room_c::dFlower_room_c() {
+ mp_data = NULL;
+}
+
+/* 80522FC0-80522FCC 007360 000C+00 1/1 0/0 0/0 .text __ct__13dFlower_anm_cFv */
+dFlower_anm_c::dFlower_anm_c() {
+ m_state = 0;
+}
+
+/* 80522FCC-80523008 00736C 003C+00 2/2 0/0 0/0 .text __dt__14dFlower_data_cFv */
+dFlower_data_c::~dFlower_data_c() {}
+
+/* 80523008-80523014 0073A8 000C+00 1/1 0/0 0/0 .text __ct__14dFlower_data_cFv */
+dFlower_data_c::dFlower_data_c() {
+ m_state = 0;
+} \ No newline at end of file
diff --git a/rel/d/a/d_a_grass/d_grass.inc b/rel/d/a/d_a_grass/d_grass.inc
new file mode 100644
index 0000000000..8d0c384256
--- /dev/null
+++ b/rel/d/a/d_a_grass/d_grass.inc
@@ -0,0 +1,530 @@
+#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
+#include "SSystem/SComponent/c_lib.h"
+#include "f_op/f_op_overlap_mng.h"
+
+/* 8051D88C-8051DA20 001C2C 0194+00 1/1 0/0 0/0 .text WorkCo__13dGrass_data_cFP10fopAc_ac_cUli */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dGrass_data_c::WorkCo(fopAc_ac_c* param_0, u32 param_1, int param_2) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkCo__13dGrass_data_cFP10fopAc_ac_cUli.s"
+}
+#pragma pop
+
+/* 8051DA20-8051DF54 001DC0 0534+00 1/1 0/0 0/0 .text
+ * WorkAt_NoCutAnim__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dGrass_data_c::WorkAt_NoCutAnim(fopAc_ac_c* param_0, u32 param_1, int param_2,
+ dCcMassS_HitInf* param_3, cCcD_Obj* param_4) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt_NoCutAnim__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_Obj.s"
+}
+#pragma pop
+
+/* 8051DF54-8051E1C8 0022F4 0274+00 1/1 0/0 0/0 .text
+ * Direction_Set__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_ObjP5csXyz */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dGrass_data_c::Direction_Set(fopAc_ac_c* param_0, u32 param_1, int param_2,
+ dCcMassS_HitInf* param_3, cCcD_Obj* param_4, csXyz* param_5) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/Direction_Set__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfP8cCcD_ObjP5csXyz.s"
+}
+#pragma pop
+
+/* 8051E1C8-8051EB4C 002568 0984+00 1/1 0/0 0/0 .text
+ * WorkAt__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfUs */
+// literals / regswap, equivalent?
+#ifdef NONMATCHING
+void dGrass_data_c::WorkAt(fopAc_ac_c* param_0, u32 param_1, int i_roomNo, dCcMassS_HitInf* param_3,
+ u16 i_particleID) {
+ cCcD_Obj* hit_obj = param_3->GetAtHitObj();
+
+ if (hit_obj != NULL) {
+ if (hit_obj->ChkAtType(0) || hit_obj->ChkAtType(AT_TYPE_ARROW) ||
+ hit_obj->ChkAtType(AT_TYPE_SLINGSHOT) || hit_obj->ChkAtType(0x20000000) ||
+ hit_obj->ChkAtType(AT_TYPE_SHIELD_ATTACK) || hit_obj->ChkAtType(AT_TYPE_BOOMERANG) ||
+ hit_obj->ChkAtType(0x100) || hit_obj->ChkAtType(AT_TYPE_LANTERN_SWING) ||
+ hit_obj->ChkAtType(AT_TYPE_HOOKSHOT))
+ {
+ WorkAt_NoCutAnim(param_0, param_1, i_roomNo, param_3, hit_obj);
+ return;
+ }
+ }
+
+ fopAc_ac_c* player_p = dComIfGp_getPlayer(0);
+ if (hit_obj->ChkAtType(AT_TYPE_BOMB)) {
+ if (param_0 != NULL && m_pos.abs(param_0->current.pos) > 200.0f) {
+ WorkAt_NoCutAnim(param_0, param_1, i_roomNo, param_3, hit_obj);
+ return;
+ }
+ } else if (daPy_getPlayerActorClass()->getCutType() >= CUT_TYPE_NM_RIGHT &&
+ daPy_getPlayerActorClass()->getCutType() <= CUT_TYPE_FINISH_VERTICAL)
+ {
+ if (m_pos.abs(player_p->current.pos) > 158.0f) {
+ if (m_pos.abs(player_p->current.pos) < 200.0f) {
+ WorkAt_NoCutAnim(param_0, param_1, i_roomNo, param_3, hit_obj);
+ }
+ return;
+ }
+ } else if (daPy_getPlayerActorClass()->getCutType() == CUT_TYPE_TURN_RIGHT ||
+ daPy_getPlayerActorClass()->getCutType() == CUT_TYPE_TURN_LEFT)
+ {
+ if (m_pos.abs(player_p->current.pos) > 200.0f) {
+ WorkAt_NoCutAnim(param_0, param_1, i_roomNo, param_3, hit_obj);
+ return;
+ }
+ } else if (daPy_getPlayerActorClass()->getCutType() == CUT_TYPE_LARGE_TURN_RIGHT ||
+ daPy_getPlayerActorClass()->getCutType() == CUT_TYPE_LARGE_TURN_LEFT)
+ {
+ if (m_pos.abs(player_p->current.pos) > 500.0f) {
+ WorkAt_NoCutAnim(param_0, param_1, i_roomNo, param_3, hit_obj);
+ return;
+ }
+ } else if (daPy_getPlayerActorClass()->getCutType() == CUT_TYPE_NM_VERTICAL ||
+ daPy_getPlayerActorClass()->getCutType() == CUT_TYPE_NM_STAB)
+ {
+ if (m_pos.abs(player_p->current.pos) > 158.0f) {
+ return;
+ }
+ }
+
+ if (field_0x02 >= 16) {
+ daGrass_c::getGrass()->deleteAnm(field_0x02);
+ }
+
+ int itemBitNo = m_itemBitNo;
+ if (m_itemBitNo == 0xFF) {
+ itemBitNo = -1;
+ }
+
+ bool create_direct = false;
+ if (daPy_getPlayerActorClass()->checkHorseRide()) {
+ create_direct = true;
+ }
+
+ fopAcM_createItemFromTable(&m_pos, m_tableNo, itemBitNo, i_roomNo, NULL, 0, NULL, NULL, NULL,
+ create_direct);
+
+ field_0x02 = -1;
+
+ static csXyz ang(0, 0, 0);
+
+ cXyz sp50(m_pos.x, m_pos.y + 25.0f, m_pos.z);
+ dKy_tevstr_c* tevstr = dComIfGp_roomControl_getTevStr(i_roomNo);
+
+ csXyz sp40;
+ Direction_Set(param_0, param_1, i_roomNo, param_3, hit_obj, &sp40);
+
+ GXColor envcolor;
+ envcolor.r = (m_addCol >> 8) & 0xFF;
+ envcolor.g = m_addCol & 0xFF;
+ dComIfGp_particle_set(i_particleID, &sp50, tevstr, &sp40, NULL, 255,
+ dPa_control_c::getLight8EcallBack(), -1, &envcolor, NULL, NULL);
+
+ static bool init;
+ if (!init) {
+ init = true;
+ mDoAud_seStart(JA_SE_LK_CUT_GRASS, &m_pos, 0, dComIfGp_getReverb(i_roomNo));
+ }
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dGrass_data_c::WorkAt(fopAc_ac_c* param_0, u32 param_1, int param_2,
+ dCcMassS_HitInf* param_3, u16 param_4) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/WorkAt__13dGrass_data_cFP10fopAc_ac_cUliP15dCcMassS_HitInfUs.s"
+}
+#pragma pop
+#endif
+
+/* 8051EB4C-8051EB88 002EEC 003C+00 3/3 0/0 0/0 .text __dt__5csXyzFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm csXyz::~csXyz() {
+extern "C" asm void __dt__5csXyzFv() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__5csXyzFv.s"
+}
+#pragma pop
+
+/* ############################################################################################## */
+/* 805278B8-805278C4 0046E0 000C+00 3/3 0/0 0/0 .data __vt__15dCcMassS_HitInf */
+SECTION_DATA extern void* __vt__15dCcMassS_HitInf[3] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)__dt__15dCcMassS_HitInfFv,
+};
+
+/* 8051EB88-8051ED98 002F28 0210+00 1/1 0/0 0/0 .text hitCheck__13dGrass_data_cFiUs */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dGrass_data_c::hitCheck(int param_0, u16 param_1) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/hitCheck__13dGrass_data_cFiUs.s"
+}
+#pragma pop
+
+/* 8051ED98-8051EDE0 003138 0048+00 1/0 0/0 0/0 .text __dt__15dCcMassS_HitInfFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm dCcMassS_HitInf::~dCcMassS_HitInf() {
+extern "C" asm void __dt__15dCcMassS_HitInfFv() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/__dt__15dCcMassS_HitInfFv.s"
+}
+#pragma pop
+
+/* 8051EDE0-8051EDF0 003180 0010+00 1/1 0/0 0/0 .text newData__13dGrass_room_cFP13dGrass_data_c */
+void dGrass_room_c::newData(dGrass_data_c* i_data) {
+ i_data->mp_next = mp_data;
+ mp_data = i_data;
+}
+
+/* 8051EDF0-8051EE8C 003190 009C+00 1/1 0/0 0/0 .text deleteData__13dGrass_room_cFv */
+void dGrass_room_c::deleteData() {
+ while (mp_data != NULL) {
+ mp_data->m_state = 0;
+
+ s8 anm_id = mp_data->field_0x02;
+ if (anm_id >= 16) {
+ daGrass_c::getGrass()->deleteAnm(anm_id);
+ mp_data->field_0x02 = cM_rnd() * FLOAT_LABEL(lit_4600);
+ }
+
+ mp_data = mp_data->mp_next;
+ }
+}
+
+/* 8051EE8C-8051F03C 00322C 01B0+00 1/1 0/0 0/0 .text __ct__15dGrass_packet_cFv */
+// matches with ptmf data in right place
+#ifdef NONMATCHING
+dGrass_packet_c::dGrass_packet_c() {
+ dGrass_data_c* data_p = m_data;
+ for (int i = 0; i < 1500; i++) {
+ data_p->m_state = 0;
+ data_p++;
+ }
+
+ field_0x10 = 0;
+
+ dGrass_anm_c* anm_p = m_anm;
+ for (int i = 0; i < 112; i++) {
+ anm_p->m_state = 0;
+ anm_p++;
+ }
+
+ s16 unused = 0;
+ for (int i = 0; i < 16; i++) {
+ setAnm(i, unused);
+ unused += 0x1000;
+ }
+
+ mp_pos = (Vec*)l_pos;
+ mp_normal = (Vec*)l_normal;
+ mp_colors = (GXColor*)l_color;
+ mp_texCoords = (Vec*)l_texCoord;
+ mp_kusa9q_DL = l_kusa9q_matDL;
+ m_kusa9q_DL_size = 0xA0;
+ mp_kusa9q_14_DL = l_kusa9q_l4_matDL;
+ m_kusa9q_DL_14_size = 0xA0;
+ mp_Mkusa_9q_DL = l_M_Kusa_9qDL;
+ m_Mkusa_9q_DL_size = 0xC0;
+ mp_Mkusa_9q_cDL = l_M_Kusa_9q_cDL;
+ m_Mkusa_9q_cDL_size = 0xC0;
+ field_0x1d714 = 0;
+
+ m_deleteRoom = &deleteRoom;
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm dGrass_packet_c::dGrass_packet_c() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/__ct__15dGrass_packet_cFv.s"
+}
+#pragma pop
+#endif
+
+/* 8051F03C-8051FABC 0033DC 0A80+00 1/0 0/0 0/0 .text draw__15dGrass_packet_cFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm void dGrass_packet_c::draw() {
+extern "C" asm void draw__15dGrass_packet_cFv() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/draw__15dGrass_packet_cFv.s"
+}
+#pragma pop
+
+/* 8051FABC-8051FF88 003E5C 04CC+00 1/1 0/0 0/0 .text calc__15dGrass_packet_cFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dGrass_packet_c::calc() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/calc__15dGrass_packet_cFv.s"
+}
+#pragma pop
+
+/* 8051FF88-80520030 004328 00A8+00 2/3 0/0 0/1 .text checkGroundY__FR4cXyz */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+static asm f32 checkGroundY(cXyz& param_0) {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/checkGroundY__FR4cXyz.s"
+}
+#pragma pop
+
+/* 80520030-8052067C 0043D0 064C+00 1/1 0/0 0/0 .text update__15dGrass_packet_cFv */
+// mostly matches except literals, some regalloc, and one out of order block
+#ifdef NONMATCHING
+void dGrass_packet_c::update() {
+ static s16 mAngleZ[1500];
+
+ dGrass_anm_c* anm_p = getAnm();
+ for (int i = 0; i < 112; i++) {
+ mDoMtx_stack_c::YrotS(anm_p->m_angY);
+ mDoMtx_stack_c::XrotM(anm_p->m_angX);
+ mDoMtx_stack_c::YrotM(-anm_p->m_angY);
+ cMtx_copy(mDoMtx_stack_c::get(), anm_p->m_animMtx);
+ anm_p++;
+ }
+
+ dGrass_data_c* data_p = getData();
+ anm_p = getAnm();
+
+ int var_r26 = 0;
+
+ cXyz sp1C;
+ f32 far = mDoLib_clipper::getFar();
+ mDoLib_clipper::changeFar(far * 1.636364f);
+
+ for (int i = 0; i < 1500; i++) {
+ if (data_p->m_state != 0) {
+ if (data_p->m_state == 1 && var_r26 < 30) {
+ data_p->m_pos.y = checkGroundY(data_p->m_pos);
+ data_p->m_state = 2;
+ var_r26++;
+ }
+
+ sp1C.set(data_p->m_pos.x, data_p->m_pos.y + 260.0f, data_p->m_pos.z);
+ if (mDoLib_clipper::clip(j3dSys.getViewMtx(), sp1C, 260.0f)) {
+ cLib_onBit(data_p->field_0x01, 2);
+ } else {
+ cLib_offBit(data_p->field_0x01, 2);
+
+ if (data_p->field_0x02 >= 0) {
+ MtxP mtx = anm_p[data_p->field_0x02].m_animMtx;
+ mtx[0][3] = data_p->m_pos.x;
+ mtx[1][3] = data_p->m_pos.y;
+ mtx[2][3] = data_p->m_pos.z;
+
+ if (g_env_light.mInitAnmTimer == 1) {
+ mAngleZ[i] = 0;
+ }
+
+ f32 temp_f2 = ((((s16)data_p->m_pos.x * 3535) & 0xFFF) / 4096.0f) +
+ ((((s16)data_p->m_pos.z * 3535) & 0xFFF) / 4096.0f);
+ temp_f2 *= 0.5f;
+
+ f32 var_f31;
+ f32 var_f30;
+ if (data_p->field_0x05 >= 10) {
+ var_f31 = temp_f2 * 0.4f + 0.6f;
+ var_f30 = temp_f2 * 0.3f + 0.7f;
+ } else {
+ var_f31 = temp_f2 * 0.3f + 0.7f;
+ var_f30 = (temp_f2 * 0.3f + 0.7f) * 0.8f;
+ }
+
+ mDoMtx_stack_c::copy(mtx);
+
+ if (data_p->field_0x05 >= 7 && data_p->field_0x05 <= 9) {
+ mDoMtx_stack_c::ZrotM(mAngleZ[i]);
+ mDoMtx_stack_c::scaleM(var_f31, var_f30 - 0.22f, var_f31);
+ mDoMtx_stack_c::ZrotM(-mAngleZ[i]);
+
+ s16 ang = ((i + 1) & 0xF) * 5.0f + 162.0f;
+ mAngleZ[i] += ang;
+ } else {
+ if (data_p->field_0x05 >= 10 &&
+ memcmp(dComIfGp_getStartStageName(), "D_MN54", 6) != 0)
+ {
+ mDoMtx_stack_c::ZrotM(mAngleZ[i]);
+ }
+
+ mDoMtx_stack_c::scaleM(var_f31, var_f30, var_f31);
+
+ if (data_p->field_0x05 >= 10 &&
+ memcmp(dComIfGp_getStartStageName(), "D_MN54", 6) != 0)
+ {
+ mDoMtx_stack_c::ZrotM(-mAngleZ[i]);
+ }
+
+ if (data_p->field_0x05 >= 10) {
+ mDoMtx_stack_c::scaleM(2.0f, (i & 3) * 0.1f + 0.64f, 2.0f);
+ }
+
+ if (data_p->field_0x05 >= 10 &&
+ memcmp(dComIfGp_getStartStageName(), "D_MN54", 6) != 0)
+ {
+ f32 pow =
+ dKyw_get_wind_pow() * dKyw_get_wind_pow() * dKyw_get_wind_pow();
+ s16 ang = (((i + 1) & 0xF) * 25.0f + 3200.0f) * pow;
+ mAngleZ[i] = mAngleZ[i] + ang;
+ }
+ }
+
+ cMtx_concat(j3dSys.getViewMtx(), mDoMtx_stack_c::get(), data_p->m_modelMtx);
+ } else {
+ mDoMtx_stack_c::transS(data_p->m_pos.x, data_p->m_pos.y, data_p->m_pos.z);
+ mDoMtx_stack_c::YrotM(i * 3535);
+
+ if (data_p->field_0x02 < -2) {
+ mDoMtx_stack_c::scaleM(1.0f, -data_p->field_0x02 / 40.0f, 1.0f);
+ }
+
+ f32 scale = ((((s16)data_p->m_pos.x * 3535) & 0xFFF) / 4096.0f) * 0.3f + 0.7f;
+ mDoMtx_stack_c::scaleM(scale, scale, scale);
+ cMtx_concat(j3dSys.getViewMtx(), mDoMtx_stack_c::get(), data_p->m_modelMtx);
+ }
+ }
+ }
+ data_p++;
+ }
+
+ mDoLib_clipper::resetFar();
+ dComIfGd_getListPacket()->entryImm(this, 0);
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void dGrass_packet_c::update() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/update__15dGrass_packet_cFv.s"
+}
+#pragma pop
+#endif
+
+/* 8052067C-80520770 004A1C 00F4+00 1/1 0/0 0/0 .text
+ * setData__15dGrass_packet_cFP13dGrass_data_ciR4cXyziUcUcsUc */
+void dGrass_packet_c::setData(dGrass_data_c* i_data, int param_1, cXyz& i_pos, int i_roomNo,
+ u8 i_tableNo, u8 i_itemBitNo, s16 i_addCol, u8 param_7) {
+ f32 y_pos;
+ if (fopOvlpM_IsPeek()) {
+ y_pos = checkGroundY(i_pos);
+ i_data->m_state = 2;
+ } else {
+ y_pos = i_pos.y;
+ i_data->m_state = 1;
+ }
+
+ i_data->field_0x01 = 2;
+ i_data->field_0x02 = cM_rndF(FLOAT_LABEL(lit_4600));
+ i_data->m_pos.set(i_pos.x, y_pos, i_pos.z);
+ i_data->m_tableNo = i_tableNo;
+ i_data->m_itemBitNo = i_itemBitNo;
+ i_data->m_addCol = i_addCol;
+ i_data->field_0x05 = param_7;
+
+ m_room[i_roomNo].newData(i_data);
+ field_0x10 = param_1;
+}
+
+/* 80520770-80520864 004B10 00F4+00 1/1 0/0 0/0 .text newData__15dGrass_packet_cFR4cXyziUcUcsUc */
+dGrass_data_c* dGrass_packet_c::newData(cXyz& i_pos, int i_roomNo, u8 i_tableNo, u8 i_itemBitNo,
+ s16 i_addCol, u8 param_5) {
+ dGrass_data_c* data_p = m_data + field_0x10;
+
+ for (int i = field_0x10; i < 1500; i++) {
+ if (data_p->m_state == 0) {
+ setData(data_p, i, i_pos, i_roomNo, i_tableNo, i_itemBitNo, i_addCol, param_5);
+ return data_p;
+ }
+ data_p++;
+ }
+
+ data_p = m_data;
+ for (int i = 0; i < field_0x10; i++) {
+ if (data_p->m_state == 0) {
+ setData(data_p, i, i_pos, i_roomNo, i_tableNo, i_itemBitNo, i_addCol, param_5);
+ return data_p;
+ }
+ data_p++;
+ }
+
+ return NULL;
+}
+
+/* 80520864-80520898 004C04 0034+00 1/0 0/0 0/0 .text deleteRoom__15dGrass_packet_cFi */
+void dGrass_packet_c::deleteRoom(int i_roomNo) {
+ m_room[i_roomNo].deleteData();
+}
+
+/* 80520898-805208E4 004C38 004C+00 2/2 0/0 0/0 .text newAnm__15dGrass_packet_cFv */
+int dGrass_packet_c::newAnm() {
+ dGrass_anm_c* anm_p = m_anm + 16;
+ for (int i = 16; i < 112; i++) {
+ if (anm_p->m_state == 0) {
+ anm_p->m_state = 1;
+ anm_p->m_angY = 0;
+ anm_p->m_angX = 0;
+ return i;
+ }
+
+ anm_p++;
+ }
+
+ return -1;
+}
+
+/* 805208E4-8052090C 004C84 0028+00 1/1 0/0 0/0 .text setAnm__15dGrass_packet_cFis */
+void dGrass_packet_c::setAnm(int i_idx, s16) {
+ dGrass_anm_c* anm_p = m_anm + i_idx;
+
+ anm_p->m_state = 1;
+ anm_p->m_angY = 0;
+ anm_p->m_angX = 0;
+}
+
+/* 8052090C-80520928 004CAC 001C+00 1/1 0/0 0/0 .text getSwordTopPos__9daPy_py_cCFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm void daPy_py_c::getSwordTopPos() const {
+extern "C" asm void getSwordTopPos__9daPy_py_cCFv() {
+ nofralloc
+#include "asm/rel/d/a/d_a_grass/d_a_grass/getSwordTopPos__9daPy_py_cCFv.s"
+}
+#pragma pop
+
+/* 80520928-80520934 004CC8 000C+00 1/1 0/0 0/0 .text __ct__13dGrass_room_cFv */
+dGrass_room_c::dGrass_room_c() {
+ mp_data = NULL;
+}
+
+/* 80520934-80520940 004CD4 000C+00 1/1 0/0 0/0 .text __ct__12dGrass_anm_cFv */
+dGrass_anm_c::dGrass_anm_c() {
+ m_state = 0;
+}
+
+/* 80520940-8052097C 004CE0 003C+00 2/2 0/0 0/0 .text __dt__13dGrass_data_cFv */
+dGrass_data_c::~dGrass_data_c() {}
+
+/* 8052097C-80520988 004D1C 000C+00 1/1 0/0 0/0 .text __ct__13dGrass_data_cFv */
+dGrass_data_c::dGrass_data_c() {
+ m_state = 0;
+} \ No newline at end of file
diff --git a/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp b/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp
index 8e9f1af6be..50f9068c4d 100644
--- a/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp
+++ b/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp
@@ -23,7 +23,7 @@ static int daKytag14_Execute(kytag14_class* i_this) {
BOOL switch1_set = true;
BOOL switch2_unset = true;
- if (dComIfGs_isTmpBit(0x1301)) {
+ if (dComIfGs_isTmpBit(dSv_event_tmp_flag_c::NO_TELOP)) {
return 1;
}
@@ -84,17 +84,17 @@ static int daKytag14_Delete(kytag14_class*) {
/* 80529B44-80529BE0 000224 009C+00 1/0 0/0 0/0 .text daKytag14_Create__FP10fopAc_ac_c */
static int daKytag14_Create(fopAc_ac_c* i_this) {
fopAcM_SetupActor(i_this, kytag14_class);
- kytag14_class* kytag = static_cast<kytag14_class*>(i_this);
+ kytag14_class* a_this = static_cast<kytag14_class*>(i_this);
- kytag->mSavePoint = fopAcM_GetParam(kytag);
- kytag->mSaveRoomNo = (fopAcM_GetParam(kytag) >> 8) & 0xFF;
- kytag->mEventID1 = kytag->current.angle.x;
- kytag->mEventID2 = kytag->current.angle.y;
- kytag->mSwitchNo1 = kytag->current.angle.z;
- kytag->mSwitchNo2 = (kytag->current.angle.z >> 8) & 0xFF;
+ a_this->mSavePoint = fopAcM_GetParam(a_this) & 0xFF;
+ a_this->mSaveRoomNo = (fopAcM_GetParam(a_this) >> 8) & 0xFF;
+ a_this->mEventID1 = a_this->current.angle.x & 0xFFFF;
+ a_this->mEventID2 = a_this->current.angle.y & 0xFFFF;
+ a_this->mSwitchNo1 = a_this->current.angle.z & 0xFF;
+ a_this->mSwitchNo2 = (a_this->current.angle.z >> 8) & 0xFF;
- if (kytag->orig.roomNo != -1) {
- kytag->mSaveRoomNo = kytag->orig.roomNo;
+ if (a_this->orig.roomNo != -1) {
+ a_this->mSaveRoomNo = a_this->orig.roomNo;
}
return cPhs_COMPLEATE_e;
diff --git a/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp b/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp
index d789f4eea1..71e31bdc7d 100644
--- a/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp
+++ b/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp
@@ -4,43 +4,16 @@
//
#include "rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h"
+#include "JSystem/JKernel/JKRHeap.h"
+#include "d/a/d_a_alink.h"
+#include "d/a/d_a_npc.h"
+#include "d/a/d_a_player.h"
+#include "d/com/d_com_inf_game.h"
+#include "d/d_procname.h"
+#include "d/meter/d_meter2_info.h"
#include "dol2asm.h"
//
-// Types:
-//
-
-struct daPy_py_c {
- static u8 m_midnaActor[4];
-};
-
-struct dSv_info_c {
- /* 80035200 */ void onSwitch(int, int);
- /* 80035360 */ void isSwitch(int, int) const;
-};
-
-struct dSv_event_flag_c {
- static u8 saveBitLabels[1644 + 4 /* padding */];
-};
-
-struct dSv_event_c {
- /* 800349BC */ void isEventBit(u16) const;
-};
-
-struct dEvt_control_c {
- /* 80042468 */ void reset();
-};
-
-struct dEvent_manager_c {
- /* 80047698 */ void getEventIdx(fopAc_ac_c*, u8);
- /* 80047A78 */ void endCheck(s16);
-};
-
-struct dAttHint_c {
- /* 800738FC */ void request(fopAc_ac_c*, int);
-};
-
-//
// Forward References:
//
@@ -53,7 +26,7 @@ extern "C" void execute__12daTagMhint_cFv();
extern "C" static void daTagMhint_Execute__FP12daTagMhint_c();
extern "C" static bool daTagMhint_Draw__FP12daTagMhint_c();
extern "C" extern char const* const d_a_tag_mhint__stringBase0;
-extern "C" extern void* g_profile_Tag_Mhint[12];
+// extern "C" extern void* g_profile_Tag_Mhint[12];
//
// External References:
@@ -84,10 +57,7 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
-extern "C" void strcmp();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 g_meter2_info[248];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -100,61 +70,73 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
SECTION_RODATA static f32 const lit_3741 = 10.0f;
COMPILER_STRIP_GATE(0x805A6034, &lit_3741);
-/* 805A6038-805A603C 000004 0004+00 0/1 0/0 0/0 .rodata @3742 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3742 = 10000.0f;
-COMPILER_STRIP_GATE(0x805A6038, &lit_3742);
-#pragma pop
-
-/* 805A603C-805A6040 000008 0004+00 0/1 0/0 0/0 .rodata @3743 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3743 = 100.0f;
-COMPILER_STRIP_GATE(0x805A603C, &lit_3743);
-#pragma pop
-
/* 805A56B8-805A58C8 000078 0210+00 1/1 0/0 0/0 .text create__12daTagMhint_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTagMhint_c::create() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/create__12daTagMhint_cFv.s"
+int daTagMhint_c::create() {
+ fopAcM_SetupActor(this, daTagMhint_c);
+
+ field_0x574 = fopAcM_GetParam(this) & 0x3FF;
+ field_0x57c = (fopAcM_GetParam(this) >> 10) & 0x3FF;
+ field_0x578 = (fopAcM_GetParam(this) >> 20) & 0x1FF;
+ field_0x57a = field_0x578;
+
+ if ((fopAcM_GetParam(this) >> 0x1F)) {
+ field_0x56a = 1;
+ } else {
+ field_0x56a = 0;
+ }
+
+ field_0x56b = (fopAcM_GetParam(this) >> 0x1D) & 1;
+
+ if (daPy_getPlayerActorClass() != NULL) {
+ field_0x572 = fopAcM_GetID(daPy_getPlayerActorClass()) == mParentPcId;
+ } else {
+ field_0x572 = 0;
+ }
+
+ field_0x568 = shape_angle.x & 0xFF;
+ mSwitch = (shape_angle.x >> 8) & 0xFF;
+ field_0x56d = shape_angle.y & 0xFF;
+ mToolEventID = (shape_angle.y >> 8) & 0xFF;
+
+ mEventID = i_dComIfGp_getEventManager().getEventIdx(this, mToolEventID);
+ if ((fopAcM_GetParam(this) >> 0x1E) & 1) {
+ mScale.x *= FLOAT_LABEL(lit_3741);
+ mScale.y *= FLOAT_LABEL(lit_3741);
+ }
+
+ field_0x5cc = mScale.x * (mScale.x * 10000.0f);
+ field_0x5d0 = current.pos.y + mScale.y * 100.0f;
+
+ if (!checkNoAttention()) {
+ stage_arrow_data_class* arrow_data_p =
+ &dComIfGp_getRoomArrow(fopAcM_GetRoomNo(this))
+ ->mEntries[dComIfGp_getRoomCamera(fopAcM_GetRoomNo(this))
+ ->field_0x4[field_0x56d]
+ .field_0x10];
+
+ mEyePos.set(arrow_data_p->mPosition.x, arrow_data_p->mPosition.y,
+ arrow_data_p->mPosition.z);
+ mAttentionInfo.mPosition = mEyePos;
+ }
+
+ return cPhs_COMPLEATE_e;
}
-#pragma pop
/* 805A58C8-805A58E8 000288 0020+00 1/0 0/0 0/0 .text daTagMhint_Create__FP10fopAc_ac_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTagMhint_Create(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Create__FP10fopAc_ac_c.s"
+static int daTagMhint_Create(fopAc_ac_c* i_this) {
+ return static_cast<daTagMhint_c*>(i_this)->create();
}
-#pragma pop
/* 805A58E8-805A594C 0002A8 0064+00 1/1 0/0 0/0 .text __dt__12daTagMhint_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm daTagMhint_c::~daTagMhint_c() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/__dt__12daTagMhint_cFv.s"
-}
-#pragma pop
+daTagMhint_c::~daTagMhint_c() {}
/* 805A594C-805A5974 00030C 0028+00 1/0 0/0 0/0 .text daTagMhint_Delete__FP12daTagMhint_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTagMhint_Delete(daTagMhint_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Delete__FP12daTagMhint_c.s"
+static int daTagMhint_Delete(daTagMhint_c* i_this) {
+ i_this->~daTagMhint_c();
+ return 1;
}
-#pragma pop
/* ############################################################################################## */
/* 805A6040-805A6044 00000C 0004+00 1/2 0/0 0/0 .rodata @3803 */
@@ -172,6 +154,39 @@ SECTION_DEAD static char const* const stringBase_805A604C = "D_MN04B";
#pragma pop
/* 805A5974-805A5AE4 000334 0170+00 1/1 0/0 0/0 .text eventOrder__12daTagMhint_cFv */
+// literals / player ptr re-loads
+#ifdef NONMATCHING
+void daTagMhint_c::eventOrder() {
+ if (!i_dComIfGp_event_runCheck()) {
+ mEvtInfo.i_onCondition(1);
+
+ if (!daPy_getPlayerActorClass()->checkPlayerFly() ||
+ i_dComIfGp_checkPlayerStatus0(0, 0x100000))
+ {
+ if (field_0x56a != 0) {
+ if (checkEventID()) {
+ fopAcM_orderOtherEventId(this, mEventID, mToolEventID, 0xFFFF, 0, 1);
+ } else {
+ fopAcM_orderSpeakEvent(this, 0, 0);
+ }
+ } else if (!daPy_getPlayerActorClass()->i_checkMagneBootsOn() ||
+ strcmp(dComIfGp_getStartStageName(), "D_MN04B") == 0)
+ {
+ dComIfGp_att_ZHintRequest(this, 0x1FF);
+ if (field_0x56f == 0) {
+ field_0x56f = 1;
+
+ if (field_0x57e == 0) {
+ mDoAud_seStart(Z2SE_NAVI_CALLVOICE, NULL, 0, 0);
+ }
+
+ field_0x57e = 60;
+ }
+ }
+ }
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -180,6 +195,7 @@ asm void daTagMhint_c::eventOrder() {
#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/eventOrder__12daTagMhint_cFv.s"
}
#pragma pop
+#endif
/* ############################################################################################## */
/* 805A6048-805A604C 000014 0004+00 0/1 0/0 0/0 .rodata @3956 */
@@ -195,52 +211,166 @@ COMPILER_STRIP_GATE(0x805A6048, &lit_3956);
#pragma pop
/* 805A5AE4-805A6004 0004A4 0520+00 1/1 0/0 0/0 .text execute__12daTagMhint_cFv */
+// should match with literals, mDoExt_morf_c::isStop has optimization issues
+#ifdef NONMATCHING
+int daTagMhint_c::execute() {
+ daMidna_c* midna_p = daPy_py_c::getMidnaActor();
+ if (midna_p == NULL) {
+ return 1;
+ }
+
+ if (field_0x57e != 0) {
+ field_0x57e--;
+ }
+
+ if (checkNoAttention()) {
+ mAttentionInfo.mPosition = midna_p->mAttentionInfo.mPosition;
+ shape_angle.y = midna_p->shape_angle.y;
+ mEyePos = mAttentionInfo.mPosition;
+ } else {
+ shape_angle.y = fopAcM_searchPlayerAngleY(this);
+ }
+
+ if (mEvtInfo.i_checkCommandDemoAccrpt()) {
+ if (dComIfGp_evmng_endCheck(mEventID)) {
+ i_dComIfGp_event_reset();
+ fopAcM_orderSpeakEvent(this, 3, 0);
+ field_0x570 = 1;
+ }
+ } else if (mEvtInfo.checkCommandTalk()) {
+ if (!midna_p->checkShadowModeTalkWait()) {
+ if (field_0x56e == 0) {
+ mMsgFlow.init(this, shape_angle.z & 0xFFFF, 0, NULL);
+ field_0x56e = 1;
+ mDoAud_seStart(Z2SE_NAVI_TALK_START, NULL, 0, 0);
+ field_0x571 = 0;
+ } else if (mMsgFlow.doFlow(this, NULL, 0)) {
+ int sp28;
+ if (mMsgFlow.getEventId(&sp28) == 7) {
+ dMeter2Info_setPauseStatus(1);
+ }
+
+ if (field_0x571 == 0) {
+ field_0x571 = 1;
+ mDoAud_seStart(Z2SE_NAVI_TALK_END, NULL, 0, 0);
+ }
+
+ bool tmp;
+ if (midna_p->checkShadowModelDraw()) {
+ midna_p->setShadowReturn();
+ tmp = midna_p->checkShadowReturnEnd();
+ } else {
+ tmp = 1;
+ }
+
+ if (tmp) {
+ i_dComIfGp_event_reset();
+ field_0x570 = 0;
+
+ if (field_0x572 != 0 || (field_0x56b != 0 && mSwitch != 0xFF)) {
+ if (field_0x56b != 0) {
+ i_fopAcM_onSwitch(this, mSwitch);
+ }
+
+ fopAcM_delete(this);
+ field_0x578 = field_0x57a;
+ }
+ }
+ }
+ }
+ } else {
+ if (field_0x570 != 0) {
+ mEvtInfo.i_onCondition(1);
+ fopAcM_orderSpeakEvent(this, 3, 0);
+ return 1;
+ }
+
+ if (field_0x57c != 0x3FF &&
+ i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x57c]))
+ {
+ return 1;
+ }
+
+ if (mSwitch != 0xFF && i_fopAcM_isSwitch(this, mSwitch)) {
+ fopAcM_delete(this);
+ return 1;
+ }
+
+ field_0x56e = 0;
+
+ daPy_py_c* player_p = daPy_getPlayerActorClass();
+ if (current.pos.y <= player_p->current.pos.y && field_0x5d0 >= player_p->current.pos.y &&
+ fopAcM_searchPlayerDistanceXZ2(this) < field_0x5cc)
+ {
+ if ((field_0x574 == 0x3FF ||
+ i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x574])) &&
+ (field_0x568 == 0xFF || i_fopAcM_isSwitch(this, field_0x568)))
+ {
+ if (field_0x578 != 0x1FF && field_0x578 != 0 && !i_dComIfGp_event_runCheck()) {
+ field_0x578--;
+ }
+
+ if (field_0x578 == 0 || field_0x578 == 0x1FF) {
+ eventOrder();
+ }
+ } else {
+ field_0x578 = field_0x57a;
+ }
+ } else {
+ field_0x578 = field_0x57a;
+ }
+ }
+
+ if (!mEvtInfo.chkCondition(1)) {
+ field_0x56f = 0;
+ }
+
+ return 1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daTagMhint_c::execute() {
+asm int daTagMhint_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/execute__12daTagMhint_cFv.s"
}
#pragma pop
+#endif
/* 805A6004-805A6024 0009C4 0020+00 1/0 0/0 0/0 .text daTagMhint_Execute__FP12daTagMhint_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTagMhint_Execute(daTagMhint_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/daTagMhint_Execute__FP12daTagMhint_c.s"
+static int daTagMhint_Execute(daTagMhint_c* i_this) {
+ return i_this->execute();
}
-#pragma pop
/* 805A6024-805A602C 0009E4 0008+00 1/0 0/0 0/0 .text daTagMhint_Draw__FP12daTagMhint_c
*/
-static bool daTagMhint_Draw(daTagMhint_c* param_0) {
- return true;
+static int daTagMhint_Draw(daTagMhint_c* i_this) {
+ return 1;
}
/* ############################################################################################## */
/* 805A6054-805A6074 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMhint_Method */
-SECTION_DATA static void* l_daTagMhint_Method[8] = {
- (void*)daTagMhint_Create__FP10fopAc_ac_c,
- (void*)daTagMhint_Delete__FP12daTagMhint_c,
- (void*)daTagMhint_Execute__FP12daTagMhint_c,
- (void*)NULL,
- (void*)daTagMhint_Draw__FP12daTagMhint_c,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
+static actor_method_class l_daTagMhint_Method = {
+ (process_method_func)daTagMhint_Create, (process_method_func)daTagMhint_Delete,
+ (process_method_func)daTagMhint_Execute, (process_method_func)NULL,
+ (process_method_func)daTagMhint_Draw,
};
/* 805A6074-805A60A4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Mhint */
-SECTION_DATA extern void* g_profile_Tag_Mhint[12] = {
- (void*)0xFFFFFFFD, (void*)0x0007FFFD,
- (void*)0x02C10000, (void*)&g_fpcLf_Method,
- (void*)0x000005D4, (void*)NULL,
- (void*)NULL, (void*)&g_fopAc_Method,
- (void*)0x00FE0000, (void*)&l_daTagMhint_Method,
- (void*)0x00044000, (void*)0x030E0000,
+extern actor_process_profile_definition g_profile_Tag_Mhint = {
+ -3,
+ 7,
+ -3,
+ PROC_Tag_Mhint,
+ &g_fpcLf_Method.mBase,
+ sizeof(daTagMhint_c),
+ 0,
+ 0,
+ &g_fopAc_Method.base,
+ 254,
+ &l_daTagMhint_Method,
+ 0x44000,
+ 3,
+ 14,
};
-
-/* 805A604C-805A604C 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp
index 7b0d7b84cc..db10509537 100644
--- a/src/d/a/d_a_npc.cpp
+++ b/src/d/a/d_a_npc.cpp
@@ -4,13 +4,14 @@
//
#include "d/a/d_a_npc.h"
+#include "JSystem/J3DGraphBase/J3DMaterial.h"
+#include "SSystem/SComponent/c_math.h"
#include "d/d_procname.h"
+#include "d/msg/d_msg_object.h"
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
-#include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h"
-#include "d/msg/d_msg_object.h"
#include "m_Do/m_Do_lib.h"
-#include "JSystem/J3DGraphBase/J3DMaterial.h"
+#include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h"
//
// Forward References:
@@ -163,9 +164,9 @@ extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv();
extern "C" void __dt__18daNpcT_ActorMngr_cFv();
extern "C" void __dt__15daNpcT_JntAnm_cFv();
extern "C" void __dt__15daNpcT_MatAnm_cFv();
-extern "C" void func_8014D32C(void* _this, s16*);
-extern "C" void func_8014D348(void* _this);
-extern "C" void func_8014D364(void* _this, int, int);
+extern "C" s16 func_8014D32C(s16*);
+extern "C" int func_8014D348(int*);
+extern "C" int func_8014D364(int, int);
extern "C" void __sinit_d_a_npc_cpp();
extern "C" static void daBaseNpc_addIdx__FiiPUsi();
extern "C" static void daBaseNpc_subIdx__FiiPUsi();
@@ -382,7 +383,7 @@ extern "C" u8 mFindCount__8daNpcF_c[4];
extern "C" u8 mSrchActorName__8daNpcF_c[2 + 2 /* padding */];
extern "C" extern u8 data_80450FF8[8];
static asm s32 daBaseNpc_chkPnt(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4,
- int param_5);
+ int param_5);
static u16 daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4);
//
@@ -670,7 +671,8 @@ void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const {
for (u32 i = 0; i < 8; i++) {
if (getTexMtxAnm(i).getAnmFlag()) {
- J3DTexMtxInfo* curr_mtx_info = &param_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo();
+ J3DTexMtxInfo* curr_mtx_info =
+ &param_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo();
if (field_0x104 != 0) {
curr_mtx_info->mSRT.mTranslationX = mTranslationX;
@@ -680,9 +682,10 @@ void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const {
if (field_0x105 != 0) {
f32 tmp8 = 1.0f / (field_0x105 + 1);
- curr_mtx_info->mSRT.mTranslationX = field_0xF4 * (1.0f - tmp8) + curr_mtx_info->mSRT.mTranslationX * tmp8;
- curr_mtx_info->mSRT.mTranslationY = field_0xF8 * (1.0f - tmp8) + curr_mtx_info->mSRT.mTranslationY * tmp8;
-
+ curr_mtx_info->mSRT.mTranslationX =
+ field_0xF4 * (1.0f - tmp8) + curr_mtx_info->mSRT.mTranslationX * tmp8;
+ curr_mtx_info->mSRT.mTranslationY =
+ field_0xF8 * (1.0f - tmp8) + curr_mtx_info->mSRT.mTranslationY * tmp8;
}
field_0xF4 = curr_mtx_info->mSRT.mTranslationX;
@@ -785,12 +788,12 @@ static int daNpcT_addIdx(int param_0, int param_1, u16& param_2, int param_3) {
}
param_2 = tmp2;
- return tmp;
+ return tmp;
}
/* 80145A78-80145AC4 1403B8 004C+00 2/2 0/0 0/0 .text daNpcT_subIdx__FiiRUsi */
static int daNpcT_subIdx(int param_0, int param_1, u16& param_2, int param_3) {
- int tmp = 0;
+ int tmp = 0;
int tmp2 = param_2;
tmp2 -= param_0;
@@ -802,7 +805,7 @@ static int daNpcT_subIdx(int param_0, int param_1, u16& param_2, int param_3) {
int tmp5 = param_0 / param_1;
tmp2 = param_0 - (tmp5 * param_1);
-
+
} else {
tmp2 = 0;
tmp = 1;
@@ -810,41 +813,35 @@ static int daNpcT_subIdx(int param_0, int param_1, u16& param_2, int param_3) {
}
param_2 = tmp2;
- return tmp;
+ return tmp;
}
/* 80145AC4-80145B20 140404 005C+00 5/5 0/0 0/0 .text daNpcT_incIdx__FiRUsii */
static int daNpcT_incIdx(int param_0, u16& param_1, int param_2, int param_3) {
- return param_3 ? daNpcT_subIdx(1,param_0,param_1,param_2) : daNpcT_addIdx(1,param_0,param_1,param_2);
+ return param_3 ? daNpcT_subIdx(1, param_0, param_1, param_2) :
+ daNpcT_addIdx(1, param_0, param_1, param_2);
}
/* 80145B20-80145B7C 140460 005C+00 3/3 0/0 0/0 .text daNpcT_decIdx__FiRUsii */
-static void daNpcT_decIdx(int param_0, u16& param_1, int param_2, int param_3) {
- param_3 ? daNpcT_addIdx(1,param_0,param_1,param_2) : daNpcT_subIdx(1,param_0,param_1,param_2);
+static int daNpcT_decIdx(int param_0, u16& param_1, int param_2, int param_3) {
+ return param_3 ? daNpcT_addIdx(1, param_0, param_1, param_2) :
+ daNpcT_subIdx(1, param_0, param_1, param_2);
}
/* 80145B7C-80145C40 1404BC 00C4+00 1/1 0/0 0/0 .text
* hermite__13daNpcT_Path_cFR4cXyzR4cXyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz */
void daNpcT_Path_c::hermite(cXyz& param_0, cXyz& param_1, cXyz& param_2, cXyz& param_3,
- daNpcT_Hermite_c& param_4, cXyz& param_5) {
- param_5.x = param_0.x * param_4.mPosition.x +
- param_2.x * param_4.mPosition.y +
- param_1.x * param_4.mPosition.z +
- param_3.x * param_4.field_0x10;
+ daNpcT_Hermite_c& param_4, cXyz& param_5) {
+ param_5.x = param_0.x * param_4.mPosition.x + param_2.x * param_4.mPosition.y +
+ param_1.x * param_4.mPosition.z + param_3.x * param_4.field_0x10;
- param_5.y = param_0.y * param_4.mPosition.x +
- param_2.y * param_4.mPosition.y +
- param_1.y * param_4.mPosition.z +
- param_3.y * param_4.field_0x10;
-
+ param_5.y = param_0.y * param_4.mPosition.x + param_2.y * param_4.mPosition.y +
+ param_1.y * param_4.mPosition.z + param_3.y * param_4.field_0x10;
- param_5.z = param_0.z * param_4.mPosition.x +
- param_2.z * param_4.mPosition.y +
- param_1.z * param_4.mPosition.z +
- param_3.z * param_4.field_0x10;
+ param_5.z = param_0.z * param_4.mPosition.x + param_2.z * param_4.mPosition.y +
+ param_1.z * param_4.mPosition.z + param_3.z * param_4.field_0x10;
}
-
/* 80145C40-80145C74 140580 0034+00 0/0 0/0 44/44 .text initialize__13daNpcT_Path_cFv */
void daNpcT_Path_c::initialize() {
mpRoomPath = 0;
@@ -869,7 +866,7 @@ int daNpcT_Path_c::setPathInfo(u8 i_pathIdx, s8 i_roomNo, u8 i_direction) {
mDirection = i_direction;
if (i_pathIdx != 0xFF) {
- mpRoomPath = dPath_GetRoomPath(i_pathIdx,i_roomNo);
+ mpRoomPath = dPath_GetRoomPath(i_pathIdx, i_roomNo);
if (!mpRoomPath) {
return 0;
}
@@ -888,7 +885,7 @@ int daNpcT_Path_c::setNextPathInfo(s8 param_0, u8 i_direction) {
u16 next_id = mpRoomPath->m_nextID;
if (next_id != 0xFFFF) {
- mpRoomPath = dPath_GetRoomPath(next_id,param_0);
+ mpRoomPath = dPath_GetRoomPath(next_id, param_0);
if (!mpRoomPath) {
return 0;
}
@@ -907,7 +904,6 @@ void daNpcT_Path_c::reverse() {
}
mDirection = 1;
field_0x1E = 1;
-
}
/* 80145DD0-80145E38 140710 0068+00 2/2 0/0 8/8 .text setNextIdx__13daNpcT_Path_cFi */
@@ -915,10 +911,10 @@ int daNpcT_Path_c::setNextIdx(int param_0) {
u16 numPnts = getNumPnts();
if (chkClose() != 0 && numPnts == param_0) {
- return daNpcT_incIdx(param_0,mIdx,1,mDirection);
+ return daNpcT_incIdx(param_0, mIdx, 1, mDirection);
}
- return daNpcT_incIdx(param_0,mIdx,0,mDirection);
+ return daNpcT_incIdx(param_0, mIdx, 0, mDirection);
}
/* 80145E38-80145FB4 140778 017C+00 0/0 0/0 1/1 .text getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi */
@@ -926,10 +922,10 @@ int daNpcT_Path_c::getDstPos(cXyz param_0, cXyz* param_1, int i_idx) {
if (i_idx == mIdx) {
*param_1 = getPntPos(getIdx() - 1);
return 1;
- }
+ }
- while(true) {
- if (!chkPassed1(param_0,i_idx)) {
+ while (true) {
+ if (!chkPassed1(param_0, i_idx)) {
break;
}
field_0x1E = 1;
@@ -941,7 +937,7 @@ int daNpcT_Path_c::getDstPos(cXyz param_0, cXyz* param_1, int i_idx) {
}
int i_idx2;
*param_1 = getPntPos(i_idx2 = getIdx());
-
+
return 0;
}
@@ -951,10 +947,10 @@ int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int i_idx, int param_
if (i_idx == mIdx) {
*param_1 = getPntPos(getIdx() - 1);
return 1;
- }
+ }
- while(true) {
- if (!chkPassed1(param_0,i_idx)) {
+ while (true) {
+ if (!chkPassed1(param_0, i_idx)) {
break;
}
field_0x1E = 1;
@@ -964,8 +960,8 @@ int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int i_idx, int param_
return 1;
}
}
-
- while(true) {
+
+ while (true) {
if (field_0x1E < param_3) {
if (chkPassed2(param_0, param_1, i_idx, param_3)) {
field_0x1E++;
@@ -977,7 +973,6 @@ int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int i_idx, int param_
}
return 0;
}
-
}
/* ############################################################################################## */
@@ -986,83 +981,67 @@ SECTION_SDATA2 static f32 lit_4513 = 100.0f;
/* 80146188-801464D8 140AC8 0350+00 2/2 0/0 2/2 .text chkPassed1__13daNpcT_Path_cF4cXyzi
*/
+// one instruction order swap, otherwise matches with literals
#ifdef NONMATCHING
int daNpcT_Path_c::chkPassed1(cXyz param_0, int param_1) {
- u16 idx = mIdx;
- u16 tmpIdx1 = idx;
- u16 tmpIdx2 = idx;
-
- u8 tmp;
-
- cXyz l_pos1;
- cXyz l_pos2;
- cXyz l_pos3;
- cXyz l_pos4;
- cXyz l_pos5;
- cXyz l_pos6;
- cXyz l_pos7;
-
- f32 l_float1;
- f32 l_float2;
- f32 l_float3;
- f32 l_float4;
- f32 l_float5;
- f32 l_float6;
+ cXyz sp80;
+ cXyz sp74;
+ cXyz sp68;
+ cXyz sp5C;
- Vec l_vec;
-
+ u16 temp_r30 = getIdx() & 0xFFFF;
+ u16 spA;
+ u16 sp8;
- if ((mpRoomPath->m_closed & 1) == 0 || param_1 == mpRoomPath->m_num) {
- daNpcT_decIdx(param_1,tmpIdx2,1, chkReverse());
+ sp8 = temp_r30;
+ spA = sp8;
- daNpcT_incIdx(mpRoomPath->m_num,tmpIdx1,1,chkReverse());
+ if (chkClose() && param_1 == getNumPnts()) {
+ daNpcT_decIdx(getNumPnts(), spA, 1, chkReverse());
+ daNpcT_incIdx(getNumPnts(), sp8, 1, chkReverse());
} else {
- daNpcT_decIdx(param_1,tmpIdx1,0,chkReverse());
-
- daNpcT_incIdx(param_1,tmpIdx2,0,chkReverse());
+ daNpcT_decIdx(param_1, spA, 0, chkReverse());
+ daNpcT_incIdx(param_1, sp8, 0, chkReverse());
}
- tmp = tmpIdx2;
-
- l_pos5 = getPntPos(idx);
- l_pos6 = getPntPos(mIdx);
- l_pos7 = getPntPos(mIdx);
-
- l_pos1 = l_pos7;
- l_pos2 = l_pos6;
- l_pos3 = l_pos5;
+ sp80 = getPntPos(spA);
+ sp74 = getPntPos(temp_r30);
+ sp68 = getPntPos(sp8);
+ if (spA == temp_r30) {
+ sp5C.set(0.0f, 0.0f, 100.0f);
- if (tmp == mIdx) {
- l_vec.x = 0.0f;
- l_vec.y = 0.0f;
- l_vec.z = 100.0f;
-
- s16 angle = cLib_targetAngleY(&l_pos1,&l_pos2);
- mDoMtx_YrotS((MtxP)&mDoMtx_stack_c::now,angle);
- MTXMultVec((MtxP)&mDoMtx_stack_c::now,&l_vec,&l_vec);
- l_pos4 = (cXyz)l_vec + l_pos2;
- l_pos3 = l_pos4;
+ mDoMtx_stack_c::YrotS(cLib_targetAngleY(&sp68, &sp74));
+ mDoMtx_stack_c::multVec(&sp5C, &sp5C);
+ sp80 = sp5C + sp74;
}
- if (mIdx == tmpIdx1) {
- l_vec.x = 0.0f;
- l_vec.y = 0.0f;
- l_vec.z = 100.0f;
+ if (temp_r30 == sp8) {
+ sp5C.set(0.0f, 0.0f, 100.0f);
- s16 angle = cLib_targetAngleY(&l_pos3,&l_pos2);
- mDoMtx_YrotS((MtxP)&mDoMtx_stack_c::now,angle);
- MTXMultVec((MtxP)&mDoMtx_stack_c::now,&l_vec,&l_vec);
- l_pos5 = (cXyz)l_vec + l_pos2;
- l_pos1 = l_pos5;
+ mDoMtx_stack_c::YrotS(cLib_targetAngleY(&sp80, &sp74));
+ mDoMtx_stack_c::multVec(&sp5C, &sp5C);
+ sp68 = sp5C + sp74;
}
- if (cM3d_Len2dSqPntAndSegLine(param_0.x,param_0.z,l_pos3.x,l_pos3.z,l_pos1.x,l_pos1.z,&l_float1,&l_float2,&l_float3)
- && cM3d_Len2dSqPntAndSegLine(l_pos2.x,l_pos2.z,l_pos3.x,l_pos3.z,l_pos1.x,l_pos1.z,&l_float4,&l_float5,&l_float6)) {
- if (0x4000 < abs(cM_atan2s(l_pos1.x - l_pos3.x, l_pos1.z - l_pos3.z) - cM_atan2s(l_float4 - l_float1, l_float5 - l_float2))) {
+ f32 sp1C;
+ f32 sp18;
+ f32 sp14;
+ f32 sp10;
+ f32 spC;
+
+ if (cM3d_Len2dSqPntAndSegLine(param_0.x, param_0.z, sp80.x, sp80.z, sp68.x, sp68.z, &sp1C,
+ &sp14, &spC) &&
+ cM3d_Len2dSqPntAndSegLine(sp74.x, sp74.z, sp80.x, sp80.z, sp68.x, sp68.z, &sp18, &sp10,
+ &spC))
+ {
+ if (0x4000 < (u16)abs((s16)(cM_atan2s(sp68.x - sp80.x, sp68.z - sp80.z) -
+ cM_atan2s(sp18 - sp1C, sp10 - sp14))))
+ {
return 1;
}
}
+
return 0;
}
#else
@@ -1105,50 +1084,87 @@ SECTION_DATA static void* lit_5258[9] = {
};
/* 803B36D8-803B371C 0107F8 0044+00 0/0 0/0 54/54 .data mCcDCyl__8daNpcT_c */
-SECTION_DATA u8 daNpcT_c::mCcDCyl[68] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+dCcD_SrcCyl daNpcT_c::mCcDCyl = {
+ {
+ {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg
+ {0x0}, // mGObjCo
+ }, // mObjInf
+ {
+ {0.0f, 0.0f, 0.0f}, // mCenter
+ 0.0f, // mRadius
+ 0.0f // mHeight
+ } // mCyl
};
/* 803B371C-803B375C 01083C 0040+00 0/0 0/0 3/3 .data mCcDSph__8daNpcT_c */
-SECTION_DATA u8 daNpcT_c::mCcDSph[64] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+dCcD_SrcSph daNpcT_c::mCcDSph = {
+ {
+ {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg
+ {0x0}, // mGObjCo
+ }, // mObjInf
+ {
+ {{0.0f, 0.0f, 0.0f}, 0.0f} // mSph
+ } // mSphAttr
};
/* 803B375C-803B37A0 01087C 0044+00 0/0 0/0 1/1 .data mCcDCyl__11daBaseNpc_c */
-SECTION_DATA u8 daBaseNpc_c::mCcDCyl[68] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+dCcD_SrcCyl daBaseNpc_c::mCcDCyl = {
+ {
+ {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg
+ {0x0}, // mGObjCo
+ }, // mObjInf
+ {
+ {0.0f, 0.0f, 0.0f}, // mCenter
+ 0.0f, // mRadius
+ 0.0f // mHeight
+ } // mCyl
};
/* 803B37A0-803B37E0 0108C0 0040+00 0/0 0/0 1/1 .data mCcDSph__11daBaseNpc_c */
-SECTION_DATA u8 daBaseNpc_c::mCcDSph[64] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+dCcD_SrcSph daBaseNpc_c::mCcDSph = {
+ {
+ {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg
+ {0x0}, // mGObjCo
+ }, // mObjInf
+ {
+ {{0.0f, 0.0f, 0.0f}, 0.0f} // mSph
+ } // mSphAttr
};
/* 803B37E0-803B3824 010900 0044+00 0/0 0/0 36/36 .data mCcDCyl__8daNpcF_c */
-SECTION_DATA dCcD_SrcCyl daNpcF_c::mCcDCyl = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f
+dCcD_SrcCyl daNpcF_c::mCcDCyl = {
+ {
+ {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg
+ {0x0}, // mGObjCo
+ }, // mObjInf
+ {
+ {0.0f, 0.0f, 0.0f}, // mCenter
+ 0.0f, // mRadius
+ 0.0f // mHeight
+ } // mCyl
};
/* 803B3824-803B3864 010944 0040+00 0/0 0/0 2/2 .data mCcDSph__8daNpcF_c */
-SECTION_DATA u8 daNpcF_c::mCcDSph[64] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+dCcD_SrcSph daNpcF_c::mCcDSph = {
+ {
+ {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
+ {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg
+ {0x0}, // mGObjCo
+ }, // mObjInf
+ {
+ {{0.0f, 0.0f, 0.0f}, 0.0f} // mSph
+ } // mSphAttr
};
/* 803B3864-803B3870 010984 000C+00 2/2 0/0 0/0 .data __vt__18daNpcF_ActorMngr_c */
@@ -1527,7 +1543,7 @@ void daNpcT_DmgStagger_c::setParam(fopAc_ac_c* i_actor1, fopAc_ac_c* i_actor2, s
if (i_actor2 && i_actor1) {
field_0xc = FLOAT_LABEL(lit_5422);
field_0x10 = FLOAT_LABEL(lit_5423);
- field_0x16 = fopAcM_searchActorAngleY(i_actor1,i_actor2) - i_angle;
+ field_0x16 = fopAcM_searchActorAngleY(i_actor1, i_actor2) - i_angle;
mStagger = 0x4000;
}
}
@@ -1773,10 +1789,10 @@ int daNpcT_c::execute() {
SECTION_SDATA2 static f32 lit_5794 = 20.0f;
/* 8014886C-80148C70 1431AC 0404+00 0/0 0/0 58/58 .text draw__8daNpcT_cFiifP11_GXColorS10fiii */
-// regalloc + literals
+// matches with literals
#ifdef NONMATCHING
-int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 param_4,
- int param_5, int param_6, int param_7) {
+int daNpcT_c::draw(int param_0, int i_setEffMtx, f32 param_2, GXColorS10* i_color, f32 param_4,
+ int i_drawGhost, int param_6, int param_7) {
J3DModel* model = mMcaMorfAnm[0]->getModel();
J3DModelData* modelData = model->getModelData();
field_0xe34 = 1;
@@ -1790,17 +1806,17 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32
mTevStr.mFogColor.b = 0;
mTevStr.mFogColor.a = 0;
- if (color != NULL) {
- mTevStr.mFogColor.r = color->r;
- mTevStr.mFogColor.g = color->g;
- mTevStr.mFogColor.b = color->b;
- mTevStr.mFogColor.a = color->a;
+ if (i_color != NULL) {
+ mTevStr.mFogColor.r = i_color->r;
+ mTevStr.mFogColor.g = i_color->g;
+ mTevStr.mFogColor.b = i_color->b;
+ mTevStr.mFogColor.a = i_color->a;
}
- if (field_0xdb8 && mTimer) {
- f32 r = (f32)field_0xdb8 / (f32)mTimer;
+ if (field_0xdb8 != 0 && mTimer != 0) {
+ f32 r = (f32)mTimer / (f32)field_0xdb8;
- if (cM3d_IsZero_inverted(r)) {
+ if (cM3d_IsZero(r) == false) {
mTevStr.mFogColor.r = r * 20.0f;
}
} else if (param_0 != 0) {
@@ -1823,11 +1839,11 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32
mBpkAnm.entry(modelData);
}
- if (param_1 != 0) {
+ if (i_setEffMtx) {
fopAcM_setEffectMtx(this, modelData);
}
- if (param_5 != 0) {
+ if (i_drawGhost) {
drawGhost();
} else if (field_0xa89 != 0) {
g_env_light.settingTevStruct(4, &current.pos, &mTevStr);
@@ -1859,12 +1875,12 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32
if (param_6 == 0) {
if (param_7 == 0) {
- field_0xd94 = dComIfGd_setShadow(
- field_0xd94, 1, model, &current.pos, param_2, param_4, current.pos.y,
- field_0xdf4, field_0x930, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
+ field_0xd94 = dComIfGd_setShadow(field_0xd94, 1, model, &current.pos, param_2, param_4,
+ current.pos.y, field_0xdf4, field_0x930, &mTevStr, 0,
+ 1.0f, dDlst_shadowControl_c::getSimpleTex());
} else {
- dComIfGd_setSimpleShadow(&current.pos, field_0xdf4, param_4, field_0x930, 0,
- 1.0f, dDlst_shadowControl_c::getSimpleTex());
+ dComIfGd_setSimpleShadow(&current.pos, field_0xdf4, param_4, field_0x930, 0, 1.0f,
+ dDlst_shadowControl_c::getSimpleTex());
}
}
@@ -1898,30 +1914,26 @@ void daNpcT_c::setRoomNo() {
}
/* 80148D10-80148DD0 143650 00C0+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFf */
-// weird mr assignments
+// this looks much better with -O2? something weird going on here
#ifdef NONMATCHING
+#pragma push
+#pragma optimization_level 2
int daNpcT_c::checkEndAnm(f32 param_0) {
- switch(mMcaMorfAnm[0]->getPlayMode()) {
- case 2:
- return mMcaMorfAnm[0]->isLoop();
- case 0:
- case 1:
- bool ret;
- bool ret2;
- ret2 = ret = 0;
- if (mMcaMorfAnm[0]->isStop() && cM3d_IsZero(mMcaMorfAnm[0]->getPlaySpeed()) != false) {
- ret2 = 1;
- }
- if (ret2 && cM3d_IsZero_inverted(param_0)) {
- ret = 1;
- }
- return ret;
- case 3:
- break;
+ switch (mMcaMorfAnm[0]->getPlayMode()) {
+ case 2:
+ return mMcaMorfAnm[0]->isLoop();
+ case 0:
+ case 1:
+ return mMcaMorfAnm[0]->isStop() && cM3d_IsZero(mMcaMorfAnm[0]->getPlaySpeed()) &&
+ !cM3d_IsZero(param_0);
+ case 3:
+ case 4:
+ break;
}
return 0;
}
+#pragma pop
#else
#pragma push
#pragma optimization_level 0
@@ -1936,28 +1948,22 @@ asm int daNpcT_c::checkEndAnm(f32 param_0) {
/* 80148DD0-80148E4C 143710 007C+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFP12J3DFrameCtrlf */
// weird mr
#ifdef NONMATCHING
+#pragma push
+#pragma optimization_level 2
int daNpcT_c::checkEndAnm(J3DFrameCtrl* param_0, f32 param_1) {
- switch(param_0->getAttribute()) {
- case 2:
- return (param_0->getState() >> 1) & 1;
- case 0:
- case 1:
- bool ret;
- bool ret2;
- ret2 = ret = 0;
- if ((param_0->getState() & 1) && param_0->getRate() == 0.0f) {
- ret2 = 1;
- }
- if (ret2 && param_1 != 0.0f) {
- ret = 1;
- }
- return ret;
- case 3:
- break;
+ switch (param_0->getAttribute()) {
+ case 2:
+ return param_0->checkState(2);
+ case 0:
+ case 1:
+ return (param_0->checkState(1) || param_0->getRate() == 0.0f) && param_1 != 0.0f;
+ case 3:
+ break;
}
return 0;
}
+#pragma pop
#else
#pragma push
#pragma optimization_level 0
@@ -1970,6 +1976,112 @@ asm int daNpcT_c::checkEndAnm(J3DFrameCtrl* param_0, f32 param_1) {
#endif
/* 80148E4C-801490D4 14378C 0288+00 1/1 0/0 0/0 .text playAllAnm__8daNpcT_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void daNpcT_c::playAllAnm() {
+ if (!(field_0xd98 & 0x4000)) {
+ if (field_0xd98 & 0x400) {
+ f32 bck_speed = mBckAnm.getPlaySpeed();
+ if (field_0xd98 & 0x10) {
+ mBckAnm.setPlaySpeed(0.0f);
+ }
+
+ mBckAnm.play();
+
+ if (checkEndAnm(mBckAnm.getFrameCtrl(), bck_speed)) {
+ field_0xe20++;
+ }
+
+ mBckAnm.setPlaySpeed(bck_speed);
+ }
+
+ if (field_0xd98 & 0x800) {
+ f32 btp_speed = mBtpAnm.getPlaySpeed();
+ if (field_0xd98 & 0x20) {
+ mBtpAnm.setPlaySpeed(0.0f);
+
+ if (field_0xd98 & 0x2000) {
+ field_0xdc0 = func_8014D364(90, 90);
+ }
+ }
+
+ if (func_8014D348(&field_0xdc0) != 0) {
+ mBtpAnm.setPlaySpeed(0.0f);
+ }
+
+ mBtpAnm.play();
+
+ if (field_0xd98 & 0x2000) {
+ if (checkEndAnm(mBtpAnm.getFrameCtrl(), mBtpAnm.getPlaySpeed())) {
+ field_0xdc0 = func_8014D364(90, 90);
+ }
+ } else {
+ field_0xdc0 = 0;
+ }
+
+ mBtpAnm.setPlaySpeed(btp_speed);
+ }
+ }
+
+ if (field_0xd98 & 0x40) {
+ f32 morf_speed = mMcaMorfAnm[0]->getPlaySpeed();
+ if (field_0xd98 & 0x1) {
+ mMcaMorfAnm[0]->setPlaySpeed(0.0f);
+ mMcaMorfAnm[0]->play(field_0xda8, field_0xe24);
+ mMcaMorfAnm[0]->setPlaySpeed(morf_speed);
+
+ if (mMcaMorfAnm[1] != NULL) {
+ mMcaMorfAnm[1]->setPlaySpeed(0.0f);
+ mMcaMorfAnm[1]->play(0, 0);
+ mMcaMorfAnm[1]->setPlaySpeed(morf_speed);
+ }
+ } else {
+ mMcaMorfAnm[0]->play(field_0xda8, field_0xe24);
+
+ if (mMcaMorfAnm[1] != NULL) {
+ mMcaMorfAnm[1]->play(0, 0);
+ }
+
+ if (checkEndAnm(morf_speed)) {
+ field_0xe1e++;
+ }
+ }
+ }
+
+ if (field_0xd98 & 0x80) {
+ f32 btk_speed = mBtkAnm.getPlaySpeed();
+ if (field_0xd98 & 0x2) {
+ mBtkAnm.setPlaySpeed(0.0f);
+ }
+
+ ctrlBtk();
+ mBtkAnm.play();
+ mBtkAnm.setPlaySpeed(btk_speed);
+ }
+
+ if (field_0xd98 & 0x100) {
+ f32 brk_speed = mBrkAnm.getPlaySpeed();
+ if (field_0xd98 & 0x4) {
+ mBrkAnm.setPlaySpeed(0.0f);
+ }
+
+ mBrkAnm.play();
+ mBrkAnm.setPlaySpeed(brk_speed);
+ }
+
+ if (field_0xd98 & 0x200) {
+ f32 bpk_speed = mBpkAnm.getPlaySpeed();
+ if (field_0xd98 & 0x8) {
+ mBpkAnm.setPlaySpeed(0.0f);
+ }
+
+ mBpkAnm.play();
+ mBpkAnm.setPlaySpeed(bpk_speed);
+ }
+
+ field_0xd98 &= ~0x403F;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1978,6 +2090,7 @@ asm void daNpcT_c::playAllAnm() {
#include "asm/d/a/d_a_npc/playAllAnm__8daNpcT_cFv.s"
}
#pragma pop
+#endif
/* 801490D4-80149190 143A14 00BC+00 1/0 1/0 55/0 .text ctrlBtk__8daNpcT_cFv */
#pragma push
@@ -2018,8 +2131,8 @@ void daNpcT_c::ctrlFaceMotion() {
int l_int;
f32 l_float;
- if (field_0xb50.play(field_0xe20,&l_int,&l_float)) {
- setFaceMotionAnm(l_int,true);
+ if (field_0xb50.play(field_0xe20, &l_int, &l_float)) {
+ setFaceMotionAnm(l_int, true);
if (l_float < FLOAT_LABEL(lit_4116)) {
mMcaMorfAnm[0]->setMorf(field_0xa80);
@@ -2036,7 +2149,7 @@ void daNpcT_c::ctrlFaceMotion() {
mMcaMorfAnm[1]->setMorf(l_float);
}
}
- }
+ }
}
/* 80149300-801493B8 143C40 00B8+00 1/1 0/0 0/0 .text ctrlMotion__8daNpcT_cFv */
@@ -2047,14 +2160,14 @@ void daNpcT_c::ctrlMotion() {
int l_int2;
f32 l_float;
- if (field_0xb74.play(field_0xe1e,&l_int,&l_float)) {
+ if (field_0xb74.play(field_0xe1e, &l_int, &l_float)) {
l_int2 = 0;
if (l_float < 0.5f) {
l_int2 = 1;
}
-
- setMotionAnm(l_int,l_float < 0.0f ? field_0xa84 : l_float,l_int2);
+
+ setMotionAnm(l_int, l_float < 0.0f ? field_0xa84 : l_float, l_int2);
field_0xdfc = 0.0f;
@@ -2485,7 +2598,7 @@ asm void daNpcT_c::getActorDistance(fopAc_ac_c* param_0, int param_1, int param_
/* 8014BBF0-8014BC78 146530 0088+00 0/0 1/1 180/180 .text initTalk__8daNpcT_cFiPP10fopAc_ac_c */
int daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) {
- mFlow.init(this,param_0,0,param_1);
+ mFlow.init(this, param_0, 0, param_1);
field_0xdc8 = fopAcM_searchPlayerAngleY(this);
if (checkStep()) {
mStepNo = 0;
@@ -2493,7 +2606,7 @@ int daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) {
f32 tmp = FLOAT_LABEL(lit_4116);
speedF = tmp;
- speed.set(tmp,tmp,tmp);
+ speed.set(tmp, tmp, tmp);
return 1;
}
@@ -2555,14 +2668,14 @@ asm void daNpcT_c::getEvtAreaTagP(int param_0, int param_1) {
fopAc_ac_c* daNpcT_c::getShopItemTagP() {
mFindCount = 0;
mSrchName = 0x127;
- i_fpcM_Search((fopAcIt_JudgeFunc)srchActor,(void*)this);
+ i_fpcM_Search((fopAcIt_JudgeFunc)srchActor, (void*)this);
for (s32 i = 0; i < mFindCount; i++) {
if ((fopAcM_GetParam(mFindActorPtrs[i]) & 0xf0000000) == 0xf0000000) {
return mFindActorPtrs[i];
- }
+ }
}
-
+
return NULL;
}
@@ -2600,20 +2713,19 @@ SECTION_SDATA2 static f32 lit_7551 = 448.0f;
// matches with literals
#ifdef NONMATCHING
bool daNpcT_chkActorInScreen(fopAc_ac_c* i_ActorP, f32 param_1, f32 param_2, f32 param_3,
- f32 param_4, f32 param_5, f32 param_6, f32 param_7, int param_8) {
+ f32 param_4, f32 param_5, f32 param_6, f32 param_7, int param_8) {
cXyz proj;
cXyz pos_array[8];
if (fopAcM_GetMtx(i_ActorP)) {
- pos_array[0].set(param_1,param_5,param_3);
- pos_array[1].set(param_4,param_5,param_3);
- pos_array[2].set(param_1,param_5,param_6);
- pos_array[3].set(param_4,param_5,param_6);
- pos_array[4].set(param_1,param_2,param_3);
- pos_array[5].set(param_4,param_2,param_3);
- pos_array[6].set(param_1,param_2,param_6);
- pos_array[7].set(param_4,param_2,param_6);
-
+ pos_array[0].set(param_1, param_5, param_3);
+ pos_array[1].set(param_4, param_5, param_3);
+ pos_array[2].set(param_1, param_5, param_6);
+ pos_array[3].set(param_4, param_5, param_6);
+ pos_array[4].set(param_1, param_2, param_3);
+ pos_array[5].set(param_4, param_2, param_3);
+ pos_array[6].set(param_1, param_2, param_6);
+ pos_array[7].set(param_4, param_2, param_6);
mDoMtx_stack_c::copy(fopAcM_GetMtx(i_ActorP));
mDoMtx_stack_c::transM(0.0f, param_7, 0.0f);
@@ -2621,15 +2733,15 @@ bool daNpcT_chkActorInScreen(fopAc_ac_c* i_ActorP, f32 param_1, f32 param_2, f32
if (param_8) {
return false;
- }
+ }
for (int i = 0; i < 8; i++) {
- mDoLib_project(&pos_array[i],&proj);
+ mDoLib_project(&pos_array[i], &proj);
if (0.0f < proj.x && proj.x < 608.0f && 0.0f < proj.y && proj.y < 448.0f) {
continue;
}
return false;
}
-
+
return true;
}
@@ -2654,16 +2766,18 @@ BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3
cXyz diff;
mDoMtx_stack_c::YrotS(-param_3);
- mDoMtx_stack_c::transM(-param_1.x,-param_1.y,-param_1.z);
- mDoMtx_stack_c::multVec(&param_0,&l_pos);
+ mDoMtx_stack_c::transM(-param_1.x, -param_1.y, -param_1.z);
+ mDoMtx_stack_c::multVec(&param_0, &l_pos);
f32 l_float1 = fabsf(param_2.x);
f32 l_float2 = fabsf(param_2.z);
f32 l_float3 = fabsf(l_pos.x);
f32 l_float4 = fabsf(l_pos.z);
- if (param_4 != 0 && (!(FLOAT_LABEL(lit_4116) <= (diff = param_0 - param_1).y) || !(diff.y < param_2.y))) {
- ret = FALSE;
+ if (param_4 != 0 &&
+ (!(FLOAT_LABEL(lit_4116) <= (diff = param_0 - param_1).y) || !(diff.y < param_2.y)))
+ {
+ ret = FALSE;
} else {
f32 tmp1 = (l_float3 * l_float3) / (l_float1 * l_float1);
f32 tmp2 = (l_float4 * l_float4) / (l_float2 * l_float2);
@@ -2694,17 +2808,19 @@ bool daNpcT_chkDoBtnIsSpeak(fopAc_ac_c* i_ActorP) {
for (int i = 0; i < dComIfGp_getAttention().GetActionCount(); i++) {
if (dComIfGp_getAttention().ActionTarget(i) == i_ActorP &&
dComIfGp_getAttention().getActionBtnB() &&
- dComIfGp_getAttention().getActionBtnB()->mType == 3) {
- ret = 1;
- };
+ dComIfGp_getAttention().getActionBtnB()->mType == 3)
+ {
+ ret = 1;
+ };
}
for (int i = 0; i < dComIfGp_getAttention().GetLockonCount(); i++) {
if (dComIfGp_getAttention().LockonTarget(i) == i_ActorP &&
dComIfGp_getAttention().getActionBtnB() &&
- dComIfGp_getAttention().getActionBtnB()->mType == 1) {
- ret = 1;
- };
+ dComIfGp_getAttention().getActionBtnB()->mType == 1)
+ {
+ ret = 1;
+ };
}
}
}
@@ -2973,7 +3089,7 @@ bool daNpcT_c::getEyeballLMaterialNo() {
}
/* 8014D0B0-8014D0B8 1479F0 0008+00 1/0 1/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv
- */\
+ */
bool daNpcT_c::getEyeballRMaterialNo() {
return false;
}
@@ -3042,7 +3158,7 @@ asm daNpcT_MatAnm_c::~daNpcT_MatAnm_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-extern "C" asm void func_8014D32C(void* _this, s16* param_0) {
+extern "C" asm s16 func_8014D32C(s16* param_0) {
nofralloc
#include "asm/d/a/d_a_npc/func_8014D32C.s"
}
@@ -3052,7 +3168,7 @@ extern "C" asm void func_8014D32C(void* _this, s16* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-extern "C" asm void func_8014D348(void* _this) {
+extern "C" asm int func_8014D348(int*) {
nofralloc
#include "asm/d/a/d_a_npc/func_8014D348.s"
}
@@ -3062,7 +3178,7 @@ extern "C" asm void func_8014D348(void* _this) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-extern "C" asm void func_8014D364(void* _this, int param_0, int param_1) {
+extern "C" asm int func_8014D364(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_npc/func_8014D364.s"
}
@@ -3081,8 +3197,7 @@ COMPILER_STRIP_GATE(0x80392680, &daNpcT_c::mCcDObjData);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void __sinit_d_a_npc_cpp() {
- nofralloc
+asm void __sinit_d_a_npc_cpp(){nofralloc
#include "asm/d/a/d_a_npc/__sinit_d_a_npc_cpp.s"
}
#pragma pop
@@ -3092,19 +3207,23 @@ asm void __sinit_d_a_npc_cpp() {
REGISTER_CTORS(0x8014D3D8, __sinit_d_a_npc_cpp);
#pragma pop
+/**
+ * From here to `__dt__18daBaseNpc_acMngr_cFv` is supposed to be d_a_npc2.cpp
+ * according to the debug rom OSPanic reports
+ */
+
/* 8014D538-8014D584 147E78 004C+00 2/2 0/0 0/0 .text daBaseNpc_addIdx__FiiPUsi */
static int daBaseNpc_addIdx(int param_0, int param_1, u16* param_2, int param_3) {
int tmp = *param_2;
int ret;
-
+
ret = 0;
tmp += param_0;
if (param_1 <= tmp) {
if (param_3 != 0) {
tmp -= param_1 * (tmp / param_1);
- }
- else {
+ } else {
tmp = param_1 != 0 ? param_1 - 1 : 0;
ret = 1;
}
@@ -3118,15 +3237,14 @@ static int daBaseNpc_addIdx(int param_0, int param_1, u16* param_2, int param_3)
static int daBaseNpc_subIdx(int param_0, int param_1, u16* param_2, int param_3) {
int tmp = *param_2;
int ret;
-
+
ret = 0;
tmp -= param_0;
if (tmp <= 0) {
if (param_3 != 0) {
tmp += param_1 * (tmp / param_1 + 1);
- }
- else {
+ } else {
tmp = 0;
ret = 1;
}
@@ -3139,18 +3257,20 @@ static int daBaseNpc_subIdx(int param_0, int param_1, u16* param_2, int param_3)
/* 8014D5C4-8014D620 147F04 005C+00 2/2 0/0 0/0 .text daBaseNpc_incIdx__FiPUsii */
static void daBaseNpc_incIdx(int i_pathNo, u16* i_pathIdx, int i_pathClosed, int i_pathDirection) {
if (i_pathDirection < 0) {
- daBaseNpc_subIdx(1,i_pathNo,i_pathIdx,i_pathClosed);
+ daBaseNpc_subIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
} else {
- daBaseNpc_addIdx(1,i_pathNo,i_pathIdx,i_pathClosed);;
+ daBaseNpc_addIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
+ ;
}
}
/* 8014D620-8014D67C 147F60 005C+00 1/1 0/0 0/0 .text daBaseNpc_decIdx__FiPUsii */
static void daBaseNpc_decIdx(int i_pathNo, u16* i_pathIdx, int i_pathClosed, int i_pathDirection) {
if (i_pathDirection < 0) {
- daBaseNpc_addIdx(1,i_pathNo,i_pathIdx,i_pathClosed);
+ daBaseNpc_addIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
} else {
- daBaseNpc_subIdx(1,i_pathNo,i_pathIdx,i_pathClosed);;
+ daBaseNpc_subIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
+ ;
}
}
@@ -3216,23 +3336,24 @@ BOOL daBaseNpc_path_c::isPath() {
/* 8014D9BC-8014DA48 1482FC 008C+00 0/0 0/0 1/1 .text setPathInfo__16daBaseNpc_path_cFUcScSc */
static asm int daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3,
- int param_4);
+ int param_4);
int daBaseNpc_path_c::setPathInfo(u8 i_pathIdx, s8 i_roomNo, s8 i_direction) {
dPath* room_path;
-
+
mpRoomPath = 0;
mIdx = 0;
mDirection = i_direction;
if (i_pathIdx != 0xFF) {
- mpRoomPath = dPath_GetRoomPath(i_pathIdx,i_roomNo);
+ mpRoomPath = dPath_GetRoomPath(i_pathIdx, i_roomNo);
room_path = mpRoomPath;
if (!room_path) {
return 0;
}
int isClosed = dPath_ChkClose(room_path);
- field_0xa0e = daBaseNpc_putNurbs((dPnt*)room_path->m_points,room_path->m_num,0xA0, (dPnt*)field_0xc, isClosed);
+ field_0xa0e = daBaseNpc_putNurbs((dPnt*)room_path->m_points, room_path->m_num, 0xA0,
+ (dPnt*)field_0xc, isClosed);
}
return isPath();
}
@@ -3246,7 +3367,8 @@ void daBaseNpc_path_c::reverseDir() {
/* 8014DA64-8014DAC4 1483A4 0060+00 0/0 0/0 3/3 .text chkPnt__16daBaseNpc_path_cF4cXyz */
s32 daBaseNpc_path_c::chkPnt(cXyz i_pos) {
- return daBaseNpc_chkPnt(i_pos, (dPnt*)mpRoomPath->m_points, mIdx, mpRoomPath->m_num, dPath_ChkClose(mpRoomPath), mDirection);
+ return daBaseNpc_chkPnt(i_pos, (dPnt*)mpRoomPath->m_points, mIdx, mpRoomPath->m_num,
+ dPath_ChkClose(mpRoomPath), mDirection);
}
/* 8014DAC4-8014DB04 148404 0040+00 0/0 0/0 3/3 .text setNextPnt__16daBaseNpc_path_cFv */
@@ -3274,12 +3396,10 @@ void daBaseNpc_lookat_c::limitter(s16 param_1, s16* param_2, s16 param_3, s16 pa
int tmp = param_1;
int tmp2 = tmp + *param_2;
-
if (param_3 < tmp2) {
if (tmp < param_3) {
*param_2 -= tmp2 - param_3;
- }
- else {
+ } else {
*param_2 = 0;
}
}
@@ -3292,7 +3412,7 @@ void daBaseNpc_lookat_c::limitter(s16 param_1, s16* param_2, s16 param_3, s16 pa
if (param_4 < param_1) {
*param_2 -= (int)(tmp - param_4);
- return;
+ return;
}
*param_2 = 0;
@@ -3317,7 +3437,7 @@ asm void daBaseNpc_lookat_c::calc(fopAc_ac_c* param_0, f32 (*param_1)[4], s16 pa
#pragma pop
/* 8014E634-8014E658 148F74 0024+00 0/0 0/0 1/1 .text setMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi
- */
+ */
void daBaseNpc_lookat_c::setMaxJntLmt(csXyz i_pos, int i_modifier) {
mMaxJntLmt[i_modifier].x = i_pos.x;
mMaxJntLmt[i_modifier].y = i_pos.y;
@@ -3325,7 +3445,7 @@ void daBaseNpc_lookat_c::setMaxJntLmt(csXyz i_pos, int i_modifier) {
}
/* 8014E658-8014E67C 148F98 0024+00 0/0 0/0 1/1 .text setMinJntLmt__18daBaseNpc_lookat_cF5csXyzi
-*/
+ */
void daBaseNpc_lookat_c::setMinJntLmt(csXyz i_pos, int i_modifier) {
mMinJntLmt[i_modifier].x = i_pos.x;
mMinJntLmt[i_modifier].y = i_pos.y;
@@ -3397,7 +3517,7 @@ bool daBaseNpc_c::getResName() {
/* 8014EE44-8014EE80 149784 003C+00 0/0 0/0 2/2 .text getTrnsfrmKeyAnmP__11daBaseNpc_cFPci */
J3DAnmTransform* daBaseNpc_c::getTrnsfrmKeyAnmP(char* param_0, int param_1) {
- return (J3DAnmTransform*)dComIfG_getObjectRes(param_0,param_1);
+ return (J3DAnmTransform*)dComIfG_getObjectRes(param_0, param_1);
}
/* 8014EE80-8014EEE4 1497C0 0064+00 0/0 0/0 1/1 .text
@@ -3415,20 +3535,20 @@ asm void daBaseNpc_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f3
/* 8014EEE4-8014EF28 149824 0044+00 0/0 0/0 1/1 .text
* setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib */
void daBaseNpc_c::setBckAnm(J3DAnmTransform* param_0, f32 param_1, int param_2, int param_3,
- int param_4, bool param_5) {
- mBckAnm.init(param_0,1,param_2,param_1,param_3,param_4,param_5);
+ int param_4, bool param_5) {
+ mBckAnm.init(param_0, 1, param_2, param_1, param_3, param_4, param_5);
}
/* 8014EF28-8014EF64 149868 003C+00 0/0 0/0 1/1 .text getTexPtrnAnmP__11daBaseNpc_cFPci
*/
J3DAnmTransform* daBaseNpc_c::getTexPtrnAnmP(char* param_0, int param_1) {
- return (J3DAnmTransform*)dComIfG_getObjectRes(param_0,param_1);
+ return (J3DAnmTransform*)dComIfG_getObjectRes(param_0, param_1);
}
/* 8014EF64-8014EFA4 1498A4 0040+00 0/0 0/0 1/1 .text
* setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi */
- void daBaseNpc_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2,
- int param_3) {
+void daBaseNpc_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2,
+ int param_3) {
mBtpAnm.init(&param_1->getMaterialTable(), param_0, 1, param_3, param_2, 0, -1);
}
@@ -3438,9 +3558,8 @@ void daBaseNpc_c::attnSttsOn(int param_0, int param_1) {
if (dComIfGp_getLinkPlayer()->i_checkWolf()) {
if (param_1 != 0) {
- tmp = 10;
- }
- else {
+ tmp = 10;
+ } else {
tmp = 1;
}
} else if (param_0 != 0) {
@@ -3460,11 +3579,12 @@ void daBaseNpc_c::setParam() {
/* 8014EFF4-8014F09C 149934 00A8+00 0/0 0/0 1/1 .text orderEvent__11daBaseNpc_cFiPc */
void daBaseNpc_c::orderEvent(int param_0, char* i_evtName) {
if (i_evtName) {
- mEvtIdx = i_dComIfGp_getEventManager().getEventIdx(this,i_evtName,-1);
+ mEvtIdx = i_dComIfGp_getEventManager().getEventIdx(this, i_evtName, -1);
fopAcM_orderOtherEventId(this, mEvtIdx, -1, -1, 0, 1);
} else {
- if ((mUnk >= 0 && mAttentionInfo.mFlags == 10) && (mEvtInfo.mCondition |= 1,param_0 != 0)) {
- fopAcM_orderSpeakEvent(this,0,0);
+ if ((mUnk >= 0 && mAttentionInfo.mFlags == 10) && (mEvtInfo.mCondition |= 1, param_0 != 0))
+ {
+ fopAcM_orderSpeakEvent(this, 0, 0);
}
}
}
@@ -3495,19 +3615,19 @@ bool daBaseNpc_c::btkCtrl() {
// weird condition mr
#ifdef NONMATCHING
int daBaseNpc_c::checkEndAnm(f32 param_0) {
- switch(mMcaMorfAnm[0]->getPlayMode()) {
- case 2:
- return mMcaMorfAnm[0]->isLoop();
- case 0:
- case 1:
- bool state = false;
-
- if (mMcaMorfAnm[0]->isStop() && param_0 != mMcaMorfAnm[0]->getPlaySpeed()) {
- state = true;
- }
- return state;
- case 3:
- break;
+ switch (mMcaMorfAnm[0]->getPlayMode()) {
+ case 2:
+ return mMcaMorfAnm[0]->isLoop();
+ case 0:
+ case 1:
+ bool state = false;
+
+ if (mMcaMorfAnm[0]->isStop() && param_0 != mMcaMorfAnm[0]->getPlaySpeed()) {
+ state = true;
+ }
+ return state;
+ case 3:
+ break;
}
return 0;
@@ -3544,7 +3664,6 @@ int daBaseNpc_c::checkEndAnm(J3DFrameCtrl* param_0) {
}
return 0;
-
}
#else
#pragma push
@@ -3575,7 +3694,8 @@ void daBaseNpc_c::adjustShapeAngle() {
/* 8014F390-8014F4A0 149CD0 0110+00 2/0 0/0 1/0 .text setMtx__11daBaseNpc_cFi */
void daBaseNpc_c::setMtx(int param_0) {
- J3DModel* model = mMcaMorfAnm[0]->getModel();;
+ J3DModel* model = mMcaMorfAnm[0]->getModel();
+ ;
J3DModelData* modelData = model->getModelData();
mDoMtx_stack_c::transS(current.pos);
@@ -3594,19 +3714,19 @@ void daBaseNpc_c::setMtx(int param_0) {
u16 tmp = 0;
while (field_0x83c[tmp] != 0xffff) {
- mBckAnm.entryJoint(modelData,field_0x83c[tmp],mBckAnm.getFrame());
+ mBckAnm.entryJoint(modelData, field_0x83c[tmp], mBckAnm.getFrame());
tmp++;
}
-
+
mMcaMorfAnm[0]->modelCalc();
u16 tmp2 = 0;
while (field_0x83c[tmp2] != 0xffff) {
- mBckAnm.removeJoint(modelData,field_0x83c[tmp2]);
+ mBckAnm.removeJoint(modelData, field_0x83c[tmp2]);
tmp2++;
}
-
+
} else {
mMcaMorfAnm[0]->modelCalc();
}
@@ -3721,7 +3841,7 @@ static asm void daBaseNpc_PntVsLineSegmentLengthSquare2D(f32 param_0, f32 param_
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3,
- int param_4) {
+ int param_4) {
nofralloc
#include "asm/d/a/d_a_npc/daBaseNpc_putNurbs__FP4dPntiiP4dPnti.s"
}
@@ -3732,7 +3852,7 @@ static asm int daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt*
#pragma optimization_level 0
#pragma optimizewithasm off
static asm s32 daBaseNpc_chkPnt(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4,
- int param_5) {
+ int param_5) {
nofralloc
#include "asm/d/a/d_a_npc/daBaseNpc_chkPnt__F4cXyzP4dPntUsUsii.s"
}
@@ -3835,6 +3955,11 @@ asm daBaseNpc_acMngr_c::~daBaseNpc_acMngr_c() {
}
#pragma pop
+/**
+ * From here until end? is supposed to be d_a_npc4.cpp
+ * according to debug rom OSPanic reports
+ */
+
/* 8015056C-801505AC 14AEAC 0040+00 2/2 0/0 0/0 .text daNpcF_addIdx__FiiRUsi */
// may be able to simplify this more
static int daNpcF_addIdx(int param_0, int param_1, u16& param_2, int param_3) {
@@ -3856,9 +3981,6 @@ static int daNpcF_addIdx(int param_0, int param_1, u16& param_2, int param_3) {
return tmp;
}
-
-
-
/* 801505AC-801505F8 14AEEC 004C+00 2/2 0/0 0/0 .text daNpcF_subIdx__FiiRUsi */
// may be able to simplify this more
static int daNpcF_subIdx(int param_0, int param_1, u16& param_2, int param_3) {
@@ -3874,7 +3996,7 @@ static int daNpcF_subIdx(int param_0, int param_1, u16& param_2, int param_3) {
int tmp5 = param_0 / param_1;
tmp2 = param_0 - (tmp5 * param_1);
-
+
} else {
tmp2 = 0;
tmp = 1;
@@ -3887,17 +4009,19 @@ static int daNpcF_subIdx(int param_0, int param_1, u16& param_2, int param_3) {
/* 801505F8-80150654 14AF38 005C+00 4/4 0/0 0/0 .text daNpcF_incIdx__FiRUsii */
static int daNpcF_incIdx(int param_0, u16& param_1, int param_2, int param_3) {
- return param_3 ? daNpcF_subIdx(1,param_0,param_1,param_2) : daNpcF_addIdx(1,param_0,param_1,param_2);
+ return param_3 ? daNpcF_subIdx(1, param_0, param_1, param_2) :
+ daNpcF_addIdx(1, param_0, param_1, param_2);
}
/* 80150654-801506B0 14AF94 005C+00 3/3 0/0 0/0 .text daNpcF_decIdx__FiRUsii */
static int daNpcF_decIdx(int param_0, u16& param_1, int param_2, int param_3) {
- return param_3 ? daNpcF_addIdx(1,param_0,param_1,param_2) : daNpcF_subIdx(1,param_0,param_1,param_2);
+ return param_3 ? daNpcF_addIdx(1, param_0, param_1, param_2) :
+ daNpcF_subIdx(1, param_0, param_1, param_2);
}
/* 801506B0-801506BC 14AFF0 000C+00 0/0 0/0 130/130 .text initialize__18daNpcF_ActorMngr_cFv */
void daNpcF_ActorMngr_c::initialize() {
- mActorID = -1;
+ mActorID = -1;
}
/* 801506BC-801506D8 14AFFC 001C+00 1/1 0/0 130/130 .text
@@ -3916,7 +4040,7 @@ void daNpcF_ActorMngr_c::entry(unsigned int i_actorID) {
/* 801506E0-801506EC 14B020 000C+00 2/2 0/0 55/55 .text remove__18daNpcF_ActorMngr_cFv */
void daNpcF_ActorMngr_c::remove() {
- mActorID = -1;
+ mActorID = -1;
}
/* 801506EC-80150738 14B02C 004C+00 1/1 0/0 135/135 .text getActorP__18daNpcF_ActorMngr_cFv */
@@ -3951,16 +4075,19 @@ void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const {
for (u32 i = 0; i < 8; i++) {
if (J3DMaterialAnm::getTexMtxAnm(i).getAnmFlag()) {
- J3DTexMtxInfo* curr_mtx_info = &param_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo();
+ J3DTexMtxInfo* curr_mtx_info =
+ &param_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo();
if (field_0x105 != 0) {
f32 tmp8 = 1.0f / (field_0x105 + 1);
f32 tmp9 = (1.0f - tmp8);
f32 tmp10 = field_0xF4 * (1.0f - tmp8);
- curr_mtx_info->mSRT.mTranslationX = tmp10 + curr_mtx_info->mSRT.mTranslationX * tmp8;
- curr_mtx_info->mSRT.mTranslationY = field_0xF8 * tmp9 + curr_mtx_info->mSRT.mTranslationY * tmp8;
-
+ curr_mtx_info->mSRT.mTranslationX =
+ tmp10 + curr_mtx_info->mSRT.mTranslationX * tmp8;
+ curr_mtx_info->mSRT.mTranslationY =
+ field_0xF8 * tmp9 + curr_mtx_info->mSRT.mTranslationY * tmp8;
+
} else {
if (mEyeMoveFlag != 0) {
curr_mtx_info->mSRT.mTranslationX = mNowOffsetX;
@@ -3993,9 +4120,9 @@ void daNpcF_SPCurve_c::initialize(dPath* i_path, int param_1) {
field_0x02 = 0;
field_0x04 = param_1;
mIsClosed = 0;
- f32 lit = 1.0f; // correct to lit_4116 later
+ f32 lit = 1.0f; // correct to lit_4116 later
- for (int i = 0; i < 96; i++) {
+ for (int i = 0; i < 96; i++) {
mPoints[i].m_position.x = lit;
mPoints[i].m_position.y = lit;
mPoints[i].m_position.z = lit;
@@ -4003,7 +4130,8 @@ void daNpcF_SPCurve_c::initialize(dPath* i_path, int param_1) {
if (i_path) {
mIsClosed = i_path->m_closed & 1;
- mNurbs = daNpcF_putNurbs((dPnt*)i_path->m_points,i_path->m_num, 0x60, (dPnt*)mPoints,mIsClosed);
+ mNurbs = daNpcF_putNurbs((dPnt*)i_path->m_points, i_path->m_num, 0x60, (dPnt*)mPoints,
+ mIsClosed);
}
}
#else
@@ -4024,7 +4152,7 @@ void daNpcF_Path_c::initialize() {
mIsClosed = 0;
mpRoomPath = 0;
- mSPCurve.initialize(0,0);
+ mSPCurve.initialize(0, 0);
f32 value = FLOAT_LABEL(lit_4116);
field_0x08 = value;
@@ -4040,11 +4168,11 @@ int daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) {
dStage_dPnt_c point;
if (param_0 != 0xFF) {
- mpRoomPath = dPath_GetRoomPath(param_0,param_1);
+ mpRoomPath = dPath_GetRoomPath(param_0, param_1);
if (!mpRoomPath) {
return 0;
}
- mSPCurve.initialize(mpRoomPath,field_0x02);
+ mSPCurve.initialize(mpRoomPath, field_0x02);
mIsClosed = mpRoomPath->m_closed & 1;
u16 idx;
mPosition = getPntPos(idx = mIdx);
@@ -4055,10 +4183,11 @@ int daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) {
/* 80150A24-80150A7C 14B364 0058+00 1/1 0/0 1/1 .text chkPassed__13daNpcF_Path_cF4cXyz */
// forward decleration
int daNpcF_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4,
- int param_5);
+ int param_5);
int daNpcF_Path_c::chkPassed(cXyz param_0) {
- return daNpcF_chkPassed(param_0, (dPnt*)mpRoomPath->m_points,mIdx,mpRoomPath->m_num,(int)mIsClosed,(int)field_0x02);
+ return daNpcF_chkPassed(param_0, (dPnt*)mpRoomPath->m_points, mIdx, mpRoomPath->m_num,
+ (int)mIsClosed, (int)field_0x02);
}
/* 80150A7C-80150BBC 14B3BC 0140+00 0/0 0/0 4/4 .text chkPassedDst__13daNpcF_Path_cF4cXyz
@@ -4131,8 +4260,10 @@ int daNpcF_Path_c::getDstPos(cXyz i_pos1, cXyz& i_pos2) {
while (ret == 0) {
int curr_index;
i_pos2 = getPntPos(curr_index = getIdx());
-
- if (!chkPassed(i_pos1)) { break; };
+
+ if (!chkPassed(i_pos1)) {
+ break;
+ };
if (setNextIdx()) {
ret = 1;
@@ -4179,8 +4310,8 @@ SECTION_SDATA2 static f32 lit_9971 = 32.0f;
* setParam__15daNpcF_Lookat_cFffffffffffffsP4cXyz */
#ifdef NONMATCHING
void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
- f32 param_5, f32 param_6, f32 param_7, f32 param_8, f32 param_9,
- f32 param_10, f32 param_11, s16 param_12, cXyz* param_13) {
+ f32 param_5, f32 param_6, f32 param_7, f32 param_8, f32 param_9,
+ f32 param_10, f32 param_11, s16 param_12, cXyz* param_13) {
static cXyz vec(0.0f, 0.0f, 32.0f);
field_0x00[0] = param_13[0];
@@ -4227,7 +4358,7 @@ asm void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 pa
* calc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fPP5csXyziii */
#ifdef NONMATCHING
void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, Mtx baseTransformMtx, csXyz** param_2, int param_3,
- int param_4, int debug) {
+ int param_4, int debug) {
cXyz local_a4[4];
csXyz local_bc[4];
cXyz local_c8;
@@ -4237,7 +4368,7 @@ void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, Mtx baseTransformMtx, csXyz** pa
if (mAttnPos) {
initCalc(param_0, baseTransformMtx, local_a4, local_bc, local_d8, local_c8, debug);
-
+
for (int i = 2; i >= -1; i--) {
update(local_a4, local_bc, local_d8);
if (0 <= i) {
@@ -4250,7 +4381,7 @@ void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, Mtx baseTransformMtx, csXyz** pa
clrRotAngle();
}
- int i,j;
+ int i, j;
for (i = 2, j = 1; i >= 0; i--, j++) {
if (param_3) {
*(param_2[i]) = mRotAngle[i];
@@ -4329,7 +4460,7 @@ SECTION_SDATA2 static f32 lit_10253 = 63.0f / 100.0f;
#ifdef NONMATCHING
// matches except literals
void daNpcF_Lookat_c::initCalc(fopAc_ac_c* actor, Mtx baseTransformMtx, cXyz* param_2,
- csXyz* param_3, f32* param_4, cXyz& param_5, int debug) {
+ csXyz* param_3, f32* param_4, cXyz& param_5, int debug) {
Mtx mtx;
cXyz local_90;
cMtx_copy(baseTransformMtx, mtx);
@@ -4475,7 +4606,9 @@ BOOL daNpcF_c::execute() {
field_0x9ef = 0;
field_0x9f3 = 0;
for (int i = 0; i < 5; i++) {
- if ((field_0x938 == 0 || field_0x934 != i) && field_0x93c[i] != 0 && cLib_calcTimer(&field_0x93c[i]) == 0) {
+ if ((field_0x938 == 0 || field_0x934 != i) && field_0x93c[i] != 0 &&
+ cLib_calcTimer(&field_0x93c[i]) == 0)
+ {
field_0x82c[i].remove();
}
}
@@ -4568,7 +4701,9 @@ BOOL daNpcF_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3,
mBrkAnm.remove(modelData);
}
- field_0x9a0 = dComIfGd_setShadow(field_0x9a0, true, model, &current.pos, param_2, 20.0f, current.pos.y, field_0x980, field_0xa44, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
+ field_0x9a0 = dComIfGd_setShadow(field_0x9a0, true, model, &current.pos, param_2, 20.0f,
+ current.pos.y, field_0x980, field_0xa44, &mTevStr, 0,
+ 1.0f, dDlst_shadowControl_c::getSimpleTex());
drawOtherMdls();
}
@@ -4690,7 +4825,7 @@ J3DAnmTevRegKey* daNpcF_c::getTevRegKeyAnmP(char* arcName, int fileIdx) {
#ifdef NONMATCHING
// literals
BOOL daNpcF_c::setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr,
- int i_start, int i_end) {
+ int i_start, int i_end) {
mMcaMorf->setAnm(i_anm, i_attr, i_morf, i_rate, (f32)i_start, (f32)i_end);
return true;
}
@@ -4708,29 +4843,29 @@ asm BOOL daNpcF_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 p
/* 80152C80-80152CC4 14D5C0 0044+00 0/0 0/0 25/25 .text
* setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib */
-BOOL daNpcF_c::setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start,
- int i_end, bool i_modify) {
+BOOL daNpcF_c::setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start, int i_end,
+ bool i_modify) {
return mBckAnm.init(i_bck, true, i_attr, i_rate, (s16)i_start, (s16)i_end, i_modify);
}
/* 80152CC4-80152D04 14D604 0040+00 0/0 0/0 32/32 .text
* setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi */
BOOL daNpcF_c::setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate,
- int i_attr) {
+ int i_attr) {
return mBtpAnm.init(i_modelData, i_btp, true, i_attr, i_rate, 0, -1);
}
/* 80152D04-80152D44 14D644 0040+00 0/0 0/0 26/26 .text
* setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi */
BOOL daNpcF_c::setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate,
- int i_attr) {
+ int i_attr) {
return mBtkAnm.init(i_modelData, i_btk, true, i_attr, i_rate, 0, -1);
}
/* 80152D44-80152D84 14D684 0040+00 0/0 0/0 2/2 .text
* setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi */
BOOL daNpcF_c::setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate,
- int i_attr) {
+ int i_attr) {
return mBrkAnm.init(i_modelData, i_brk, true, i_attr, i_rate, 0, -1);
}
@@ -4758,22 +4893,22 @@ asm void daNpcF_c::setRoomNo() {
#ifdef NONMATCHING
BOOL daNpcF_c::chkEndAnm(f32 param_0) {
switch (mMcaMorf->getPlayMode()) {
- case 2:
- return mMcaMorf->isLoop();
- case 0:
- case 1:
- bool b = false;
- bool ret = false;
- if (mMcaMorf->isStop() && mMcaMorf->getPlaySpeed() == 0.0f) {
- b = true;
- }
- if (b && param_0 != 0.0f) {
- ret = true;
- }
- return ret;
- case 3:
- default:
- return false;
+ case 2:
+ return mMcaMorf->isLoop();
+ case 0:
+ case 1:
+ bool b = false;
+ bool ret = false;
+ if (mMcaMorf->isStop() && mMcaMorf->getPlaySpeed() == 0.0f) {
+ b = true;
+ }
+ if (b && param_0 != 0.0f) {
+ ret = true;
+ }
+ return ret;
+ case 3:
+ default:
+ return false;
}
}
#else
@@ -4792,27 +4927,28 @@ asm BOOL daNpcF_c::chkEndAnm(f32 param_0) {
* Check whether an animation has ended or looped.
* @param frameCtrl The frame controller for the animation.
* @param prevRate The previous rate of animation.
- * @return `true` if the animation has just stopped or just looped, `false` otherwise. Returns `false` if the animation is two-way (attribute 3 or 4).
+ * @return `true` if the animation has just stopped or just looped, `false` otherwise. Returns
+ * `false` if the animation is two-way (attribute 3 or 4).
*/
#ifdef NONMATCHING
BOOL daNpcF_c::chkEndAnm(J3DFrameCtrl* frameCtrl, f32 prevRate) {
switch (frameCtrl->getAttribute()) {
- case 2:
- return (frameCtrl->getState() >> 1) & 1;
- case 0:
- case 1:
- bool b = false;
- bool ret = false;
- if (frameCtrl->getState() & 1 && frameCtrl->getRate() == 0.0f) {
- b = true;
- }
- if (b && prevRate != 0.0f) {
- ret = true;
- }
- return ret;
- case 3:
- default:
- return false;
+ case 2:
+ return (frameCtrl->getState() >> 1) & 1;
+ case 0:
+ case 1:
+ bool b = false;
+ bool ret = false;
+ if (frameCtrl->getState() & 1 && frameCtrl->getRate() == 0.0f) {
+ b = true;
+ }
+ if (b && prevRate != 0.0f) {
+ ret = true;
+ }
+ return ret;
+ case 3:
+ default:
+ return false;
}
}
#else
@@ -4910,7 +5046,7 @@ asm BOOL daNpcF_c::playAllAnm() {
/* 80153150-80153264 14DA90 0114+00 0/0 0/0 25/25 .text
* playExpressionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData */
-/**
+/**
* Set the expression animation.
* @param anm The animation data, a two-dimensional array of data pointers, indexed first by
* the expression index and second by the expression phase. Each piece of data consists of
@@ -4924,7 +5060,9 @@ void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) {
playData = anm[mExpression][mExpressionPhase];
}
if (playData != NULL) {
- if (mExpressionPrevPhase == mExpressionPhase && playData->numLoops > 0 && playData->numLoops <= mExpressionLoops) {
+ if (mExpressionPrevPhase == mExpressionPhase && playData->numLoops > 0 &&
+ playData->numLoops <= mExpressionLoops)
+ {
mExpressionPhase++;
playData = anm[mExpression][mExpressionPhase];
}
@@ -4953,7 +5091,7 @@ asm void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) {
/* 80153264-8015337C 14DBA4 0118+00 0/0 0/0 37/37 .text
* playMotionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData */
-/**
+/**
* Set the motion animation.
* @param anm The animation data, a two-dimensional array of data pointers, indexed first by
* the motion index and second by the motion phase. Each piece of data consists of
@@ -4967,7 +5105,9 @@ void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) {
playData = anm[mMotion][mMotionPhase];
}
if (playData != NULL) {
- if (mMotionPrevPhase == mMotionPhase && playData->numLoops > 0 && playData->numLoops <= motionLoops) {
+ if (mMotionPrevPhase == mMotionPhase && playData->numLoops > 0 &&
+ playData->numLoops <= motionLoops)
+ {
mMotionPhase++;
playData = anm[mMotion][mMotionPhase];
}
@@ -4999,7 +5139,8 @@ asm void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) {
* Compute the animation matrix for one of the "lookat" joints (lower body, upper body, head).
* This matrix is applied to the matrix in `mDoMtx_stack_c::now`.
* @param jointNo The index of the joint in question.
- * @param jointList An array of the three indices of the joints for the lower body, the upper body, and the head.
+ * @param jointList An array of the three indices of the joints for the lower body, the upper body,
+ * and the head.
* @param param_2 Unknown.
*/
#ifdef NONMATCHING
@@ -5187,14 +5328,16 @@ BOOL daNpcF_c::chkActorInArea(fopAc_ac_c* actor, cXyz center, cXyz box, s16 angY
mDoMtx_stack_c::YrotS(-angY);
mDoMtx_stack_c::transM(-center.x, -center.y, -center.z);
mDoMtx_stack_c::multVec(&actor->current.pos, &relPos);
-
+
f32 boxX = fabsf(box.x);
f32 boxZ = fabsf(box.z);
f32 posX = fabsf(relPos.x);
f32 posZ = fabsf(relPos.z);
disp = center - actor->current.pos;
-
- if ((posX * posX) / (boxX * boxX) + (posZ * posZ) / (boxZ * boxZ) <= 1.0f && -box.y < disp.y && disp.y < box.y) {
+
+ if ((posX * posX) / (boxX * boxX) + (posZ * posZ) / (boxZ * boxZ) <= 1.0f && -box.y < disp.y &&
+ disp.y < box.y)
+ {
ret = true;
}
@@ -5253,10 +5396,10 @@ asm BOOL daNpcF_c::chkActorInAttnArea(fopAc_ac_c* actorCheck, fopAc_ac_c* actorA
/* 80153D1C-80153D84 14E65C 0068+00 0/0 0/0 118/118 .text initTalk__8daNpcF_cFiPP10fopAc_ac_c */
int daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) {
- mFlow.init(this,param_0,0,param_1);
+ mFlow.init(this, param_0, 0, param_1);
f32 tmp = FLOAT_LABEL(lit_4116);
speedF = tmp;
- speed.set(tmp,tmp,tmp);
+ speed.set(tmp, tmp, tmp);
field_0x9e9 = 0;
field_0x9ec = 0;
return 1;
@@ -5303,10 +5446,10 @@ asm void daNpcF_c::setAngle(s16 param_0) {
#pragma pop
/* 80154278-801542A0 14EBB8 0028+00 0/0 0/0 36/36 .text getDistTableIdx__8daNpcF_cFii */
-u8 daNpcF_getDistTableIdx(int param_0, int param_1); //fwd dec to get a match
+u8 daNpcF_getDistTableIdx(int param_0, int param_1); // fwd dec to get a match
u8 daNpcF_c::getDistTableIdx(int param_0, int param_1) {
- return daNpcF_getDistTableIdx(param_0,param_1);
+ return daNpcF_getDistTableIdx(param_0, param_1);
}
/* 801542A0-8015436C 14EBE0 00CC+00 0/0 0/0 6/6 .text getEvtAreaTagP__8daNpcF_cFii */
@@ -5314,7 +5457,7 @@ u8 daNpcF_c::getDistTableIdx(int param_0, int param_1) {
fopAc_ac_c* daNpcF_c::getEvtAreaTagP(int param_0, int param_1) {
mFindCount = 0;
mSrchActorName = PROC_TAG_EVTAREA;
- fpcM_Search((fpcLyIt_JudgeFunc)this->srchActor,(void*)this);
+ fpcM_Search((fpcLyIt_JudgeFunc)this->srchActor, (void*)this);
for (int i = 0; mFindCount >= 0; mFindCount--) {
if (param_0 == mFindActorPList[i] && param_1 == mFindActorPList[i]) {
@@ -5343,8 +5486,8 @@ SECTION_SDATA2 static f32 lit_11605 = 450.0f;
*/
#ifdef NONMATCHING
fopAc_ac_c* daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*), f32 param_2,
- f32 param_3, f32 param_4, f32 param_5, s16 param_6, int param_7,
- int param_8) {
+ f32 param_3, f32 param_4, f32 param_5, s16 param_6, int param_7,
+ int param_8) {
fopAc_ac_c* actor = NULL;
int rnd = 450 + (int)((cM_rnd() - 0.5f) * 450.0f);
int rnd2 = param_7 + (int)((cM_rnd() - 0.5f) * param_7);
@@ -5366,23 +5509,25 @@ fopAc_ac_c* daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*),
mFindCount = 0;
fpcEx_Search((fpcLyIt_JudgeFunc)param_1, this);
for (int i = 0; i < mFindCount; i++) {
- if (chkPointInArea(getAttentionPos(mFindActorPList[i]), mAttentionInfo.mPosition, param_2, param_3, param_4, 0) &&
- chkActorInSight2(mFindActorPList[i], param_5, param_6)) {
- int j;
- for (j = 0; j < 5; j++) {
- // !@Bug I think field_0x93c index should be j
- if (mFindActorPList[i] == field_0x82c[j].getActorP() && field_0x93c[i] != 0) {
- break;
- }
+ if (chkPointInArea(getAttentionPos(mFindActorPList[i]), mAttentionInfo.mPosition,
+ param_2, param_3, param_4, 0) &&
+ chkActorInSight2(mFindActorPList[i], param_5, param_6))
+ {
+ int j;
+ for (j = 0; j < 5; j++) {
+ // !@Bug I think field_0x93c index should be j
+ if (mFindActorPList[i] == field_0x82c[j].getActorP() && field_0x93c[i] != 0) {
+ break;
}
+ }
- if (j == 5) {
- f32 dist2 = fopAcM_searchActorDistanceXZ(this, mFindActorPList[i]);
- if (dist2 < minDistance) {
- actor = mFindActorPList[i];
- minDistance = dist2;
- }
+ if (j == 5) {
+ f32 dist2 = fopAcM_searchActorDistanceXZ(this, mFindActorPList[i]);
+ if (dist2 < minDistance) {
+ actor = mFindActorPList[i];
+ minDistance = dist2;
}
+ }
}
}
@@ -5392,7 +5537,8 @@ fopAc_ac_c* daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*),
r28 = 1;
}
if (actor != NULL) {
- int minInd, j;;
+ int minInd, j;
+ ;
int dist3 = 900;
minInd = 0;
for (j = 0; j < 5; j++) {
@@ -5422,8 +5568,8 @@ fopAc_ac_c* daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*),
#pragma optimization_level 0
#pragma optimizewithasm off
asm fopAc_ac_c* daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*), f32 param_2,
- f32 param_3, f32 param_4, f32 param_5, s16 param_6, int param_7,
- int param_8) {
+ f32 param_3, f32 param_4, f32 param_5, s16 param_6,
+ int param_7, int param_8) {
nofralloc
#include "asm/d/a/d_a_npc/getAttnActorP__8daNpcF_cFiPFPvPv_Pvffffsii.s"
}
@@ -5442,10 +5588,10 @@ asm BOOL daNpcF_c::chkActorInSight2(fopAc_ac_c* param_0, f32 param_1, s16 param_
#pragma pop
/* 80154834-801548F4 14F174 00C0+00 2/2 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyzfffs */
-// literal load order
+// literal load order
#ifdef NONMATCHING
BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4,
- s16 param_5) {
+ s16 param_5) {
cXyz tmp_pos1;
cXyz tmp_pos2;
@@ -5456,7 +5602,7 @@ BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param
param_3 = param_4;
}
- f32 res = fabsf(param_3 - tmp_float1) * 0.5f;
+ f32 res = fabsf(param_3 - tmp_float1) * 0.5f;
tmp_pos1.x = param_2;
tmp_pos1.y = res;
tmp_pos1.z = param_2;
@@ -5467,7 +5613,7 @@ BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param
tmp_pos2.y += tmp_float1;
tmp_pos2.y += tmp_pos1.y;
- return chkPointInArea(param_0,tmp_pos2,tmp_pos1,param_5);
+ return chkPointInArea(param_0, tmp_pos2, tmp_pos1, param_5);
}
#else
#pragma push
@@ -5484,7 +5630,7 @@ asm BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 p
/* 801548F4-8015496C 14F234 0078+00 1/1 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs
*/
BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) {
- return daNpcF_chkPointInArea(param_0,param_1,param_2,param_3);
+ return daNpcF_chkPointInArea(param_0, param_1, param_2, param_3);
}
/* 8015496C-801549E0 14F2AC 0074+00 3/3 0/0 0/0 .text getAttentionPos__8daNpcF_cFP10fopAc_ac_c */
@@ -5534,7 +5680,8 @@ void daNpcF_c::setHitodamaPrtcl() {
local_20.z = mEyePos.z + field_0x9b8.z + field_0x9c4.z;
for (int i = 0; i < 2; i++) {
- field_0x9a8[i] = dComIfGp_particle_set(field_0x9a8[i], id_11798[i], &local_20, &field_0x8f0, NULL);
+ field_0x9a8[i] =
+ dComIfGp_particle_set(field_0x9a8[i], id_11798[i], &local_20, &field_0x8f0, NULL);
JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x9a8[i]);
if (emitter != NULL) {
if (dComIfGs_wolfeye_effect_check() == 0) {
@@ -5561,12 +5708,12 @@ asm void daNpcF_c::setHitodamaPrtcl() {
/* 80154DA8-80154E54 14F6E8 00AC+00 1/1 0/0 1/1 .text
* daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf */
int daNpcF_pntVsLineSegmentLengthSquare2D(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
- f32 param_4, f32 param_5, f32* param_6, f32* param_7,
- f32* param_8) {
+ f32 param_4, f32 param_5, f32* param_6, f32* param_7,
+ f32* param_8) {
f32 l_float3;
f32 l_float1;
f32 l_float2;
-
+
int ret;
ret = 0;
@@ -5603,7 +5750,7 @@ static u16 daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daNpcF_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4,
- int param_5) {
+ int param_5) {
nofralloc
#include "asm/d/a/d_a_npc/daNpcF_chkPassed__F4cXyzP4dPntUsUsii.s"
}
@@ -5653,10 +5800,10 @@ void daNpcF_offTmpBit(u32 i_idx) {
* daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz */
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3) {
int rv = 0;
-
+
dStage_roomStatus_c* roomP = dComIfGp_roomControl_getStatusRoomDt(i_roomNo);
stage_actor_data_class* entries = roomP->mRoomDt.getPlayer()->mEntries;
-
+
for (int i = 0; i < roomP->mRoomDt.getPlayerNum(); entries++, i++) {
if (param_0 == (u8)entries->mAngle.z) {
param_2 = entries->mSpawnPos;
@@ -5677,17 +5824,19 @@ bool daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_ActorP) {
for (int i = 0; i < dComIfGp_getAttention().GetActionCount(); i++) {
if (dComIfGp_getAttention().ActionTarget(i) == i_ActorP &&
dComIfGp_getAttention().getActionBtnB() &&
- dComIfGp_getAttention().getActionBtnB()->mType == 3) {
- ret = 1;
- };
+ dComIfGp_getAttention().getActionBtnB()->mType == 3)
+ {
+ ret = 1;
+ };
}
for (int i = 0; i < dComIfGp_getAttention().GetLockonCount(); i++) {
if (dComIfGp_getAttention().LockonTarget(i) == i_ActorP &&
dComIfGp_getAttention().getActionBtnB() &&
- dComIfGp_getAttention().getActionBtnB()->mType == 1) {
- ret = 1;
- };
+ dComIfGp_getAttention().getActionBtnB()->mType == 1)
+ {
+ ret = 1;
+ };
}
}
return ret;
@@ -5703,9 +5852,9 @@ BOOL daNpcF_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3
f32 l_float4;
cXyz l_pos;
- mDoMtx_YrotS((MtxP)&mDoMtx_stack_c::now,-param_3);
- mDoMtx_stack_c::transM(-param_1.x,-param_1.y,-param_1.z);
- MTXMultVec((MtxP)&mDoMtx_stack_c::now,(Vec*)&param_0,&l_vec);
+ mDoMtx_YrotS((MtxP)&mDoMtx_stack_c::now, -param_3);
+ mDoMtx_stack_c::transM(-param_1.x, -param_1.y, -param_1.z);
+ MTXMultVec((MtxP)&mDoMtx_stack_c::now, (Vec*)&param_0, &l_vec);
l_float1 = fabsf(param_2.x);
l_float2 = fabsf(param_2.z);
diff --git a/src/d/bg/d_bg_s.cpp b/src/d/bg/d_bg_s.cpp
index 8614be211d..3553a4e9f0 100644
--- a/src/d/bg/d_bg_s.cpp
+++ b/src/d/bg/d_bg_s.cpp
@@ -1,28 +1,15 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/bg/d_bg_s
-//
+/**
+ * d_bg_s.cpp
+ * Background (Map) Collision main handler
+ */
#include "d/bg/d_bg_s.h"
#include "d/bg/d_bg_s_sph_chk.h"
#include "d/bg/d_bg_w.h"
#include "d/com/d_com_inf_game.h"
#include "dolphin/mtx/mtxvec.h"
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
-//
-// Forward References:
-//
-
-//
-// External References:
-//
-
-//
-// Declarations:
-//
-
/* 800740F4-80074110 06EA34 001C+00 2/2 1/1 0/0 .text Init__11cBgS_ChkElmFv */
void cBgS_ChkElm::Init() {
m_bgw_base_ptr = NULL;
@@ -160,7 +147,9 @@ f32 cBgS::GroundCross(cBgS_GndChk* p_gnd) {
return p_gnd->GetNowY();
}
-struct cBgS_dzb_data {
+// this is identical to cBgD_t except using u32's for the table offsets.
+// u32 is needed to match in ConvDzb ?
+struct cBgD_t_ {
// Vertex Info
/* 0x00 */ int m_v_num;
/* 0x04 */ u32 m_v_tbl;
@@ -185,20 +174,20 @@ struct cBgS_dzb_data {
/* 0x28 */ int m_ti_num;
/* 0x2C */ u32 m_ti_tbl;
- /* 0x30 */ u32 field_0x30;
+ /* 0x30 */ u32 m_flags;
}; // Size: 0x34
-struct cBgS_dzb_strgroup {
+struct cBgD_Grp_t_ {
u32 strOffset;
u8 data[0x30];
};
/* 80074578-80074618 06EEB8 00A0+00 0/0 1/1 0/0 .text ConvDzb__4cBgSFPv */
void* cBgS::ConvDzb(void* p_dzb) {
- cBgS_dzb_data* pbgd = (cBgS_dzb_data*)p_dzb;
+ cBgD_t_* pbgd = (cBgD_t_*)p_dzb;
- if (((pbgd->field_0x30 & 0x80000000) == 0)) {
- pbgd->field_0x30 |= 0x80000000;
+ if (((pbgd->m_flags & 0x80000000) == 0)) {
+ pbgd->m_flags |= 0x80000000;
} else {
return p_dzb;
}
@@ -214,8 +203,8 @@ void* cBgS::ConvDzb(void* p_dzb) {
pbgd->m_ti_tbl += (u32)p_dzb;
for (int i = 0; i < pbgd->m_g_num; i++) {
- ((cBgS_dzb_strgroup*)pbgd->m_g_tbl)[i].strOffset =
- (u32)p_dzb + ((cBgS_dzb_strgroup*)pbgd->m_g_tbl)[i].strOffset;
+ ((cBgD_Grp_t_*)pbgd->m_g_tbl)[i].strOffset =
+ (u32)p_dzb + ((cBgD_Grp_t_*)pbgd->m_g_tbl)[i].strOffset;
}
return p_dzb;
@@ -920,6 +909,3 @@ f32 dBgS_GetNY(cBgS_PolyInfo const& poly) {
dComIfG_Bgsp().GetTriPla(poly, &pla);
return pla.mNormal.y;
}
-
-/* 80450F68-80450F70 000468 0008+00 0/0 1/1 0/0 .sbss None */
-u8 data_80450F68[8] __attribute__((aligned(8)));
diff --git a/src/d/bg/d_bg_s_acch.cpp b/src/d/bg/d_bg_s_acch.cpp
index a599b281ba..476f7f0e2b 100644
--- a/src/d/bg/d_bg_s_acch.cpp
+++ b/src/d/bg/d_bg_s_acch.cpp
@@ -313,6 +313,9 @@ void dBgS_Acch::GroundCheckInit(dBgS& param_0) {
}
}
+/* 80450F68-80450F70 000468 0008+00 0/0 1/1 0/0 .sbss None */
+s8 data_80450F68;
+
/* 80076350-8007654C 070C90 01FC+00 2/2 0/0 0/0 .text GroundCheck__9dBgS_AcchFR4dBgS */
// issues with tmpRoofChk
#ifdef NONMATCHING
diff --git a/src/d/bg/d_bg_w_base.cpp b/src/d/bg/d_bg_w_base.cpp
index 28b72cda0a..fa0ec6284c 100644
--- a/src/d/bg/d_bg_w_base.cpp
+++ b/src/d/bg/d_bg_w_base.cpp
@@ -32,15 +32,11 @@ bool dBgW_Base::ChkMemoryError() {
/* 8007E6D8-8007E6DC 079018 0004+00 1/0 2/0 0/0 .text
* CallRideCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_c */
-void dBgW_Base::CallRideCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1) {
- /* empty function */
-}
+void dBgW_Base::CallRideCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1) {}
/* 8007E6DC-8007E6E0 07901C 0004+00 1/0 2/0 0/0 .text
* CallArrowStickCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_cR4cXyz */
-void dBgW_Base::CallArrowStickCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1, cXyz& param_2) {
- /* empty function */
-}
+void dBgW_Base::CallArrowStickCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1, cXyz& param_2) {}
/* 8007E6E0-8007E6F4 079020 0014+00 0/0 1/1 0/0 .text CalcDiffShapeAngleY__9dBgW_BaseFs
*/
diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp
index 4568802019..83ad04cdd9 100644
--- a/src/d/bg/d_bg_w_kcol.cpp
+++ b/src/d/bg/d_bg_w_kcol.cpp
@@ -140,86 +140,13 @@ extern "C" u8 sincosTable___5JMath[65536];
// Declarations:
//
-/* ############################################################################################## */
-/* 803ABDC8-803ABEB8 008EE8 00F0+00 2/2 0/0 0/0 .data __vt__8dBgWKCol */
-SECTION_DATA extern void* __vt__8dBgWKCol[60] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__8dBgWKColFv,
- (void*)ChkMemoryError__9dBgW_BaseFv,
- (void*)ChkNotReady__8dBgWKColCFv,
- (void*)ChkLock__8dBgWKColCFv,
- (void*)ChkMoveBg__8dBgWKColCFv,
- (void*)ChkMoveFlag__8dBgWKColCFv,
- (void*)GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo,
- (void*)GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz,
- (void*)GetBnd__8dBgWKColCFv,
- (void*)GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo,
- (void*)OffMoveFlag__8dBgWKColFv,
- (void*)GetTopUnder__8dBgWKColCFPfPf,
- (void*)SetOldShapeAngleY__9dBgW_BaseFs,
- (void*)LineCheck__8dBgWKColFP11cBgS_LinChk,
- (void*)GroundCross__8dBgWKColFP11cBgS_GndChk,
- (void*)ShdwDraw__8dBgWKColFP13cBgS_ShdwDraw,
- (void*)CaptPoly__8dBgWKColFR13dBgS_CaptPoly,
- (void*)WallCorrect__8dBgWKColFP9dBgS_Acch,
- (void*)WallCorrectSort__8dBgWKColFP9dBgS_Acch,
- (void*)RoofChk__8dBgWKColFP12dBgS_RoofChk,
- (void*)SplGrpChk__8dBgWKColFP14dBgS_SplGrpChk,
- (void*)SphChk__8dBgWKColFP11dBgS_SphChkPv,
- (void*)GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo,
- (void*)GetExitId__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetSpecialCode__8dBgWKColFi,
- (void*)GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetPolyObjThrough__8dBgWKColFi,
- (void*)GetPolyCamThrough__8dBgWKColFi,
- (void*)GetPolyLinkThrough__8dBgWKColFi,
- (void*)GetPolyArrowThrough__8dBgWKColFi,
- (void*)GetPolyHSStick__8dBgWKColFi,
- (void*)GetPolyBoomerangThrough__8dBgWKColFi,
- (void*)GetPolyRopeThrough__8dBgWKColFi,
- (void*)GetPolyBombThrough__8dBgWKColFi,
- (void*)GetShdwThrough__8dBgWKColFi,
- (void*)GetUnderwaterRoofCode__8dBgWKColFi,
- (void*)GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetWallCode__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetIronBallThrough__8dBgWKColFi,
- (void*)GetAttackThrough__8dBgWKColFi,
- (void*)GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo,
- (void*)CrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
- (void*)TransPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
- (void*)MatrixCrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
- (void*)CallRideCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_c,
- (void*)CallArrowStickCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_cR4cXyz,
-};
-
/* 8007E6F4-8007E74C 079034 0058+00 0/0 0/0 1/1 .text __ct__8dBgWKColFv */
dBgWKCol::dBgWKCol() {
m_pkc_head = NULL;
}
/* 8007E74C-8007E7D0 07908C 0084+00 1/0 0/0 0/0 .text __dt__8dBgWKColFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-// asm dBgWKCol::~dBgWKCol() {
-extern "C" asm void __dt__8dBgWKColFv() {
- nofralloc
-#include "asm/d/bg/d_bg_w_kcol/__dt__8dBgWKColFv.s"
-}
-#pragma pop
+dBgWKCol::~dBgWKCol() {}
/* 8007E7D0-8007E804 079110 0034+00 0/0 1/1 0/0 .text initKCollision__8dBgWKColFPv */
void dBgWKCol::initKCollision(void* i_kclData) {
diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp
index a3071c2e2d..94759a22f9 100644
--- a/src/d/com/d_com_inf_game.cpp
+++ b/src/d/com/d_com_inf_game.cpp
@@ -2428,11 +2428,11 @@ int dComLbG_PhaseHandler(request_of_phase_process_class* i_phaseReq, cPhs__Handl
void* i_data) {
int phase = cPhs_Handler(i_phaseReq, i_handler, i_data);
switch (phase) {
- case 2:
+ case cPhs_NEXT_e:
phase = dComLbG_PhaseHandler(i_phaseReq, i_handler, i_data);
break;
- case 1:
- case 3:
+ case cPhs_LOADING_e:
+ case cPhs_UNK3_e:
break;
}
diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp
index 93bc7b3963..be1134044c 100644
--- a/src/d/com/d_com_static.cpp
+++ b/src/d/com/d_com_static.cpp
@@ -7,11 +7,15 @@
#include "MSL_C/stdio.h"
#include "d/d_demo.h"
#include "dol2asm.h"
+#include "rel/d/a/d_a_dshutter/d_a_dshutter.h"
+#include "rel/d/a/d_a_grass/d_a_grass.h"
+#include "rel/d/a/d_a_mirror/d_a_mirror.h"
#include "rel/d/a/d_a_movie_player/d_a_movie_player.h"
+#include "rel/d/a/d_a_set_bgobj/d_a_set_bgobj.h"
#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h"
+#include "rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.h"
#include "rel/d/a/tag/d_a_tag_stream/d_a_tag_stream.h"
-#include "rel/d/a/d_a_mirror/d_a_mirror.h"
//
// Types:
@@ -23,53 +27,12 @@ struct daYkgr_c {
static u8 m_emitter[4];
};
-struct daTagMist_c {
- /* 80031CF0 */ static u8 getPlayerNo();
-
- static u8 mPlayerNo;
-};
-
-struct daSetBgObj_c {
- /* 80031870 */ static const char* getArcName(fopAc_ac_c*);
-};
-
struct daObjMovebox {
struct Act_c {
static void* M_dir_base[2];
};
};
-struct dFlower_packet_c {
- typedef void (dFlower_packet_c::*DeleteRoomFunc)(int);
- static DeleteRoomFunc m_deleteRoom;
-};
-
-struct dGrass_packet_c {
- typedef void (dGrass_packet_c::*DeleteRoomFunc)(int);
- static DeleteRoomFunc m_deleteRoom;
-};
-
-struct daGrass_c {
- /* 800319C8 */ static void deleteRoomGrass(int);
- /* 80031A20 */ static void deleteRoomFlower(int);
-
- static u8 m_myObj[4];
- static dGrass_packet_c* m_grass;
- static dFlower_packet_c* m_flower;
-};
-
-struct daDsh_c {
- static f32 OPEN_SIZE;
- static f32 OPEN_ACCEL;
- static f32 OPEN_SPEED;
- static f32 OPEN_BOUND_SPEED;
- static f32 OPEN_BOUND_RATIO;
- static f32 CLOSE_ACCEL;
- static f32 CLOSE_SPEED;
- static f32 CLOSE_BOUND_SPEED;
- static f32 CLOSE_BOUND_RATIO;
-};
-
//
// Forward References:
//
@@ -227,7 +190,8 @@ bool daSus_c::data_c::check(cXyz const& i_pos) {
if ((field_0x8.x <= i_pos.x && i_pos.x <= field_0x14.x) &&
(field_0x8.y <= i_pos.y && i_pos.y <= field_0x14.y) &&
- (field_0x8.z <= i_pos.z && i_pos.z <= field_0x14.z)) {
+ (field_0x8.z <= i_pos.z && i_pos.z <= field_0x14.z))
+ {
return true;
}
@@ -241,7 +205,7 @@ u8 daSus_c::data_c::check(fopAc_ac_c* i_actor) {
}
u8 tmp = 0x80;
-
+
if (check(i_actor->orig.pos)) {
tmp |= 1;
}
@@ -279,7 +243,8 @@ void daSus_c::room_c::add(daSus_c::data_c* i_data) {
daSus_c::data_c* data1 = mpData;
daSus_c::data_c* data2 = data1->getNext();
while (data2 != NULL) {
- if (data1->getType() != 0) break;
+ if (data1->getType() != 0)
+ break;
data1 = data2;
data2 = data2->getNext();
}
@@ -316,8 +281,8 @@ s16 daSus_c::mSetTop;
/* 80031248-800313BC 02BB88 0174+00 0/0 0/0 1/1 .text newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc */
// Issues with mSetTop and m_count__9daArrow_c relocation
#ifdef NONMATCHING
-int daSus_c::newData(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3,
- u8 param_4, u8 i_type) {
+int daSus_c::newData(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3, u8 param_4,
+ u8 i_type) {
s16 setTop = mSetTop;
daSus_c::data_c* pData = ((daSus_c::data_c*)mData) + setTop;
for (s16 i = setTop; i < 32; pData++, i++) {
@@ -347,7 +312,7 @@ int daSus_c::newData(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 p
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daSus_c::newData(s8 param_0, cXyz const& param_1, cXyz const& param_2, u8 param_3,
- u8 param_4, u8 param_5) {
+ u8 param_4, u8 param_5) {
nofralloc
#include "asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s"
}
@@ -542,12 +507,11 @@ SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -0.4f;
int daTagStream_c::checkArea(cXyz const* param_0) {
cXyz relativePos;
fpoAcM_relativePos(this, param_0, &relativePos);
- if (relativePos.y >= 0.0f && relativePos.y <= mScale.y &&
- fabsf(relativePos.x) <= mScale.x &&
+ if (relativePos.y >= 0.0f && relativePos.y <= mScale.y && fabsf(relativePos.x) <= mScale.x &&
fabsf(relativePos.z) <= mScale.z)
{
return 1;
- }
+ }
return 0;
}
@@ -581,34 +545,34 @@ int daMirror_c::remove() {
/* ############################################################################################## */
/* 80424588-80424594 0512A8 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__15dGrass_packet_c */
-dGrass_packet_c::DeleteRoomFunc dGrass_packet_c::m_deleteRoom;
+dGrass_packet_c::deleteFunc dGrass_packet_c::m_deleteRoom;
/* 80450DAC-80450DB0 0002AC 0004+00 0/0 0/0 2/2 .sbss m_myObj__9daGrass_c */
-u8 daGrass_c::m_myObj[4];
+daGrass_c* daGrass_c::m_myObj;
/* 80450DB0-80450DB4 0002B0 0004+00 1/1 0/0 11/11 .sbss m_grass__9daGrass_c */
dGrass_packet_c* daGrass_c::m_grass;
/* 800319C8-80031A20 02C308 0058+00 0/0 0/0 1/1 .text deleteRoomGrass__9daGrass_cFi */
void daGrass_c::deleteRoomGrass(int param_0) {
- if (m_grass) {
- dGrass_packet_c::DeleteRoomFunc func = dGrass_packet_c::m_deleteRoom;
- (m_grass->*(func))(param_0);
+ if (m_grass != NULL) {
+ dGrass_packet_c::deleteFunc delete_func = dGrass_packet_c::m_deleteRoom;
+ (m_grass->*(delete_func))(param_0);
}
}
/* ############################################################################################## */
/* 80424594-804245A0 0512B4 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__16dFlower_packet_c */
-dFlower_packet_c::DeleteRoomFunc dFlower_packet_c::m_deleteRoom;
+dFlower_packet_c::deleteFunc dFlower_packet_c::m_deleteRoom;
/* 80450DB4-80450DB8 0002B4 0004+00 1/1 0/0 9/9 .sbss m_flower__9daGrass_c */
dFlower_packet_c* daGrass_c::m_flower;
/* 80031A20-80031A78 02C360 0058+00 0/0 0/0 1/1 .text deleteRoomFlower__9daGrass_cFi */
void daGrass_c::deleteRoomFlower(int param_0) {
- if (m_flower) {
- dFlower_packet_c::DeleteRoomFunc func = dFlower_packet_c::m_deleteRoom;
- (m_flower->*(func))(param_0);
+ if (m_flower != NULL) {
+ dFlower_packet_c::deleteFunc delete_func = dFlower_packet_c::m_deleteRoom;
+ (m_flower->*(delete_func))(param_0);
}
}
@@ -655,7 +619,8 @@ int daTagMagne_c::checkMagnetCode(cBgS_PolyInfo& poly) {
int magCode = dComIfG_Bgsp().GetMagnetCode(poly);
if ((magCode == 1 && mTagMagne->checkMagneA()) || (magCode == 2 && mTagMagne->checkMagneB()) ||
- (magCode == 3 && mTagMagne->checkMagneC())) {
+ (magCode == 3 && mTagMagne->checkMagneC()))
+ {
return 1;
}
@@ -776,8 +741,7 @@ s8 daObjCarry_c::getRoomNo(int idx) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void __sinit_d_com_static_cpp() {
- nofralloc
+asm void __sinit_d_com_static_cpp(){nofralloc
#include "asm/d/com/d_com_static/__sinit_d_com_static_cpp.s"
}
#pragma pop
diff --git a/src/d/d_npc_lib.cpp b/src/d/d_npc_lib.cpp
index 29cb2333cd..955338722a 100644
--- a/src/d/d_npc_lib.cpp
+++ b/src/d/d_npc_lib.cpp
@@ -4,6 +4,7 @@
//
#include "d/d_npc_lib.h"
+#include "SSystem/SComponent/c_math.h"
#include "dol2asm.h"
//
@@ -52,29 +53,32 @@ extern "C" extern u8 data_80451164[4];
// Declarations:
//
-/* ############################################################################################## */
-/* 803C2B88-803C2B98 01FCA8 000C+04 2/2 0/0 0/0 .data __vt__16dNpcLib_lookat_c */
-SECTION_DATA extern void* __vt__16dNpcLib_lookat_c[3 + 1 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__16dNpcLib_lookat_cFv,
- /* padding */
- NULL,
-};
-
/* 80251314-8025140C 24BC54 00F8+00 0/0 0/0 4/4 .text __ct__16dNpcLib_lookat_cFv */
dNpcLib_lookat_c::dNpcLib_lookat_c() {}
/* 8025140C-80251534 24BD4C 0128+00 0/0 0/0 2/2 .text
* init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dNpcLib_lookat_c::init(J3DModel* param_0, int* param_1, csXyz* param_2, csXyz* param_3) {
- nofralloc
-#include "asm/d/d_npc_lib/init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz.s"
+void dNpcLib_lookat_c::init(J3DModel* i_mdl_p, int* param_1, csXyz* param_2, csXyz* param_3) {
+ int i;
+ for (i = 0; i < 4; i++) {
+ field_0xbc[i] = -1;
+ }
+
+ mCount = 0;
+ for (i = 0; i < 3; i++) {
+ int a_jntNum = param_1[i];
+ if (a_jntNum < 0) {
+ break;
+ }
+
+ mDoMtx_stack_c::copy(i_mdl_p->i_getAnmMtx(a_jntNum));
+ mDoMtx_stack_c::multVecZero(&field_0x04[mCount]);
+ field_0xbc[i] = a_jntNum;
+ field_0x94[i] = param_2[i];
+ field_0x7c[i] = param_3[i];
+ mCount++;
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 80454DE8-80454DEC 0033E8 0004+00 3/3 0/0 0/0 .sdata2 @3864 */
@@ -111,20 +115,96 @@ SECTION_SDATA2 static f64 lit_3873 = 4503601774854144.0 /* cast s32 to float */;
/* 80251534-80251B60 24BE74 062C+00 0/0 0/0 2/2 .text
* action__16dNpcLib_lookat_cF4cXyz4cXyzP10fopAc_ac_cPA4_fi */
+// regswap, equivalent
+#ifdef NONMATCHING
+void dNpcLib_lookat_c::action(cXyz param_0, cXyz param_1, fopAc_ac_c* param_2, Mtx param_3,
+ int param_4) {
+ cXyz spA0;
+
+ Mtx sp90;
+ cMtx_copy(param_3, sp90);
+ sp90[2][3] = 0.0f;
+ sp90[1][3] = 0.0f;
+ sp90[0][3] = 0.0f;
+
+ mDoMtx_stack_c::copy(sp90);
+ mDoMtx_stack_c::inverse();
+ cMtx_copy(mDoMtx_stack_c::get(), sp90);
+
+ for (int i = 0; i < mCount; i++) {
+ spA0 = field_0x04[i] - param_2->current.pos;
+ mDoMtx_stack_c::transS(param_2->current.pos);
+ mDoMtx_stack_c::concat(sp90);
+ mDoMtx_stack_c::multVec(&spA0, &field_0x04[i]);
+ }
+
+ spA0 = param_0 - param_2->current.pos;
+ mDoMtx_stack_c::transS(param_2->current.pos);
+ mDoMtx_stack_c::concat(sp90);
+ mDoMtx_stack_c::multVec(&spA0, &param_0);
+
+ spA0 = param_1 - param_2->current.pos;
+ mDoMtx_stack_c::transS(param_2->current.pos);
+ mDoMtx_stack_c::concat(sp90);
+ mDoMtx_stack_c::multVec(&spA0, &field_0x04[mCount]);
+
+ setPrm();
+ update();
+
+ cXyz spAC;
+ cXyz spB8;
+
+ f32 tmp = 1.0f;
+ for (int i = mCount - 1; i >= 0 && param_4 == 1; i--) {
+ spAC = param_0 - field_0x04[i];
+
+ if (!spAC.isZero()) {
+ spAC.normalize();
+
+ spB8 = field_0x04[mCount] - field_0x04[i];
+ if (!spB8.isZero()) {
+ spB8.normalize();
+
+ s16 svar7 = -cM_atan2s(spAC.y, spAC.absXZ());
+ s16 svar8 = cM_atan2s(spAC.x, spAC.z);
+
+ s16 svar9 = -cM_atan2s(spB8.y, spB8.absXZ());
+ s16 svar10 = cM_atan2s(spB8.x, spB8.z);
+
+ field_0x4c[i].x += (s16)(tmp * (f32)(svar7 - svar9));
+ field_0x4c[i].y += (s16)(tmp * (f32)(svar8 - svar10));
+
+ limitter(&field_0x4c[i].x, field_0x34[i].x, field_0x94[i].x, field_0x7c[i].x);
+ limitter(&field_0x4c[i].y, field_0x34[i].y, field_0x94[i].y, field_0x7c[i].y);
+ }
+ }
+
+ tmp *= 0.5f;
+ update();
+ }
+
+ csXyz sp114(csXyz::Zero);
+ for (int i = 0; i < 4; i++) {
+ sp114 += field_0x4c[i];
+ field_0x64[i].x = sp114.x;
+ field_0x64[i].y = sp114.y;
+ field_0x64[i].z = 0;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dNpcLib_lookat_c::action(cXyz param_0, cXyz param_1, fopAc_ac_c* param_2,
- f32 (*param_3)[4], int param_4) {
+asm void dNpcLib_lookat_c::action(cXyz param_0, cXyz param_1, fopAc_ac_c* param_2, Mtx param_3,
+ int param_4) {
nofralloc
#include "asm/d/d_npc_lib/action__16dNpcLib_lookat_cF4cXyz4cXyzP10fopAc_ac_cPA4_fi.s"
}
#pragma pop
+#endif
/* 80251B60-80251B64 24C4A0 0004+00 0/0 0/0 2/2 .text dbView__16dNpcLib_lookat_cFv */
-void dNpcLib_lookat_c::dbView() {
- /* empty function */
-}
+void dNpcLib_lookat_c::dbView() {}
/* ############################################################################################## */
/* 80454E18-80454E20 003418 0004+04 1/1 0/0 0/0 .sdata2 @3970 */
@@ -145,6 +225,29 @@ asm void dNpcLib_lookat_c::setPrm() {
#pragma pop
/* 80251EF8-80252018 24C838 0120+00 1/1 0/0 0/0 .text update__16dNpcLib_lookat_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void dNpcLib_lookat_c::update() {
+ cXyz sp50;
+ csXyz sp58(csXyz::Zero);
+ Mtx m;
+
+ for (int i = 0; i < mCount; i++) {
+ mDoMtx_stack_c::XYZrotS(field_0x34[i]);
+ cMtx_copy(mDoMtx_stack_c::get(), m);
+
+ mDoMtx_stack_c::transS(field_0x04[i]);
+ sp58.x += field_0x4c[i].x;
+ sp58.y += field_0x4c[i].y;
+
+ mDoMtx_stack_c::ZXYrotM(sp58);
+ mDoMtx_stack_c::concat(m);
+
+ sp50.set(0.0f, 0.0f, field_0xac[i]);
+ mDoMtx_stack_c::multVec(&sp50, &field_0x04[i + 1]);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -153,24 +256,27 @@ asm void dNpcLib_lookat_c::update() {
#include "asm/d/d_npc_lib/update__16dNpcLib_lookat_cFv.s"
}
#pragma pop
+#endif
/* 80252018-80252094 24C958 007C+00 1/1 0/0 0/0 .text limitter__16dNpcLib_lookat_cFPssss */
-int dNpcLib_lookat_c::limitter(s16* param_0, s16 param_1, s16 param_2, s16 param_3) {
- int limit = param_1 + *param_0;
+int dNpcLib_lookat_c::limitter(s16* o_value, s16 param_1, s16 param_2, s16 param_3) {
+ int limit = param_1 + *o_value;
if (param_2 <= limit) {
if (param_2 <= param_1) {
- *param_0 = 0;
+ *o_value = 0;
} else {
- *param_0 -= (s16)(limit - param_2);
+ *o_value -= (s16)(limit - param_2);
}
}
+
if (limit <= param_3) {
if (param_1 <= param_3) {
- *param_0 = 0;
+ *o_value = 0;
} else {
- *param_0 -= (s16)(limit - param_3);
+ *o_value -= (s16)(limit - param_3);
}
}
+
return 1;
}