mirror of https://github.com/zeldaret/tp.git
d_a_npc_zra mostly done, misc npc work (#2140)
This commit is contained in:
parent
c163dc9ed3
commit
669c7d920b
|
|
@ -1,15 +0,0 @@
|
|||
lbl_80151FE0:
|
||||
/* 80151FE0 38 80 00 00 */ li r4, 0
|
||||
/* 80151FE4 7C 87 23 78 */ mr r7, r4
|
||||
/* 80151FE8 7C 86 23 78 */ mr r6, r4
|
||||
/* 80151FEC 7C 85 23 78 */ mr r5, r4
|
||||
/* 80151FF0 38 00 00 04 */ li r0, 4
|
||||
/* 80151FF4 7C 09 03 A6 */ mtctr r0
|
||||
lbl_80151FF8:
|
||||
/* 80151FF8 7D 03 22 14 */ add r8, r3, r4
|
||||
/* 80151FFC B0 E8 00 7C */ sth r7, 0x7c(r8)
|
||||
/* 80152000 B0 C8 00 7E */ sth r6, 0x7e(r8)
|
||||
/* 80152004 B0 A8 00 80 */ sth r5, 0x80(r8)
|
||||
/* 80152008 38 84 00 06 */ addi r4, r4, 6
|
||||
/* 8015200C 42 00 FF EC */ bdnz lbl_80151FF8
|
||||
/* 80152010 4E 80 00 20 */ blr
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
lbl_80154250:
|
||||
/* 80154250 B0 83 04 DE */ sth r4, 0x4de(r3)
|
||||
/* 80154254 A8 03 04 DE */ lha r0, 0x4de(r3)
|
||||
/* 80154258 B0 03 04 E6 */ sth r0, 0x4e6(r3)
|
||||
/* 8015425C A8 03 04 DE */ lha r0, 0x4de(r3)
|
||||
/* 80154260 B0 03 08 F2 */ sth r0, 0x8f2(r3)
|
||||
/* 80154264 A8 03 08 F2 */ lha r0, 0x8f2(r3)
|
||||
/* 80154268 B0 03 08 F8 */ sth r0, 0x8f8(r3)
|
||||
/* 8015426C A8 03 04 DE */ lha r0, 0x4de(r3)
|
||||
/* 80154270 B0 03 04 CA */ sth r0, 0x4ca(r3)
|
||||
/* 80154274 4E 80 00 20 */ blr
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
lbl_80151F54:
|
||||
/* 80151F54 38 E0 00 00 */ li r7, 0
|
||||
/* 80151F58 39 00 00 00 */ li r8, 0
|
||||
/* 80151F5C 38 80 00 00 */ li r4, 0
|
||||
/* 80151F60 38 00 00 04 */ li r0, 4
|
||||
/* 80151F64 7C 09 03 A6 */ mtctr r0
|
||||
lbl_80151F68:
|
||||
/* 80151F68 7C C3 22 14 */ add r6, r3, r4
|
||||
/* 80151F6C A8 06 00 34 */ lha r0, 0x34(r6)
|
||||
/* 80151F70 7C E7 02 14 */ add r7, r7, r0
|
||||
/* 80151F74 2C 07 80 00 */ cmpwi r7, -32768
|
||||
/* 80151F78 40 80 00 0C */ bge lbl_80151F84
|
||||
/* 80151F7C 38 A0 80 00 */ li r5, -32768
|
||||
/* 80151F80 48 00 00 14 */ b lbl_80151F94
|
||||
lbl_80151F84:
|
||||
/* 80151F84 2C 07 7F FF */ cmpwi r7, 0x7fff
|
||||
/* 80151F88 38 A0 7F FF */ li r5, 0x7fff
|
||||
/* 80151F8C 41 81 00 08 */ bgt lbl_80151F94
|
||||
/* 80151F90 7C E5 3B 78 */ mr r5, r7
|
||||
lbl_80151F94:
|
||||
/* 80151F94 7C A7 2B 78 */ mr r7, r5
|
||||
/* 80151F98 A8 06 00 36 */ lha r0, 0x36(r6)
|
||||
/* 80151F9C 7D 08 02 14 */ add r8, r8, r0
|
||||
/* 80151FA0 2C 08 80 00 */ cmpwi r8, -32768
|
||||
/* 80151FA4 40 80 00 0C */ bge lbl_80151FB0
|
||||
/* 80151FA8 38 00 80 00 */ li r0, -32768
|
||||
/* 80151FAC 48 00 00 14 */ b lbl_80151FC0
|
||||
lbl_80151FB0:
|
||||
/* 80151FB0 2C 08 7F FF */ cmpwi r8, 0x7fff
|
||||
/* 80151FB4 38 00 7F FF */ li r0, 0x7fff
|
||||
/* 80151FB8 41 81 00 08 */ bgt lbl_80151FC0
|
||||
/* 80151FBC 7D 00 43 78 */ mr r0, r8
|
||||
lbl_80151FC0:
|
||||
/* 80151FC0 7C 08 03 78 */ mr r8, r0
|
||||
/* 80151FC4 B0 A6 00 7C */ sth r5, 0x7c(r6)
|
||||
/* 80151FC8 B0 06 00 7E */ sth r0, 0x7e(r6)
|
||||
/* 80151FCC 38 00 00 00 */ li r0, 0
|
||||
/* 80151FD0 B0 06 00 80 */ sth r0, 0x80(r6)
|
||||
/* 80151FD4 38 84 00 06 */ addi r4, r4, 6
|
||||
/* 80151FD8 42 00 FF 90 */ bdnz lbl_80151F68
|
||||
/* 80151FDC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
lbl_80B7A51C:
|
||||
/* 80B7A51C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7A520 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7A524 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7A528 38 80 FF FF */ li r4, -1
|
||||
/* 80B7A52C 81 83 0B 44 */ lwz r12, 0xb44(r3)
|
||||
/* 80B7A530 81 8C 00 08 */ lwz r12, 8(r12)
|
||||
/* 80B7A534 7D 89 03 A6 */ mtctr r12
|
||||
/* 80B7A538 4E 80 04 21 */ bctrl
|
||||
/* 80B7A53C 38 60 00 01 */ li r3, 1
|
||||
/* 80B7A540 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7A544 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7A548 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7A54C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80B7A550:
|
||||
/* 80B7A550 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7A554 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7A558 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7A55C 4B 5D 7A B9 */ bl execute__8daNpcF_cFv
|
||||
/* 80B7A560 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7A564 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7A568 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7A56C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
lbl_80B81FB8:
|
||||
/* 80B81FB8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80B81FBC 7C 08 02 A6 */ mflr r0
|
||||
/* 80B81FC0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80B81FC4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B81FC8 4B 7E 02 11 */ bl _savegpr_28
|
||||
/* 80B81FCC 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 80B81FD0 7C 9D 23 78 */ mr r29, r4
|
||||
/* 80B81FD4 7C BE 2B 78 */ mr r30, r5
|
||||
/* 80B81FD8 7C FF 3B 78 */ mr r31, r7
|
||||
/* 80B81FDC A8 63 04 DE */ lha r3, 0x4de(r3)
|
||||
/* 80B81FE0 A8 06 00 00 */ lha r0, 0(r6)
|
||||
/* 80B81FE4 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 80B81FE8 7C 04 07 34 */ extsh r4, r0
|
||||
/* 80B81FEC 2C 04 40 00 */ cmpwi r4, 0x4000
|
||||
/* 80B81FF0 41 80 00 0C */ blt lbl_80B81FFC
|
||||
/* 80B81FF4 38 80 40 00 */ li r4, 0x4000
|
||||
/* 80B81FF8 48 00 00 10 */ b lbl_80B82008
|
||||
lbl_80B81FFC:
|
||||
/* 80B81FFC 2C 04 C0 00 */ cmpwi r4, -16384
|
||||
/* 80B82000 41 81 00 08 */ bgt lbl_80B82008
|
||||
/* 80B82004 38 80 C0 00 */ li r4, -16384
|
||||
lbl_80B82008:
|
||||
/* 80B82008 38 7C 15 3A */ addi r3, r28, 0x153a
|
||||
/* 80B8200C 7F C0 07 34 */ extsh r0, r30
|
||||
/* 80B82010 54 00 08 3C */ slwi r0, r0, 1
|
||||
/* 80B82014 7C 05 07 34 */ extsh r5, r0
|
||||
/* 80B82018 7F A6 EB 78 */ mr r6, r29
|
||||
/* 80B8201C 4B 6E E5 ED */ bl cLib_addCalcAngleS2__FPssss
|
||||
/* 80B82020 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B82024 A8 9C 15 3A */ lha r4, 0x153a(r28)
|
||||
/* 80B82028 7F C5 07 34 */ extsh r5, r30
|
||||
/* 80B8202C 7F A6 EB 78 */ mr r6, r29
|
||||
/* 80B82030 4B 6E E5 D9 */ bl cLib_addCalcAngleS2__FPssss
|
||||
/* 80B82034 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B82038 4B 7E 01 ED */ bl _restgpr_28
|
||||
/* 80B8203C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80B82040 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B82044 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80B82048 4E 80 00 20 */ blr
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
lbl_80B824F4:
|
||||
/* 80B824F4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80B824F8 7C 08 02 A6 */ mflr r0
|
||||
/* 80B824FC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80B82500 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B82504 4B 7D FC D1 */ bl _savegpr_27
|
||||
/* 80B82508 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 80B8250C 7C 9C 23 78 */ mr r28, r4
|
||||
/* 80B82510 7C BD 2B 78 */ mr r29, r5
|
||||
/* 80B82514 7C DE 33 78 */ mr r30, r6
|
||||
/* 80B82518 7C FF 3B 78 */ mr r31, r7
|
||||
/* 80B8251C 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80B82520 A8 84 00 00 */ lha r4, 0(r4)
|
||||
/* 80B82524 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80B82528 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80B8252C 4B 6E E0 DD */ bl cLib_addCalcAngleS2__FPssss
|
||||
/* 80B82530 38 7B 04 DC */ addi r3, r27, 0x4dc
|
||||
/* 80B82534 A8 9D 00 00 */ lha r4, 0(r29)
|
||||
/* 80B82538 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80B8253C 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80B82540 4B 6E E0 C9 */ bl cLib_addCalcAngleS2__FPssss
|
||||
/* 80B82544 38 7D 00 02 */ addi r3, r29, 2
|
||||
/* 80B82548 A8 9C 00 02 */ lha r4, 2(r28)
|
||||
/* 80B8254C 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80B82550 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80B82554 4B 6E E0 B5 */ bl cLib_addCalcAngleS2__FPssss
|
||||
/* 80B82558 38 7B 04 DE */ addi r3, r27, 0x4de
|
||||
/* 80B8255C A8 9D 00 02 */ lha r4, 2(r29)
|
||||
/* 80B82560 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80B82564 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80B82568 4B 6E E0 A1 */ bl cLib_addCalcAngleS2__FPssss
|
||||
/* 80B8256C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B82570 4B 7D FC B1 */ bl _restgpr_27
|
||||
/* 80B82574 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80B82578 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B8257C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80B82580 4E 80 00 20 */ blr
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
lbl_80B822D8:
|
||||
/* 80B822D8 88 03 15 20 */ lbz r0, 0x1520(r3)
|
||||
/* 80B822DC 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B822E0 41 82 00 18 */ beq lbl_80B822F8
|
||||
/* 80B822E4 88 03 15 90 */ lbz r0, 0x1590(r3)
|
||||
/* 80B822E8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B822EC 40 82 00 0C */ bne lbl_80B822F8
|
||||
/* 80B822F0 38 60 00 01 */ li r3, 1
|
||||
/* 80B822F4 4E 80 00 20 */ blr
|
||||
lbl_80B822F8:
|
||||
/* 80B822F8 38 60 00 00 */ li r3, 0
|
||||
/* 80B822FC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_80B822CC:
|
||||
/* 80B822CC 38 00 00 01 */ li r0, 1
|
||||
/* 80B822D0 98 03 15 90 */ stb r0, 0x1590(r3)
|
||||
/* 80B822D4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
lbl_80B7DAF4:
|
||||
/* 80B7DAF4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7DAF8 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7DAFC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7DB00 38 63 14 80 */ addi r3, r3, 0x1480
|
||||
/* 80B7DB04 4B 7E 45 45 */ bl __ptmf_cmpr
|
||||
/* 80B7DB08 7C 60 00 34 */ cntlzw r0, r3
|
||||
/* 80B7DB0C 54 03 D9 7E */ srwi r3, r0, 5
|
||||
/* 80B7DB10 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7DB14 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7DB18 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7DB1C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
lbl_80B7E9E0:
|
||||
/* 80B7E9E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7E9E4 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7E9E8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7E9EC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B7E9F0 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80B7E9F4 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80B7E9F8 38 7E 13 1C */ addi r3, r30, 0x131c
|
||||
/* 80B7E9FC 4B 5D 1C F1 */ bl getActorP__18daNpcF_ActorMngr_cFv
|
||||
/* 80B7EA00 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80B7EA04 40 82 00 28 */ bne lbl_80B7EA2C
|
||||
/* 80B7EA08 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B7EA0C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80B7EA10 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80B7EA14 80 84 5D AC */ lwz r4, 0x5dac(r4)
|
||||
/* 80B7EA18 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80B7EA1C 88 DE 05 47 */ lbz r6, 0x547(r30)
|
||||
/* 80B7EA20 4B 5D 51 BD */ bl chkActorInAttnArea__8daNpcF_cFP10fopAc_ac_cP10fopAc_ac_ci
|
||||
/* 80B7EA24 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80B7EA28 48 00 00 24 */ b lbl_80B7EA4C
|
||||
lbl_80B7EA2C:
|
||||
/* 80B7EA2C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B7EA30 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80B7EA34 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80B7EA38 80 84 5D AC */ lwz r4, 0x5dac(r4)
|
||||
/* 80B7EA3C 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80B7EA40 88 DE 05 45 */ lbz r6, 0x545(r30)
|
||||
/* 80B7EA44 4B 5D 51 99 */ bl chkActorInAttnArea__8daNpcF_cFP10fopAc_ac_cP10fopAc_ac_ci
|
||||
/* 80B7EA48 7C 7F 1B 78 */ mr r31, r3
|
||||
lbl_80B7EA4C:
|
||||
/* 80B7EA4C 2C 1F 00 00 */ cmpwi r31, 0
|
||||
/* 80B7EA50 41 82 00 1C */ beq lbl_80B7EA6C
|
||||
/* 80B7EA54 38 7E 13 1C */ addi r3, r30, 0x131c
|
||||
/* 80B7EA58 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80B7EA5C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80B7EA60 80 84 5D AC */ lwz r4, 0x5dac(r4)
|
||||
/* 80B7EA64 4B 5D 1C 59 */ bl entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c
|
||||
/* 80B7EA68 48 00 00 0C */ b lbl_80B7EA74
|
||||
lbl_80B7EA6C:
|
||||
/* 80B7EA6C 38 7E 13 1C */ addi r3, r30, 0x131c
|
||||
/* 80B7EA70 4B 5D 1C 71 */ bl remove__18daNpcF_ActorMngr_cFv
|
||||
lbl_80B7EA74:
|
||||
/* 80B7EA74 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B7EA78 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B7EA7C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80B7EA80 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7EA84 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7EA88 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7EA8C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80B7AB9C:
|
||||
/* 80B7AB9C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7ABA0 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7ABA4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7ABA8 4B FF F3 91 */ bl CreateHeap__11daNpc_zrA_cFv
|
||||
/* 80B7ABAC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7ABB0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7ABB4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7ABB8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
lbl_80B7ABBC:
|
||||
/* 80B7ABBC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7ABC0 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7ABC4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7ABC8 7C 60 1B 78 */ mr r0, r3
|
||||
/* 80B7ABCC 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80B7ABD0 40 82 00 24 */ bne lbl_80B7ABF4
|
||||
/* 80B7ABD4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 80B7ABD8 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 80B7ABDC 80 A3 00 38 */ lwz r5, 0x38(r3)
|
||||
/* 80B7ABE0 80 65 00 14 */ lwz r3, 0x14(r5)
|
||||
/* 80B7ABE4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80B7ABE8 41 82 00 0C */ beq lbl_80B7ABF4
|
||||
/* 80B7ABEC 7C 04 03 78 */ mr r4, r0
|
||||
/* 80B7ABF0 4B FF FC 75 */ bl ctrlJoint__11daNpc_zrA_cFP8J3DJointP8J3DModel
|
||||
lbl_80B7ABF4:
|
||||
/* 80B7ABF4 38 60 00 01 */ li r3, 1
|
||||
/* 80B7ABF8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7ABFC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7AC00 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7AC04 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80B7ED38:
|
||||
/* 80B7ED38 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7ED3C 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7ED40 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7ED44 4B FF AE 15 */ bl create__11daNpc_zrA_cFv
|
||||
/* 80B7ED48 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7ED4C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7ED50 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7ED54 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80B7ED58:
|
||||
/* 80B7ED58 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7ED5C 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7ED60 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7ED64 4B FF B7 B9 */ bl Delete__11daNpc_zrA_cFv
|
||||
/* 80B7ED68 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7ED6C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7ED70 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7ED74 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80B7ED98:
|
||||
/* 80B7ED98 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7ED9C 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7EDA0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7EDA4 4B FF B7 CD */ bl Draw__11daNpc_zrA_cFv
|
||||
/* 80B7EDA8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7EDAC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7EDB0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7EDB4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80B7ED78:
|
||||
/* 80B7ED78 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7ED7C 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7ED80 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7ED84 4B FF B7 CD */ bl Execute__11daNpc_zrA_cFv
|
||||
/* 80B7ED88 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7ED8C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7ED90 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7ED94 4E 80 00 20 */ blr
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
lbl_80B7C524:
|
||||
/* 80B7C524 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 80B7C528 54 00 87 3E */ rlwinm r0, r0, 0x10, 0x1c, 0x1f
|
||||
/* 80B7C52C 88 63 14 E8 */ lbz r3, 0x14e8(r3)
|
||||
/* 80B7C530 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80B7C534 40 82 00 70 */ bne lbl_80B7C5A4
|
||||
/* 80B7C538 2C 00 00 04 */ cmpwi r0, 4
|
||||
/* 80B7C53C 41 82 00 48 */ beq lbl_80B7C584
|
||||
/* 80B7C540 40 80 00 1C */ bge lbl_80B7C55C
|
||||
/* 80B7C544 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 80B7C548 41 82 00 2C */ beq lbl_80B7C574
|
||||
/* 80B7C54C 40 80 00 30 */ bge lbl_80B7C57C
|
||||
/* 80B7C550 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 80B7C554 40 80 00 18 */ bge lbl_80B7C56C
|
||||
/* 80B7C558 48 00 00 44 */ b lbl_80B7C59C
|
||||
lbl_80B7C55C:
|
||||
/* 80B7C55C 2C 00 00 06 */ cmpwi r0, 6
|
||||
/* 80B7C560 41 82 00 34 */ beq lbl_80B7C594
|
||||
/* 80B7C564 40 80 00 38 */ bge lbl_80B7C59C
|
||||
/* 80B7C568 48 00 00 24 */ b lbl_80B7C58C
|
||||
lbl_80B7C56C:
|
||||
/* 80B7C56C 38 60 00 01 */ li r3, 1
|
||||
/* 80B7C570 4E 80 00 20 */ blr
|
||||
lbl_80B7C574:
|
||||
/* 80B7C574 38 60 00 02 */ li r3, 2
|
||||
/* 80B7C578 4E 80 00 20 */ blr
|
||||
lbl_80B7C57C:
|
||||
/* 80B7C57C 38 60 00 03 */ li r3, 3
|
||||
/* 80B7C580 4E 80 00 20 */ blr
|
||||
lbl_80B7C584:
|
||||
/* 80B7C584 38 60 00 04 */ li r3, 4
|
||||
/* 80B7C588 4E 80 00 20 */ blr
|
||||
lbl_80B7C58C:
|
||||
/* 80B7C58C 38 60 00 05 */ li r3, 5
|
||||
/* 80B7C590 4E 80 00 20 */ blr
|
||||
lbl_80B7C594:
|
||||
/* 80B7C594 38 60 00 06 */ li r3, 6
|
||||
/* 80B7C598 4E 80 00 20 */ blr
|
||||
lbl_80B7C59C:
|
||||
/* 80B7C59C 38 60 00 00 */ li r3, 0
|
||||
/* 80B7C5A0 4E 80 00 20 */ blr
|
||||
lbl_80B7C5A4:
|
||||
/* 80B7C5A4 28 03 00 06 */ cmplwi r3, 6
|
||||
/* 80B7C5A8 40 82 00 34 */ bne lbl_80B7C5DC
|
||||
/* 80B7C5AC 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 80B7C5B0 41 82 00 1C */ beq lbl_80B7C5CC
|
||||
/* 80B7C5B4 40 80 00 20 */ bge lbl_80B7C5D4
|
||||
/* 80B7C5B8 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 80B7C5BC 40 80 00 08 */ bge lbl_80B7C5C4
|
||||
/* 80B7C5C0 48 00 00 14 */ b lbl_80B7C5D4
|
||||
lbl_80B7C5C4:
|
||||
/* 80B7C5C4 38 60 00 02 */ li r3, 2
|
||||
/* 80B7C5C8 4E 80 00 20 */ blr
|
||||
lbl_80B7C5CC:
|
||||
/* 80B7C5CC 38 60 00 03 */ li r3, 3
|
||||
/* 80B7C5D0 4E 80 00 20 */ blr
|
||||
lbl_80B7C5D4:
|
||||
/* 80B7C5D4 38 60 00 00 */ li r3, 0
|
||||
/* 80B7C5D8 4E 80 00 20 */ blr
|
||||
lbl_80B7C5DC:
|
||||
/* 80B7C5DC 7C 03 03 78 */ mr r3, r0
|
||||
/* 80B7C5E0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
lbl_80B7C500:
|
||||
/* 80B7C500 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 80B7C504 54 00 67 3E */ rlwinm r0, r0, 0xc, 0x1c, 0x1f
|
||||
/* 80B7C508 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 80B7C50C 41 82 00 08 */ beq lbl_80B7C514
|
||||
/* 80B7C510 48 00 00 0C */ b lbl_80B7C51C
|
||||
lbl_80B7C514:
|
||||
/* 80B7C514 38 60 00 03 */ li r3, 3
|
||||
/* 80B7C518 4E 80 00 20 */ blr
|
||||
lbl_80B7C51C:
|
||||
/* 80B7C51C 38 60 00 00 */ li r3, 0
|
||||
/* 80B7C520 4E 80 00 20 */ blr
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
lbl_80B7C5E4:
|
||||
/* 80B7C5E4 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 80B7C5E8 54 04 67 3E */ rlwinm r4, r0, 0xc, 0x1c, 0x1f
|
||||
/* 80B7C5EC 88 03 14 E8 */ lbz r0, 0x14e8(r3)
|
||||
/* 80B7C5F0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7C5F4 41 82 00 0C */ beq lbl_80B7C600
|
||||
/* 80B7C5F8 38 60 00 00 */ li r3, 0
|
||||
/* 80B7C5FC 4E 80 00 20 */ blr
|
||||
lbl_80B7C600:
|
||||
/* 80B7C600 28 04 00 0F */ cmplwi r4, 0xf
|
||||
/* 80B7C604 40 82 00 08 */ bne lbl_80B7C60C
|
||||
/* 80B7C608 38 80 00 00 */ li r4, 0
|
||||
lbl_80B7C60C:
|
||||
/* 80B7C60C 7C 83 23 78 */ mr r3, r4
|
||||
/* 80B7C610 4E 80 00 20 */ blr
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
lbl_80B7C614:
|
||||
/* 80B7C614 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 80B7C618 54 04 47 3E */ rlwinm r4, r0, 8, 0x1c, 0x1f
|
||||
/* 80B7C61C 88 03 14 E8 */ lbz r0, 0x14e8(r3)
|
||||
/* 80B7C620 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7C624 41 82 00 0C */ beq lbl_80B7C630
|
||||
/* 80B7C628 38 60 00 00 */ li r3, 0
|
||||
/* 80B7C62C 4E 80 00 20 */ blr
|
||||
lbl_80B7C630:
|
||||
/* 80B7C630 38 04 FF F1 */ addi r0, r4, -15
|
||||
/* 80B7C634 30 00 FF FF */ addic r0, r0, -1
|
||||
/* 80B7C638 7C 00 01 10 */ subfe r0, r0, r0
|
||||
/* 80B7C63C 7C 83 00 78 */ andc r3, r4, r0
|
||||
/* 80B7C640 4E 80 00 20 */ blr
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
lbl_80B7C4B4:
|
||||
/* 80B7C4B4 88 03 14 E8 */ lbz r0, 0x14e8(r3)
|
||||
/* 80B7C4B8 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 80B7C4BC 41 82 00 0C */ beq lbl_80B7C4C8
|
||||
/* 80B7C4C0 28 00 00 05 */ cmplwi r0, 5
|
||||
/* 80B7C4C4 40 82 00 0C */ bne lbl_80B7C4D0
|
||||
lbl_80B7C4C8:
|
||||
/* 80B7C4C8 38 60 00 01 */ li r3, 1
|
||||
/* 80B7C4CC 4E 80 00 20 */ blr
|
||||
lbl_80B7C4D0:
|
||||
/* 80B7C4D0 28 00 00 04 */ cmplwi r0, 4
|
||||
/* 80B7C4D4 40 82 00 0C */ bne lbl_80B7C4E0
|
||||
/* 80B7C4D8 38 60 00 02 */ li r3, 2
|
||||
/* 80B7C4DC 4E 80 00 20 */ blr
|
||||
lbl_80B7C4E0:
|
||||
/* 80B7C4E0 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 80B7C4E4 54 00 06 3F */ clrlwi. r0, r0, 0x18
|
||||
/* 80B7C4E8 41 82 00 08 */ beq lbl_80B7C4F0
|
||||
/* 80B7C4EC 48 00 00 0C */ b lbl_80B7C4F8
|
||||
lbl_80B7C4F0:
|
||||
/* 80B7C4F0 38 60 00 00 */ li r3, 0
|
||||
/* 80B7C4F4 4E 80 00 20 */ blr
|
||||
lbl_80B7C4F8:
|
||||
/* 80B7C4F8 38 60 00 02 */ li r3, 2
|
||||
/* 80B7C4FC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
lbl_80B84200:
|
||||
/* 80B84200 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B84204 7C 08 02 A6 */ mflr r0
|
||||
/* 80B84208 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B8420C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B84210 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80B84214 4B 49 4A CD */ bl fopAc_IsActor__FPv
|
||||
/* 80B84218 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B8421C 41 82 00 18 */ beq lbl_80B84234
|
||||
/* 80B84220 A8 1F 00 08 */ lha r0, 8(r31)
|
||||
/* 80B84224 2C 00 02 57 */ cmpwi r0, 0x257
|
||||
/* 80B84228 40 82 00 0C */ bne lbl_80B84234
|
||||
/* 80B8422C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B84230 48 00 00 08 */ b lbl_80B84238
|
||||
lbl_80B84234:
|
||||
/* 80B84234 38 60 00 00 */ li r3, 0
|
||||
lbl_80B84238:
|
||||
/* 80B84238 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B8423C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B84240 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B84244 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B84248 4E 80 00 20 */ blr
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
lbl_80B8A3CC:
|
||||
/* 80B8A3CC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B8A3D0 7C 08 02 A6 */ mflr r0
|
||||
/* 80B8A3D4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B8A3D8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B8A3DC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80B8A3E0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80B8A3E4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80B8A3E8 4B 48 E8 F9 */ bl fopAc_IsActor__FPv
|
||||
/* 80B8A3EC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B8A3F0 41 82 00 30 */ beq lbl_80B8A420
|
||||
/* 80B8A3F4 A8 1E 00 08 */ lha r0, 8(r30)
|
||||
/* 80B8A3F8 2C 00 02 85 */ cmpwi r0, 0x285
|
||||
/* 80B8A3FC 40 82 00 24 */ bne lbl_80B8A420
|
||||
/* 80B8A400 80 1E 00 B0 */ lwz r0, 0xb0(r30)
|
||||
/* 80B8A404 54 03 06 3E */ clrlwi r3, r0, 0x18
|
||||
/* 80B8A408 80 1F 00 B0 */ lwz r0, 0xb0(r31)
|
||||
/* 80B8A40C 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 80B8A410 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 80B8A414 40 82 00 0C */ bne lbl_80B8A420
|
||||
/* 80B8A418 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B8A41C 48 00 00 08 */ b lbl_80B8A424
|
||||
lbl_80B8A420:
|
||||
/* 80B8A420 38 60 00 00 */ li r3, 0
|
||||
lbl_80B8A424:
|
||||
/* 80B8A424 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B8A428 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80B8A42C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B8A430 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B8A434 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B8A438 4E 80 00 20 */ blr
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
lbl_80B8064C:
|
||||
/* 80B8064C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B80650 7C 08 02 A6 */ mflr r0
|
||||
/* 80B80654 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B80658 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B8065C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80B80660 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80B80664 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80B80668 4B 49 86 79 */ bl fopAc_IsActor__FPv
|
||||
/* 80B8066C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B80670 41 82 00 70 */ beq lbl_80B806E0
|
||||
/* 80B80674 A8 1E 00 08 */ lha r0, 8(r30)
|
||||
/* 80B80678 2C 00 00 E5 */ cmpwi r0, 0xe5
|
||||
/* 80B8067C 40 82 00 64 */ bne lbl_80B806E0
|
||||
/* 80B80680 7C 1E F8 40 */ cmplw r30, r31
|
||||
/* 80B80684 41 82 00 5C */ beq lbl_80B806E0
|
||||
/* 80B80688 88 1E 14 E8 */ lbz r0, 0x14e8(r30)
|
||||
/* 80B8068C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80B80690 40 82 00 50 */ bne lbl_80B806E0
|
||||
/* 80B80694 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B80698 4B FF BF 4D */ bl getMultiModeFromParam__11daNpc_zrA_cFv
|
||||
/* 80B8069C 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 80B806A0 41 82 00 40 */ beq lbl_80B806E0
|
||||
/* 80B806A4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B806A8 4B FF BF 3D */ bl getMultiModeFromParam__11daNpc_zrA_cFv
|
||||
/* 80B806AC 54 7F 06 3E */ clrlwi r31, r3, 0x18
|
||||
/* 80B806B0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B806B4 4B FF BF 31 */ bl getMultiModeFromParam__11daNpc_zrA_cFv
|
||||
/* 80B806B8 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 80B806BC 7C 00 F8 40 */ cmplw r0, r31
|
||||
/* 80B806C0 40 82 00 20 */ bne lbl_80B806E0
|
||||
/* 80B806C4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B806C8 4B FF BF 4D */ bl getMultiNoFromParam__11daNpc_zrA_cFv
|
||||
/* 80B806CC 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 80B806D0 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 80B806D4 40 82 00 0C */ bne lbl_80B806E0
|
||||
/* 80B806D8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B806DC 48 00 00 08 */ b lbl_80B806E4
|
||||
lbl_80B806E0:
|
||||
/* 80B806E0 38 60 00 00 */ li r3, 0
|
||||
lbl_80B806E4:
|
||||
/* 80B806E4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B806E8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80B806EC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B806F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B806F4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B806F8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
lbl_80B8B3A0:
|
||||
/* 80B8B3A0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B8B3A4 7C 08 02 A6 */ mflr r0
|
||||
/* 80B8B3A8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B8B3AC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B8B3B0 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80B8B3B4 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80B8B3B8 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80B8B3BC 4B 48 D9 25 */ bl fopAc_IsActor__FPv
|
||||
/* 80B8B3C0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B8B3C4 41 82 00 40 */ beq lbl_80B8B404
|
||||
/* 80B8B3C8 A8 1E 00 08 */ lha r0, 8(r30)
|
||||
/* 80B8B3CC 2C 00 00 E5 */ cmpwi r0, 0xe5
|
||||
/* 80B8B3D0 40 82 00 34 */ bne lbl_80B8B404
|
||||
/* 80B8B3D4 88 7E 14 E8 */ lbz r3, 0x14e8(r30)
|
||||
/* 80B8B3D8 88 1F 14 E8 */ lbz r0, 0x14e8(r31)
|
||||
/* 80B8B3DC 7C 03 00 00 */ cmpw r3, r0
|
||||
/* 80B8B3E0 40 82 00 24 */ bne lbl_80B8B404
|
||||
/* 80B8B3E4 80 1E 00 B0 */ lwz r0, 0xb0(r30)
|
||||
/* 80B8B3E8 54 03 06 3E */ clrlwi r3, r0, 0x18
|
||||
/* 80B8B3EC 80 1F 00 B0 */ lwz r0, 0xb0(r31)
|
||||
/* 80B8B3F0 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 80B8B3F4 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 80B8B3F8 41 82 00 0C */ beq lbl_80B8B404
|
||||
/* 80B8B3FC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B8B400 48 00 00 08 */ b lbl_80B8B408
|
||||
lbl_80B8B404:
|
||||
/* 80B8B404 38 60 00 00 */ li r3, 0
|
||||
lbl_80B8B408:
|
||||
/* 80B8B408 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B8B40C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80B8B410 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B8B414 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B8B418 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B8B41C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
lbl_80B8424C:
|
||||
/* 80B8424C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B84250 7C 08 02 A6 */ mflr r0
|
||||
/* 80B84254 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B84258 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B8425C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80B84260 4B 49 4A 81 */ bl fopAc_IsActor__FPv
|
||||
/* 80B84264 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B84268 41 82 00 18 */ beq lbl_80B84280
|
||||
/* 80B8426C A8 1F 00 08 */ lha r0, 8(r31)
|
||||
/* 80B84270 2C 00 00 ED */ cmpwi r0, 0xed
|
||||
/* 80B84274 40 82 00 0C */ bne lbl_80B84280
|
||||
/* 80B84278 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B8427C 48 00 00 08 */ b lbl_80B84284
|
||||
lbl_80B84280:
|
||||
/* 80B84280 38 60 00 00 */ li r3, 0
|
||||
lbl_80B84284:
|
||||
/* 80B84284 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B84288 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B8428C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B84290 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B84294 4E 80 00 20 */ blr
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
lbl_80B7DB20:
|
||||
/* 80B7DB20 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B7DB24 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7DB28 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B7DB2C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B7DB30 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80B7DB34 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80B7DB38 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80B7DB3C 38 00 00 03 */ li r0, 3
|
||||
/* 80B7DB40 B0 03 14 E6 */ sth r0, 0x14e6(r3)
|
||||
/* 80B7DB44 38 7E 14 80 */ addi r3, r30, 0x1480
|
||||
/* 80B7DB48 4B 7E 44 D1 */ bl __ptmf_test
|
||||
/* 80B7DB4C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B7DB50 41 82 00 18 */ beq lbl_80B7DB68
|
||||
/* 80B7DB54 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B7DB58 38 80 00 00 */ li r4, 0
|
||||
/* 80B7DB5C 39 9E 14 80 */ addi r12, r30, 0x1480
|
||||
/* 80B7DB60 4B 7E 45 25 */ bl __ptmf_scall
|
||||
/* 80B7DB64 60 00 00 00 */ nop
|
||||
lbl_80B7DB68:
|
||||
/* 80B7DB68 38 00 00 00 */ li r0, 0
|
||||
/* 80B7DB6C B0 1E 14 E6 */ sth r0, 0x14e6(r30)
|
||||
/* 80B7DB70 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 80B7DB74 80 1F 00 04 */ lwz r0, 4(r31)
|
||||
/* 80B7DB78 90 7E 14 80 */ stw r3, 0x1480(r30)
|
||||
/* 80B7DB7C 90 1E 14 84 */ stw r0, 0x1484(r30)
|
||||
/* 80B7DB80 80 1F 00 08 */ lwz r0, 8(r31)
|
||||
/* 80B7DB84 90 1E 14 88 */ stw r0, 0x1488(r30)
|
||||
/* 80B7DB88 38 7E 14 80 */ addi r3, r30, 0x1480
|
||||
/* 80B7DB8C 4B 7E 44 8D */ bl __ptmf_test
|
||||
/* 80B7DB90 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B7DB94 41 82 00 18 */ beq lbl_80B7DBAC
|
||||
/* 80B7DB98 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80B7DB9C 38 80 00 00 */ li r4, 0
|
||||
/* 80B7DBA0 39 9E 14 80 */ addi r12, r30, 0x1480
|
||||
/* 80B7DBA4 4B 7E 44 E1 */ bl __ptmf_scall
|
||||
/* 80B7DBA8 60 00 00 00 */ nop
|
||||
lbl_80B7DBAC:
|
||||
/* 80B7DBAC 38 60 00 01 */ li r3, 1
|
||||
/* 80B7DBB0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B7DBB4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80B7DBB8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B7DBBC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7DBC0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B7DBC4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
lbl_80B7BE74:
|
||||
/* 80B7BE74 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80B7BE78 4D 80 00 20 */ bltlr
|
||||
/* 80B7BE7C 2C 04 00 15 */ cmpwi r4, 0x15
|
||||
/* 80B7BE80 4C 80 00 20 */ bgelr
|
||||
/* 80B7BE84 B0 83 09 DE */ sth r4, 0x9de(r3)
|
||||
/* 80B7BE88 D0 23 09 74 */ stfs f1, 0x974(r3)
|
||||
/* 80B7BE8C 38 00 FF FF */ li r0, -1
|
||||
/* 80B7BE90 B0 03 09 D8 */ sth r0, 0x9d8(r3)
|
||||
/* 80B7BE94 38 00 00 00 */ li r0, 0
|
||||
/* 80B7BE98 B0 03 09 D6 */ sth r0, 0x9d6(r3)
|
||||
/* 80B7BE9C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
lbl_80B7E6F4:
|
||||
/* 80B7E6F4 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80B7E6F8 4D 80 00 20 */ bltlr
|
||||
/* 80B7E6FC 2C 04 00 06 */ cmpwi r4, 6
|
||||
/* 80B7E700 4C 80 00 20 */ bgelr
|
||||
/* 80B7E704 A8 03 14 E4 */ lha r0, 0x14e4(r3)
|
||||
/* 80B7E708 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 80B7E70C 4D 82 00 20 */ beqlr
|
||||
/* 80B7E710 B0 83 14 E4 */ sth r4, 0x14e4(r3)
|
||||
/* 80B7E714 4E 80 00 20 */ blr
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
lbl_80B7C308:
|
||||
/* 80B7C308 7C 86 07 34 */ extsh r6, r4
|
||||
/* 80B7C30C 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80B7C310 40 82 00 10 */ bne lbl_80B7C320
|
||||
/* 80B7C314 A8 03 09 E0 */ lha r0, 0x9e0(r3)
|
||||
/* 80B7C318 7C 00 30 00 */ cmpw r0, r6
|
||||
/* 80B7C31C 4D 82 00 20 */ beqlr
|
||||
lbl_80B7C320:
|
||||
/* 80B7C320 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80B7C324 4D 80 00 20 */ bltlr
|
||||
/* 80B7C328 2C 04 00 24 */ cmpwi r4, 0x24
|
||||
/* 80B7C32C 4C 80 00 20 */ bgelr
|
||||
/* 80B7C330 B0 C3 09 E0 */ sth r6, 0x9e0(r3)
|
||||
/* 80B7C334 D0 23 09 7C */ stfs f1, 0x97c(r3)
|
||||
/* 80B7C338 38 00 FF FF */ li r0, -1
|
||||
/* 80B7C33C B0 03 09 DC */ sth r0, 0x9dc(r3)
|
||||
/* 80B7C340 38 00 00 00 */ li r0, 0
|
||||
/* 80B7C344 B0 03 09 DA */ sth r0, 0x9da(r3)
|
||||
/* 80B7C348 4E 80 00 20 */ blr
|
||||
|
|
@ -1,136 +0,0 @@
|
|||
lbl_80B7AC08:
|
||||
/* 80B7AC08 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80B7AC0C 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7AC10 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80B7AC14 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B7AC18 4B 7E 75 C5 */ bl _savegpr_29
|
||||
/* 80B7AC1C 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 80B7AC20 3B C0 00 0A */ li r30, 0xa
|
||||
/* 80B7AC24 80 03 05 FC */ lwz r0, 0x5fc(r3)
|
||||
/* 80B7AC28 54 1F A7 FE */ rlwinm r31, r0, 0x14, 0x1f, 0x1f
|
||||
/* 80B7AC2C 88 03 09 F4 */ lbz r0, 0x9f4(r3)
|
||||
/* 80B7AC30 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7AC34 41 82 00 0C */ beq lbl_80B7AC40
|
||||
/* 80B7AC38 3C 60 00 80 */ lis r3, 0x0080 /* 0x0080000A@ha */
|
||||
/* 80B7AC3C 3B C3 00 0A */ addi r30, r3, 0x000A /* 0x0080000A@l */
|
||||
lbl_80B7AC40:
|
||||
/* 80B7AC40 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80B7AC44 48 00 2F 85 */ bl selectAction__11daNpc_zrA_cFv
|
||||
/* 80B7AC48 88 1D 09 F4 */ lbz r0, 0x9f4(r29)
|
||||
/* 80B7AC4C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7AC50 40 82 00 20 */ bne lbl_80B7AC70
|
||||
/* 80B7AC54 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80B7AC58 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80B7AC5C 80 63 5D B4 */ lwz r3, 0x5db4(r3)
|
||||
/* 80B7AC60 80 03 05 74 */ lwz r0, 0x574(r3)
|
||||
/* 80B7AC64 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
|
||||
/* 80B7AC68 41 82 00 08 */ beq lbl_80B7AC70
|
||||
/* 80B7AC6C 3B C0 00 00 */ li r30, 0
|
||||
lbl_80B7AC70:
|
||||
/* 80B7AC70 88 1D 15 21 */ lbz r0, 0x1521(r29)
|
||||
/* 80B7AC74 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7AC78 41 82 00 68 */ beq lbl_80B7ACE0
|
||||
/* 80B7AC7C 38 00 00 00 */ li r0, 0
|
||||
/* 80B7AC80 90 1D 14 D0 */ stw r0, 0x14d0(r29)
|
||||
/* 80B7AC84 90 1D 14 D4 */ stw r0, 0x14d4(r29)
|
||||
/* 80B7AC88 3B C0 00 02 */ li r30, 2
|
||||
/* 80B7AC8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80B7AC90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80B7AC94 80 63 5D AC */ lwz r3, 0x5dac(r3)
|
||||
/* 80B7AC98 80 03 05 70 */ lwz r0, 0x570(r3)
|
||||
/* 80B7AC9C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 80B7ACA0 41 82 00 08 */ beq lbl_80B7ACA8
|
||||
/* 80B7ACA4 3B C0 00 00 */ li r30, 0
|
||||
lbl_80B7ACA8:
|
||||
/* 80B7ACA8 88 1D 15 3C */ lbz r0, 0x153c(r29)
|
||||
/* 80B7ACAC 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80B7ACB0 41 82 00 10 */ beq lbl_80B7ACC0
|
||||
/* 80B7ACB4 88 1D 15 20 */ lbz r0, 0x1520(r29)
|
||||
/* 80B7ACB8 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 80B7ACBC 40 82 00 08 */ bne lbl_80B7ACC4
|
||||
lbl_80B7ACC0:
|
||||
/* 80B7ACC0 3B C0 00 00 */ li r30, 0
|
||||
lbl_80B7ACC4:
|
||||
/* 80B7ACC4 38 00 00 40 */ li r0, 0x40
|
||||
/* 80B7ACC8 98 1D 05 44 */ stb r0, 0x544(r29)
|
||||
/* 80B7ACCC 88 1D 05 44 */ lbz r0, 0x544(r29)
|
||||
/* 80B7ACD0 98 1D 05 45 */ stb r0, 0x545(r29)
|
||||
/* 80B7ACD4 38 00 00 3F */ li r0, 0x3f
|
||||
/* 80B7ACD8 98 1D 05 47 */ stb r0, 0x547(r29)
|
||||
/* 80B7ACDC 48 00 00 74 */ b lbl_80B7AD50
|
||||
lbl_80B7ACE0:
|
||||
/* 80B7ACE0 88 1D 14 E8 */ lbz r0, 0x14e8(r29)
|
||||
/* 80B7ACE4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7ACE8 41 82 00 2C */ beq lbl_80B7AD14
|
||||
/* 80B7ACEC 28 00 00 06 */ cmplwi r0, 6
|
||||
/* 80B7ACF0 41 82 00 24 */ beq lbl_80B7AD14
|
||||
/* 80B7ACF4 28 00 00 05 */ cmplwi r0, 5
|
||||
/* 80B7ACF8 41 82 00 1C */ beq lbl_80B7AD14
|
||||
/* 80B7ACFC 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 80B7AD00 40 82 00 10 */ bne lbl_80B7AD10
|
||||
/* 80B7AD04 88 1D 15 94 */ lbz r0, 0x1594(r29)
|
||||
/* 80B7AD08 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7AD0C 41 82 00 08 */ beq lbl_80B7AD14
|
||||
lbl_80B7AD10:
|
||||
/* 80B7AD10 3B C0 00 00 */ li r30, 0
|
||||
lbl_80B7AD14:
|
||||
/* 80B7AD14 38 00 00 00 */ li r0, 0
|
||||
/* 80B7AD18 90 1D 14 D0 */ stw r0, 0x14d0(r29)
|
||||
/* 80B7AD1C 90 1D 14 D4 */ stw r0, 0x14d4(r29)
|
||||
/* 80B7AD20 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80B7AD24 38 80 00 05 */ li r4, 5
|
||||
/* 80B7AD28 38 A0 00 06 */ li r5, 6
|
||||
/* 80B7AD2C 4B 5D 95 4D */ bl getDistTableIdx__8daNpcF_cFii
|
||||
/* 80B7AD30 98 7D 05 44 */ stb r3, 0x544(r29)
|
||||
/* 80B7AD34 88 1D 05 44 */ lbz r0, 0x544(r29)
|
||||
/* 80B7AD38 98 1D 05 45 */ stb r0, 0x545(r29)
|
||||
/* 80B7AD3C 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80B7AD40 38 80 00 03 */ li r4, 3
|
||||
/* 80B7AD44 38 A0 00 06 */ li r5, 6
|
||||
/* 80B7AD48 4B 5D 95 31 */ bl getDistTableIdx__8daNpcF_cFii
|
||||
/* 80B7AD4C 98 7D 05 47 */ stb r3, 0x547(r29)
|
||||
lbl_80B7AD50:
|
||||
/* 80B7AD50 93 DD 05 5C */ stw r30, 0x55c(r29)
|
||||
/* 80B7AD54 3C 60 80 B9 */ lis r3, m__17daNpc_zrA_Param_c@ha /* 0x80B8C458@ha */
|
||||
/* 80B7AD58 38 63 C4 58 */ addi r3, r3, m__17daNpc_zrA_Param_c@l /* 0x80B8C458@l */
|
||||
/* 80B7AD5C C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 80B7AD60 D0 1D 04 EC */ stfs f0, 0x4ec(r29)
|
||||
/* 80B7AD64 D0 1D 04 F0 */ stfs f0, 0x4f0(r29)
|
||||
/* 80B7AD68 D0 1D 04 F4 */ stfs f0, 0x4f4(r29)
|
||||
/* 80B7AD6C 88 1D 15 20 */ lbz r0, 0x1520(r29)
|
||||
/* 80B7AD70 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7AD74 41 82 00 14 */ beq lbl_80B7AD88
|
||||
/* 80B7AD78 38 7D 04 EC */ addi r3, r29, 0x4ec
|
||||
/* 80B7AD7C 7C 64 1B 78 */ mr r4, r3
|
||||
/* 80B7AD80 C0 3D 15 6C */ lfs f1, 0x156c(r29)
|
||||
/* 80B7AD84 4B 7C C3 55 */ bl PSVECScale
|
||||
lbl_80B7AD88:
|
||||
/* 80B7AD88 38 7D 07 E4 */ addi r3, r29, 0x7e4
|
||||
/* 80B7AD8C 3C 80 80 B9 */ lis r4, m__17daNpc_zrA_Param_c@ha /* 0x80B8C458@ha */
|
||||
/* 80B7AD90 38 84 C4 58 */ addi r4, r4, m__17daNpc_zrA_Param_c@l /* 0x80B8C458@l */
|
||||
/* 80B7AD94 C0 24 00 1C */ lfs f1, 0x1c(r4)
|
||||
/* 80B7AD98 4B 4F B1 A9 */ bl SetWallR__12dBgS_AcchCirFf
|
||||
/* 80B7AD9C 3C 60 80 B9 */ lis r3, m__17daNpc_zrA_Param_c@ha /* 0x80B8C458@ha */
|
||||
/* 80B7ADA0 38 63 C4 58 */ addi r3, r3, m__17daNpc_zrA_Param_c@l /* 0x80B8C458@l */
|
||||
/* 80B7ADA4 C0 03 00 18 */ lfs f0, 0x18(r3)
|
||||
/* 80B7ADA8 D0 1D 08 14 */ stfs f0, 0x814(r29)
|
||||
/* 80B7ADAC 88 1D 14 E8 */ lbz r0, 0x14e8(r29)
|
||||
/* 80B7ADB0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80B7ADB4 40 82 00 0C */ bne lbl_80B7ADC0
|
||||
/* 80B7ADB8 2C 1F 00 00 */ cmpwi r31, 0
|
||||
/* 80B7ADBC 41 82 00 0C */ beq lbl_80B7ADC8
|
||||
lbl_80B7ADC0:
|
||||
/* 80B7ADC0 28 00 00 06 */ cmplwi r0, 6
|
||||
/* 80B7ADC4 40 82 00 14 */ bne lbl_80B7ADD8
|
||||
lbl_80B7ADC8:
|
||||
/* 80B7ADC8 3C 60 80 B9 */ lis r3, m__17daNpc_zrA_Param_c@ha /* 0x80B8C458@ha */
|
||||
/* 80B7ADCC 38 63 C4 58 */ addi r3, r3, m__17daNpc_zrA_Param_c@l /* 0x80B8C458@l */
|
||||
/* 80B7ADD0 C0 03 00 04 */ lfs f0, 4(r3)
|
||||
/* 80B7ADD4 D0 1D 05 30 */ stfs f0, 0x530(r29)
|
||||
lbl_80B7ADD8:
|
||||
/* 80B7ADD8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B7ADDC 4B 7E 74 4D */ bl _restgpr_29
|
||||
/* 80B7ADE0 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80B7ADE4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7ADE8 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80B7ADEC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
lbl_80B7E668:
|
||||
/* 80B7E668 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80B7E66C 7C 08 02 A6 */ mflr r0
|
||||
/* 80B7E670 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80B7E674 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B7E678 4B 7E 3B 61 */ bl _savegpr_28
|
||||
/* 80B7E67C 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 80B7E680 7C 9D 23 78 */ mr r29, r4
|
||||
/* 80B7E684 7C BE 2B 78 */ mr r30, r5
|
||||
/* 80B7E688 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80B7E68C 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80B7E690 38 7F 4F F8 */ addi r3, r31, 0x4ff8
|
||||
/* 80B7E694 4B 4C 9D 55 */ bl getRunEventName__16dEvent_manager_cFv
|
||||
/* 80B7E698 57 A0 10 3A */ slwi r0, r29, 2
|
||||
/* 80B7E69C 3C 80 80 B9 */ lis r4, l_evtNames@ha /* 0x80B8D1C4@ha */
|
||||
/* 80B7E6A0 38 84 D1 C4 */ addi r4, r4, l_evtNames@l /* 0x80B8D1C4@l */
|
||||
/* 80B7E6A4 7C 84 00 2E */ lwzx r4, r4, r0
|
||||
/* 80B7E6A8 4B 7E A2 ED */ bl strcmp
|
||||
/* 80B7E6AC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B7E6B0 40 82 00 28 */ bne lbl_80B7E6D8
|
||||
/* 80B7E6B4 38 7F 4E C8 */ addi r3, r31, 0x4ec8
|
||||
/* 80B7E6B8 7F 84 E3 78 */ mr r4, r28
|
||||
/* 80B7E6BC 57 C0 10 3A */ slwi r0, r30, 2
|
||||
/* 80B7E6C0 3C A0 80 B9 */ lis r5, l_evtNames@ha /* 0x80B8D1C4@ha */
|
||||
/* 80B7E6C4 38 A5 D1 C4 */ addi r5, r5, l_evtNames@l /* 0x80B8D1C4@l */
|
||||
/* 80B7E6C8 7C A5 00 2E */ lwzx r5, r5, r0
|
||||
/* 80B7E6CC 4B 4C 42 8D */ bl setSkipZev__14dEvt_control_cFPvPc
|
||||
/* 80B7E6D0 38 60 00 01 */ li r3, 1
|
||||
/* 80B7E6D4 48 00 00 08 */ b lbl_80B7E6DC
|
||||
lbl_80B7E6D8:
|
||||
/* 80B7E6D8 38 60 00 00 */ li r3, 0
|
||||
lbl_80B7E6DC:
|
||||
/* 80B7E6DC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80B7E6E0 4B 7E 3B 45 */ bl _restgpr_28
|
||||
/* 80B7E6E4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80B7E6E8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B7E6EC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80B7E6F0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
lbl_80B81788:
|
||||
/* 80B81788 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80B8178C 7C 08 02 A6 */ mflr r0
|
||||
/* 80B81790 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80B81794 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80B81798 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80B8179C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80B817A0 48 00 0B 61 */ bl calcModulation__11daNpc_zrA_cFv
|
||||
/* 80B817A4 80 1F 09 54 */ lwz r0, 0x954(r31)
|
||||
/* 80B817A8 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80B817AC 40 82 01 50 */ bne lbl_80B818FC
|
||||
/* 80B817B0 38 7F 13 1C */ addi r3, r31, 0x131c
|
||||
/* 80B817B4 4B 5C EF 39 */ bl getActorP__18daNpcF_ActorMngr_cFv
|
||||
/* 80B817B8 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 80B817BC 7C 00 19 10 */ subfe r0, r0, r3
|
||||
/* 80B817C0 54 1E 06 3E */ clrlwi r30, r0, 0x18
|
||||
/* 80B817C4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B817C8 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80B817CC A8 BF 04 E6 */ lha r5, 0x4e6(r31)
|
||||
/* 80B817D0 4B 5D 32 11 */ bl chkFindPlayer2__8daNpcF_cFis
|
||||
/* 80B817D4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B817D8 41 82 00 2C */ beq lbl_80B81804
|
||||
/* 80B817DC 2C 1E 00 00 */ cmpwi r30, 0
|
||||
/* 80B817E0 40 82 00 3C */ bne lbl_80B8181C
|
||||
/* 80B817E4 38 7F 13 1C */ addi r3, r31, 0x131c
|
||||
/* 80B817E8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80B817EC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80B817F0 80 84 5D AC */ lwz r4, 0x5dac(r4)
|
||||
/* 80B817F4 4B 5C EE C9 */ bl entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c
|
||||
/* 80B817F8 38 00 00 00 */ li r0, 0
|
||||
/* 80B817FC 90 1F 09 6C */ stw r0, 0x96c(r31)
|
||||
/* 80B81800 48 00 00 1C */ b lbl_80B8181C
|
||||
lbl_80B81804:
|
||||
/* 80B81804 2C 1E 00 00 */ cmpwi r30, 0
|
||||
/* 80B81808 41 82 00 14 */ beq lbl_80B8181C
|
||||
/* 80B8180C 38 7F 13 1C */ addi r3, r31, 0x131c
|
||||
/* 80B81810 4B 5C EE D1 */ bl remove__18daNpcF_ActorMngr_cFv
|
||||
/* 80B81814 38 00 00 00 */ li r0, 0
|
||||
/* 80B81818 90 1F 09 6C */ stw r0, 0x96c(r31)
|
||||
lbl_80B8181C:
|
||||
/* 80B8181C 38 7F 13 1C */ addi r3, r31, 0x131c
|
||||
/* 80B81820 4B 5C EE CD */ bl getActorP__18daNpcF_ActorMngr_cFv
|
||||
/* 80B81824 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80B81828 41 82 00 14 */ beq lbl_80B8183C
|
||||
/* 80B8182C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B81830 38 80 00 02 */ li r4, 2
|
||||
/* 80B81834 4B FF CE C1 */ bl setLookMode__11daNpc_zrA_cFi
|
||||
/* 80B81838 48 00 00 44 */ b lbl_80B8187C
|
||||
lbl_80B8183C:
|
||||
/* 80B8183C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B81840 38 80 00 00 */ li r4, 0
|
||||
/* 80B81844 4B FF CE B1 */ bl setLookMode__11daNpc_zrA_cFi
|
||||
/* 80B81848 A8 9F 04 B6 */ lha r4, 0x4b6(r31)
|
||||
/* 80B8184C A8 1F 08 F2 */ lha r0, 0x8f2(r31)
|
||||
/* 80B81850 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 80B81854 41 82 00 28 */ beq lbl_80B8187C
|
||||
/* 80B81858 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B8185C 38 A0 FF FF */ li r5, -1
|
||||
/* 80B81860 38 C0 FF FF */ li r6, -1
|
||||
/* 80B81864 38 E0 00 0F */ li r7, 0xf
|
||||
/* 80B81868 4B 5D 28 3D */ bl step__8daNpcF_cFsiii
|
||||
/* 80B8186C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80B81870 41 82 00 0C */ beq lbl_80B8187C
|
||||
/* 80B81874 38 00 00 00 */ li r0, 0
|
||||
/* 80B81878 B0 1F 14 E6 */ sth r0, 0x14e6(r31)
|
||||
lbl_80B8187C:
|
||||
/* 80B8187C A8 7F 04 B6 */ lha r3, 0x4b6(r31)
|
||||
/* 80B81880 A8 1F 08 F2 */ lha r0, 0x8f2(r31)
|
||||
/* 80B81884 7C 03 00 00 */ cmpw r3, r0
|
||||
/* 80B81888 40 82 00 6C */ bne lbl_80B818F4
|
||||
/* 80B8188C 38 7F 13 1C */ addi r3, r31, 0x131c
|
||||
/* 80B81890 4B 5C EE 5D */ bl getActorP__18daNpcF_ActorMngr_cFv
|
||||
/* 80B81894 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 80B81898 7C 00 19 10 */ subfe r0, r0, r3
|
||||
/* 80B8189C 54 04 06 3E */ clrlwi r4, r0, 0x18
|
||||
/* 80B818A0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B818A4 3C A0 80 15 */ lis r5, srchAttnActor1__8daNpcF_cFPvPv@ha /* 0x80152654@ha */
|
||||
/* 80B818A8 38 A5 26 54 */ addi r5, r5, srchAttnActor1__8daNpcF_cFPvPv@l /* 0x80152654@l */
|
||||
/* 80B818AC 3C C0 80 B9 */ lis r6, m__17daNpc_zrA_Param_c@ha /* 0x80B8C458@ha */
|
||||
/* 80B818B0 38 C6 C4 58 */ addi r6, r6, m__17daNpc_zrA_Param_c@l /* 0x80B8C458@l */
|
||||
/* 80B818B4 C0 26 00 54 */ lfs f1, 0x54(r6)
|
||||
/* 80B818B8 C0 46 00 58 */ lfs f2, 0x58(r6)
|
||||
/* 80B818BC C0 66 00 5C */ lfs f3, 0x5c(r6)
|
||||
/* 80B818C0 C0 86 00 50 */ lfs f4, 0x50(r6)
|
||||
/* 80B818C4 A8 DF 04 E6 */ lha r6, 0x4e6(r31)
|
||||
/* 80B818C8 38 E0 00 78 */ li r7, 0x78
|
||||
/* 80B818CC 39 00 00 01 */ li r8, 1
|
||||
/* 80B818D0 4B 5D 2A 9D */ bl getAttnActorP__8daNpcF_cFiPFPvPv_Pvffffsii
|
||||
/* 80B818D4 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 80B818D8 41 82 00 24 */ beq lbl_80B818FC
|
||||
/* 80B818DC 38 7F 13 24 */ addi r3, r31, 0x1324
|
||||
/* 80B818E0 4B 5C ED DD */ bl entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c
|
||||
/* 80B818E4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80B818E8 38 80 00 05 */ li r4, 5
|
||||
/* 80B818EC 4B FF CE 09 */ bl setLookMode__11daNpc_zrA_cFi
|
||||
/* 80B818F0 48 00 00 0C */ b lbl_80B818FC
|
||||
lbl_80B818F4:
|
||||
/* 80B818F4 38 00 00 00 */ li r0, 0
|
||||
/* 80B818F8 90 1F 09 38 */ stw r0, 0x938(r31)
|
||||
lbl_80B818FC:
|
||||
/* 80B818FC 38 60 00 01 */ li r3, 1
|
||||
/* 80B81900 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80B81904 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80B81908 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80B8190C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80B81910 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80B81914 4E 80 00 20 */ blr
|
||||
|
|
@ -20,7 +20,7 @@ struct daNpc_GetParam2 { // name unknown
|
|||
/* 0x8 */ int arcIdx;
|
||||
};
|
||||
|
||||
struct dPnt {};
|
||||
struct dPnt : public dStage_dPnt_c {};
|
||||
|
||||
class daNpcT_ActorMngr_c {
|
||||
private:
|
||||
|
|
@ -421,248 +421,6 @@ STATIC_ASSERT(sizeof(daNpcT_c) == 0xE40);
|
|||
|
||||
BOOL daNpcT_chkEvtBit(u32 i_idx);
|
||||
BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4);
|
||||
BOOL daNpcF_chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
|
||||
class daNpcF_ActorMngr_c {
|
||||
private:
|
||||
/* 0x0 */ u32 mActorID;
|
||||
|
||||
public:
|
||||
daNpcF_ActorMngr_c() { initialize(); }
|
||||
|
||||
/* 801506B0 */ void initialize();
|
||||
/* 801506D8 */ void entry(unsigned int);
|
||||
/* 801506BC */ void entry(fopAc_ac_c*);
|
||||
/* 801506E0 */ void remove();
|
||||
/* 801506EC */ fopAc_ac_c* getActorP();
|
||||
|
||||
/* 80155E40 */ virtual ~daNpcF_ActorMngr_c();
|
||||
};
|
||||
|
||||
class daNpcF_c : public fopAc_ac_c {
|
||||
protected:
|
||||
/* 0x568 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x56C */ mDoExt_bckAnm mBckAnm;
|
||||
/* 0x588 */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x5A0 */ mDoExt_btkAnm mBtkAnm;
|
||||
/* 0x5B8 */ mDoExt_brkAnm mBrkAnm;
|
||||
/* 0x5D0 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x7A8 */ dCcD_Stts mCcStts;
|
||||
/* 0x7E4 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x824 */ daNpcF_ActorMngr_c field_0x824;
|
||||
/* 0x82C */ daNpcF_ActorMngr_c mAttnActor[5];
|
||||
/* 0x854 */ cXyz mLookatPos[3];
|
||||
/* 0x878 */ cXyz mLookPos;
|
||||
/* 0x884 */ cXyz field_0x884;
|
||||
/* 0x890 */ cXyz field_0x890;
|
||||
/* 0x89C */ cXyz field_0x89c;
|
||||
/* 0x8A8 */ cXyz field_0x8a8;
|
||||
/* 0x8B4 */ cXyz field_0x8b4;
|
||||
/* 0x8C0 */ cXyz field_0x8c0;
|
||||
/* 0x8CC */ cXyz field_0x8cc;
|
||||
/* 0x8D8 */ cXyz field_0x8d8;
|
||||
/* 0x8E4 */ cXyz mHeadPos;
|
||||
/* 0x8F0 */ csXyz field_0x8f0;
|
||||
/* 0x8F6 */ csXyz field_0x8f6;
|
||||
/* 0x8FC */ csXyz mEyeAngle;
|
||||
/* 0x902 */ csXyz mHeadAngle;
|
||||
/* 0x908 */ csXyz field_0x908[3];
|
||||
/* 0x91A */ csXyz field_0x91a[3];
|
||||
/* 0x92C */ int mCutIndex;
|
||||
/* 0x930 */ u32 field_0x930;
|
||||
/* 0x934 */ int mAttnIdx;
|
||||
/* 0x938 */ int mAttnChangeTimer;
|
||||
/* 0x93C */ int mAttnActorTimer[5];
|
||||
/* 0x950 */ int field_0x950;
|
||||
/* 0x954 */ int field_0x954;
|
||||
/* 0x958 */ int field_0x958;
|
||||
/* 0x95C */ int field_0x95c;
|
||||
/* 0x960 */ int field_0x960;
|
||||
/* 0x964 */ int field_0x964;
|
||||
/* 0x968 */ int field_0x968;
|
||||
/* 0x96C */ int field_0x96c;
|
||||
/* 0x970 */ f32 field_0x970;
|
||||
/* 0x974 */ f32 mExpressionMorfOverride;
|
||||
/* 0x978 */ f32 mExpressionMorf;
|
||||
/* 0x97C */ f32 mMotionMorfOverride;
|
||||
/* 0x980 */ f32 field_0x980;
|
||||
/* 0x984 */ f32 field_0x984[3];
|
||||
/* 0x990 */ u16 field_0x990;
|
||||
/* 0x992 */ u16 field_0x992;
|
||||
/* 0x994 */ u16 field_0x994;
|
||||
/* 0x996 */ s16 field_0x996;
|
||||
/* 0x998 */ u16 field_0x998;
|
||||
/* 0x99C */ u32 mAnmFlags;
|
||||
/* 0x9A0 */ u32 field_0x9a0;
|
||||
/* 0x9A4 */ u32 field_0x9a4;
|
||||
/* 0x9A8 */ u32 mHitodamaParticleKey[2];
|
||||
/* 0x9B0 */ u32 field_0x9b0;
|
||||
/* 0x9B4 */ int mFlowNodeNo;
|
||||
/* 0x9B8 */ cXyz field_0x9b8;
|
||||
/* 0x9C4 */ cXyz field_0x9c4;
|
||||
/* 0x9D0 */ s16 field_0x9d0;
|
||||
/* 0x9D2 */ s16 field_0x9d2;
|
||||
/* 0x9D4 */ s16 mEventIdx;
|
||||
/* 0x9D6 */ s16 mExpressionPhase;
|
||||
/* 0x9D8 */ s16 mExpressionPrevPhase;
|
||||
/* 0x9DA */ s16 mMotionPhase;
|
||||
/* 0x9DC */ s16 mMotionPrevPhase;
|
||||
/* 0x9DE */ s16 mExpression;
|
||||
/* 0x9E0 */ s16 mMotion;
|
||||
/* 0x9E2 */ u16 mMotionLoops;
|
||||
/* 0x9E4 */ u16 mExpressionLoops;
|
||||
/* 0x9E6 */ u16 mOrderEvtNo;
|
||||
/* 0x9E8 */ s8 field_0x9e8;
|
||||
/* 0x9E9 */ u8 field_0x9e9;
|
||||
/* 0x9EA */ u8 field_0x9ea;
|
||||
/* 0x9EB */ bool field_0x9eb;
|
||||
/* 0x9EC */ u8 field_0x9ec;
|
||||
/* 0x9ED */ bool field_0x9ed;
|
||||
/* 0x9EE */ bool field_0x9ee;
|
||||
/* 0x9EF */ u8 field_0x9ef;
|
||||
/* 0x9F0 */ u8 field_0x9f0;
|
||||
/* 0x9F1 */ u8 field_0x9f1;
|
||||
/* 0x9F2 */ bool mHide;
|
||||
/* 0x9f3 */ u8 field_0x9f3;
|
||||
/* 0x9F4 */ bool mTwilight;
|
||||
/* 0x9F5 */ u8 field_0x9f5;
|
||||
/* 0x9F6 */ u8 field_0x9f6;
|
||||
/* 0x9F8 */ dMsgFlow_c mFlow;
|
||||
/* 0xA44 */ cBgS_GndChk field_0xa44;
|
||||
/* 0xA80 */ dBgS_GndChk field_0xa80;
|
||||
/* 0xAD4 */ dBgS_LinChk field_0xad4;
|
||||
|
||||
public:
|
||||
struct daNpcF_anmPlayData {
|
||||
u16 idx;
|
||||
f32 morf;
|
||||
s32 numLoops;
|
||||
};
|
||||
|
||||
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_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,
|
||||
};
|
||||
|
||||
/* 80152014 */ BOOL execute();
|
||||
/* 801522AC */ BOOL draw(int, int, f32, _GXColorS10*, int);
|
||||
/* 80152614 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
/* 80152654 */ static void* srchAttnActor1(void*, void*);
|
||||
/* 801526E8 */ static void* srchActor(void*, void*);
|
||||
|
||||
/* 801528C8 */ void initialize();
|
||||
/* 80152B2C */ J3DAnmTransformKey* getTrnsfrmKeyAnmP(char*, int);
|
||||
/* 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);
|
||||
/* 80152D84 */ void setEnvTevColor();
|
||||
/* 80152DE0 */ void setRoomNo();
|
||||
/* 80152E24 */ BOOL chkEndAnm(f32);
|
||||
/* 80152EC4 */ BOOL chkEndAnm(J3DFrameCtrl*, f32);
|
||||
/* 80152F40 */ BOOL playAllAnm();
|
||||
/* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***);
|
||||
/* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***);
|
||||
/* 8015337C */ void setLookatMtx(int, int*, f32);
|
||||
/* 80153578 */ void hitChk2(dCcD_Cyl*, int, int);
|
||||
/* 80153658 */ void setDamage(int, int, int);
|
||||
/* 80153718 */ int ctrlMsgAnm(int&, int&, fopAc_ac_c*, int);
|
||||
/* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16);
|
||||
/* 80153954 */ void changeEvent(char*, char*, u16, u16);
|
||||
/* 801539F0 */ BOOL chkActorInSight(fopAc_ac_c*, f32);
|
||||
/* 80153A78 */ BOOL chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16);
|
||||
/* 80153BDC */ BOOL chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int);
|
||||
/* 80153D1C */ int initTalk(int, fopAc_ac_c**);
|
||||
/* 80153D84 */ BOOL talkProc(int*, BOOL, fopAc_ac_c**);
|
||||
/* 80153EF4 */ BOOL turn(s16, f32, int);
|
||||
/* 801540A4 */ BOOL step(s16, int, int, int);
|
||||
/* 80154250 */ void setAngle(s16);
|
||||
/* 80154278 */ u8 getDistTableIdx(int, int);
|
||||
/* 801542A0 */ fopAc_ac_c* getEvtAreaTagP(int, int);
|
||||
/* 8015436C */ fopAc_ac_c* getAttnActorP(int, fpcLyIt_JudgeFunc, 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);
|
||||
/* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*);
|
||||
/* 801549E0 */ BOOL chkFindPlayer2(int, s16);
|
||||
/* 80154BD8 */ void setHitodamaPrtcl();
|
||||
|
||||
/* 80155BF4 */ virtual ~daNpcF_c();
|
||||
/* 80155BC8 */ virtual void setParam();
|
||||
/* 80155BC0 */ virtual BOOL main();
|
||||
/* 80155BD8 */ virtual BOOL ctrlBtk();
|
||||
/* 80155BBC */ virtual void adjustShapeAngle();
|
||||
/* 8015276C */ virtual void setMtx();
|
||||
/* 801527FC */ virtual void setMtx2();
|
||||
/* 80155BB8 */ virtual void setAttnPos();
|
||||
/* 80155BB4 */ virtual void setCollisions();
|
||||
/* 80155BE0 */ virtual bool setExpressionAnm(int i_idx, bool i_modify);
|
||||
/* 80155EC8 */ virtual bool setExpressionBtp(int i_idx);
|
||||
/* 80155BF0 */ virtual void setExpression(int i_expression, f32 i_morf);
|
||||
/* 80155BE8 */ virtual void setMotionAnm(int i_idx, f32 i_morf);
|
||||
/* 80155BEC */ virtual void setMotion(int i_motion, f32 i_morf, int i_restart);
|
||||
/* 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, attention_info.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, attention_info.field_0x0[1]);
|
||||
}
|
||||
BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) {
|
||||
return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor);
|
||||
}
|
||||
BOOL checkHide() { return mHide || (mTwilight && !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;
|
||||
static dCcD_SrcSph mCcDSph;
|
||||
static fopAc_ac_c* mFindActorPList[100];
|
||||
static s32 mFindCount;
|
||||
static s16 mSrchActorName;
|
||||
};
|
||||
|
||||
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);
|
||||
s16 daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
|
||||
|
||||
struct daBaseNpc_matAnm_c {
|
||||
/* 8014D884 */ void calc(J3DMaterial*) const;
|
||||
|
|
@ -830,6 +588,266 @@ public:
|
|||
static u8 m_set_func[4];
|
||||
};
|
||||
|
||||
class daNpcF_ActorMngr_c {
|
||||
private:
|
||||
/* 0x0 */ u32 mActorID;
|
||||
|
||||
public:
|
||||
daNpcF_ActorMngr_c() { initialize(); }
|
||||
|
||||
/* 801506B0 */ void initialize();
|
||||
/* 801506D8 */ void entry(unsigned int);
|
||||
/* 801506BC */ void entry(fopAc_ac_c*);
|
||||
/* 801506E0 */ void remove();
|
||||
/* 801506EC */ fopAc_ac_c* getActorP();
|
||||
|
||||
/* 80155E40 */ virtual ~daNpcF_ActorMngr_c();
|
||||
};
|
||||
|
||||
class daNpcF_c : public fopAc_ac_c {
|
||||
protected:
|
||||
/* 0x568 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x56C */ mDoExt_bckAnm mBckAnm;
|
||||
/* 0x588 */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x5A0 */ mDoExt_btkAnm mBtkAnm;
|
||||
/* 0x5B8 */ mDoExt_brkAnm mBrkAnm;
|
||||
/* 0x5D0 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x7A8 */ dCcD_Stts mCcStts;
|
||||
/* 0x7E4 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x824 */ daNpcF_ActorMngr_c field_0x824;
|
||||
/* 0x82C */ daNpcF_ActorMngr_c mAttnActor[5];
|
||||
/* 0x854 */ cXyz mLookatPos[3];
|
||||
/* 0x878 */ cXyz mLookPos;
|
||||
/* 0x884 */ cXyz field_0x884;
|
||||
/* 0x890 */ cXyz field_0x890;
|
||||
/* 0x89C */ cXyz field_0x89c;
|
||||
/* 0x8A8 */ cXyz field_0x8a8;
|
||||
/* 0x8B4 */ cXyz field_0x8b4;
|
||||
/* 0x8C0 */ cXyz field_0x8c0;
|
||||
/* 0x8CC */ cXyz field_0x8cc;
|
||||
/* 0x8D8 */ cXyz field_0x8d8;
|
||||
/* 0x8E4 */ cXyz mHeadPos;
|
||||
/* 0x8F0 */ csXyz mCurAngle;
|
||||
/* 0x8F6 */ csXyz mOldAngle;
|
||||
/* 0x8FC */ csXyz mEyeAngle;
|
||||
/* 0x902 */ csXyz mHeadAngle;
|
||||
/* 0x908 */ csXyz field_0x908[3];
|
||||
/* 0x91A */ csXyz mLookatAngle[3];
|
||||
/* 0x92C */ int mCutIndex;
|
||||
/* 0x930 */ u32 field_0x930;
|
||||
/* 0x934 */ int mAttnIdx;
|
||||
/* 0x938 */ int mAttnChangeTimer;
|
||||
/* 0x93C */ int mAttnActorTimer[5];
|
||||
/* 0x950 */ int mMsgTimer;
|
||||
/* 0x954 */ int field_0x954;
|
||||
/* 0x958 */ int field_0x958;
|
||||
/* 0x95C */ int field_0x95c;
|
||||
/* 0x960 */ int mEventTimer;
|
||||
/* 0x964 */ int mBtpTimer;
|
||||
/* 0x968 */ int mTurnAmount;
|
||||
/* 0x96C */ int mTurnMode;
|
||||
/* 0x970 */ f32 mTurnStepNum;
|
||||
/* 0x974 */ f32 mExpressionMorfOverride;
|
||||
/* 0x978 */ f32 mExpressionMorf;
|
||||
/* 0x97C */ f32 mMotionMorfOverride;
|
||||
/* 0x980 */ f32 mGroundH;
|
||||
/* 0x984 */ f32 field_0x984[3];
|
||||
/* 0x990 */ s16 field_0x990;
|
||||
/* 0x992 */ s16 field_0x992;
|
||||
/* 0x994 */ s16 mTurnStartAngle;
|
||||
/* 0x996 */ s16 mTurnTargetAngle;
|
||||
/* 0x998 */ u16 field_0x998;
|
||||
/* 0x99C */ u32 mAnmFlags;
|
||||
/* 0x9A0 */ u32 mShadowKey;
|
||||
/* 0x9A4 */ u32 field_0x9a4;
|
||||
/* 0x9A8 */ u32 mHitodamaParticleKey[2];
|
||||
/* 0x9B0 */ u32 mPolySound;
|
||||
/* 0x9B4 */ int mFlowNodeNo;
|
||||
/* 0x9B8 */ cXyz field_0x9b8;
|
||||
/* 0x9C4 */ cXyz field_0x9c4;
|
||||
/* 0x9D0 */ s16 field_0x9d0;
|
||||
/* 0x9D2 */ s16 field_0x9d2;
|
||||
/* 0x9D4 */ s16 mEventIdx;
|
||||
/* 0x9D6 */ s16 mExpressionPhase;
|
||||
/* 0x9D8 */ s16 mExpressionPrevPhase;
|
||||
/* 0x9DA */ s16 mMotionPhase;
|
||||
/* 0x9DC */ s16 mMotionPrevPhase;
|
||||
/* 0x9DE */ s16 mExpression;
|
||||
/* 0x9E0 */ s16 mMotion;
|
||||
/* 0x9E2 */ u16 mMotionLoops;
|
||||
/* 0x9E4 */ u16 mExpressionLoops;
|
||||
/* 0x9E6 */ u16 mOrderEvtNo;
|
||||
/* 0x9E8 */ s8 mReverb;
|
||||
/* 0x9E9 */ bool mOrderSpeakEvt;
|
||||
/* 0x9EA */ bool field_0x9ea;
|
||||
/* 0x9EB */ bool field_0x9eb;
|
||||
/* 0x9EC */ bool field_0x9ec;
|
||||
/* 0x9ED */ bool mOrderNewEvt;
|
||||
/* 0x9EE */ bool field_0x9ee;
|
||||
/* 0x9EF */ u8 field_0x9ef;
|
||||
/* 0x9F0 */ u8 field_0x9f0;
|
||||
/* 0x9F1 */ u8 field_0x9f1;
|
||||
/* 0x9F2 */ bool mHide;
|
||||
/* 0x9f3 */ u8 field_0x9f3;
|
||||
/* 0x9F4 */ bool mTwilight;
|
||||
/* 0x9F5 */ u8 field_0x9f5;
|
||||
/* 0x9F6 */ u8 field_0x9f6;
|
||||
/* 0x9F8 */ dMsgFlow_c mFlow;
|
||||
/* 0xA44 */ cBgS_GndChk mGndChk;
|
||||
/* 0xA80 */ dBgS_GndChk field_0xa80;
|
||||
/* 0xAD4 */ dBgS_LinChk field_0xad4;
|
||||
|
||||
public:
|
||||
struct daNpcF_anmPlayData {
|
||||
u16 idx;
|
||||
f32 morf;
|
||||
s32 numLoops;
|
||||
};
|
||||
|
||||
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_EXPRESSION = 0x1000,
|
||||
ANM_PAUSE_BPK = 0x2000,
|
||||
ANM_PLAY_BPK = 0x4000,
|
||||
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,
|
||||
};
|
||||
|
||||
enum LookMode {
|
||||
/* 0 */ LOOK_NONE,
|
||||
/* 1 */ LOOK_RESET,
|
||||
/* 2 */ LOOK_PLAYER,
|
||||
/* 3 */ LOOK_PLAYER_TALK,
|
||||
/* 4 */ LOOK_ACTOR,
|
||||
/* 5 */ LOOK_ATTN,
|
||||
};
|
||||
|
||||
/* 80152014 */ BOOL execute();
|
||||
/* 801522AC */ BOOL draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
|
||||
/* 80152614 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*,
|
||||
dCcD_GObjInf*);
|
||||
/* 80152654 */ static void* srchAttnActor1(void*, void*);
|
||||
/* 801526E8 */ static void* srchActor(void*, void*);
|
||||
|
||||
/* 801528C8 */ void initialize();
|
||||
/* 80152B2C */ J3DAnmTransformKey* getTrnsfrmKeyAnmP(char*, int);
|
||||
/* 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);
|
||||
/* 80152D84 */ void setEnvTevColor();
|
||||
/* 80152DE0 */ void setRoomNo();
|
||||
/* 80152E24 */ BOOL chkEndAnm(f32);
|
||||
/* 80152EC4 */ BOOL chkEndAnm(J3DFrameCtrl*, f32);
|
||||
/* 80152F40 */ BOOL playAllAnm();
|
||||
/* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***);
|
||||
/* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***);
|
||||
/* 8015337C */ void setLookatMtx(int, int*, f32);
|
||||
/* 80153578 */ void hitChk2(dCcD_Cyl*, int, int);
|
||||
/* 80153658 */ void setDamage(int, int, int);
|
||||
/* 80153718 */ int ctrlMsgAnm(int&, int&, fopAc_ac_c*, BOOL);
|
||||
/* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16);
|
||||
/* 80153954 */ void changeEvent(char*, char*, u16, u16);
|
||||
/* 801539F0 */ BOOL chkActorInSight(fopAc_ac_c*, f32);
|
||||
/* 80153A78 */ BOOL chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16);
|
||||
/* 80153BDC */ BOOL chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int);
|
||||
/* 80153D1C */ BOOL initTalk(int, fopAc_ac_c**);
|
||||
/* 80153D84 */ BOOL talkProc(int*, BOOL, fopAc_ac_c**);
|
||||
/* 80153EF4 */ BOOL turn(s16, f32, int);
|
||||
/* 801540A4 */ BOOL step(s16, int, int, int);
|
||||
/* 80154250 */ void setAngle(s16);
|
||||
/* 80154278 */ u8 getDistTableIdx(int, int);
|
||||
/* 801542A0 */ fopAc_ac_c* getEvtAreaTagP(int, int);
|
||||
/* 8015436C */ fopAc_ac_c* getAttnActorP(BOOL, fpcLyIt_JudgeFunc, f32, f32, f32, f32, s16,
|
||||
int, BOOL);
|
||||
/* 80154730 */ BOOL chkActorInSight2(fopAc_ac_c*, f32, s16);
|
||||
/* 80154834 */ BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
|
||||
/* 801548F4 */ BOOL chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
/* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*);
|
||||
/* 801549E0 */ BOOL chkFindPlayer2(BOOL, s16);
|
||||
/* 80154BD8 */ void setHitodamaPrtcl();
|
||||
|
||||
/* 80155BF4 */ virtual ~daNpcF_c();
|
||||
/* 80155BC8 */ virtual void setParam();
|
||||
/* 80155BC0 */ virtual BOOL main();
|
||||
/* 80155BD8 */ virtual BOOL ctrlBtk();
|
||||
/* 80155BBC */ virtual void adjustShapeAngle();
|
||||
/* 8015276C */ virtual void setMtx();
|
||||
/* 801527FC */ virtual void setMtx2();
|
||||
/* 80155BB8 */ virtual void setAttnPos();
|
||||
/* 80155BB4 */ virtual void setCollisions();
|
||||
/* 80155BE0 */ virtual bool setExpressionAnm(int i_idx, bool i_modify);
|
||||
/* 80155EC8 */ virtual bool setExpressionBtp(int i_idx);
|
||||
/* 80155BF0 */ virtual void setExpression(int i_expression, f32 i_morf);
|
||||
/* 80155BE8 */ virtual void setMotionAnm(int i_idx, f32 i_morf);
|
||||
/* 80155BEC */ virtual void setMotion(int i_motion, f32 i_morf, int i_restart);
|
||||
/* 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, attention_info.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, attention_info.field_0x0[1]);
|
||||
}
|
||||
BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) {
|
||||
return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor);
|
||||
}
|
||||
BOOL checkHide() { return mHide || (mTwilight && !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;
|
||||
static dCcD_SrcSph mCcDSph;
|
||||
static fopAc_ac_c* mFindActorPList[100];
|
||||
static s32 mFindCount;
|
||||
static s16 mSrchActorName;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
|
||||
|
||||
BOOL daNpcF_chkEvtBit(u32 i_idx);
|
||||
void daNpcF_onEvtBit(u32 i_idx);
|
||||
BOOL daNpcF_chkTmpBit(u32 i_idx);
|
||||
void daNpcF_offTmpBit(u32 i_idx);
|
||||
BOOL daNpcF_chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3);
|
||||
s16 daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
|
||||
BOOL daNpcF_pntVsLineSegmentLengthSquare2D(f32 i_pntX, f32 i_pntZ, f32 i_startX, f32 i_startZ,
|
||||
f32 i_endX, f32 i_endZ, f32* o_projX, f32* o_projZ,
|
||||
f32* o_dist2);
|
||||
BOOL daNpcF_chkPassed(cXyz i_pos, dPnt* i_points, u16 i_idx, u16 i_num, BOOL i_isClosed,
|
||||
BOOL i_isReversed);
|
||||
|
||||
class daNpcF_MatAnm_c : public J3DMaterialAnm {
|
||||
private:
|
||||
/* 0x0F4 */ mutable f32 field_0xF4;
|
||||
|
|
@ -854,7 +872,7 @@ class daNpcF_SPCurve_c {
|
|||
private:
|
||||
/* 0x00 */ u16 mNurbs;
|
||||
/* 0x02 */ u16 field_0x02;
|
||||
/* 0x04 */ u8 field_0x04;
|
||||
/* 0x04 */ bool mIsReversed;
|
||||
/* 0x05 */ bool mIsClosed;
|
||||
/* 0x08 */ dStage_dPnt_c mPoints[96];
|
||||
|
||||
|
|
@ -869,13 +887,13 @@ public:
|
|||
}; // Size: 0x60C
|
||||
|
||||
class daNpcF_Path_c {
|
||||
private:
|
||||
protected:
|
||||
/* 0x00 */ u16 mIdx;
|
||||
/* 0x02 */ u8 field_0x02;
|
||||
/* 0x03 */ u8 mIsClosed;
|
||||
/* 0x02 */ u8 mIsReversed;
|
||||
/* 0x03 */ bool mIsClosed;
|
||||
/* 0x04 */ dPath* mpRoomPath;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0C;
|
||||
/* 0x08 */ f32 mRange;
|
||||
/* 0x0C */ f32 mPosDst;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ cXyz mPosition;
|
||||
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
|
||||
|
|
@ -883,15 +901,15 @@ private:
|
|||
public:
|
||||
/* 80150900 */ void initialize();
|
||||
/* 8015095C */ int setPathInfo(u8, s8, u8);
|
||||
/* 80150A24 */ int chkPassed(cXyz);
|
||||
/* 80150A7C */ void chkPassedDst(cXyz);
|
||||
/* 80150A24 */ BOOL chkPassed(cXyz);
|
||||
/* 80150A7C */ BOOL chkPassedDst(cXyz);
|
||||
/* 80150BBC */ void reverse();
|
||||
/* 80150BE0 */ int setNextIdx();
|
||||
/* 80150BE0 */ BOOL setNextIdx();
|
||||
/* 80150C18 */ int getNextIdx();
|
||||
/* 80150C60 */ u16 getBeforeIdx();
|
||||
/* 80150CA8 */ int getBeforePos(cXyz&);
|
||||
/* 80150D44 */ int getNextPos(cXyz&);
|
||||
/* 80150DE0 */ int getDstPos(cXyz, cXyz&);
|
||||
/* 80150C60 */ int getBeforeIdx();
|
||||
/* 80150CA8 */ BOOL getBeforePos(cXyz&);
|
||||
/* 80150D44 */ BOOL getNextPos(cXyz&);
|
||||
/* 80150DE0 */ BOOL getDstPos(cXyz, cXyz&);
|
||||
/* 80150EB4 */ void setNextIdxDst(cXyz);
|
||||
|
||||
daNpcF_Path_c() {
|
||||
|
|
@ -901,30 +919,36 @@ public:
|
|||
virtual ~daNpcF_Path_c() {}
|
||||
|
||||
int getIdx() { return mIdx; };
|
||||
void setIdx(int i_idx) { mIdx = i_idx; }
|
||||
u8 getArg0(int i_idx) { return mpRoomPath->m_points[i_idx].mArg0; }
|
||||
Vec getPntPos(int i_idx) { return mpRoomPath->m_points[i_idx].m_position; }
|
||||
int chkClose() { return dPath_ChkClose(mpRoomPath); }
|
||||
BOOL chkClose() { return dPath_ChkClose(mpRoomPath); }
|
||||
BOOL chkReverse() { return mIsReversed == true; }
|
||||
void onReverse() { mIsReversed = true; }
|
||||
dPath* getPathInfo() { return mpRoomPath; }
|
||||
void setRange(f32 i_range) { mRange = i_range; }
|
||||
}; // Size: 0x630
|
||||
|
||||
class daNpcF_Lookat_c {
|
||||
private:
|
||||
/* 0x00 */ cXyz field_0x00[4];
|
||||
/* 0x00 */ cXyz mJointPos[4];
|
||||
/* 0x30 */ cXyz* mAttnPos;
|
||||
/* 0x34 */ csXyz field_0x34[4];
|
||||
/* 0x4C */ csXyz field_0x4c[4];
|
||||
/* 0x64 */ csXyz field_0x64[4];
|
||||
/* 0x34 */ csXyz mAngularMoveDis[4];
|
||||
/* 0x4C */ csXyz mMinAngle[4];
|
||||
/* 0x64 */ csXyz mMaxAngle[4];
|
||||
/* 0x7C */ csXyz mRotAngle[4];
|
||||
/* 0x94 */ u8 field_0x94[4];
|
||||
/* 0x94 */ bool field_0x94[4];
|
||||
/* 0x98 vtable */
|
||||
|
||||
public:
|
||||
/* 80151038 */ void initialize();
|
||||
/* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
|
||||
cXyz*);
|
||||
/* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int);
|
||||
/* 80151350 */ void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
|
||||
/* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16);
|
||||
/* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int);
|
||||
/* 80151648 */ void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
|
||||
/* 80151A54 */ void update(cXyz*, csXyz*, f32*);
|
||||
/* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int);
|
||||
/* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
|
||||
/* 80151F54 */ void setRotAngle();
|
||||
/* 80151FE0 */ void clrRotAngle();
|
||||
daNpcF_Lookat_c() { initialize(); }
|
||||
|
|
|
|||
|
|
@ -753,6 +753,14 @@ public:
|
|||
void onFogFade() { onNoResetFlg2(FLG2_UNK_4000); }
|
||||
BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_UNK_1); }
|
||||
|
||||
void setCanoeSlider() { mSpecialMode = 0x2D; }
|
||||
|
||||
void offCanoeSlider() {
|
||||
if (checkCanoeSlider()) {
|
||||
mSpecialMode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void offCargoCarry() {
|
||||
if (checkCargoCarry()) {
|
||||
mSpecialMode = 0;
|
||||
|
|
|
|||
|
|
@ -3676,6 +3676,10 @@ inline int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cXyz* p
|
|||
param_5, tex);
|
||||
}
|
||||
|
||||
inline bool dComIfGd_addRealShadow(u32 key, J3DModel* model) {
|
||||
return g_dComIfG_gameInfo.drawlist.addRealShadow(key, model);
|
||||
}
|
||||
|
||||
inline void dComIfGd_drawListItem3d() {
|
||||
g_dComIfG_gameInfo.drawlist.drawOpaListItem3d();
|
||||
g_dComIfG_gameInfo.drawlist.drawXluListItem3d();
|
||||
|
|
|
|||
|
|
@ -141,13 +141,13 @@ public:
|
|||
};
|
||||
|
||||
struct dist_entry {
|
||||
f32 field_0x0;
|
||||
f32 field_0x4;
|
||||
f32 field_0x8;
|
||||
f32 field_0xc;
|
||||
f32 field_0x10;
|
||||
f32 field_0x14;
|
||||
u32 field_0x18;
|
||||
/* 0x00 */ f32 mRadius1;
|
||||
/* 0x04 */ f32 mRadius2;
|
||||
/* 0x08 */ f32 mDistanceAdjust;
|
||||
/* 0x0C */ f32 mUpperY;
|
||||
/* 0x10 */ f32 mLowerY;
|
||||
/* 0x14 */ f32 mWeight;
|
||||
/* 0x18 */ u32 mAngleSelect;
|
||||
}; // Size: 0x1C
|
||||
|
||||
struct type_tbl_entry {
|
||||
|
|
|
|||
|
|
@ -369,6 +369,10 @@ public:
|
|||
param_6);
|
||||
}
|
||||
|
||||
bool addRealShadow(u32 key, J3DModel* model) {
|
||||
return mShadowControl.addReal(key, model);
|
||||
}
|
||||
|
||||
void newPeekZdata(s16 param_0, s16 param_1, u32* param_2) {
|
||||
mPeekZ.newData(param_0, param_1, param_2);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@ struct dPath {
|
|||
/* 0x0 */ u16 m_num;
|
||||
/* 0x2 */ u16 m_nextID;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 m_closed;
|
||||
/* 0x5 */ bool m_closed;
|
||||
/* 0x6 */ u8 field_0x6;
|
||||
/* 0x8 */ dStage_dPnt_c* m_points;
|
||||
};
|
||||
|
||||
inline int dPath_ChkClose(dPath* i_path) { return (i_path->m_closed & 1); }
|
||||
inline BOOL dPath_ChkClose(dPath* i_path) { return i_path->m_closed & 1; }
|
||||
|
||||
dPath* dPath_GetRoomPath(int path_index, int room_no);
|
||||
dPath* dPath_GetNextRoomPath(dPath const* i_path, int room_no);
|
||||
|
|
|
|||
|
|
@ -290,7 +290,7 @@ struct dStage_dPnt_c {
|
|||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x3 */ u8 mArg0;
|
||||
/* 0x4 */ Vec m_position;
|
||||
}; // Size: 0x10
|
||||
|
||||
|
|
|
|||
|
|
@ -154,8 +154,8 @@ public:
|
|||
void setMsgTimeMs(u32 msgTime) { mMsgTimeMs = msgTime; }
|
||||
void setTimeMs(s32 i_time) { mTimeMs = i_time; }
|
||||
u32 getTimeMs() { return mTimeMs; }
|
||||
u8 getNowCount() { return mNowCount; }
|
||||
u8 getMaxCount() { return mMaxCount; }
|
||||
int getNowCount() { return mNowCount; }
|
||||
int getMaxCount() { return mMaxCount; }
|
||||
void setScopeZoomPointer(u8 param_0) { mScopeZoomPointer = param_0; }
|
||||
u8 getItemExplainWindowStatus() { return mItemExplainWindowStatus; }
|
||||
void setItemExplainWindowStatus(u8 i_value) { mItemExplainWindowStatus = i_value; }
|
||||
|
|
@ -611,11 +611,11 @@ inline void dMeter2Info_setTimeMs(s32 i_time) {
|
|||
g_meter2_info.setTimeMs(i_time);
|
||||
}
|
||||
|
||||
inline u8 dMeter2Info_getNowCount() {
|
||||
inline int dMeter2Info_getNowCount() {
|
||||
return g_meter2_info.getNowCount();
|
||||
}
|
||||
|
||||
inline u8 dMeter2Info_getMaxCount() {
|
||||
inline int dMeter2Info_getMaxCount() {
|
||||
return g_meter2_info.getMaxCount();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ public:
|
|||
}
|
||||
|
||||
int remove(J3DModelData* i_modelData) { return i_modelData->removeMatColorAnimator(mpAnm); }
|
||||
J3DAnmColor* getBpkAnm() { return mpAnm; }
|
||||
|
||||
private:
|
||||
/* 0x14 */ J3DAnmColor* mpAnm;
|
||||
|
|
|
|||
|
|
@ -30,6 +30,13 @@ public:
|
|||
void incShapeOffsetY(f32 offset) { mShapeOffsetY += offset; }
|
||||
void incShapeAngleZ(s16 incZ) { shape_angle.z += incZ; }
|
||||
void onRodID(unsigned int i_rodID) { mRodID = i_rodID; }
|
||||
void setWaterFallDownSe() { field_0x141c.startSound(Z2SE_AL_CANOE_FALL_DW, 0, -1); }
|
||||
|
||||
void setPosAndAngle(cXyz const* i_pos, s16 i_angle) {
|
||||
field_0x14d0 = *i_pos;
|
||||
field_0x144a = i_angle;
|
||||
field_0x1446 = 1;
|
||||
}
|
||||
|
||||
/* 0x0568 */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x0570 */ J3DModel* mpModel;
|
||||
|
|
@ -48,9 +55,9 @@ public:
|
|||
/* 0x1443 */ u8 mJumpRideFlg;
|
||||
/* 0x1444 */ u8 field_0x1444;
|
||||
/* 0x1445 */ u8 mReverb;
|
||||
/* 0x1446 */ u8 field_0x1446[0x1448 - 0x1446];
|
||||
/* 0x1446 */ u8 field_0x1446;
|
||||
/* 0x1448 */ s16 field_0x1448;
|
||||
/* 0x144A */ u8 field_0x144a[0x144C - 0x144A];
|
||||
/* 0x144A */ s16 field_0x144a;
|
||||
/* 0x144C */ s16 mAimAngle;
|
||||
/* 0x144E */ s16 field_0x144e;
|
||||
/* 0x1450 */ s16 field_0x1450;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ struct daFmtMng_Path_c {
|
|||
/* 8083665C */ bool checkPoint(cXyz, f32);
|
||||
|
||||
bool isPathClose() { return dPath_ChkClose(mPath); }
|
||||
s8 getArg0() { return mPath->m_points[field_0x4].field_0x3; }
|
||||
s8 getArg0() { return mPath->m_points[field_0x4].mArg0; }
|
||||
s8 getArg1() { return mPath->m_points[field_0x4].field_0x0; }
|
||||
|
||||
void chgDir() {
|
||||
|
|
|
|||
|
|
@ -3,19 +3,68 @@
|
|||
|
||||
#include "d/a/d_a_npc.h"
|
||||
|
||||
class daNpcAsh_c;
|
||||
|
||||
typedef bool (daNpcAsh_c::*daNpcAsh_actionFn)(void*);
|
||||
typedef BOOL (daNpcAsh_c::*daNpcAsh_eventFn)(int);
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
* @brief Ashei
|
||||
*
|
||||
*/
|
||||
class daNpcAsh_c : public daNpcF_c {
|
||||
public:
|
||||
typedef bool (daNpcAsh_c::*ActionFn)(void*);
|
||||
typedef BOOL (daNpcAsh_c::*EventFn)(int);
|
||||
|
||||
enum Type {
|
||||
/* 0 */ TYPE_BAR,
|
||||
/* 1 */ TYPE_CASTLE,
|
||||
};
|
||||
|
||||
enum Animation {
|
||||
/* 0x00 */ ANM_NONE,
|
||||
/* 0x01 */ ANM_F_TALK_A,
|
||||
/* 0x02 */ ANM_F_TALK_B,
|
||||
/* 0x03 */ ANM_F_SILENT,
|
||||
/* 0x04 */ ANM_F_COOL,
|
||||
/* 0x05 */ ANM_F_ASK,
|
||||
/* 0x06 */ ANM_F_EXPLAIN_A,
|
||||
/* 0x07 */ ANM_F_EXPLAIN_B,
|
||||
/* 0x08 */ ANM_WAIT_A,
|
||||
/* 0x09 */ ANM_WAIT_B,
|
||||
/* 0x0A */ ANM_WAIT_C,
|
||||
/* 0x0B */ ANM_STEP,
|
||||
/* 0x0C */ ANM_COOL,
|
||||
/* 0x0D */ ANM_ASK,
|
||||
/* 0x0E */ ANM_EXPLAIN_A,
|
||||
/* 0x0F */ ANM_EXPLAIN_B,
|
||||
/* 0x10 */ ANM_BOWWAIT,
|
||||
/* 0x11 */ ANM_BOWRUN,
|
||||
};
|
||||
|
||||
enum Expression {
|
||||
/* 0x0 */ EXPR_TALK_A,
|
||||
/* 0x1 */ EXPR_TALK_B,
|
||||
/* 0x2 */ EXPR_SILENT,
|
||||
/* 0x3 */ EXPR_COOL,
|
||||
/* 0x4 */ EXPR_ASK,
|
||||
/* 0x5 */ EXPR_EXPLAIN_A,
|
||||
/* 0x6 */ EXPR_EXPLAIN_B,
|
||||
/* 0x7 */ EXPR_NONE,
|
||||
};
|
||||
|
||||
enum Motion {
|
||||
/* 0x0 */ MOT_WAIT_A,
|
||||
/* 0x1 */ MOT_WAIT_B,
|
||||
/* 0x2 */ MOT_WAIT_C,
|
||||
/* 0x3 */ MOT_COOL,
|
||||
/* 0x4 */ MOT_ASK,
|
||||
/* 0x5 */ MOT_EXPLAIN_A,
|
||||
/* 0x6 */ MOT_EXPLAIN_B,
|
||||
/* 0x7 */ MOT_BOWWAIT,
|
||||
/* 0x8 */ MOT_BOWRUN,
|
||||
/* 0x9 */ MOT_STEP,
|
||||
};
|
||||
|
||||
private:
|
||||
/* 0xB48 */ Z2Creature mZ2;
|
||||
/* 0xB48 */ Z2Creature mCreatureSound;
|
||||
/* 0xBD8 */ J3DModel* mModelBow;
|
||||
/* 0xBDC */ J3DModel* mModelQuiver;
|
||||
/* 0xBE0 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
|
|
@ -24,17 +73,17 @@ private:
|
|||
/* 0xCB0 */ fopAc_ac_c* mTalkPartner;
|
||||
/* 0xCB4 */ u32 field_0xcb4; // unused
|
||||
/* 0xCB8 */ dCcD_Cyl mCcCyl[2];
|
||||
/* 0xF30 */ daNpcAsh_actionFn mpActionFn;
|
||||
/* 0xF30 */ ActionFn mpActionFn;
|
||||
/* 0xF3C */ request_of_phase_process_class mPhase[2];
|
||||
/* 0xF4C */ u32 mItemPartnerId;
|
||||
/* 0xF50 */ u32 field_0xf50; // unused
|
||||
/* 0xF54 */ u32 field_0xf54;
|
||||
/* 0xF58 */ s16 mMessageNo;
|
||||
/* 0xF58 */ s16 mFlowID;
|
||||
/* 0xF5A */ s16 mLookMode;
|
||||
/* 0xF5C */ u16 field_0xf5c;
|
||||
/* 0xF5C */ u16 mMode;
|
||||
/* 0xF5E */ u8 mMapToolId;
|
||||
/* 0xF5F */ u8 field_0xf5f;
|
||||
/* 0xF60 */ u8 field_0xf60;
|
||||
/* 0xF60 */ u8 mType;
|
||||
|
||||
public:
|
||||
/* 809582EC */ daNpcAsh_c();
|
||||
|
|
@ -51,8 +100,13 @@ public:
|
|||
/* 809596E0 */ bool setExpressionBtp(int);
|
||||
/* 809597C0 */ void setMotionAnm(int i_idx, f32 i_morf);
|
||||
/* 80959910 */ void reset();
|
||||
/* 80959B28 */ /* inline */ bool setAction(daNpcAsh_actionFn);
|
||||
/* 80959BD0 */ /* inline */ bool isSneaking();
|
||||
#ifdef NONMATCHING
|
||||
/* 80959B28 */ inline bool setAction(ActionFn);
|
||||
/* 80959BD0 */ inline bool isSneaking();
|
||||
#else
|
||||
/* 80959B28 */ bool setAction(ActionFn);
|
||||
/* 80959BD0 */ bool isSneaking();
|
||||
#endif
|
||||
/* 80959C40 */ bool wait_type0(void*);
|
||||
/* 8095A67C */ void setMotion(int, f32, int);
|
||||
/* 8095A6C0 */ void setExpression(int, f32);
|
||||
|
|
@ -60,13 +114,17 @@ public:
|
|||
/* 8095A8EC */ bool talk(void*);
|
||||
/* 8095AD28 */ bool demo(void*);
|
||||
/* 8095B164 */ bool leave(void*);
|
||||
/* 8095B48C */ BOOL EvCut_Introduction(int cutIndex);
|
||||
/* 8095B58C */ BOOL EvCut_Meeting(int cutIndex);
|
||||
/* 8095B83C */ BOOL EvCut_WiretapSponsor(int cutIndex);
|
||||
/* 8095BA80 */ BOOL EvCut_WiretapEntrant(int cutIndex);
|
||||
/* 8095B48C */ BOOL EvCut_Introduction(int i_cutIndex);
|
||||
/* 8095B58C */ BOOL EvCut_Meeting(int i_cutIndex);
|
||||
/* 8095B83C */ BOOL EvCut_WiretapSponsor(int i_cutIndex);
|
||||
/* 8095BA80 */ BOOL EvCut_WiretapEntrant(int i_cutIndex);
|
||||
/* 8095BCF0 */ void setParam();
|
||||
/* 8095BF6C */ BOOL main();
|
||||
/* 8095C200 */ /* inline */ void playMotion();
|
||||
#ifdef NONMATCHING
|
||||
/* 8095C200 */ inline void playMotion();
|
||||
#else
|
||||
/* 8095C200 */ void playMotion();
|
||||
#endif
|
||||
/* 8095C520 */ BOOL ctrlBtk();
|
||||
/* 8095C5C4 */ void setAttnPos();
|
||||
/* 8095C9BC */ void lookat();
|
||||
|
|
@ -81,11 +139,11 @@ public:
|
|||
inline bool step(s16, bool);
|
||||
inline void playExpression();
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static daNpcAsh_eventFn mEvtSeqList[6];
|
||||
#else
|
||||
#ifdef NONMATCHING
|
||||
static EventFn mEvtSeqList[6];
|
||||
#else
|
||||
static u8 mEvtSeqList[72];
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64);
|
||||
|
|
@ -95,31 +153,38 @@ public:
|
|||
/* 8095D5D4 */ virtual ~daNpcAsh_Param_c();
|
||||
|
||||
struct param {
|
||||
/* 0x00 */ f32 m00;
|
||||
/* 0x00 */ f32 mAttnOffsetY;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 m08;
|
||||
/* 0x0C */ f32 mShadow;
|
||||
/* 0x10 */ f32 mCcSttsWeight;
|
||||
/* 0x14 */ f32 m14;
|
||||
/* 0x18 */ f32 m18;
|
||||
/* 0x1C */ f32 m1C;
|
||||
/* 0x20 */ f32 m20;
|
||||
/* 0x24 */ f32 m24;
|
||||
/* 0x28 */ f32 m28;
|
||||
/* 0x2C */ f32 m2C;
|
||||
/* 0x30 */ f32 m30;
|
||||
/* 0x34 */ f32 m34;
|
||||
/* 0x38 */ f32 m38;
|
||||
/* 0x3C */ f32 m3C;
|
||||
/* 0x40 */ f32 mLookatScl;
|
||||
/* 0x44 */ f32 m44;
|
||||
/* 0x48 */ s16 m48;
|
||||
/* 0x4A */ s16 m4A;
|
||||
/* 0x4C */ s16 m4C;
|
||||
/* 0x4E */ s16 m4E;
|
||||
/* 0x50 */ f32 mSightAngle;
|
||||
/* 0x54 */ f32 m54[3];
|
||||
/* 0x60 */ u16 m60[6];
|
||||
/* 0x08 */ f32 mScale;
|
||||
/* 0x0C */ f32 mShadowDepth;
|
||||
/* 0x10 */ f32 mCcWeight;
|
||||
/* 0x14 */ f32 mCylH;
|
||||
/* 0x18 */ f32 mWallH;
|
||||
/* 0x1C */ f32 mWallR;
|
||||
/* 0x20 */ f32 mBodyUpAngle;
|
||||
/* 0x24 */ f32 mBodyDownAngle;
|
||||
/* 0x28 */ f32 mBodyLeftAngle;
|
||||
/* 0x2C */ f32 mBodyRightAngle;
|
||||
/* 0x30 */ f32 mHeadUpAngle;
|
||||
/* 0x34 */ f32 mHeadDownAngle;
|
||||
/* 0x38 */ f32 mHeadLeftAngle;
|
||||
/* 0x3C */ f32 mHeadRightAngle;
|
||||
/* 0x40 */ f32 mNeckAngleScl;
|
||||
/* 0x44 */ f32 mMorfFrames;
|
||||
/* 0x48 */ s16 mSpeakDistIdx;
|
||||
/* 0x4A */ s16 mSpeakAngleIdx;
|
||||
/* 0x4C */ s16 mTalkDistIdx;
|
||||
/* 0x4E */ s16 mTalkAngleIdx;
|
||||
/* 0x50 */ f32 mAttnFovY;
|
||||
/* 0x54 */ f32 mAttnRadius;
|
||||
/* 0x58 */ f32 mAttnUpperY;
|
||||
/* 0x5C */ f32 mAttnLowerY;
|
||||
/* 0x60 */ u16 field_0x60;
|
||||
/* 0x62 */ u16 field_0x62;
|
||||
/* 0x64 */ u16 mTestExpression;
|
||||
/* 0x66 */ u16 mTestMotion;
|
||||
/* 0x68 */ u16 mTestLookMode;
|
||||
/* 0x6A */ bool mTest;
|
||||
};
|
||||
|
||||
static param const m;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,91 @@
|
|||
#ifndef D_A_NPC_HOZ_H
|
||||
#define D_A_NPC_HOZ_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/a/d_a_npc.h"
|
||||
|
||||
class daNpc_Hoz_c : public daNpcT_c {
|
||||
public:
|
||||
enum Type {
|
||||
/* 0 */ TYPE_0,
|
||||
/* 1 */ TYPE_1,
|
||||
/* 2 */ TYPE_2,
|
||||
/* 3 */ TYPE_3,
|
||||
/* 4 */ TYPE_4,
|
||||
/* 5 */ TYPE_5,
|
||||
/* 6 */ TYPE_6,
|
||||
};
|
||||
|
||||
/* 80A0150C */ ~daNpc_Hoz_c();
|
||||
/* 80A01658 */ void create();
|
||||
/* 80A01904 */ void CreateHeap();
|
||||
/* 80A01D54 */ void Delete();
|
||||
/* 80A01D88 */ void Execute();
|
||||
/* 80A01DA8 */ void Draw();
|
||||
/* 80A01E44 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A01E64 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A01F54 */ u8 getType();
|
||||
/* 80A01FC8 */ void getFlowNodeNo();
|
||||
/* 80A01FE4 */ bool isDelete();
|
||||
/* 80A01FEC */ void reset();
|
||||
/* 80A021DC */ void setParam();
|
||||
/* 80A0236C */ void setAfterTalkMotion();
|
||||
/* 80A02370 */ void srchActors();
|
||||
/* 80A02374 */ bool checkChangeEvt();
|
||||
/* 80A023EC */ bool evtTalk();
|
||||
/* 80A024D0 */ bool evtEndProc();
|
||||
/* 80A0260C */ bool evtCutProc();
|
||||
/* 80A026D4 */ int evtProc();
|
||||
/* 80A02918 */ void action();
|
||||
/* 80A029A0 */ void beforeMove();
|
||||
/* 80A02A18 */ void setAttnPos();
|
||||
/* 80A02C50 */ void setCollision();
|
||||
/* 80A02DD4 */ void evtOrder();
|
||||
/* 80A02F78 */ int drawDbgInfo();
|
||||
/* 80A02F80 */ void selectAction();
|
||||
/* 80A030A8 */ void chkAction(int (daNpc_Hoz_c::*)(void*));
|
||||
/* 80A030D4 */ void setAction(int (daNpc_Hoz_c::*)(void*));
|
||||
/* 80A0317C */ void wait(void*);
|
||||
/* 80A03304 */ void waitBattle(void*);
|
||||
/* 80A03578 */ void waitTwilightBattle(void*);
|
||||
/* 80A037E4 */ void waitBoat(void*);
|
||||
/* 80A03BDC */ void waitBoat2(void*);
|
||||
/* 80A03F8C */ void waitBoat1_5(void*);
|
||||
/* 80A04400 */ void waitTw(void*);
|
||||
/* 80A045FC */ void talk(void*);
|
||||
/* 80A0487C */ void ECut_boatRace(int);
|
||||
/* 80A04BE4 */ void ECut_beforeBattle(int);
|
||||
/* 80A04CDC */ void ECut_afterBattle(int);
|
||||
/* 80A04E24 */ void ECut_beforeBlast(int);
|
||||
/* 80A04F6C */ void ECut_afterBlast(int);
|
||||
/* 80A050B4 */ void ECut_yMushi(int);
|
||||
/* 80A051C8 */ void ECut_talkBreak(int);
|
||||
/* 80A064E4 */ daNpc_Hoz_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_evtData_c const*, char**);
|
||||
/* 80A065A4 */ bool getEyeballMaterialNo();
|
||||
/* 80A065AC */ s32 getHeadJointNo();
|
||||
/* 80A065B4 */ s32 getNeckJointNo();
|
||||
/* 80A065BC */ s32 getBackboneJointNo();
|
||||
/* 80A065C4 */ bool checkChangeJoint(int);
|
||||
/* 80A065D4 */ bool checkRemoveJoint(int);
|
||||
|
||||
bool getGameStartFlag() { return mGameStartFlag; }
|
||||
|
||||
static void* mCutNameList[8];
|
||||
static u8 mCutList[96];
|
||||
|
||||
/* 0xE40 */ u8 field_0xe40[0x14d];
|
||||
/* 0xF8D */ bool mGameStartFlag;
|
||||
/* 0xF8E */ u8 field_0xf8e[0x3a];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Hoz_c) == 0xFC8);
|
||||
|
||||
struct daNpc_Hoz_Param_c {
|
||||
/* 80A065E4 */ ~daNpc_Hoz_Param_c();
|
||||
|
||||
static u8 const m[144];
|
||||
};
|
||||
|
||||
#endif /* D_A_NPC_HOZ_H */
|
||||
|
|
|
|||
|
|
@ -3,13 +3,78 @@
|
|||
|
||||
#include "d/a/d_a_npc.h"
|
||||
|
||||
// #define NONMATCHING
|
||||
|
||||
class daNpcThe_c : public daNpcF_c {
|
||||
public:
|
||||
typedef BOOL (daNpcThe_c::*ActionFn)(void*);
|
||||
typedef BOOL (daNpcThe_c::*EventFn)(int);
|
||||
|
||||
enum Type {
|
||||
/* 0 */ TYPE_BAR,
|
||||
/* 1 */ TYPE_1,
|
||||
/* 2 */ TYPE_KAKARIKO,
|
||||
};
|
||||
|
||||
enum Animation {
|
||||
/* 0x00 */ ANM_NONE,
|
||||
/* 0x01 */ ANM_F_TALK_A,
|
||||
/* 0x02 */ ANM_F_SMILE,
|
||||
/* 0x03 */ ANM_F_CHUCKLE,
|
||||
/* 0x04 */ ANM_F_TALK_B,
|
||||
/* 0x05 */ ANM_F_TALK_C,
|
||||
/* 0x06 */ ANM_F_LAUGH,
|
||||
/* 0x07 */ ANM_F_TALK_R,
|
||||
/* 0x08 */ ANM_FH_SMILE,
|
||||
/* 0x09 */ ANM_FH_CHUCKLE,
|
||||
/* 0x0A */ ANM_FH_TALK_B,
|
||||
/* 0x0B */ ANM_FH_TALK_C,
|
||||
/* 0x0C */ ANM_FH_LAUGH,
|
||||
/* 0x0D */ ANM_FH_TALK_R,
|
||||
/* 0x0E */ ANM_WAIT_A,
|
||||
/* 0x0F */ ANM_WAIT_LOOKING,
|
||||
/* 0x10 */ ANM_TO_WAIT_B,
|
||||
/* 0x11 */ ANM_WAIT_B,
|
||||
/* 0x12 */ ANM_WAIT_LOOKUP,
|
||||
/* 0x13 */ ANM_TALK_R,
|
||||
/* 0x14 */ ANM_TALKING_R,
|
||||
/* 0x15 */ ANM_LOOK_A,
|
||||
/* 0x16 */ ANM_LOOK,
|
||||
/* 0x17 */ ANM_KUNE_WAIT_A,
|
||||
/* 0x18 */ ANM_KUNE_TALK,
|
||||
/* 0x19 */ ANM_KUNE_WAIT_B,
|
||||
/* 0x1A */ ANM_KUNE_SHISHI,
|
||||
};
|
||||
|
||||
enum Expression {
|
||||
/* 0x0 */ EXPR_TALK_A,
|
||||
/* 0x1 */ EXPR_SMILE,
|
||||
/* 0x2 */ EXPR_CHUCKLE,
|
||||
/* 0x3 */ EXPR_TALK_B,
|
||||
/* 0x4 */ EXPR_TALK_C,
|
||||
/* 0x5 */ EXPR_LAUGH,
|
||||
/* 0x6 */ EXPR_TALK_R,
|
||||
/* 0x7 */ EXPR_H_TALK_R,
|
||||
/* 0x8 */ EXPR_H_SMILE,
|
||||
/* 0x9 */ EXPR_H_CHUCKLE,
|
||||
/* 0xA */ EXPR_H_TALK_B,
|
||||
/* 0xB */ EXPR_H_TALK_C,
|
||||
/* 0xC */ EXPR_H_LAUGH,
|
||||
/* 0xD */ EXPR_NONE,
|
||||
};
|
||||
|
||||
enum Motion {
|
||||
/* 0x0 */ MOT_WAIT_A,
|
||||
/* 0x1 */ MOT_LOOK_A,
|
||||
/* 0x2 */ MOT_TO_WAIT_B,
|
||||
/* 0x3 */ MOT_WAIT_LOOKUP,
|
||||
/* 0x4 */ MOT_KUNE_TALK,
|
||||
/* 0x5 */ MOT_KUNE_WAIT_A,
|
||||
/* 0x6 */ MOT_KUNE_SHISHI,
|
||||
/* 0x7 */ MOT_WAIT_B,
|
||||
/* 0x8 */ MOT_KUNE_WAIT_B,
|
||||
/* 0x9 */ MOT_TALK_R,
|
||||
/* 0xA */ MOT_LOOK,
|
||||
};
|
||||
|
||||
/* 80AF76CC */ daNpcThe_c();
|
||||
/* 80AF78E0 */ ~daNpcThe_c();
|
||||
/* inline */ inline BOOL CreateHeap();
|
||||
|
|
@ -45,18 +110,18 @@ public:
|
|||
u8 getTypeFromParam() {
|
||||
switch (fopAcM_GetParam(this) & 0xff) {
|
||||
case 0:
|
||||
return 0;
|
||||
return TYPE_BAR;
|
||||
case 1:
|
||||
return 1;
|
||||
return TYPE_1;
|
||||
case 2:
|
||||
return 2;
|
||||
return TYPE_KAKARIKO;
|
||||
default:
|
||||
return 0;
|
||||
return TYPE_BAR;
|
||||
}
|
||||
}
|
||||
|
||||
bool isDelete() {
|
||||
if (mType == 0 || mType == 1 || mType == 2) {
|
||||
if (mType == TYPE_BAR || mType == TYPE_1 || mType == TYPE_KAKARIKO) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
|
|
@ -83,12 +148,12 @@ public:
|
|||
|
||||
BOOL setAction(ActionFn action) {
|
||||
if (mpActionFn != NULL) {
|
||||
mState = 3;
|
||||
mMode = 3;
|
||||
(this->*mpActionFn)(NULL);
|
||||
}
|
||||
if (action != NULL) {
|
||||
mpActionFn = action;
|
||||
mState = 0;
|
||||
mMode = 0;
|
||||
(this->*mpActionFn)(NULL);
|
||||
}
|
||||
return true;
|
||||
|
|
@ -106,6 +171,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0xB48 */ Z2Creature mSound;
|
||||
/* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
/* 0xBDC */ daNpcF_Lookat_c mLookat;
|
||||
|
|
@ -123,7 +189,7 @@ public:
|
|||
/* 0xE10 */ u32 field_0xe10;
|
||||
/* 0xE14 */ int mFlowID;
|
||||
/* 0xE18 */ s16 mLookMode;
|
||||
/* 0xE1A */ u16 mState;
|
||||
/* 0xE1A */ u16 mMode;
|
||||
/* 0xE1C */ bool field_0xe1c;
|
||||
/* 0xE1D */ bool field_0xe1d;
|
||||
/* 0xE1E */ u8 mType;
|
||||
|
|
@ -141,32 +207,32 @@ STATIC_ASSERT(sizeof(daNpcThe_c) == 0xE20);
|
|||
class daNpcThe_Param_c {
|
||||
public:
|
||||
struct param {
|
||||
/* 0x00 */ f32 field_0x00;
|
||||
/* 0x00 */ f32 mAttnOffsetY;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 mScale;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x0C */ f32 mShadowDepth;
|
||||
/* 0x10 */ f32 mCcWeight;
|
||||
/* 0x14 */ f32 mCylH;
|
||||
/* 0x18 */ f32 mWallH;
|
||||
/* 0x1C */ f32 mWallR;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
/* 0x40 */ f32 mLookatScl;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ s16 field_0x48;
|
||||
/* 0x4A */ s16 field_0x4a;
|
||||
/* 0x4C */ s16 field_0x4c;
|
||||
/* 0x4E */ s16 field_0x4e;
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ f32 field_0x5c;
|
||||
/* 0x20 */ f32 mBodyUpAngle;
|
||||
/* 0x24 */ f32 mBodyDownAngle;
|
||||
/* 0x28 */ f32 mBodyLeftAngle;
|
||||
/* 0x2C */ f32 mBodyRightAngle;
|
||||
/* 0x30 */ f32 mHeadUpAngle;
|
||||
/* 0x34 */ f32 mHeadDownAngle;
|
||||
/* 0x38 */ f32 mHeadLeftAngle;
|
||||
/* 0x3C */ f32 mHeadRightAngle;
|
||||
/* 0x40 */ f32 mNeckAngleScl;
|
||||
/* 0x44 */ f32 mMorfFrames;
|
||||
/* 0x48 */ s16 mSpeakDistIdx;
|
||||
/* 0x4A */ s16 mSpeakAngleIdx;
|
||||
/* 0x4C */ s16 mTalkDistIdx;
|
||||
/* 0x4E */ s16 mTalkAngleIdx;
|
||||
/* 0x50 */ f32 mAttnFovY;
|
||||
/* 0x54 */ f32 mAttnRadius;
|
||||
/* 0x58 */ f32 mAttnUpperY;
|
||||
/* 0x5C */ f32 mAttnLowerY;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 field_0x62;
|
||||
/* 0x64 */ s16 mTestExpression;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,460 @@
|
|||
#ifndef D_A_NPC_ZRA_H
|
||||
#define D_A_NPC_ZRA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/a/d_a_npc.h"
|
||||
|
||||
class daNpc_zrA_Path_c : public daNpcF_Path_c {
|
||||
public:
|
||||
/* 80B7850C */ BOOL getDstPosDst2(cXyz, cXyz&);
|
||||
/* 80B7876C */ void setNextIdxDst(cXyz);
|
||||
/* 80B788F8 */ BOOL chkPassedDstXZ(cXyz);
|
||||
/* 80B78A60 */ BOOL getDstPosDstXZ(cXyz, cXyz&);
|
||||
/* 80B78CA0 */ BOOL chkPassedChase(u16, cXyz);
|
||||
/* 80B78CFC */ int getDstPosChase(u16, cXyz, cXyz&);
|
||||
/* 80B78E08 */ f32 chkPassDst(u16, cXyz);
|
||||
/* 80B7EF88 */ ~daNpc_zrA_Path_c() {}
|
||||
int getEndIdx() { return mpRoomPath->m_num - 1; }
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_zrA_Path_c) == 0x630);
|
||||
|
||||
class daNpc_zrA_c : public daNpcF_c {
|
||||
public:
|
||||
typedef BOOL (daNpc_zrA_c::*ActionFn)(void*);
|
||||
typedef BOOL (daNpc_zrA_c::*EventFn)(int);
|
||||
|
||||
enum Type {
|
||||
/* 0 */ TYPE_WAIT,
|
||||
/* 1 */ TYPE_SWIM,
|
||||
/* 2 */ TYPE_WATERFALL,
|
||||
/* 3 */ TYPE_RIVER,
|
||||
/* 4 */ TYPE_TOBIKOMI,
|
||||
/* 5 */ TYPE_SEARCH,
|
||||
/* 6 */ TYPE_SPA,
|
||||
};
|
||||
|
||||
enum SoldierType {
|
||||
/* 0 */ SOLDIER_SPEAR,
|
||||
/* 1 */ SOLDIER_NOSPEAR,
|
||||
/* 2 */ SOLDIER_NONE,
|
||||
};
|
||||
|
||||
enum ActionType {
|
||||
/* 0 */ ACT_TYPE_0,
|
||||
/* 1 */ ACT_TYPE_1,
|
||||
/* 2 */ ACT_TYPE_2,
|
||||
/* 3 */ ACT_TYPE_3,
|
||||
/* 4 */ ACT_TYPE_4,
|
||||
/* 5 */ ACT_TYPE_5,
|
||||
/* 6 */ ACT_TYPE_6,
|
||||
};
|
||||
|
||||
enum GameMode {
|
||||
/* 0 */ GAME_MODE_0,
|
||||
/* 1 */ GAME_MODE_1,
|
||||
/* 2 */ GAME_MODE_2,
|
||||
/* 3 */ GAME_MODE_3,
|
||||
};
|
||||
|
||||
enum SwimMode {
|
||||
/* 0 */ SWIM_WAIT,
|
||||
/* 1 */ SWIM_RAIL,
|
||||
/* 2 */ SWIM_TURN,
|
||||
/* 3 */ SWIM_3,
|
||||
};
|
||||
|
||||
enum Animation {
|
||||
/* 0x00 */ ANM_NONE,
|
||||
/* 0x01 */ ANM_F_TALK_A,
|
||||
/* 0x02 */ ANM_F_TALK_A_SP,
|
||||
/* 0x03 */ ANM_F_WAIT_SWIM,
|
||||
/* 0x04 */ ANM_F_TALK_NOMAL,
|
||||
/* 0x05 */ ANM_FH_TALK_NOMAL,
|
||||
/* 0x06 */ ANM_FH_SADSIT_A,
|
||||
/* 0x07 */ ANM_FH_SADSIT_B,
|
||||
/* 0x08 */ ANM_FH_SADSIT_C,
|
||||
/* 0x09 */ ANM_FH_SADSIT_D,
|
||||
/* 0x0A */ ANM_FH_SADSIT_E,
|
||||
/* 0x0B */ ANM_F_LOOKING_SP,
|
||||
/* 0x0C */ ANM_FH_LOOKING_SP,
|
||||
/* 0x0D */ ANM_F_LOOKUP,
|
||||
/* 0x0E */ ANM_FH_LOOKUP,
|
||||
/* 0x0F */ ANM_F_TALK_SWIM_SP,
|
||||
/* 0x10 */ ANM_F_TALK_B_SP,
|
||||
/* 0x11 */ ANM_F_SPA_TALK_A,
|
||||
/* 0x12 */ ANM_FH_SPA_WAIT_A,
|
||||
/* 0x13 */ ANM_F_SPA_TALK_B,
|
||||
/* 0x14 */ ANM_FH_SPA_WAIT_B,
|
||||
/* 0x15 */ ANM_SWIM_TURN,
|
||||
/* 0x16 */ ANM_STILL,
|
||||
/* 0x17 */ ANM_FALLSWIM,
|
||||
/* 0x18 */ ANM_SWIM_TALK,
|
||||
/* 0x19 */ ANM_SADSIT_A,
|
||||
/* 0x1A */ ANM_SADSIT_B,
|
||||
/* 0x1B */ ANM_SADSIT_C,
|
||||
/* 0x1C */ ANM_SADSIT_D,
|
||||
/* 0x1D */ ANM_SADSIT_E,
|
||||
/* 0x1E */ ANM_TOBIKOMI_S,
|
||||
/* 0x1F */ ANM_TOBIKOMI_T,
|
||||
/* 0x20 */ ANM_TOBIKOMI_E,
|
||||
/* 0x21 */ ANM_LOOKING_SP,
|
||||
/* 0x22 */ ANM_TALK_SWIM_SP,
|
||||
/* 0x23 */ ANM_TALK_B_SP,
|
||||
/* 0x24 */ ANM_LOOKUP,
|
||||
/* 0x25 */ ANM_SPA_WAIT_B,
|
||||
/* 0x26 */ ANM_SPA_TALK_B,
|
||||
/* 0x27 */ ANM_SPA_WAIT_A,
|
||||
/* 0x28 */ ANM_SPA_TALK_A,
|
||||
/* 0x29 */ ANM_WAIT_A,
|
||||
/* 0x2A */ ANM_WALK_A,
|
||||
/* 0x2B */ ANM_TALK_A,
|
||||
/* 0x2C */ ANM_SWIM_A,
|
||||
/* 0x2D */ ANM_SWIM_B,
|
||||
/* 0x2E */ ANM_WAIT_SWIM,
|
||||
/* 0x2F */ ANM_DIVE,
|
||||
/* 0x30 */ ANM_DIVE_B,
|
||||
/* 0x31 */ ANM_FLOAT,
|
||||
/* 0x32 */ ANM_FLOAT_B,
|
||||
/* 0x33 */ ANM_STEP,
|
||||
/* 0x34 */ ANM_WAIT_SP,
|
||||
/* 0x35 */ ANM_WALK_A_SP,
|
||||
/* 0x36 */ ANM_TALK_A_SP,
|
||||
/* 0x37 */ ANM_SWIM_A_SP,
|
||||
/* 0x38 */ ANM_SWIM_B_SP,
|
||||
/* 0x39 */ ANM_WAIT_SWIM_SP,
|
||||
/* 0x3A */ ANM_DIVE_SP,
|
||||
/* 0x3B */ ANM_DIVE_B_SP,
|
||||
/* 0x3C */ ANM_FLOAT_SP,
|
||||
/* 0x3D */ ANM_FLOAT_B_SP,
|
||||
/* 0x3E */ ANM_STEP_SP,
|
||||
};
|
||||
|
||||
enum Expression {
|
||||
/* 0x00 */ EXPR_TALK_NOMAL,
|
||||
/* 0x01 */ EXPR_SADSIT_A,
|
||||
/* 0x02 */ EXPR_SADSIT_B,
|
||||
/* 0x03 */ EXPR_SADSIT_C,
|
||||
/* 0x04 */ EXPR_SADSIT_D,
|
||||
/* 0x05 */ EXPR_SADSIT_E,
|
||||
/* 0x06 */ EXPR_LOOKING_SP,
|
||||
/* 0x07 */ EXPR_LOOKUP,
|
||||
/* 0x08 */ EXPR_SPA_TALK_A,
|
||||
/* 0x09 */ EXPR_SPA_TALK_B,
|
||||
/* 0x0A */ EXPR_TALK_SWIM_SP,
|
||||
/* 0x0B */ EXPR_TALK_B_SP,
|
||||
/* 0x0C */ EXPR_TALK_A,
|
||||
/* 0x0D */ EXPR_WAIT_SWIM,
|
||||
/* 0x0E */ EXPR_TALK_A_SP,
|
||||
/* 0x0F */ EXPR_TALK_NOMAL_2,
|
||||
/* 0x10 */ EXPR_LOOKING_SP_2,
|
||||
/* 0x11 */ EXPR_LOOKUP_2,
|
||||
/* 0x12 */ EXPR_SPA_WAIT_A,
|
||||
/* 0x13 */ EXPR_SPA_WAIT_B,
|
||||
/* 0x14 */ EXPR_NONE,
|
||||
};
|
||||
|
||||
enum Motion {
|
||||
/* 0x00 */ MOT_WAIT_A,
|
||||
/* 0x01 */ MOT_WAIT_SWIM,
|
||||
/* 0x02 */ MOT_SWIM_TALK,
|
||||
/* 0x03 */ MOT_WAIT_A_2,
|
||||
/* 0x04 */ MOT_WAIT_SWIM_2,
|
||||
/* 0x05 */ MOT_TALK_A,
|
||||
/* 0x06 */ MOT_SADSIT_A,
|
||||
/* 0x07 */ MOT_SADSIT_B,
|
||||
/* 0x08 */ MOT_SADSIT_C,
|
||||
/* 0x09 */ MOT_SADSIT_D,
|
||||
/* 0x0A */ MOT_SADSIT_E,
|
||||
/* 0x0B */ MOT_LOOKING_SP,
|
||||
/* 0x0C */ MOT_LOOKUP,
|
||||
/* 0x0D */ MOT_SPA_TALK_A,
|
||||
/* 0x0E */ MOT_SPA_TALK_B,
|
||||
/* 0x0F */ MOT_TALK_SWIM_SP,
|
||||
/* 0x10 */ MOT_TALK_B_SP,
|
||||
/* 0x11 */ MOT_TALK_A_2,
|
||||
/* 0x12 */ MOT_SPA_WAIT_A,
|
||||
/* 0x13 */ MOT_SPA_WAIT_B,
|
||||
/* 0x14 */ MOT_WALK_A,
|
||||
/* 0x16 */ MOT_SWIM_A = 0x16,
|
||||
/* 0x17 */ MOT_SWIM_B,
|
||||
/* 0x18 */ MOT_DIVE_SWIM_A,
|
||||
/* 0x19 */ MOT_DIVE_B_SWIM_A,
|
||||
/* 0x1A */ MOT_DIVE_SWIM_B,
|
||||
/* 0x1B */ MOT_DIVE_B_SWIM_B,
|
||||
/* 0x1C */ MOT_STEP,
|
||||
/* 0x1D */ MOT_FLOAT,
|
||||
/* 0x1E */ MOT_FLOAT_B,
|
||||
/* 0x1F */ MOT_SWIM_TURN,
|
||||
/* 0x20 */ MOT_TOBIKOMI_S,
|
||||
/* 0x21 */ MOT_TOBIKOMI_T,
|
||||
/* 0x22 */ MOT_TOBIKOMI_E,
|
||||
/* 0x23 */ MOT_FALLSWIM,
|
||||
};
|
||||
|
||||
enum Event {
|
||||
/* 0x0 */ EVT_NONE,
|
||||
/* 0x1 */ EVT_TALK_SWIM,
|
||||
/* 0x2 */ EVT_BEFORE_BLAST_ZRR,
|
||||
/* 0x3 */ EVT_AFTER_BLAST_ZRR,
|
||||
/* 0x4 */ EVT_THANKS_BLAST,
|
||||
/* 0x5 */ EVT_RESULT_ANNOUNCE,
|
||||
/* 0x6 */ EVT_CARRY_WATERFALL,
|
||||
/* 0x7 */ EVT_CARRY_WATERFALL_NIGHT,
|
||||
/* 0x8 */ EVT_CARRY_WATERFALL_SKIP,
|
||||
/* 0x9 */ EVT_CARRY_WATERFALL_NIGHT_SKIP,
|
||||
/* 0xA */ EVT_SEARCH_PRINCE,
|
||||
/* 0xB */ EVT_TALK_MULTI,
|
||||
/* 0xC */ EVT_TALK_MULTI2,
|
||||
};
|
||||
|
||||
/* 80B7956C */ daNpc_zrA_c();
|
||||
/* 80B79828 */ ~daNpc_zrA_c();
|
||||
/* 80B79B58 */ cPhs__Step create();
|
||||
/* 80B79F38 */ int CreateHeap();
|
||||
/* 80B7A51C */ int Delete();
|
||||
/* 80B7A550 */ int Execute();
|
||||
/* 80B7A570 */ int Draw();
|
||||
/* 80B7A864 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80B7AB9C */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80B7ABBC */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80B7AC08 */ void setParam();
|
||||
/* 80B7ADF0 */ BOOL main();
|
||||
/* 80B7B0A4 */ BOOL ctrlBtk();
|
||||
/* 80B7B1DC */ void setAttnPos();
|
||||
/* 80B7B91C */ void setMtx();
|
||||
/* 80B7B9D4 */ bool setExpressionAnm(int, bool);
|
||||
/* 80B7BD60 */ bool setExpressionBtp(int);
|
||||
/* 80B7BE74 */ void setExpression(int, f32);
|
||||
/* 80B7BEA0 */ void setMotionAnm(int, f32);
|
||||
/* 80B7C070 */ void setMotionWaterAnm(int);
|
||||
/* 80B7C308 */ void setMotion(int, f32, BOOL);
|
||||
/* 80B7C34C */ BOOL drawDbgInfo();
|
||||
/* 80B7C354 */ void drawOtherMdls();
|
||||
/* 80B7C44C */ Type getTypeFromArgument();
|
||||
/* 80B7C4B4 */ SoldierType getSoldierTypeFromParam();
|
||||
/* 80B7C500 */ GameMode getGameModeFromParam();
|
||||
/* 80B7C524 */ ActionType getActionTypeFromParam();
|
||||
/* 80B7C5E4 */ u8 getMultiModeFromParam();
|
||||
/* 80B7C614 */ u8 getMultiNoFromParam();
|
||||
/* inline */ u8 getNoFromParam() { return (u8)fopAcM_GetParam(this); }
|
||||
/* inline */ u8 getPathNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); }
|
||||
/* 80B7C644 */ BOOL isDelete();
|
||||
/* 80B7C71C */ void reset();
|
||||
/* 80B7CA8C */ void playExpression();
|
||||
/* 80B7D0FC */ void playMotion();
|
||||
/* 80B7DAF4 */ BOOL chkAction(ActionFn);
|
||||
/* 80B7DB20 */ bool setAction(ActionFn);
|
||||
/* 80B7DBC8 */ bool selectAction();
|
||||
/* 80B7DF40 */ BOOL doEvent();
|
||||
/* 80B7E668 */ BOOL setSkipZev(int, int);
|
||||
/* 80B7E6F4 */ void setLookMode(int);
|
||||
/* 80B7E718 */ void lookat();
|
||||
/* 80B7E9E0 */ BOOL chkFindPlayer();
|
||||
/* 80B7EA90 */ void setExpressionTalkAfter();
|
||||
/* 80B7EBA0 */ void setPrtcl();
|
||||
/* 80B7EC54 */ BOOL test(void*);
|
||||
/* 80B7F8C4 */ BOOL wait(void*);
|
||||
/* 80B7FD10 */ void walkCalc();
|
||||
/* 80B7FE18 */ void waitCalc();
|
||||
/* 80B800A4 */ BOOL waitSpa(void*);
|
||||
/* 80B80228 */ BOOL waitLake(void*);
|
||||
/* 80B80418 */ BOOL talk(void*);
|
||||
/* 80B806FC */ BOOL ECut_talkMulti(int);
|
||||
/* 80B80860 */ BOOL swim(void*);
|
||||
/* 80B80A94 */ BOOL railSwim();
|
||||
/* 80B81788 */ BOOL waitSwim();
|
||||
/* 80B81918 */ BOOL turnSwimInit();
|
||||
/* 80B81A18 */ BOOL turnSwim();
|
||||
/* 80B81CC8 */ BOOL turnSwimCheck();
|
||||
/* 80B81D68 */ BOOL evasionCalc(cXyz&, csXyz&);
|
||||
/* 80B81FB8 */ void calcBank(s16, s16, s16&, s16&);
|
||||
/* 80B8204C */ void calcWaistAngle();
|
||||
/* 80B82238 */ void calcWaistAngleInit();
|
||||
/* 80B822CC */ void calcWaistAngleStop();
|
||||
/* 80B822D8 */ BOOL calcWaistAngleCheck();
|
||||
/* 80B82300 */ void calcModulation();
|
||||
/* 80B8247C */ void resetModulation();
|
||||
/* 80B824F4 */ void calcSwimAngle(csXyz&, csXyz&, s16, s16);
|
||||
/* 80B82584 */ void calcSwimPos(cXyz&);
|
||||
/* 80B825FC */ void calcWaitSwim(BOOL);
|
||||
/* 80B826F0 */ BOOL ECut_talkSwim(int);
|
||||
/* 80B82C54 */ BOOL waitWaterfall(void*);
|
||||
/* 80B82E88 */ BOOL swimWaterfall(void*);
|
||||
/* 80B833C8 */ BOOL diveWaterfall(void*);
|
||||
/* 80B83548 */ BOOL talkSwim(void*);
|
||||
/* 80B837E8 */ BOOL ECut_carryWaterfall(int);
|
||||
/* 80B83D08 */ BOOL ECut_carryWaterfallSkip(int);
|
||||
/* 80B83FA4 */ BOOL diveCalc(s16, s16, BOOL);
|
||||
/* 80B84298 */ BOOL waitRiverDescend(void*);
|
||||
/* 80B84B74 */ BOOL swimRiverDescend(void*);
|
||||
/* 80B85B14 */ BOOL swimRiverDescend2(void*);
|
||||
/* 80B8601C */ BOOL diveRiverDescend(void*);
|
||||
/* 80B86440 */ BOOL swimGoalRiverDescend(void*);
|
||||
/* 80B86A2C */ BOOL returnRiverDescend(void*);
|
||||
/* 80B86D9C */ void moveRiverPosCalc(cXyz&);
|
||||
/* 80B86E78 */ void createRuppi();
|
||||
/* 80B86FAC */ BOOL ECut_beforeBlastzrR(int);
|
||||
/* 80B872F0 */ BOOL ECut_afterBlastzrR(int);
|
||||
/* 80B87510 */ BOOL ECut_thanksBlast(int);
|
||||
/* 80B88B04 */ BOOL ECut_resultAnnounce(int);
|
||||
/* 80B8A064 */ void calcCanoeMove(BOOL);
|
||||
/* 80B8A43C */ BOOL tobiSearch(void*);
|
||||
/* 80B8A54C */ BOOL tobiWait(void*);
|
||||
/* 80B8A648 */ BOOL tobikomi1(void*);
|
||||
/* 80B8A7F8 */ BOOL tobikomi2(void*);
|
||||
/* 80B8AA1C */ BOOL tobikomi3(void*);
|
||||
/* 80B8AB78 */ BOOL tobiJump(void*);
|
||||
/* 80B8B1FC */ BOOL tobiEnd(void*);
|
||||
/* 80B8B420 */ BOOL waitSearch(void*);
|
||||
/* 80B8B530 */ BOOL ECut_searchPrince1(int);
|
||||
/* 80B8BCE8 */ BOOL ECut_searchPrince2(int);
|
||||
/* 80B8C3E8 */ void adjustShapeAngle();
|
||||
int getType() { return mType; }
|
||||
u32 getAngleNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); }
|
||||
|
||||
/* 0x0B48 */ Z2Creature mCreatureSound;
|
||||
/* 0x0BD8 */ J3DModel* mpObjectModel[3];
|
||||
/* 0x0BE4 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
/* 0x0BE8 */ mDoExt_btkAnm mWaterBtkAnm;
|
||||
/* 0x0C00 */ mDoExt_bpkAnm mWaterBpkAnm;
|
||||
/* 0x0C18 */ daNpc_zrA_Path_c mPath;
|
||||
/* 0x1248 */ daNpcF_Lookat_c mLookat;
|
||||
/* 0x12E4 */ dPaPo_c mPaPo;
|
||||
/* 0x131C */ daNpcF_ActorMngr_c mActorMngr[3];
|
||||
/* 0x1334 */ u8 field_0x1334[4];
|
||||
/* 0x1338 */ dCcD_Cyl mCcCyl;
|
||||
/* 0x1474 */ ActionFn mpNextActionFn;
|
||||
/* 0x1480 */ ActionFn mpActionFn;
|
||||
/* 0x148C */ request_of_phase_process_class mPhase[8];
|
||||
/* 0x14CC */ u32 mItemID;
|
||||
/* 0x14D0 */ int field_0x14d0;
|
||||
/* 0x14D4 */ int field_0x14d4;
|
||||
/* 0x14D8 */ int mSwimTurnTimer;
|
||||
/* 0x14DC */ int field_0x14dc;
|
||||
/* 0x14E0 */ int mFlowID;
|
||||
/* 0x14E4 */ s16 mLookMode;
|
||||
/* 0x14E6 */ u16 mMode;
|
||||
/* 0x14E8 */ u8 mType;
|
||||
/* 0x14E9 */ u8 mSoldierType;
|
||||
/* 0x14EC */ int mBaseMotionAnm;
|
||||
/* 0x14F0 */ int mBtkID;
|
||||
/* 0x14F4 */ int mBpkID;
|
||||
/* 0x14F8 */ u32 mWaterAnmFlags;
|
||||
/* 0x14FC */ char* mStaffName;
|
||||
/* 0x1500 */ cXyz field_0x1500;
|
||||
/* 0x150C */ u8 mMeterCount;
|
||||
/* 0x150D */ u8 mGameMode;
|
||||
/* 0x150E */ u8 mSwitch1;
|
||||
/* 0x150F */ u8 mSwitch2;
|
||||
/* 0x1510 */ int field_0x1510;
|
||||
/* 0x1514 */ int mSpinAngle;
|
||||
/* 0x1518 */ s16 field_0x1518;
|
||||
/* 0x151C */ int mSpinTimer;
|
||||
/* 0x1520 */ u8 mSwimMode;
|
||||
/* 0x1521 */ bool field_0x1521;
|
||||
/* 0x1524 */ f32 mSwimSpeedF;
|
||||
/* 0x1528 */ f32 mSwimSpeedScale;
|
||||
/* 0x152C */ u8 field_0x152c[4];
|
||||
/* 0x1530 */ csXyz mWaistAngle;
|
||||
/* 0x1536 */ csXyz mSwimAngleCalc;
|
||||
/* 0x153C */ bool field_0x153c;
|
||||
/* 0x153D */ bool field_0x153d;
|
||||
/* 0x153E */ bool field_0x153e;
|
||||
/* 0x1540 */ int mSwimFastTurnTimer;
|
||||
/* 0x1544 */ cXyz mSwimSpeed;
|
||||
/* 0x1550 */ bool field_0x1550;
|
||||
/* 0x1554 */ int field_0x1554;
|
||||
/* 0x1558 */ int field_0x1558;
|
||||
/* 0x155C */ int mModulationParam;
|
||||
/* 0x1560 */ cXyz mModulationOffset;
|
||||
/* 0x156C */ f32 mScaleFactor;
|
||||
/* 0x1570 */ int mEvasionTimer;
|
||||
/* 0x1574 */ s16 mEvasionAngle;
|
||||
/* 0x1576 */ u8 mActionType;
|
||||
/* 0x1577 */ bool mIsAboveWater;
|
||||
/* 0x1578 */ cXyz field_0x1578;
|
||||
/* 0x1584 */ cXyz field_0x1584;
|
||||
/* 0x1590 */ bool mResetWaistAngle;
|
||||
/* 0x1591 */ bool mIsTurning;
|
||||
/* 0x1592 */ u8 mCheckSwimTurnTimer;
|
||||
/* 0x1593 */ bool mCheckSwimTurn;
|
||||
/* 0x1594 */ u8 mActionSelect;
|
||||
/* 0x1595 */ int mRiverPathIdx;
|
||||
/* 0x159C */ cXyz field_0x159c[3];
|
||||
/* 0x15C0 */ u8 field_0x15c0;
|
||||
/* 0x15C1 */ bool field_0x15c1;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static char* mEvtCutNameList[11];
|
||||
static EventFn mEvtCutList[11];
|
||||
#else
|
||||
static void* mEvtCutNameList[11];
|
||||
static u8 mEvtCutList[132];
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_zrA_c) == 0x15C4);
|
||||
|
||||
class daNpc_zrA_Param_c {
|
||||
public:
|
||||
struct param {
|
||||
/* 0x00 */ f32 mAttnOffsetY;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 mScale;
|
||||
/* 0x0C */ f32 mShadowDepth;
|
||||
/* 0x10 */ f32 mCcWeight;
|
||||
/* 0x14 */ f32 mCylH;
|
||||
/* 0x18 */ f32 mWallH;
|
||||
/* 0x1C */ f32 mWallR;
|
||||
/* 0x20 */ f32 mBodyUpAngle;
|
||||
/* 0x24 */ f32 mBodyDownAngle;
|
||||
/* 0x28 */ f32 mBodyLeftAngle;
|
||||
/* 0x2C */ f32 mBodyRightAngle;
|
||||
/* 0x30 */ f32 mHeadUpAngle;
|
||||
/* 0x34 */ f32 mHeadDownAngle;
|
||||
/* 0x38 */ f32 mHeadLeftAngle;
|
||||
/* 0x3C */ f32 mHeadRightAngle;
|
||||
/* 0x40 */ f32 mNeckAngleScl;
|
||||
/* 0x44 */ f32 mMorfFrames;
|
||||
/* 0x48 */ s16 mSpeakDistIdx;
|
||||
/* 0x4A */ s16 mSpeakAngleIdx;
|
||||
/* 0x4C */ s16 mTalkDistIdx;
|
||||
/* 0x4E */ s16 mTalkAngleIdx;
|
||||
/* 0x50 */ f32 mAttnFovY;
|
||||
/* 0x54 */ f32 mAttnRadius;
|
||||
/* 0x58 */ f32 mAttnUpperY;
|
||||
/* 0x5C */ f32 mAttnLowerY;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 field_0x62;
|
||||
/* 0x64 */ s16 mTestExpression;
|
||||
/* 0x66 */ s16 mTestMotion;
|
||||
/* 0x68 */ s16 mTestLookMode;
|
||||
/* 0x6A */ bool mTest;
|
||||
/* 0x6C */ f32 mSwimSpeed;
|
||||
/* 0x70 */ f32 mMinSwimSpeedScale;
|
||||
/* 0x74 */ s16 mSwimAngleSpeed;
|
||||
/* 0x78 */ f32 mSwimAnmRate;
|
||||
/* 0x7C */ f32 field_0x7c;
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
/* 0x84 */ f32 mMaxScaleFactor;
|
||||
/* 0x88 */ f32 mMinDepth;
|
||||
/* 0x8C */ f32 field_0x8c;
|
||||
/* 0x90 */ f32 field_0x90;
|
||||
/* 0x94 */ f32 mWalkSpeed;
|
||||
/* 0x98 */ s16 mWalkAngleSpeed;
|
||||
/* 0x9A */ s16 mWalkAngleScale;
|
||||
/* 0x9C */ f32 mWalkAnmRate;
|
||||
/* 0xA0 */ f32 field_0xa0;
|
||||
/* 0xA4 */ f32 field_0xa4;
|
||||
/* 0xA8 */ f32 field_0xa8;
|
||||
/* 0xAC */ f32 field_0xac;
|
||||
};
|
||||
|
||||
/* 80B8C3EC */ virtual ~daNpc_zrA_Param_c();
|
||||
|
||||
static param const m;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_zrA_Param_c::param) == 0xB0);
|
||||
|
||||
#endif /* D_A_NPC_ZRA_H */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,24 @@
|
|||
#ifndef D_A_OBJ_ZRAMARK_H
|
||||
#define D_A_OBJ_ZRAMARK_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daObjZraMark_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80D42678 */ void Create();
|
||||
/* 80D4287C */ void CreateHeap();
|
||||
/* 80D42A7C */ void Execute();
|
||||
/* 80D42B0C */ void Draw();
|
||||
/* 80D42C98 */ void Delete();
|
||||
/* 80D42CE0 */ void getType();
|
||||
/* 80D42D2C */ void setBaseMtx();
|
||||
/* 80D42EE0 */ void col_init();
|
||||
/* 80D42F5C */ void col_set();
|
||||
/* 80D432C8 */ void schHoz();
|
||||
/* 80D43314 */ void entryPointer(fopAc_ac_c*);
|
||||
/* 80D43370 */ void informBlast();
|
||||
|
||||
u8 getMarkNo() { return fopAcM_GetParam(this) & 0xff; }
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_ZRAMARK_H */
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ int daTalk_c::execute() {
|
|||
}
|
||||
} else {
|
||||
if (fopAcM_searchPlayerDistanceXZ(this) >
|
||||
dAttention_c::i_getDistTable(attention_info.field_0x0[1]).field_0x4)
|
||||
dAttention_c::i_getDistTable(attention_info.field_0x0[1]).mRadius2)
|
||||
{
|
||||
mMessageID = -1;
|
||||
fopAcM_delete(this);
|
||||
|
|
|
|||
|
|
@ -1014,16 +1014,16 @@ static int daKytag06_Execute(kytag06_class* i_this) {
|
|||
int target2 = 0;
|
||||
dStage_dPnt_c* pnt = near_rail_get(i_this, &camera->mLookat.mEye);
|
||||
|
||||
if (pnt != NULL && pnt->field_0x3 != 0xFF) {
|
||||
dKy_change_colpat(pnt->field_0x3);
|
||||
if (pnt != NULL && pnt->mArg0 != 0xFF) {
|
||||
dKy_change_colpat(pnt->mArg0);
|
||||
|
||||
if (pnt->field_0x3 == 0) {
|
||||
if (pnt->mArg0 == 0) {
|
||||
target1 = 250;
|
||||
target2 = 25;
|
||||
} else if (pnt->field_0x3 == 1) {
|
||||
} else if (pnt->mArg0 == 1) {
|
||||
target1 = 500;
|
||||
target2 = 50;
|
||||
} else if (pnt->field_0x3 == 2) {
|
||||
} else if (pnt->mArg0 == 2) {
|
||||
target1 = 125;
|
||||
target2 = 12;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -10,389 +10,17 @@
|
|||
// Types:
|
||||
//
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct mDoExt_McaMorfCallBack2_c {};
|
||||
|
||||
struct mDoExt_McaMorfCallBack1_c {};
|
||||
|
||||
struct J3DAnmTransform {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2Creature {
|
||||
/* 802C03C8 */ Z2Creature();
|
||||
/* 802C0420 */ ~Z2Creature();
|
||||
/* 802C0530 */ void init(Vec*, Vec*, u8, u8);
|
||||
};
|
||||
|
||||
struct mDoExt_McaMorfSO {
|
||||
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
|
||||
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
|
||||
int, Z2Creature*, u32, u32);
|
||||
/* 80011310 */ void stopZelAnime();
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daStartAndGoal_c {
|
||||
/* 80D4DB30 */ void readyStartTimer();
|
||||
/* 80D4DBAC */ void isStartCheck();
|
||||
};
|
||||
|
||||
struct daPy_py_c {
|
||||
/* 8015F424 */ void checkNowWolfEyeUp();
|
||||
};
|
||||
|
||||
struct daNpcT_faceMotionAnmData_c {};
|
||||
|
||||
struct daNpcT_MotionSeqMngr_c {
|
||||
struct sequenceStepData_c {};
|
||||
|
||||
/* 80145898 */ void initialize();
|
||||
/* 80A05DF0 */ ~daNpcT_MotionSeqMngr_c();
|
||||
};
|
||||
|
||||
struct daNpcT_evtData_c {};
|
||||
|
||||
struct daNpcT_motionAnmData_c {};
|
||||
|
||||
struct J3DJoint {};
|
||||
|
||||
struct daNpc_Hoz_c {
|
||||
/* 80A0150C */ ~daNpc_Hoz_c();
|
||||
/* 80A01658 */ void create();
|
||||
/* 80A01904 */ void CreateHeap();
|
||||
/* 80A01D54 */ void Delete();
|
||||
/* 80A01D88 */ void Execute();
|
||||
/* 80A01DA8 */ void Draw();
|
||||
/* 80A01E44 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A01E64 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A01F54 */ void getType();
|
||||
/* 80A01FC8 */ void getFlowNodeNo();
|
||||
/* 80A01FE4 */ bool isDelete();
|
||||
/* 80A01FEC */ void reset();
|
||||
/* 80A021DC */ void setParam();
|
||||
/* 80A0236C */ void setAfterTalkMotion();
|
||||
/* 80A02370 */ void srchActors();
|
||||
/* 80A02374 */ void checkChangeEvt();
|
||||
/* 80A023EC */ void evtTalk();
|
||||
/* 80A024D0 */ void evtEndProc();
|
||||
/* 80A0260C */ void evtCutProc();
|
||||
/* 80A026D4 */ void evtProc();
|
||||
/* 80A02918 */ void action();
|
||||
/* 80A029A0 */ void beforeMove();
|
||||
/* 80A02A18 */ void setAttnPos();
|
||||
/* 80A02C50 */ void setCollision();
|
||||
/* 80A02DD4 */ void evtOrder();
|
||||
/* 80A02F78 */ bool drawDbgInfo();
|
||||
/* 80A02F80 */ void selectAction();
|
||||
/* 80A030A8 */ void chkAction(int (daNpc_Hoz_c::*)(void*));
|
||||
/* 80A030D4 */ void setAction(int (daNpc_Hoz_c::*)(void*));
|
||||
/* 80A0317C */ void wait(void*);
|
||||
/* 80A03304 */ void waitBattle(void*);
|
||||
/* 80A03578 */ void waitTwilightBattle(void*);
|
||||
/* 80A037E4 */ void waitBoat(void*);
|
||||
/* 80A03BDC */ void waitBoat2(void*);
|
||||
/* 80A03F8C */ void waitBoat1_5(void*);
|
||||
/* 80A04400 */ void waitTw(void*);
|
||||
/* 80A045FC */ void talk(void*);
|
||||
/* 80A0487C */ void ECut_boatRace(int);
|
||||
/* 80A04BE4 */ void ECut_beforeBattle(int);
|
||||
/* 80A04CDC */ void ECut_afterBattle(int);
|
||||
/* 80A04E24 */ void ECut_beforeBlast(int);
|
||||
/* 80A04F6C */ void ECut_afterBlast(int);
|
||||
/* 80A050B4 */ void ECut_yMushi(int);
|
||||
/* 80A051C8 */ void ECut_talkBreak(int);
|
||||
/* 80A064E4 */ daNpc_Hoz_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_evtData_c const*, char**);
|
||||
/* 80A065A4 */ bool getEyeballMaterialNo();
|
||||
/* 80A065AC */ s32 getHeadJointNo();
|
||||
/* 80A065B4 */ s32 getNeckJointNo();
|
||||
/* 80A065BC */ bool getBackboneJointNo();
|
||||
/* 80A065C4 */ void checkChangeJoint(int);
|
||||
/* 80A065D4 */ void checkRemoveJoint(int);
|
||||
|
||||
static void* mCutNameList[8];
|
||||
static u8 mCutList[96];
|
||||
};
|
||||
|
||||
struct daNpc_Hoz_Param_c {
|
||||
/* 80A065E4 */ ~daNpc_Hoz_Param_c();
|
||||
|
||||
static u8 const m[144];
|
||||
};
|
||||
|
||||
struct dCcD_GObjInf {
|
||||
/* 80083A28 */ dCcD_GObjInf();
|
||||
/* 800840E4 */ ~dCcD_GObjInf();
|
||||
};
|
||||
|
||||
struct _GXColorS10 {};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct cXyz {
|
||||
/* 80266B34 */ void operator-(Vec const&) const;
|
||||
/* 80A05798 */ ~cXyz();
|
||||
/* 80A05DEC */ cXyz();
|
||||
};
|
||||
|
||||
struct daNpcT_c {
|
||||
/* 80147FA4 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
/* 801483F8 */ void loadRes(s8 const*, char const**);
|
||||
/* 801484AC */ void deleteRes(s8 const*, char const**);
|
||||
/* 8014852C */ void execute();
|
||||
/* 8014886C */ void draw(int, int, f32, _GXColorS10*, f32, int, int, int);
|
||||
/* 80148C70 */ void setEnvTevColor();
|
||||
/* 80148CCC */ void setRoomNo();
|
||||
/* 801490D4 */ void ctrlBtk();
|
||||
/* 80149190 */ void setMtx();
|
||||
/* 801493B8 */ void ctrlMsgAnm(int*, int*, fopAc_ac_c*, int);
|
||||
/* 8014951C */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80149BB4 */ void setFootPos();
|
||||
/* 80149D7C */ void setFootPrtcl(cXyz*, f32, f32);
|
||||
/* 8014A05C */ bool checkCullDraw();
|
||||
/* 8014A064 */ void twilight();
|
||||
/* 8014A224 */ void evtChange();
|
||||
/* 8014A324 */ void clrParam();
|
||||
/* 8014A388 */ void setFaceMotionAnm(int, bool);
|
||||
/* 8014A628 */ void setMotionAnm(int, f32, int);
|
||||
/* 8014A908 */ void setPos(cXyz);
|
||||
/* 8014AA18 */ void setAngle(s16);
|
||||
/* 8014B338 */ void srchPlayerActor();
|
||||
/* 8014B648 */ void step(s16, int, int, int, int);
|
||||
/* 8014BBF0 */ void initTalk(int, fopAc_ac_c**);
|
||||
/* 8014BC78 */ void talkProc(int*, int, fopAc_ac_c**, int);
|
||||
/* 80A05410 */ ~daNpcT_c();
|
||||
/* 80A058E8 */ daNpcT_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_evtData_c const*, char**);
|
||||
/* 80A062E0 */ bool chkXYItems();
|
||||
/* 80A062E8 */ void ctrlSubFaceMotion(int);
|
||||
/* 80A062EC */ s32 getFootLJointNo();
|
||||
/* 80A062F4 */ s32 getFootRJointNo();
|
||||
/* 80A062FC */ bool getEyeballLMaterialNo();
|
||||
/* 80A06304 */ bool getEyeballRMaterialNo();
|
||||
/* 80A0630C */ void afterJntAnm(int);
|
||||
/* 80A06310 */ void afterMoved();
|
||||
/* 80A06314 */ void decTmr();
|
||||
/* 80A0632C */ void drawOtherMdl();
|
||||
/* 80A06330 */ void drawGhost();
|
||||
/* 80A06334 */ bool afterSetFaceMotionAnm(int, int, f32, int);
|
||||
/* 80A0633C */ bool afterSetMotionAnm(int, int, f32, int);
|
||||
/* 80A06344 */ void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 80A06374 */ void getMotionAnm(daNpcT_motionAnmData_c);
|
||||
/* 80A063A4 */ void changeAnm(int*, int*);
|
||||
/* 80A063A8 */ void changeBck(int*, int*);
|
||||
/* 80A063AC */ void changeBtp(int*, int*);
|
||||
/* 80A063B0 */ void changeBtk(int*, int*);
|
||||
|
||||
static u8 mCcDCyl[68];
|
||||
};
|
||||
|
||||
struct daNpcT_MatAnm_c {
|
||||
/* 80145764 */ void initialize();
|
||||
};
|
||||
|
||||
struct daNpcT_JntAnm_c {
|
||||
/* 80146C98 */ void initialize();
|
||||
/* 80146CD8 */ void setParam(fopAc_ac_c*, J3DModel*, cXyz*, int, int, int, f32, f32, f32, f32,
|
||||
f32, f32, f32, f32, f32, f32, cXyz*);
|
||||
/* 80147C38 */ void calcJntRad(f32, f32, f32);
|
||||
/* 80A05CF0 */ ~daNpcT_JntAnm_c();
|
||||
/* 80A05FBC */ void setEyeAngleY(cXyz, s16, int, f32, s16);
|
||||
/* 80A060D8 */ void setEyeAngleX(cXyz, f32, s16);
|
||||
};
|
||||
|
||||
struct daNpcT_ActorMngr_c {
|
||||
/* 801456D4 */ void initialize();
|
||||
/* 801456E0 */ void entry(fopAc_ac_c*);
|
||||
/* 801456FC */ void remove();
|
||||
/* 80145708 */ void getActorP();
|
||||
/* 80A05810 */ ~daNpcT_ActorMngr_c();
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035200 */ void onSwitch(int, int);
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dSv_danBit_c {
|
||||
/* 80034BE8 */ void isSwitch(int) const;
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dMsgFlow_c {
|
||||
/* 80249F00 */ dMsgFlow_c();
|
||||
/* 80249F48 */ ~dMsgFlow_c();
|
||||
};
|
||||
|
||||
struct dMeter2Info_c {
|
||||
/* 8021DE18 */ void setMiniGameItem(u8);
|
||||
/* 8021E0C4 */ void resetMiniGameItem(bool);
|
||||
/* 8021E268 */ void setMiniGameCount(s8);
|
||||
};
|
||||
|
||||
struct dEvt_control_c {
|
||||
/* 80042468 */ void reset();
|
||||
/* 8004368C */ void setPtT(void*);
|
||||
};
|
||||
|
||||
struct dEvent_manager_c {
|
||||
/* 80046800 */ void setObjectArchive(char*);
|
||||
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
|
||||
/* 80047A78 */ void endCheck(s16);
|
||||
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
/* 80047D4C */ void getIsAddvance(int);
|
||||
/* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int);
|
||||
/* 800480EC */ void getMySubstanceP(int, char const*, int);
|
||||
/* 8004817C */ void cutEnd(int);
|
||||
/* 800483E8 */ void getRunEventName();
|
||||
/* 800487F0 */ void ChkPresentEnd();
|
||||
};
|
||||
|
||||
struct dCcD_Stts {
|
||||
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct dCcD_SrcCyl {};
|
||||
|
||||
struct dCcD_GStts {
|
||||
/* 80083760 */ dCcD_GStts();
|
||||
/* 80A05EA8 */ ~dCcD_GStts();
|
||||
};
|
||||
|
||||
struct dCcD_Cyl {
|
||||
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
|
||||
};
|
||||
|
||||
struct dBgS_PolyPassChk {
|
||||
/* 80078E68 */ void SetObj();
|
||||
};
|
||||
|
||||
struct dBgS_ObjAcch {
|
||||
/* 80A05F04 */ ~dBgS_ObjAcch();
|
||||
};
|
||||
|
||||
struct dBgS_LinChk {
|
||||
/* 80077C68 */ dBgS_LinChk();
|
||||
/* 80077CDC */ ~dBgS_LinChk();
|
||||
};
|
||||
|
||||
struct dBgS_GndChk {
|
||||
/* 8007757C */ dBgS_GndChk();
|
||||
/* 800775F0 */ ~dBgS_GndChk();
|
||||
};
|
||||
|
||||
struct dBgS_AcchCir {
|
||||
/* 80075EAC */ dBgS_AcchCir();
|
||||
/* 80075F40 */ void SetWallR(f32);
|
||||
/* 80A05E38 */ ~dBgS_AcchCir();
|
||||
};
|
||||
|
||||
struct csXyz {
|
||||
/* 80A057D4 */ ~csXyz();
|
||||
/* 80A05CEC */ csXyz();
|
||||
};
|
||||
|
||||
struct dBgS {};
|
||||
|
||||
struct dBgS_Acch {
|
||||
/* 80075F94 */ ~dBgS_Acch();
|
||||
/* 800760A0 */ dBgS_Acch();
|
||||
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
|
||||
/* 80076AAC */ void CrrPos(dBgS&);
|
||||
};
|
||||
|
||||
struct cM3dGCyl {
|
||||
/* 8026F1DC */ void SetC(cXyz const&);
|
||||
/* 8026F1F8 */ void SetH(f32);
|
||||
/* 8026F200 */ void SetR(f32);
|
||||
/* 80A05858 */ ~cM3dGCyl();
|
||||
};
|
||||
|
||||
struct cM3dGCir {
|
||||
/* 8026EF18 */ ~cM3dGCir();
|
||||
};
|
||||
|
||||
struct cM3dGAab {
|
||||
/* 80A058A0 */ ~cM3dGAab();
|
||||
};
|
||||
|
||||
struct cCcD_Obj {};
|
||||
|
||||
struct cCcS {
|
||||
/* 80264BA8 */ void Set(cCcD_Obj*);
|
||||
};
|
||||
|
||||
struct cCcD_GStts {
|
||||
/* 80A053C8 */ ~cCcD_GStts();
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {
|
||||
/* 802680B0 */ ~cBgS_PolyInfo();
|
||||
};
|
||||
|
||||
struct cBgS_GndChk {
|
||||
/* 80267C1C */ cBgS_GndChk();
|
||||
/* 80267C94 */ ~cBgS_GndChk();
|
||||
};
|
||||
|
||||
struct J3DTexNoAnm {
|
||||
/* 80A01C40 */ ~J3DTexNoAnm();
|
||||
/* 80A01C88 */ J3DTexNoAnm();
|
||||
/* 80A05398 */ void calc(u16*) const;
|
||||
};
|
||||
|
||||
struct J3DTexMtxAnm {
|
||||
/* 80A01CAC */ ~J3DTexMtxAnm();
|
||||
/* 80A01CE8 */ J3DTexMtxAnm();
|
||||
};
|
||||
|
||||
struct J3DTevKColorAnm {
|
||||
/* 80A01B98 */ ~J3DTevKColorAnm();
|
||||
/* 80A01BD4 */ J3DTevKColorAnm();
|
||||
};
|
||||
|
||||
struct J3DTevColorAnm {
|
||||
/* 80A01BEC */ ~J3DTevColorAnm();
|
||||
/* 80A01C28 */ J3DTevColorAnm();
|
||||
};
|
||||
|
||||
struct J3DMaterialAnm {
|
||||
/* 8032C320 */ void initialize();
|
||||
};
|
||||
|
||||
struct J3DMatColorAnm {
|
||||
/* 80A01D00 */ ~J3DMatColorAnm();
|
||||
/* 80A01D3C */ J3DMatColorAnm();
|
||||
};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
/* 80A05F74 */ ~J3DFrameCtrl();
|
||||
};
|
||||
|
||||
struct J3DAnmTexPattern {
|
||||
/* 8032AF50 */ void getTexNo(u16, u16*) const;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -520,7 +148,6 @@ extern "C" u8 mCutList__11daNpc_Hoz_c[96];
|
|||
// External References:
|
||||
//
|
||||
|
||||
SECTION_INIT void memset();
|
||||
extern "C" void
|
||||
__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl();
|
||||
extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
|
||||
|
|
@ -632,9 +259,6 @@ extern "C" void __dl__FPv();
|
|||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
|
||||
extern "C" void initialize__14J3DMaterialAnmFv();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXMultVec();
|
||||
extern "C" void PSVECSquareMag();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void __ptmf_test();
|
||||
|
|
@ -650,11 +274,7 @@ extern "C" void _restgpr_26();
|
|||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void strcmp();
|
||||
extern "C" void strlen();
|
||||
extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" u8 mCcDCyl__8daNpcT_c[68];
|
||||
|
|
@ -665,10 +285,7 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
|
|||
extern "C" extern void* __vt__9cCcD_Stts[8];
|
||||
extern "C" extern void* __vt__14J3DMaterialAnm[4];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void readyStartTimer__16daStartAndGoal_cFv();
|
||||
extern "C" void isStartCheck__16daStartAndGoal_cFv();
|
||||
|
|
@ -1380,7 +997,8 @@ SECTION_DATA extern void* __vt__11daNpc_Hoz_c[49] = {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daNpc_Hoz_c::~daNpc_Hoz_c() {
|
||||
// asm daNpc_Hoz_c::~daNpc_Hoz_c() {
|
||||
extern "C" asm void __dt__11daNpc_Hoz_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__11daNpc_Hoz_cFv.s"
|
||||
}
|
||||
|
|
@ -1491,7 +1109,8 @@ asm void daNpc_Hoz_c::CreateHeap() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTevKColorAnm::~J3DTevKColorAnm() {
|
||||
// asm J3DTevKColorAnm::~J3DTevKColorAnm() {
|
||||
extern "C" asm void __dt__15J3DTevKColorAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__15J3DTevKColorAnmFv.s"
|
||||
}
|
||||
|
|
@ -1501,7 +1120,8 @@ asm J3DTevKColorAnm::~J3DTevKColorAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTevKColorAnm::J3DTevKColorAnm() {
|
||||
// asm J3DTevKColorAnm::J3DTevKColorAnm() {
|
||||
extern "C" asm void __ct__15J3DTevKColorAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__ct__15J3DTevKColorAnmFv.s"
|
||||
}
|
||||
|
|
@ -1511,7 +1131,8 @@ asm J3DTevKColorAnm::J3DTevKColorAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTevColorAnm::~J3DTevColorAnm() {
|
||||
// asm J3DTevColorAnm::~J3DTevColorAnm() {
|
||||
extern "C" asm void __dt__14J3DTevColorAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__14J3DTevColorAnmFv.s"
|
||||
}
|
||||
|
|
@ -1521,7 +1142,8 @@ asm J3DTevColorAnm::~J3DTevColorAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTevColorAnm::J3DTevColorAnm() {
|
||||
// asm J3DTevColorAnm::J3DTevColorAnm() {
|
||||
extern "C" asm void __ct__14J3DTevColorAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__ct__14J3DTevColorAnmFv.s"
|
||||
}
|
||||
|
|
@ -1531,7 +1153,8 @@ asm J3DTevColorAnm::J3DTevColorAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTexNoAnm::~J3DTexNoAnm() {
|
||||
// asm J3DTexNoAnm::~J3DTexNoAnm() {
|
||||
extern "C" asm void __dt__11J3DTexNoAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__11J3DTexNoAnmFv.s"
|
||||
}
|
||||
|
|
@ -1541,7 +1164,8 @@ asm J3DTexNoAnm::~J3DTexNoAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTexNoAnm::J3DTexNoAnm() {
|
||||
// asm J3DTexNoAnm::J3DTexNoAnm() {
|
||||
extern "C" asm void __ct__11J3DTexNoAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__ct__11J3DTexNoAnmFv.s"
|
||||
}
|
||||
|
|
@ -1551,7 +1175,8 @@ asm J3DTexNoAnm::J3DTexNoAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTexMtxAnm::~J3DTexMtxAnm() {
|
||||
// asm J3DTexMtxAnm::~J3DTexMtxAnm() {
|
||||
extern "C" asm void __dt__12J3DTexMtxAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__12J3DTexMtxAnmFv.s"
|
||||
}
|
||||
|
|
@ -1561,7 +1186,8 @@ asm J3DTexMtxAnm::~J3DTexMtxAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DTexMtxAnm::J3DTexMtxAnm() {
|
||||
// asm J3DTexMtxAnm::J3DTexMtxAnm() {
|
||||
extern "C" asm void __ct__12J3DTexMtxAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__ct__12J3DTexMtxAnmFv.s"
|
||||
}
|
||||
|
|
@ -1571,7 +1197,8 @@ asm J3DTexMtxAnm::J3DTexMtxAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DMatColorAnm::~J3DMatColorAnm() {
|
||||
// asm J3DMatColorAnm::~J3DMatColorAnm() {
|
||||
extern "C" asm void __dt__14J3DMatColorAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__14J3DMatColorAnmFv.s"
|
||||
}
|
||||
|
|
@ -1581,7 +1208,8 @@ asm J3DMatColorAnm::~J3DMatColorAnm() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DMatColorAnm::J3DMatColorAnm() {
|
||||
// asm J3DMatColorAnm::J3DMatColorAnm() {
|
||||
extern "C" asm void __ct__14J3DMatColorAnmFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__ct__14J3DMatColorAnmFv.s"
|
||||
}
|
||||
|
|
@ -1668,7 +1296,7 @@ static asm void s_subCanoe(void* param_0, void* param_1) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::getType() {
|
||||
asm u8 daNpc_Hoz_c::getType() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/getType__11daNpc_Hoz_cFv.s"
|
||||
}
|
||||
|
|
@ -1734,7 +1362,7 @@ void daNpc_Hoz_c::srchActors() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::checkChangeEvt() {
|
||||
asm bool daNpc_Hoz_c::checkChangeEvt() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/checkChangeEvt__11daNpc_Hoz_cFv.s"
|
||||
}
|
||||
|
|
@ -1744,7 +1372,7 @@ asm void daNpc_Hoz_c::checkChangeEvt() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::evtTalk() {
|
||||
asm bool daNpc_Hoz_c::evtTalk() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/evtTalk__11daNpc_Hoz_cFv.s"
|
||||
}
|
||||
|
|
@ -1754,7 +1382,7 @@ asm void daNpc_Hoz_c::evtTalk() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::evtEndProc() {
|
||||
asm bool daNpc_Hoz_c::evtEndProc() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/evtEndProc__11daNpc_Hoz_cFv.s"
|
||||
}
|
||||
|
|
@ -1764,7 +1392,7 @@ asm void daNpc_Hoz_c::evtEndProc() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::evtCutProc() {
|
||||
asm bool daNpc_Hoz_c::evtCutProc() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/evtCutProc__11daNpc_Hoz_cFv.s"
|
||||
}
|
||||
|
|
@ -1785,7 +1413,7 @@ SECTION_DEAD static char const* const stringBase_80A067E8 = "DEFAULT_GETITEM";
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::evtProc() {
|
||||
asm int daNpc_Hoz_c::evtProc() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/evtProc__11daNpc_Hoz_cFv.s"
|
||||
}
|
||||
|
|
@ -1909,7 +1537,7 @@ asm void daNpc_Hoz_c::evtOrder() {
|
|||
#pragma pop
|
||||
|
||||
/* 80A02F78-80A02F80 001B58 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpc_Hoz_cFv */
|
||||
bool daNpc_Hoz_c::drawDbgInfo() {
|
||||
BOOL daNpc_Hoz_c::drawDbgInfo() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -2182,7 +1810,8 @@ static bool daNpc_Hoz_IsDelete(void* param_0) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J3DTexNoAnm::calc(u16* param_0) const {
|
||||
// asm void J3DTexNoAnm::calc(u16* param_0) const {
|
||||
extern "C" asm void calc__11J3DTexNoAnmCFPUs() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/calc__11J3DTexNoAnmCFPUs.s"
|
||||
}
|
||||
|
|
@ -2192,7 +1821,8 @@ asm void J3DTexNoAnm::calc(u16* param_0) const {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cCcD_GStts::~cCcD_GStts() {
|
||||
// asm cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" asm void __dt__10cCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__10cCcD_GSttsFv.s"
|
||||
}
|
||||
|
|
@ -2202,7 +1832,8 @@ asm cCcD_GStts::~cCcD_GStts() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daNpcT_c::~daNpcT_c() {
|
||||
// asm daNpcT_c::~daNpcT_c() {
|
||||
extern "C" asm void __dt__8daNpcT_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__8daNpcT_cFv.s"
|
||||
}
|
||||
|
|
@ -2212,7 +1843,8 @@ asm daNpcT_c::~daNpcT_c() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cXyz::~cXyz() {
|
||||
// asm cXyz::~cXyz() {
|
||||
extern "C" asm void __dt__4cXyzFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__4cXyzFv.s"
|
||||
}
|
||||
|
|
@ -2222,7 +1854,8 @@ asm cXyz::~cXyz() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm csXyz::~csXyz() {
|
||||
// asm csXyz::~csXyz() {
|
||||
extern "C" asm void __dt__5csXyzFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__5csXyzFv.s"
|
||||
}
|
||||
|
|
@ -2232,7 +1865,8 @@ asm csXyz::~csXyz() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
|
||||
// asm daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
|
||||
extern "C" asm void __dt__18daNpcT_ActorMngr_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__18daNpcT_ActorMngr_cFv.s"
|
||||
}
|
||||
|
|
@ -2242,7 +1876,8 @@ asm daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cM3dGCyl::~cM3dGCyl() {
|
||||
// asm cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" asm void __dt__8cM3dGCylFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__8cM3dGCylFv.s"
|
||||
}
|
||||
|
|
@ -2252,7 +1887,8 @@ asm cM3dGCyl::~cM3dGCyl() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cM3dGAab::~cM3dGAab() {
|
||||
// asm cM3dGAab::~cM3dGAab() {
|
||||
extern "C" asm void __dt__8cM3dGAabFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__8cM3dGAabFv.s"
|
||||
}
|
||||
|
|
@ -2264,18 +1900,20 @@ asm cM3dGAab::~cM3dGAab() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daNpcT_c::daNpcT_c(daNpcT_faceMotionAnmData_c const* param_0,
|
||||
daNpcT_motionAnmData_c const* param_1,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
|
||||
daNpcT_evtData_c const* param_6, char** param_7) {
|
||||
// asm daNpcT_c::daNpcT_c(daNpcT_faceMotionAnmData_c const* param_0,
|
||||
// daNpcT_motionAnmData_c const* param_1,
|
||||
// daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3,
|
||||
// daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
|
||||
// daNpcT_evtData_c const* param_6, char** param_7) {
|
||||
extern "C" asm void __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/func_80A058E8.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80A05CEC-80A05CF0 0048CC 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
|
||||
csXyz::csXyz() {
|
||||
// csXyz::csXyz() {
|
||||
extern "C" void __ct__5csXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
|
@ -2283,14 +1921,16 @@ csXyz::csXyz() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daNpcT_JntAnm_c::~daNpcT_JntAnm_c() {
|
||||
// asm daNpcT_JntAnm_c::~daNpcT_JntAnm_c() {
|
||||
extern "C" asm void __dt__15daNpcT_JntAnm_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__15daNpcT_JntAnm_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80A05DEC-80A05DF0 0049CC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
cXyz::cXyz() {
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
|
@ -2298,7 +1938,8 @@ cXyz::cXyz() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() {
|
||||
// asm daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() {
|
||||
extern "C" asm void __dt__22daNpcT_MotionSeqMngr_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__22daNpcT_MotionSeqMngr_cFv.s"
|
||||
}
|
||||
|
|
@ -2308,7 +1949,8 @@ asm daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_AcchCir::~dBgS_AcchCir() {
|
||||
// asm dBgS_AcchCir::~dBgS_AcchCir() {
|
||||
extern "C" asm void __dt__12dBgS_AcchCirFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__12dBgS_AcchCirFv.s"
|
||||
}
|
||||
|
|
@ -2318,7 +1960,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dCcD_GStts::~dCcD_GStts() {
|
||||
// asm dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" asm void __dt__10dCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__10dCcD_GSttsFv.s"
|
||||
}
|
||||
|
|
@ -2328,7 +1971,8 @@ asm dCcD_GStts::~dCcD_GStts() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__12dBgS_ObjAcchFv.s"
|
||||
}
|
||||
|
|
@ -2338,7 +1982,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
// asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" asm void __dt__12J3DFrameCtrlFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__12J3DFrameCtrlFv.s"
|
||||
}
|
||||
|
|
@ -2348,8 +1993,9 @@ asm J3DFrameCtrl::~J3DFrameCtrl() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcT_JntAnm_c::setEyeAngleY(cXyz param_0, s16 param_1, int param_2, f32 param_3,
|
||||
s16 param_4) {
|
||||
// asm void daNpcT_JntAnm_c::setEyeAngleY(cXyz param_0, s16 param_1, int param_2, f32 param_3,
|
||||
// s16 param_4) {
|
||||
extern "C" asm void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs.s"
|
||||
}
|
||||
|
|
@ -2359,7 +2005,8 @@ asm void daNpcT_JntAnm_c::setEyeAngleY(cXyz param_0, s16 param_1, int param_2, f
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcT_JntAnm_c::setEyeAngleX(cXyz param_0, f32 param_1, s16 param_2) {
|
||||
// asm void daNpcT_JntAnm_c::setEyeAngleX(cXyz param_0, f32 param_1, s16 param_2) {
|
||||
extern "C" asm void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs.s"
|
||||
}
|
||||
|
|
@ -2443,7 +2090,8 @@ bool daNpcT_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int para
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
|
||||
// asm void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
|
||||
extern "C" asm void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c.s"
|
||||
}
|
||||
|
|
@ -2454,7 +2102,8 @@ asm void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) {
|
||||
// asm void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) {
|
||||
extern "C" asm void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c.s"
|
||||
}
|
||||
|
|
@ -2552,7 +2201,7 @@ s32 daNpc_Hoz_c::getNeckJointNo() {
|
|||
|
||||
/* 80A065BC-80A065C4 00519C 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__11daNpc_Hoz_cFv
|
||||
*/
|
||||
bool daNpc_Hoz_c::getBackboneJointNo() {
|
||||
s32 daNpc_Hoz_c::getBackboneJointNo() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -2561,7 +2210,7 @@ bool daNpc_Hoz_c::getBackboneJointNo() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::checkChangeJoint(int param_0) {
|
||||
asm bool daNpc_Hoz_c::checkChangeJoint(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/checkChangeJoint__11daNpc_Hoz_cFi.s"
|
||||
}
|
||||
|
|
@ -2572,7 +2221,7 @@ asm void daNpc_Hoz_c::checkChangeJoint(int param_0) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpc_Hoz_c::checkRemoveJoint(int param_0) {
|
||||
asm bool daNpc_Hoz_c::checkRemoveJoint(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/checkRemoveJoint__11daNpc_Hoz_cFi.s"
|
||||
}
|
||||
|
|
@ -2582,7 +2231,8 @@ asm void daNpc_Hoz_c::checkRemoveJoint(int param_0) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daNpc_Hoz_Param_c::~daNpc_Hoz_Param_c() {
|
||||
// asm daNpc_Hoz_Param_c::~daNpc_Hoz_Param_c() {
|
||||
extern "C" asm void __dt__17daNpc_Hoz_Param_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz/__dt__17daNpc_Hoz_Param_cFv.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_npc_the
|
||||
//
|
||||
/**
|
||||
* d_a_npc_the.cpp
|
||||
* NPC - Telma
|
||||
*/
|
||||
|
||||
#include "rel/d/a/npc/d_a_npc_the/d_a_npc_the.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
|
@ -83,6 +85,11 @@ extern "C" u8 const m__16daNpcThe_Param_c[108];
|
|||
extern "C" extern char const* const d_a_npc_the__stringBase0;
|
||||
extern "C" void* mEvtCutNameList__10daNpcThe_c[4];
|
||||
extern "C" u8 mEvtCutList__10daNpcThe_c[48];
|
||||
static cPhs__Step daNpcThe_Create(void*);
|
||||
static int daNpcThe_Delete(void*);
|
||||
static int daNpcThe_Execute(void*);
|
||||
static int daNpcThe_IsDelete(void*);
|
||||
static int daNpcThe_Draw(void*);
|
||||
|
||||
//
|
||||
// External References:
|
||||
|
|
@ -572,25 +579,30 @@ SECTION_DATA static void* lit_4635[3] = {
|
|||
#pragma pop
|
||||
|
||||
/* 80AFC534-80AFC554 -00001 0020+00 1/0 0/0 0/0 .data daNpcThe_MethodTable */
|
||||
SECTION_DATA static void* daNpcThe_MethodTable[8] = {
|
||||
(void*)daNpcThe_Create__FPv,
|
||||
(void*)daNpcThe_Delete__FPv,
|
||||
(void*)daNpcThe_Execute__FPv,
|
||||
(void*)daNpcThe_IsDelete__FPv,
|
||||
(void*)daNpcThe_Draw__FPv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
static actor_method_class daNpcThe_MethodTable = {
|
||||
(process_method_func)daNpcThe_Create,
|
||||
(process_method_func)daNpcThe_Delete,
|
||||
(process_method_func)daNpcThe_Execute,
|
||||
(process_method_func)daNpcThe_IsDelete,
|
||||
(process_method_func)daNpcThe_Draw,
|
||||
};
|
||||
|
||||
/* 80AFC554-80AFC584 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_THE */
|
||||
SECTION_DATA extern void* g_profile_NPC_THE[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x02730000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000E20, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x01740000, (void*)&daNpcThe_MethodTable,
|
||||
(void*)0x00044108, (void*)0x040E0000,
|
||||
extern actor_process_profile_definition g_profile_NPC_THE = {
|
||||
fpcLy_CURRENT_e,
|
||||
7,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_NPC_THE,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(daNpcThe_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
0x174,
|
||||
&daNpcThe_MethodTable,
|
||||
0x44108,
|
||||
fopAc_NPC_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
|
||||
/* 80AFC584-80AFC590 0003B4 000C+00 2/2 0/0 0/0 .data __vt__11J3DTexNoAnm */
|
||||
|
|
@ -755,38 +767,38 @@ extern "C" asm void __dt__10daNpcThe_cFv() {
|
|||
|
||||
/* 80AFBE0C-80AFBE78 000000 006C+00 11/11 0/0 0/0 .rodata m__16daNpcThe_Param_c */
|
||||
daNpcThe_Param_c::param const daNpcThe_Param_c::m = {
|
||||
220.0f,
|
||||
-3.0f,
|
||||
1.0f,
|
||||
400.0f,
|
||||
255.0f,
|
||||
220.0f, // mAttnOffsetY
|
||||
-3.0f, // mGravity
|
||||
1.0f, // mScale
|
||||
400.0f, // mShadowDepth
|
||||
255.0f, // mCcWeight
|
||||
200.0f, // mCylH
|
||||
35.0f, // mWallH
|
||||
40.0f, // mWallR
|
||||
0.0f,
|
||||
-20.0f,
|
||||
10.0f,
|
||||
-10.0f,
|
||||
30.0f,
|
||||
-20.0f,
|
||||
45.0f,
|
||||
-45.0f,
|
||||
0.6f, // mLookatScl
|
||||
12.0f,
|
||||
3,
|
||||
6,
|
||||
5,
|
||||
6,
|
||||
80.0f,
|
||||
500.0f,
|
||||
300.0f,
|
||||
-300.0f,
|
||||
0.0f, // mBodyUpAngle
|
||||
-20.0f, // mBodyDownAngle
|
||||
10.0f, // mBodyLeftAngle
|
||||
-10.0f, // mBodyRightAngle
|
||||
30.0f, // mHeadUpAngle
|
||||
-20.0f, // mHeadDownAngle
|
||||
45.0f, // mHeadLeftAngle
|
||||
-45.0f, // mHeadRightAngle
|
||||
0.6f, // mNeckAngleScl
|
||||
12.0f, // mMorfFrames
|
||||
3, // mSpeakDistIdx
|
||||
6, // mSpeakAngleIdx
|
||||
5, // mTalkDistIdx
|
||||
6, // mTalkAngleIdx
|
||||
80.0f, // mAttnFovY
|
||||
500.0f, // mAttnRadius
|
||||
300.0f, // mAttnUpperY
|
||||
-300.0f, // mAttnLowerY
|
||||
60,
|
||||
8,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0, // mTestExpression
|
||||
0, // mTestMotion
|
||||
0, // mTestLookMode
|
||||
false, // mTest
|
||||
};
|
||||
|
||||
int daNpcThe_c::CreateHeap() {
|
||||
|
|
@ -821,10 +833,10 @@ int daNpcThe_c::CreateHeap() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!setExpressionAnm(1, false)) {
|
||||
if (!setExpressionAnm(ANM_F_TALK_A, false)) {
|
||||
return 0;
|
||||
}
|
||||
setMotionAnm(0xe, 0.0f);
|
||||
setMotionAnm(ANM_WAIT_A, 0.0f);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -849,7 +861,7 @@ int daNpcThe_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) {
|
|||
case 1:
|
||||
case 3:
|
||||
case 4:
|
||||
setLookatMtx(joint_no, lookat_joints, daNpcThe_Param_c::m.mLookatScl);
|
||||
setLookatMtx(joint_no, lookat_joints, daNpcThe_Param_c::m.mNeckAngleScl);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -1035,52 +1047,52 @@ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) {
|
|||
|
||||
bool res = false;
|
||||
switch (i_idx) {
|
||||
case 0:
|
||||
case ANM_NONE:
|
||||
res = setExpressionBtp(0);
|
||||
break;
|
||||
case 1:
|
||||
case ANM_F_TALK_A:
|
||||
res = setExpressionBtp(1);
|
||||
break;
|
||||
case 2:
|
||||
case ANM_F_SMILE:
|
||||
res = setExpressionBtp(2);
|
||||
break;
|
||||
case 3:
|
||||
case ANM_F_CHUCKLE:
|
||||
res = setExpressionBtp(3);
|
||||
break;
|
||||
case 4:
|
||||
case ANM_F_TALK_B:
|
||||
res = setExpressionBtp(4);
|
||||
attr = 2;
|
||||
break;
|
||||
case 5:
|
||||
case ANM_F_TALK_C:
|
||||
res = setExpressionBtp(5);
|
||||
break;
|
||||
case 6:
|
||||
case ANM_F_LAUGH:
|
||||
res = setExpressionBtp(6);
|
||||
break;
|
||||
case 7:
|
||||
case ANM_F_TALK_R:
|
||||
res = setExpressionBtp(7);
|
||||
break;
|
||||
case 8:
|
||||
case ANM_FH_SMILE:
|
||||
res = setExpressionBtp(8);
|
||||
attr = 2;
|
||||
break;
|
||||
case 9:
|
||||
case ANM_FH_CHUCKLE:
|
||||
res = setExpressionBtp(9);
|
||||
attr = 2;
|
||||
break;
|
||||
case 10:
|
||||
case ANM_FH_TALK_B:
|
||||
res = setExpressionBtp(10);
|
||||
attr = 2;
|
||||
break;
|
||||
case 11:
|
||||
case ANM_FH_TALK_C:
|
||||
res = setExpressionBtp(11);
|
||||
attr = 2;
|
||||
break;
|
||||
case 12:
|
||||
case ANM_FH_LAUGH:
|
||||
res = setExpressionBtp(12);
|
||||
attr = 2;
|
||||
break;
|
||||
case 13:
|
||||
case ANM_FH_TALK_R:
|
||||
res = setExpressionBtp(13);
|
||||
attr = 2;
|
||||
break;
|
||||
|
|
@ -1209,43 +1221,43 @@ void daNpcThe_c::setMotionAnm(int i_idx, f32 i_morf) {
|
|||
}
|
||||
|
||||
switch (i_idx) {
|
||||
case 14:
|
||||
case ANM_WAIT_A:
|
||||
attr = 2;
|
||||
break;
|
||||
case 15:
|
||||
case ANM_WAIT_LOOKING:
|
||||
attr = 2;
|
||||
break;
|
||||
case 16:
|
||||
case ANM_TO_WAIT_B:
|
||||
attr = 0;
|
||||
break;
|
||||
case 17:
|
||||
case ANM_WAIT_B:
|
||||
attr = 2;
|
||||
break;
|
||||
case 18:
|
||||
case ANM_WAIT_LOOKUP:
|
||||
attr = 2;
|
||||
break;
|
||||
case 19:
|
||||
case ANM_TALK_R:
|
||||
attr = 0;
|
||||
break;
|
||||
case 20:
|
||||
case ANM_TALKING_R:
|
||||
attr = 2;
|
||||
break;
|
||||
case 21:
|
||||
case ANM_LOOK_A:
|
||||
attr = 0;
|
||||
break;
|
||||
case 22:
|
||||
case ANM_LOOK:
|
||||
attr = 0;
|
||||
break;
|
||||
case 23:
|
||||
case ANM_KUNE_WAIT_A:
|
||||
attr = 2;
|
||||
break;
|
||||
case 24:
|
||||
case ANM_KUNE_TALK:
|
||||
attr = 0;
|
||||
break;
|
||||
case 25:
|
||||
case ANM_KUNE_WAIT_B:
|
||||
attr = 2;
|
||||
break;
|
||||
case 26:
|
||||
case ANM_KUNE_SHISHI:
|
||||
attr = 0;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -1851,53 +1863,53 @@ SECTION_DEAD static char const* const stringBase_80AFC1AC = "R_SP116";
|
|||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
BOOL daNpcThe_c::wait(void* param_0) {
|
||||
switch (mState) {
|
||||
switch (mMode) {
|
||||
case 0:
|
||||
field_0x938 = 0;
|
||||
mAttnChangeTimer = 0;
|
||||
// no break
|
||||
|
||||
case 1:
|
||||
if (mType == 2) {
|
||||
setExpression(8, -1.0f);
|
||||
setMotion(8, -1.0f, 0);
|
||||
if (mType == TYPE_KAKARIKO) {
|
||||
setExpression(EXPR_H_SMILE, -1.0f);
|
||||
setMotion(MOT_KUNE_WAIT_B, -1.0f, false);
|
||||
} else {
|
||||
setExpression(13, -1.0f);
|
||||
setMotion(0, -1.0f, 0);
|
||||
setExpression(EXPR_NONE, -1.0f);
|
||||
setMotion(MOT_WAIT_A, -1.0f, false);
|
||||
}
|
||||
setLookMode(0);
|
||||
field_0x96c = 0;
|
||||
mState = 2;
|
||||
setLookMode(LOOK_NONE);
|
||||
mTurnMode = 0;
|
||||
mMode = 2;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (mType == 2) {
|
||||
if (field_0x8f0.y != home.angle.y && step(home.angle.y, -1, -1, 0xf)) {
|
||||
mState = 1;
|
||||
if (mType == TYPE_KAKARIKO) {
|
||||
if (mCurAngle.y != home.angle.y && step(home.angle.y, -1, -1, 0xf)) {
|
||||
mMode = 1;
|
||||
}
|
||||
setLookMode(0);
|
||||
setLookMode(LOOK_NONE);
|
||||
} else {
|
||||
if (!isSneaking()) {
|
||||
bool uvar3 = mActorMngr[0].getActorP() != NULL;
|
||||
if (chkFindPlayer2(uvar3, field_0x8f0.y)) {
|
||||
if (chkFindPlayer2(uvar3, mCurAngle.y)) {
|
||||
if (!uvar3) {
|
||||
mActorMngr[0].entry(daPy_getPlayerActorClass());
|
||||
field_0x96c = 0;
|
||||
mTurnMode = 0;
|
||||
}
|
||||
} else if (uvar3) {
|
||||
mActorMngr[0].remove();
|
||||
field_0x96c = 0;
|
||||
mTurnMode = 0;
|
||||
}
|
||||
|
||||
if (mActorMngr[0].getActorP() != NULL) {
|
||||
setLookMode(2);
|
||||
setLookMode(LOOK_PLAYER);
|
||||
} else {
|
||||
if (field_0x8f0.y != home.angle.y && step(home.angle.y, -1, -1, 0xf)) {
|
||||
mState = 1;
|
||||
if (mCurAngle.y != home.angle.y && step(home.angle.y, -1, -1, 0xf)) {
|
||||
mMode = 1;
|
||||
}
|
||||
setLookMode(0);
|
||||
setLookMode(LOOK_NONE);
|
||||
}
|
||||
|
||||
if (mType == 0) {
|
||||
if (mType == TYPE_BAR) {
|
||||
daTag_EvtArea_c* evt_area =
|
||||
static_cast<daTag_EvtArea_c*>(mActorMngr[2].getActorP());
|
||||
if (evt_area != NULL) {
|
||||
|
|
@ -1912,21 +1924,21 @@ BOOL daNpcThe_c::wait(void* param_0) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
setLookMode(0);
|
||||
setLookMode(LOOK_NONE);
|
||||
}
|
||||
|
||||
if (field_0x8f0.y == home.angle.y) {
|
||||
if (mCurAngle.y == home.angle.y) {
|
||||
fopAc_ac_c* actor =
|
||||
getAttnActorP(mActorMngr[0].getActorP() != NULL, srchAttnActor1,
|
||||
daNpcThe_Param_c::m.field_0x54, daNpcThe_Param_c::m.field_0x58,
|
||||
daNpcThe_Param_c::m.field_0x5c, daNpcThe_Param_c::m.field_0x50,
|
||||
daNpcThe_Param_c::m.mAttnRadius, daNpcThe_Param_c::m.mAttnUpperY,
|
||||
daNpcThe_Param_c::m.mAttnLowerY, daNpcThe_Param_c::m.mAttnFovY,
|
||||
shape_angle.y, 120, 1);
|
||||
if (actor != NULL) {
|
||||
mActorMngr[1].entry(actor);
|
||||
setLookMode(5);
|
||||
setLookMode(LOOK_ATTN);
|
||||
}
|
||||
} else {
|
||||
field_0x938 = 0;
|
||||
mAttnChangeTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1974,28 +1986,28 @@ void daNpcThe_c::setExpression(int i_expression, f32 i_morf) {
|
|||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
BOOL daNpcThe_c::waitTW(void* param_0) {
|
||||
switch (mState) {
|
||||
switch (mMode) {
|
||||
case 0:
|
||||
field_0x938 = 0;
|
||||
mAttnChangeTimer = 0;
|
||||
// no break
|
||||
|
||||
case 1:
|
||||
if (mType == 2) {
|
||||
setExpression(8, -1.0f);
|
||||
setMotion(8, -1.0f, 0);
|
||||
if (mType == TYPE_KAKARIKO) {
|
||||
setExpression(EXPR_H_SMILE, -1.0f);
|
||||
setMotion(MOT_KUNE_WAIT_B, -1.0f, false);
|
||||
} else {
|
||||
setExpression(11, -1.0f);
|
||||
setMotion(0, -1.0f, 0);
|
||||
setExpression(EXPR_H_TALK_C, -1.0f);
|
||||
setMotion(MOT_WAIT_A, -1.0f, false);
|
||||
}
|
||||
field_0x96c = 0;
|
||||
mState = 2;
|
||||
mTurnMode = 0;
|
||||
mMode = 2;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (field_0x8f0.y != home.angle.y && step(home.angle.y, -1, -1, 0xf)) {
|
||||
mState = 1;
|
||||
if (mCurAngle.y != home.angle.y && step(home.angle.y, -1, -1, 0xf)) {
|
||||
mMode = 1;
|
||||
}
|
||||
setLookMode(4);
|
||||
setLookMode(LOOK_ACTOR);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
|
|
@ -2034,21 +2046,21 @@ SECTION_DEAD static char const* const stringBase_80AFC1B4 = "DEFAULT_GETITEM";
|
|||
BOOL daNpcThe_c::talk(void* param_0) {
|
||||
BOOL ret = false;
|
||||
BOOL bvar1 = false;
|
||||
switch (mState) {
|
||||
switch (mMode) {
|
||||
case 0:
|
||||
case 1:
|
||||
initTalk(mFlowID, NULL);
|
||||
field_0x938 = 0;
|
||||
field_0x96c = 0;
|
||||
mAttnChangeTimer = 0;
|
||||
mTurnMode = 0;
|
||||
field_0xe1c = false;
|
||||
mState = 2;
|
||||
mMode = 2;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (mTwilight || isSneaking()) {
|
||||
bvar1 = true;
|
||||
} else {
|
||||
if (mType == 2 &&
|
||||
if (mType == TYPE_KAKARIKO &&
|
||||
(mpMorf->getAnm() == getTrnsfrmKeyAnmP(
|
||||
l_resNames[l_bckGetParamList[24].arcIdx], l_bckGetParamList[24].fileIdx)
|
||||
|| mpMorf->getAnm() == getTrnsfrmKeyAnmP(
|
||||
|
|
@ -2056,18 +2068,18 @@ BOOL daNpcThe_c::talk(void* param_0) {
|
|||
|| mpMorf->getAnm() == getTrnsfrmKeyAnmP(
|
||||
l_resNames[l_bckGetParamList[26].arcIdx], l_bckGetParamList[26].fileIdx)))
|
||||
{
|
||||
setLookMode(0);
|
||||
setLookMode(LOOK_NONE);
|
||||
} else {
|
||||
setLookMode(3);
|
||||
setLookMode(LOOK_PLAYER_TALK);
|
||||
mActorMngr[0].entry(daPy_getPlayerActorClass());
|
||||
}
|
||||
|
||||
if (mType == 2 || field_0x8f0.y == fopAcM_searchPlayerAngleY(this)) {
|
||||
if (mType == TYPE_KAKARIKO || mCurAngle.y == fopAcM_searchPlayerAngleY(this)) {
|
||||
bvar1 = true;
|
||||
} else if (step(fopAcM_searchPlayerAngleY(this), -1, -1, 0xf)) {
|
||||
setExpression(13, -1.0f);
|
||||
setMotion(0, -1.0f, 0);
|
||||
field_0x96c = 0;
|
||||
setExpression(EXPR_NONE, -1.0f);
|
||||
setMotion(MOT_WAIT_A, -1.0f, false);
|
||||
mTurnMode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2093,7 +2105,7 @@ BOOL daNpcThe_c::talk(void* param_0) {
|
|||
.getEventIdx(this, "DEFAULT_GETITEM", 0xff);
|
||||
dComIfGp_getEvent().reset(this);
|
||||
fopAcM_orderChangeEventId(this, event_id, 1, 0xffff);
|
||||
field_0x9ec = 1;
|
||||
field_0x9ec = true;
|
||||
}
|
||||
}
|
||||
ret = true;
|
||||
|
|
@ -2102,7 +2114,7 @@ BOOL daNpcThe_c::talk(void* param_0) {
|
|||
}
|
||||
|
||||
if (ret) {
|
||||
mState = 3;
|
||||
mMode = 3;
|
||||
if (mFlowID == 0x430) {
|
||||
if (!field_0xe1d) {
|
||||
field_0xe1d = true;
|
||||
|
|
@ -2111,10 +2123,10 @@ BOOL daNpcThe_c::talk(void* param_0) {
|
|||
mFlowID = home.angle.x;
|
||||
}
|
||||
}
|
||||
if (field_0x9ec == 0) {
|
||||
if (!field_0x9ec) {
|
||||
dComIfGp_event_reset();
|
||||
}
|
||||
field_0x9ec = 0;
|
||||
field_0x9ec = false;
|
||||
}
|
||||
// no break
|
||||
|
||||
|
|
@ -2139,24 +2151,24 @@ asm BOOL daNpcThe_c::talk(void* param_0) {
|
|||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
BOOL daNpcThe_c::test(void* param_0) {
|
||||
switch (mState) {
|
||||
switch (mMode) {
|
||||
case 0:
|
||||
field_0x938 = 0;
|
||||
mAttnChangeTimer = 0;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
speedF = 0.0f;
|
||||
speed.setall(0.0f);
|
||||
field_0x96c = 0;
|
||||
mState = 2;
|
||||
mTurnMode = 0;
|
||||
mMode = 2;
|
||||
// no break
|
||||
|
||||
case 2:
|
||||
attention_info.flags = 0;
|
||||
if (mExpression != daNpcThe_Param_c::m.mTestExpression) {
|
||||
setExpression(daNpcThe_Param_c::m.mTestExpression, daNpcThe_Param_c::m.field_0x44);
|
||||
setExpression(daNpcThe_Param_c::m.mTestExpression, daNpcThe_Param_c::m.mMorfFrames);
|
||||
}
|
||||
setMotion(daNpcThe_Param_c::m.mTestMotion, daNpcThe_Param_c::m.field_0x44, false);
|
||||
setMotion(daNpcThe_Param_c::m.mTestMotion, daNpcThe_Param_c::m.mMorfFrames, false);
|
||||
setLookMode(daNpcThe_Param_c::m.mTestLookMode);
|
||||
break;
|
||||
|
||||
|
|
@ -2197,7 +2209,7 @@ BOOL daNpcThe_c::EvCut_Introduction(int i_cutIdx) {
|
|||
case '0004':
|
||||
case '0005':
|
||||
initTalk(mFlowID, NULL);
|
||||
setLookMode(2);
|
||||
setLookMode(LOOK_PLAYER);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2233,8 +2245,8 @@ cPhs__Step daNpcThe_c::create() {
|
|||
mFlowID = -1;
|
||||
}
|
||||
|
||||
if (mType == 2 && (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])
|
||||
|| dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[78]))) {
|
||||
if (mType == TYPE_KAKARIKO && (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])
|
||||
|| dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[78]))) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
|
|
@ -2254,13 +2266,13 @@ cPhs__Step daNpcThe_c::create() {
|
|||
if (resources_loaded == i) {
|
||||
u32 heap_size = 0;
|
||||
switch (mType) {
|
||||
case 0:
|
||||
case TYPE_BAR:
|
||||
heap_size = 0x4d70;
|
||||
break;
|
||||
case 1:
|
||||
case TYPE_1:
|
||||
heap_size = 0x4cc0;
|
||||
break;
|
||||
case 2:
|
||||
case TYPE_KAKARIKO:
|
||||
heap_size = 0x4d80;
|
||||
break;
|
||||
}
|
||||
|
|
@ -2281,15 +2293,15 @@ cPhs__Step daNpcThe_c::create() {
|
|||
mAcch.SetRoofNone();
|
||||
mAcch.SetWaterNone();
|
||||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
mCcStts.Init(daNpcThe_Param_c::m.field_0x10, 0, this);
|
||||
mCcStts.Init(daNpcThe_Param_c::m.mCcWeight, 0, this);
|
||||
mColCyl.Set(mCcDCyl);
|
||||
mColCyl.SetStts(&mCcStts);
|
||||
mColCyl.SetTgType(0);
|
||||
mColCyl.SetTgSPrm(0);
|
||||
mColCyl.SetH(daNpcThe_Param_c::m.mCylH);
|
||||
mColCyl.SetR(daNpcThe_Param_c::m.mWallR);
|
||||
field_0xa44 = mAcch.m_gnd;
|
||||
field_0x980 = mAcch.GetGroundH();
|
||||
mGndChk = mAcch.m_gnd;
|
||||
mGroundH = mAcch.GetGroundH();
|
||||
|
||||
setEnvTevColor();
|
||||
setRoomNo();
|
||||
|
|
@ -2319,7 +2331,7 @@ void daNpcThe_c::reset() {
|
|||
field_0xe0c = 0;
|
||||
field_0xe10 = 0;
|
||||
mLookMode = -1;
|
||||
mState = 0;
|
||||
mMode = 0;
|
||||
field_0xe1c = false;
|
||||
mItemID = -1;
|
||||
current.pos = home.pos;
|
||||
|
|
@ -2327,8 +2339,8 @@ void daNpcThe_c::reset() {
|
|||
current.angle.set(0, home.angle.y, 0);
|
||||
old.angle = current.angle;
|
||||
shape_angle = current.angle;
|
||||
field_0x8f0 = current.angle;
|
||||
field_0x8f6 = field_0x8f0;
|
||||
mCurAngle = current.angle;
|
||||
mOldAngle = mCurAngle;
|
||||
speedF = 0.0f;
|
||||
speed.setall(0.0f);
|
||||
field_0x9ee = 1;
|
||||
|
|
@ -2361,7 +2373,7 @@ int daNpcThe_c::Draw() {
|
|||
mpMorf->getModel()->getModelData()->getMaterialNodePointer(2)->setMaterialAnm(mpMatAnm);
|
||||
ActionFn action_test = &test;
|
||||
int is_test = mpActionFn == action_test;
|
||||
return draw(is_test, 0, daNpcThe_Param_c::m.field_0x0c, NULL, 0);
|
||||
return draw(is_test, false, daNpcThe_Param_c::m.mShadowDepth, NULL, false);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -2421,8 +2433,8 @@ void daNpcThe_c::setParam() {
|
|||
}
|
||||
}
|
||||
|
||||
int dist1 = mType == 2 ? (s16)1 : daNpcThe_Param_c::m.field_0x4a;
|
||||
int dist2 = mType == 2 ? (s16)1 : daNpcThe_Param_c::m.field_0x4e;
|
||||
int speak_angle_idx = mType == TYPE_KAKARIKO ? (s16)1 : daNpcThe_Param_c::m.mSpeakAngleIdx;
|
||||
int talk_angle_idx = mType == TYPE_KAKARIKO ? (s16)1 : daNpcThe_Param_c::m.mTalkAngleIdx;
|
||||
attention_info.flags = 0xa;
|
||||
if (isSneaking()) {
|
||||
attention_info.field_0x0[0] = 0x4e;
|
||||
|
|
@ -2431,13 +2443,17 @@ void daNpcThe_c::setParam() {
|
|||
attention_info.flags |= 0x800000;
|
||||
} else {
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "R_SP116")) {
|
||||
attention_info.field_0x0[0] = getDistTableIdx(daNpcThe_Param_c::m.field_0x4c, dist2);
|
||||
attention_info.field_0x0[0] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx,
|
||||
talk_angle_idx);
|
||||
attention_info.field_0x0[1] = attention_info.field_0x0[0];
|
||||
attention_info.field_0x0[3] = getDistTableIdx(daNpcThe_Param_c::m.field_0x48 + 1, dist1);
|
||||
attention_info.field_0x0[3] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx + 1,
|
||||
speak_angle_idx);
|
||||
} else {
|
||||
attention_info.field_0x0[0] = getDistTableIdx(daNpcThe_Param_c::m.field_0x4c, dist2);
|
||||
attention_info.field_0x0[0] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx,
|
||||
talk_angle_idx);
|
||||
attention_info.field_0x0[1] = attention_info.field_0x0[0];
|
||||
attention_info.field_0x0[3] = getDistTableIdx(daNpcThe_Param_c::m.field_0x48, dist1);
|
||||
attention_info.field_0x0[3] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx,
|
||||
speak_angle_idx);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2481,7 +2497,8 @@ BOOL daNpcThe_c::main() {
|
|||
}
|
||||
|
||||
if (!daNpcThe_Param_c::m.mTest
|
||||
&& (dComIfGp_event_runCheck() == false || (field_0x9ed && dComIfGp_getEvent().isOrderOK())))
|
||||
&& (dComIfGp_event_runCheck() == false
|
||||
|| (mOrderNewEvt && dComIfGp_getEvent().isOrderOK())))
|
||||
{
|
||||
if (mOrderEvtNo != 0 && l_resNames[l_evtGetParamList[mOrderEvtNo]] != NULL) {
|
||||
eventInfo.setArchiveName(l_resNames[l_evtGetParamList[mOrderEvtNo]]);
|
||||
|
|
@ -2511,33 +2528,33 @@ asm BOOL daNpcThe_c::main() {
|
|||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void daNpcThe_c::playMotion() {
|
||||
daNpcF_anmPlayData dat0 = {14, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat0 = {ANM_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat0[1] = {&dat0};
|
||||
daNpcF_anmPlayData dat1a = {21, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat1b = {15, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat1a = {ANM_LOOK_A, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData dat1b = {ANM_WAIT_LOOKING, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat1[2] = {&dat1a, &dat1b};
|
||||
daNpcF_anmPlayData dat2a = {16, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat2b = {17, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat2a = {ANM_TO_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData dat2b = {ANM_WAIT_B, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat2[2] = {&dat2a, &dat2b};
|
||||
daNpcF_anmPlayData dat3 = {18, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat3 = {ANM_WAIT_LOOKUP, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat3[1] = {&dat3};
|
||||
daNpcF_anmPlayData dat4a = {24, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat4b = {25, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat4a = {ANM_KUNE_TALK, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData dat4b = {ANM_KUNE_WAIT_B, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat4[2] = {&dat4a, &dat4b};
|
||||
daNpcF_anmPlayData dat5 = {23, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat5 = {ANM_KUNE_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat5[1] = {&dat5};
|
||||
daNpcF_anmPlayData dat6a = {26, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat6b = {23, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat6a = {ANM_KUNE_SHISHI, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData dat6b = {ANM_KUNE_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat6[2] = {&dat6a, &dat6b};
|
||||
daNpcF_anmPlayData dat7 = {17, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat7 = {ANM_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat7[1] = {&dat7};
|
||||
daNpcF_anmPlayData dat8 = {25, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat8 = {ANM_KUNE_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat8[1] = {&dat8};
|
||||
daNpcF_anmPlayData dat9a = {19, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat9b = {20, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat9a = {ANM_TALK_R, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData dat9b = {ANM_TALKING_R, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat9[2] = {&dat9a, &dat9b};
|
||||
daNpcF_anmPlayData dat10a = {22, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat10b = {15, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat10a = {ANM_LOOK, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData dat10b = {ANM_WAIT_LOOKING, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat10[2] = {&dat10a, &dat10b};
|
||||
daNpcF_anmPlayData** ppDat[11] = {
|
||||
pDat0,
|
||||
|
|
@ -2571,33 +2588,33 @@ asm void daNpcThe_c::playMotion() {
|
|||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void daNpcThe_c::playExpression() {
|
||||
daNpcF_anmPlayData dat0 = {1, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat0 = {ANM_F_TALK_A, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat0[2] = {&dat0, NULL};
|
||||
daNpcF_anmPlayData dat1 = {2, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat1 = {ANM_F_SMILE, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat1[2] = {&dat1, NULL};
|
||||
daNpcF_anmPlayData dat2 = {3, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat2 = {ANM_F_CHUCKLE, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat2[2] = {&dat2, NULL};
|
||||
daNpcF_anmPlayData dat3 = {4, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat3 = {ANM_F_TALK_B, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat3[2] = {&dat3, NULL};
|
||||
daNpcF_anmPlayData dat4 = {5, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat4 = {ANM_F_TALK_C, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat4[2] = {&dat4, NULL};
|
||||
daNpcF_anmPlayData dat5 = {6, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat5 = {ANM_F_LAUGH, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat5[2] = {&dat5, NULL};
|
||||
daNpcF_anmPlayData dat6 = {7, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat6 = {ANM_F_TALK_R, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat6[2] = {&dat6, NULL};
|
||||
daNpcF_anmPlayData dat7 = {13, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat7 = {ANM_FH_TALK_R, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat7[2] = {&dat7, NULL};
|
||||
daNpcF_anmPlayData dat8 = {8, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat8 = {ANM_FH_SMILE, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat8[2] = {&dat8, NULL};
|
||||
daNpcF_anmPlayData dat9 = {9, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat9 = {ANM_FH_CHUCKLE, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat9[2] = {&dat9, NULL};
|
||||
daNpcF_anmPlayData dat10 = {10, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat10 = {ANM_FH_TALK_B, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat10[2] = {&dat10, NULL};
|
||||
daNpcF_anmPlayData dat11 = {11, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat11 = {ANM_FH_TALK_C, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat11[2] = {&dat11, NULL};
|
||||
daNpcF_anmPlayData dat12 = {12, 0.0f, 0};
|
||||
daNpcF_anmPlayData dat12 = {ANM_FH_LAUGH, 0.0f, 0};
|
||||
daNpcF_anmPlayData* pDat12[2] = {&dat12, NULL};
|
||||
daNpcF_anmPlayData dat13 = {0, daNpcThe_Param_c::m.field_0x44, 0};
|
||||
daNpcF_anmPlayData dat13 = {ANM_NONE, daNpcThe_Param_c::m.mMorfFrames, 0};
|
||||
daNpcF_anmPlayData* pDat13[1] = {&dat13};
|
||||
daNpcF_anmPlayData** ppDat[14] = {
|
||||
pDat0,
|
||||
|
|
@ -2632,26 +2649,26 @@ asm void daNpcThe_c::playExpression() {
|
|||
|
||||
void daNpcThe_c::setExpressionTalkAfter() {
|
||||
switch (mExpression) {
|
||||
case 1:
|
||||
setExpression(8, -1.0f);
|
||||
case EXPR_SMILE:
|
||||
setExpression(EXPR_H_SMILE, -1.0f);
|
||||
break;
|
||||
case 2:
|
||||
setExpression(9, -1.0f);
|
||||
case EXPR_CHUCKLE:
|
||||
setExpression(EXPR_H_CHUCKLE, -1.0f);
|
||||
break;
|
||||
case 3:
|
||||
setExpression(10, -1.0f);
|
||||
case EXPR_TALK_B:
|
||||
setExpression(EXPR_H_TALK_B, -1.0f);
|
||||
break;
|
||||
case 4:
|
||||
setExpression(11, -1.0f);
|
||||
case EXPR_TALK_C:
|
||||
setExpression(EXPR_H_TALK_C, -1.0f);
|
||||
break;
|
||||
case 5:
|
||||
setExpression(12, -1.0f);
|
||||
case EXPR_LAUGH:
|
||||
setExpression(EXPR_H_LAUGH, -1.0f);
|
||||
break;
|
||||
case 6:
|
||||
setExpression(7, -1.0f);
|
||||
case EXPR_TALK_R:
|
||||
setExpression(EXPR_H_TALK_R, -1.0f);
|
||||
break;
|
||||
default:
|
||||
setExpression(13, -1.0f);
|
||||
setExpression(EXPR_NONE, -1.0f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -2741,21 +2758,21 @@ BOOL daNpcThe_c::doEvent() {
|
|||
}
|
||||
}
|
||||
int expression, motion;
|
||||
int tmp950 = field_0x950;
|
||||
int prev_msg_timer = mMsgTimer;
|
||||
if (ctrlMsgAnm(expression, motion, this, 0)) {
|
||||
if (!field_0x9eb) {
|
||||
setExpression(expression, -1.0f);
|
||||
setMotion(motion, -1.0f, false);
|
||||
}
|
||||
} else {
|
||||
if (tmp950 != 0 && !field_0x9eb) {
|
||||
if (prev_msg_timer != 0 && !field_0x9eb) {
|
||||
setExpressionTalkAfter();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
field_0x950 = 0;
|
||||
mMsgTimer = 0;
|
||||
if (mCutIndex != -1) {
|
||||
mState = 1;
|
||||
mMode = 1;
|
||||
mCutIndex = -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -2847,9 +2864,9 @@ COMPILER_STRIP_GATE(0x80AFC144, &lit_5401);
|
|||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void daNpcThe_c::setAttnPos() {
|
||||
if (mLookMode == 1) {
|
||||
if (mLookMode == LOOK_RESET) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
field_0x91a[i].setall(0);
|
||||
mLookatAngle[i].setall(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2868,7 +2885,7 @@ void daNpcThe_c::setAttnPos() {
|
|||
cXyz* attn_pos = mLookat.getAttnPos();
|
||||
if (attn_pos != NULL) {
|
||||
cXyz vec2 = *attn_pos - eyePos;
|
||||
mEyeAngle.y = -(field_0x91a[2].y + field_0x8f0.y);
|
||||
mEyeAngle.y = -(mLookatAngle[2].y + mCurAngle.y);
|
||||
mEyeAngle.y += cM_atan2s(vec2.x, vec2.z);
|
||||
mEyeAngle.x = mHeadAngle.x - cM_atan2s(vec2.y, vec2.absXZ());
|
||||
} else {
|
||||
|
|
@ -2877,7 +2894,7 @@ void daNpcThe_c::setAttnPos() {
|
|||
}
|
||||
|
||||
attention_info.position.set(current.pos.x,
|
||||
current.pos.y + daNpcThe_Param_c::m.field_0x00,
|
||||
current.pos.y + daNpcThe_Param_c::m.mAttnOffsetY,
|
||||
current.pos.z);
|
||||
|
||||
if (!mHide) {
|
||||
|
|
@ -2924,43 +2941,44 @@ COMPILER_STRIP_GATE(0x80AFC154, &lit_5451);
|
|||
void daNpcThe_c::lookat() {
|
||||
fopAc_ac_c* actor = NULL;
|
||||
J3DModel* model = mpMorf->getModel();
|
||||
int ivar5 = 0;
|
||||
f32 fvar1 = daNpcThe_Param_c::m.field_0x24;
|
||||
f32 fvar2 = daNpcThe_Param_c::m.field_0x20;
|
||||
f32 fvar3 = daNpcThe_Param_c::m.field_0x2c;
|
||||
f32 fvar4 = daNpcThe_Param_c::m.field_0x28;
|
||||
f32 fvar5 = daNpcThe_Param_c::m.field_0x34;
|
||||
f32 fvar6 = daNpcThe_Param_c::m.field_0x30;
|
||||
f32 fvar7 = daNpcThe_Param_c::m.field_0x3c;
|
||||
f32 fvar8 = daNpcThe_Param_c::m.field_0x38;
|
||||
s16 ivar1 = field_0x8f0.y - field_0x8f6.y;
|
||||
cXyz pos[3] = {mLookatPos[0], mLookatPos[1], mLookatPos[2]};
|
||||
csXyz* local_d4[3] = {&field_0x91a[0], &field_0x91a[1], &field_0x91a[2]};
|
||||
BOOL snap = false;
|
||||
f32 body_down_angle = daNpcThe_Param_c::m.mBodyDownAngle;
|
||||
f32 body_up_angle = daNpcThe_Param_c::m.mBodyUpAngle;
|
||||
f32 body_right_angle = daNpcThe_Param_c::m.mBodyRightAngle;
|
||||
f32 body_left_angle = daNpcThe_Param_c::m.mBodyLeftAngle;
|
||||
f32 head_down_angle = daNpcThe_Param_c::m.mHeadDownAngle;
|
||||
f32 head_up_angle = daNpcThe_Param_c::m.mHeadUpAngle;
|
||||
f32 head_right_angle = daNpcThe_Param_c::m.mHeadRightAngle;
|
||||
f32 head_left_angle = daNpcThe_Param_c::m.mHeadLeftAngle;
|
||||
s16 angle_delta = mCurAngle.y - mOldAngle.y;
|
||||
cXyz lookat_pos[3] = {mLookatPos[0], mLookatPos[1], mLookatPos[2]};
|
||||
csXyz* lookat_angle[3] = {&mLookatAngle[0], &mLookatAngle[1], &mLookatAngle[2]};
|
||||
|
||||
switch (mLookMode) {
|
||||
case 1:
|
||||
ivar5 = 1;
|
||||
case LOOK_RESET:
|
||||
snap = true;
|
||||
break;
|
||||
case 3:
|
||||
fvar7 = -80.0f;
|
||||
fvar8 = 80.0f;
|
||||
case LOOK_PLAYER_TALK:
|
||||
head_right_angle = -80.0f;
|
||||
head_left_angle = 80.0f;
|
||||
// no break
|
||||
case 2:
|
||||
case LOOK_PLAYER:
|
||||
actor = daPy_getPlayerActorClass();
|
||||
break;
|
||||
case 4:
|
||||
case LOOK_ACTOR:
|
||||
actor = fopAcM_SearchByName(PROC_NPC_ZRC);
|
||||
break;
|
||||
case 5:
|
||||
case LOOK_ATTN:
|
||||
break;
|
||||
}
|
||||
|
||||
if (actor != NULL) {
|
||||
if (mLookMode == 4) {
|
||||
if (mLookMode == LOOK_ACTOR) {
|
||||
mLookPos = actor->eyePos;
|
||||
} else {
|
||||
mLookPos = actor->attention_info.position;
|
||||
if (mLookMode != 2 && mLookMode != 3 && mLookMode != 5) {
|
||||
if (mLookMode != LOOK_PLAYER && mLookMode != LOOK_PLAYER_TALK && mLookMode != LOOK_ATTN)
|
||||
{
|
||||
mLookPos.y -= 40.0f;
|
||||
}
|
||||
}
|
||||
|
|
@ -2969,9 +2987,11 @@ void daNpcThe_c::lookat() {
|
|||
mLookat.setAttnPos(NULL);
|
||||
}
|
||||
|
||||
mLookat.setParam(fvar1, fvar2, fvar3, fvar4, 0.0f, 0.0f, 0.0f, 0.0f,
|
||||
fvar5, fvar6, fvar7, fvar8, field_0x8f0.y, pos);
|
||||
mLookat.calc(this, model->getBaseTRMtx(), local_d4, ivar5, ivar1, 0);
|
||||
mLookat.setParam(body_down_angle, body_up_angle, body_right_angle, body_left_angle,
|
||||
0.0f, 0.0f, 0.0f, 0.0f,
|
||||
head_down_angle, head_up_angle, head_right_angle, head_left_angle,
|
||||
mCurAngle.y, lookat_pos);
|
||||
mLookat.calc(this, model->getBaseTRMtx(), lookat_angle, snap, angle_delta, 0);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -129,7 +129,7 @@ int daObjDigpl_c::execute() {
|
|||
attention_info.position = point_pos;
|
||||
eyePos = point_pos;
|
||||
|
||||
if (point_p->field_0x3 == 0) {
|
||||
if (point_p->mArg0 == 0) {
|
||||
mType = 0;
|
||||
} else {
|
||||
mType = 2;
|
||||
|
|
|
|||
|
|
@ -10,41 +10,6 @@
|
|||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct csXyz {
|
||||
/* 8026745C */ void operator+=(csXyz&);
|
||||
};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
/* 8000CE70 */ void scaleM(cXyz const&);
|
||||
/* 8000CED4 */ void XYZrotM(csXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObjZraMark_c {
|
||||
/* 80D42678 */ void Create();
|
||||
/* 80D4287C */ void CreateHeap();
|
||||
/* 80D42A7C */ void Execute();
|
||||
/* 80D42B0C */ void Draw();
|
||||
/* 80D42C98 */ void Delete();
|
||||
/* 80D42CE0 */ void getType();
|
||||
/* 80D42D2C */ void setBaseMtx();
|
||||
/* 80D42EE0 */ void col_init();
|
||||
/* 80D42F5C */ void col_set();
|
||||
/* 80D432C8 */ void schHoz();
|
||||
/* 80D43314 */ void entryPointer(fopAc_ac_c*);
|
||||
/* 80D43370 */ void informBlast();
|
||||
};
|
||||
|
||||
struct daNpcF_ActorMngr_c {
|
||||
/* 801506B0 */ void initialize();
|
||||
/* 801506BC */ void entry(fopAc_ac_c*);
|
||||
|
|
@ -53,15 +18,6 @@ struct daNpcF_ActorMngr_c {
|
|||
/* 80D43CB4 */ daNpcF_ActorMngr_c();
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct dScnKy_env_light_c {
|
||||
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
|
||||
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
|
|
@ -124,42 +80,6 @@ struct _ZraMark_Hahen_Mng_c {
|
|||
/* 80D43A74 */ void draw();
|
||||
};
|
||||
|
||||
struct Z2SoundObjSimple {
|
||||
/* 802BE844 */ Z2SoundObjSimple();
|
||||
};
|
||||
|
||||
struct Z2SoundObjBase {
|
||||
/* 802BDF48 */ ~Z2SoundObjBase();
|
||||
/* 802BDFF8 */ void deleteObject();
|
||||
/* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*);
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct J3DLightObj {
|
||||
/* 80D43C34 */ J3DLightObj();
|
||||
};
|
||||
|
||||
struct J3DLightInfo {
|
||||
/* 803256C4 */ void operator=(J3DLightInfo const&);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -245,10 +165,6 @@ extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase();
|
|||
extern "C" void __ct__16Z2SoundObjSimpleFv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void PSMTXMultVec();
|
||||
extern "C" void PSVECAdd();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _savegpr_25();
|
||||
|
|
@ -260,9 +176,6 @@ extern "C" void _restgpr_25();
|
|||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern u8 const j3dDefaultLightInfo[52];
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__12cCcD_CylAttr[25];
|
||||
|
|
@ -271,9 +184,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8];
|
|||
extern "C" extern void* __vt__16Z2SoundObjSimple[8];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
|
|
@ -879,7 +790,8 @@ asm _ZraMark_Hahen_c::_ZraMark_Hahen_c() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DLightObj::J3DLightObj() {
|
||||
// asm J3DLightObj::J3DLightObj() {
|
||||
extern "C" asm void __ct__11J3DLightObjFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/__ct__11J3DLightObjFv.s"
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -799,17 +799,17 @@ f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16
|
|||
if (fopAcM_checkStatus(param_1, 0x20000000) ||
|
||||
check_event_condition(entry->field_0x0, param_1->eventInfo.getCondition())) {
|
||||
dvar12 = 0.0f;
|
||||
} else if (check_flontofplayer(d_entry->field_0x18, param_3, param_4)) {
|
||||
} else if (check_flontofplayer(d_entry->mAngleSelect, param_3, param_4)) {
|
||||
dvar12 = 0.0f;
|
||||
} else if (!check_distace(&mOwnerAttnPos, param_3, ¶m_1->attention_info.position,
|
||||
d_entry->field_0x0, d_entry->field_0x8, d_entry->field_0xc,
|
||||
d_entry->field_0x10)) {
|
||||
d_entry->mRadius1, d_entry->mDistanceAdjust, d_entry->mUpperY,
|
||||
d_entry->mLowerY)) {
|
||||
dvar12 = 0.0f;
|
||||
} else {
|
||||
dvar12 = distace_weight(param_2, param_3, 0.5f);
|
||||
}
|
||||
|
||||
f32 dvar13 = d_entry->field_0x14;
|
||||
f32 dvar13 = d_entry->mWeight;
|
||||
if (dvar12 > 0.0f && dvar13 > dvar14) {
|
||||
dvar14 = dvar13;
|
||||
weight = dvar12 / dvar13;
|
||||
|
|
@ -1149,12 +1149,12 @@ bool dAttention_c::chaseAttention() {
|
|||
return false;
|
||||
} else if (check_event_condition(type, actor->eventInfo.getCondition())) {
|
||||
return false;
|
||||
} else if (check_flontofplayer(dist_table[tbl_idx].field_0x18, a1.Val(), a2.Val())) {
|
||||
} else if (check_flontofplayer(dist_table[tbl_idx].mAngleSelect, a1.Val(), a2.Val())) {
|
||||
return false;
|
||||
} else if (check_distace(&mOwnerAttnPos, a1.Val(), &actor->attention_info.position,
|
||||
dist_table[tbl_idx].field_0x4, dist_table[tbl_idx].field_0x8,
|
||||
dist_table[tbl_idx].field_0xc,
|
||||
dist_table[tbl_idx].field_0x10)) {
|
||||
dist_table[tbl_idx].mRadius2,
|
||||
dist_table[tbl_idx].mDistanceAdjust,
|
||||
dist_table[tbl_idx].mUpperY, dist_table[tbl_idx].mLowerY)) {
|
||||
mLockOnList[offset].mWeight = distace_weight(g1.R(), a1.Val(), 0.5f);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3293,6 +3293,94 @@ asm int mDoExt_McaMorfSO::create(J3DModelData* param_0, mDoExt_McaMorfCallBack1_
|
|||
#endif
|
||||
|
||||
/* 80010B68-80010E70 00B4A8 0308+00 1/0 0/0 0/0 .text calc__16mDoExt_McaMorfSOFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void mDoExt_McaMorfSO::calc() {
|
||||
if (mpModel != NULL) {
|
||||
u16 jnt_no = J3DMtxCalc::getJoint()->getJntNo();
|
||||
j3dSys.setCurrentMtxCalc(this);
|
||||
|
||||
J3DTransformInfo trans;
|
||||
J3DTransformInfo* trans_p;
|
||||
if (mpTransformInfo == NULL) {
|
||||
trans_p = &trans;
|
||||
} else {
|
||||
trans_p = &mpTransformInfo[jnt_no];
|
||||
}
|
||||
|
||||
Quaternion quat;
|
||||
Quaternion* quat_p;
|
||||
if (mpQuat == NULL) {
|
||||
quat_p = &quat;
|
||||
} else {
|
||||
quat_p = &mpQuat[jnt_no];
|
||||
}
|
||||
|
||||
if (mpAnm == NULL) {
|
||||
*trans_p = mpModel->getModelData()->getJointNodePointer(jnt_no)->getTransformInfo();
|
||||
|
||||
if (mpCallback1 != NULL) {
|
||||
mpCallback1->execute(jnt_no, trans_p);
|
||||
}
|
||||
|
||||
JMAEulerToQuat(trans_p->mRotation.x, trans_p->mRotation.y, trans_p->mRotation.z,
|
||||
quat_p);
|
||||
J3DMtxCalcCalcTransformMaya::calcTransform(*trans_p);
|
||||
} else if (mCurMorf >= 1.0f || mpTransformInfo == NULL || mpQuat == NULL) {
|
||||
getTransform(jnt_no, trans_p);
|
||||
|
||||
if (mpCallback1 != NULL) {
|
||||
mpCallback1->execute(jnt_no, trans_p);
|
||||
}
|
||||
|
||||
JMAEulerToQuat(trans_p->mRotation.x, trans_p->mRotation.y, trans_p->mRotation.z,
|
||||
quat_p);
|
||||
J3DMtxCalcCalcTransformMaya::calcTransform(*trans_p);
|
||||
} else {
|
||||
f32 lerp_factor;
|
||||
if (mMorfNone) {
|
||||
lerp_factor = 1.0f;
|
||||
} else {
|
||||
lerp_factor = (mCurMorf - mPrevMorf) / (1.0f - mPrevMorf);
|
||||
}
|
||||
f32 inv_lerp_factor = 1.0f - lerp_factor;
|
||||
|
||||
J3DTransformInfo trans2;
|
||||
getTransform(jnt_no, &trans2);
|
||||
|
||||
if (mpCallback1 != NULL) {
|
||||
mpCallback1->execute(jnt_no, &trans2);
|
||||
}
|
||||
|
||||
Quaternion quat2;
|
||||
JMAEulerToQuat(trans2.mRotation.x, trans2.mRotation.y, trans2.mRotation.z, &quat2);
|
||||
JMAQuatLerp(quat_p, &quat2, lerp_factor, quat_p);
|
||||
|
||||
Mtx mtx;
|
||||
mDoMtx_quat(mtx, quat_p);
|
||||
|
||||
trans_p->mTranslate.x = trans_p->mTranslate.x * inv_lerp_factor
|
||||
+ trans2.mTranslate.x * lerp_factor;
|
||||
trans_p->mTranslate.y = trans_p->mTranslate.y * inv_lerp_factor
|
||||
+ trans2.mTranslate.y * lerp_factor;
|
||||
trans_p->mTranslate.z = trans_p->mTranslate.z * inv_lerp_factor
|
||||
+ trans2.mTranslate.z * lerp_factor;
|
||||
trans_p->mScale.x = trans_p->mScale.x * inv_lerp_factor
|
||||
+ trans2.mScale.x * lerp_factor;
|
||||
trans_p->mScale.y = trans_p->mScale.y * inv_lerp_factor
|
||||
+ trans2.mScale.y * lerp_factor;
|
||||
trans_p->mScale.z = trans_p->mScale.z * inv_lerp_factor
|
||||
+ trans2.mScale.z * lerp_factor;
|
||||
|
||||
mDoExt_setJ3DData(mtx, trans_p, jnt_no);
|
||||
}
|
||||
|
||||
if (mpCallback2 != NULL) {
|
||||
mpCallback2->execute(jnt_no);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -3301,9 +3389,56 @@ asm void mDoExt_McaMorfSO::calc() {
|
|||
#include "asm/m_Do/m_Do_ext/calc__16mDoExt_McaMorfSOFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80010E70-800110B0 00B7B0 0240+00 1/1 5/5 208/208 .text
|
||||
* setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate,
|
||||
f32 i_start, f32 i_end) {
|
||||
mpAnm = i_anm;
|
||||
setStartFrame(i_start);
|
||||
|
||||
if (i_end < 0.0f) {
|
||||
if (mpAnm == NULL) {
|
||||
mFrameCtrl.init(0);
|
||||
} else {
|
||||
mFrameCtrl.init(mpAnm->getFrameMax());
|
||||
}
|
||||
} else {
|
||||
mFrameCtrl.init(i_end);
|
||||
}
|
||||
|
||||
if (i_anm != NULL && i_attr < 0) {
|
||||
i_attr = i_anm->getAttribute();
|
||||
}
|
||||
|
||||
setPlayMode(i_attr);
|
||||
setPlaySpeed(i_rate);
|
||||
|
||||
if (i_rate >= 0.0f) {
|
||||
setFrame(i_start);
|
||||
} else {
|
||||
setFrame(mFrameCtrl.getEnd());
|
||||
}
|
||||
|
||||
setLoopFrame(getFrame());
|
||||
setMorf(i_morf);
|
||||
|
||||
if (mpSound != NULL) {
|
||||
if (i_anm != NULL) {
|
||||
mpBas = static_cast<mDoExt_transAnmBas*>(i_anm)->getBas();
|
||||
} else {
|
||||
mpBas = NULL;
|
||||
}
|
||||
|
||||
if (mpBas != NULL) {
|
||||
mpSound->initAnime(mpBas, getPlaySpeed() >= 0.0f, getLoopFrame(), getFrame());
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -3313,6 +3448,7 @@ asm void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf
|
|||
#include "asm/m_Do/m_Do_ext/setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800110B0-80011154 00B9F0 00A4+00 0/0 5/5 143/143 .text play__16mDoExt_McaMorfSOFUlSc
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue