d_a_tag_ret_room fully matching (#291)

* d_a_tag_ret_room fully matching

* most of d_a_tag_ret_room decompiled
This commit is contained in:
Trueffel 2023-02-17 22:00:39 +01:00 committed by GitHub
parent 7fdd453996
commit 90da306e5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 137 additions and 462 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 24.340478% | 875416 | 3596544
.text | 24.500632% | 881176 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 32.316787% | 1299352 | 4020672
Total | 32.460046% | 1305112 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.316787% | 1299352 | 4020672
RELs | 33.572932% | 3860996 | 11500324
Total | 33.247531% | 5160348 | 15520996
main.dol | 32.460046% | 1305112 | 4020672
RELs | 33.580376% | 3861852 | 11500324
Total | 33.290157% | 5166964 | 15520996
## RELs
@ -753,7 +753,7 @@ d_a_tag_pachi | 51.107595% | 1292 | 2528
d_a_tag_poFire | 63.270142% | 1068 | 1688
d_a_tag_push | 41.000000% | 1148 | 2800
d_a_tag_qs | 34.804270% | 1956 | 5620
d_a_tag_ret_room | 49.168646% | 828 | 1684
d_a_tag_ret_room | 100.000000% | 1684 | 1684
d_a_tag_river_back | 45.725916% | 1348 | 2948
d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204
d_a_tag_schedule | 100.000000% | 712 | 712
@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.572932% | 3860996 | 11500324
Total | 33.580376% | 3861852 | 11500324

View File

@ -1,16 +0,0 @@
lbl_80D5EE98:
/* 80D5EE98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5EE9C 7C 08 02 A6 */ mflr r0
/* 80D5EEA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5EEA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5EEA8 7C 7F 1B 78 */ mr r31, r3
/* 80D5EEAC 4B 2B 9C B9 */ bl __ct__10fopAc_ac_cFv
/* 80D5EEB0 3C 60 80 D6 */ lis r3, __vt__12daTagRetRm_c@ha /* 0x80D5F264@ha */
/* 80D5EEB4 38 03 F2 64 */ addi r0, r3, __vt__12daTagRetRm_c@l /* 0x80D5F264@l */
/* 80D5EEB8 90 1F 05 68 */ stw r0, 0x568(r31)
/* 80D5EEBC 7F E3 FB 78 */ mr r3, r31
/* 80D5EEC0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5EEC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5EEC8 7C 08 03 A6 */ mtlr r0
/* 80D5EECC 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5EED0 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80D5EED4:
/* 80D5EED4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5EED8 7C 08 02 A6 */ mflr r0
/* 80D5EEDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5EEE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5EEE4 93 C1 00 08 */ stw r30, 8(r1)
/* 80D5EEE8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80D5EEEC 7C 9F 23 78 */ mr r31, r4
/* 80D5EEF0 41 82 00 28 */ beq lbl_80D5EF18
/* 80D5EEF4 3C 80 80 D6 */ lis r4, __vt__12daTagRetRm_c@ha /* 0x80D5F264@ha */
/* 80D5EEF8 38 04 F2 64 */ addi r0, r4, __vt__12daTagRetRm_c@l /* 0x80D5F264@l */
/* 80D5EEFC 90 1E 05 68 */ stw r0, 0x568(r30)
/* 80D5EF00 38 80 00 00 */ li r4, 0
/* 80D5EF04 4B 2B 9D 89 */ bl __dt__10fopAc_ac_cFv
/* 80D5EF08 7F E0 07 35 */ extsh. r0, r31
/* 80D5EF0C 40 81 00 0C */ ble lbl_80D5EF18
/* 80D5EF10 7F C3 F3 78 */ mr r3, r30
/* 80D5EF14 4B 56 FE 29 */ bl __dl__FPv
lbl_80D5EF18:
/* 80D5EF18 7F C3 F3 78 */ mr r3, r30
/* 80D5EF1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5EF20 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D5EF24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5EF28 7C 08 03 A6 */ mtlr r0
/* 80D5EF2C 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5EF30 4E 80 00 20 */ blr

View File

@ -1,67 +0,0 @@
lbl_80D5F050:
/* 80D5F050 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80D5F054 7C 08 02 A6 */ mflr r0
/* 80D5F058 90 01 00 34 */ stw r0, 0x34(r1)
/* 80D5F05C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80D5F060 7C 7F 1B 78 */ mr r31, r3
/* 80D5F064 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5F068 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5F06C 80 83 5D AC */ lwz r4, 0x5dac(r3)
/* 80D5F070 28 04 00 00 */ cmplwi r4, 0
/* 80D5F074 40 82 00 0C */ bne lbl_80D5F080
/* 80D5F078 38 60 00 00 */ li r3, 0
/* 80D5F07C 48 00 00 BC */ b lbl_80D5F138
lbl_80D5F080:
/* 80D5F080 38 61 00 08 */ addi r3, r1, 8
/* 80D5F084 38 84 04 D0 */ addi r4, r4, 0x4d0
/* 80D5F088 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 80D5F08C 4B 50 7A A9 */ bl __mi__4cXyzCFRC3Vec
/* 80D5F090 C0 01 00 08 */ lfs f0, 8(r1)
/* 80D5F094 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80D5F098 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80D5F09C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80D5F0A0 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80D5F0A4 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80D5F0A8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D5F0AC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D5F0B0 A8 1F 04 DE */ lha r0, 0x4de(r31)
/* 80D5F0B4 7C 00 00 D0 */ neg r0, r0
/* 80D5F0B8 7C 04 07 34 */ extsh r4, r0
/* 80D5F0BC 4B 2A D3 21 */ bl mDoMtx_YrotS__FPA4_fs
/* 80D5F0C0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D5F0C4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D5F0C8 38 81 00 14 */ addi r4, r1, 0x14
/* 80D5F0CC 7C 85 23 78 */ mr r5, r4
/* 80D5F0D0 4B 5E 7C 9D */ bl PSMTXMultVec
/* 80D5F0D4 3C 60 80 D6 */ lis r3, lit_3718@ha /* 0x80D5F210@ha */
/* 80D5F0D8 C0 03 F2 10 */ lfs f0, lit_3718@l(r3) /* 0x80D5F210@l */
/* 80D5F0DC C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80D5F0E0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80D5F0E4 40 80 00 50 */ bge lbl_80D5F134
/* 80D5F0E8 C0 1F 05 70 */ lfs f0, 0x570(r31)
/* 80D5F0EC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80D5F0F0 40 81 00 44 */ ble lbl_80D5F134
/* 80D5F0F4 C0 1F 05 6C */ lfs f0, 0x56c(r31)
/* 80D5F0F8 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 80D5F0FC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80D5F100 40 81 00 34 */ ble lbl_80D5F134
/* 80D5F104 C0 7F 05 74 */ lfs f3, 0x574(r31)
/* 80D5F108 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 80D5F10C FC 03 10 40 */ fcmpo cr0, f3, f2
/* 80D5F110 40 81 00 24 */ ble lbl_80D5F134
/* 80D5F114 FC 00 00 50 */ fneg f0, f0
/* 80D5F118 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80D5F11C 40 80 00 18 */ bge lbl_80D5F134
/* 80D5F120 FC 00 18 50 */ fneg f0, f3
/* 80D5F124 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80D5F128 40 80 00 0C */ bge lbl_80D5F134
/* 80D5F12C 38 60 00 01 */ li r3, 1
/* 80D5F130 48 00 00 08 */ b lbl_80D5F138
lbl_80D5F134:
/* 80D5F134 38 60 00 00 */ li r3, 0
lbl_80D5F138:
/* 80D5F138 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80D5F13C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80D5F140 7C 08 03 A6 */ mtlr r0
/* 80D5F144 38 21 00 30 */ addi r1, r1, 0x30
/* 80D5F148 4E 80 00 20 */ blr

View File

@ -1,25 +0,0 @@
lbl_80D5EF34:
/* 80D5EF34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5EF38 7C 08 02 A6 */ mflr r0
/* 80D5EF3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5EF40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5EF44 7C 7F 1B 78 */ mr r31, r3
/* 80D5EF48 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D5EF4C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D5EF50 40 82 00 1C */ bne lbl_80D5EF6C
/* 80D5EF54 28 1F 00 00 */ cmplwi r31, 0
/* 80D5EF58 41 82 00 08 */ beq lbl_80D5EF60
/* 80D5EF5C 4B FF FF 3D */ bl __ct__12daTagRetRm_cFv
lbl_80D5EF60:
/* 80D5EF60 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D5EF64 60 00 00 08 */ ori r0, r0, 8
/* 80D5EF68 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D5EF6C:
/* 80D5EF6C 7F E3 FB 78 */ mr r3, r31
/* 80D5EF70 48 00 00 A1 */ bl init__12daTagRetRm_cFv
/* 80D5EF74 38 60 00 04 */ li r3, 4
/* 80D5EF78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5EF7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5EF80 7C 08 03 A6 */ mtlr r0
/* 80D5EF84 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5EF88 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5F1A0:
/* 80D5F1A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5F1A4 7C 08 02 A6 */ mflr r0
/* 80D5F1A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5F1AC 4B FF FD E1 */ bl Delete__12daTagRetRm_cFv
/* 80D5F1B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5F1B4 7C 08 03 A6 */ mtlr r0
/* 80D5F1B8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5F1BC 4E 80 00 20 */ blr

View File

@ -1,24 +0,0 @@
lbl_80D5F14C:
/* 80D5F14C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5F150 7C 08 02 A6 */ mflr r0
/* 80D5F154 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5F158 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5F15C 7C 7F 1B 78 */ mr r31, r3
/* 80D5F160 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D5F164 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D5F168 40 82 00 1C */ bne lbl_80D5F184
/* 80D5F16C 28 1F 00 00 */ cmplwi r31, 0
/* 80D5F170 41 82 00 08 */ beq lbl_80D5F178
/* 80D5F174 4B FF FD 25 */ bl __ct__12daTagRetRm_cFv
lbl_80D5F178:
/* 80D5F178 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D5F17C 60 00 00 08 */ ori r0, r0, 8
/* 80D5F180 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D5F184:
/* 80D5F184 7F E3 FB 78 */ mr r3, r31
/* 80D5F188 4B FF FD AD */ bl create__12daTagRetRm_cFv
/* 80D5F18C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5F190 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5F194 7C 08 03 A6 */ mtlr r0
/* 80D5F198 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5F19C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5F1E0:
/* 80D5F1E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5F1E4 7C 08 02 A6 */ mflr r0
/* 80D5F1E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5F1EC 4B FF FD A9 */ bl draw__12daTagRetRm_cFv
/* 80D5F1F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5F1F4 7C 08 03 A6 */ mtlr r0
/* 80D5F1F8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5F1FC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5F1C0:
/* 80D5F1C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5F1C4 7C 08 02 A6 */ mflr r0
/* 80D5F1C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5F1CC 4B FF FD D1 */ bl execute__12daTagRetRm_cFv
/* 80D5F1D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5F1D4 7C 08 03 A6 */ mtlr r0
/* 80D5F1D8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5F1DC 4E 80 00 20 */ blr

View File

@ -1,32 +0,0 @@
lbl_80D5EF9C:
/* 80D5EF9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5EFA0 7C 08 02 A6 */ mflr r0
/* 80D5EFA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5EFA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5EFAC 7C 7F 1B 78 */ mr r31, r3
/* 80D5EFB0 80 83 05 78 */ lwz r4, 0x578(r3)
/* 80D5EFB4 2C 04 00 00 */ cmpwi r4, 0
/* 80D5EFB8 41 82 00 2C */ beq lbl_80D5EFE4
/* 80D5EFBC 38 04 FF FF */ addi r0, r4, -1
/* 80D5EFC0 90 1F 05 78 */ stw r0, 0x578(r31)
/* 80D5EFC4 80 1F 05 78 */ lwz r0, 0x578(r31)
/* 80D5EFC8 2C 00 00 00 */ cmpwi r0, 0
/* 80D5EFCC 40 82 00 2C */ bne lbl_80D5EFF8
/* 80D5EFD0 38 60 00 01 */ li r3, 1
/* 80D5EFD4 38 80 00 05 */ li r4, 5
/* 80D5EFD8 38 A0 00 C9 */ li r5, 0xc9
/* 80D5EFDC 4B 40 04 5D */ bl forceRestartRoom__9daPy_py_cFiUli
/* 80D5EFE0 48 00 00 18 */ b lbl_80D5EFF8
lbl_80D5EFE4:
/* 80D5EFE4 48 00 00 6D */ bl chkPlyrInTag__12daTagRetRm_cFv
/* 80D5EFE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80D5EFEC 41 82 00 0C */ beq lbl_80D5EFF8
/* 80D5EFF0 38 00 00 1E */ li r0, 0x1e
/* 80D5EFF4 90 1F 05 78 */ stw r0, 0x578(r31)
lbl_80D5EFF8:
/* 80D5EFF8 38 60 00 01 */ li r3, 1
/* 80D5EFFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5F000 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5F004 7C 08 03 A6 */ mtlr r0
/* 80D5F008 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5F00C 4E 80 00 20 */ blr

View File

@ -1,17 +0,0 @@
lbl_80D5F010:
/* 80D5F010 3C 80 80 D6 */ lis r4, lit_3682@ha /* 0x80D5F208@ha */
/* 80D5F014 C0 44 F2 08 */ lfs f2, lit_3682@l(r4) /* 0x80D5F208@l */
/* 80D5F018 C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 80D5F01C EC 02 00 32 */ fmuls f0, f2, f0
/* 80D5F020 D0 03 05 6C */ stfs f0, 0x56c(r3)
/* 80D5F024 3C 80 80 D6 */ lis r4, lit_3683@ha /* 0x80D5F20C@ha */
/* 80D5F028 C0 24 F2 0C */ lfs f1, lit_3683@l(r4) /* 0x80D5F20C@l */
/* 80D5F02C C0 03 04 F0 */ lfs f0, 0x4f0(r3)
/* 80D5F030 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D5F034 D0 03 05 70 */ stfs f0, 0x570(r3)
/* 80D5F038 C0 03 04 F4 */ lfs f0, 0x4f4(r3)
/* 80D5F03C EC 02 00 32 */ fmuls f0, f2, f0
/* 80D5F040 D0 03 05 74 */ stfs f0, 0x574(r3)
/* 80D5F044 38 00 00 00 */ li r0, 0
/* 80D5F048 90 03 05 78 */ stw r0, 0x578(r3)
/* 80D5F04C 4E 80 00 20 */ blr

View File

@ -1,6 +1,25 @@
#ifndef D_A_TAG_RET_ROOM_H
#define D_A_TAG_RET_ROOM_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "f_op/f_op_actor_mng.h"
class daTagRetRm_c : public fopAc_ac_c {
public:
/* 80D5EE98 */ daTagRetRm_c();
/* 80D5EED4 */ virtual ~daTagRetRm_c();
/* 80D5EF34 */ int create();
/* 80D5EF8C */ int Delete();
/* 80D5EF94 */ int draw();
/* 80D5EF9C */ int execute();
/* 80D5F010 */ void init();
/* 80D5F050 */ u8 chkPlyrInTag();
/* 0x56C */ f32 field_0x56c;
/* 0x570 */ f32 field_0x570;
/* 0x574 */ f32 field_0x574;
/* 0x578 */ s32 field_0x578;
};
#endif /* D_A_TAG_RET_ROOM_H */

View File

@ -1,241 +1,131 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_ret_room
//
/**
* d_a_tag_ret_room.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
/* 80D5EE98-80D5EED4 000078 003C+00 2/2 0/0 0/0 .text __ct__12daTagRetRm_cFv */
daTagRetRm_c::daTagRetRm_c() {}
struct mDoMtx_stack_c {
static u8 now[48];
};
/* 80D5EED4-80D5EF34 0000B4 0060+00 1/0 0/0 0/0 .text __dt__12daTagRetRm_cFv */
daTagRetRm_c::~daTagRetRm_c() {}
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
/* 80D5EF34-80D5EF8C 000114 0058+00 1/1 0/0 0/0 .text create__12daTagRetRm_cFv */
int daTagRetRm_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTagRetRm_c();
fopAcM_OnCondition(this, 8);
}
init();
return cPhs_COMPLEATE_e;
}
struct daTagRetRm_c {
/* 80D5EE98 */ daTagRetRm_c();
/* 80D5EED4 */ ~daTagRetRm_c();
/* 80D5EF34 */ void create();
/* 80D5EF8C */ bool Delete();
/* 80D5EF94 */ bool draw();
/* 80D5EF9C */ void execute();
/* 80D5F010 */ void init();
/* 80D5F050 */ void chkPlyrInTag();
};
/* 80D5EF8C-80D5EF94 00016C 0008+00 1/1 0/0 0/0 .text Delete__12daTagRetRm_cFv */
int daTagRetRm_c::Delete() {
return 1;
}
struct daPy_py_c {
/* 8015F438 */ void forceRestartRoom(int, u32, int);
};
/* 80D5EF94-80D5EF9C 000174 0008+00 1/1 0/0 0/0 .text draw__12daTagRetRm_cFv */
int daTagRetRm_c::draw() {
return 1;
}
struct Vec {};
/* 80D5EF9C-80D5F010 00017C 0074+00 1/1 0/0 0/0 .text execute__12daTagRetRm_cFv */
int daTagRetRm_c::execute() {
if (field_0x578 != 0) {
field_0x578--;
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
};
if (field_0x578 == 0) {
daPy_py_c::forceRestartRoom(1, 5, 0xc9);
}
} else {
if (chkPlyrInTag()) {
field_0x578 = 30;
}
}
return 1;
}
//
// Forward References:
//
/* 80D5F010-80D5F050 0001F0 0040+00 1/1 0/0 0/0 .text init__12daTagRetRm_cFv */
void daTagRetRm_c::init() {
field_0x56c = mScale.x * 50;
field_0x570 = mScale.y * 100;
field_0x574 = mScale.z * 50;
field_0x578 = 0;
}
extern "C" void __ct__12daTagRetRm_cFv();
extern "C" void __dt__12daTagRetRm_cFv();
extern "C" void create__12daTagRetRm_cFv();
extern "C" bool Delete__12daTagRetRm_cFv();
extern "C" bool draw__12daTagRetRm_cFv();
extern "C" void execute__12daTagRetRm_cFv();
extern "C" void init__12daTagRetRm_cFv();
extern "C" void chkPlyrInTag__12daTagRetRm_cFv();
extern "C" static void daTagRetRm_create__FP12daTagRetRm_c();
extern "C" static void daTagRetRm_Delete__FP12daTagRetRm_c();
extern "C" static void daTagRetRm_execute__FP12daTagRetRm_c();
extern "C" static void daTagRetRm_draw__FP12daTagRetRm_c();
/* 80D5F050-80D5F14C 000230 00FC+00 1/1 0/0 0/0 .text chkPlyrInTag__12daTagRetRm_cFv */
u8 daTagRetRm_c::chkPlyrInTag() {
cXyz pos;
if (dComIfGp_getPlayer(0) == NULL) {
return 0;
} else {
pos = daPy_getPlayerActorClass()->current.pos - current.pos;
mDoMtx_stack_c::YrotS(-current.angle.y);
mDoMtx_stack_c::multVec(&pos, &pos);
if ((0 < pos.y) && (field_0x570 > pos.y) && (field_0x56c > pos.x) &&
(field_0x574 > pos.z) && (-field_0x56c < pos.x) && (-field_0x574 < pos.z))
{
return 1;
} else {
return 0;
}
}
}
//
// External References:
//
/* 80D5F14C-80D5F1A0 00032C 0054+00 1/0 0/0 0/0 .text daTagRetRm_create__FP12daTagRetRm_c */
static int daTagRetRm_create(daTagRetRm_c* i_this) {
if (!fopAcM_CheckCondition(i_this, 8)) {
new (i_this) daTagRetRm_c();
fopAcM_OnCondition(i_this, 8);
}
return i_this->create();
}
extern "C" void mDoMtx_YrotS__FPA4_fs();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void forceRestartRoom__9daPy_py_cFiUli();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __dl__FPv();
extern "C" void PSMTXMultVec();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
/* 80D5F1A0-80D5F1C0 000380 0020+00 1/0 0/0 0/0 .text daTagRetRm_Delete__FP12daTagRetRm_c */
static int daTagRetRm_Delete(daTagRetRm_c* i_this) {
return i_this->Delete();
}
//
// Declarations:
//
/* 80D5F1C0-80D5F1E0 0003A0 0020+00 1/0 0/0 0/0 .text daTagRetRm_execute__FP12daTagRetRm_c */
static int daTagRetRm_execute(daTagRetRm_c* i_this) {
return i_this->execute();
}
/* 80D5F1E0-80D5F200 0003C0 0020+00 1/0 0/0 0/0 .text daTagRetRm_draw__FP12daTagRetRm_c */
static int daTagRetRm_draw(daTagRetRm_c* i_this) {
return i_this->draw();
}
/* ############################################################################################## */
/* 80D5F214-80D5F234 -00001 0020+00 1/0 0/0 0/0 .data daTagRetRm_METHODS */
SECTION_DATA static void* daTagRetRm_METHODS[8] = {
(void*)daTagRetRm_create__FP12daTagRetRm_c,
(void*)daTagRetRm_Delete__FP12daTagRetRm_c,
(void*)daTagRetRm_execute__FP12daTagRetRm_c,
(void*)NULL,
(void*)daTagRetRm_draw__FP12daTagRetRm_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class daTagRetRm_METHODS = {
(process_method_func)daTagRetRm_create, (process_method_func)daTagRetRm_Delete,
(process_method_func)daTagRetRm_execute, (process_method_func)NULL,
(process_method_func)daTagRetRm_draw,
};
/* 80D5F234-80D5F264 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_RetRoom */
SECTION_DATA extern void* g_profile_Tag_RetRoom[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01890000, (void*)&g_fpcLf_Method,
(void*)0x0000057C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02DB0000, (void*)&daTagRetRm_METHODS,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_RetRoom = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_Tag_RetRoom, // mProcName
0, // padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daTagRetRm_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x02DB, // mPriority
0, // padding
0, // padding
&daTagRetRm_METHODS, // mSubMtd
0x00040000, // mStatus
0x00, // mActorType
0x0E, // mCullType
0, // padding
0, // padding
};
/* 80D5F264-80D5F270 000050 000C+00 2/2 0/0 0/0 .data __vt__12daTagRetRm_c */
SECTION_DATA extern void* __vt__12daTagRetRm_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12daTagRetRm_cFv,
};
/* 80D5EE98-80D5EED4 000078 003C+00 2/2 0/0 0/0 .text __ct__12daTagRetRm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTagRetRm_c::daTagRetRm_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__ct__12daTagRetRm_cFv.s"
}
#pragma pop
/* 80D5EED4-80D5EF34 0000B4 0060+00 1/0 0/0 0/0 .text __dt__12daTagRetRm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTagRetRm_c::~daTagRetRm_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__dt__12daTagRetRm_cFv.s"
}
#pragma pop
/* 80D5EF34-80D5EF8C 000114 0058+00 1/1 0/0 0/0 .text create__12daTagRetRm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagRetRm_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/create__12daTagRetRm_cFv.s"
}
#pragma pop
/* 80D5EF8C-80D5EF94 00016C 0008+00 1/1 0/0 0/0 .text Delete__12daTagRetRm_cFv */
bool daTagRetRm_c::Delete() {
return true;
}
/* 80D5EF94-80D5EF9C 000174 0008+00 1/1 0/0 0/0 .text draw__12daTagRetRm_cFv */
bool daTagRetRm_c::draw() {
return true;
}
/* 80D5EF9C-80D5F010 00017C 0074+00 1/1 0/0 0/0 .text execute__12daTagRetRm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagRetRm_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/execute__12daTagRetRm_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80D5F208-80D5F20C 000000 0004+00 1/1 0/0 0/0 .rodata @3682 */
SECTION_RODATA static f32 const lit_3682 = 50.0f;
COMPILER_STRIP_GATE(0x80D5F208, &lit_3682);
/* 80D5F20C-80D5F210 000004 0004+00 1/1 0/0 0/0 .rodata @3683 */
SECTION_RODATA static f32 const lit_3683 = 100.0f;
COMPILER_STRIP_GATE(0x80D5F20C, &lit_3683);
/* 80D5F010-80D5F050 0001F0 0040+00 1/1 0/0 0/0 .text init__12daTagRetRm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagRetRm_c::init() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/init__12daTagRetRm_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80D5F210-80D5F214 000008 0004+00 1/1 0/0 0/0 .rodata @3718 */
SECTION_RODATA static u8 const lit_3718[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80D5F210, &lit_3718);
/* 80D5F050-80D5F14C 000230 00FC+00 1/1 0/0 0/0 .text chkPlyrInTag__12daTagRetRm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagRetRm_c::chkPlyrInTag() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/chkPlyrInTag__12daTagRetRm_cFv.s"
}
#pragma pop
/* 80D5F14C-80D5F1A0 00032C 0054+00 1/0 0/0 0/0 .text daTagRetRm_create__FP12daTagRetRm_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagRetRm_create(daTagRetRm_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_create__FP12daTagRetRm_c.s"
}
#pragma pop
/* 80D5F1A0-80D5F1C0 000380 0020+00 1/0 0/0 0/0 .text daTagRetRm_Delete__FP12daTagRetRm_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagRetRm_Delete(daTagRetRm_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_Delete__FP12daTagRetRm_c.s"
}
#pragma pop
/* 80D5F1C0-80D5F1E0 0003A0 0020+00 1/0 0/0 0/0 .text daTagRetRm_execute__FP12daTagRetRm_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagRetRm_execute(daTagRetRm_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_execute__FP12daTagRetRm_c.s"
}
#pragma pop
/* 80D5F1E0-80D5F200 0003C0 0020+00 1/0 0/0 0/0 .text daTagRetRm_draw__FP12daTagRetRm_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagRetRm_draw(daTagRetRm_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_draw__FP12daTagRetRm_c.s"
}
#pragma pop