mirror of https://github.com/zeldaret/tp.git
Work on d_a_myna (#1974)
This commit is contained in:
parent
fadcd7bcdf
commit
b344f3b796
12
Progress.md
12
Progress.md
|
|
@ -21,8 +21,8 @@ Total | 41.463716% | 1667120 | 4020672
|
|||
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||
---|---|---|---
|
||||
main.dol | 41.463716% | 1667120 | 4020672
|
||||
RELs | 34.646328% | 3984440 | 11500324
|
||||
Total | 36.412354% | 5651560 | 15520996
|
||||
RELs | 34.707231% | 3991444 | 11500324
|
||||
Total | 36.457480% | 5658564 | 15520996
|
||||
|
||||
## RELs
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ d_a_do | 37.666220% | 14616 | 38804
|
|||
d_a_door_boss | 40.856890% | 3700 | 9056
|
||||
d_a_door_bossL1 | 39.355114% | 7372 | 18732
|
||||
d_a_door_bossL5 | 39.221790% | 4032 | 10280
|
||||
d_a_door_dbdoor00 | 40.734908% | 3104 | 7620
|
||||
d_a_door_dbdoor00 | 100.000000% | 7620 | 7620
|
||||
d_a_door_knob00 | 37.500000% | 4608 | 12288
|
||||
d_a_door_mbossL1 | 34.467633% | 10372 | 30092
|
||||
d_a_door_push | 100.000000% | 7032 | 7032
|
||||
|
|
@ -216,7 +216,7 @@ d_a_mg_rod | 24.484345% | 23836 | 97352
|
|||
d_a_midna | 22.953368% | 12404 | 54040
|
||||
d_a_mirror | 48.001631% | 4708 | 9808
|
||||
d_a_movie_player | 23.696790% | 8328 | 35144
|
||||
d_a_myna | 31.637701% | 9976 | 31532
|
||||
d_a_myna | 36.077635% | 11376 | 31532
|
||||
d_a_nbomb | 28.739233% | 8808 | 30648
|
||||
d_a_ni | 27.299309% | 8216 | 30096
|
||||
d_a_npc_aru | 34.812103% | 12932 | 37148
|
||||
|
|
@ -350,7 +350,7 @@ d_a_obj_avalanche | 41.881443% | 2600 | 6208
|
|||
d_a_obj_balloon | 42.722710% | 2724 | 6376
|
||||
d_a_obj_barDesk | 49.477072% | 2460 | 4972
|
||||
d_a_obj_batta | 31.886560% | 5172 | 16220
|
||||
d_a_obj_bbox | 48.606466% | 1744 | 3588
|
||||
d_a_obj_bbox | 78.929766% | 2832 | 3588
|
||||
d_a_obj_bed | 42.310889% | 2036 | 4812
|
||||
d_a_obj_bemos | 32.943081% | 10580 | 32116
|
||||
d_a_obj_bhashi | 31.443815% | 3772 | 11996
|
||||
|
|
@ -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.646328% | 3984440 | 11500324
|
||||
Total | 34.707231% | 3991444 | 11500324
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80945C6C:
|
||||
/* 80945C6C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80945C70 7C 08 02 A6 */ mflr r0
|
||||
/* 80945C74 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80945C78 48 00 0A 61 */ bl createHeap__8daMyna_cFv
|
||||
/* 80945C7C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80945C80 7C 08 03 A6 */ mtlr r0
|
||||
/* 80945C84 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80945C88 4E 80 00 20 */ blr
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
lbl_80945D9C:
|
||||
/* 80945D9C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80945DA0 7C 08 02 A6 */ mflr r0
|
||||
/* 80945DA4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80945DA8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80945DAC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80945DB0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80945DB4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80945DB8 4B 6D 2F 29 */ bl fopAc_IsActor__FPv
|
||||
/* 80945DBC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80945DC0 41 82 00 30 */ beq lbl_80945DF0
|
||||
/* 80945DC4 A8 1E 00 08 */ lha r0, 8(r30)
|
||||
/* 80945DC8 2C 00 01 25 */ cmpwi r0, 0x125
|
||||
/* 80945DCC 40 82 00 24 */ bne lbl_80945DF0
|
||||
/* 80945DD0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
|
||||
/* 80945DD4 54 03 00 06 */ rlwinm r3, r0, 0, 0, 3
|
||||
/* 80945DD8 80 1E 00 B0 */ lwz r0, 0xb0(r30)
|
||||
/* 80945DDC 54 00 00 06 */ rlwinm r0, r0, 0, 0, 3
|
||||
/* 80945DE0 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 80945DE4 40 82 00 0C */ bne lbl_80945DF0
|
||||
/* 80945DE8 3C 60 80 95 */ lis r3, daMyna_LightActor@ha /* 0x8094BAC0@ha */
|
||||
/* 80945DEC 93 C3 BA C0 */ stw r30, daMyna_LightActor@l(r3) /* 0x8094BAC0@l */
|
||||
lbl_80945DF0:
|
||||
/* 80945DF0 38 60 00 00 */ li r3, 0
|
||||
/* 80945DF4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80945DF8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80945DFC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80945E00 7C 08 03 A6 */ mtlr r0
|
||||
/* 80945E04 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80945E08 4E 80 00 20 */ blr
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
lbl_80949128:
|
||||
/* 80949128 38 00 FF FF */ li r0, -1
|
||||
/* 8094912C 54 84 20 36 */ slwi r4, r4, 4
|
||||
/* 80949130 7C 63 22 14 */ add r3, r3, r4
|
||||
/* 80949134 90 03 08 68 */ stw r0, 0x868(r3)
|
||||
/* 80949138 38 00 00 04 */ li r0, 4
|
||||
/* 8094913C 98 03 08 75 */ stb r0, 0x875(r3)
|
||||
/* 80949140 4E 80 00 20 */ blr
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
lbl_8094640C:
|
||||
/* 8094640C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80946410 7C 08 02 A6 */ mflr r0
|
||||
/* 80946414 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80946418 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8094641C 4B A1 BD C1 */ bl _savegpr_29
|
||||
/* 80946420 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 80946424 80 63 05 74 */ lwz r3, 0x574(r3)
|
||||
/* 80946428 83 E3 00 04 */ lwz r31, 4(r3)
|
||||
/* 8094642C 83 DF 00 04 */ lwz r30, 4(r31)
|
||||
/* 80946430 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
|
||||
/* 80946434 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
|
||||
/* 80946438 38 80 00 00 */ li r4, 0
|
||||
/* 8094643C 38 BD 04 D0 */ addi r5, r29, 0x4d0
|
||||
/* 80946440 38 DD 01 0C */ addi r6, r29, 0x10c
|
||||
/* 80946444 4B 85 D3 81 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
|
||||
/* 80946448 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
|
||||
/* 8094644C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
|
||||
/* 80946450 80 9F 00 04 */ lwz r4, 4(r31)
|
||||
/* 80946454 38 BD 01 0C */ addi r5, r29, 0x10c
|
||||
/* 80946458 4B 85 E9 49 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
|
||||
/* 8094645C A0 1D 09 14 */ lhz r0, 0x914(r29)
|
||||
/* 80946460 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
|
||||
/* 80946464 41 82 00 20 */ beq lbl_80946484
|
||||
/* 80946468 38 7D 05 78 */ addi r3, r29, 0x578
|
||||
/* 8094646C 38 9E 00 58 */ addi r4, r30, 0x58
|
||||
/* 80946470 C0 1D 05 88 */ lfs f0, 0x588(r29)
|
||||
/* 80946474 FC 00 00 1E */ fctiwz f0, f0
|
||||
/* 80946478 D8 01 00 08 */ stfd f0, 8(r1)
|
||||
/* 8094647C 80 A1 00 0C */ lwz r5, 0xc(r1)
|
||||
/* 80946480 4B 6C 71 69 */ bl entry__13mDoExt_btpAnmFP16J3DMaterialTables
|
||||
lbl_80946484:
|
||||
/* 80946484 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80946488 7F C4 F3 78 */ mr r4, r30
|
||||
/* 8094648C 4B 6D 6F A1 */ bl fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData
|
||||
/* 80946490 80 7D 05 74 */ lwz r3, 0x574(r29)
|
||||
/* 80946494 4B 6C AD 2D */ bl entryDL__16mDoExt_McaMorfSOFv
|
||||
/* 80946498 A0 1D 09 14 */ lhz r0, 0x914(r29)
|
||||
/* 8094649C 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
|
||||
/* 809464A0 41 82 00 10 */ beq lbl_809464B0
|
||||
/* 809464A4 38 7E 00 58 */ addi r3, r30, 0x58
|
||||
/* 809464A8 80 9D 05 8C */ lwz r4, 0x58c(r29)
|
||||
/* 809464AC 4B 9E 92 4D */ bl removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern
|
||||
lbl_809464B0:
|
||||
/* 809464B0 38 60 00 01 */ li r3, 1
|
||||
/* 809464B4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 809464B8 4B A1 BD 71 */ bl _restgpr_29
|
||||
/* 809464BC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 809464C0 7C 08 03 A6 */ mtlr r0
|
||||
/* 809464C4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 809464C8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
lbl_80949C0C:
|
||||
/* 80949C0C A8 03 04 B4 */ lha r0, 0x4b4(r3)
|
||||
/* 80949C10 54 03 04 3E */ clrlwi r3, r0, 0x10
|
||||
/* 80949C14 38 00 00 00 */ li r0, 0
|
||||
/* 80949C18 28 03 FF FF */ cmplwi r3, 0xffff
|
||||
/* 80949C1C 41 82 00 0C */ beq lbl_80949C28
|
||||
/* 80949C20 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80949C24 40 82 00 08 */ bne lbl_80949C2C
|
||||
lbl_80949C28:
|
||||
/* 80949C28 38 00 00 01 */ li r0, 1
|
||||
lbl_80949C2C:
|
||||
/* 80949C2C 54 00 06 3F */ clrlwi. r0, r0, 0x18
|
||||
/* 80949C30 38 00 FF FF */ li r0, -1
|
||||
/* 80949C34 40 82 00 08 */ bne lbl_80949C3C
|
||||
/* 80949C38 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_80949C3C:
|
||||
/* 80949C3C 54 03 04 3E */ clrlwi r3, r0, 0x10
|
||||
/* 80949C40 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_80949AD4:
|
||||
/* 80949AD4 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 80949AD8 54 03 47 3E */ rlwinm r3, r0, 8, 0x1c, 0x1f
|
||||
/* 80949ADC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
lbl_80949AE0:
|
||||
/* 80949AE0 38 60 00 0F */ li r3, 0xf
|
||||
/* 80949AE4 80 04 00 B0 */ lwz r0, 0xb0(r4)
|
||||
/* 80949AE8 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 80949AEC A8 84 00 08 */ lha r4, 8(r4)
|
||||
/* 80949AF0 2C 04 01 21 */ cmpwi r4, 0x121
|
||||
/* 80949AF4 40 82 00 40 */ bne lbl_80949B34
|
||||
/* 80949AF8 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 80949AFC 41 82 00 28 */ beq lbl_80949B24
|
||||
/* 80949B00 40 80 00 10 */ bge lbl_80949B10
|
||||
/* 80949B04 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80949B08 40 80 00 14 */ bge lbl_80949B1C
|
||||
/* 80949B0C 4E 80 00 20 */ blr
|
||||
lbl_80949B10:
|
||||
/* 80949B10 2C 00 00 03 */ cmpwi r0, 3
|
||||
/* 80949B14 4C 80 00 20 */ bgelr
|
||||
/* 80949B18 48 00 00 14 */ b lbl_80949B2C
|
||||
lbl_80949B1C:
|
||||
/* 80949B1C 38 60 00 01 */ li r3, 1
|
||||
/* 80949B20 4E 80 00 20 */ blr
|
||||
lbl_80949B24:
|
||||
/* 80949B24 38 60 00 02 */ li r3, 2
|
||||
/* 80949B28 4E 80 00 20 */ blr
|
||||
lbl_80949B2C:
|
||||
/* 80949B2C 38 60 00 00 */ li r3, 0
|
||||
/* 80949B30 4E 80 00 20 */ blr
|
||||
lbl_80949B34:
|
||||
/* 80949B34 2C 04 01 20 */ cmpwi r4, 0x120
|
||||
/* 80949B38 40 82 00 68 */ bne lbl_80949BA0
|
||||
/* 80949B3C 2C 00 00 03 */ cmpwi r0, 3
|
||||
/* 80949B40 41 82 00 48 */ beq lbl_80949B88
|
||||
/* 80949B44 40 80 00 1C */ bge lbl_80949B60
|
||||
/* 80949B48 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 80949B4C 41 82 00 2C */ beq lbl_80949B78
|
||||
/* 80949B50 40 80 00 30 */ bge lbl_80949B80
|
||||
/* 80949B54 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80949B58 40 80 00 18 */ bge lbl_80949B70
|
||||
/* 80949B5C 4E 80 00 20 */ blr
|
||||
lbl_80949B60:
|
||||
/* 80949B60 2C 00 00 05 */ cmpwi r0, 5
|
||||
/* 80949B64 41 82 00 34 */ beq lbl_80949B98
|
||||
/* 80949B68 4C 80 00 20 */ bgelr
|
||||
/* 80949B6C 48 00 00 24 */ b lbl_80949B90
|
||||
lbl_80949B70:
|
||||
/* 80949B70 38 60 00 03 */ li r3, 3
|
||||
/* 80949B74 4E 80 00 20 */ blr
|
||||
lbl_80949B78:
|
||||
/* 80949B78 38 60 00 04 */ li r3, 4
|
||||
/* 80949B7C 4E 80 00 20 */ blr
|
||||
lbl_80949B80:
|
||||
/* 80949B80 38 60 00 05 */ li r3, 5
|
||||
/* 80949B84 4E 80 00 20 */ blr
|
||||
lbl_80949B88:
|
||||
/* 80949B88 38 60 00 06 */ li r3, 6
|
||||
/* 80949B8C 4E 80 00 20 */ blr
|
||||
lbl_80949B90:
|
||||
/* 80949B90 38 60 00 07 */ li r3, 7
|
||||
/* 80949B94 4E 80 00 20 */ blr
|
||||
lbl_80949B98:
|
||||
/* 80949B98 38 60 00 08 */ li r3, 8
|
||||
/* 80949B9C 4E 80 00 20 */ blr
|
||||
lbl_80949BA0:
|
||||
/* 80949BA0 2C 04 01 22 */ cmpwi r4, 0x122
|
||||
/* 80949BA4 4C 82 00 20 */ bnelr
|
||||
/* 80949BA8 2C 00 00 03 */ cmpwi r0, 3
|
||||
/* 80949BAC 41 82 00 48 */ beq lbl_80949BF4
|
||||
/* 80949BB0 40 80 00 1C */ bge lbl_80949BCC
|
||||
/* 80949BB4 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 80949BB8 41 82 00 2C */ beq lbl_80949BE4
|
||||
/* 80949BBC 40 80 00 30 */ bge lbl_80949BEC
|
||||
/* 80949BC0 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80949BC4 40 80 00 18 */ bge lbl_80949BDC
|
||||
/* 80949BC8 4E 80 00 20 */ blr
|
||||
lbl_80949BCC:
|
||||
/* 80949BCC 2C 00 00 05 */ cmpwi r0, 5
|
||||
/* 80949BD0 41 82 00 34 */ beq lbl_80949C04
|
||||
/* 80949BD4 4C 80 00 20 */ bgelr
|
||||
/* 80949BD8 48 00 00 24 */ b lbl_80949BFC
|
||||
lbl_80949BDC:
|
||||
/* 80949BDC 38 60 00 09 */ li r3, 9
|
||||
/* 80949BE0 4E 80 00 20 */ blr
|
||||
lbl_80949BE4:
|
||||
/* 80949BE4 38 60 00 0A */ li r3, 0xa
|
||||
/* 80949BE8 4E 80 00 20 */ blr
|
||||
lbl_80949BEC:
|
||||
/* 80949BEC 38 60 00 0B */ li r3, 0xb
|
||||
/* 80949BF0 4E 80 00 20 */ blr
|
||||
lbl_80949BF4:
|
||||
/* 80949BF4 38 60 00 0C */ li r3, 0xc
|
||||
/* 80949BF8 4E 80 00 20 */ blr
|
||||
lbl_80949BFC:
|
||||
/* 80949BFC 38 60 00 0D */ li r3, 0xd
|
||||
/* 80949C00 4E 80 00 20 */ blr
|
||||
lbl_80949C04:
|
||||
/* 80949C04 38 60 00 0E */ li r3, 0xe
|
||||
/* 80949C08 4E 80 00 20 */ blr
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
lbl_80949948:
|
||||
/* 80949948 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8094994C 7C 08 02 A6 */ mflr r0
|
||||
/* 80949950 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80949954 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80949958 41 82 00 2C */ beq lbl_80949984
|
||||
/* 8094995C 3C 60 80 95 */ lis r3, d_a_myna__stringBase0@ha /* 0x8094B24C@ha */
|
||||
/* 80949960 38 63 B2 4C */ addi r3, r3, d_a_myna__stringBase0@l /* 0x8094B24C@l */
|
||||
/* 80949964 38 63 01 00 */ addi r3, r3, 0x100
|
||||
/* 80949968 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8094996C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80949970 3C A5 00 02 */ addis r5, r5, 2
|
||||
/* 80949974 38 C0 00 80 */ li r6, 0x80
|
||||
/* 80949978 38 A5 C2 F8 */ addi r5, r5, -15624
|
||||
/* 8094997C 4B 6F 2A 01 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci
|
||||
/* 80949980 48 00 00 08 */ b lbl_80949988
|
||||
lbl_80949984:
|
||||
/* 80949984 38 60 00 00 */ li r3, 0
|
||||
lbl_80949988:
|
||||
/* 80949988 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8094998C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80949990 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80949994 4E 80 00 20 */ blr
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
lbl_809498F8:
|
||||
/* 809498F8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 809498FC 7C 08 02 A6 */ mflr r0
|
||||
/* 80949900 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80949904 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80949908 41 82 00 2C */ beq lbl_80949934
|
||||
/* 8094990C 3C 60 80 95 */ lis r3, d_a_myna__stringBase0@ha /* 0x8094B24C@ha */
|
||||
/* 80949910 38 63 B2 4C */ addi r3, r3, d_a_myna__stringBase0@l /* 0x8094B24C@l */
|
||||
/* 80949914 38 63 01 00 */ addi r3, r3, 0x100
|
||||
/* 80949918 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8094991C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80949920 3C A5 00 02 */ addis r5, r5, 2
|
||||
/* 80949924 38 C0 00 80 */ li r6, 0x80
|
||||
/* 80949928 38 A5 C2 F8 */ addi r5, r5, -15624
|
||||
/* 8094992C 4B 6F 2A 51 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci
|
||||
/* 80949930 48 00 00 08 */ b lbl_80949938
|
||||
lbl_80949934:
|
||||
/* 80949934 38 60 00 00 */ li r3, 0
|
||||
lbl_80949938:
|
||||
/* 80949938 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8094993C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80949940 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80949944 4E 80 00 20 */ blr
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
lbl_8094686C:
|
||||
/* 8094686C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80946870 7C 08 02 A6 */ mflr r0
|
||||
/* 80946874 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80946878 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8094687C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80946880 7C BE 2B 78 */ mr r30, r5
|
||||
/* 80946884 A0 84 00 14 */ lhz r4, 0x14(r4)
|
||||
/* 80946888 80 65 00 84 */ lwz r3, 0x84(r5)
|
||||
/* 8094688C 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 80946890 1F E4 00 30 */ mulli r31, r4, 0x30
|
||||
/* 80946894 7C 60 FA 14 */ add r3, r0, r31
|
||||
/* 80946898 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 8094689C 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 809468A0 4B 9F FC 11 */ bl PSMTXCopy
|
||||
/* 809468A4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 809468A8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 809468AC 80 9E 00 84 */ lwz r4, 0x84(r30)
|
||||
/* 809468B0 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 809468B4 7C 80 FA 14 */ add r4, r0, r31
|
||||
/* 809468B8 4B 9F FB F9 */ bl PSMTXCopy
|
||||
/* 809468BC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 809468C0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 809468C4 3C 80 80 43 */ lis r4, mCurrentMtx__6J3DSys@ha /* 0x80434BE4@ha */
|
||||
/* 809468C8 38 84 4B E4 */ addi r4, r4, mCurrentMtx__6J3DSys@l /* 0x80434BE4@l */
|
||||
/* 809468CC 4B 9F FB E5 */ bl PSMTXCopy
|
||||
/* 809468D0 38 60 00 01 */ li r3, 1
|
||||
/* 809468D4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 809468D8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 809468DC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 809468E0 7C 08 03 A6 */ mtlr r0
|
||||
/* 809468E4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 809468E8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
lbl_80945C8C:
|
||||
/* 80945C8C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80945C90 7C 08 02 A6 */ mflr r0
|
||||
/* 80945C94 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80945C98 7C 60 1B 78 */ mr r0, r3
|
||||
/* 80945C9C 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80945CA0 40 82 00 24 */ bne lbl_80945CC4
|
||||
/* 80945CA4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 80945CA8 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 80945CAC 80 A3 00 38 */ lwz r5, 0x38(r3)
|
||||
/* 80945CB0 80 65 00 14 */ lwz r3, 0x14(r5)
|
||||
/* 80945CB4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80945CB8 41 82 00 0C */ beq lbl_80945CC4
|
||||
/* 80945CBC 7C 04 03 78 */ mr r4, r0
|
||||
/* 80945CC0 48 00 0B AD */ bl jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel
|
||||
lbl_80945CC4:
|
||||
/* 80945CC4 38 60 00 01 */ li r3, 1
|
||||
/* 80945CC8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80945CCC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80945CD0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80945CD4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
lbl_809490B8:
|
||||
/* 809490B8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 809490BC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 809490C0 80 84 5D B4 */ lwz r4, 0x5db4(r4)
|
||||
/* 809490C4 80 04 05 74 */ lwz r0, 0x574(r4)
|
||||
/* 809490C8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
|
||||
/* 809490CC 41 82 00 54 */ beq lbl_80949120
|
||||
/* 809490D0 88 03 09 2C */ lbz r0, 0x92c(r3)
|
||||
/* 809490D4 28 00 00 0F */ cmplwi r0, 0xf
|
||||
/* 809490D8 41 81 00 24 */ bgt lbl_809490FC
|
||||
/* 809490DC 3C 80 80 95 */ lis r4, lit_5409@ha /* 0x8094B8B8@ha */
|
||||
/* 809490E0 38 84 B8 B8 */ addi r4, r4, lit_5409@l /* 0x8094B8B8@l */
|
||||
/* 809490E4 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 809490E8 7C 04 00 2E */ lwzx r0, r4, r0
|
||||
/* 809490EC 7C 09 03 A6 */ mtctr r0
|
||||
/* 809490F0 4E 80 04 20 */ bctr
|
||||
lbl_809490F4:
|
||||
/* 809490F4 38 00 00 0A */ li r0, 0xa
|
||||
/* 809490F8 90 03 05 5C */ stw r0, 0x55c(r3)
|
||||
lbl_809490FC:
|
||||
/* 809490FC 80 03 05 5C */ lwz r0, 0x55c(r3)
|
||||
/* 80949100 28 00 00 0A */ cmplwi r0, 0xa
|
||||
/* 80949104 40 82 00 1C */ bne lbl_80949120
|
||||
/* 80949108 38 00 00 8B */ li r0, 0x8b
|
||||
/* 8094910C 98 03 05 45 */ stb r0, 0x545(r3)
|
||||
/* 80949110 98 03 05 47 */ stb r0, 0x547(r3)
|
||||
/* 80949114 A0 03 00 FA */ lhz r0, 0xfa(r3)
|
||||
/* 80949118 60 00 00 01 */ ori r0, r0, 1
|
||||
/* 8094911C B0 03 00 FA */ sth r0, 0xfa(r3)
|
||||
lbl_80949120:
|
||||
/* 80949120 38 60 00 01 */ li r3, 1
|
||||
/* 80949124 4E 80 00 20 */ blr
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
lbl_809498B8:
|
||||
/* 809498B8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 809498BC 7C 08 02 A6 */ mflr r0
|
||||
/* 809498C0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 809498C4 7C 80 23 78 */ mr r0, r4
|
||||
/* 809498C8 7C C7 33 78 */ mr r7, r6
|
||||
/* 809498CC 38 85 00 58 */ addi r4, r5, 0x58
|
||||
/* 809498D0 7C 05 03 78 */ mr r5, r0
|
||||
/* 809498D4 38 C0 00 01 */ li r6, 1
|
||||
/* 809498D8 39 00 00 00 */ li r8, 0
|
||||
/* 809498DC 39 20 FF FF */ li r9, -1
|
||||
/* 809498E0 38 63 05 78 */ addi r3, r3, 0x578
|
||||
/* 809498E4 4B 6C 3C 69 */ bl init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss
|
||||
/* 809498E8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 809498EC 7C 08 03 A6 */ mtlr r0
|
||||
/* 809498F0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 809498F4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
lbl_80949544:
|
||||
/* 80949544 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80949548 7C 08 02 A6 */ mflr r0
|
||||
/* 8094954C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80949550 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80949554 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80949558 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8094955C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80949560 38 63 0F 38 */ addi r3, r3, 0xf38
|
||||
/* 80949564 38 9F 06 80 */ addi r4, r31, 0x680
|
||||
/* 80949568 4B 72 BB 99 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo
|
||||
/* 8094956C 98 7F 04 E2 */ stb r3, 0x4e2(r31)
|
||||
/* 80949570 98 7F 06 CA */ stb r3, 0x6ca(r31)
|
||||
/* 80949574 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80949578 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8094957C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80949580 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80949584 4E 80 00 20 */ blr
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
lbl_809487EC:
|
||||
/* 809487EC 39 00 00 00 */ li r8, 0
|
||||
/* 809487F0 38 A0 00 00 */ li r5, 0
|
||||
/* 809487F4 38 C0 00 03 */ li r6, 3
|
||||
/* 809487F8 48 00 00 20 */ b lbl_80948818
|
||||
lbl_809487FC:
|
||||
/* 809487FC 7C E3 2A 14 */ add r7, r3, r5
|
||||
/* 80948800 80 07 08 68 */ lwz r0, 0x868(r7)
|
||||
/* 80948804 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 80948808 40 82 00 08 */ bne lbl_80948810
|
||||
/* 8094880C 98 C7 08 75 */ stb r6, 0x875(r7)
|
||||
lbl_80948810:
|
||||
/* 80948810 39 08 00 01 */ addi r8, r8, 1
|
||||
/* 80948814 38 A5 00 10 */ addi r5, r5, 0x10
|
||||
lbl_80948818:
|
||||
/* 80948818 88 03 09 30 */ lbz r0, 0x930(r3)
|
||||
/* 8094881C 7C 08 00 00 */ cmpw r8, r0
|
||||
/* 80948820 41 80 FF DC */ blt lbl_809487FC
|
||||
/* 80948824 4E 80 00 20 */ blr
|
||||
|
|
@ -17,7 +17,7 @@ struct ShopItem {
|
|||
/* 0x8 */ u16 mFlowNodeNum;
|
||||
/* 0xA */ u16 mValueNum;
|
||||
/* 0xC */ u8 mItemType;
|
||||
/* 0xE */ u8 mItemStatus;
|
||||
/* 0xD */ u8 mItemStatus;
|
||||
};
|
||||
STATIC_ASSERT(sizeof(ShopItem) == 0x10);
|
||||
|
||||
|
|
@ -34,8 +34,8 @@ public:
|
|||
/* 809463B8 */ int destroy();
|
||||
/* 8094640C */ int draw();
|
||||
/* 809464CC */ int execute();
|
||||
/* 809466D8 */ void createHeap();
|
||||
/* 8094686C */ void jntNodeCB(J3DJoint*, J3DModel*);
|
||||
/* 809466D8 */ int createHeap();
|
||||
/* 8094686C */ int jntNodeCB(J3DJoint*, J3DModel*);
|
||||
/* 809468EC */ void attack_wait_init();
|
||||
/* 8094692C */ void attack_wait_move();
|
||||
/* 80946AEC */ void attack_before_talk_init();
|
||||
|
|
@ -85,8 +85,8 @@ public:
|
|||
/* 80948ADC */ void fly_return_move();
|
||||
/* 80948DFC */ void fly_body_wave();
|
||||
/* 80948E84 */ void talkAnime(msg_class*);
|
||||
/* 80948FAC */ void chkEvent();
|
||||
/* 809490B8 */ void orderEvent();
|
||||
/* 80948FAC */ int chkEvent();
|
||||
/* 809490B8 */ int orderEvent();
|
||||
/* 80949128 */ void deleteItem(int);
|
||||
/* 80949144 */ void deleteItem(unsigned int);
|
||||
/* 80949190 */ void initiate();
|
||||
|
|
@ -95,17 +95,17 @@ public:
|
|||
/* 80949588 */ void setCollision();
|
||||
/* 809495E0 */ void set_mtx();
|
||||
/* 80949744 */ void animePlay();
|
||||
/* 8094983C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
|
||||
/* 8094983C */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
|
||||
/* 809498B8 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
|
||||
/* 809498F8 */ J3DAnmTransformKey* getTrnsfrmKeyAnm(char*);
|
||||
/* 80949948 */ void getTexPtrnAnm(char*);
|
||||
/* 80949948 */ J3DAnmTexPattern* getTexPtrnAnm(char*);
|
||||
/* 80949A70 */ int checkEndAnm(J3DFrameCtrl*);
|
||||
/* 80949998 */ int checkEndAnm(f32);
|
||||
/* 80949AD4 */ int getItemNumMax();
|
||||
/* 80949AE0 */ void getItemType(void*);
|
||||
/* 80949C0C */ void getFlowNodeNum();
|
||||
/* 80949AE0 */ int getItemType(void*);
|
||||
/* 80949C0C */ u16 getFlowNodeNum();
|
||||
/* 80949C44 */ void checkDead();
|
||||
/* 80949D54 */ void chkPlayerInEvtArea(fopAc_ac_c*, cXyz);
|
||||
/* 80949D54 */ int chkPlayerInEvtArea(fopAc_ac_c*, cXyz);
|
||||
/* 80949EE8 */ void animeControl();
|
||||
/* 8094A054 */ void setAnimeType(u8, f32);
|
||||
/* 8094A098 */ void playDefaultWaitAnime();
|
||||
|
|
@ -114,9 +114,7 @@ public:
|
|||
|
||||
daMyna_c(){};
|
||||
|
||||
void onEventFlag(u8 flag) {
|
||||
field_0x92F |= (1 << flag);
|
||||
}
|
||||
void onEventFlag(u8 flag) { field_0x92F |= (1 << flag); }
|
||||
|
||||
typedef void (daMyna_c::*ProcFunc)();
|
||||
typedef int (daMyna_c::*BaseMotionFunc)(int);
|
||||
|
|
|
|||
|
|
@ -5,29 +5,23 @@
|
|||
|
||||
#include "rel/d/a/d_a_myna/d_a_myna.h"
|
||||
#include "JSystem/JKernel/JKRHeap.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 "d/kankyo/d_kankyo.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dol2asm.h"
|
||||
#include "rel/d/a/tag/d_a_tag_myna_light/d_a_tag_myna_light.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct msg_class {};
|
||||
|
||||
struct daTag_MynaLight_c {
|
||||
/* 80D5CE40 */ void setTurnOnOffChange();
|
||||
};
|
||||
|
||||
struct daObj_SSItem_c {
|
||||
/* 80CE77F8 */ void getExchangeItemPtr();
|
||||
};
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 8023822C */ void getStatus();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -266,24 +260,19 @@ extern "C" void setTurnOnOffChange__17daTag_MynaLight_cFv();
|
|||
|
||||
/* 80945C6C-80945C8C 0000EC 0020+00 1/1 0/0 0/0 .text createHeapCallBack__FP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void createHeapCallBack(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/createHeapCallBack__FP10fopAc_ac_c.s"
|
||||
static void createHeapCallBack(fopAc_ac_c* i_this) {
|
||||
static_cast<daMyna_c*>(i_this)->createHeap();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80945C8C-80945CD8 00010C 004C+00 1/1 0/0 0/0 .text jntNodeCallBack__FP8J3DJointi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void jntNodeCallBack(J3DJoint* param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCallBack__FP8J3DJointi.s"
|
||||
static int jntNodeCallBack(J3DJoint* i_jnt, int param_1) {
|
||||
if (param_1 == 0) {
|
||||
if (j3dSys.getModel()->getUserArea() != 0) {
|
||||
((daMyna_c*)j3dSys.getModel()->getUserArea())->jntNodeCB(i_jnt, j3dSys.getModel());
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8094B9F0-8094B9F4 000008 0001+03 2/2 0/0 0/0 .bss @1109 */
|
||||
|
|
@ -403,7 +392,7 @@ static u8 daMyna_subActor[40];
|
|||
#pragma pop
|
||||
|
||||
/* 8094BAC0-8094BAC4 0000D8 0004+00 7/7 0/0 0/0 .bss daMyna_LightActor */
|
||||
static u8 daMyna_LightActor[4];
|
||||
static daTag_MynaLight_c* daMyna_LightActor;
|
||||
|
||||
/* 8094BAC4-8094BAC8 0000DC 0004+00 0/2 0/0 0/0 .bss daMyna_actor_count */
|
||||
#pragma push
|
||||
|
|
@ -422,14 +411,18 @@ static asm void daMyna_searchSSItem(void* param_0, void* param_1) {
|
|||
#pragma pop
|
||||
|
||||
/* 80945D9C-80945E0C 00021C 0070+00 1/1 0/0 0/0 .text daMyna_searchLight__FPvPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daMyna_searchLight(void* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/daMyna_searchLight__FPvPv.s"
|
||||
static void* daMyna_searchLight(void* i_mynaLightTagActor, void* param_1) {
|
||||
if (fopAcM_IsActor(i_mynaLightTagActor) &&
|
||||
fopAcM_GetName(i_mynaLightTagActor) == PROC_TAG_MNLIGHT)
|
||||
{
|
||||
u32 uVar1 = fopAcM_GetParam(param_1) & 0xF0000000;
|
||||
u32 uVar2 = fopAcM_GetParam(i_mynaLightTagActor) & 0xF0000000;
|
||||
if (uVar1 == uVar2) {
|
||||
daMyna_LightActor = static_cast<daTag_MynaLight_c*>(i_mynaLightTagActor);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8094BAC8-8094BACC 0000E0 0004+00 8/9 0/0 0/0 .bss daMyna_evtTagActor0 */
|
||||
|
|
@ -1211,7 +1204,7 @@ static char* l_bckFileNameTBL[] = {
|
|||
};
|
||||
|
||||
/* 8094B7DC-8094B7E0 -00001 0004+00 2/2 0/0 0/0 .data l_btpFileNameTBL */
|
||||
static char* l_btpFileNameTBL = "MYNA.btp";
|
||||
static char* l_btpFileNameTBL[] = {"MYNA.btp"};
|
||||
|
||||
/* 8094B7E0-8094B810 000480 0030+00 1/1 0/0 0/0 .data aParam$localstatic3$__ct__12daMyna_HIO_cFv
|
||||
*/
|
||||
|
|
@ -1341,45 +1334,6 @@ SECTION_DATA u8 daMyna_c::mBaseMotionTBL[84] = {
|
|||
};
|
||||
#endif
|
||||
|
||||
/* 8094B8B8-8094B8F8 -00001 0040+00 1/1 0/0 0/0 .data @5409 */
|
||||
SECTION_DATA static void* lit_5409[16] = {
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x44),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
(void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C),
|
||||
};
|
||||
|
||||
/* 8094B8F8-8094B934 -00001 003C+00 1/1 0/0 0/0 .data @5890 */
|
||||
SECTION_DATA static void* lit_5890[15] = {
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x5C),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x74),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x7C),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x84),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x94),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xA4),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xAC),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
};
|
||||
|
||||
/* 809460A0-80946284 000520 01E4+00 1/1 0/0 0/0 .text create__8daMyna_cFv */
|
||||
// Matches with incorrect weak function ordering
|
||||
#ifdef NONMATCHING
|
||||
|
|
@ -1468,14 +1422,21 @@ int daMyna_c::destroy() {
|
|||
}
|
||||
|
||||
/* 8094640C-809464CC 00088C 00C0+00 1/1 0/0 0/0 .text draw__8daMyna_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daMyna_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/draw__8daMyna_cFv.s"
|
||||
int daMyna_c::draw() {
|
||||
J3DModel* model = mpMorf->getModel();
|
||||
J3DModelData* modelData = model->getModelData();
|
||||
g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(model->getModelData(), &mTevStr);
|
||||
if (cLib_checkBit(field_0x914, 0x40)) {
|
||||
mBtpAnm.entry(modelData);
|
||||
}
|
||||
fopAcM_setEffectMtx(this, modelData);
|
||||
mpMorf->entryDL();
|
||||
if (cLib_checkBit(field_0x914, 0x40)) {
|
||||
mBtpAnm.remove(modelData);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8094B1F4-8094B1F8 000044 0004+00 1/1 0/0 0/0 .rodata @4207 */
|
||||
|
|
@ -1487,6 +1448,54 @@ SECTION_RODATA static f32 const lit_4208 = 100.0f;
|
|||
COMPILER_STRIP_GATE(0x8094B1F8, &lit_4208);
|
||||
|
||||
/* 809464CC-809466D8 00094C 020C+00 2/2 0/0 0/0 .text execute__8daMyna_cFv */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
int daMyna_c::execute() {
|
||||
u8 uVar1 = field_0x92C;
|
||||
u8 uVar2 = field_0x935;
|
||||
bool isTalkNow = dMsgObject_isTalkNowCheck();
|
||||
setItemInfo();
|
||||
int iVar1 = chkEvent();
|
||||
if (daMyna_LightActor == NULL) {
|
||||
i_fpcM_Search(daMyna_searchLight, this);
|
||||
}
|
||||
setRoomNo();
|
||||
mAttentionInfo.mPosition.set(current.pos.x, current.pos.y + 40.0f, current.pos.z);
|
||||
mEyePos.set(mAttentionInfo.mPosition);
|
||||
if (field_0x926 > 0) {
|
||||
field_0x926--;
|
||||
}
|
||||
if (isTalkNow) {
|
||||
talkAnime(mMsgFlow.getMsg());
|
||||
} else if (field_0x824 != 0) {
|
||||
field_0x824 = 0;
|
||||
}
|
||||
if (iVar1 != 0) {
|
||||
(this->*move_proc[field_0x92C])();
|
||||
orderEvent();
|
||||
}
|
||||
if (!isTalkNow) {
|
||||
playDefaultWaitAnime();
|
||||
setDefaultWaitAnime(uVar2);
|
||||
}
|
||||
if (uVar1 != field_0x92C) {
|
||||
(this->*init_proc[field_0x92C])();
|
||||
}
|
||||
if (uVar2 != field_0x935) {
|
||||
if (field_0x935 == 1) {
|
||||
field_0x924 = cM_rndF(100.0f) + 100.0f;
|
||||
}
|
||||
animeControl();
|
||||
}
|
||||
animePlay();
|
||||
set_mtx();
|
||||
shape_angle = current.angle;
|
||||
shape_angle.y = -current.angle.y;
|
||||
setCollision();
|
||||
checkDead();
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -1495,6 +1504,7 @@ asm int daMyna_c::execute() {
|
|||
#include "asm/rel/d/a/d_a_myna/d_a_myna/execute__8daMyna_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8094B1FC-8094B200 00004C 0004+00 11/12 0/0 0/0 .rodata @4270 */
|
||||
|
|
@ -1508,24 +1518,55 @@ SECTION_DEAD static char const* const stringBase_8094B355 = "MYNA.bmd";
|
|||
#pragma pop
|
||||
|
||||
/* 809466D8-8094686C 000B58 0194+00 1/1 0/0 0/0 .text createHeap__8daMyna_cFv */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
int daMyna_c::createHeap() {
|
||||
J3DModelData* modelData =
|
||||
static_cast<J3DModelData*>(dComIfG_getObjectRes("Npc_myna", "MYNA.bmd"));
|
||||
mpMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mCreature, 0x80000,
|
||||
0x11020084);
|
||||
if (mpMorf != NULL && mpMorf->getModel() == NULL) {
|
||||
mpMorf->stopZelAnime();
|
||||
mpMorf = NULL;
|
||||
}
|
||||
if (mpMorf == NULL) {
|
||||
return 0;
|
||||
} else {
|
||||
for (u16 i = 0; i < modelData->getJointNum(); i++) {
|
||||
modelData->getJointNodePointer(i)->setCallBack(jntNodeCallBack);
|
||||
}
|
||||
field_0x916 = 7;
|
||||
field_0x914 = 0;
|
||||
field_0x918 = 0;
|
||||
field_0x91A = 0;
|
||||
field_0x936 = 0;
|
||||
J3DAnmTexPattern* anmTexPattern = getTexPtrnAnm(l_btpFileNameTBL[field_0x936]);
|
||||
if (anmTexPattern != NULL) {
|
||||
setBtpAnm(anmTexPattern, mpMorf->getModel()->getModelData(), 1.0f, 2);
|
||||
cLib_onBit(field_0x914, 0x44);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::createHeap() {
|
||||
asm int daMyna_c::createHeap() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/createHeap__8daMyna_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8094686C-809468EC 000CEC 0080+00 1/1 0/0 0/0 .text jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::jntNodeCB(J3DJoint* param_0, J3DModel* param_1) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel.s"
|
||||
int daMyna_c::jntNodeCB(J3DJoint* i_jnt, J3DModel* i_model) {
|
||||
u16 jntNo = i_jnt->getJntNo();
|
||||
mDoMtx_stack_c::copy(i_model->i_getAnmMtx(jntNo));
|
||||
i_model->setAnmMtx(jntNo, mDoMtx_stack_c::get());
|
||||
cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 809468EC-8094692C 000D6C 0040+00 1/0 0/0 0/0 .text attack_wait_init__8daMyna_cFv */
|
||||
#pragma push
|
||||
|
|
@ -2014,14 +2055,13 @@ asm void daMyna_c::attack2_talk_move() {
|
|||
#pragma pop
|
||||
|
||||
/* 809487EC-80948828 002C6C 003C+00 0/0 0/0 2/2 .text soldoutItem__8daMyna_cFUi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::soldoutItem(unsigned int param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/soldoutItem__8daMyna_cFUi.s"
|
||||
void daMyna_c::soldoutItem(unsigned int i_itemId) {
|
||||
for (int i = 0; i < mNumShopItems; i++) {
|
||||
if (i_itemId == mShopItems[i].mTargetActorID) {
|
||||
mShopItems[i].mItemStatus = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8094B228-8094B22C 000078 0004+00 1/2 0/0 0/0 .rodata @5221 */
|
||||
|
|
@ -2078,6 +2118,17 @@ SECTION_RODATA static u8 const lit_5332[8] = {
|
|||
COMPILER_STRIP_GATE(0x8094B238, &lit_5332);
|
||||
|
||||
/* 80948DFC-80948E84 00327C 0088+00 2/2 0/0 0/0 .text fly_body_wave__8daMyna_cFv */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void daMyna_c::fly_body_wave() {
|
||||
if (field_0x935 == 0) {
|
||||
field_0x91A = field_0x91A + l_HOSTIO.field_0x2E;
|
||||
f32 fVar1 = cM_scos(field_0x91A) * l_HOSTIO.field_0x2C;
|
||||
current.pos.y += fVar1;
|
||||
field_0x85C.y += fVar1;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -2086,6 +2137,7 @@ asm void daMyna_c::fly_body_wave() {
|
|||
#include "asm/rel/d/a/d_a_myna/d_a_myna/fly_body_wave__8daMyna_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80948E84-80948FAC 003304 0128+00 1/1 0/0 0/0 .text talkAnime__8daMyna_cFP9msg_class */
|
||||
#pragma push
|
||||
|
|
@ -2098,36 +2150,101 @@ asm void daMyna_c::talkAnime(msg_class* param_0) {
|
|||
#pragma pop
|
||||
|
||||
/* 80948FAC-809490B8 00342C 010C+00 1/1 0/0 0/0 .text chkEvent__8daMyna_cFv */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
int daMyna_c::chkEvent() {
|
||||
int retVal = 1;
|
||||
if (daPy_py_c::i_checkNowWolf()) {
|
||||
if (!i_dComIfGp_getEvent().i_isOrderOK()) {
|
||||
retVal = 0;
|
||||
if (mEvtInfo.checkCommandTalk()) {
|
||||
if (field_0x92C == 0x10) {
|
||||
(this->*move_proc[field_0x92C])();
|
||||
retVal = 0;
|
||||
} else {
|
||||
if (dComIfGp_event_chkTalkXY() == 0 || dComIfGp_evmng_ChkPresentEnd()) {
|
||||
field_0x92E = field_0x92C;
|
||||
field_0x92C = 0x10;
|
||||
retVal = 0;
|
||||
}
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::chkEvent() {
|
||||
asm int daMyna_c::chkEvent() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/chkEvent__8daMyna_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 809490B8-80949128 003538 0070+00 2/1 0/0 0/0 .text orderEvent__8daMyna_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::orderEvent() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/orderEvent__8daMyna_cFv.s"
|
||||
int daMyna_c::orderEvent() {
|
||||
if (daPy_py_c::i_checkNowWolf()) {
|
||||
switch (field_0x92C) {
|
||||
case 0:
|
||||
case 5:
|
||||
case 7:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
mAttentionInfo.mFlags = 10;
|
||||
}
|
||||
if (mAttentionInfo.mFlags == 10) {
|
||||
mAttentionInfo.field_0x0[1] = 0x8B;
|
||||
mAttentionInfo.field_0x0[3] = 0x8B;
|
||||
mEvtInfo.i_onCondition(1);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8094B8F8-8094B934 -00001 003C+00 1/1 0/0 0/0 .data @5890 */
|
||||
SECTION_DATA static void* lit_5890[15] = {
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x5C),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x74),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x7C),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x84),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0x94),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xA4),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xAC),
|
||||
(void*)(((char*)animeControl__8daMyna_cFv) + 0xB0),
|
||||
};
|
||||
|
||||
/* 80949128-80949144 0035A8 001C+00 1/1 0/0 0/0 .text deleteItem__8daMyna_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::deleteItem(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/deleteItem__8daMyna_cFi.s"
|
||||
void daMyna_c::deleteItem(int i_itemIndex) {
|
||||
mShopItems[i_itemIndex].mTargetActorID = -1;
|
||||
mShopItems[i_itemIndex].mItemStatus = 4;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80949144-80949190 0035C4 004C+00 0/0 0/0 0/0 .text deleteItem__8daMyna_cFUi */
|
||||
// Nonmatching, no clue what's going on here
|
||||
#ifdef NONMATCHING
|
||||
void daMyna_c::deleteItem(unsigned int i_itemId) {
|
||||
for (int i = 0; i < mNumShopItems; i++) {
|
||||
if (i_itemId == mShopItems[i].mTargetActorID) {
|
||||
mShopItems[i].mTargetActorID = -1;
|
||||
mShopItems[i].mItemStatus = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -2136,6 +2253,7 @@ asm void daMyna_c::deleteItem(unsigned int param_0) {
|
|||
#include "asm/rel/d/a/d_a_myna/d_a_myna/deleteItem__8daMyna_cFUi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8094B240-8094B244 000090 0004+00 0/1 0/0 0/0 .rodata @5455 */
|
||||
|
|
@ -2230,16 +2348,21 @@ asm void daMyna_c::setItemInfo() {
|
|||
#pragma pop
|
||||
|
||||
/* 80949544-80949588 0039C4 0044+00 2/2 0/0 0/0 .text setRoomNo__8daMyna_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::setRoomNo() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/setRoomNo__8daMyna_cFv.s"
|
||||
void daMyna_c::setRoomNo() {
|
||||
s32 roomId = dComIfG_Bgsp().GetRoomId(mGndChk);
|
||||
fopAcM_SetRoomNo(this, roomId);
|
||||
mStatus.SetRoomId(roomId);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80949588-809495E0 003A08 0058+00 1/1 0/0 0/0 .text setCollision__8daMyna_cFv */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void daMyna_c::setCollision() {
|
||||
mSph.SetC(field_0x85C);
|
||||
mSph.SetR(15.0f);
|
||||
dComIfG_Ccsp()->Set(&mSph);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -2248,6 +2371,7 @@ asm void daMyna_c::setCollision() {
|
|||
#include "asm/rel/d/a/d_a_myna/d_a_myna/setCollision__8daMyna_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 809495E0-80949744 003A60 0164+00 1/1 0/0 0/0 .text set_mtx__8daMyna_cFv */
|
||||
// Matches when l_HOSTIO is the correct type
|
||||
|
|
@ -2321,47 +2445,54 @@ asm void daMyna_c::animePlay() {
|
|||
|
||||
/* 8094983C-809498B8 003CBC 007C+00 2/2 0/0 0/0 .text
|
||||
* setMcaMorfAnm__8daMyna_cFP18J3DAnmTransformKeyffiii */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
int daMyna_c::setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr,
|
||||
int i_start, int i_end) {
|
||||
mpMorf->setAnm(i_anm, i_attr, i_morf, i_rate, i_start, i_end);
|
||||
field_0x91E = 0;
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3,
|
||||
int param_4, int param_5) {
|
||||
asm int daMyna_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3,
|
||||
int param_4, int param_5) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/setMcaMorfAnm__8daMyna_cFP18J3DAnmTransformKeyffiii.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 809498B8-809498F8 003D38 0040+00 2/2 0/0 0/0 .text
|
||||
* setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2,
|
||||
int param_3) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi.s"
|
||||
void daMyna_c::setBtpAnm(J3DAnmTexPattern* i_btk, J3DModelData* param_1, f32 i_rate,
|
||||
int i_attribute) {
|
||||
mBtpAnm.init(¶m_1->getMaterialTable(), i_btk, 1, i_attribute, i_rate, 0, -1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 809498F8-80949948 003D78 0050+00 2/2 0/0 0/0 .text getTrnsfrmKeyAnm__8daMyna_cFPc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DAnmTransformKey* daMyna_c::getTrnsfrmKeyAnm(char* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/getTrnsfrmKeyAnm__8daMyna_cFPc.s"
|
||||
J3DAnmTransformKey* daMyna_c::getTrnsfrmKeyAnm(char* i_resName) {
|
||||
J3DAnmTransformKey* key;
|
||||
if (i_resName != NULL) {
|
||||
key = static_cast<J3DAnmTransformKey*>(dComIfG_getObjectRes("Npc_myna", i_resName));
|
||||
} else {
|
||||
key = NULL;
|
||||
}
|
||||
return key;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80949948-80949998 003DC8 0050+00 2/2 0/0 0/0 .text getTexPtrnAnm__8daMyna_cFPc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::getTexPtrnAnm(char* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/getTexPtrnAnm__8daMyna_cFPc.s"
|
||||
J3DAnmTexPattern* daMyna_c::getTexPtrnAnm(char* i_resName) {
|
||||
J3DAnmTexPattern* pattern;
|
||||
if (i_resName != NULL) {
|
||||
pattern = static_cast<J3DAnmTexPattern*>(dComIfG_getObjectRes("Npc_myna", i_resName));
|
||||
} else {
|
||||
pattern = NULL;
|
||||
}
|
||||
return pattern;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80949998-80949A70 003E18 00D8+00 1/1 0/0 0/0 .text checkEndAnm__8daMyna_cFf */
|
||||
#pragma push
|
||||
|
|
@ -2374,6 +2505,25 @@ asm int daMyna_c::checkEndAnm(f32 param_0) {
|
|||
#pragma pop
|
||||
|
||||
/* 80949A70-80949AD4 003EF0 0064+00 1/1 0/0 0/0 .text checkEndAnm__8daMyna_cFP12J3DFrameCtrl */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
int daMyna_c::checkEndAnm(J3DFrameCtrl* param_0) {
|
||||
switch (param_0->getAttribute()) {
|
||||
case 2:
|
||||
return param_0->checkState(2);
|
||||
case 0:
|
||||
case 1:
|
||||
u8 retVal = 1;
|
||||
if (param_0->checkState(1) == 0 && param_0->getRate() != 0.0f) {
|
||||
retVal = 0;
|
||||
}
|
||||
return retVal;
|
||||
case 3:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -2382,36 +2532,94 @@ asm int daMyna_c::checkEndAnm(J3DFrameCtrl* param_0) {
|
|||
#include "asm/rel/d/a/d_a_myna/d_a_myna/checkEndAnm__8daMyna_cFP12J3DFrameCtrl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80949AD4-80949AE0 003F54 000C+00 1/1 0/0 0/0 .text getItemNumMax__8daMyna_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daMyna_c::getItemNumMax() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/getItemNumMax__8daMyna_cFv.s"
|
||||
int daMyna_c::getItemNumMax() {
|
||||
return (fopAcM_GetParam(this) >> 0x18) & 0xF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80949AE0-80949C0C 003F60 012C+00 1/1 0/0 0/0 .text getItemType__8daMyna_cFPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::getItemType(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/getItemType__8daMyna_cFPv.s"
|
||||
int daMyna_c::getItemType(void* param_0) {
|
||||
int itemType = 0xF;
|
||||
u8 uVar1 = fopAcM_GetParam(param_0) & 0xFF;
|
||||
|
||||
if (fopAcM_GetName(param_0) == PROC_OBJ_SSITEM) {
|
||||
switch (uVar1) {
|
||||
case 0:
|
||||
itemType = 1;
|
||||
break;
|
||||
case 1:
|
||||
itemType = 2;
|
||||
break;
|
||||
case 2:
|
||||
itemType = 0;
|
||||
break;
|
||||
}
|
||||
} else if (fopAcM_GetName(param_0) == PROC_OBJ_SSDRINK) {
|
||||
switch (uVar1) {
|
||||
case 0:
|
||||
itemType = 3;
|
||||
break;
|
||||
case 1:
|
||||
itemType = 4;
|
||||
break;
|
||||
case 2:
|
||||
itemType = 5;
|
||||
break;
|
||||
case 3:
|
||||
itemType = 6;
|
||||
break;
|
||||
case 4:
|
||||
itemType = 7;
|
||||
break;
|
||||
case 5:
|
||||
itemType = 8;
|
||||
break;
|
||||
}
|
||||
} else if (fopAcM_GetName(param_0) == PROC_TAG_SSDRINK) {
|
||||
switch (uVar1) {
|
||||
case 0:
|
||||
itemType = 9;
|
||||
break;
|
||||
case 1:
|
||||
itemType = 10;
|
||||
break;
|
||||
case 2:
|
||||
itemType = 11;
|
||||
break;
|
||||
case 3:
|
||||
itemType = 12;
|
||||
break;
|
||||
case 4:
|
||||
itemType = 13;
|
||||
break;
|
||||
case 5:
|
||||
itemType = 14;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return itemType;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80949C0C-80949C44 00408C 0038+00 3/3 0/0 0/0 .text getFlowNodeNum__8daMyna_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::getFlowNodeNum() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/getFlowNodeNum__8daMyna_cFv.s"
|
||||
u16 daMyna_c::getFlowNodeNum() {
|
||||
u16 num = orig.angle.x;
|
||||
bool bVar1 = false;
|
||||
if (num == 0xFFFF || num == 0) {
|
||||
bVar1 = true;
|
||||
}
|
||||
|
||||
int num2;
|
||||
if (!bVar1) {
|
||||
num2 = num;
|
||||
} else {
|
||||
num2 = -1;
|
||||
}
|
||||
|
||||
return num2;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80949C44-80949D54 0040C4 0110+00 1/1 0/0 0/0 .text checkDead__8daMyna_cFv */
|
||||
#pragma push
|
||||
|
|
@ -2425,14 +2633,43 @@ asm void daMyna_c::checkDead() {
|
|||
|
||||
/* 80949D54-80949EE8 0041D4 0194+00 7/7 0/0 0/0 .text
|
||||
* chkPlayerInEvtArea__8daMyna_cFP10fopAc_ac_c4cXyz */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
int daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) {
|
||||
int retVal = 0;
|
||||
cXyz local_60;
|
||||
cXyz local_6c;
|
||||
|
||||
if (param_0 != NULL) {
|
||||
mDoMtx_stack_c::YrotS(-param_0->current.angle.y);
|
||||
mDoMtx_stack_c::transM(-param_0->current.pos.x, -param_0->current.pos.y,
|
||||
-param_0->current.pos.z);
|
||||
mDoMtx_stack_c::multVec(&daPy_getPlayerActorClass()->current.pos, &local_6c);
|
||||
f32 fVar1 = fabsf(param_0->mScale.x + param_1.x);
|
||||
f32 fVar2 = fabsf(param_0->mScale.z + param_1.z);
|
||||
f32 fVar3 = fabsf(local_6c.x);
|
||||
f32 fVar4 = fabsf(local_6c.z);
|
||||
local_60 = param_0->current.pos - daPy_getPlayerActorClass()->current.pos;
|
||||
if ((fVar3 * fVar3) / (fVar1 * fVar1) + (fVar4 * fVar4) / (fVar2 * fVar2) <= 1.0f &&
|
||||
-(param_0->mScale.y + param_1.y) < local_60.y &&
|
||||
local_60.y < (param_0->mScale.y + param_1.y))
|
||||
{
|
||||
retVal = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) {
|
||||
asm int daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_myna/d_a_myna/chkPlayerInEvtArea__8daMyna_cFP10fopAc_ac_c4cXyz.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8094B244-8094B248 000094 0004+00 2/3 0/0 0/0 .rodata @5889 */
|
||||
|
|
|
|||
Loading…
Reference in New Issue