diff options
| author | jdflyer <yeacub@gmail.com> | 2020-12-29 15:39:36 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-29 17:39:36 -0500 |
| commit | 6a16bef70ea98b2b8ed553ddd37439bdb6513b04 (patch) | |
| tree | af167f44fe37bee34dfccb10eb4fbb6ef79743e3 /include | |
| parent | 8630c588e9ed7c8683f8ab4eea5d85fc6869651f (diff) | |
d_lib split and partially matched (#30)
* d_lib split and partially matched
* clang-format
* modify some extern labels
* clang-format
Co-authored-by: Pheenoh <pheenoh@gmail.com>
Diffstat (limited to 'include')
25 files changed, 723 insertions, 9 deletions
diff --git a/include/d/d_a/d_a_alink/d_a_alink.h b/include/d/d_a/d_a_alink/d_a_alink.h index 3196958c6d..984abbcfa3 100644 --- a/include/d/d_a/d_a_alink/d_a_alink.h +++ b/include/d/d_a/d_a_alink/d_a_alink.h @@ -295,17 +295,12 @@ extern double lbl_80452CB0; extern float lbl_80452CB8; // daalink setmatrixworldaxisrot -struct now { // m_Do_mtx::mDoMtx_stack_c::now - float unk0[4]; - float unk10[4]; - float unk20[4]; -}; struct mCurrentMtx { // J3DGraphBase::J3DSys::mCurrentMtx float unk0[4]; float unk10[4]; float unk20[4]; }; -extern now lbl_803DD470; +// extern now lbl_803DD470; extern mCurrentMtx lbl_80434BE4; // daalink modelcallback diff --git a/include/d/d_event/d_event/d_event.h b/include/d/d_event/d_event/d_event.h index ebe5e42bbb..2a4eed8c5c 100644 --- a/include/d/d_event/d_event/d_event.h +++ b/include/d/d_event/d_event/d_event.h @@ -5,6 +5,7 @@ class dEvt_control_c { public: + void searchMapEventData(u8 param_1); u8 unk[0x130]; }; diff --git a/include/d/d_lib/asm/CSTControl_NS_getAngleStick.s b/include/d/d_lib/asm/CSTControl_NS_getAngleStick.s new file mode 100644 index 0000000000..5c23cbcdb1 --- /dev/null +++ b/include/d/d_lib/asm/CSTControl_NS_getAngleStick.s @@ -0,0 +1,4 @@ +/* 8003218C 0002F0CC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha +/* 80032190 0002F0D0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l +/* 80032194 0002F0D4 A8 63 00 1C */ lha r3, 0x1c(r3) +/* 80032198 0002F0D8 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/CSTControl_NS_getValueStick.s b/include/d/d_lib/asm/CSTControl_NS_getValueStick.s new file mode 100644 index 0000000000..29cc3cf380 --- /dev/null +++ b/include/d/d_lib/asm/CSTControl_NS_getValueStick.s @@ -0,0 +1,4 @@ +/* 8003217C 0002F0BC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha +/* 80032180 0002F0C0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l +/* 80032184 0002F0C4 C0 23 00 18 */ lfs f1, 0x18(r3) +/* 80032188 0002F0C8 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl.s b/include/d/d_lib/asm/STControl.s new file mode 100644 index 0000000000..da4ddb2070 --- /dev/null +++ b/include/d/d_lib/asm/STControl.s @@ -0,0 +1,17 @@ +/* 80032044 0002EF84 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80032048 0002EF88 7C 08 02 A6 */ mflr r0 +/* 8003204C 0002EF8C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80032050 0002EF90 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80032054 0002EF94 7C 7F 1B 78 */ mr r31, r3 +/* 80032058 0002EF98 3D 40 80 3A */ lis r10, lbl_803A7260@ha +/* 8003205C 0002EF9C 38 0A 72 60 */ addi r0, r10, lbl_803A7260@l +/* 80032060 0002EFA0 90 03 00 00 */ stw r0, 0(r3) +/* 80032064 0002EFA4 48 00 00 25 */ bl setWaitParm__9STControlFssssffss +/* 80032068 0002EFA8 7F E3 FB 78 */ mr r3, r31 +/* 8003206C 0002EFAC 48 00 00 41 */ bl init__9STControlFv +/* 80032070 0002EFB0 7F E3 FB 78 */ mr r3, r31 +/* 80032074 0002EFB4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80032078 0002EFB8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8003207C 0002EFBC 7C 08 03 A6 */ mtlr r0 +/* 80032080 0002EFC0 38 21 00 10 */ addi r1, r1, 0x10 +/* 80032084 0002EFC4 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_Xinit.s b/include/d/d_lib/asm/STControl_NS_Xinit.s new file mode 100644 index 0000000000..e3ad6d6a0d --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_Xinit.s @@ -0,0 +1,12 @@ +/* 800320FC 0002F03C 38 00 00 00 */ li r0, 0 +/* 80032100 0002F040 B0 03 00 0E */ sth r0, 0xe(r3) +/* 80032104 0002F044 88 03 00 0C */ lbz r0, 0xc(r3) +/* 80032108 0002F048 54 00 06 3A */ rlwinm r0, r0, 0, 0x18, 0x1d +/* 8003210C 0002F04C 98 03 00 0C */ stb r0, 0xc(r3) +/* 80032110 0002F050 A8 03 00 12 */ lha r0, 0x12(r3) +/* 80032114 0002F054 B0 03 00 18 */ sth r0, 0x18(r3) +/* 80032118 0002F058 A8 03 00 1C */ lha r0, 0x1c(r3) +/* 8003211C 0002F05C B0 03 00 1E */ sth r0, 0x1e(r3) +/* 80032120 0002F060 A8 03 00 28 */ lha r0, 0x28(r3) +/* 80032124 0002F064 B0 03 00 2A */ sth r0, 0x2a(r3) +/* 80032128 0002F068 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_Yinit.s b/include/d/d_lib/asm/STControl_NS_Yinit.s new file mode 100644 index 0000000000..0722968ce6 --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_Yinit.s @@ -0,0 +1,12 @@ +/* 8003212C 0002F06C 38 00 00 00 */ li r0, 0 +/* 80032130 0002F070 B0 03 00 10 */ sth r0, 0x10(r3) +/* 80032134 0002F074 88 03 00 0C */ lbz r0, 0xc(r3) +/* 80032138 0002F078 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b +/* 8003213C 0002F07C 98 03 00 0C */ stb r0, 0xc(r3) +/* 80032140 0002F080 A8 03 00 12 */ lha r0, 0x12(r3) +/* 80032144 0002F084 B0 03 00 1A */ sth r0, 0x1a(r3) +/* 80032148 0002F088 A8 03 00 1C */ lha r0, 0x1c(r3) +/* 8003214C 0002F08C B0 03 00 20 */ sth r0, 0x20(r3) +/* 80032150 0002F090 A8 03 00 28 */ lha r0, 0x28(r3) +/* 80032154 0002F094 B0 03 00 2C */ sth r0, 0x2c(r3) +/* 80032158 0002F098 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_checkDownTrigger.s b/include/d/d_lib/asm/STControl_NS_checkDownTrigger.s new file mode 100644 index 0000000000..110f1ecc0b --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_checkDownTrigger.s @@ -0,0 +1,34 @@ +/* 800325A0 0002F4E0 A8 03 00 10 */ lha r0, 0x10(r3) +/* 800325A4 0002F4E4 2C 00 00 00 */ cmpwi r0, 0 +/* 800325A8 0002F4E8 40 82 00 6C */ bne lbl_80032614 +/* 800325AC 0002F4EC 88 03 00 0C */ lbz r0, 0xc(r3) +/* 800325B0 0002F4F0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 800325B4 0002F4F4 41 82 00 60 */ beq lbl_80032614 +/* 800325B8 0002F4F8 A8 83 00 1A */ lha r4, 0x1a(r3) +/* 800325BC 0002F4FC A8 03 00 2C */ lha r0, 0x2c(r3) +/* 800325C0 0002F500 7C 04 02 14 */ add r0, r4, r0 +/* 800325C4 0002F504 B0 03 00 10 */ sth r0, 0x10(r3) +/* 800325C8 0002F508 38 00 00 00 */ li r0, 0 +/* 800325CC 0002F50C B0 03 00 2C */ sth r0, 0x2c(r3) +/* 800325D0 0002F510 A8 83 00 20 */ lha r4, 0x20(r3) +/* 800325D4 0002F514 2C 04 00 00 */ cmpwi r4, 0 +/* 800325D8 0002F518 40 82 00 2C */ bne lbl_80032604 +/* 800325DC 0002F51C A8 83 00 16 */ lha r4, 0x16(r3) +/* 800325E0 0002F520 A8 03 00 1A */ lha r0, 0x1a(r3) +/* 800325E4 0002F524 7C 04 00 50 */ subf r0, r4, r0 +/* 800325E8 0002F528 B0 03 00 1A */ sth r0, 0x1a(r3) +/* 800325EC 0002F52C A8 03 00 1A */ lha r0, 0x1a(r3) +/* 800325F0 0002F530 A8 83 00 14 */ lha r4, 0x14(r3) +/* 800325F4 0002F534 7C 00 20 00 */ cmpw r0, r4 +/* 800325F8 0002F538 40 80 00 14 */ bge lbl_8003260C +/* 800325FC 0002F53C B0 83 00 1A */ sth r4, 0x1a(r3) +/* 80032600 0002F540 48 00 00 0C */ b lbl_8003260C +lbl_80032604: +/* 80032604 0002F544 38 04 FF FF */ addi r0, r4, -1 +/* 80032608 0002F548 B0 03 00 20 */ sth r0, 0x20(r3) +lbl_8003260C: +/* 8003260C 0002F54C 38 60 00 01 */ li r3, 1 +/* 80032610 0002F550 4E 80 00 20 */ blr +lbl_80032614: +/* 80032614 0002F554 38 60 00 00 */ li r3, 0 +/* 80032618 0002F558 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_checkLeftTrigger.s b/include/d/d_lib/asm/STControl_NS_checkLeftTrigger.s new file mode 100644 index 0000000000..01d2b61a62 --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_checkLeftTrigger.s @@ -0,0 +1,34 @@ +/* 8003242C 0002F36C A8 03 00 0E */ lha r0, 0xe(r3) +/* 80032430 0002F370 2C 00 00 00 */ cmpwi r0, 0 +/* 80032434 0002F374 40 82 00 6C */ bne lbl_800324A0 +/* 80032438 0002F378 88 03 00 0C */ lbz r0, 0xc(r3) +/* 8003243C 0002F37C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80032440 0002F380 41 82 00 60 */ beq lbl_800324A0 +/* 80032444 0002F384 A8 83 00 18 */ lha r4, 0x18(r3) +/* 80032448 0002F388 A8 03 00 2A */ lha r0, 0x2a(r3) +/* 8003244C 0002F38C 7C 04 02 14 */ add r0, r4, r0 +/* 80032450 0002F390 B0 03 00 0E */ sth r0, 0xe(r3) +/* 80032454 0002F394 38 00 00 00 */ li r0, 0 +/* 80032458 0002F398 B0 03 00 2A */ sth r0, 0x2a(r3) +/* 8003245C 0002F39C A8 83 00 1E */ lha r4, 0x1e(r3) +/* 80032460 0002F3A0 2C 04 00 00 */ cmpwi r4, 0 +/* 80032464 0002F3A4 40 82 00 2C */ bne lbl_80032490 +/* 80032468 0002F3A8 A8 83 00 16 */ lha r4, 0x16(r3) +/* 8003246C 0002F3AC A8 03 00 18 */ lha r0, 0x18(r3) +/* 80032470 0002F3B0 7C 04 00 50 */ subf r0, r4, r0 +/* 80032474 0002F3B4 B0 03 00 18 */ sth r0, 0x18(r3) +/* 80032478 0002F3B8 A8 03 00 18 */ lha r0, 0x18(r3) +/* 8003247C 0002F3BC A8 83 00 14 */ lha r4, 0x14(r3) +/* 80032480 0002F3C0 7C 00 20 00 */ cmpw r0, r4 +/* 80032484 0002F3C4 40 80 00 14 */ bge lbl_80032498 +/* 80032488 0002F3C8 B0 83 00 18 */ sth r4, 0x18(r3) +/* 8003248C 0002F3CC 48 00 00 0C */ b lbl_80032498 +lbl_80032490: +/* 80032490 0002F3D0 38 04 FF FF */ addi r0, r4, -1 +/* 80032494 0002F3D4 B0 03 00 1E */ sth r0, 0x1e(r3) +lbl_80032498: +/* 80032498 0002F3D8 38 60 00 01 */ li r3, 1 +/* 8003249C 0002F3DC 4E 80 00 20 */ blr +lbl_800324A0: +/* 800324A0 0002F3E0 38 60 00 00 */ li r3, 0 +/* 800324A4 0002F3E4 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_checkRightTrigger.s b/include/d/d_lib/asm/STControl_NS_checkRightTrigger.s new file mode 100644 index 0000000000..6858638e72 --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_checkRightTrigger.s @@ -0,0 +1,34 @@ +/* 800324A8 0002F3E8 A8 03 00 0E */ lha r0, 0xe(r3) +/* 800324AC 0002F3EC 2C 00 00 00 */ cmpwi r0, 0 +/* 800324B0 0002F3F0 40 82 00 6C */ bne lbl_8003251C +/* 800324B4 0002F3F4 88 03 00 0C */ lbz r0, 0xc(r3) +/* 800324B8 0002F3F8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 800324BC 0002F3FC 41 82 00 60 */ beq lbl_8003251C +/* 800324C0 0002F400 A8 83 00 18 */ lha r4, 0x18(r3) +/* 800324C4 0002F404 A8 03 00 2A */ lha r0, 0x2a(r3) +/* 800324C8 0002F408 7C 04 02 14 */ add r0, r4, r0 +/* 800324CC 0002F40C B0 03 00 0E */ sth r0, 0xe(r3) +/* 800324D0 0002F410 38 00 00 00 */ li r0, 0 +/* 800324D4 0002F414 B0 03 00 2A */ sth r0, 0x2a(r3) +/* 800324D8 0002F418 A8 83 00 1E */ lha r4, 0x1e(r3) +/* 800324DC 0002F41C 2C 04 00 00 */ cmpwi r4, 0 +/* 800324E0 0002F420 40 82 00 2C */ bne lbl_8003250C +/* 800324E4 0002F424 A8 83 00 16 */ lha r4, 0x16(r3) +/* 800324E8 0002F428 A8 03 00 18 */ lha r0, 0x18(r3) +/* 800324EC 0002F42C 7C 04 00 50 */ subf r0, r4, r0 +/* 800324F0 0002F430 B0 03 00 18 */ sth r0, 0x18(r3) +/* 800324F4 0002F434 A8 03 00 18 */ lha r0, 0x18(r3) +/* 800324F8 0002F438 A8 83 00 14 */ lha r4, 0x14(r3) +/* 800324FC 0002F43C 7C 00 20 00 */ cmpw r0, r4 +/* 80032500 0002F440 40 80 00 14 */ bge lbl_80032514 +/* 80032504 0002F444 B0 83 00 18 */ sth r4, 0x18(r3) +/* 80032508 0002F448 48 00 00 0C */ b lbl_80032514 +lbl_8003250C: +/* 8003250C 0002F44C 38 04 FF FF */ addi r0, r4, -1 +/* 80032510 0002F450 B0 03 00 1E */ sth r0, 0x1e(r3) +lbl_80032514: +/* 80032514 0002F454 38 60 00 01 */ li r3, 1 +/* 80032518 0002F458 4E 80 00 20 */ blr +lbl_8003251C: +/* 8003251C 0002F45C 38 60 00 00 */ li r3, 0 +/* 80032520 0002F460 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_checkTrigger.s b/include/d/d_lib/asm/STControl_NS_checkTrigger.s new file mode 100644 index 0000000000..8d556b991a --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_checkTrigger.s @@ -0,0 +1,184 @@ +/* 8003219C 0002F0DC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800321A0 0002F0E0 7C 08 02 A6 */ mflr r0 +/* 800321A4 0002F0E4 90 01 00 24 */ stw r0, 0x24(r1) +/* 800321A8 0002F0E8 DB E1 00 10 */ stfd f31, 0x10(r1) +/* 800321AC 0002F0EC F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 +/* 800321B0 0002F0F0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800321B4 0002F0F4 7C 7F 1B 78 */ mr r31, r3 +/* 800321B8 0002F0F8 88 03 00 0C */ lbz r0, 0xc(r3) +/* 800321BC 0002F0FC 98 03 00 0D */ stb r0, 0xd(r3) +/* 800321C0 0002F100 81 83 00 00 */ lwz r12, 0(r3) +/* 800321C4 0002F104 81 8C 00 08 */ lwz r12, 8(r12) +/* 800321C8 0002F108 7D 89 03 A6 */ mtctr r12 +/* 800321CC 0002F10C 4E 80 04 21 */ bctrl +/* 800321D0 0002F110 FF E0 08 90 */ fmr f31, f1 +/* 800321D4 0002F114 7F E3 FB 78 */ mr r3, r31 +/* 800321D8 0002F118 81 9F 00 00 */ lwz r12, 0(r31) +/* 800321DC 0002F11C 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 800321E0 0002F120 7D 89 03 A6 */ mtctr r12 +/* 800321E4 0002F124 4E 80 04 21 */ bctrl +/* 800321E8 0002F128 38 C0 00 00 */ li r6, 0 +/* 800321EC 0002F12C A8 1F 00 26 */ lha r0, 0x26(r31) +/* 800321F0 0002F130 20 00 20 00 */ subfic r0, r0, 0x2000 +/* 800321F4 0002F134 7C 00 0E 70 */ srawi r0, r0, 1 +/* 800321F8 0002F138 7C 07 07 34 */ extsh r7, r0 +/* 800321FC 0002F13C FC 00 FA 10 */ fabs f0, f31 +/* 80032200 0002F140 FC 20 00 18 */ frsp f1, f0 +/* 80032204 0002F144 C0 0D 8C 00 */ lfs f0, lbl_80451180-_SDA_BASE_(r13) +/* 80032208 0002F148 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8003220C 0002F14C 41 80 01 98 */ blt lbl_800323A4 +/* 80032210 0002F150 7C 65 07 34 */ extsh r5, r3 +/* 80032214 0002F154 A8 9F 00 22 */ lha r4, 0x22(r31) +/* 80032218 0002F158 7C 64 3A 14 */ add r3, r4, r7 +/* 8003221C 0002F15C 38 03 90 00 */ addi r0, r3, -28672 +/* 80032220 0002F160 7C 05 00 00 */ cmpw r5, r0 +/* 80032224 0002F164 40 80 00 10 */ bge lbl_80032234 +/* 80032228 0002F168 60 C0 00 04 */ ori r0, r6, 4 +/* 8003222C 0002F16C 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 80032230 0002F170 48 00 00 C4 */ b lbl_800322F4 +lbl_80032234: +/* 80032234 0002F174 38 04 B0 00 */ addi r0, r4, -20480 +/* 80032238 0002F178 7C 07 00 50 */ subf r0, r7, r0 +/* 8003223C 0002F17C 7C 05 00 00 */ cmpw r5, r0 +/* 80032240 0002F180 40 80 00 10 */ bge lbl_80032250 +/* 80032244 0002F184 60 C0 00 05 */ ori r0, r6, 5 +/* 80032248 0002F188 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 8003224C 0002F18C 48 00 00 A8 */ b lbl_800322F4 +lbl_80032250: +/* 80032250 0002F190 38 03 D0 00 */ addi r0, r3, -12288 +/* 80032254 0002F194 7C 05 00 00 */ cmpw r5, r0 +/* 80032258 0002F198 40 80 00 10 */ bge lbl_80032268 +/* 8003225C 0002F19C 60 C0 00 01 */ ori r0, r6, 1 +/* 80032260 0002F1A0 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 80032264 0002F1A4 48 00 00 90 */ b lbl_800322F4 +lbl_80032268: +/* 80032268 0002F1A8 38 04 F0 00 */ addi r0, r4, -4096 +/* 8003226C 0002F1AC 7C 07 00 50 */ subf r0, r7, r0 +/* 80032270 0002F1B0 7C 05 00 00 */ cmpw r5, r0 +/* 80032274 0002F1B4 40 80 00 10 */ bge lbl_80032284 +/* 80032278 0002F1B8 60 C0 00 09 */ ori r0, r6, 9 +/* 8003227C 0002F1BC 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 80032280 0002F1C0 48 00 00 74 */ b lbl_800322F4 +lbl_80032284: +/* 80032284 0002F1C4 38 03 10 00 */ addi r0, r3, 0x1000 +/* 80032288 0002F1C8 7C 05 00 00 */ cmpw r5, r0 +/* 8003228C 0002F1CC 40 80 00 10 */ bge lbl_8003229C +/* 80032290 0002F1D0 60 C0 00 08 */ ori r0, r6, 8 +/* 80032294 0002F1D4 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 80032298 0002F1D8 48 00 00 5C */ b lbl_800322F4 +lbl_8003229C: +/* 8003229C 0002F1DC 38 04 30 00 */ addi r0, r4, 0x3000 +/* 800322A0 0002F1E0 7C 07 00 50 */ subf r0, r7, r0 +/* 800322A4 0002F1E4 7C 05 00 00 */ cmpw r5, r0 +/* 800322A8 0002F1E8 40 80 00 10 */ bge lbl_800322B8 +/* 800322AC 0002F1EC 60 C0 00 0A */ ori r0, r6, 0xa +/* 800322B0 0002F1F0 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 800322B4 0002F1F4 48 00 00 40 */ b lbl_800322F4 +lbl_800322B8: +/* 800322B8 0002F1F8 38 03 50 00 */ addi r0, r3, 0x5000 +/* 800322BC 0002F1FC 7C 05 00 00 */ cmpw r5, r0 +/* 800322C0 0002F200 40 80 00 10 */ bge lbl_800322D0 +/* 800322C4 0002F204 60 C0 00 02 */ ori r0, r6, 2 +/* 800322C8 0002F208 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 800322CC 0002F20C 48 00 00 28 */ b lbl_800322F4 +lbl_800322D0: +/* 800322D0 0002F210 38 04 70 00 */ addi r0, r4, 0x7000 +/* 800322D4 0002F214 7C 07 00 50 */ subf r0, r7, r0 +/* 800322D8 0002F218 7C 05 00 00 */ cmpw r5, r0 +/* 800322DC 0002F21C 40 80 00 10 */ bge lbl_800322EC +/* 800322E0 0002F220 60 C0 00 06 */ ori r0, r6, 6 +/* 800322E4 0002F224 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 800322E8 0002F228 48 00 00 0C */ b lbl_800322F4 +lbl_800322EC: +/* 800322EC 0002F22C 60 C0 00 04 */ ori r0, r6, 4 +/* 800322F0 0002F230 54 06 06 3E */ clrlwi r6, r0, 0x18 +lbl_800322F4: +/* 800322F4 0002F234 C0 1F 00 04 */ lfs f0, 4(r31) +/* 800322F8 0002F238 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 800322FC 0002F23C 4C 41 13 82 */ cror 2, 1, 2 +/* 80032300 0002F240 40 82 00 0C */ bne lbl_8003230C +/* 80032304 0002F244 98 DF 00 0C */ stb r6, 0xc(r31) +/* 80032308 0002F248 48 00 00 28 */ b lbl_80032330 +lbl_8003230C: +/* 8003230C 0002F24C C0 1F 00 08 */ lfs f0, 8(r31) +/* 80032310 0002F250 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80032314 0002F254 40 80 00 10 */ bge lbl_80032324 +/* 80032318 0002F258 38 00 00 00 */ li r0, 0 +/* 8003231C 0002F25C 98 1F 00 0C */ stb r0, 0xc(r31) +/* 80032320 0002F260 48 00 00 10 */ b lbl_80032330 +lbl_80032324: +/* 80032324 0002F264 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 80032328 0002F268 7C 00 30 78 */ andc r0, r0, r6 +/* 8003232C 0002F26C 98 1F 00 0C */ stb r0, 0xc(r31) +lbl_80032330: +/* 80032330 0002F270 88 7F 00 0C */ lbz r3, 0xc(r31) +/* 80032334 0002F274 88 1F 00 0D */ lbz r0, 0xd(r31) +/* 80032338 0002F278 7C 03 00 40 */ cmplw r3, r0 +/* 8003233C 0002F27C 41 82 00 3C */ beq lbl_80032378 +/* 80032340 0002F280 28 03 00 00 */ cmplwi r3, 0 +/* 80032344 0002F284 40 82 00 10 */ bne lbl_80032354 +/* 80032348 0002F288 38 00 00 00 */ li r0, 0 +/* 8003234C 0002F28C B0 1F 00 22 */ sth r0, 0x22(r31) +/* 80032350 0002F290 48 00 00 28 */ b lbl_80032378 +lbl_80032354: +/* 80032354 0002F294 54 A0 04 FE */ clrlwi r0, r5, 0x13 +/* 80032358 0002F298 2C 00 10 00 */ cmpwi r0, 0x1000 +/* 8003235C 0002F29C 40 81 00 10 */ ble lbl_8003236C +/* 80032360 0002F2A0 A8 1F 00 24 */ lha r0, 0x24(r31) +/* 80032364 0002F2A4 B0 1F 00 22 */ sth r0, 0x22(r31) +/* 80032368 0002F2A8 48 00 00 10 */ b lbl_80032378 +lbl_8003236C: +/* 8003236C 0002F2AC A8 1F 00 24 */ lha r0, 0x24(r31) +/* 80032370 0002F2B0 7C 00 00 D0 */ neg r0, r0 +/* 80032374 0002F2B4 B0 1F 00 22 */ sth r0, 0x22(r31) +lbl_80032378: +/* 80032378 0002F2B8 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 8003237C 0002F2BC 54 00 07 BF */ clrlwi. r0, r0, 0x1e +/* 80032380 0002F2C0 40 82 00 0C */ bne lbl_8003238C +/* 80032384 0002F2C4 7F E3 FB 78 */ mr r3, r31 +/* 80032388 0002F2C8 4B FF FD 75 */ bl Xinit__9STControlFv +lbl_8003238C: +/* 8003238C 0002F2CC 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 80032390 0002F2D0 54 00 07 3B */ rlwinm. r0, r0, 0, 0x1c, 0x1d +/* 80032394 0002F2D4 40 82 00 28 */ bne lbl_800323BC +/* 80032398 0002F2D8 7F E3 FB 78 */ mr r3, r31 +/* 8003239C 0002F2DC 4B FF FD 91 */ bl Yinit__9STControlFv +/* 800323A0 0002F2E0 48 00 00 1C */ b lbl_800323BC +lbl_800323A4: +/* 800323A4 0002F2E4 38 00 00 00 */ li r0, 0 +/* 800323A8 0002F2E8 98 1F 00 0C */ stb r0, 0xc(r31) +/* 800323AC 0002F2EC 7F E3 FB 78 */ mr r3, r31 +/* 800323B0 0002F2F0 4B FF FD 4D */ bl Xinit__9STControlFv +/* 800323B4 0002F2F4 7F E3 FB 78 */ mr r3, r31 +/* 800323B8 0002F2F8 4B FF FD 75 */ bl Yinit__9STControlFv +lbl_800323BC: +/* 800323BC 0002F2FC 88 7F 00 0D */ lbz r3, 0xd(r31) +/* 800323C0 0002F300 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 800323C4 0002F304 7C 60 00 38 */ and r0, r3, r0 +/* 800323C8 0002F308 54 00 07 BF */ clrlwi. r0, r0, 0x1e +/* 800323CC 0002F30C 41 82 00 18 */ beq lbl_800323E4 +/* 800323D0 0002F310 A8 7F 00 0E */ lha r3, 0xe(r31) +/* 800323D4 0002F314 2C 03 00 00 */ cmpwi r3, 0 +/* 800323D8 0002F318 40 81 00 0C */ ble lbl_800323E4 +/* 800323DC 0002F31C 38 03 FF FF */ addi r0, r3, -1 +/* 800323E0 0002F320 B0 1F 00 0E */ sth r0, 0xe(r31) +lbl_800323E4: +/* 800323E4 0002F324 88 7F 00 0D */ lbz r3, 0xd(r31) +/* 800323E8 0002F328 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 800323EC 0002F32C 7C 60 00 38 */ and r0, r3, r0 +/* 800323F0 0002F330 54 00 07 3B */ rlwinm. r0, r0, 0, 0x1c, 0x1d +/* 800323F4 0002F334 41 82 00 18 */ beq lbl_8003240C +/* 800323F8 0002F338 A8 7F 00 10 */ lha r3, 0x10(r31) +/* 800323FC 0002F33C 2C 03 00 00 */ cmpwi r3, 0 +/* 80032400 0002F340 40 81 00 0C */ ble lbl_8003240C +/* 80032404 0002F344 38 03 FF FF */ addi r0, r3, -1 +/* 80032408 0002F348 B0 1F 00 10 */ sth r0, 0x10(r31) +lbl_8003240C: +/* 8003240C 0002F34C 88 7F 00 0C */ lbz r3, 0xc(r31) +/* 80032410 0002F350 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 +/* 80032414 0002F354 CB E1 00 10 */ lfd f31, 0x10(r1) +/* 80032418 0002F358 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8003241C 0002F35C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80032420 0002F360 7C 08 03 A6 */ mtlr r0 +/* 80032424 0002F364 38 21 00 20 */ addi r1, r1, 0x20 +/* 80032428 0002F368 4E 80 00 20 */ blr diff --git a/include/d/d_lib/asm/STControl_NS_checkUpTrigger.s b/include/d/d_lib/asm/STControl_NS_checkUpTrigger.s new file mode 100644 index 0000000000..a2e54e44b6 --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_checkUpTrigger.s @@ -0,0 +1,34 @@ +/* 80032524 0002F464 A8 03 00 10 */ lha r0, 0x10(r3) +/* 80032528 0002F468 2C 00 00 00 */ cmpwi r0, 0 +/* 8003252C 0002F46C 40 82 00 6C */ bne lbl_80032598 +/* 80032530 0002F470 88 03 00 0C */ lbz r0, 0xc(r3) +/* 80032534 0002F474 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 80032538 0002F478 41 82 00 60 */ beq lbl_80032598 +/* 8003253C 0002F47C A8 83 00 1A */ lha r4, 0x1a(r3) +/* 80032540 0002F480 A8 03 00 2C */ lha r0, 0x2c(r3) +/* 80032544 0002F484 7C 04 02 14 */ add r0, r4, r0 +/* 80032548 0002F488 B0 03 00 10 */ sth r0, 0x10(r3) +/* 8003254C 0002F48C 38 00 00 00 */ li r0, 0 +/* 80032550 0002F490 B0 03 00 2C */ sth r0, 0x2c(r3) +/* 80032554 0002F494 A8 83 00 20 */ lha r4, 0x20(r3) +/* 80032558 0002F498 2C 04 00 00 */ cmpwi r4, 0 +/* 8003255C 0002F49C 40 82 00 2C */ bne lbl_80032588 +/* 80032560 0002F4A0 A8 83 00 16 */ lha r4, 0x16(r3) +/* 80032564 0002F4A4 A8 03 00 1A */ lha r0, 0x1a(r3) +/* 80032568 0002F4A8 7C 04 00 50 */ subf r0, r4, r0 +/* 8003256C 0002F4AC B0 03 00 1A */ sth r0, 0x1a(r3) +/* 80032570 0002F4B0 A8 03 00 1A */ lha r0, 0x1a(r3) +/* 80032574 0002F4B4 A8 83 00 14 */ lha r4, 0x14(r3) +/* 80032578 0002F4B8 7C 00 20 00 */ cmpw r0, r4 +/* 8003257C 0002F4BC 40 80 00 14 */ bge lbl_80032590 +/* 80032580 0002F4C0 B0 83 00 1A */ sth r4, 0x1a(r3) +/* 80032584 0002F4C4 48 00 00 0C */ b lbl_80032590 +lbl_80032588: +/* 80032588 0002F4C8 38 04 FF FF */ addi r0, r4, -1 +/* 8003258C 0002F4CC B0 03 00 20 */ sth r0, 0x20(r3) +lbl_80032590: +/* 80032590 0002F4D0 38 60 00 01 */ li r3, 1 +/* 80032594 0002F4D4 4E 80 00 20 */ blr +lbl_80032598: +/* 80032598 0002F4D8 38 60 00 00 */ li r3, 0 +/* 8003259C 0002F4DC 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_init.s b/include/d/d_lib/asm/STControl_NS_init.s new file mode 100644 index 0000000000..641a7e2008 --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_init.s @@ -0,0 +1,20 @@ +/* 800320AC 0002EFEC 38 80 00 00 */ li r4, 0 +/* 800320B0 0002EFF0 B0 83 00 0E */ sth r4, 0xe(r3) +/* 800320B4 0002EFF4 B0 83 00 10 */ sth r4, 0x10(r3) +/* 800320B8 0002EFF8 98 83 00 0D */ stb r4, 0xd(r3) +/* 800320BC 0002EFFC 98 83 00 0C */ stb r4, 0xc(r3) +/* 800320C0 0002F000 B0 83 00 22 */ sth r4, 0x22(r3) +/* 800320C4 0002F004 A8 03 00 12 */ lha r0, 0x12(r3) +/* 800320C8 0002F008 B0 03 00 18 */ sth r0, 0x18(r3) +/* 800320CC 0002F00C A8 03 00 12 */ lha r0, 0x12(r3) +/* 800320D0 0002F010 B0 03 00 1A */ sth r0, 0x1a(r3) +/* 800320D4 0002F014 A8 03 00 1C */ lha r0, 0x1c(r3) +/* 800320D8 0002F018 B0 03 00 1E */ sth r0, 0x1e(r3) +/* 800320DC 0002F01C A8 03 00 1C */ lha r0, 0x1c(r3) +/* 800320E0 0002F020 B0 03 00 20 */ sth r0, 0x20(r3) +/* 800320E4 0002F024 B0 83 00 28 */ sth r4, 0x28(r3) +/* 800320E8 0002F028 A8 03 00 28 */ lha r0, 0x28(r3) +/* 800320EC 0002F02C B0 03 00 2A */ sth r0, 0x2a(r3) +/* 800320F0 0002F030 A8 03 00 28 */ lha r0, 0x28(r3) +/* 800320F4 0002F034 B0 03 00 2C */ sth r0, 0x2c(r3) +/* 800320F8 0002F038 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/STControl_NS_setWaitParm.s b/include/d/d_lib/asm/STControl_NS_setWaitParm.s new file mode 100644 index 0000000000..c006236ce0 --- /dev/null +++ b/include/d/d_lib/asm/STControl_NS_setWaitParm.s @@ -0,0 +1,9 @@ +/* 80032088 0002EFC8 B0 83 00 12 */ sth r4, 0x12(r3) +/* 8003208C 0002EFCC B0 A3 00 14 */ sth r5, 0x14(r3) +/* 80032090 0002EFD0 B0 C3 00 16 */ sth r6, 0x16(r3) +/* 80032094 0002EFD4 B0 E3 00 1C */ sth r7, 0x1c(r3) +/* 80032098 0002EFD8 D0 23 00 04 */ stfs f1, 4(r3) +/* 8003209C 0002EFDC D0 43 00 08 */ stfs f2, 8(r3) +/* 800320A0 0002EFE0 B1 03 00 24 */ sth r8, 0x24(r3) +/* 800320A4 0002EFE4 B1 23 00 26 */ sth r9, 0x26(r3) +/* 800320A8 0002EFE8 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/dLib_checkActorInRectangle.s b/include/d/d_lib/asm/dLib_checkActorInRectangle.s new file mode 100644 index 0000000000..f9019a0f38 --- /dev/null +++ b/include/d/d_lib/asm/dLib_checkActorInRectangle.s @@ -0,0 +1,59 @@ +/* 80032654 0002F594 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80032658 0002F598 7C 08 02 A6 */ mflr r0 +/* 8003265C 0002F59C 90 01 00 34 */ stw r0, 0x34(r1) +/* 80032660 0002F5A0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80032664 0002F5A4 48 32 FB 79 */ bl _savegpr_29 +/* 80032668 0002F5A8 7C 67 1B 78 */ mr r7, r3 +/* 8003266C 0002F5AC 7C 9D 23 78 */ mr r29, r4 +/* 80032670 0002F5B0 7C BE 2B 78 */ mr r30, r5 +/* 80032674 0002F5B4 7C DF 33 78 */ mr r31, r6 +/* 80032678 0002F5B8 38 61 00 08 */ addi r3, r1, 8 +/* 8003267C 0002F5BC 38 87 04 D0 */ addi r4, r7, 0x4d0 +/* 80032680 0002F5C0 38 BD 04 D0 */ addi r5, r29, 0x4d0 +/* 80032684 0002F5C4 48 23 44 B1 */ bl cXyz_NS___mi +/* 80032688 0002F5C8 C0 01 00 08 */ lfs f0, 8(r1) +/* 8003268C 0002F5CC D0 01 00 14 */ stfs f0, 0x14(r1) +/* 80032690 0002F5D0 C0 01 00 0C */ lfs f0, 0xc(r1) +/* 80032694 0002F5D4 D0 01 00 18 */ stfs f0, 0x18(r1) +/* 80032698 0002F5D8 C0 01 00 10 */ lfs f0, 0x10(r1) +/* 8003269C 0002F5DC D0 01 00 1C */ stfs f0, 0x1c(r1) +/* 800326A0 0002F5E0 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 800326A4 0002F5E4 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 800326A8 0002F5E8 A8 1D 04 DE */ lha r0, 0x4de(r29) +/* 800326AC 0002F5EC 7C 00 00 D0 */ neg r0, r0 +/* 800326B0 0002F5F0 7C 04 07 34 */ extsh r4, r0 +/* 800326B4 0002F5F4 4B FD 9D 29 */ bl mDoMtx_YrotS +/* 800326B8 0002F5F8 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 800326BC 0002F5FC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 800326C0 0002F600 38 81 00 14 */ addi r4, r1, 0x14 +/* 800326C4 0002F604 7C 85 23 78 */ mr r5, r4 +/* 800326C8 0002F608 48 31 46 A5 */ bl PSMTXMultVec +/* 800326CC 0002F60C C0 1E 00 00 */ lfs f0, 0(r30) +/* 800326D0 0002F610 C0 21 00 14 */ lfs f1, 0x14(r1) +/* 800326D4 0002F614 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 800326D8 0002F618 4C 40 13 82 */ cror 2, 0, 2 +/* 800326DC 0002F61C 40 82 00 40 */ bne lbl_8003271C +/* 800326E0 0002F620 C0 1F 00 00 */ lfs f0, 0(r31) +/* 800326E4 0002F624 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800326E8 0002F628 4C 40 13 82 */ cror 2, 0, 2 +/* 800326EC 0002F62C 40 82 00 30 */ bne lbl_8003271C +/* 800326F0 0002F630 C0 1E 00 08 */ lfs f0, 8(r30) +/* 800326F4 0002F634 C0 21 00 1C */ lfs f1, 0x1c(r1) +/* 800326F8 0002F638 FC 00 08 40 */ fcmpo cr0, f0, f1 +/* 800326FC 0002F63C 4C 40 13 82 */ cror 2, 0, 2 +/* 80032700 0002F640 40 82 00 1C */ bne lbl_8003271C +/* 80032704 0002F644 C0 1F 00 08 */ lfs f0, 8(r31) +/* 80032708 0002F648 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8003270C 0002F64C 4C 40 13 82 */ cror 2, 0, 2 +/* 80032710 0002F650 40 82 00 0C */ bne lbl_8003271C +/* 80032714 0002F654 38 60 00 01 */ li r3, 1 +/* 80032718 0002F658 48 00 00 08 */ b lbl_80032720 +lbl_8003271C: +/* 8003271C 0002F65C 38 60 00 00 */ li r3, 0 +lbl_80032720: +/* 80032720 0002F660 39 61 00 30 */ addi r11, r1, 0x30 +/* 80032724 0002F664 48 32 FB 05 */ bl _restgpr_29 +/* 80032728 0002F668 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8003272C 0002F66C 7C 08 03 A6 */ mtlr r0 +/* 80032730 0002F670 38 21 00 30 */ addi r1, r1, 0x30 +/* 80032734 0002F674 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/dLib_getEventSwitchNo.s b/include/d/d_lib/asm/dLib_getEventSwitchNo.s new file mode 100644 index 0000000000..e9921b140d --- /dev/null +++ b/include/d/d_lib/asm/dLib_getEventSwitchNo.s @@ -0,0 +1,16 @@ +/* 8003261C 0002F55C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80032620 0002F560 7C 08 02 A6 */ mflr r0 +/* 80032624 0002F564 90 01 00 14 */ stw r0, 0x14(r1) +/* 80032628 0002F568 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 8003262C 0002F56C 48 01 0E AD */ bl searchMapEventData__14dEvt_control_cFUc +/* 80032630 0002F570 28 03 00 00 */ cmplwi r3, 0 +/* 80032634 0002F574 41 82 00 0C */ beq lbl_80032640 +/* 80032638 0002F578 88 63 00 1B */ lbz r3, 0x1b(r3) +/* 8003263C 0002F57C 48 00 00 08 */ b lbl_80032644 +lbl_80032640: +/* 80032640 0002F580 38 60 00 FF */ li r3, 0xff +lbl_80032644: +/* 80032644 0002F584 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80032648 0002F588 7C 08 03 A6 */ mtlr r0 +/* 8003264C 0002F58C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80032650 0002F590 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/dLib_getExpandSizeFromAramArchive.s b/include/d/d_lib/asm/dLib_getExpandSizeFromAramArchive.s new file mode 100644 index 0000000000..efeea89dfb --- /dev/null +++ b/include/d/d_lib/asm/dLib_getExpandSizeFromAramArchive.s @@ -0,0 +1,53 @@ +/* 80032738 0002F678 54 2B 06 FE */ clrlwi r11, r1, 0x1b +/* 8003273C 0002F67C 21 6B FF A0 */ subfic r11, r11, -96 +/* 80032740 0002F680 7C 2C 0B 78 */ mr r12, r1 +/* 80032744 0002F684 7C 21 59 6E */ stwux r1, r1, r11 +/* 80032748 0002F688 7C 08 02 A6 */ mflr r0 +/* 8003274C 0002F68C 90 0C 00 04 */ stw r0, 4(r12) +/* 80032750 0002F690 93 EC FF FC */ stw r31, -4(r12) +/* 80032754 0002F694 93 CC FF F8 */ stw r30, -8(r12) +/* 80032758 0002F698 7C 7E 1B 78 */ mr r30, r3 +/* 8003275C 0002F69C 7C 9F 23 78 */ mr r31, r4 +/* 80032760 0002F6A0 48 2A 50 BD */ bl getAramAddress__14JKRAramArchiveFPCc +/* 80032764 0002F6A4 28 03 00 00 */ cmplwi r3, 0 +/* 80032768 0002F6A8 40 82 00 0C */ bne lbl_80032774 +/* 8003276C 0002F6AC 38 60 00 00 */ li r3, 0 +/* 80032770 0002F6B0 48 00 00 78 */ b lbl_800327E8 +lbl_80032774: +/* 80032774 0002F6B4 38 81 00 20 */ addi r4, r1, 0x20 +/* 80032778 0002F6B8 38 A0 00 20 */ li r5, 0x20 +/* 8003277C 0002F6BC 38 C0 00 00 */ li r6, 0 +/* 80032780 0002F6C0 38 E0 00 00 */ li r7, 0 +/* 80032784 0002F6C4 39 00 00 00 */ li r8, 0 +/* 80032788 0002F6C8 39 20 FF FF */ li r9, -1 +/* 8003278C 0002F6CC 39 40 00 00 */ li r10, 0 +/* 80032790 0002F6D0 48 29 FE 25 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl +/* 80032794 0002F6D4 7F C3 F3 78 */ mr r3, r30 +/* 80032798 0002F6D8 7F E4 FB 78 */ mr r4, r31 +/* 8003279C 0002F6DC 38 A0 00 00 */ li r5, 0 +/* 800327A0 0002F6E0 48 2A 3E 05 */ bl findFsResource__10JKRArchiveCFPCcUl +/* 800327A4 0002F6E4 88 C1 00 27 */ lbz r6, 0x27(r1) +/* 800327A8 0002F6E8 88 A1 00 26 */ lbz r5, 0x26(r1) +/* 800327AC 0002F6EC 88 81 00 24 */ lbz r4, 0x24(r1) +/* 800327B0 0002F6F0 88 01 00 25 */ lbz r0, 0x25(r1) +/* 800327B4 0002F6F4 54 00 80 1E */ slwi r0, r0, 0x10 +/* 800327B8 0002F6F8 50 80 C0 0E */ rlwimi r0, r4, 0x18, 0, 7 +/* 800327BC 0002F6FC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 +/* 800327C0 0002F700 7C C4 03 78 */ or r4, r6, r0 +/* 800327C4 0002F704 38 04 00 1F */ addi r0, r4, 0x1f +/* 800327C8 0002F708 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a +/* 800327CC 0002F70C 80 63 00 0C */ lwz r3, 0xc(r3) +/* 800327D0 0002F710 38 03 00 1F */ addi r0, r3, 0x1f +/* 800327D4 0002F714 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a +/* 800327D8 0002F718 7C 04 00 40 */ cmplw r4, r0 +/* 800327DC 0002F71C 7C 03 03 78 */ mr r3, r0 +/* 800327E0 0002F720 40 81 00 08 */ ble lbl_800327E8 +/* 800327E4 0002F724 7C 83 23 78 */ mr r3, r4 +lbl_800327E8: +/* 800327E8 0002F728 81 41 00 00 */ lwz r10, 0(r1) +/* 800327EC 0002F72C 83 EA FF FC */ lwz r31, -4(r10) +/* 800327F0 0002F730 83 CA FF F8 */ lwz r30, -8(r10) +/* 800327F4 0002F734 80 0A 00 04 */ lwz r0, 4(r10) +/* 800327F8 0002F738 7C 08 03 A6 */ mtlr r0 +/* 800327FC 0002F73C 7D 41 53 78 */ mr r1, r10 +/* 80032800 0002F740 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/dLib_time_c_NS_getTime.s b/include/d/d_lib/asm/dLib_time_c_NS_getTime.s new file mode 100644 index 0000000000..613a1b4fe1 --- /dev/null +++ b/include/d/d_lib/asm/dLib_time_c_NS_getTime.s @@ -0,0 +1,33 @@ +/* 80032804 0002F744 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80032808 0002F748 7C 08 02 A6 */ mflr r0 +/* 8003280C 0002F74C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80032810 0002F750 88 0D 88 68 */ lbz r0, lbl_80450DE8-_SDA_BASE_(r13) +/* 80032814 0002F754 28 00 00 00 */ cmplwi r0, 0 +/* 80032818 0002F758 40 82 00 1C */ bne lbl_80032834 +/* 8003281C 0002F75C 48 30 FE E1 */ bl OSGetTime +/* 80032820 0002F760 80 0D 88 58 */ lwz r0, lbl_80450DD8-_SDA_BASE_(r13) +/* 80032824 0002F764 80 AD 88 5C */ lwz r5, lbl_80450DDC-_SDA_BASE_(r13) +/* 80032828 0002F768 7C 85 20 10 */ subfc r4, r5, r4 +/* 8003282C 0002F76C 7C 60 19 10 */ subfe r3, r0, r3 +/* 80032830 0002F770 48 00 00 40 */ b lbl_80032870 +lbl_80032834: +/* 80032834 0002F774 48 30 FE C9 */ bl OSGetTime +/* 80032838 0002F778 80 CD 88 58 */ lwz r6, lbl_80450DD8-_SDA_BASE_(r13) +/* 8003283C 0002F77C 80 ED 88 5C */ lwz r7, lbl_80450DDC-_SDA_BASE_(r13) +/* 80032840 0002F780 80 0D 88 60 */ lwz r0, lbl_80450DE0-_SDA_BASE_(r13) +/* 80032844 0002F784 80 AD 88 64 */ lwz r5, lbl_80450DE4-_SDA_BASE_(r13) +/* 80032848 0002F788 7C A5 20 10 */ subfc r5, r5, r4 +/* 8003284C 0002F78C 7C 00 19 10 */ subfe r0, r0, r3 +/* 80032850 0002F790 7C A7 28 14 */ addc r5, r7, r5 +/* 80032854 0002F794 7C 06 01 14 */ adde r0, r6, r0 +/* 80032858 0002F798 90 AD 88 5C */ stw r5, lbl_80450DDC-_SDA_BASE_(r13) +/* 8003285C 0002F79C 90 0D 88 58 */ stw r0, lbl_80450DD8-_SDA_BASE_(r13) +/* 80032860 0002F7A0 90 8D 88 64 */ stw r4, lbl_80450DE4-_SDA_BASE_(r13) +/* 80032864 0002F7A4 90 6D 88 60 */ stw r3, lbl_80450DE0-_SDA_BASE_(r13) +/* 80032868 0002F7A8 7C 85 20 10 */ subfc r4, r5, r4 +/* 8003286C 0002F7AC 7C 60 19 10 */ subfe r3, r0, r3 +lbl_80032870: +/* 80032870 0002F7B0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80032874 0002F7B4 7C 08 03 A6 */ mtlr r0 +/* 80032878 0002F7B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8003287C 0002F7BC 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/dLib_time_c_NS_startTime.s b/include/d/d_lib/asm/dLib_time_c_NS_startTime.s new file mode 100644 index 0000000000..366f2c2510 --- /dev/null +++ b/include/d/d_lib/asm/dLib_time_c_NS_startTime.s @@ -0,0 +1,24 @@ +/* 800328BC 0002F7FC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800328C0 0002F800 7C 08 02 A6 */ mflr r0 +/* 800328C4 0002F804 90 01 00 14 */ stw r0, 0x14(r1) +/* 800328C8 0002F808 88 0D 88 68 */ lbz r0, lbl_80450DE8-_SDA_BASE_(r13) +/* 800328CC 0002F80C 28 00 00 00 */ cmplwi r0, 0 +/* 800328D0 0002F810 41 82 00 38 */ beq lbl_80032908 +/* 800328D4 0002F814 48 30 FE 29 */ bl OSGetTime +/* 800328D8 0002F818 80 0D 88 60 */ lwz r0, lbl_80450DE0-_SDA_BASE_(r13) +/* 800328DC 0002F81C 80 AD 88 64 */ lwz r5, lbl_80450DE4-_SDA_BASE_(r13) +/* 800328E0 0002F820 7C A5 20 10 */ subfc r5, r5, r4 +/* 800328E4 0002F824 7C 80 19 10 */ subfe r4, r0, r3 +/* 800328E8 0002F828 80 0D 88 58 */ lwz r0, lbl_80450DD8-_SDA_BASE_(r13) +/* 800328EC 0002F82C 80 6D 88 5C */ lwz r3, lbl_80450DDC-_SDA_BASE_(r13) +/* 800328F0 0002F830 7C 63 28 14 */ addc r3, r3, r5 +/* 800328F4 0002F834 7C 00 21 14 */ adde r0, r0, r4 +/* 800328F8 0002F838 90 6D 88 5C */ stw r3, lbl_80450DDC-_SDA_BASE_(r13) +/* 800328FC 0002F83C 90 0D 88 58 */ stw r0, lbl_80450DD8-_SDA_BASE_(r13) +/* 80032900 0002F840 38 00 00 00 */ li r0, 0 +/* 80032904 0002F844 98 0D 88 68 */ stb r0, lbl_80450DE8-_SDA_BASE_(r13) +lbl_80032908: +/* 80032908 0002F848 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8003290C 0002F84C 7C 08 03 A6 */ mtlr r0 +/* 80032910 0002F850 38 21 00 10 */ addi r1, r1, 0x10 +/* 80032914 0002F854 4E 80 00 20 */ blr diff --git a/include/d/d_lib/asm/dLib_time_c_NS_stopTime.s b/include/d/d_lib/asm/dLib_time_c_NS_stopTime.s new file mode 100644 index 0000000000..46f0b181cf --- /dev/null +++ b/include/d/d_lib/asm/dLib_time_c_NS_stopTime.s @@ -0,0 +1,16 @@ +/* 80032880 0002F7C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80032884 0002F7C4 7C 08 02 A6 */ mflr r0 +/* 80032888 0002F7C8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8003288C 0002F7CC 88 0D 88 68 */ lbz r0, lbl_80450DE8-_SDA_BASE_(r13) +/* 80032890 0002F7D0 28 00 00 00 */ cmplwi r0, 0 +/* 80032894 0002F7D4 40 82 00 18 */ bne lbl_800328AC +/* 80032898 0002F7D8 48 30 FE 65 */ bl OSGetTime +/* 8003289C 0002F7DC 90 8D 88 64 */ stw r4, lbl_80450DE4-_SDA_BASE_(r13) +/* 800328A0 0002F7E0 90 6D 88 60 */ stw r3, lbl_80450DE0-_SDA_BASE_(r13) +/* 800328A4 0002F7E4 38 00 00 01 */ li r0, 1 +/* 800328A8 0002F7E8 98 0D 88 68 */ stb r0, lbl_80450DE8-_SDA_BASE_(r13) +lbl_800328AC: +/* 800328AC 0002F7EC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800328B0 0002F7F0 7C 08 03 A6 */ mtlr r0 +/* 800328B4 0002F7F4 38 21 00 10 */ addi r1, r1, 0x10 +/* 800328B8 0002F7F8 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/getAngleStick.s b/include/d/d_lib/asm/getAngleStick.s new file mode 100644 index 0000000000..9dbeb5956c --- /dev/null +++ b/include/d/d_lib/asm/getAngleStick.s @@ -0,0 +1,4 @@ +/* 8003216C 0002F0AC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha +/* 80032170 0002F0B0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l +/* 80032174 0002F0B4 A8 63 00 0C */ lha r3, 0xc(r3) +/* 80032178 0002F0B8 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/asm/getValueStick.s b/include/d/d_lib/asm/getValueStick.s new file mode 100644 index 0000000000..34ce1f701b --- /dev/null +++ b/include/d/d_lib/asm/getValueStick.s @@ -0,0 +1,4 @@ +/* 8003215C 0002F09C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha +/* 80032160 0002F0A0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l +/* 80032164 0002F0A4 C0 23 00 08 */ lfs f1, 8(r3) +/* 80032168 0002F0A8 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/d/d_lib/d_lib.h b/include/d/d_lib/d_lib.h new file mode 100644 index 0000000000..4394e4725f --- /dev/null +++ b/include/d/d_lib/d_lib.h @@ -0,0 +1,86 @@ +#include "JSystem/JKernel/JKRAramArchive/JKRAramArchive.h" +#include "global.h" + +struct STControl_vtable { + void* addr_1; + void* addr_2; + void* addr_3; + void* addr_4; +}; + +struct STControl { + STControl(s16 param_1, s16 param_2, s16 param_3, s16 param_4, f32 param_5, f32 param_6, + s16 param_7, s16 param_8); + void setWaitParm(s16 param_1, s16 param_2, s16 param_3, s16 param_4, f32 param_5, f32 param_6, + s16 param_7, s16 param_8); + STControl* init(void); + void Xinit(void); + void Yinit(void); + double getValueStick(); + s16 getAngleStick(); + u32 checkTrigger(); + bool checkLeftTrigger(); + bool checkRightTrigger(); + bool checkUpTrigger(); + bool checkDownTrigger(); + + STControl_vtable* __vt; + + f32 field_0x4; + f32 field_0x8; + u8 field_0xc; + u8 field_0xd; + s16 field_0xe; + s16 field_0x10; + s16 field_0x12; + s16 field_0x14; + s16 field_0x16; + s16 field_0x18; + s16 field_0x1a; + s16 field_0x1c; + s16 field_0x1e; + s16 field_0x20; + s16 field_0x22; + s16 field_0x24; + s16 field_0x26; + s16 field_0x28; + s16 field_0x2a; + s16 field_0x2c; +}; + +struct CSTControl { + double getValueStick(); + s16 getAngleStick(); +}; + +struct m_cpadInfo { + u8 p1[0x8]; + f32 stickValue; + s16 stickAngle; + u8 p2[0x8]; + f32 CstickValue; + s16 CstickAngle; + u8 p3[0xE2]; +}; + +u32 dLib_getEventSwitchNo(int param_1); + +struct fopAc_ac_c; + +struct cXyz { + f32 x; + f32 y; + f32 z; +}; + +bool dLib_checkActorInRectangle(fopAc_ac_c* param_1, fopAc_ac_c* param_2, cXyz const* param_3, + cXyz const* param_4); + +u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* param_1, char const* param_2); + +class dLib_time_c { +public: + s64 getTime(void); + void stopTime(void); + void startTime(void); +};
\ No newline at end of file diff --git a/include/functions.h b/include/functions.h index 7afa937ab8..9b26f6ba7c 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1,6 +1,12 @@ #include "os/OS.h" extern "C" { +void searchMapEventData__14dEvt_control_cFUc(void); +void PSMTXMultVec(void); +void mDoMtx_YrotS(void); +void cXyz_NS___mi(void); +void Yinit__9STControlFv(void); +void Xinit__9STControlFv(void); void J2DScreen_NS_draw(void); void PSMTXCopy(void); void PSMTXConcat(void); @@ -196,7 +202,7 @@ void func_80361C24(void); void func_803621CC(void); void func_80362218(void); -void JKRAramArchive(void); +// void JKRAramArchive(void); void JKRArchive_NS_findDirectory(void); void JKRArchive_NS_findFsResource(void); void JKRArchive_NS_findIdResource(void); diff --git a/include/variables.h b/include/variables.h index ba6adecc84..3a30de2643 100644 --- a/include/variables.h +++ b/include/variables.h @@ -10,7 +10,8 @@ extern char lbl_803739A0[0x310]; extern void* lbl_80451368; extern u32 lbl_804514E0; extern u8 lbl_803C3384; -extern u8 lbl_803DD2E8; +struct m_cpadInfo; +extern m_cpadInfo lbl_803DD2E8; extern u8 lbl_803A2EF4; extern u8 lbl_803A2EE0; extern u8 lbl_80450B19; @@ -374,6 +375,24 @@ extern u8 lbl_804342E8; // JKernel::decompMutex (static?) extern u8 lbl_804508B8; // JKRAram::sSZSBufferSize extern u8 lbl_803CC128; // JKRAram::sMessageBuffer +extern double lbl_803DD2F0; +extern f32 lbl_80451180; + +struct now { // m_Do_mtx::mDoMtx_stack_c::now + float unk0[4]; + float unk10[4]; + float unk20[4]; +}; + +extern now lbl_803DD470; // CHANGE TYPE LATER + +extern s64 lbl_80450DE8; +extern u32 lbl_80450DD8; +extern u32 lbl_80450DDC; +class dLib_time_c; +extern dLib_time_c* lbl_80450DE0; +extern u32 lbl_80450DE4; + // m_Do_Reset // func_80015614 #include "JSystem/JUtility/JUTXfb/JUTXfb.h" @@ -382,6 +401,7 @@ extern u8 lbl_80450BB8; extern char lbl_80374198[16]; // func_8001574C extern bool lbl_80451501; + extern void* lbl_804514EC; // JUTGamePad::C3ButtonReset::sCallback extern u32 lbl_804514F0; // JUTGamePad::C3ButtonReset::sCallbackArg extern u32 lbl_803ECF00; @@ -753,7 +773,6 @@ extern u8 lbl_8042552C; extern u8 lbl_80391E48; extern u8 lbl_80391D44; extern u8 lbl_804255A4; -extern u8 lbl_80451180; extern u8 lbl_804532AC; extern u8 lbl_80452F04; extern u8 lbl_80391A2C; |
