summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Patzer <37888505+jakepatzer@users.noreply.github.com>2023-10-24 17:10:48 -0700
committerGitHub <noreply@github.com>2023-10-24 17:10:48 -0700
commit95d103b237b2d46722ecd2ee866f12440dcf9da9 (patch)
treecf6335b410a15d6d865549be57e0221cd6edab55
parentd61ae29942c6fa190fbd78932c98b82cd90538b1 (diff)
d_a_tag_push OK (#1967)
-rw-r--r--Progress.md8
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/Execute__12daTag_Push_cFv.s131
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__12daTag_Push_cFv.s33
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__18daNpcT_ActorMngr_cFv.s20
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/chkPointInArea__12daTag_Push_cF4cXyz.s59
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/create__12daTag_Push_cFv.s52
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Create__FPv.s9
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Delete__FPv.s9
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Draw__FPv.s9
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Execute__FPv.s9
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/isDelete__12daTag_Push_cFv.s26
-rw-r--r--asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/srchActor__12daTag_Push_cFPvPv.s103
-rw-r--r--include/d/a/d_a_npc.h134
-rw-r--r--include/rel/d/a/tag/d_a_tag_push/d_a_tag_push.h38
-rw-r--r--rel/d/a/tag/d_a_tag_push/d_a_tag_push.cpp380
15 files changed, 265 insertions, 755 deletions
diff --git a/Progress.md b/Progress.md
index 44b26948f3..42afb06beb 100644
--- a/Progress.md
+++ b/Progress.md
@@ -21,8 +21,8 @@ Total | 41.251512% | 1658588 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 41.251512% | 1658588 | 4020672
-RELs | 34.631963% | 3982788 | 11500324
-Total | 36.346740% | 5641376 | 15520996
+RELs | 34.646328% | 3984440 | 11500324
+Total | 36.357383% | 5643028 | 15520996
## RELs
@@ -751,7 +751,7 @@ d_a_tag_myna2 | 100.000000% | 1752 | 1752
d_a_tag_myna_light | 100.000000% | 3124 | 3124
d_a_tag_pachi | 100.000000% | 2528 | 2528
d_a_tag_poFire | 100.000000% | 1688 | 1688
-d_a_tag_push | 41.000000% | 1148 | 2800
+d_a_tag_push | 100.000000% | 2800 | 2800
d_a_tag_qs | 34.804270% | 1956 | 5620
d_a_tag_ret_room | 100.000000% | 1684 | 1684
d_a_tag_river_back | 100.000000% | 2948 | 2948
@@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244
d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
-Total | 34.631963% | 3982788 | 11500324
+Total | 34.646328% | 3984440 | 11500324
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/Execute__12daTag_Push_cFv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/Execute__12daTag_Push_cFv.s
deleted file mode 100644
index 58d377419a..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/Execute__12daTag_Push_cFv.s
+++ /dev/null
@@ -1,131 +0,0 @@
-lbl_804904DC:
-/* 804904DC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 804904E0 7C 08 02 A6 */ mflr r0
-/* 804904E4 90 01 00 24 */ stw r0, 0x24(r1)
-/* 804904E8 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 804904EC 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 804904F0 7C 7E 1B 78 */ mr r30, r3
-/* 804904F4 88 03 04 BA */ lbz r0, 0x4ba(r3)
-/* 804904F8 7C 04 07 74 */ extsb r4, r0
-/* 804904FC 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */
-/* 80490500 88 03 0D 64 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */
-/* 80490504 7C 00 07 74 */ extsb r0, r0
-/* 80490508 7C 04 00 00 */ cmpw r4, r0
-/* 8049050C 40 82 01 94 */ bne lbl_804906A0
-/* 80490510 38 7E 05 68 */ addi r3, r30, 0x568
-/* 80490514 4B CB 51 F5 */ bl getActorP__18daNpcT_ActorMngr_cFv
-/* 80490518 7C 7F 1B 78 */ mr r31, r3
-/* 8049051C 7F C3 F3 78 */ mr r3, r30
-/* 80490520 48 00 01 A5 */ bl isDelete__12daTag_Push_cFv
-/* 80490524 2C 03 00 00 */ cmpwi r3, 0
-/* 80490528 41 82 00 44 */ beq lbl_8049056C
-/* 8049052C 28 1F 00 00 */ cmplwi r31, 0
-/* 80490530 41 82 00 2C */ beq lbl_8049055C
-/* 80490534 A8 1F 00 08 */ lha r0, 8(r31)
-/* 80490538 2C 00 02 58 */ cmpwi r0, 0x258
-/* 8049053C 41 82 00 20 */ beq lbl_8049055C
-/* 80490540 2C 00 02 3B */ cmpwi r0, 0x23b
-/* 80490544 41 82 00 18 */ beq lbl_8049055C
-/* 80490548 2C 00 02 39 */ cmpwi r0, 0x239
-/* 8049054C 41 82 00 10 */ beq lbl_8049055C
-/* 80490550 38 7F 0B A0 */ addi r3, r31, 0xba0
-/* 80490554 38 80 00 00 */ li r4, 0
-/* 80490558 4B CB 51 89 */ bl entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c
-lbl_8049055C:
-/* 8049055C 7F C3 F3 78 */ mr r3, r30
-/* 80490560 4B B8 97 1D */ bl fopAcM_delete__FP10fopAc_ac_c
-/* 80490564 38 60 00 01 */ li r3, 1
-/* 80490568 48 00 01 3C */ b lbl_804906A4
-lbl_8049056C:
-/* 8049056C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 80490570 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 80490574 88 03 4F AD */ lbz r0, 0x4fad(r3)
-/* 80490578 28 00 00 00 */ cmplwi r0, 0
-/* 8049057C 40 82 00 E4 */ bne lbl_80490660
-/* 80490580 28 1F 00 00 */ cmplwi r31, 0
-/* 80490584 40 82 00 28 */ bne lbl_804905AC
-/* 80490588 3C 60 80 49 */ lis r3, srchActor__12daTag_Push_cFPvPv@ha /* 0x804902B8@ha */
-/* 8049058C 38 63 02 B8 */ addi r3, r3, srchActor__12daTag_Push_cFPvPv@l /* 0x804902B8@l */
-/* 80490590 7F C4 F3 78 */ mr r4, r30
-/* 80490594 4B B9 0D A5 */ bl fpcEx_Search__FPFPvPv_PvPv
-/* 80490598 7C 7F 1B 79 */ or. r31, r3, r3
-/* 8049059C 41 82 00 10 */ beq lbl_804905AC
-/* 804905A0 38 7E 05 68 */ addi r3, r30, 0x568
-/* 804905A4 7F E4 FB 78 */ mr r4, r31
-/* 804905A8 4B CB 51 39 */ bl entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c
-lbl_804905AC:
-/* 804905AC 28 1F 00 00 */ cmplwi r31, 0
-/* 804905B0 41 82 00 B0 */ beq lbl_80490660
-/* 804905B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 804905B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 804905BC 80 63 5D AC */ lwz r3, 0x5dac(r3)
-/* 804905C0 A0 03 00 FA */ lhz r0, 0xfa(r3)
-/* 804905C4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
-/* 804905C8 41 82 00 98 */ beq lbl_80490660
-/* 804905CC C0 03 04 D0 */ lfs f0, 0x4d0(r3)
-/* 804905D0 D0 01 00 08 */ stfs f0, 8(r1)
-/* 804905D4 C0 03 04 D4 */ lfs f0, 0x4d4(r3)
-/* 804905D8 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 804905DC C0 03 04 D8 */ lfs f0, 0x4d8(r3)
-/* 804905E0 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 804905E4 7F C3 F3 78 */ mr r3, r30
-/* 804905E8 38 81 00 08 */ addi r4, r1, 8
-/* 804905EC 48 00 01 39 */ bl chkPointInArea__12daTag_Push_cF4cXyz
-/* 804905F0 2C 03 00 00 */ cmpwi r3, 0
-/* 804905F4 41 82 00 6C */ beq lbl_80490660
-/* 804905F8 A8 1F 00 08 */ lha r0, 8(r31)
-/* 804905FC 2C 00 02 3B */ cmpwi r0, 0x23b
-/* 80490600 41 82 00 0C */ beq lbl_8049060C
-/* 80490604 2C 00 02 39 */ cmpwi r0, 0x239
-/* 80490608 40 82 00 4C */ bne lbl_80490654
-lbl_8049060C:
-/* 8049060C 38 7F 08 24 */ addi r3, r31, 0x824
-/* 80490610 7F C4 F3 78 */ mr r4, r30
-/* 80490614 4B CC 00 A9 */ bl entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c
-/* 80490618 A8 7E 04 B4 */ lha r3, 0x4b4(r30)
-/* 8049061C 3C 03 00 00 */ addis r0, r3, 0
-/* 80490620 28 00 FF FF */ cmplwi r0, 0xffff
-/* 80490624 38 00 FF FF */ li r0, -1
-/* 80490628 41 82 00 08 */ beq lbl_80490630
-/* 8049062C 54 60 04 3E */ clrlwi r0, r3, 0x10
-lbl_80490630:
-/* 80490630 90 1F 09 B4 */ stw r0, 0x9b4(r31)
-/* 80490634 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 80490638 54 03 46 3E */ srwi r3, r0, 0x18
-/* 8049063C 28 03 00 FF */ cmplwi r3, 0xff
-/* 80490640 38 00 FF FF */ li r0, -1
-/* 80490644 41 82 00 08 */ beq lbl_8049064C
-/* 80490648 7C 60 1B 78 */ mr r0, r3
-lbl_8049064C:
-/* 8049064C 98 1F 09 EF */ stb r0, 0x9ef(r31)
-/* 80490650 48 00 00 10 */ b lbl_80490660
-lbl_80490654:
-/* 80490654 38 7F 0B A0 */ addi r3, r31, 0xba0
-/* 80490658 7F C4 F3 78 */ mr r4, r30
-/* 8049065C 4B CB 50 85 */ bl entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c
-lbl_80490660:
-/* 80490660 38 00 00 00 */ li r0, 0
-/* 80490664 90 1E 05 5C */ stw r0, 0x55c(r30)
-/* 80490668 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
-/* 8049066C D0 1E 05 50 */ stfs f0, 0x550(r30)
-/* 80490670 C0 1E 04 D4 */ lfs f0, 0x4d4(r30)
-/* 80490674 D0 1E 05 54 */ stfs f0, 0x554(r30)
-/* 80490678 C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
-/* 8049067C D0 1E 05 58 */ stfs f0, 0x558(r30)
-/* 80490680 C0 1E 05 50 */ lfs f0, 0x550(r30)
-/* 80490684 D0 1E 05 38 */ stfs f0, 0x538(r30)
-/* 80490688 C0 1E 05 54 */ lfs f0, 0x554(r30)
-/* 8049068C D0 1E 05 3C */ stfs f0, 0x53c(r30)
-/* 80490690 C0 1E 05 58 */ lfs f0, 0x558(r30)
-/* 80490694 D0 1E 05 40 */ stfs f0, 0x540(r30)
-/* 80490698 38 60 00 01 */ li r3, 1
-/* 8049069C 48 00 00 08 */ b lbl_804906A4
-lbl_804906A0:
-/* 804906A0 38 60 00 00 */ li r3, 0
-lbl_804906A4:
-/* 804906A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 804906A8 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 804906AC 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 804906B0 7C 08 03 A6 */ mtlr r0
-/* 804906B4 38 21 00 20 */ addi r1, r1, 0x20
-/* 804906B8 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__12daTag_Push_cFv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__12daTag_Push_cFv.s
deleted file mode 100644
index a2dd714f03..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__12daTag_Push_cFv.s
+++ /dev/null
@@ -1,33 +0,0 @@
-lbl_804908CC:
-/* 804908CC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 804908D0 7C 08 02 A6 */ mflr r0
-/* 804908D4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 804908D8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 804908DC 93 C1 00 08 */ stw r30, 8(r1)
-/* 804908E0 7C 7E 1B 79 */ or. r30, r3, r3
-/* 804908E4 7C 9F 23 78 */ mr r31, r4
-/* 804908E8 41 82 00 40 */ beq lbl_80490928
-/* 804908EC 3C 60 80 49 */ lis r3, __vt__12daTag_Push_c@ha /* 0x804909D4@ha */
-/* 804908F0 38 03 09 D4 */ addi r0, r3, __vt__12daTag_Push_c@l /* 0x804909D4@l */
-/* 804908F4 90 1E 05 70 */ stw r0, 0x570(r30)
-/* 804908F8 34 1E 05 68 */ addic. r0, r30, 0x568
-/* 804908FC 41 82 00 10 */ beq lbl_8049090C
-/* 80490900 3C 60 80 49 */ lis r3, __vt__18daNpcT_ActorMngr_c@ha /* 0x804909C8@ha */
-/* 80490904 38 03 09 C8 */ addi r0, r3, __vt__18daNpcT_ActorMngr_c@l /* 0x804909C8@l */
-/* 80490908 90 1E 05 6C */ stw r0, 0x56c(r30)
-lbl_8049090C:
-/* 8049090C 7F C3 F3 78 */ mr r3, r30
-/* 80490910 38 80 00 00 */ li r4, 0
-/* 80490914 4B B8 83 79 */ bl __dt__10fopAc_ac_cFv
-/* 80490918 7F E0 07 35 */ extsh. r0, r31
-/* 8049091C 40 81 00 0C */ ble lbl_80490928
-/* 80490920 7F C3 F3 78 */ mr r3, r30
-/* 80490924 4B E3 E4 19 */ bl __dl__FPv
-lbl_80490928:
-/* 80490928 7F C3 F3 78 */ mr r3, r30
-/* 8049092C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80490930 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80490934 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80490938 7C 08 03 A6 */ mtlr r0
-/* 8049093C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80490940 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__18daNpcT_ActorMngr_cFv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__18daNpcT_ActorMngr_cFv.s
deleted file mode 100644
index f8ea350fbd..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__18daNpcT_ActorMngr_cFv.s
+++ /dev/null
@@ -1,20 +0,0 @@
-lbl_80490884:
-/* 80490884 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80490888 7C 08 02 A6 */ mflr r0
-/* 8049088C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80490890 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80490894 7C 7F 1B 79 */ or. r31, r3, r3
-/* 80490898 41 82 00 1C */ beq lbl_804908B4
-/* 8049089C 3C A0 80 49 */ lis r5, __vt__18daNpcT_ActorMngr_c@ha /* 0x804909C8@ha */
-/* 804908A0 38 05 09 C8 */ addi r0, r5, __vt__18daNpcT_ActorMngr_c@l /* 0x804909C8@l */
-/* 804908A4 90 1F 00 04 */ stw r0, 4(r31)
-/* 804908A8 7C 80 07 35 */ extsh. r0, r4
-/* 804908AC 40 81 00 08 */ ble lbl_804908B4
-/* 804908B0 4B E3 E4 8D */ bl __dl__FPv
-lbl_804908B4:
-/* 804908B4 7F E3 FB 78 */ mr r3, r31
-/* 804908B8 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 804908BC 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 804908C0 7C 08 03 A6 */ mtlr r0
-/* 804908C4 38 21 00 10 */ addi r1, r1, 0x10
-/* 804908C8 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/chkPointInArea__12daTag_Push_cF4cXyz.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/chkPointInArea__12daTag_Push_cF4cXyz.s
deleted file mode 100644
index a28bb9429b..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/chkPointInArea__12daTag_Push_cF4cXyz.s
+++ /dev/null
@@ -1,59 +0,0 @@
-lbl_80490724:
-/* 80490724 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 80490728 7C 08 02 A6 */ mflr r0
-/* 8049072C 90 01 00 44 */ stw r0, 0x44(r1)
-/* 80490730 93 E1 00 3C */ stw r31, 0x3c(r1)
-/* 80490734 93 C1 00 38 */ stw r30, 0x38(r1)
-/* 80490738 7C 7E 1B 78 */ mr r30, r3
-/* 8049073C 7C 9F 23 78 */ mr r31, r4
-/* 80490740 80 03 00 B0 */ lwz r0, 0xb0(r3)
-/* 80490744 54 04 06 3E */ clrlwi r4, r0, 0x18
-/* 80490748 28 04 00 FF */ cmplwi r4, 0xff
-/* 8049074C 41 82 00 20 */ beq lbl_8049076C
-/* 80490750 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 80490754 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 80490758 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
-/* 8049075C 7C 05 07 74 */ extsb r5, r0
-/* 80490760 4B BA 4C 01 */ bl isSwitch__10dSv_info_cCFii
-/* 80490764 2C 03 00 00 */ cmpwi r3, 0
-/* 80490768 40 82 00 14 */ bne lbl_8049077C
-lbl_8049076C:
-/* 8049076C 80 1E 00 B0 */ lwz r0, 0xb0(r30)
-/* 80490770 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 80490774 28 00 00 FF */ cmplwi r0, 0xff
-/* 80490778 40 82 00 68 */ bne lbl_804907E0
-lbl_8049077C:
-/* 8049077C C0 1F 00 00 */ lfs f0, 0(r31)
-/* 80490780 D0 01 00 20 */ stfs f0, 0x20(r1)
-/* 80490784 C0 1F 00 04 */ lfs f0, 4(r31)
-/* 80490788 D0 01 00 24 */ stfs f0, 0x24(r1)
-/* 8049078C C0 1F 00 08 */ lfs f0, 8(r31)
-/* 80490790 D0 01 00 28 */ stfs f0, 0x28(r1)
-/* 80490794 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
-/* 80490798 D0 01 00 14 */ stfs f0, 0x14(r1)
-/* 8049079C C0 1E 04 D4 */ lfs f0, 0x4d4(r30)
-/* 804907A0 D0 01 00 18 */ stfs f0, 0x18(r1)
-/* 804907A4 C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
-/* 804907A8 D0 01 00 1C */ stfs f0, 0x1c(r1)
-/* 804907AC C0 1E 04 EC */ lfs f0, 0x4ec(r30)
-/* 804907B0 D0 01 00 08 */ stfs f0, 8(r1)
-/* 804907B4 C0 1E 04 F0 */ lfs f0, 0x4f0(r30)
-/* 804907B8 D0 01 00 0C */ stfs f0, 0xc(r1)
-/* 804907BC C0 1E 04 F4 */ lfs f0, 0x4f4(r30)
-/* 804907C0 D0 01 00 10 */ stfs f0, 0x10(r1)
-/* 804907C4 38 61 00 20 */ addi r3, r1, 0x20
-/* 804907C8 38 81 00 14 */ addi r4, r1, 0x14
-/* 804907CC 38 A1 00 08 */ addi r5, r1, 8
-/* 804907D0 A8 DE 04 E6 */ lha r6, 0x4e6(r30)
-/* 804907D4 38 E0 00 01 */ li r7, 1
-/* 804907D8 4B CB BB AD */ bl daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi
-/* 804907DC 48 00 00 08 */ b lbl_804907E4
-lbl_804907E0:
-/* 804907E0 38 60 00 00 */ li r3, 0
-lbl_804907E4:
-/* 804907E4 83 E1 00 3C */ lwz r31, 0x3c(r1)
-/* 804907E8 83 C1 00 38 */ lwz r30, 0x38(r1)
-/* 804907EC 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 804907F0 7C 08 03 A6 */ mtlr r0
-/* 804907F4 38 21 00 40 */ addi r1, r1, 0x40
-/* 804907F8 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/create__12daTag_Push_cFv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/create__12daTag_Push_cFv.s
deleted file mode 100644
index ac2f290f3f..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/create__12daTag_Push_cFv.s
+++ /dev/null
@@ -1,52 +0,0 @@
-lbl_80490418:
-/* 80490418 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8049041C 7C 08 02 A6 */ mflr r0
-/* 80490420 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80490424 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80490428 93 C1 00 08 */ stw r30, 8(r1)
-/* 8049042C 7C 7F 1B 78 */ mr r31, r3
-/* 80490430 80 03 04 A0 */ lwz r0, 0x4a0(r3)
-/* 80490434 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
-/* 80490438 40 82 00 40 */ bne lbl_80490478
-/* 8049043C 7F E0 FB 79 */ or. r0, r31, r31
-/* 80490440 41 82 00 2C */ beq lbl_8049046C
-/* 80490444 7C 1E 03 78 */ mr r30, r0
-/* 80490448 4B B8 87 1D */ bl __ct__10fopAc_ac_cFv
-/* 8049044C 3C 60 80 49 */ lis r3, __vt__12daTag_Push_c@ha /* 0x804909D4@ha */
-/* 80490450 38 03 09 D4 */ addi r0, r3, __vt__12daTag_Push_c@l /* 0x804909D4@l */
-/* 80490454 90 1E 05 70 */ stw r0, 0x570(r30)
-/* 80490458 3C 60 80 49 */ lis r3, __vt__18daNpcT_ActorMngr_c@ha /* 0x804909C8@ha */
-/* 8049045C 38 03 09 C8 */ addi r0, r3, __vt__18daNpcT_ActorMngr_c@l /* 0x804909C8@l */
-/* 80490460 90 1E 05 6C */ stw r0, 0x56c(r30)
-/* 80490464 38 7E 05 68 */ addi r3, r30, 0x568
-/* 80490468 4B CB 52 6D */ bl initialize__18daNpcT_ActorMngr_cFv
-lbl_8049046C:
-/* 8049046C 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
-/* 80490470 60 00 00 08 */ ori r0, r0, 8
-/* 80490474 90 1F 04 A0 */ stw r0, 0x4a0(r31)
-lbl_80490478:
-/* 80490478 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
-/* 8049047C 3C 60 80 49 */ lis r3, lit_3887@ha /* 0x8049094C@ha */
-/* 80490480 C0 23 09 4C */ lfs f1, lit_3887@l(r3) /* 0x8049094C@l */
-/* 80490484 EC 00 00 72 */ fmuls f0, f0, f1
-/* 80490488 D0 1F 04 EC */ stfs f0, 0x4ec(r31)
-/* 8049048C C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
-/* 80490490 EC 00 00 72 */ fmuls f0, f0, f1
-/* 80490494 D0 1F 04 F0 */ stfs f0, 0x4f0(r31)
-/* 80490498 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
-/* 8049049C D0 1F 04 F4 */ stfs f0, 0x4f4(r31)
-/* 804904A0 7F E3 FB 78 */ mr r3, r31
-/* 804904A4 48 00 02 21 */ bl isDelete__12daTag_Push_cFv
-/* 804904A8 2C 03 00 00 */ cmpwi r3, 0
-/* 804904AC 41 82 00 0C */ beq lbl_804904B8
-/* 804904B0 38 60 00 05 */ li r3, 5
-/* 804904B4 48 00 00 08 */ b lbl_804904BC
-lbl_804904B8:
-/* 804904B8 38 60 00 04 */ li r3, 4
-lbl_804904BC:
-/* 804904BC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 804904C0 83 C1 00 08 */ lwz r30, 8(r1)
-/* 804904C4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 804904C8 7C 08 03 A6 */ mtlr r0
-/* 804904CC 38 21 00 10 */ addi r1, r1, 0x10
-/* 804904D0 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Create__FPv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Create__FPv.s
deleted file mode 100644
index 41405eebee..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Create__FPv.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_804907FC:
-/* 804907FC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80490800 7C 08 02 A6 */ mflr r0
-/* 80490804 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80490808 4B FF FC 11 */ bl create__12daTag_Push_cFv
-/* 8049080C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80490810 7C 08 03 A6 */ mtlr r0
-/* 80490814 38 21 00 10 */ addi r1, r1, 0x10
-/* 80490818 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Delete__FPv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Delete__FPv.s
deleted file mode 100644
index b29ee4d23f..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Delete__FPv.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_8049081C:
-/* 8049081C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80490820 7C 08 02 A6 */ mflr r0
-/* 80490824 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80490828 4B FF FC AD */ bl Delete__12daTag_Push_cFv
-/* 8049082C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80490830 7C 08 03 A6 */ mtlr r0
-/* 80490834 38 21 00 10 */ addi r1, r1, 0x10
-/* 80490838 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Draw__FPv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Draw__FPv.s
deleted file mode 100644
index 45a9654958..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Draw__FPv.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_8049085C:
-/* 8049085C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80490860 7C 08 02 A6 */ mflr r0
-/* 80490864 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80490868 4B FF FE 55 */ bl Draw__12daTag_Push_cFv
-/* 8049086C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80490870 7C 08 03 A6 */ mtlr r0
-/* 80490874 38 21 00 10 */ addi r1, r1, 0x10
-/* 80490878 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Execute__FPv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Execute__FPv.s
deleted file mode 100644
index f1dbcd631f..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Execute__FPv.s
+++ /dev/null
@@ -1,9 +0,0 @@
-lbl_8049083C:
-/* 8049083C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80490840 7C 08 02 A6 */ mflr r0
-/* 80490844 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80490848 4B FF FC 95 */ bl Execute__12daTag_Push_cFv
-/* 8049084C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80490850 7C 08 03 A6 */ mtlr r0
-/* 80490854 38 21 00 10 */ addi r1, r1, 0x10
-/* 80490858 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/isDelete__12daTag_Push_cFv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/isDelete__12daTag_Push_cFv.s
deleted file mode 100644
index 3e1a585590..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/isDelete__12daTag_Push_cFv.s
+++ /dev/null
@@ -1,26 +0,0 @@
-lbl_804906C4:
-/* 804906C4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 804906C8 7C 08 02 A6 */ mflr r0
-/* 804906CC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 804906D0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 804906D4 7C 65 1B 78 */ mr r5, r3
-/* 804906D8 3B E0 00 00 */ li r31, 0
-/* 804906DC 80 03 00 B0 */ lwz r0, 0xb0(r3)
-/* 804906E0 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f
-/* 804906E4 28 04 00 FF */ cmplwi r4, 0xff
-/* 804906E8 41 82 00 24 */ beq lbl_8049070C
-/* 804906EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
-/* 804906F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
-/* 804906F4 88 05 04 E2 */ lbz r0, 0x4e2(r5)
-/* 804906F8 7C 05 07 74 */ extsb r5, r0
-/* 804906FC 4B BA 4C 65 */ bl isSwitch__10dSv_info_cCFii
-/* 80490700 2C 03 00 00 */ cmpwi r3, 0
-/* 80490704 41 82 00 08 */ beq lbl_8049070C
-/* 80490708 3B E0 00 01 */ li r31, 1
-lbl_8049070C:
-/* 8049070C 57 E3 06 3E */ clrlwi r3, r31, 0x18
-/* 80490710 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80490714 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80490718 7C 08 03 A6 */ mtlr r0
-/* 8049071C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80490720 4E 80 00 20 */ blr
diff --git a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/srchActor__12daTag_Push_cFPvPv.s b/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/srchActor__12daTag_Push_cFPvPv.s
deleted file mode 100644
index ad02550651..0000000000
--- a/asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/srchActor__12daTag_Push_cFPvPv.s
+++ /dev/null
@@ -1,103 +0,0 @@
-lbl_804902B8:
-/* 804902B8 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 804902BC 7C 08 02 A6 */ mflr r0
-/* 804902C0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 804902C4 39 61 00 20 */ addi r11, r1, 0x20
-/* 804902C8 4B ED 1F 15 */ bl _savegpr_29
-/* 804902CC 7C 7F 1B 79 */ or. r31, r3, r3
-/* 804902D0 7C 9D 23 78 */ mr r29, r4
-/* 804902D4 3B C0 00 00 */ li r30, 0
-/* 804902D8 41 82 01 18 */ beq lbl_804903F0
-/* 804902DC 4B B8 8A 05 */ bl fopAc_IsActor__FPv
-/* 804902E0 2C 03 00 00 */ cmpwi r3, 0
-/* 804902E4 41 82 01 0C */ beq lbl_804903F0
-/* 804902E8 28 1F 00 00 */ cmplwi r31, 0
-/* 804902EC 41 82 00 0C */ beq lbl_804902F8
-/* 804902F0 80 7F 00 04 */ lwz r3, 4(r31)
-/* 804902F4 48 00 00 08 */ b lbl_804902FC
-lbl_804902F8:
-/* 804902F8 38 60 FF FF */ li r3, -1
-lbl_804902FC:
-/* 804902FC 4B B9 10 A1 */ bl fpcEx_IsExist__FUi
-/* 80490300 2C 03 00 00 */ cmpwi r3, 0
-/* 80490304 41 82 00 EC */ beq lbl_804903F0
-/* 80490308 80 1D 00 B0 */ lwz r0, 0xb0(r29)
-/* 8049030C 54 03 46 3E */ srwi r3, r0, 0x18
-/* 80490310 28 03 00 FF */ cmplwi r3, 0xff
-/* 80490314 38 00 FF FF */ li r0, -1
-/* 80490318 41 82 00 08 */ beq lbl_80490320
-/* 8049031C 7C 60 1B 78 */ mr r0, r3
-lbl_80490320:
-/* 80490320 28 00 00 09 */ cmplwi r0, 9
-/* 80490324 41 81 00 CC */ bgt lbl_804903F0
-/* 80490328 3C 60 80 49 */ lis r3, lit_3868@ha /* 0x80490950@ha */
-/* 8049032C 38 63 09 50 */ addi r3, r3, lit_3868@l /* 0x80490950@l */
-/* 80490330 54 00 10 3A */ slwi r0, r0, 2
-/* 80490334 7C 03 00 2E */ lwzx r0, r3, r0
-/* 80490338 7C 09 03 A6 */ mtctr r0
-/* 8049033C 4E 80 04 20 */ bctr
-lbl_80490340:
-/* 80490340 A8 1F 00 08 */ lha r0, 8(r31)
-/* 80490344 20 00 02 6E */ subfic r0, r0, 0x26e
-/* 80490348 7C 00 00 34 */ cntlzw r0, r0
-/* 8049034C 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 80490350 48 00 00 A0 */ b lbl_804903F0
-lbl_80490354:
-/* 80490354 A8 1F 00 08 */ lha r0, 8(r31)
-/* 80490358 20 00 02 58 */ subfic r0, r0, 0x258
-/* 8049035C 7C 00 00 34 */ cntlzw r0, r0
-/* 80490360 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 80490364 48 00 00 8C */ b lbl_804903F0
-lbl_80490368:
-/* 80490368 A8 1F 00 08 */ lha r0, 8(r31)
-/* 8049036C 20 00 02 50 */ subfic r0, r0, 0x250
-/* 80490370 7C 00 00 34 */ cntlzw r0, r0
-/* 80490374 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 80490378 48 00 00 78 */ b lbl_804903F0
-lbl_8049037C:
-/* 8049037C A8 1F 00 08 */ lha r0, 8(r31)
-/* 80490380 20 00 02 6E */ subfic r0, r0, 0x26e
-/* 80490384 7C 00 00 34 */ cntlzw r0, r0
-/* 80490388 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 8049038C 48 00 00 64 */ b lbl_804903F0
-lbl_80490390:
-/* 80490390 A8 1F 00 08 */ lha r0, 8(r31)
-/* 80490394 20 00 02 60 */ subfic r0, r0, 0x260
-/* 80490398 7C 00 00 34 */ cntlzw r0, r0
-/* 8049039C 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 804903A0 48 00 00 50 */ b lbl_804903F0
-lbl_804903A4:
-/* 804903A4 A8 1F 00 08 */ lha r0, 8(r31)
-/* 804903A8 20 00 02 45 */ subfic r0, r0, 0x245
-/* 804903AC 7C 00 00 34 */ cntlzw r0, r0
-/* 804903B0 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 804903B4 48 00 00 3C */ b lbl_804903F0
-lbl_804903B8:
-/* 804903B8 A8 1F 00 08 */ lha r0, 8(r31)
-/* 804903BC 20 00 02 46 */ subfic r0, r0, 0x246
-/* 804903C0 7C 00 00 34 */ cntlzw r0, r0
-/* 804903C4 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 804903C8 48 00 00 28 */ b lbl_804903F0
-lbl_804903CC:
-/* 804903CC A8 1F 00 08 */ lha r0, 8(r31)
-/* 804903D0 20 00 02 3B */ subfic r0, r0, 0x23b
-/* 804903D4 7C 00 00 34 */ cntlzw r0, r0
-/* 804903D8 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-/* 804903DC 48 00 00 14 */ b lbl_804903F0
-lbl_804903E0:
-/* 804903E0 A8 1F 00 08 */ lha r0, 8(r31)
-/* 804903E4 20 00 02 39 */ subfic r0, r0, 0x239
-/* 804903E8 7C 00 00 34 */ cntlzw r0, r0
-/* 804903EC 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f
-lbl_804903F0:
-/* 804903F0 2C 1E 00 00 */ cmpwi r30, 0
-/* 804903F4 40 82 00 08 */ bne lbl_804903FC
-/* 804903F8 3B E0 00 00 */ li r31, 0
-lbl_804903FC:
-/* 804903FC 7F E3 FB 78 */ mr r3, r31
-/* 80490400 39 61 00 20 */ addi r11, r1, 0x20
-/* 80490404 4B ED 1E 25 */ bl _restgpr_29
-/* 80490408 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8049040C 7C 08 03 A6 */ mtlr r0
-/* 80490410 38 21 00 20 */ addi r1, r1, 0x20
-/* 80490414 4E 80 00 20 */ blr
diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h
index 4cda66ba8b..1001fc4ee3 100644
--- a/include/d/a/d_a_npc.h
+++ b/include/d/a/d_a_npc.h
@@ -3,8 +3,8 @@
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "Z2AudioLib/Z2Creature.h"
-#include "d/com/d_com_inf_game.h"
#include "d/a/d_a_player.h"
+#include "d/com/d_com_inf_game.h"
#include "d/d_path.h"
#include "d/msg/d_msg_flow.h"
#include "d/particle/d_particle_copoly.h"
@@ -40,6 +40,8 @@ public:
/* 801456FC */ void remove();
/* 80145708 */ fopAc_ac_c* getActorP();
+ daNpcT_ActorMngr_c() { initialize(); };
+
/* 8014D108 */ virtual ~daNpcT_ActorMngr_c();
};
@@ -49,8 +51,8 @@ private:
/* 0x0F8 */ mutable f32 field_0xF8;
/* 0x0FC */ f32 mTranslationX;
/* 0x100 */ f32 mTranslationY;
- /* 0x104 */u8 field_0x104;
- /* 0x105 */u8 field_0x105;
+ /* 0x104 */ u8 field_0x104;
+ /* 0x105 */ u8 field_0x105;
public:
/* 80145764 */ void initialize();
@@ -189,20 +191,18 @@ public:
/* 80146188 */ int chkPassed1(cXyz, int);
/* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int);
- inline Vec getPntPos(int i_idx) {
- return mpRoomPath->m_points[i_idx].m_position;
- }
+ inline Vec getPntPos(int i_idx) { return mpRoomPath->m_points[i_idx].m_position; }
- int chkClose() {
- int roomPath = dPath_ChkClose(mpRoomPath);
+ int chkClose() {
+ int roomPath = dPath_ChkClose(mpRoomPath);
return roomPath;
}
bool chkReverse() { return mDirection == 1; }
- u16 getNumPnts() {
+ u16 getNumPnts() {
dPath* path = mpRoomPath;
- return path->m_num;
+ return path->m_num;
}
u16& getIdx() { return mIdx; }
@@ -413,13 +413,9 @@ public:
/* 8014CCE8 */ virtual void changeBtk(int*, int*);
/* 8014A628 */ virtual void setMotionAnm(int, f32, int);
- bool checkHide() {
- return field_0xe25 || (!dComIfGs_wolfeye_effect_check() && field_0xa89);
- }
-
- s16 checkStep() {
- return mStepNo == 1;
- }
+ bool checkHide() { return field_0xe25 || (!dComIfGs_wolfeye_effect_check() && field_0xa89); }
+ s16 checkStep() { return mStepNo == 1; }
+ void setCommander(fopAc_ac_c* param_0) { field_0xba0.entry(param_0); }
static u8 const mCcDObjData[48];
static dCcD_SrcCyl mCcDCyl;
@@ -482,11 +478,11 @@ protected:
/* 0x91A */ csXyz field_0x91a[3];
/* 0x92C */ int mCutIndex;
/* 0x930 */ u32 field_0x930;
- /* 0x934 */ int field_0x934; // index in 0x93c to not decrement timer (if 0x938 is nonzero)
- /* 0x938 */ int field_0x938; // controls whether to use field 0x934
- /* 0x93C */ int field_0x93c[5]; // timers for removing actors from 0x82c
+ /* 0x934 */ int field_0x934; // index in 0x93c to not decrement timer (if 0x938 is nonzero)
+ /* 0x938 */ int field_0x938; // controls whether to use field 0x934
+ /* 0x93C */ int field_0x93c[5]; // timers for removing actors from 0x82c
/* 0x950 */ int field_0x950;
- /* 0x954 */ int field_0x954; // a timer
+ /* 0x954 */ int field_0x954; // a timer
/* 0x958 */ int field_0x958;
/* 0x95C */ int field_0x95c;
/* 0x960 */ int field_0x960;
@@ -536,7 +532,7 @@ protected:
/* 0x9F1 */ u8 field_0x9f1;
/* 0x9F2 */ bool mHide;
/* 0x9f3 */ u8 field_0x9f3;
- /* 0x9F4 */ bool field_0x9f4; // controls whether setHitodamaPrtcl is called
+ /* 0x9F4 */ bool field_0x9f4; // controls whether setHitodamaPrtcl is called
/* 0x9F5 */ u8 field_0x9f5;
/* 0x9F6 */ u8 field_0x9f6;
/* 0x9F8 */ dMsgFlow_c mFlow;
@@ -552,22 +548,25 @@ public:
};
enum AnmFlags {
- ANM_PAUSE_MORF = 0x0001,
- ANM_PAUSE_BTK = 0x0002,
- ANM_PAUSE_BRK = 0x0004,
- ANM_PLAY_MORF = 0x0008,
- ANM_PLAY_BTK = 0x0010,
- ANM_PLAY_BRK = 0x0020,
- ANM_PAUSE_BCK = 0x0040,
- ANM_PAUSE_BTP = 0x0080,
- ANM_PLAY_BCK = 0x0100,
- ANM_PLAY_BTP = 0x0200,
- ANM_FLAG_400 = 0x0400,
- ANM_FLAG_800 = 0x0800,
+ ANM_PAUSE_MORF = 0x0001,
+ ANM_PAUSE_BTK = 0x0002,
+ ANM_PAUSE_BRK = 0x0004,
+ ANM_PLAY_MORF = 0x0008,
+ ANM_PLAY_BTK = 0x0010,
+ ANM_PLAY_BRK = 0x0020,
+ ANM_PAUSE_BCK = 0x0040,
+ ANM_PAUSE_BTP = 0x0080,
+ ANM_PLAY_BCK = 0x0100,
+ ANM_PLAY_BTP = 0x0200,
+ ANM_FLAG_400 = 0x0400,
+ ANM_FLAG_800 = 0x0800,
ANM_PAUSE_EXPRESSION = 0x1000,
- ANM_MOTION_FLAGS = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PLAY_MORF | ANM_PLAY_BTK | ANM_PLAY_BRK,
- ANM_EXPRESSION_FLAGS = ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PLAY_BCK | ANM_PLAY_BTP | ANM_FLAG_400 | ANM_FLAG_800 | ANM_PAUSE_EXPRESSION,
- ANM_PAUSE_ALL = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PAUSE_EXPRESSION,
+ ANM_MOTION_FLAGS = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PLAY_MORF |
+ ANM_PLAY_BTK | ANM_PLAY_BRK,
+ ANM_EXPRESSION_FLAGS = ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PLAY_BCK | ANM_PLAY_BTP |
+ ANM_FLAG_400 | ANM_FLAG_800 | ANM_PAUSE_EXPRESSION,
+ ANM_PAUSE_ALL = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PAUSE_BCK |
+ ANM_PAUSE_BTP | ANM_PAUSE_EXPRESSION,
};
/* 80152014 */ BOOL execute();
@@ -581,11 +580,16 @@ public:
/* 80152B68 */ J3DAnmTexPattern* getTexPtrnAnmP(char*, int);
/* 80152BA4 */ J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char*, int);
/* 80152BE0 */ J3DAnmTevRegKey* getTevRegKeyAnmP(char*, int);
- /* 80152C1C */ BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, int i_start, int i_end);
- /* 80152C80 */ BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start, int i_end, bool i_modify);
- /* 80152CC4 */ BOOL setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate, int i_attr);
- /* 80152D04 */ BOOL setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate, int i_attr);
- /* 80152D44 */ BOOL setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate, int i_attr);
+ /* 80152C1C */ BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr,
+ int i_start, int i_end);
+ /* 80152C80 */ BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start,
+ int i_end, bool i_modify);
+ /* 80152CC4 */ BOOL setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate,
+ int i_attr);
+ /* 80152D04 */ BOOL setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate,
+ int i_attr);
+ /* 80152D44 */ BOOL setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate,
+ int i_attr);
/* 80152D84 */ void setEnvTevColor();
/* 80152DE0 */ void setRoomNo();
/* 80152E24 */ BOOL chkEndAnm(f32);
@@ -609,8 +613,8 @@ public:
/* 80154250 */ void setAngle(s16);
/* 80154278 */ u8 getDistTableIdx(int, int);
/* 801542A0 */ fopAc_ac_c* getEvtAreaTagP(int, int);
- /* 8015436C */ fopAc_ac_c* getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int,
- int);
+ /* 8015436C */ fopAc_ac_c* getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16,
+ int, int);
/* 80154730 */ BOOL chkActorInSight2(fopAc_ac_c*, f32, s16);
/* 80154834 */ BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
/* 801548F4 */ BOOL chkPointInArea(cXyz, cXyz, cXyz, s16);
@@ -635,11 +639,22 @@ public:
/* 80155BD0 */ virtual BOOL drawDbgInfo();
/* 80155BCC */ virtual void drawOtherMdls();
- BOOL chkActorInSpeakArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[3]); }
- BOOL chkPlayerInSpeakArea(fopAc_ac_c* i_actor) { return chkActorInSpeakArea(daPy_getPlayerActorClass(), i_actor); }
- BOOL chkActorInTalkArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[1]); }
- BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) { return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor); }
+ BOOL chkActorInSpeakArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) {
+ return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[3]);
+ }
+ BOOL chkPlayerInSpeakArea(fopAc_ac_c* i_actor) {
+ return chkActorInSpeakArea(daPy_getPlayerActorClass(), i_actor);
+ }
+ BOOL chkActorInTalkArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) {
+ return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[1]);
+ }
+ BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) {
+ return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor);
+ }
BOOL checkHide() { return mHide || (field_0x9f4 && !dComIfGs_wolfeye_effect_check()); }
+ void setIntDemander(fopAc_ac_c* i_actor) { field_0x824.entry(i_actor); }
+ void setIntFlowNodeNo(int i_flowNodeNo) { mFlowNodeNo = i_flowNodeNo; }
+ void onInterrupt(u8 param_0) { field_0x9ef = param_0; }
static u8 const mCcDObjInfo[48];
static dCcD_SrcCyl mCcDCyl;
@@ -654,8 +669,7 @@ STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
BOOL daNpcF_chkEvtBit(u32 i_idx);
BOOL daNpcF_chkTmpBit(u32 i_idx);
void daNpcF_offTmpBit(u32 i_idx);
-int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2,
- csXyz& param_3);
+int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3);
s16 daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
struct daBaseNpc_matAnm_c {
@@ -667,12 +681,13 @@ class daBaseNpc_acMngr_c {
private:
/* 0x00 */ u8 field_0x00[4];
/* 0x04 */ u32 mActorId;
+
public:
/* 8014D804 */ daBaseNpc_acMngr_c();
/* 8014D81C */ void entry(fopAc_ac_c*);
/* 8014D838 */ fopAc_ac_c* getActor();
/* 80150524 */ ~daBaseNpc_acMngr_c();
-};
+};
class daBaseNpc_path_c {
private:
@@ -696,8 +711,6 @@ public:
/* 8014DB0C */ void setIdx(u16);
/* 8014DB14 */ Vec getPntPos(u16);
/* 801503FC */ ~daBaseNpc_path_c();
-
-
};
class daBaseNpc_lookat_c {
@@ -791,7 +804,7 @@ public:
/* 8014F4A8 */ void drawOtherMdls();
/* 8014F4AC */ bool dbgDraw();
- void setVtable(void* table) { vtable = table;}
+ void setVtable(void* table) { vtable = table; }
static u8 const mCcDObj[48];
static dCcD_SrcCyl mCcDCyl;
@@ -802,7 +815,6 @@ class daBaseNpc_moveBgActor_c : public daBaseNpc_c {
private:
/* 0xA14 */ u32 field_0xa14;
-
public:
/* 8014F4B4 */ daBaseNpc_moveBgActor_c();
/* 8014F518 */ void MoveBGCreateHeap();
@@ -846,14 +858,13 @@ public:
};
class daNpcF_SPCurve_c {
-private:
+private:
/* 0x00 */ u16 mNurbs;
/* 0x02 */ u16 field_0x02;
/* 0x04 */ u8 field_0x04;
/* 0x05 */ bool mIsClosed;
/* 0x08 */ dStage_dPnt_c mPoints[96];
-
public:
/* 80150870 */ void initialize(dPath*, int);
};
@@ -885,12 +896,8 @@ public:
/* 80150EB4 */ void setNextIdxDst(cXyz);
u16& getIdx() { return mIdx; };
- inline Vec getPntPos(int i_idx) {
- return mpRoomPath->m_points[i_idx].m_position;
- }
- int chkClose() {
- return dPath_ChkClose(mpRoomPath);
- }
+ inline Vec getPntPos(int i_idx) { return mpRoomPath->m_points[i_idx].m_position; }
+ int chkClose() { return dPath_ChkClose(mpRoomPath); }
};
class daNpcF_Lookat_c {
@@ -922,7 +929,6 @@ public:
class daNpcF_MoveBgActor_c {
private:
-
public:
/* 80155B54 */ ~daNpcF_MoveBgActor_c();
/* 80155E88 */ bool CreateHeap();
diff --git a/include/rel/d/a/tag/d_a_tag_push/d_a_tag_push.h b/include/rel/d/a/tag/d_a_tag_push/d_a_tag_push.h
index 1f3aaaffe9..4f4f7e945a 100644
--- a/include/rel/d/a/tag/d_a_tag_push/d_a_tag_push.h
+++ b/include/rel/d/a/tag/d_a_tag_push/d_a_tag_push.h
@@ -1,6 +1,44 @@
#ifndef D_A_TAG_PUSH_H
#define D_A_TAG_PUSH_H
+#include "d/a/d_a_npc.h"
#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+class daTag_Push_c : public fopAc_ac_c {
+public:
+ /* 804902B8 */ static void* srchActor(void*, void*);
+ /* 80490418 */ int create();
+ /* 804904D4 */ int Delete();
+ /* 804904DC */ int Execute();
+ /* 804906BC */ int Draw();
+ /* 804906C4 */ int isDelete();
+ /* 80490724 */ int chkPointInArea(cXyz);
+
+ u32 getId() {
+ u32 id = fopAcM_GetParam(this) >> 0x18;
+ if (id != 0xFF) {
+ return id;
+ }
+ return -1;
+ }
+
+ u8 getBitSW() { return fopAcM_GetParam(this) & 0xFF; }
+
+ u8 getBitSW2() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
+
+ u32 getFlowNodeNo() {
+ if (orig.angle.x == 0xFFFF) {
+ return 0xFFFFFFFF;
+ } else {
+ return orig.angle.x & 0xFFFF;
+ }
+ }
+
+ /* 0x568 */ daNpcT_ActorMngr_c mActorMngr;
+
+ /* 804908CC */ virtual ~daTag_Push_c();
+};
+STATIC_ASSERT(sizeof(daTag_Push_c) == 0x574);
#endif /* D_A_TAG_PUSH_H */
diff --git a/rel/d/a/tag/d_a_tag_push/d_a_tag_push.cpp b/rel/d/a/tag/d_a_tag_push/d_a_tag_push.cpp
index f9686ad3d5..a39fc49596 100644
--- a/rel/d/a/tag/d_a_tag_push/d_a_tag_push.cpp
+++ b/rel/d/a/tag/d_a_tag_push/d_a_tag_push.cpp
@@ -4,269 +4,195 @@
//
#include "rel/d/a/tag/d_a_tag_push/d_a_tag_push.h"
-#include "dol2asm.h"
-
-//
-// Types:
-//
-
-struct fopAc_ac_c {
- /* 80018B64 */ fopAc_ac_c();
- /* 80018C8C */ ~fopAc_ac_c();
-};
-
-struct cXyz {};
-
-struct daTag_Push_c {
- /* 804902B8 */ void srchActor(void*, void*);
- /* 80490418 */ void create();
- /* 804904D4 */ bool Delete();
- /* 804904DC */ void Execute();
- /* 804906BC */ bool Draw();
- /* 804906C4 */ void isDelete();
- /* 80490724 */ void chkPointInArea(cXyz);
- /* 804908CC */ ~daTag_Push_c();
-};
-
-struct daNpcT_ActorMngr_c {
- /* 801456D4 */ void initialize();
- /* 801456E0 */ void entry(fopAc_ac_c*);
- /* 80145708 */ void getActorP();
- /* 80490884 */ ~daNpcT_ActorMngr_c();
-};
-
-struct daNpcF_ActorMngr_c {
- /* 801506BC */ void entry(fopAc_ac_c*);
-};
-
-struct dSv_info_c {
- /* 80035360 */ void isSwitch(int, int) const;
-};
-
-//
-// Forward References:
-//
-
-extern "C" void srchActor__12daTag_Push_cFPvPv();
-extern "C" void create__12daTag_Push_cFv();
-extern "C" bool Delete__12daTag_Push_cFv();
-extern "C" void Execute__12daTag_Push_cFv();
-extern "C" bool Draw__12daTag_Push_cFv();
-extern "C" void isDelete__12daTag_Push_cFv();
-extern "C" void chkPointInArea__12daTag_Push_cF4cXyz();
-extern "C" static void daTag_Push_Create__FPv();
-extern "C" static void daTag_Push_Delete__FPv();
-extern "C" static void daTag_Push_Execute__FPv();
-extern "C" static void daTag_Push_Draw__FPv();
-extern "C" static bool daTag_Push_IsDelete__FPv();
-extern "C" void __dt__18daNpcT_ActorMngr_cFv();
-extern "C" void __dt__12daTag_Push_cFv();
-
-//
-// External References:
-//
-
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void __dt__10fopAc_ac_cFv();
-extern "C" void fopAc_IsActor__FPv();
-extern "C" void fopAcM_delete__FP10fopAc_ac_c();
-extern "C" void fpcEx_Search__FPFPvPv_PvPv();
-extern "C" void fpcEx_IsExist__FUi();
-extern "C" void isSwitch__10dSv_info_cCFii();
-extern "C" void initialize__18daNpcT_ActorMngr_cFv();
-extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c();
-extern "C" void getActorP__18daNpcT_ActorMngr_cFv();
-extern "C" void daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi();
-extern "C" void entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c();
-extern "C" void __dl__FPv();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_29();
-extern "C" extern void* g_fopAc_Method[8];
-extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80490950-80490978 -00001 0028+00 1/1 0/0 0/0 .data @3868 */
-SECTION_DATA static void* lit_3868[10] = {
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0x138),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0x88),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0x9C),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0xB0),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0xC4),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0xD8),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0xEC),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0x100),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0x114),
- (void*)(((char*)srchActor__12daTag_Push_cFPvPv) + 0x128),
-};
+#include "JSystem/JKernel/JKRHeap.h"
+#include "d/d_procname.h"
/* 804902B8-80490418 000078 0160+00 2/1 0/0 0/0 .text srchActor__12daTag_Push_cFPvPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTag_Push_c::srchActor(void* param_0, void* param_1) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/srchActor__12daTag_Push_cFPvPv.s"
+void* daTag_Push_c::srchActor(void* param_0, void* param_1) {
+ BOOL bVar1 = false;
+ if (param_0 != NULL && fopAcM_IsActor(param_0)) {
+ if (fopAcM_IsExecuting(fopAcM_GetID(param_0))) {
+ switch (((daTag_Push_c*)param_1)->getId()) {
+ case 1:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_TARO;
+ break;
+ case 2:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_JAGAR;
+ break;
+ case 3:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_LEN;
+ break;
+ case 4:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_TARO;
+ break;
+ case 5:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_MARO;
+ break;
+ case 6:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_BESU;
+ break;
+ case 7:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_BOU;
+ break;
+ case 8:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_GRS;
+ break;
+ case 9:
+ bVar1 = ((daTag_Push_c*)param_0)->mBase.mProcName == PROC_NPC_GRO;
+ break;
+ }
+ }
+ }
+
+ if (!bVar1) {
+ param_0 = NULL;
+ }
+ return param_0;
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 8049094C-80490950 000000 0004+00 1/1 0/0 0/0 .rodata @3887 */
-SECTION_RODATA static f32 const lit_3887 = 100.0f;
-COMPILER_STRIP_GATE(0x8049094C, &lit_3887);
-
-/* 80490978-80490998 -00001 0020+00 1/0 0/0 0/0 .data daTag_Push_MethodTable */
-SECTION_DATA static void* daTag_Push_MethodTable[8] = {
- (void*)daTag_Push_Create__FPv,
- (void*)daTag_Push_Delete__FPv,
- (void*)daTag_Push_Execute__FPv,
- (void*)daTag_Push_IsDelete__FPv,
- (void*)daTag_Push_Draw__FPv,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
-};
-
-/* 80490998-804909C8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_PUSH */
-SECTION_DATA extern void* g_profile_TAG_PUSH[12] = {
- (void*)0xFFFFFFFD, (void*)0x0008FFFD,
- (void*)0x02EC0000, (void*)&g_fpcLf_Method,
- (void*)0x00000574, (void*)NULL,
- (void*)NULL, (void*)&g_fopAc_Method,
- (void*)0x01230000, (void*)&daTag_Push_MethodTable,
- (void*)0x00044000, (void*)0x000E0000,
-};
-
-/* 804909C8-804909D4 000078 000C+00 3/3 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */
-SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__18daNpcT_ActorMngr_cFv,
-};
-
-/* 804909D4-804909E0 000084 000C+00 2/2 0/0 0/0 .data __vt__12daTag_Push_c */
-SECTION_DATA extern void* __vt__12daTag_Push_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12daTag_Push_cFv,
-};
/* 80490418-804904D4 0001D8 00BC+00 1/1 0/0 0/0 .text create__12daTag_Push_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTag_Push_c::create() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/create__12daTag_Push_cFv.s"
+int daTag_Push_c::create() {
+ fopAcM_SetupActor(this, daTag_Push_c);
+ mScale.x *= 100.0f;
+ mScale.y *= 100.0f;
+ mScale.z = mScale.x;
+ if (isDelete()) {
+ return cPhs_ERROR_e;
+ } else {
+ return cPhs_COMPLEATE_e;
+ }
}
-#pragma pop
/* 804904D4-804904DC 000294 0008+00 1/1 0/0 0/0 .text Delete__12daTag_Push_cFv */
-bool daTag_Push_c::Delete() {
- return true;
+int daTag_Push_c::Delete() {
+ return 1;
}
/* 804904DC-804906BC 00029C 01E0+00 1/1 0/0 0/0 .text Execute__12daTag_Push_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTag_Push_c::Execute() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/Execute__12daTag_Push_cFv.s"
+int daTag_Push_c::Execute() {
+ if (orig.roomNo == dComIfGp_roomControl_getStayNo()) {
+ fopAc_ac_c* actor = mActorMngr.getActorP();
+ if (isDelete()) {
+ if (actor != NULL && fopAcM_GetName(actor) != PROC_NPC_JAGAR &&
+ fopAcM_GetName(actor) != PROC_NPC_GRS && fopAcM_GetName(actor) != PROC_NPC_GRO)
+ {
+ static_cast<daNpcT_c*>(actor)->setCommander(NULL);
+ }
+ fopAcM_delete(this);
+ return 1;
+ } else {
+ if (!i_dComIfGp_event_runCheck()) {
+ if (actor == NULL) {
+ actor = (fopAc_ac_c*)(i_fpcM_Search(srchActor, this));
+ if (actor != NULL) {
+ mActorMngr.entry(actor);
+ }
+ }
+ if (actor != NULL &&
+ daPy_getPlayerActorClass()->mEvtInfo.chkCondition(dEvtCnd_CANTALK_e) != false)
+ {
+ if (chkPointInArea(cXyz(daPy_getPlayerActorClass()->current.pos))) {
+ if (fopAcM_GetName(actor) == PROC_NPC_GRS ||
+ fopAcM_GetName(actor) == PROC_NPC_GRO)
+ {
+ static_cast<daNpcF_c*>(actor)->setIntDemander(this);
+ static_cast<daNpcF_c*>(actor)->setIntFlowNodeNo(getFlowNodeNo());
+ static_cast<daNpcF_c*>(actor)->onInterrupt(getId());
+ } else {
+ static_cast<daNpcT_c*>(actor)->setCommander(this);
+ }
+ }
+ }
+ }
+ mAttentionInfo.mFlags = 0;
+ mAttentionInfo.mPosition = current.pos;
+ mEyePos = mAttentionInfo.mPosition;
+ return 1;
+ }
+ }
+ return 0;
}
-#pragma pop
/* 804906BC-804906C4 00047C 0008+00 1/1 0/0 0/0 .text Draw__12daTag_Push_cFv */
-bool daTag_Push_c::Draw() {
- return true;
+int daTag_Push_c::Draw() {
+ return 1;
}
/* 804906C4-80490724 000484 0060+00 2/2 0/0 0/0 .text isDelete__12daTag_Push_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTag_Push_c::isDelete() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/isDelete__12daTag_Push_cFv.s"
+int daTag_Push_c::isDelete() {
+ bool retVal = false;
+ if (getBitSW2() != 0xFF) {
+ if (dComIfGs_isSwitch(getBitSW2(), fopAcM_GetRoomNo(this))) {
+ retVal = true;
+ }
+ }
+ return retVal;
}
-#pragma pop
/* 80490724-804907FC 0004E4 00D8+00 1/1 0/0 0/0 .text chkPointInArea__12daTag_Push_cF4cXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTag_Push_c::chkPointInArea(cXyz param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/chkPointInArea__12daTag_Push_cF4cXyz.s"
+int daTag_Push_c::chkPointInArea(cXyz param_0) {
+ if ((getBitSW() != 0xFF && dComIfGs_isSwitch(getBitSW(), fopAcM_GetRoomNo(this))) ||
+ getBitSW() == 0xFF)
+ {
+ return daNpcT_chkPointInArea(param_0, current.pos, mScale, shape_angle.y, 1);
+ } else {
+ return 0;
+ }
}
-#pragma pop
/* 804907FC-8049081C 0005BC 0020+00 1/0 0/0 0/0 .text daTag_Push_Create__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTag_Push_Create(void* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Create__FPv.s"
+static int daTag_Push_Create(void* i_this) {
+ return static_cast<daTag_Push_c*>(i_this)->create();
}
-#pragma pop
/* 8049081C-8049083C 0005DC 0020+00 1/0 0/0 0/0 .text daTag_Push_Delete__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTag_Push_Delete(void* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Delete__FPv.s"
+static int daTag_Push_Delete(void* i_this) {
+ return static_cast<daTag_Push_c*>(i_this)->Delete();
}
-#pragma pop
/* 8049083C-8049085C 0005FC 0020+00 1/0 0/0 0/0 .text daTag_Push_Execute__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTag_Push_Execute(void* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Execute__FPv.s"
+static int daTag_Push_Execute(void* i_this) {
+ return static_cast<daTag_Push_c*>(i_this)->Execute();
}
-#pragma pop
/* 8049085C-8049087C 00061C 0020+00 1/0 0/0 0/0 .text daTag_Push_Draw__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTag_Push_Draw(void* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/daTag_Push_Draw__FPv.s"
+static int daTag_Push_Draw(void* i_this) {
+ return static_cast<daTag_Push_c*>(i_this)->Draw();
}
-#pragma pop
/* 8049087C-80490884 00063C 0008+00 1/0 0/0 0/0 .text daTag_Push_IsDelete__FPv */
-static bool daTag_Push_IsDelete(void* param_0) {
- return true;
+static int daTag_Push_IsDelete(void* i_this) {
+ return 1;
}
+/* 804908CC-80490944 00068C 0078+00 1/0 0/0 0/0 .text __dt__12daTag_Push_cFv */
+inline daTag_Push_c::~daTag_Push_c() {}
+
/* 80490884-804908CC 000644 0048+00 1/0 0/0 0/0 .text __dt__18daNpcT_ActorMngr_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__18daNpcT_ActorMngr_cFv.s"
-}
-#pragma pop
+inline daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {}
-/* 804908CC-80490944 00068C 0078+00 1/0 0/0 0/0 .text __dt__12daTag_Push_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm daTag_Push_c::~daTag_Push_c() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_push/d_a_tag_push/__dt__12daTag_Push_cFv.s"
-}
-#pragma pop
+/* ############################################################################################## */
+/* 80490978-80490998 -00001 0020+00 1/0 0/0 0/0 .data daTag_Push_MethodTable */
+static actor_method_class daTag_Push_MethodTable = {
+ (process_method_func)daTag_Push_Create, (process_method_func)daTag_Push_Delete,
+ (process_method_func)daTag_Push_Execute, (process_method_func)daTag_Push_IsDelete,
+ (process_method_func)daTag_Push_Draw,
+};
+
+/* 80490998-804909C8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_PUSH */
+extern actor_process_profile_definition g_profile_TAG_PUSH = {
+ fpcLy_CURRENT_e,
+ 8,
+ fpcLy_CURRENT_e,
+ PROC_TAG_PUSH,
+ &g_fpcLf_Method.mBase,
+ sizeof(daTag_Push_c),
+ 0,
+ 0,
+ &g_fopAc_Method.base,
+ 0x123,
+ &daTag_Push_MethodTable,
+ 0x44000,
+ 0,
+ fopAc_CULLBOX_CUSTOM_e,
+};