diff --git a/.github/workflows/clang-format-check.yml b/.github/workflows/clang-format-check.yml deleted file mode 100644 index 5cc17399d8..0000000000 --- a/.github/workflows/clang-format-check.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Clang Format Check - -on: pull_request - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Install clang-format - run: sudo apt-get install clang-format-10 - - name: Run clang-format-check - run: sh tools/clang-format-check.sh - \ No newline at end of file diff --git a/Makefile b/Makefile index db75a5bf14..be9d52b094 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,7 @@ ASFLAGS := -mgekko -I include LDFLAGS := -unused -map $(MAP) -fp hard -nodefaults -w off # Compiler flags -CFLAGS += -Cpp_exceptions off -proc gekko -fp hard -O3 -nodefaults -msgstyle gcc -str pool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES) +CFLAGS += -Cpp_exceptions off -proc gekko -fp hard -O3 -nodefaults -str pool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES) # elf2dol needs to know these in order to calculate sbss correctly. SDATA_PDHR := 9 diff --git a/asm/JSystem/J2DGraph/J2DAnimation/__ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s b/asm/JSystem/J2DGraph/J2DAnimation/__ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s deleted file mode 100644 index 77c34e65f9..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/__ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8030CB2C: -/* 8030CB2C 38 00 00 00 */ li r0, 0 -/* 8030CB30 90 03 00 00 */ stw r0, 0(r3) -/* 8030CB34 90 03 00 04 */ stw r0, 4(r3) -/* 8030CB38 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/__dt__15J2DAnmColorFullFv.s b/asm/JSystem/J2DGraph/J2DAnimation/__dt__15J2DAnmColorFullFv.s deleted file mode 100644 index fc3c0386b3..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/__dt__15J2DAnmColorFullFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8030CCF8: -/* 8030CCF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CCFC 7C 08 02 A6 */ mflr r0 -/* 8030CD00 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CD04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030CD08 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8030CD0C 41 82 00 58 */ beq lbl_8030CD64 -/* 8030CD10 3C 60 80 3D */ lis r3, __vt__15J2DAnmColorFull@ha /* 0x803CD794@ha */ -/* 8030CD14 38 03 D7 94 */ addi r0, r3, __vt__15J2DAnmColorFull@l /* 0x803CD794@l */ -/* 8030CD18 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CD1C 41 82 00 38 */ beq lbl_8030CD54 -/* 8030CD20 3C 60 80 3D */ lis r3, __vt__11J2DAnmColor@ha /* 0x803CD7A8@ha */ -/* 8030CD24 38 03 D7 A8 */ addi r0, r3, __vt__11J2DAnmColor@l /* 0x803CD7A8@l */ -/* 8030CD28 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CD2C 34 1F 00 20 */ addic. r0, r31, 0x20 -/* 8030CD30 41 82 00 10 */ beq lbl_8030CD40 -/* 8030CD34 3C 60 80 3C */ lis r3, __vt__10JUTNameTab@ha /* 0x803BB3DC@ha */ -/* 8030CD38 38 03 B3 DC */ addi r0, r3, __vt__10JUTNameTab@l /* 0x803BB3DC@l */ -/* 8030CD3C 90 1F 00 20 */ stw r0, 0x20(r31) -lbl_8030CD40: -/* 8030CD40 28 1F 00 00 */ cmplwi r31, 0 -/* 8030CD44 41 82 00 10 */ beq lbl_8030CD54 -/* 8030CD48 3C 60 80 3B */ lis r3, __vt__10J2DAnmBase@ha /* 0x803A8E04@ha */ -/* 8030CD4C 38 03 8E 04 */ addi r0, r3, __vt__10J2DAnmBase@l /* 0x803A8E04@l */ -/* 8030CD50 90 1F 00 00 */ stw r0, 0(r31) -lbl_8030CD54: -/* 8030CD54 7C 80 07 35 */ extsh. r0, r4 -/* 8030CD58 40 81 00 0C */ ble lbl_8030CD64 -/* 8030CD5C 7F E3 FB 78 */ mr r3, r31 -/* 8030CD60 4B FC 1F DD */ bl __dl__FPv -lbl_8030CD64: -/* 8030CD64 7F E3 FB 78 */ mr r3, r31 -/* 8030CD68 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030CD6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CD70 7C 08 03 A6 */ mtlr r0 -/* 8030CD74 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CD78 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/__dt__16J2DAnmTexPatternFv.s b/asm/JSystem/J2DGraph/J2DAnimation/__dt__16J2DAnmTexPatternFv.s deleted file mode 100644 index 0b135ecd5c..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/__dt__16J2DAnmTexPatternFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8030CB90: -/* 8030CB90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CB94 7C 08 02 A6 */ mflr r0 -/* 8030CB98 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CB9C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030CBA0 93 C1 00 08 */ stw r30, 8(r1) -/* 8030CBA4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8030CBA8 7C 9F 23 78 */ mr r31, r4 -/* 8030CBAC 41 82 00 58 */ beq lbl_8030CC04 -/* 8030CBB0 3C 60 80 3D */ lis r3, __vt__16J2DAnmTexPattern@ha /* 0x803CD738@ha */ -/* 8030CBB4 38 03 D7 38 */ addi r0, r3, __vt__16J2DAnmTexPattern@l /* 0x803CD738@l */ -/* 8030CBB8 90 1E 00 00 */ stw r0, 0(r30) -/* 8030CBBC 80 7E 00 30 */ lwz r3, 0x30(r30) -/* 8030CBC0 3C 80 80 31 */ lis r4, __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@ha /* 0x8030CB3C@ha */ -/* 8030CBC4 38 84 CB 3C */ addi r4, r4, __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@l /* 0x8030CB3C@l */ -/* 8030CBC8 48 05 50 A5 */ bl __destroy_new_array -/* 8030CBCC 34 1E 00 20 */ addic. r0, r30, 0x20 -/* 8030CBD0 41 82 00 10 */ beq lbl_8030CBE0 -/* 8030CBD4 3C 60 80 3C */ lis r3, __vt__10JUTNameTab@ha /* 0x803BB3DC@ha */ -/* 8030CBD8 38 03 B3 DC */ addi r0, r3, __vt__10JUTNameTab@l /* 0x803BB3DC@l */ -/* 8030CBDC 90 1E 00 20 */ stw r0, 0x20(r30) -lbl_8030CBE0: -/* 8030CBE0 28 1E 00 00 */ cmplwi r30, 0 -/* 8030CBE4 41 82 00 10 */ beq lbl_8030CBF4 -/* 8030CBE8 3C 60 80 3B */ lis r3, __vt__10J2DAnmBase@ha /* 0x803A8E04@ha */ -/* 8030CBEC 38 03 8E 04 */ addi r0, r3, __vt__10J2DAnmBase@l /* 0x803A8E04@l */ -/* 8030CBF0 90 1E 00 00 */ stw r0, 0(r30) -lbl_8030CBF4: -/* 8030CBF4 7F E0 07 35 */ extsh. r0, r31 -/* 8030CBF8 40 81 00 0C */ ble lbl_8030CC04 -/* 8030CBFC 7F C3 F3 78 */ mr r3, r30 -/* 8030CC00 4B FC 21 3D */ bl __dl__FPv -lbl_8030CC04: -/* 8030CC04 7F C3 F3 78 */ mr r3, r30 -/* 8030CC08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030CC0C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8030CC10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CC14 7C 08 03 A6 */ mtlr r0 -/* 8030CC18 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CC1C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/__dt__17J2DAnmVtxColorKeyFv.s b/asm/JSystem/J2DGraph/J2DAnimation/__dt__17J2DAnmVtxColorKeyFv.s deleted file mode 100644 index e02935aec7..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/__dt__17J2DAnmVtxColorKeyFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8030CC20: -/* 8030CC20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CC24 7C 08 02 A6 */ mflr r0 -/* 8030CC28 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CC2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030CC30 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8030CC34 41 82 00 40 */ beq lbl_8030CC74 -/* 8030CC38 3C 60 80 3D */ lis r3, __vt__17J2DAnmVtxColorKey@ha /* 0x803CD758@ha */ -/* 8030CC3C 38 03 D7 58 */ addi r0, r3, __vt__17J2DAnmVtxColorKey@l /* 0x803CD758@l */ -/* 8030CC40 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CC44 41 82 00 20 */ beq lbl_8030CC64 -/* 8030CC48 3C 60 80 3D */ lis r3, __vt__14J2DAnmVtxColor@ha /* 0x803CD714@ha */ -/* 8030CC4C 38 03 D7 14 */ addi r0, r3, __vt__14J2DAnmVtxColor@l /* 0x803CD714@l */ -/* 8030CC50 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CC54 41 82 00 10 */ beq lbl_8030CC64 -/* 8030CC58 3C 60 80 3B */ lis r3, __vt__10J2DAnmBase@ha /* 0x803A8E04@ha */ -/* 8030CC5C 38 03 8E 04 */ addi r0, r3, __vt__10J2DAnmBase@l /* 0x803A8E04@l */ -/* 8030CC60 90 1F 00 00 */ stw r0, 0(r31) -lbl_8030CC64: -/* 8030CC64 7C 80 07 35 */ extsh. r0, r4 -/* 8030CC68 40 81 00 0C */ ble lbl_8030CC74 -/* 8030CC6C 7F E3 FB 78 */ mr r3, r31 -/* 8030CC70 4B FC 20 CD */ bl __dl__FPv -lbl_8030CC74: -/* 8030CC74 7F E3 FB 78 */ mr r3, r31 -/* 8030CC78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030CC7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CC80 7C 08 03 A6 */ mtlr r0 -/* 8030CC84 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CC88 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/__dt__18J2DAnmVtxColorFullFv.s b/asm/JSystem/J2DGraph/J2DAnimation/__dt__18J2DAnmVtxColorFullFv.s deleted file mode 100644 index 1dbfc497f2..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/__dt__18J2DAnmVtxColorFullFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8030CC8C: -/* 8030CC8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CC90 7C 08 02 A6 */ mflr r0 -/* 8030CC94 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CC98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030CC9C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8030CCA0 41 82 00 40 */ beq lbl_8030CCE0 -/* 8030CCA4 3C 60 80 3D */ lis r3, __vt__18J2DAnmVtxColorFull@ha /* 0x803CD76C@ha */ -/* 8030CCA8 38 03 D7 6C */ addi r0, r3, __vt__18J2DAnmVtxColorFull@l /* 0x803CD76C@l */ -/* 8030CCAC 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CCB0 41 82 00 20 */ beq lbl_8030CCD0 -/* 8030CCB4 3C 60 80 3D */ lis r3, __vt__14J2DAnmVtxColor@ha /* 0x803CD714@ha */ -/* 8030CCB8 38 03 D7 14 */ addi r0, r3, __vt__14J2DAnmVtxColor@l /* 0x803CD714@l */ -/* 8030CCBC 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CCC0 41 82 00 10 */ beq lbl_8030CCD0 -/* 8030CCC4 3C 60 80 3B */ lis r3, __vt__10J2DAnmBase@ha /* 0x803A8E04@ha */ -/* 8030CCC8 38 03 8E 04 */ addi r0, r3, __vt__10J2DAnmBase@l /* 0x803A8E04@l */ -/* 8030CCCC 90 1F 00 00 */ stw r0, 0(r31) -lbl_8030CCD0: -/* 8030CCD0 7C 80 07 35 */ extsh. r0, r4 -/* 8030CCD4 40 81 00 0C */ ble lbl_8030CCE0 -/* 8030CCD8 7F E3 FB 78 */ mr r3, r31 -/* 8030CCDC 4B FC 20 61 */ bl __dl__FPv -lbl_8030CCE0: -/* 8030CCE0 7F E3 FB 78 */ mr r3, r31 -/* 8030CCE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030CCE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CCEC 7C 08 03 A6 */ mtlr r0 -/* 8030CCF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CCF4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/__dt__19J2DAnmTransformFullFv.s b/asm/JSystem/J2DGraph/J2DAnimation/__dt__19J2DAnmTransformFullFv.s deleted file mode 100644 index 9ba3acd7bd..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/__dt__19J2DAnmTransformFullFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8030CDAC: -/* 8030CDAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CDB0 7C 08 02 A6 */ mflr r0 -/* 8030CDB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CDB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030CDBC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8030CDC0 41 82 00 40 */ beq lbl_8030CE00 -/* 8030CDC4 3C 60 80 3D */ lis r3, __vt__19J2DAnmTransformFull@ha /* 0x803CD7D4@ha */ -/* 8030CDC8 38 03 D7 D4 */ addi r0, r3, __vt__19J2DAnmTransformFull@l /* 0x803CD7D4@l */ -/* 8030CDCC 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CDD0 41 82 00 20 */ beq lbl_8030CDF0 -/* 8030CDD4 3C 60 80 3C */ lis r3, __vt__15J2DAnmTransform@ha /* 0x803BB3B8@ha */ -/* 8030CDD8 38 03 B3 B8 */ addi r0, r3, __vt__15J2DAnmTransform@l /* 0x803BB3B8@l */ -/* 8030CDDC 90 1F 00 00 */ stw r0, 0(r31) -/* 8030CDE0 41 82 00 10 */ beq lbl_8030CDF0 -/* 8030CDE4 3C 60 80 3B */ lis r3, __vt__10J2DAnmBase@ha /* 0x803A8E04@ha */ -/* 8030CDE8 38 03 8E 04 */ addi r0, r3, __vt__10J2DAnmBase@l /* 0x803A8E04@l */ -/* 8030CDEC 90 1F 00 00 */ stw r0, 0(r31) -lbl_8030CDF0: -/* 8030CDF0 7C 80 07 35 */ extsh. r0, r4 -/* 8030CDF4 40 81 00 0C */ ble lbl_8030CE00 -/* 8030CDF8 7F E3 FB 78 */ mr r3, r31 -/* 8030CDFC 4B FC 1F 41 */ bl __dl__FPv -lbl_8030CE00: -/* 8030CE00 7F E3 FB 78 */ mr r3, r31 -/* 8030CE04 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030CE08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CE0C 7C 08 03 A6 */ mtlr r0 -/* 8030CE10 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CE14 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/__dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s b/asm/JSystem/J2DGraph/J2DAnimation/__dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s deleted file mode 100644 index 58794dff4a..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/__dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8030CB3C: -/* 8030CB3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CB40 7C 08 02 A6 */ mflr r0 -/* 8030CB44 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CB48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030CB4C 93 C1 00 08 */ stw r30, 8(r1) -/* 8030CB50 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8030CB54 7C 9F 23 78 */ mr r31, r4 -/* 8030CB58 41 82 00 1C */ beq lbl_8030CB74 -/* 8030CB5C 80 7E 00 04 */ lwz r3, 4(r30) -/* 8030CB60 4B FC 21 DD */ bl __dl__FPv -/* 8030CB64 7F E0 07 35 */ extsh. r0, r31 -/* 8030CB68 40 81 00 0C */ ble lbl_8030CB74 -/* 8030CB6C 7F C3 F3 78 */ mr r3, r30 -/* 8030CB70 4B FC 21 CD */ bl __dl__FPv -lbl_8030CB74: -/* 8030CB74 7F C3 F3 78 */ mr r3, r30 -/* 8030CB78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030CB7C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8030CB80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CB84 7C 08 03 A6 */ mtlr r0 -/* 8030CB88 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CB8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/calcTransform__18J2DAnmTransformKeyCFfUsP16J3DTransformInfo.s b/asm/JSystem/J2DGraph/J2DAnimation/calcTransform__18J2DAnmTransformKeyCFfUsP16J3DTransformInfo.s deleted file mode 100644 index a5c5dc05f4..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/calcTransform__18J2DAnmTransformKeyCFfUsP16J3DTransformInfo.s +++ /dev/null @@ -1,303 +0,0 @@ -lbl_8030AAFC: -/* 8030AAFC 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8030AB00 7C 08 02 A6 */ mflr r0 -/* 8030AB04 90 01 00 44 */ stw r0, 0x44(r1) -/* 8030AB08 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8030AB0C F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8030AB10 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030AB14 48 05 76 C1 */ bl _savegpr_27 -/* 8030AB18 7C 7B 1B 78 */ mr r27, r3 -/* 8030AB1C FF E0 08 90 */ fmr f31, f1 -/* 8030AB20 7C BC 2B 78 */ mr r28, r5 -/* 8030AB24 1C 04 00 03 */ mulli r0, r4, 3 -/* 8030AB28 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 8030AB2C 80 63 00 28 */ lwz r3, 0x28(r3) -/* 8030AB30 1C 04 00 12 */ mulli r0, r4, 0x12 -/* 8030AB34 7F E3 02 14 */ add r31, r3, r0 -/* 8030AB38 38 04 00 01 */ addi r0, r4, 1 -/* 8030AB3C 1C 00 00 12 */ mulli r0, r0, 0x12 -/* 8030AB40 7F C3 02 14 */ add r30, r3, r0 -/* 8030AB44 38 04 00 02 */ addi r0, r4, 2 -/* 8030AB48 1C 00 00 12 */ mulli r0, r0, 0x12 -/* 8030AB4C 7F A3 02 14 */ add r29, r3, r0 -/* 8030AB50 A0 1F 00 00 */ lhz r0, 0(r31) -/* 8030AB54 2C 00 00 01 */ cmpwi r0, 1 -/* 8030AB58 41 82 00 20 */ beq lbl_8030AB78 -/* 8030AB5C 40 80 00 34 */ bge lbl_8030AB90 -/* 8030AB60 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AB64 40 80 00 08 */ bge lbl_8030AB6C -/* 8030AB68 48 00 00 28 */ b lbl_8030AB90 -lbl_8030AB6C: -/* 8030AB6C C0 02 C9 10 */ lfs f0, lit_1619(r2) -/* 8030AB70 D0 1C 00 00 */ stfs f0, 0(r28) -/* 8030AB74 48 00 00 3C */ b lbl_8030ABB0 -lbl_8030AB78: -/* 8030AB78 80 7B 00 10 */ lwz r3, 0x10(r27) -/* 8030AB7C A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030AB80 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AB84 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030AB88 D0 1C 00 00 */ stfs f0, 0(r28) -/* 8030AB8C 48 00 00 24 */ b lbl_8030ABB0 -lbl_8030AB90: -/* 8030AB90 FC 20 F8 90 */ fmr f1, f31 -/* 8030AB94 7F E3 FB 78 */ mr r3, r31 -/* 8030AB98 80 9B 00 10 */ lwz r4, 0x10(r27) -/* 8030AB9C A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030ABA0 54 00 10 3A */ slwi r0, r0, 2 -/* 8030ABA4 7C 84 02 14 */ add r4, r4, r0 -/* 8030ABA8 48 00 1E 09 */ bl func_8030C9B0 -/* 8030ABAC D0 3C 00 00 */ stfs f1, 0(r28) -lbl_8030ABB0: -/* 8030ABB0 A0 1E 00 00 */ lhz r0, 0(r30) -/* 8030ABB4 2C 00 00 01 */ cmpwi r0, 1 -/* 8030ABB8 41 82 00 20 */ beq lbl_8030ABD8 -/* 8030ABBC 40 80 00 34 */ bge lbl_8030ABF0 -/* 8030ABC0 2C 00 00 00 */ cmpwi r0, 0 -/* 8030ABC4 40 80 00 08 */ bge lbl_8030ABCC -/* 8030ABC8 48 00 00 28 */ b lbl_8030ABF0 -lbl_8030ABCC: -/* 8030ABCC C0 02 C9 10 */ lfs f0, lit_1619(r2) -/* 8030ABD0 D0 1C 00 04 */ stfs f0, 4(r28) -/* 8030ABD4 48 00 00 3C */ b lbl_8030AC10 -lbl_8030ABD8: -/* 8030ABD8 80 7B 00 10 */ lwz r3, 0x10(r27) -/* 8030ABDC A0 1E 00 02 */ lhz r0, 2(r30) -/* 8030ABE0 54 00 10 3A */ slwi r0, r0, 2 -/* 8030ABE4 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030ABE8 D0 1C 00 04 */ stfs f0, 4(r28) -/* 8030ABEC 48 00 00 24 */ b lbl_8030AC10 -lbl_8030ABF0: -/* 8030ABF0 FC 20 F8 90 */ fmr f1, f31 -/* 8030ABF4 7F C3 F3 78 */ mr r3, r30 -/* 8030ABF8 80 9B 00 10 */ lwz r4, 0x10(r27) -/* 8030ABFC A0 1E 00 02 */ lhz r0, 2(r30) -/* 8030AC00 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AC04 7C 84 02 14 */ add r4, r4, r0 -/* 8030AC08 48 00 1D A9 */ bl func_8030C9B0 -/* 8030AC0C D0 3C 00 04 */ stfs f1, 4(r28) -lbl_8030AC10: -/* 8030AC10 A0 1D 00 00 */ lhz r0, 0(r29) -/* 8030AC14 2C 00 00 01 */ cmpwi r0, 1 -/* 8030AC18 41 82 00 20 */ beq lbl_8030AC38 -/* 8030AC1C 40 80 00 34 */ bge lbl_8030AC50 -/* 8030AC20 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AC24 40 80 00 08 */ bge lbl_8030AC2C -/* 8030AC28 48 00 00 28 */ b lbl_8030AC50 -lbl_8030AC2C: -/* 8030AC2C C0 02 C9 10 */ lfs f0, lit_1619(r2) -/* 8030AC30 D0 1C 00 08 */ stfs f0, 8(r28) -/* 8030AC34 48 00 00 3C */ b lbl_8030AC70 -lbl_8030AC38: -/* 8030AC38 80 7B 00 10 */ lwz r3, 0x10(r27) -/* 8030AC3C A0 1D 00 02 */ lhz r0, 2(r29) -/* 8030AC40 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AC44 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030AC48 D0 1C 00 08 */ stfs f0, 8(r28) -/* 8030AC4C 48 00 00 24 */ b lbl_8030AC70 -lbl_8030AC50: -/* 8030AC50 FC 20 F8 90 */ fmr f1, f31 -/* 8030AC54 7F A3 EB 78 */ mr r3, r29 -/* 8030AC58 80 9B 00 10 */ lwz r4, 0x10(r27) -/* 8030AC5C A0 1D 00 02 */ lhz r0, 2(r29) -/* 8030AC60 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AC64 7C 84 02 14 */ add r4, r4, r0 -/* 8030AC68 48 00 1D 49 */ bl func_8030C9B0 -/* 8030AC6C D0 3C 00 08 */ stfs f1, 8(r28) -lbl_8030AC70: -/* 8030AC70 A0 1F 00 06 */ lhz r0, 6(r31) -/* 8030AC74 2C 00 00 01 */ cmpwi r0, 1 -/* 8030AC78 41 82 00 20 */ beq lbl_8030AC98 -/* 8030AC7C 40 80 00 3C */ bge lbl_8030ACB8 -/* 8030AC80 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AC84 40 80 00 08 */ bge lbl_8030AC8C -/* 8030AC88 48 00 00 30 */ b lbl_8030ACB8 -lbl_8030AC8C: -/* 8030AC8C 38 00 00 00 */ li r0, 0 -/* 8030AC90 B0 1C 00 0C */ sth r0, 0xc(r28) -/* 8030AC94 48 00 00 58 */ b lbl_8030ACEC -lbl_8030AC98: -/* 8030AC98 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8030AC9C A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030ACA0 54 00 08 3C */ slwi r0, r0, 1 -/* 8030ACA4 7C 63 02 AE */ lhax r3, r3, r0 -/* 8030ACA8 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 8030ACAC 7C 60 00 30 */ slw r0, r3, r0 -/* 8030ACB0 B0 1C 00 0C */ sth r0, 0xc(r28) -/* 8030ACB4 48 00 00 38 */ b lbl_8030ACEC -lbl_8030ACB8: -/* 8030ACB8 FC 20 F8 90 */ fmr f1, f31 -/* 8030ACBC 38 7F 00 06 */ addi r3, r31, 6 -/* 8030ACC0 80 9B 00 14 */ lwz r4, 0x14(r27) -/* 8030ACC4 A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030ACC8 54 00 08 3C */ slwi r0, r0, 1 -/* 8030ACCC 7C 84 02 14 */ add r4, r4, r0 -/* 8030ACD0 48 00 1A AD */ bl func_8030C77C -/* 8030ACD4 FC 00 08 1E */ fctiwz f0, f1 -/* 8030ACD8 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030ACDC 80 61 00 0C */ lwz r3, 0xc(r1) -/* 8030ACE0 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 8030ACE4 7C 60 00 30 */ slw r0, r3, r0 -/* 8030ACE8 B0 1C 00 0C */ sth r0, 0xc(r28) -lbl_8030ACEC: -/* 8030ACEC A0 1E 00 06 */ lhz r0, 6(r30) -/* 8030ACF0 2C 00 00 01 */ cmpwi r0, 1 -/* 8030ACF4 41 82 00 20 */ beq lbl_8030AD14 -/* 8030ACF8 40 80 00 3C */ bge lbl_8030AD34 -/* 8030ACFC 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AD00 40 80 00 08 */ bge lbl_8030AD08 -/* 8030AD04 48 00 00 30 */ b lbl_8030AD34 -lbl_8030AD08: -/* 8030AD08 38 00 00 00 */ li r0, 0 -/* 8030AD0C B0 1C 00 0E */ sth r0, 0xe(r28) -/* 8030AD10 48 00 00 58 */ b lbl_8030AD68 -lbl_8030AD14: -/* 8030AD14 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8030AD18 A0 1E 00 08 */ lhz r0, 8(r30) -/* 8030AD1C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030AD20 7C 63 02 AE */ lhax r3, r3, r0 -/* 8030AD24 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 8030AD28 7C 60 00 30 */ slw r0, r3, r0 -/* 8030AD2C B0 1C 00 0E */ sth r0, 0xe(r28) -/* 8030AD30 48 00 00 38 */ b lbl_8030AD68 -lbl_8030AD34: -/* 8030AD34 FC 20 F8 90 */ fmr f1, f31 -/* 8030AD38 38 7E 00 06 */ addi r3, r30, 6 -/* 8030AD3C 80 9B 00 14 */ lwz r4, 0x14(r27) -/* 8030AD40 A0 1E 00 08 */ lhz r0, 8(r30) -/* 8030AD44 54 00 08 3C */ slwi r0, r0, 1 -/* 8030AD48 7C 84 02 14 */ add r4, r4, r0 -/* 8030AD4C 48 00 1A 31 */ bl func_8030C77C -/* 8030AD50 FC 00 08 1E */ fctiwz f0, f1 -/* 8030AD54 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030AD58 80 61 00 0C */ lwz r3, 0xc(r1) -/* 8030AD5C 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 8030AD60 7C 60 00 30 */ slw r0, r3, r0 -/* 8030AD64 B0 1C 00 0E */ sth r0, 0xe(r28) -lbl_8030AD68: -/* 8030AD68 A0 1D 00 06 */ lhz r0, 6(r29) -/* 8030AD6C 2C 00 00 01 */ cmpwi r0, 1 -/* 8030AD70 41 82 00 20 */ beq lbl_8030AD90 -/* 8030AD74 40 80 00 3C */ bge lbl_8030ADB0 -/* 8030AD78 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AD7C 40 80 00 08 */ bge lbl_8030AD84 -/* 8030AD80 48 00 00 30 */ b lbl_8030ADB0 -lbl_8030AD84: -/* 8030AD84 38 00 00 00 */ li r0, 0 -/* 8030AD88 B0 1C 00 10 */ sth r0, 0x10(r28) -/* 8030AD8C 48 00 00 58 */ b lbl_8030ADE4 -lbl_8030AD90: -/* 8030AD90 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8030AD94 A0 1D 00 08 */ lhz r0, 8(r29) -/* 8030AD98 54 00 08 3C */ slwi r0, r0, 1 -/* 8030AD9C 7C 63 02 AE */ lhax r3, r3, r0 -/* 8030ADA0 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 8030ADA4 7C 60 00 30 */ slw r0, r3, r0 -/* 8030ADA8 B0 1C 00 10 */ sth r0, 0x10(r28) -/* 8030ADAC 48 00 00 38 */ b lbl_8030ADE4 -lbl_8030ADB0: -/* 8030ADB0 FC 20 F8 90 */ fmr f1, f31 -/* 8030ADB4 38 7D 00 06 */ addi r3, r29, 6 -/* 8030ADB8 80 9B 00 14 */ lwz r4, 0x14(r27) -/* 8030ADBC A0 1D 00 08 */ lhz r0, 8(r29) -/* 8030ADC0 54 00 08 3C */ slwi r0, r0, 1 -/* 8030ADC4 7C 84 02 14 */ add r4, r4, r0 -/* 8030ADC8 48 00 19 B5 */ bl func_8030C77C -/* 8030ADCC FC 00 08 1E */ fctiwz f0, f1 -/* 8030ADD0 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030ADD4 80 61 00 0C */ lwz r3, 0xc(r1) -/* 8030ADD8 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 8030ADDC 7C 60 00 30 */ slw r0, r3, r0 -/* 8030ADE0 B0 1C 00 10 */ sth r0, 0x10(r28) -lbl_8030ADE4: -/* 8030ADE4 A0 1F 00 0C */ lhz r0, 0xc(r31) -/* 8030ADE8 2C 00 00 01 */ cmpwi r0, 1 -/* 8030ADEC 41 82 00 20 */ beq lbl_8030AE0C -/* 8030ADF0 40 80 00 34 */ bge lbl_8030AE24 -/* 8030ADF4 2C 00 00 00 */ cmpwi r0, 0 -/* 8030ADF8 40 80 00 08 */ bge lbl_8030AE00 -/* 8030ADFC 48 00 00 28 */ b lbl_8030AE24 -lbl_8030AE00: -/* 8030AE00 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030AE04 D0 1C 00 14 */ stfs f0, 0x14(r28) -/* 8030AE08 48 00 00 3C */ b lbl_8030AE44 -lbl_8030AE0C: -/* 8030AE0C 80 7B 00 18 */ lwz r3, 0x18(r27) -/* 8030AE10 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030AE14 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AE18 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030AE1C D0 1C 00 14 */ stfs f0, 0x14(r28) -/* 8030AE20 48 00 00 24 */ b lbl_8030AE44 -lbl_8030AE24: -/* 8030AE24 FC 20 F8 90 */ fmr f1, f31 -/* 8030AE28 38 7F 00 0C */ addi r3, r31, 0xc -/* 8030AE2C 80 9B 00 18 */ lwz r4, 0x18(r27) -/* 8030AE30 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030AE34 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AE38 7C 84 02 14 */ add r4, r4, r0 -/* 8030AE3C 48 00 1B 75 */ bl func_8030C9B0 -/* 8030AE40 D0 3C 00 14 */ stfs f1, 0x14(r28) -lbl_8030AE44: -/* 8030AE44 A0 1E 00 0C */ lhz r0, 0xc(r30) -/* 8030AE48 2C 00 00 01 */ cmpwi r0, 1 -/* 8030AE4C 41 82 00 20 */ beq lbl_8030AE6C -/* 8030AE50 40 80 00 34 */ bge lbl_8030AE84 -/* 8030AE54 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AE58 40 80 00 08 */ bge lbl_8030AE60 -/* 8030AE5C 48 00 00 28 */ b lbl_8030AE84 -lbl_8030AE60: -/* 8030AE60 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030AE64 D0 1C 00 18 */ stfs f0, 0x18(r28) -/* 8030AE68 48 00 00 3C */ b lbl_8030AEA4 -lbl_8030AE6C: -/* 8030AE6C 80 7B 00 18 */ lwz r3, 0x18(r27) -/* 8030AE70 A0 1E 00 0E */ lhz r0, 0xe(r30) -/* 8030AE74 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AE78 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030AE7C D0 1C 00 18 */ stfs f0, 0x18(r28) -/* 8030AE80 48 00 00 24 */ b lbl_8030AEA4 -lbl_8030AE84: -/* 8030AE84 FC 20 F8 90 */ fmr f1, f31 -/* 8030AE88 38 7E 00 0C */ addi r3, r30, 0xc -/* 8030AE8C 80 9B 00 18 */ lwz r4, 0x18(r27) -/* 8030AE90 A0 1E 00 0E */ lhz r0, 0xe(r30) -/* 8030AE94 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AE98 7C 84 02 14 */ add r4, r4, r0 -/* 8030AE9C 48 00 1B 15 */ bl func_8030C9B0 -/* 8030AEA0 D0 3C 00 18 */ stfs f1, 0x18(r28) -lbl_8030AEA4: -/* 8030AEA4 A0 1D 00 0C */ lhz r0, 0xc(r29) -/* 8030AEA8 2C 00 00 01 */ cmpwi r0, 1 -/* 8030AEAC 41 82 00 20 */ beq lbl_8030AECC -/* 8030AEB0 40 80 00 34 */ bge lbl_8030AEE4 -/* 8030AEB4 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AEB8 40 80 00 08 */ bge lbl_8030AEC0 -/* 8030AEBC 48 00 00 28 */ b lbl_8030AEE4 -lbl_8030AEC0: -/* 8030AEC0 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030AEC4 D0 1C 00 1C */ stfs f0, 0x1c(r28) -/* 8030AEC8 48 00 00 3C */ b lbl_8030AF04 -lbl_8030AECC: -/* 8030AECC 80 7B 00 18 */ lwz r3, 0x18(r27) -/* 8030AED0 A0 1D 00 0E */ lhz r0, 0xe(r29) -/* 8030AED4 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AED8 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030AEDC D0 1C 00 1C */ stfs f0, 0x1c(r28) -/* 8030AEE0 48 00 00 24 */ b lbl_8030AF04 -lbl_8030AEE4: -/* 8030AEE4 FC 20 F8 90 */ fmr f1, f31 -/* 8030AEE8 38 7D 00 0C */ addi r3, r29, 0xc -/* 8030AEEC 80 9B 00 18 */ lwz r4, 0x18(r27) -/* 8030AEF0 A0 1D 00 0E */ lhz r0, 0xe(r29) -/* 8030AEF4 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AEF8 7C 84 02 14 */ add r4, r4, r0 -/* 8030AEFC 48 00 1A B5 */ bl func_8030C9B0 -/* 8030AF00 D0 3C 00 1C */ stfs f1, 0x1c(r28) -lbl_8030AF04: -/* 8030AF04 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8030AF08 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8030AF0C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030AF10 48 05 73 11 */ bl _restgpr_27 -/* 8030AF14 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8030AF18 7C 08 03 A6 */ mtlr r0 -/* 8030AF1C 38 21 00 40 */ addi r1, r1, 0x40 -/* 8030AF20 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo.s b/asm/JSystem/J2DGraph/J2DAnimation/calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo.s deleted file mode 100644 index 9009269a8e..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo.s +++ /dev/null @@ -1,177 +0,0 @@ -lbl_8030B9F0: -/* 8030B9F0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8030B9F4 7C 08 02 A6 */ mflr r0 -/* 8030B9F8 90 01 00 44 */ stw r0, 0x44(r1) -/* 8030B9FC DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8030BA00 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8030BA04 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030BA08 48 05 67 CD */ bl _savegpr_27 -/* 8030BA0C 7C 7B 1B 78 */ mr r27, r3 -/* 8030BA10 FF E0 08 90 */ fmr f31, f1 -/* 8030BA14 7C BC 2B 78 */ mr r28, r5 -/* 8030BA18 1C 04 00 03 */ mulli r0, r4, 3 -/* 8030BA1C 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 8030BA20 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8030BA24 1C 04 00 12 */ mulli r0, r4, 0x12 -/* 8030BA28 7F E3 02 14 */ add r31, r3, r0 -/* 8030BA2C 38 04 00 01 */ addi r0, r4, 1 -/* 8030BA30 1C 00 00 12 */ mulli r0, r0, 0x12 -/* 8030BA34 7F C3 02 14 */ add r30, r3, r0 -/* 8030BA38 38 04 00 02 */ addi r0, r4, 2 -/* 8030BA3C 1C 00 00 12 */ mulli r0, r0, 0x12 -/* 8030BA40 7F A3 02 14 */ add r29, r3, r0 -/* 8030BA44 A0 1F 00 00 */ lhz r0, 0(r31) -/* 8030BA48 2C 00 00 01 */ cmpwi r0, 1 -/* 8030BA4C 41 82 00 20 */ beq lbl_8030BA6C -/* 8030BA50 40 80 00 34 */ bge lbl_8030BA84 -/* 8030BA54 2C 00 00 00 */ cmpwi r0, 0 -/* 8030BA58 40 80 00 08 */ bge lbl_8030BA60 -/* 8030BA5C 48 00 00 28 */ b lbl_8030BA84 -lbl_8030BA60: -/* 8030BA60 C0 02 C9 10 */ lfs f0, lit_1619(r2) -/* 8030BA64 D0 1C 00 00 */ stfs f0, 0(r28) -/* 8030BA68 48 00 00 3C */ b lbl_8030BAA4 -lbl_8030BA6C: -/* 8030BA6C 80 7B 00 20 */ lwz r3, 0x20(r27) -/* 8030BA70 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030BA74 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BA78 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030BA7C D0 1C 00 00 */ stfs f0, 0(r28) -/* 8030BA80 48 00 00 24 */ b lbl_8030BAA4 -lbl_8030BA84: -/* 8030BA84 FC 20 F8 90 */ fmr f1, f31 -/* 8030BA88 7F E3 FB 78 */ mr r3, r31 -/* 8030BA8C 80 9B 00 20 */ lwz r4, 0x20(r27) -/* 8030BA90 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030BA94 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BA98 7C 84 02 14 */ add r4, r4, r0 -/* 8030BA9C 48 00 0F 15 */ bl func_8030C9B0 -/* 8030BAA0 D0 3C 00 00 */ stfs f1, 0(r28) -lbl_8030BAA4: -/* 8030BAA4 A0 1E 00 00 */ lhz r0, 0(r30) -/* 8030BAA8 2C 00 00 01 */ cmpwi r0, 1 -/* 8030BAAC 41 82 00 20 */ beq lbl_8030BACC -/* 8030BAB0 40 80 00 34 */ bge lbl_8030BAE4 -/* 8030BAB4 2C 00 00 00 */ cmpwi r0, 0 -/* 8030BAB8 40 80 00 08 */ bge lbl_8030BAC0 -/* 8030BABC 48 00 00 28 */ b lbl_8030BAE4 -lbl_8030BAC0: -/* 8030BAC0 C0 02 C9 10 */ lfs f0, lit_1619(r2) -/* 8030BAC4 D0 1C 00 04 */ stfs f0, 4(r28) -/* 8030BAC8 48 00 00 3C */ b lbl_8030BB04 -lbl_8030BACC: -/* 8030BACC 80 7B 00 20 */ lwz r3, 0x20(r27) -/* 8030BAD0 A0 1E 00 02 */ lhz r0, 2(r30) -/* 8030BAD4 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BAD8 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030BADC D0 1C 00 04 */ stfs f0, 4(r28) -/* 8030BAE0 48 00 00 24 */ b lbl_8030BB04 -lbl_8030BAE4: -/* 8030BAE4 FC 20 F8 90 */ fmr f1, f31 -/* 8030BAE8 7F C3 F3 78 */ mr r3, r30 -/* 8030BAEC 80 9B 00 20 */ lwz r4, 0x20(r27) -/* 8030BAF0 A0 1E 00 02 */ lhz r0, 2(r30) -/* 8030BAF4 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BAF8 7C 84 02 14 */ add r4, r4, r0 -/* 8030BAFC 48 00 0E B5 */ bl func_8030C9B0 -/* 8030BB00 D0 3C 00 04 */ stfs f1, 4(r28) -lbl_8030BB04: -/* 8030BB04 A0 1D 00 06 */ lhz r0, 6(r29) -/* 8030BB08 2C 00 00 01 */ cmpwi r0, 1 -/* 8030BB0C 41 82 00 20 */ beq lbl_8030BB2C -/* 8030BB10 40 80 00 3C */ bge lbl_8030BB4C -/* 8030BB14 2C 00 00 00 */ cmpwi r0, 0 -/* 8030BB18 40 80 00 08 */ bge lbl_8030BB20 -/* 8030BB1C 48 00 00 30 */ b lbl_8030BB4C -lbl_8030BB20: -/* 8030BB20 38 00 00 00 */ li r0, 0 -/* 8030BB24 B0 1C 00 08 */ sth r0, 8(r28) -/* 8030BB28 48 00 00 58 */ b lbl_8030BB80 -lbl_8030BB2C: -/* 8030BB2C 80 7B 00 24 */ lwz r3, 0x24(r27) -/* 8030BB30 A0 1D 00 08 */ lhz r0, 8(r29) -/* 8030BB34 54 00 08 3C */ slwi r0, r0, 1 -/* 8030BB38 7C 63 02 AE */ lhax r3, r3, r0 -/* 8030BB3C 80 1B 00 10 */ lwz r0, 0x10(r27) -/* 8030BB40 7C 60 00 30 */ slw r0, r3, r0 -/* 8030BB44 B0 1C 00 08 */ sth r0, 8(r28) -/* 8030BB48 48 00 00 38 */ b lbl_8030BB80 -lbl_8030BB4C: -/* 8030BB4C FC 20 F8 90 */ fmr f1, f31 -/* 8030BB50 38 7D 00 06 */ addi r3, r29, 6 -/* 8030BB54 80 9B 00 24 */ lwz r4, 0x24(r27) -/* 8030BB58 A0 1D 00 08 */ lhz r0, 8(r29) -/* 8030BB5C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030BB60 7C 84 02 14 */ add r4, r4, r0 -/* 8030BB64 48 00 0C 19 */ bl func_8030C77C -/* 8030BB68 FC 00 08 1E */ fctiwz f0, f1 -/* 8030BB6C D8 01 00 08 */ stfd f0, 8(r1) -/* 8030BB70 80 61 00 0C */ lwz r3, 0xc(r1) -/* 8030BB74 80 1B 00 10 */ lwz r0, 0x10(r27) -/* 8030BB78 7C 60 00 30 */ slw r0, r3, r0 -/* 8030BB7C B0 1C 00 08 */ sth r0, 8(r28) -lbl_8030BB80: -/* 8030BB80 A0 1F 00 0C */ lhz r0, 0xc(r31) -/* 8030BB84 2C 00 00 01 */ cmpwi r0, 1 -/* 8030BB88 41 82 00 20 */ beq lbl_8030BBA8 -/* 8030BB8C 40 80 00 34 */ bge lbl_8030BBC0 -/* 8030BB90 2C 00 00 00 */ cmpwi r0, 0 -/* 8030BB94 40 80 00 08 */ bge lbl_8030BB9C -/* 8030BB98 48 00 00 28 */ b lbl_8030BBC0 -lbl_8030BB9C: -/* 8030BB9C C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030BBA0 D0 1C 00 0C */ stfs f0, 0xc(r28) -/* 8030BBA4 48 00 00 3C */ b lbl_8030BBE0 -lbl_8030BBA8: -/* 8030BBA8 80 7B 00 28 */ lwz r3, 0x28(r27) -/* 8030BBAC A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030BBB0 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BBB4 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030BBB8 D0 1C 00 0C */ stfs f0, 0xc(r28) -/* 8030BBBC 48 00 00 24 */ b lbl_8030BBE0 -lbl_8030BBC0: -/* 8030BBC0 FC 20 F8 90 */ fmr f1, f31 -/* 8030BBC4 38 7F 00 0C */ addi r3, r31, 0xc -/* 8030BBC8 80 9B 00 28 */ lwz r4, 0x28(r27) -/* 8030BBCC A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030BBD0 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BBD4 7C 84 02 14 */ add r4, r4, r0 -/* 8030BBD8 48 00 0D D9 */ bl func_8030C9B0 -/* 8030BBDC D0 3C 00 0C */ stfs f1, 0xc(r28) -lbl_8030BBE0: -/* 8030BBE0 A0 1E 00 0C */ lhz r0, 0xc(r30) -/* 8030BBE4 2C 00 00 01 */ cmpwi r0, 1 -/* 8030BBE8 41 82 00 20 */ beq lbl_8030BC08 -/* 8030BBEC 40 80 00 34 */ bge lbl_8030BC20 -/* 8030BBF0 2C 00 00 00 */ cmpwi r0, 0 -/* 8030BBF4 40 80 00 08 */ bge lbl_8030BBFC -/* 8030BBF8 48 00 00 28 */ b lbl_8030BC20 -lbl_8030BBFC: -/* 8030BBFC C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030BC00 D0 1C 00 10 */ stfs f0, 0x10(r28) -/* 8030BC04 48 00 00 3C */ b lbl_8030BC40 -lbl_8030BC08: -/* 8030BC08 80 7B 00 28 */ lwz r3, 0x28(r27) -/* 8030BC0C A0 1E 00 0E */ lhz r0, 0xe(r30) -/* 8030BC10 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BC14 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030BC18 D0 1C 00 10 */ stfs f0, 0x10(r28) -/* 8030BC1C 48 00 00 24 */ b lbl_8030BC40 -lbl_8030BC20: -/* 8030BC20 FC 20 F8 90 */ fmr f1, f31 -/* 8030BC24 38 7E 00 0C */ addi r3, r30, 0xc -/* 8030BC28 80 9B 00 28 */ lwz r4, 0x28(r27) -/* 8030BC2C A0 1E 00 0E */ lhz r0, 0xe(r30) -/* 8030BC30 54 00 10 3A */ slwi r0, r0, 2 -/* 8030BC34 7C 84 02 14 */ add r4, r4, r0 -/* 8030BC38 48 00 0D 79 */ bl func_8030C9B0 -/* 8030BC3C D0 3C 00 10 */ stfs f1, 0x10(r28) -lbl_8030BC40: -/* 8030BC40 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8030BC44 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8030BC48 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030BC4C 48 05 65 D5 */ bl _restgpr_27 -/* 8030BC50 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8030BC54 7C 08 03 A6 */ mtlr r0 -/* 8030BC58 38 21 00 40 */ addi r1, r1, 0x40 -/* 8030BC5C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/func_8030C77C.s b/asm/JSystem/J2DGraph/J2DAnimation/func_8030C77C.s deleted file mode 100644 index c4b7e01f74..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/func_8030C77C.s +++ /dev/null @@ -1,151 +0,0 @@ -lbl_8030C77C: -/* 8030C77C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030C780 A8 04 00 00 */ lha r0, 0(r4) -/* 8030C784 C8 42 C9 20 */ lfd f2, lit_2379(r2) -/* 8030C788 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C78C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C790 3C A0 43 30 */ lis r5, 0x4330 -/* 8030C794 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C798 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C79C EC 00 10 28 */ fsubs f0, f0, f2 -/* 8030C7A0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8030C7A4 40 80 00 20 */ bge lbl_8030C7C4 -/* 8030C7A8 A8 04 00 02 */ lha r0, 2(r4) -/* 8030C7AC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C7B0 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C7B4 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C7B8 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C7BC EC 20 10 28 */ fsubs f1, f0, f2 -/* 8030C7C0 48 00 01 E8 */ b lbl_8030C9A8 -lbl_8030C7C4: -/* 8030C7C4 A0 03 00 04 */ lhz r0, 4(r3) -/* 8030C7C8 28 00 00 00 */ cmplwi r0, 0 -/* 8030C7CC 40 82 00 F4 */ bne lbl_8030C8C0 -/* 8030C7D0 A0 C3 00 00 */ lhz r6, 0(r3) -/* 8030C7D4 38 06 FF FF */ addi r0, r6, -1 -/* 8030C7D8 1C 60 00 06 */ mulli r3, r0, 6 -/* 8030C7DC 7C 04 1A AE */ lhax r0, r4, r3 -/* 8030C7E0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C7E4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C7E8 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C7EC C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C7F0 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8030C7F4 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8030C7F8 4C 40 13 82 */ cror 2, 0, 2 -/* 8030C7FC 40 82 00 68 */ bne lbl_8030C864 -/* 8030C800 7C 64 1A 14 */ add r3, r4, r3 -/* 8030C804 A8 03 00 02 */ lha r0, 2(r3) -/* 8030C808 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C80C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C810 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C814 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C818 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8030C81C 48 00 01 8C */ b lbl_8030C9A8 -/* 8030C820 48 00 00 44 */ b lbl_8030C864 -lbl_8030C824: -/* 8030C824 54 C7 F8 7E */ srwi r7, r6, 1 -/* 8030C828 1C 07 00 03 */ mulli r0, r7, 3 -/* 8030C82C 54 03 08 3C */ slwi r3, r0, 1 -/* 8030C830 7C 04 1A AE */ lhax r0, r4, r3 -/* 8030C834 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C838 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C83C 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C840 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C844 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8030C848 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8030C84C 4C 41 13 82 */ cror 2, 1, 2 -/* 8030C850 40 82 00 10 */ bne lbl_8030C860 -/* 8030C854 7C 84 1A 14 */ add r4, r4, r3 -/* 8030C858 7C C7 30 50 */ subf r6, r7, r6 -/* 8030C85C 48 00 00 08 */ b lbl_8030C864 -lbl_8030C860: -/* 8030C860 7C E6 3B 78 */ mr r6, r7 -lbl_8030C864: -/* 8030C864 28 06 00 01 */ cmplwi r6, 1 -/* 8030C868 41 81 FF BC */ bgt lbl_8030C824 -/* 8030C86C E0 44 D0 00 */ psq_l f2, 0(r4), 1, 5 /* qr5 */ -/* 8030C870 E0 04 D0 06 */ psq_l f0, 6(r4), 1, 5 /* qr5 */ -/* 8030C874 E0 E4 D0 02 */ psq_l f7, 2(r4), 1, 5 /* qr5 */ -/* 8030C878 EC A0 10 28 */ fsubs f5, f0, f2 -/* 8030C87C E0 C4 D0 08 */ psq_l f6, 8(r4), 1, 5 /* qr5 */ -/* 8030C880 EC 61 10 28 */ fsubs f3, f1, f2 -/* 8030C884 E0 04 D0 0A */ psq_l f0, 10(r4), 1, 5 /* qr5 */ -/* 8030C888 EC 86 38 28 */ fsubs f4, f6, f7 -/* 8030C88C EC 63 28 24 */ fdivs f3, f3, f5 -/* 8030C890 E0 24 D0 04 */ psq_l f1, 4(r4), 1, 5 /* qr5 */ -/* 8030C894 EC 00 39 7A */ fmadds f0, f0, f5, f7 -/* 8030C898 EC 43 00 F2 */ fmuls f2, f3, f3 -/* 8030C89C EC 85 20 7C */ fnmsubs f4, f5, f1, f4 -/* 8030C8A0 EC 00 30 28 */ fsubs f0, f0, f6 -/* 8030C8A4 EC 00 20 28 */ fsubs f0, f0, f4 -/* 8030C8A8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8030C8AC EC 25 00 7A */ fmadds f1, f5, f1, f0 -/* 8030C8B0 EC 21 38 FA */ fmadds f1, f1, f3, f7 -/* 8030C8B4 EC 24 08 BA */ fmadds f1, f4, f2, f1 -/* 8030C8B8 EC 21 00 28 */ fsubs f1, f1, f0 -/* 8030C8BC 48 00 00 EC */ b lbl_8030C9A8 -lbl_8030C8C0: -/* 8030C8C0 A0 C3 00 00 */ lhz r6, 0(r3) -/* 8030C8C4 38 06 FF FF */ addi r0, r6, -1 -/* 8030C8C8 54 03 18 38 */ slwi r3, r0, 3 -/* 8030C8CC 7C 04 1A AE */ lhax r0, r4, r3 -/* 8030C8D0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C8D4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C8D8 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C8DC C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C8E0 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8030C8E4 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8030C8E8 4C 40 13 82 */ cror 2, 0, 2 -/* 8030C8EC 40 82 00 64 */ bne lbl_8030C950 -/* 8030C8F0 7C 64 1A 14 */ add r3, r4, r3 -/* 8030C8F4 A8 03 00 02 */ lha r0, 2(r3) -/* 8030C8F8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C8FC 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C900 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C904 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C908 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8030C90C 48 00 00 9C */ b lbl_8030C9A8 -/* 8030C910 48 00 00 40 */ b lbl_8030C950 -lbl_8030C914: -/* 8030C914 54 C7 F8 7E */ srwi r7, r6, 1 -/* 8030C918 54 C3 10 38 */ rlwinm r3, r6, 2, 0, 0x1c -/* 8030C91C 7C 04 1A AE */ lhax r0, r4, r3 -/* 8030C920 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8030C924 90 01 00 0C */ stw r0, 0xc(r1) -/* 8030C928 90 A1 00 08 */ stw r5, 8(r1) -/* 8030C92C C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C930 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8030C934 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8030C938 4C 41 13 82 */ cror 2, 1, 2 -/* 8030C93C 40 82 00 10 */ bne lbl_8030C94C -/* 8030C940 7C 84 1A 14 */ add r4, r4, r3 -/* 8030C944 7C C7 30 50 */ subf r6, r7, r6 -/* 8030C948 48 00 00 08 */ b lbl_8030C950 -lbl_8030C94C: -/* 8030C94C 7C E6 3B 78 */ mr r6, r7 -lbl_8030C950: -/* 8030C950 28 06 00 01 */ cmplwi r6, 1 -/* 8030C954 41 81 FF C0 */ bgt lbl_8030C914 -/* 8030C958 E0 44 D0 00 */ psq_l f2, 0(r4), 1, 5 /* qr5 */ -/* 8030C95C E0 04 D0 08 */ psq_l f0, 8(r4), 1, 5 /* qr5 */ -/* 8030C960 E0 E4 D0 02 */ psq_l f7, 2(r4), 1, 5 /* qr5 */ -/* 8030C964 EC A0 10 28 */ fsubs f5, f0, f2 -/* 8030C968 E0 C4 D0 0A */ psq_l f6, 10(r4), 1, 5 /* qr5 */ -/* 8030C96C EC 61 10 28 */ fsubs f3, f1, f2 -/* 8030C970 E0 04 D0 0C */ psq_l f0, 12(r4), 1, 5 /* qr5 */ -/* 8030C974 EC 86 38 28 */ fsubs f4, f6, f7 -/* 8030C978 EC 63 28 24 */ fdivs f3, f3, f5 -/* 8030C97C E0 24 D0 06 */ psq_l f1, 6(r4), 1, 5 /* qr5 */ -/* 8030C980 EC 00 39 7A */ fmadds f0, f0, f5, f7 -/* 8030C984 EC 43 00 F2 */ fmuls f2, f3, f3 -/* 8030C988 EC 85 20 7C */ fnmsubs f4, f5, f1, f4 -/* 8030C98C EC 00 30 28 */ fsubs f0, f0, f6 -/* 8030C990 EC 00 20 28 */ fsubs f0, f0, f4 -/* 8030C994 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8030C998 EC 25 00 7A */ fmadds f1, f5, f1, f0 -/* 8030C99C EC 21 38 FA */ fmadds f1, f1, f3, f7 -/* 8030C9A0 EC 24 08 BA */ fmadds f1, f4, f2, f1 -/* 8030C9A4 EC 21 00 28 */ fsubs f1, f1, f0 -lbl_8030C9A8: -/* 8030C9A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030C9AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/func_8030C9B0.s b/asm/JSystem/J2DGraph/J2DAnimation/func_8030C9B0.s deleted file mode 100644 index bb3c09c813..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/func_8030C9B0.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_8030C9B0: -/* 8030C9B0 C0 04 00 00 */ lfs f0, 0(r4) -/* 8030C9B4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8030C9B8 40 80 00 0C */ bge lbl_8030C9C4 -/* 8030C9BC C0 24 00 04 */ lfs f1, 4(r4) -/* 8030C9C0 4E 80 00 20 */ blr -lbl_8030C9C4: -/* 8030C9C4 A0 03 00 04 */ lhz r0, 4(r3) -/* 8030C9C8 28 00 00 00 */ cmplwi r0, 0 -/* 8030C9CC 40 82 00 B4 */ bne lbl_8030CA80 -/* 8030C9D0 A0 63 00 00 */ lhz r3, 0(r3) -/* 8030C9D4 38 03 FF FF */ addi r0, r3, -1 -/* 8030C9D8 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8030C9DC 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8030C9E0 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8030C9E4 4C 40 13 82 */ cror 2, 0, 2 -/* 8030C9E8 40 82 00 40 */ bne lbl_8030CA28 -/* 8030C9EC 7C 64 02 14 */ add r3, r4, r0 -/* 8030C9F0 C0 23 00 04 */ lfs f1, 4(r3) -/* 8030C9F4 4E 80 00 20 */ blr -/* 8030C9F8 48 00 00 30 */ b lbl_8030CA28 -lbl_8030C9FC: -/* 8030C9FC 54 65 F8 7E */ srwi r5, r3, 1 -/* 8030CA00 1C 05 00 03 */ mulli r0, r5, 3 -/* 8030CA04 54 00 10 3A */ slwi r0, r0, 2 -/* 8030CA08 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8030CA0C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8030CA10 4C 41 13 82 */ cror 2, 1, 2 -/* 8030CA14 40 82 00 10 */ bne lbl_8030CA24 -/* 8030CA18 7C 84 02 14 */ add r4, r4, r0 -/* 8030CA1C 7C 65 18 50 */ subf r3, r5, r3 -/* 8030CA20 48 00 00 08 */ b lbl_8030CA28 -lbl_8030CA24: -/* 8030CA24 7C A3 2B 78 */ mr r3, r5 -lbl_8030CA28: -/* 8030CA28 28 03 00 01 */ cmplwi r3, 1 -/* 8030CA2C 41 81 FF D0 */ bgt lbl_8030C9FC -/* 8030CA30 C1 24 00 14 */ lfs f9, 0x14(r4) -/* 8030CA34 C1 04 00 10 */ lfs f8, 0x10(r4) -/* 8030CA38 C0 44 00 0C */ lfs f2, 0xc(r4) -/* 8030CA3C C0 E4 00 08 */ lfs f7, 8(r4) -/* 8030CA40 C0 C4 00 04 */ lfs f6, 4(r4) -/* 8030CA44 C0 04 00 00 */ lfs f0, 0(r4) -/* 8030CA48 EC A1 00 28 */ fsubs f5, f1, f0 -/* 8030CA4C EC 82 00 28 */ fsubs f4, f2, f0 -/* 8030CA50 EC 65 20 24 */ fdivs f3, f5, f4 -/* 8030CA54 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 8030CA58 EC 23 18 2A */ fadds f1, f3, f3 -/* 8030CA5C EC 40 18 28 */ fsubs f2, f0, f3 -/* 8030CA60 EC 86 40 28 */ fsubs f4, f6, f8 -/* 8030CA64 EC 01 00 B8 */ fmsubs f0, f1, f2, f0 -/* 8030CA68 EC 27 38 BA */ fmadds f1, f7, f2, f7 -/* 8030CA6C EC 00 31 3A */ fmadds f0, f0, f4, f6 -/* 8030CA70 EC 29 08 BA */ fmadds f1, f9, f2, f1 -/* 8030CA74 EC 23 09 F8 */ fmsubs f1, f3, f7, f1 -/* 8030CA78 EC 25 00 7C */ fnmsubs f1, f5, f1, f0 -/* 8030CA7C 4E 80 00 20 */ blr -lbl_8030CA80: -/* 8030CA80 A0 63 00 00 */ lhz r3, 0(r3) -/* 8030CA84 38 03 FF FF */ addi r0, r3, -1 -/* 8030CA88 54 00 20 36 */ slwi r0, r0, 4 -/* 8030CA8C 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8030CA90 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8030CA94 4C 40 13 82 */ cror 2, 0, 2 -/* 8030CA98 40 82 00 3C */ bne lbl_8030CAD4 -/* 8030CA9C 7C 64 02 14 */ add r3, r4, r0 -/* 8030CAA0 C0 23 00 04 */ lfs f1, 4(r3) -/* 8030CAA4 4E 80 00 20 */ blr -/* 8030CAA8 48 00 00 2C */ b lbl_8030CAD4 -lbl_8030CAAC: -/* 8030CAAC 54 65 F8 7E */ srwi r5, r3, 1 -/* 8030CAB0 54 60 18 36 */ rlwinm r0, r3, 3, 0, 0x1b -/* 8030CAB4 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8030CAB8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8030CABC 4C 41 13 82 */ cror 2, 1, 2 -/* 8030CAC0 40 82 00 10 */ bne lbl_8030CAD0 -/* 8030CAC4 7C 84 02 14 */ add r4, r4, r0 -/* 8030CAC8 7C 65 18 50 */ subf r3, r5, r3 -/* 8030CACC 48 00 00 08 */ b lbl_8030CAD4 -lbl_8030CAD0: -/* 8030CAD0 7C A3 2B 78 */ mr r3, r5 -lbl_8030CAD4: -/* 8030CAD4 28 03 00 01 */ cmplwi r3, 1 -/* 8030CAD8 41 81 FF D4 */ bgt lbl_8030CAAC -/* 8030CADC C1 24 00 18 */ lfs f9, 0x18(r4) -/* 8030CAE0 C1 04 00 14 */ lfs f8, 0x14(r4) -/* 8030CAE4 C0 44 00 10 */ lfs f2, 0x10(r4) -/* 8030CAE8 C0 E4 00 0C */ lfs f7, 0xc(r4) -/* 8030CAEC C0 C4 00 04 */ lfs f6, 4(r4) -/* 8030CAF0 C0 04 00 00 */ lfs f0, 0(r4) -/* 8030CAF4 EC A1 00 28 */ fsubs f5, f1, f0 -/* 8030CAF8 EC 82 00 28 */ fsubs f4, f2, f0 -/* 8030CAFC EC 65 20 24 */ fdivs f3, f5, f4 -/* 8030CB00 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 8030CB04 EC 23 18 2A */ fadds f1, f3, f3 -/* 8030CB08 EC 40 18 28 */ fsubs f2, f0, f3 -/* 8030CB0C EC 86 40 28 */ fsubs f4, f6, f8 -/* 8030CB10 EC 01 00 B8 */ fmsubs f0, f1, f2, f0 -/* 8030CB14 EC 27 38 BA */ fmadds f1, f7, f2, f7 -/* 8030CB18 EC 00 31 3A */ fmadds f0, f0, f4, f6 -/* 8030CB1C EC 29 08 BA */ fmadds f1, f9, f2, f1 -/* 8030CB20 EC 23 09 F8 */ fmsubs f1, f3, f7, f1 -/* 8030CB24 EC 25 00 7C */ fnmsubs f1, f5, f1, f0 -/* 8030CB28 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getColor__14J2DAnmColorKeyCFUsP8_GXColor.s b/asm/JSystem/J2DGraph/J2DAnimation/getColor__14J2DAnmColorKeyCFUsP8_GXColor.s deleted file mode 100644 index d09ed003c6..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getColor__14J2DAnmColorKeyCFUsP8_GXColor.s +++ /dev/null @@ -1,202 +0,0 @@ -lbl_8030B200: -/* 8030B200 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8030B204 7C 08 02 A6 */ mflr r0 -/* 8030B208 90 01 00 44 */ stw r0, 0x44(r1) -/* 8030B20C DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8030B210 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8030B214 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030B218 48 05 6F C5 */ bl _savegpr_29 -/* 8030B21C 7C 7D 1B 78 */ mr r29, r3 -/* 8030B220 7C BE 2B 78 */ mr r30, r5 -/* 8030B224 80 63 00 40 */ lwz r3, 0x40(r3) -/* 8030B228 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8030B22C 1C 00 00 18 */ mulli r0, r0, 0x18 -/* 8030B230 7F E3 02 14 */ add r31, r3, r0 -/* 8030B234 A0 1F 00 00 */ lhz r0, 0(r31) -/* 8030B238 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B23C 41 82 00 20 */ beq lbl_8030B25C -/* 8030B240 40 80 00 34 */ bge lbl_8030B274 -/* 8030B244 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B248 40 80 00 08 */ bge lbl_8030B250 -/* 8030B24C 48 00 00 28 */ b lbl_8030B274 -lbl_8030B250: -/* 8030B250 38 00 00 00 */ li r0, 0 -/* 8030B254 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B258 48 00 00 78 */ b lbl_8030B2D0 -lbl_8030B25C: -/* 8030B25C 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 8030B260 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030B264 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B268 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B26C 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B270 48 00 00 60 */ b lbl_8030B2D0 -lbl_8030B274: -/* 8030B274 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B278 7F E3 FB 78 */ mr r3, r31 -/* 8030B27C 80 9D 00 30 */ lwz r4, 0x30(r29) -/* 8030B280 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030B284 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B288 7C 84 02 14 */ add r4, r4, r0 -/* 8030B28C 48 00 14 F1 */ bl func_8030C77C -/* 8030B290 FF E0 08 90 */ fmr f31, f1 -/* 8030B294 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B298 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B29C 40 80 00 10 */ bge lbl_8030B2AC -/* 8030B2A0 38 00 00 00 */ li r0, 0 -/* 8030B2A4 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B2A8 48 00 00 28 */ b lbl_8030B2D0 -lbl_8030B2AC: -/* 8030B2AC C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B2B0 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B2B4 40 81 00 10 */ ble lbl_8030B2C4 -/* 8030B2B8 38 00 00 FF */ li r0, 0xff -/* 8030B2BC 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B2C0 48 00 00 10 */ b lbl_8030B2D0 -lbl_8030B2C4: -/* 8030B2C4 F3 E1 A0 14 */ psq_st f31, 20(r1), 1, 2 /* qr2 */ -/* 8030B2C8 88 01 00 14 */ lbz r0, 0x14(r1) -/* 8030B2CC 98 1E 00 00 */ stb r0, 0(r30) -lbl_8030B2D0: -/* 8030B2D0 A0 1F 00 06 */ lhz r0, 6(r31) -/* 8030B2D4 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B2D8 41 82 00 20 */ beq lbl_8030B2F8 -/* 8030B2DC 40 80 00 34 */ bge lbl_8030B310 -/* 8030B2E0 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B2E4 40 80 00 08 */ bge lbl_8030B2EC -/* 8030B2E8 48 00 00 28 */ b lbl_8030B310 -lbl_8030B2EC: -/* 8030B2EC 38 00 00 00 */ li r0, 0 -/* 8030B2F0 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B2F4 48 00 00 78 */ b lbl_8030B36C -lbl_8030B2F8: -/* 8030B2F8 80 7D 00 34 */ lwz r3, 0x34(r29) -/* 8030B2FC A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030B300 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B304 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B308 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B30C 48 00 00 60 */ b lbl_8030B36C -lbl_8030B310: -/* 8030B310 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B314 38 7F 00 06 */ addi r3, r31, 6 -/* 8030B318 80 9D 00 34 */ lwz r4, 0x34(r29) -/* 8030B31C A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030B320 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B324 7C 84 02 14 */ add r4, r4, r0 -/* 8030B328 48 00 14 55 */ bl func_8030C77C -/* 8030B32C FF E0 08 90 */ fmr f31, f1 -/* 8030B330 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B334 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B338 40 80 00 10 */ bge lbl_8030B348 -/* 8030B33C 38 00 00 00 */ li r0, 0 -/* 8030B340 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B344 48 00 00 28 */ b lbl_8030B36C -lbl_8030B348: -/* 8030B348 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B34C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B350 40 81 00 10 */ ble lbl_8030B360 -/* 8030B354 38 00 00 FF */ li r0, 0xff -/* 8030B358 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B35C 48 00 00 10 */ b lbl_8030B36C -lbl_8030B360: -/* 8030B360 F3 E1 A0 10 */ psq_st f31, 16(r1), 1, 2 /* qr2 */ -/* 8030B364 88 01 00 10 */ lbz r0, 0x10(r1) -/* 8030B368 98 1E 00 01 */ stb r0, 1(r30) -lbl_8030B36C: -/* 8030B36C A0 1F 00 0C */ lhz r0, 0xc(r31) -/* 8030B370 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B374 41 82 00 20 */ beq lbl_8030B394 -/* 8030B378 40 80 00 34 */ bge lbl_8030B3AC -/* 8030B37C 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B380 40 80 00 08 */ bge lbl_8030B388 -/* 8030B384 48 00 00 28 */ b lbl_8030B3AC -lbl_8030B388: -/* 8030B388 38 00 00 00 */ li r0, 0 -/* 8030B38C 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B390 48 00 00 78 */ b lbl_8030B408 -lbl_8030B394: -/* 8030B394 80 7D 00 38 */ lwz r3, 0x38(r29) -/* 8030B398 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030B39C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B3A0 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B3A4 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B3A8 48 00 00 60 */ b lbl_8030B408 -lbl_8030B3AC: -/* 8030B3AC C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B3B0 38 7F 00 0C */ addi r3, r31, 0xc -/* 8030B3B4 80 9D 00 38 */ lwz r4, 0x38(r29) -/* 8030B3B8 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030B3BC 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B3C0 7C 84 02 14 */ add r4, r4, r0 -/* 8030B3C4 48 00 13 B9 */ bl func_8030C77C -/* 8030B3C8 FF E0 08 90 */ fmr f31, f1 -/* 8030B3CC C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B3D0 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B3D4 40 80 00 10 */ bge lbl_8030B3E4 -/* 8030B3D8 38 00 00 00 */ li r0, 0 -/* 8030B3DC 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B3E0 48 00 00 28 */ b lbl_8030B408 -lbl_8030B3E4: -/* 8030B3E4 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B3E8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B3EC 40 81 00 10 */ ble lbl_8030B3FC -/* 8030B3F0 38 00 00 FF */ li r0, 0xff -/* 8030B3F4 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B3F8 48 00 00 10 */ b lbl_8030B408 -lbl_8030B3FC: -/* 8030B3FC F3 E1 A0 0C */ psq_st f31, 12(r1), 1, 2 /* qr2 */ -/* 8030B400 88 01 00 0C */ lbz r0, 0xc(r1) -/* 8030B404 98 1E 00 02 */ stb r0, 2(r30) -lbl_8030B408: -/* 8030B408 A0 1F 00 12 */ lhz r0, 0x12(r31) -/* 8030B40C 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B410 41 82 00 20 */ beq lbl_8030B430 -/* 8030B414 40 80 00 34 */ bge lbl_8030B448 -/* 8030B418 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B41C 40 80 00 08 */ bge lbl_8030B424 -/* 8030B420 48 00 00 28 */ b lbl_8030B448 -lbl_8030B424: -/* 8030B424 38 00 00 00 */ li r0, 0 -/* 8030B428 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B42C 48 00 00 78 */ b lbl_8030B4A4 -lbl_8030B430: -/* 8030B430 80 7D 00 3C */ lwz r3, 0x3c(r29) -/* 8030B434 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030B438 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B43C 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B440 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B444 48 00 00 60 */ b lbl_8030B4A4 -lbl_8030B448: -/* 8030B448 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B44C 38 7F 00 12 */ addi r3, r31, 0x12 -/* 8030B450 80 9D 00 3C */ lwz r4, 0x3c(r29) -/* 8030B454 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030B458 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B45C 7C 84 02 14 */ add r4, r4, r0 -/* 8030B460 48 00 13 1D */ bl func_8030C77C -/* 8030B464 FF E0 08 90 */ fmr f31, f1 -/* 8030B468 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B46C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B470 40 80 00 10 */ bge lbl_8030B480 -/* 8030B474 38 00 00 00 */ li r0, 0 -/* 8030B478 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B47C 48 00 00 28 */ b lbl_8030B4A4 -lbl_8030B480: -/* 8030B480 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B484 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B488 40 81 00 10 */ ble lbl_8030B498 -/* 8030B48C 38 00 00 FF */ li r0, 0xff -/* 8030B490 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B494 48 00 00 10 */ b lbl_8030B4A4 -lbl_8030B498: -/* 8030B498 F3 E1 A0 08 */ psq_st f31, 8(r1), 1, 2 /* qr2 */ -/* 8030B49C 88 01 00 08 */ lbz r0, 8(r1) -/* 8030B4A0 98 1E 00 03 */ stb r0, 3(r30) -lbl_8030B4A4: -/* 8030B4A4 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8030B4A8 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8030B4AC 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030B4B0 48 05 6D 79 */ bl _restgpr_29 -/* 8030B4B4 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8030B4B8 7C 08 03 A6 */ mtlr r0 -/* 8030B4BC 38 21 00 40 */ addi r1, r1, 0x40 -/* 8030B4C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getColor__15J2DAnmColorFullCFUsP8_GXColor.s b/asm/JSystem/J2DGraph/J2DAnimation/getColor__15J2DAnmColorFullCFUsP8_GXColor.s deleted file mode 100644 index 78fe3481dc..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getColor__15J2DAnmColorFullCFUsP8_GXColor.s +++ /dev/null @@ -1,155 +0,0 @@ -lbl_8030AFC8: -/* 8030AFC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030AFCC 80 C3 00 40 */ lwz r6, 0x40(r3) -/* 8030AFD0 54 80 23 36 */ rlwinm r0, r4, 4, 0xc, 0x1b -/* 8030AFD4 7C 86 02 14 */ add r4, r6, r0 -/* 8030AFD8 A0 E4 00 00 */ lhz r7, 0(r4) -/* 8030AFDC C0 43 00 08 */ lfs f2, 8(r3) -/* 8030AFE0 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030AFE4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030AFE8 40 80 00 18 */ bge lbl_8030B000 -/* 8030AFEC 80 C3 00 30 */ lwz r6, 0x30(r3) -/* 8030AFF0 A0 04 00 02 */ lhz r0, 2(r4) -/* 8030AFF4 7C 06 00 AE */ lbzx r0, r6, r0 -/* 8030AFF8 98 05 00 00 */ stb r0, 0(r5) -/* 8030AFFC 48 00 00 64 */ b lbl_8030B060 -lbl_8030B000: -/* 8030B000 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B004 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8030B008 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B00C 90 01 00 08 */ stw r0, 8(r1) -/* 8030B010 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B014 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B018 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B01C 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B020 40 82 00 20 */ bne lbl_8030B040 -/* 8030B024 80 C3 00 30 */ lwz r6, 0x30(r3) -/* 8030B028 A0 04 00 02 */ lhz r0, 2(r4) -/* 8030B02C 7C 06 02 14 */ add r0, r6, r0 -/* 8030B030 7C C0 3A 14 */ add r6, r0, r7 -/* 8030B034 88 06 FF FF */ lbz r0, -1(r6) -/* 8030B038 98 05 00 00 */ stb r0, 0(r5) -/* 8030B03C 48 00 00 24 */ b lbl_8030B060 -lbl_8030B040: -/* 8030B040 80 E3 00 30 */ lwz r7, 0x30(r3) -/* 8030B044 A0 C4 00 02 */ lhz r6, 2(r4) -/* 8030B048 FC 00 10 1E */ fctiwz f0, f2 -/* 8030B04C D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B050 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B054 7C 06 02 14 */ add r0, r6, r0 -/* 8030B058 7C 07 00 AE */ lbzx r0, r7, r0 -/* 8030B05C 98 05 00 00 */ stb r0, 0(r5) -lbl_8030B060: -/* 8030B060 A0 E4 00 04 */ lhz r7, 4(r4) -/* 8030B064 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030B068 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B06C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B070 40 80 00 18 */ bge lbl_8030B088 -/* 8030B074 80 C3 00 34 */ lwz r6, 0x34(r3) -/* 8030B078 A0 04 00 06 */ lhz r0, 6(r4) -/* 8030B07C 7C 06 00 AE */ lbzx r0, r6, r0 -/* 8030B080 98 05 00 01 */ stb r0, 1(r5) -/* 8030B084 48 00 00 64 */ b lbl_8030B0E8 -lbl_8030B088: -/* 8030B088 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B08C 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8030B090 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B094 90 01 00 08 */ stw r0, 8(r1) -/* 8030B098 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B09C EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B0A0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B0A4 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B0A8 40 82 00 20 */ bne lbl_8030B0C8 -/* 8030B0AC 80 C3 00 34 */ lwz r6, 0x34(r3) -/* 8030B0B0 A0 04 00 06 */ lhz r0, 6(r4) -/* 8030B0B4 7C 06 02 14 */ add r0, r6, r0 -/* 8030B0B8 7C C0 3A 14 */ add r6, r0, r7 -/* 8030B0BC 88 06 FF FF */ lbz r0, -1(r6) -/* 8030B0C0 98 05 00 01 */ stb r0, 1(r5) -/* 8030B0C4 48 00 00 24 */ b lbl_8030B0E8 -lbl_8030B0C8: -/* 8030B0C8 80 E3 00 34 */ lwz r7, 0x34(r3) -/* 8030B0CC A0 C4 00 06 */ lhz r6, 6(r4) -/* 8030B0D0 FC 00 10 1E */ fctiwz f0, f2 -/* 8030B0D4 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B0D8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B0DC 7C 06 02 14 */ add r0, r6, r0 -/* 8030B0E0 7C 07 00 AE */ lbzx r0, r7, r0 -/* 8030B0E4 98 05 00 01 */ stb r0, 1(r5) -lbl_8030B0E8: -/* 8030B0E8 A0 E4 00 08 */ lhz r7, 8(r4) -/* 8030B0EC C0 43 00 08 */ lfs f2, 8(r3) -/* 8030B0F0 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B0F4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B0F8 40 80 00 18 */ bge lbl_8030B110 -/* 8030B0FC 80 C3 00 38 */ lwz r6, 0x38(r3) -/* 8030B100 A0 04 00 0A */ lhz r0, 0xa(r4) -/* 8030B104 7C 06 00 AE */ lbzx r0, r6, r0 -/* 8030B108 98 05 00 02 */ stb r0, 2(r5) -/* 8030B10C 48 00 00 64 */ b lbl_8030B170 -lbl_8030B110: -/* 8030B110 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B114 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8030B118 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B11C 90 01 00 08 */ stw r0, 8(r1) -/* 8030B120 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B124 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B128 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B12C 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B130 40 82 00 20 */ bne lbl_8030B150 -/* 8030B134 80 C3 00 38 */ lwz r6, 0x38(r3) -/* 8030B138 A0 04 00 0A */ lhz r0, 0xa(r4) -/* 8030B13C 7C 06 02 14 */ add r0, r6, r0 -/* 8030B140 7C C0 3A 14 */ add r6, r0, r7 -/* 8030B144 88 06 FF FF */ lbz r0, -1(r6) -/* 8030B148 98 05 00 02 */ stb r0, 2(r5) -/* 8030B14C 48 00 00 24 */ b lbl_8030B170 -lbl_8030B150: -/* 8030B150 80 E3 00 38 */ lwz r7, 0x38(r3) -/* 8030B154 A0 C4 00 0A */ lhz r6, 0xa(r4) -/* 8030B158 FC 00 10 1E */ fctiwz f0, f2 -/* 8030B15C D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B160 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B164 7C 06 02 14 */ add r0, r6, r0 -/* 8030B168 7C 07 00 AE */ lbzx r0, r7, r0 -/* 8030B16C 98 05 00 02 */ stb r0, 2(r5) -lbl_8030B170: -/* 8030B170 A0 C4 00 0C */ lhz r6, 0xc(r4) -/* 8030B174 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030B178 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B17C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B180 40 80 00 18 */ bge lbl_8030B198 -/* 8030B184 80 63 00 3C */ lwz r3, 0x3c(r3) -/* 8030B188 A0 04 00 0E */ lhz r0, 0xe(r4) -/* 8030B18C 7C 03 00 AE */ lbzx r0, r3, r0 -/* 8030B190 98 05 00 03 */ stb r0, 3(r5) -/* 8030B194 48 00 00 64 */ b lbl_8030B1F8 -lbl_8030B198: -/* 8030B198 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B19C 90 C1 00 0C */ stw r6, 0xc(r1) -/* 8030B1A0 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B1A4 90 01 00 08 */ stw r0, 8(r1) -/* 8030B1A8 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B1AC EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B1B0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B1B4 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B1B8 40 82 00 20 */ bne lbl_8030B1D8 -/* 8030B1BC 80 63 00 3C */ lwz r3, 0x3c(r3) -/* 8030B1C0 A0 04 00 0E */ lhz r0, 0xe(r4) -/* 8030B1C4 7C 03 02 14 */ add r0, r3, r0 -/* 8030B1C8 7C 60 32 14 */ add r3, r0, r6 -/* 8030B1CC 88 03 FF FF */ lbz r0, -1(r3) -/* 8030B1D0 98 05 00 03 */ stb r0, 3(r5) -/* 8030B1D4 48 00 00 24 */ b lbl_8030B1F8 -lbl_8030B1D8: -/* 8030B1D8 80 C3 00 3C */ lwz r6, 0x3c(r3) -/* 8030B1DC A0 64 00 0E */ lhz r3, 0xe(r4) -/* 8030B1E0 FC 00 10 1E */ fctiwz f0, f2 -/* 8030B1E4 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B1E8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B1EC 7C 03 02 14 */ add r0, r3, r0 -/* 8030B1F0 7C 06 00 AE */ lbzx r0, r6, r0 -/* 8030B1F4 98 05 00 03 */ stb r0, 3(r5) -lbl_8030B1F8: -/* 8030B1F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030B1FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor.s b/asm/JSystem/J2DGraph/J2DAnimation/getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor.s deleted file mode 100644 index 5ed944c619..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor.s +++ /dev/null @@ -1,212 +0,0 @@ -lbl_8030B704: -/* 8030B704 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8030B708 7C 08 02 A6 */ mflr r0 -/* 8030B70C 90 01 00 44 */ stw r0, 0x44(r1) -/* 8030B710 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8030B714 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8030B718 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030B71C 48 05 6A C1 */ bl _savegpr_29 -/* 8030B720 7C 7D 1B 78 */ mr r29, r3 -/* 8030B724 7C DE 33 78 */ mr r30, r6 -/* 8030B728 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d -/* 8030B72C 7C 7D 02 14 */ add r3, r29, r0 -/* 8030B730 80 63 00 24 */ lwz r3, 0x24(r3) -/* 8030B734 54 A0 04 3E */ clrlwi r0, r5, 0x10 -/* 8030B738 1C 00 00 18 */ mulli r0, r0, 0x18 -/* 8030B73C 7F E3 02 14 */ add r31, r3, r0 -/* 8030B740 A0 1F 00 00 */ lhz r0, 0(r31) -/* 8030B744 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B748 41 82 00 20 */ beq lbl_8030B768 -/* 8030B74C 40 80 00 34 */ bge lbl_8030B780 -/* 8030B750 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B754 40 80 00 08 */ bge lbl_8030B75C -/* 8030B758 48 00 00 28 */ b lbl_8030B780 -lbl_8030B75C: -/* 8030B75C 38 00 00 00 */ li r0, 0 -/* 8030B760 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B764 48 00 00 80 */ b lbl_8030B7E4 -lbl_8030B768: -/* 8030B768 80 7D 00 2C */ lwz r3, 0x2c(r29) -/* 8030B76C A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030B770 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B774 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B778 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B77C 48 00 00 68 */ b lbl_8030B7E4 -lbl_8030B780: -/* 8030B780 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B784 7F E3 FB 78 */ mr r3, r31 -/* 8030B788 80 9D 00 2C */ lwz r4, 0x2c(r29) -/* 8030B78C A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030B790 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B794 7C 84 02 14 */ add r4, r4, r0 -/* 8030B798 48 00 0F E5 */ bl func_8030C77C -/* 8030B79C FF E0 08 90 */ fmr f31, f1 -/* 8030B7A0 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B7A4 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B7A8 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B7AC 40 82 00 10 */ bne lbl_8030B7BC -/* 8030B7B0 38 00 00 00 */ li r0, 0 -/* 8030B7B4 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B7B8 48 00 00 2C */ b lbl_8030B7E4 -lbl_8030B7BC: -/* 8030B7BC C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B7C0 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B7C4 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B7C8 40 82 00 14 */ bne lbl_8030B7DC -/* 8030B7CC F3 E1 A0 14 */ psq_st f31, 20(r1), 1, 2 /* qr2 */ -/* 8030B7D0 88 01 00 14 */ lbz r0, 0x14(r1) -/* 8030B7D4 98 1E 00 00 */ stb r0, 0(r30) -/* 8030B7D8 48 00 00 0C */ b lbl_8030B7E4 -lbl_8030B7DC: -/* 8030B7DC 38 00 00 FF */ li r0, 0xff -/* 8030B7E0 98 1E 00 00 */ stb r0, 0(r30) -lbl_8030B7E4: -/* 8030B7E4 A0 1F 00 06 */ lhz r0, 6(r31) -/* 8030B7E8 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B7EC 41 82 00 20 */ beq lbl_8030B80C -/* 8030B7F0 40 80 00 34 */ bge lbl_8030B824 -/* 8030B7F4 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B7F8 40 80 00 08 */ bge lbl_8030B800 -/* 8030B7FC 48 00 00 28 */ b lbl_8030B824 -lbl_8030B800: -/* 8030B800 38 00 00 00 */ li r0, 0 -/* 8030B804 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B808 48 00 00 80 */ b lbl_8030B888 -lbl_8030B80C: -/* 8030B80C 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 8030B810 A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030B814 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B818 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B81C 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B820 48 00 00 68 */ b lbl_8030B888 -lbl_8030B824: -/* 8030B824 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B828 38 7F 00 06 */ addi r3, r31, 6 -/* 8030B82C 80 9D 00 30 */ lwz r4, 0x30(r29) -/* 8030B830 A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030B834 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B838 7C 84 02 14 */ add r4, r4, r0 -/* 8030B83C 48 00 0F 41 */ bl func_8030C77C -/* 8030B840 FF E0 08 90 */ fmr f31, f1 -/* 8030B844 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B848 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B84C 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B850 40 82 00 10 */ bne lbl_8030B860 -/* 8030B854 38 00 00 00 */ li r0, 0 -/* 8030B858 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B85C 48 00 00 2C */ b lbl_8030B888 -lbl_8030B860: -/* 8030B860 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B864 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B868 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B86C 40 82 00 14 */ bne lbl_8030B880 -/* 8030B870 F3 E1 A0 10 */ psq_st f31, 16(r1), 1, 2 /* qr2 */ -/* 8030B874 88 01 00 10 */ lbz r0, 0x10(r1) -/* 8030B878 98 1E 00 01 */ stb r0, 1(r30) -/* 8030B87C 48 00 00 0C */ b lbl_8030B888 -lbl_8030B880: -/* 8030B880 38 00 00 FF */ li r0, 0xff -/* 8030B884 98 1E 00 01 */ stb r0, 1(r30) -lbl_8030B888: -/* 8030B888 A0 1F 00 0C */ lhz r0, 0xc(r31) -/* 8030B88C 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B890 41 82 00 20 */ beq lbl_8030B8B0 -/* 8030B894 40 80 00 34 */ bge lbl_8030B8C8 -/* 8030B898 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B89C 40 80 00 08 */ bge lbl_8030B8A4 -/* 8030B8A0 48 00 00 28 */ b lbl_8030B8C8 -lbl_8030B8A4: -/* 8030B8A4 38 00 00 00 */ li r0, 0 -/* 8030B8A8 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B8AC 48 00 00 80 */ b lbl_8030B92C -lbl_8030B8B0: -/* 8030B8B0 80 7D 00 34 */ lwz r3, 0x34(r29) -/* 8030B8B4 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030B8B8 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B8BC 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B8C0 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B8C4 48 00 00 68 */ b lbl_8030B92C -lbl_8030B8C8: -/* 8030B8C8 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B8CC 38 7F 00 0C */ addi r3, r31, 0xc -/* 8030B8D0 80 9D 00 34 */ lwz r4, 0x34(r29) -/* 8030B8D4 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030B8D8 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B8DC 7C 84 02 14 */ add r4, r4, r0 -/* 8030B8E0 48 00 0E 9D */ bl func_8030C77C -/* 8030B8E4 FF E0 08 90 */ fmr f31, f1 -/* 8030B8E8 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B8EC FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B8F0 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B8F4 40 82 00 10 */ bne lbl_8030B904 -/* 8030B8F8 38 00 00 00 */ li r0, 0 -/* 8030B8FC 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B900 48 00 00 2C */ b lbl_8030B92C -lbl_8030B904: -/* 8030B904 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B908 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B90C 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B910 40 82 00 14 */ bne lbl_8030B924 -/* 8030B914 F3 E1 A0 0C */ psq_st f31, 12(r1), 1, 2 /* qr2 */ -/* 8030B918 88 01 00 0C */ lbz r0, 0xc(r1) -/* 8030B91C 98 1E 00 02 */ stb r0, 2(r30) -/* 8030B920 48 00 00 0C */ b lbl_8030B92C -lbl_8030B924: -/* 8030B924 38 00 00 FF */ li r0, 0xff -/* 8030B928 98 1E 00 02 */ stb r0, 2(r30) -lbl_8030B92C: -/* 8030B92C A0 1F 00 12 */ lhz r0, 0x12(r31) -/* 8030B930 2C 00 00 01 */ cmpwi r0, 1 -/* 8030B934 41 82 00 20 */ beq lbl_8030B954 -/* 8030B938 40 80 00 34 */ bge lbl_8030B96C -/* 8030B93C 2C 00 00 00 */ cmpwi r0, 0 -/* 8030B940 40 80 00 08 */ bge lbl_8030B948 -/* 8030B944 48 00 00 28 */ b lbl_8030B96C -lbl_8030B948: -/* 8030B948 38 00 00 00 */ li r0, 0 -/* 8030B94C 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B950 48 00 00 80 */ b lbl_8030B9D0 -lbl_8030B954: -/* 8030B954 80 7D 00 38 */ lwz r3, 0x38(r29) -/* 8030B958 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030B95C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B960 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030B964 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B968 48 00 00 68 */ b lbl_8030B9D0 -lbl_8030B96C: -/* 8030B96C C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030B970 38 7F 00 12 */ addi r3, r31, 0x12 -/* 8030B974 80 9D 00 38 */ lwz r4, 0x38(r29) -/* 8030B978 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030B97C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030B980 7C 84 02 14 */ add r4, r4, r0 -/* 8030B984 48 00 0D F9 */ bl func_8030C77C -/* 8030B988 FF E0 08 90 */ fmr f31, f1 -/* 8030B98C C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B990 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B994 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B998 40 82 00 10 */ bne lbl_8030B9A8 -/* 8030B99C 38 00 00 00 */ li r0, 0 -/* 8030B9A0 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B9A4 48 00 00 2C */ b lbl_8030B9D0 -lbl_8030B9A8: -/* 8030B9A8 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030B9AC FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030B9B0 4C 40 13 82 */ cror 2, 0, 2 -/* 8030B9B4 40 82 00 14 */ bne lbl_8030B9C8 -/* 8030B9B8 F3 E1 A0 08 */ psq_st f31, 8(r1), 1, 2 /* qr2 */ -/* 8030B9BC 88 01 00 08 */ lbz r0, 8(r1) -/* 8030B9C0 98 1E 00 03 */ stb r0, 3(r30) -/* 8030B9C4 48 00 00 0C */ b lbl_8030B9D0 -lbl_8030B9C8: -/* 8030B9C8 38 00 00 FF */ li r0, 0xff -/* 8030B9CC 98 1E 00 03 */ stb r0, 3(r30) -lbl_8030B9D0: -/* 8030B9D0 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8030B9D4 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8030B9D8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030B9DC 48 05 68 4D */ bl _restgpr_29 -/* 8030B9E0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8030B9E4 7C 08 03 A6 */ mtlr r0 -/* 8030B9E8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8030B9EC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor.s b/asm/JSystem/J2DGraph/J2DAnimation/getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor.s deleted file mode 100644 index 8503ee813f..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor.s +++ /dev/null @@ -1,157 +0,0 @@ -lbl_8030B4C4: -/* 8030B4C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030B4C8 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d -/* 8030B4CC 7C 83 02 14 */ add r4, r3, r0 -/* 8030B4D0 80 84 00 24 */ lwz r4, 0x24(r4) -/* 8030B4D4 54 A0 23 36 */ rlwinm r0, r5, 4, 0xc, 0x1b -/* 8030B4D8 7C 84 02 14 */ add r4, r4, r0 -/* 8030B4DC A0 E4 00 00 */ lhz r7, 0(r4) -/* 8030B4E0 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030B4E4 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B4E8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B4EC 40 80 00 18 */ bge lbl_8030B504 -/* 8030B4F0 80 A3 00 2C */ lwz r5, 0x2c(r3) -/* 8030B4F4 A0 04 00 02 */ lhz r0, 2(r4) -/* 8030B4F8 7C 05 00 AE */ lbzx r0, r5, r0 -/* 8030B4FC 98 06 00 00 */ stb r0, 0(r6) -/* 8030B500 48 00 00 64 */ b lbl_8030B564 -lbl_8030B504: -/* 8030B504 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B508 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8030B50C 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B510 90 01 00 08 */ stw r0, 8(r1) -/* 8030B514 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B518 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B51C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B520 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B524 40 82 00 20 */ bne lbl_8030B544 -/* 8030B528 80 A3 00 2C */ lwz r5, 0x2c(r3) -/* 8030B52C A0 04 00 02 */ lhz r0, 2(r4) -/* 8030B530 7C 05 02 14 */ add r0, r5, r0 -/* 8030B534 7C A0 3A 14 */ add r5, r0, r7 -/* 8030B538 88 05 FF FF */ lbz r0, -1(r5) -/* 8030B53C 98 06 00 00 */ stb r0, 0(r6) -/* 8030B540 48 00 00 24 */ b lbl_8030B564 -lbl_8030B544: -/* 8030B544 80 E3 00 2C */ lwz r7, 0x2c(r3) -/* 8030B548 A0 A4 00 02 */ lhz r5, 2(r4) -/* 8030B54C FC 00 10 1E */ fctiwz f0, f2 -/* 8030B550 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B554 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B558 7C 05 02 14 */ add r0, r5, r0 -/* 8030B55C 7C 07 00 AE */ lbzx r0, r7, r0 -/* 8030B560 98 06 00 00 */ stb r0, 0(r6) -lbl_8030B564: -/* 8030B564 A0 E4 00 04 */ lhz r7, 4(r4) -/* 8030B568 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030B56C C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B570 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B574 40 80 00 18 */ bge lbl_8030B58C -/* 8030B578 80 A3 00 30 */ lwz r5, 0x30(r3) -/* 8030B57C A0 04 00 06 */ lhz r0, 6(r4) -/* 8030B580 7C 05 00 AE */ lbzx r0, r5, r0 -/* 8030B584 98 06 00 01 */ stb r0, 1(r6) -/* 8030B588 48 00 00 64 */ b lbl_8030B5EC -lbl_8030B58C: -/* 8030B58C C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B590 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8030B594 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B598 90 01 00 08 */ stw r0, 8(r1) -/* 8030B59C C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B5A0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B5A4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B5A8 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B5AC 40 82 00 20 */ bne lbl_8030B5CC -/* 8030B5B0 80 A3 00 30 */ lwz r5, 0x30(r3) -/* 8030B5B4 A0 04 00 06 */ lhz r0, 6(r4) -/* 8030B5B8 7C 05 02 14 */ add r0, r5, r0 -/* 8030B5BC 7C A0 3A 14 */ add r5, r0, r7 -/* 8030B5C0 88 05 FF FF */ lbz r0, -1(r5) -/* 8030B5C4 98 06 00 01 */ stb r0, 1(r6) -/* 8030B5C8 48 00 00 24 */ b lbl_8030B5EC -lbl_8030B5CC: -/* 8030B5CC 80 E3 00 30 */ lwz r7, 0x30(r3) -/* 8030B5D0 A0 A4 00 06 */ lhz r5, 6(r4) -/* 8030B5D4 FC 00 10 1E */ fctiwz f0, f2 -/* 8030B5D8 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B5DC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B5E0 7C 05 02 14 */ add r0, r5, r0 -/* 8030B5E4 7C 07 00 AE */ lbzx r0, r7, r0 -/* 8030B5E8 98 06 00 01 */ stb r0, 1(r6) -lbl_8030B5EC: -/* 8030B5EC A0 E4 00 08 */ lhz r7, 8(r4) -/* 8030B5F0 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030B5F4 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B5F8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B5FC 40 80 00 18 */ bge lbl_8030B614 -/* 8030B600 80 A3 00 34 */ lwz r5, 0x34(r3) -/* 8030B604 A0 04 00 0A */ lhz r0, 0xa(r4) -/* 8030B608 7C 05 00 AE */ lbzx r0, r5, r0 -/* 8030B60C 98 06 00 02 */ stb r0, 2(r6) -/* 8030B610 48 00 00 64 */ b lbl_8030B674 -lbl_8030B614: -/* 8030B614 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B618 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8030B61C 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B620 90 01 00 08 */ stw r0, 8(r1) -/* 8030B624 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B628 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B62C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B630 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B634 40 82 00 20 */ bne lbl_8030B654 -/* 8030B638 80 A3 00 34 */ lwz r5, 0x34(r3) -/* 8030B63C A0 04 00 0A */ lhz r0, 0xa(r4) -/* 8030B640 7C 05 02 14 */ add r0, r5, r0 -/* 8030B644 7C A0 3A 14 */ add r5, r0, r7 -/* 8030B648 88 05 FF FF */ lbz r0, -1(r5) -/* 8030B64C 98 06 00 02 */ stb r0, 2(r6) -/* 8030B650 48 00 00 24 */ b lbl_8030B674 -lbl_8030B654: -/* 8030B654 80 E3 00 34 */ lwz r7, 0x34(r3) -/* 8030B658 A0 A4 00 0A */ lhz r5, 0xa(r4) -/* 8030B65C FC 00 10 1E */ fctiwz f0, f2 -/* 8030B660 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B664 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B668 7C 05 02 14 */ add r0, r5, r0 -/* 8030B66C 7C 07 00 AE */ lbzx r0, r7, r0 -/* 8030B670 98 06 00 02 */ stb r0, 2(r6) -lbl_8030B674: -/* 8030B674 A0 A4 00 0C */ lhz r5, 0xc(r4) -/* 8030B678 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030B67C C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030B680 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B684 40 80 00 18 */ bge lbl_8030B69C -/* 8030B688 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8030B68C A0 04 00 0E */ lhz r0, 0xe(r4) -/* 8030B690 7C 03 00 AE */ lbzx r0, r3, r0 -/* 8030B694 98 06 00 03 */ stb r0, 3(r6) -/* 8030B698 48 00 00 64 */ b lbl_8030B6FC -lbl_8030B69C: -/* 8030B69C C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030B6A0 90 A1 00 0C */ stw r5, 0xc(r1) -/* 8030B6A4 3C 00 43 30 */ lis r0, 0x4330 -/* 8030B6A8 90 01 00 08 */ stw r0, 8(r1) -/* 8030B6AC C8 01 00 08 */ lfd f0, 8(r1) -/* 8030B6B0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030B6B4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030B6B8 4C 41 13 82 */ cror 2, 1, 2 -/* 8030B6BC 40 82 00 20 */ bne lbl_8030B6DC -/* 8030B6C0 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8030B6C4 A0 04 00 0E */ lhz r0, 0xe(r4) -/* 8030B6C8 7C 03 02 14 */ add r0, r3, r0 -/* 8030B6CC 7C 60 2A 14 */ add r3, r0, r5 -/* 8030B6D0 88 03 FF FF */ lbz r0, -1(r3) -/* 8030B6D4 98 06 00 03 */ stb r0, 3(r6) -/* 8030B6D8 48 00 00 24 */ b lbl_8030B6FC -lbl_8030B6DC: -/* 8030B6DC 80 A3 00 38 */ lwz r5, 0x38(r3) -/* 8030B6E0 A0 64 00 0E */ lhz r3, 0xe(r4) -/* 8030B6E4 FC 00 10 1E */ fctiwz f0, f2 -/* 8030B6E8 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030B6EC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030B6F0 7C 03 02 14 */ add r0, r3, r0 -/* 8030B6F4 7C 05 00 AE */ lbzx r0, r5, r0 -/* 8030B6F8 98 06 00 03 */ stb r0, 3(r6) -lbl_8030B6FC: -/* 8030B6FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030B700 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getPalette__16J2DAnmTexPatternCFUs.s b/asm/JSystem/J2DGraph/J2DAnimation/getPalette__16J2DAnmTexPatternCFUs.s deleted file mode 100644 index 40ceb02e66..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getPalette__16J2DAnmTexPatternCFUs.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8030BFF0: -/* 8030BFF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030BFF4 7C 08 02 A6 */ mflr r0 -/* 8030BFF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030BFFC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8030C000 7C 7F 1B 78 */ mr r31, r3 -/* 8030C004 80 03 00 30 */ lwz r0, 0x30(r3) -/* 8030C008 28 00 00 00 */ cmplwi r0, 0 -/* 8030C00C 40 82 00 0C */ bne lbl_8030C018 -/* 8030C010 38 60 00 00 */ li r3, 0 -/* 8030C014 48 00 00 20 */ b lbl_8030C034 -lbl_8030C018: -/* 8030C018 38 A1 00 08 */ addi r5, r1, 8 -/* 8030C01C 4B FF FE CD */ bl getTexNo__16J2DAnmTexPatternCFUsPUs -/* 8030C020 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8030C024 A0 01 00 08 */ lhz r0, 8(r1) -/* 8030C028 54 00 18 38 */ slwi r0, r0, 3 -/* 8030C02C 7C 63 02 14 */ add r3, r3, r0 -/* 8030C030 80 63 00 04 */ lwz r3, 4(r3) -lbl_8030C034: -/* 8030C034 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8030C038 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030C03C 7C 08 03 A6 */ mtlr r0 -/* 8030C040 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030C044 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getResTIMG__16J2DAnmTexPatternCFUs.s b/asm/JSystem/J2DGraph/J2DAnimation/getResTIMG__16J2DAnmTexPatternCFUs.s deleted file mode 100644 index 9595a71b75..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getResTIMG__16J2DAnmTexPatternCFUs.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8030BF9C: -/* 8030BF9C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030BFA0 7C 08 02 A6 */ mflr r0 -/* 8030BFA4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030BFA8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8030BFAC 7C 7F 1B 78 */ mr r31, r3 -/* 8030BFB0 80 03 00 30 */ lwz r0, 0x30(r3) -/* 8030BFB4 28 00 00 00 */ cmplwi r0, 0 -/* 8030BFB8 40 82 00 0C */ bne lbl_8030BFC4 -/* 8030BFBC 38 60 00 00 */ li r3, 0 -/* 8030BFC0 48 00 00 1C */ b lbl_8030BFDC -lbl_8030BFC4: -/* 8030BFC4 38 A1 00 08 */ addi r5, r1, 8 -/* 8030BFC8 4B FF FF 21 */ bl getTexNo__16J2DAnmTexPatternCFUsPUs -/* 8030BFCC 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8030BFD0 A0 01 00 08 */ lhz r0, 8(r1) -/* 8030BFD4 54 00 18 38 */ slwi r0, r0, 3 -/* 8030BFD8 7C 63 00 2E */ lwzx r3, r3, r0 -lbl_8030BFDC: -/* 8030BFDC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8030BFE0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030BFE4 7C 08 03 A6 */ mtlr r0 -/* 8030BFE8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030BFEC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10.s b/asm/JSystem/J2DGraph/J2DAnimation/getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10.s deleted file mode 100644 index e51c0c3954..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10.s +++ /dev/null @@ -1,202 +0,0 @@ -lbl_8030C0F0: -/* 8030C0F0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8030C0F4 7C 08 02 A6 */ mflr r0 -/* 8030C0F8 90 01 00 44 */ stw r0, 0x44(r1) -/* 8030C0FC DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8030C100 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8030C104 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030C108 48 05 60 D5 */ bl _savegpr_29 -/* 8030C10C 7C 7D 1B 78 */ mr r29, r3 -/* 8030C110 7C BE 2B 78 */ mr r30, r5 -/* 8030C114 80 63 00 4C */ lwz r3, 0x4c(r3) -/* 8030C118 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8030C11C 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 8030C120 7F E3 02 14 */ add r31, r3, r0 -/* 8030C124 A0 1F 00 00 */ lhz r0, 0(r31) -/* 8030C128 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C12C 41 82 00 20 */ beq lbl_8030C14C -/* 8030C130 40 80 00 34 */ bge lbl_8030C164 -/* 8030C134 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C138 40 80 00 08 */ bge lbl_8030C140 -/* 8030C13C 48 00 00 28 */ b lbl_8030C164 -lbl_8030C140: -/* 8030C140 38 00 00 00 */ li r0, 0 -/* 8030C144 B0 1E 00 00 */ sth r0, 0(r30) -/* 8030C148 48 00 00 78 */ b lbl_8030C1C0 -lbl_8030C14C: -/* 8030C14C 80 7D 00 54 */ lwz r3, 0x54(r29) -/* 8030C150 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030C154 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C158 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C15C B0 1E 00 00 */ sth r0, 0(r30) -/* 8030C160 48 00 00 60 */ b lbl_8030C1C0 -lbl_8030C164: -/* 8030C164 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C168 7F E3 FB 78 */ mr r3, r31 -/* 8030C16C 80 9D 00 54 */ lwz r4, 0x54(r29) -/* 8030C170 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030C174 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C178 7C 84 02 14 */ add r4, r4, r0 -/* 8030C17C 48 00 06 01 */ bl func_8030C77C -/* 8030C180 FF E0 08 90 */ fmr f31, f1 -/* 8030C184 C0 02 C9 18 */ lfs f0, lit_2110(r2) -/* 8030C188 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C18C 40 80 00 10 */ bge lbl_8030C19C -/* 8030C190 38 00 FC 00 */ li r0, -1024 -/* 8030C194 B0 1E 00 00 */ sth r0, 0(r30) -/* 8030C198 48 00 00 28 */ b lbl_8030C1C0 -lbl_8030C19C: -/* 8030C19C C0 02 C9 1C */ lfs f0, lit_2111(r2) -/* 8030C1A0 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C1A4 40 81 00 10 */ ble lbl_8030C1B4 -/* 8030C1A8 38 00 03 FF */ li r0, 0x3ff -/* 8030C1AC B0 1E 00 00 */ sth r0, 0(r30) -/* 8030C1B0 48 00 00 10 */ b lbl_8030C1C0 -lbl_8030C1B4: -/* 8030C1B4 F3 E1 D0 14 */ psq_st f31, 20(r1), 1, 5 /* qr5 */ -/* 8030C1B8 A8 01 00 14 */ lha r0, 0x14(r1) -/* 8030C1BC B0 1E 00 00 */ sth r0, 0(r30) -lbl_8030C1C0: -/* 8030C1C0 A0 1F 00 06 */ lhz r0, 6(r31) -/* 8030C1C4 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C1C8 41 82 00 20 */ beq lbl_8030C1E8 -/* 8030C1CC 40 80 00 34 */ bge lbl_8030C200 -/* 8030C1D0 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C1D4 40 80 00 08 */ bge lbl_8030C1DC -/* 8030C1D8 48 00 00 28 */ b lbl_8030C200 -lbl_8030C1DC: -/* 8030C1DC 38 00 00 00 */ li r0, 0 -/* 8030C1E0 B0 1E 00 02 */ sth r0, 2(r30) -/* 8030C1E4 48 00 00 78 */ b lbl_8030C25C -lbl_8030C1E8: -/* 8030C1E8 80 7D 00 58 */ lwz r3, 0x58(r29) -/* 8030C1EC A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030C1F0 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C1F4 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C1F8 B0 1E 00 02 */ sth r0, 2(r30) -/* 8030C1FC 48 00 00 60 */ b lbl_8030C25C -lbl_8030C200: -/* 8030C200 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C204 38 7F 00 06 */ addi r3, r31, 6 -/* 8030C208 80 9D 00 58 */ lwz r4, 0x58(r29) -/* 8030C20C A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030C210 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C214 7C 84 02 14 */ add r4, r4, r0 -/* 8030C218 48 00 05 65 */ bl func_8030C77C -/* 8030C21C FF E0 08 90 */ fmr f31, f1 -/* 8030C220 C0 02 C9 18 */ lfs f0, lit_2110(r2) -/* 8030C224 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C228 40 80 00 10 */ bge lbl_8030C238 -/* 8030C22C 38 00 FC 00 */ li r0, -1024 -/* 8030C230 B0 1E 00 02 */ sth r0, 2(r30) -/* 8030C234 48 00 00 28 */ b lbl_8030C25C -lbl_8030C238: -/* 8030C238 C0 02 C9 1C */ lfs f0, lit_2111(r2) -/* 8030C23C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C240 40 81 00 10 */ ble lbl_8030C250 -/* 8030C244 38 00 03 FF */ li r0, 0x3ff -/* 8030C248 B0 1E 00 02 */ sth r0, 2(r30) -/* 8030C24C 48 00 00 10 */ b lbl_8030C25C -lbl_8030C250: -/* 8030C250 F3 E1 D0 10 */ psq_st f31, 16(r1), 1, 5 /* qr5 */ -/* 8030C254 A8 01 00 10 */ lha r0, 0x10(r1) -/* 8030C258 B0 1E 00 02 */ sth r0, 2(r30) -lbl_8030C25C: -/* 8030C25C A0 1F 00 0C */ lhz r0, 0xc(r31) -/* 8030C260 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C264 41 82 00 20 */ beq lbl_8030C284 -/* 8030C268 40 80 00 34 */ bge lbl_8030C29C -/* 8030C26C 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C270 40 80 00 08 */ bge lbl_8030C278 -/* 8030C274 48 00 00 28 */ b lbl_8030C29C -lbl_8030C278: -/* 8030C278 38 00 00 00 */ li r0, 0 -/* 8030C27C B0 1E 00 04 */ sth r0, 4(r30) -/* 8030C280 48 00 00 78 */ b lbl_8030C2F8 -lbl_8030C284: -/* 8030C284 80 7D 00 5C */ lwz r3, 0x5c(r29) -/* 8030C288 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030C28C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C290 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C294 B0 1E 00 04 */ sth r0, 4(r30) -/* 8030C298 48 00 00 60 */ b lbl_8030C2F8 -lbl_8030C29C: -/* 8030C29C C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C2A0 38 7F 00 0C */ addi r3, r31, 0xc -/* 8030C2A4 80 9D 00 5C */ lwz r4, 0x5c(r29) -/* 8030C2A8 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030C2AC 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C2B0 7C 84 02 14 */ add r4, r4, r0 -/* 8030C2B4 48 00 04 C9 */ bl func_8030C77C -/* 8030C2B8 FF E0 08 90 */ fmr f31, f1 -/* 8030C2BC C0 02 C9 18 */ lfs f0, lit_2110(r2) -/* 8030C2C0 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C2C4 40 80 00 10 */ bge lbl_8030C2D4 -/* 8030C2C8 38 00 FC 00 */ li r0, -1024 -/* 8030C2CC B0 1E 00 04 */ sth r0, 4(r30) -/* 8030C2D0 48 00 00 28 */ b lbl_8030C2F8 -lbl_8030C2D4: -/* 8030C2D4 C0 02 C9 1C */ lfs f0, lit_2111(r2) -/* 8030C2D8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C2DC 40 81 00 10 */ ble lbl_8030C2EC -/* 8030C2E0 38 00 03 FF */ li r0, 0x3ff -/* 8030C2E4 B0 1E 00 04 */ sth r0, 4(r30) -/* 8030C2E8 48 00 00 10 */ b lbl_8030C2F8 -lbl_8030C2EC: -/* 8030C2EC F3 E1 D0 0C */ psq_st f31, 12(r1), 1, 5 /* qr5 */ -/* 8030C2F0 A8 01 00 0C */ lha r0, 0xc(r1) -/* 8030C2F4 B0 1E 00 04 */ sth r0, 4(r30) -lbl_8030C2F8: -/* 8030C2F8 A0 1F 00 12 */ lhz r0, 0x12(r31) -/* 8030C2FC 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C300 41 82 00 20 */ beq lbl_8030C320 -/* 8030C304 40 80 00 34 */ bge lbl_8030C338 -/* 8030C308 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C30C 40 80 00 08 */ bge lbl_8030C314 -/* 8030C310 48 00 00 28 */ b lbl_8030C338 -lbl_8030C314: -/* 8030C314 38 00 00 00 */ li r0, 0 -/* 8030C318 B0 1E 00 06 */ sth r0, 6(r30) -/* 8030C31C 48 00 00 78 */ b lbl_8030C394 -lbl_8030C320: -/* 8030C320 80 7D 00 60 */ lwz r3, 0x60(r29) -/* 8030C324 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030C328 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C32C 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C330 B0 1E 00 06 */ sth r0, 6(r30) -/* 8030C334 48 00 00 60 */ b lbl_8030C394 -lbl_8030C338: -/* 8030C338 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C33C 38 7F 00 12 */ addi r3, r31, 0x12 -/* 8030C340 80 9D 00 60 */ lwz r4, 0x60(r29) -/* 8030C344 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030C348 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C34C 7C 84 02 14 */ add r4, r4, r0 -/* 8030C350 48 00 04 2D */ bl func_8030C77C -/* 8030C354 FF E0 08 90 */ fmr f31, f1 -/* 8030C358 C0 02 C9 18 */ lfs f0, lit_2110(r2) -/* 8030C35C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C360 40 80 00 10 */ bge lbl_8030C370 -/* 8030C364 38 00 FC 00 */ li r0, -1024 -/* 8030C368 B0 1E 00 06 */ sth r0, 6(r30) -/* 8030C36C 48 00 00 28 */ b lbl_8030C394 -lbl_8030C370: -/* 8030C370 C0 02 C9 1C */ lfs f0, lit_2111(r2) -/* 8030C374 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C378 40 81 00 10 */ ble lbl_8030C388 -/* 8030C37C 38 00 03 FF */ li r0, 0x3ff -/* 8030C380 B0 1E 00 06 */ sth r0, 6(r30) -/* 8030C384 48 00 00 10 */ b lbl_8030C394 -lbl_8030C388: -/* 8030C388 F3 E1 D0 08 */ psq_st f31, 8(r1), 1, 5 /* qr5 */ -/* 8030C38C A8 01 00 08 */ lha r0, 8(r1) -/* 8030C390 B0 1E 00 06 */ sth r0, 6(r30) -lbl_8030C394: -/* 8030C394 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8030C398 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8030C39C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030C3A0 48 05 5E 89 */ bl _restgpr_29 -/* 8030C3A4 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8030C3A8 7C 08 03 A6 */ mtlr r0 -/* 8030C3AC 38 21 00 40 */ addi r1, r1, 0x40 -/* 8030C3B0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor.s b/asm/JSystem/J2DGraph/J2DAnimation/getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor.s deleted file mode 100644 index 1f35069d9b..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor.s +++ /dev/null @@ -1,202 +0,0 @@ -lbl_8030C3B4: -/* 8030C3B4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8030C3B8 7C 08 02 A6 */ mflr r0 -/* 8030C3BC 90 01 00 44 */ stw r0, 0x44(r1) -/* 8030C3C0 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8030C3C4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8030C3C8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030C3CC 48 05 5E 11 */ bl _savegpr_29 -/* 8030C3D0 7C 7D 1B 78 */ mr r29, r3 -/* 8030C3D4 7C BE 2B 78 */ mr r30, r5 -/* 8030C3D8 80 63 00 50 */ lwz r3, 0x50(r3) -/* 8030C3DC 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8030C3E0 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 8030C3E4 7F E3 02 14 */ add r31, r3, r0 -/* 8030C3E8 A0 1F 00 00 */ lhz r0, 0(r31) -/* 8030C3EC 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C3F0 41 82 00 20 */ beq lbl_8030C410 -/* 8030C3F4 40 80 00 34 */ bge lbl_8030C428 -/* 8030C3F8 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C3FC 40 80 00 08 */ bge lbl_8030C404 -/* 8030C400 48 00 00 28 */ b lbl_8030C428 -lbl_8030C404: -/* 8030C404 38 00 00 00 */ li r0, 0 -/* 8030C408 98 1E 00 00 */ stb r0, 0(r30) -/* 8030C40C 48 00 00 78 */ b lbl_8030C484 -lbl_8030C410: -/* 8030C410 80 7D 00 64 */ lwz r3, 0x64(r29) -/* 8030C414 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030C418 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C41C 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C420 98 1E 00 00 */ stb r0, 0(r30) -/* 8030C424 48 00 00 60 */ b lbl_8030C484 -lbl_8030C428: -/* 8030C428 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C42C 7F E3 FB 78 */ mr r3, r31 -/* 8030C430 80 9D 00 64 */ lwz r4, 0x64(r29) -/* 8030C434 A0 1F 00 02 */ lhz r0, 2(r31) -/* 8030C438 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C43C 7C 84 02 14 */ add r4, r4, r0 -/* 8030C440 48 00 03 3D */ bl func_8030C77C -/* 8030C444 FF E0 08 90 */ fmr f31, f1 -/* 8030C448 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030C44C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C450 40 80 00 10 */ bge lbl_8030C460 -/* 8030C454 38 00 00 00 */ li r0, 0 -/* 8030C458 98 1E 00 00 */ stb r0, 0(r30) -/* 8030C45C 48 00 00 28 */ b lbl_8030C484 -lbl_8030C460: -/* 8030C460 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030C464 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C468 40 81 00 10 */ ble lbl_8030C478 -/* 8030C46C 38 00 00 FF */ li r0, 0xff -/* 8030C470 98 1E 00 00 */ stb r0, 0(r30) -/* 8030C474 48 00 00 10 */ b lbl_8030C484 -lbl_8030C478: -/* 8030C478 F3 E1 A0 14 */ psq_st f31, 20(r1), 1, 2 /* qr2 */ -/* 8030C47C 88 01 00 14 */ lbz r0, 0x14(r1) -/* 8030C480 98 1E 00 00 */ stb r0, 0(r30) -lbl_8030C484: -/* 8030C484 A0 1F 00 06 */ lhz r0, 6(r31) -/* 8030C488 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C48C 41 82 00 20 */ beq lbl_8030C4AC -/* 8030C490 40 80 00 34 */ bge lbl_8030C4C4 -/* 8030C494 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C498 40 80 00 08 */ bge lbl_8030C4A0 -/* 8030C49C 48 00 00 28 */ b lbl_8030C4C4 -lbl_8030C4A0: -/* 8030C4A0 38 00 00 00 */ li r0, 0 -/* 8030C4A4 98 1E 00 01 */ stb r0, 1(r30) -/* 8030C4A8 48 00 00 78 */ b lbl_8030C520 -lbl_8030C4AC: -/* 8030C4AC 80 7D 00 68 */ lwz r3, 0x68(r29) -/* 8030C4B0 A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030C4B4 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C4B8 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C4BC 98 1E 00 01 */ stb r0, 1(r30) -/* 8030C4C0 48 00 00 60 */ b lbl_8030C520 -lbl_8030C4C4: -/* 8030C4C4 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C4C8 38 7F 00 06 */ addi r3, r31, 6 -/* 8030C4CC 80 9D 00 68 */ lwz r4, 0x68(r29) -/* 8030C4D0 A0 1F 00 08 */ lhz r0, 8(r31) -/* 8030C4D4 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C4D8 7C 84 02 14 */ add r4, r4, r0 -/* 8030C4DC 48 00 02 A1 */ bl func_8030C77C -/* 8030C4E0 FF E0 08 90 */ fmr f31, f1 -/* 8030C4E4 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030C4E8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C4EC 40 80 00 10 */ bge lbl_8030C4FC -/* 8030C4F0 38 00 00 00 */ li r0, 0 -/* 8030C4F4 98 1E 00 01 */ stb r0, 1(r30) -/* 8030C4F8 48 00 00 28 */ b lbl_8030C520 -lbl_8030C4FC: -/* 8030C4FC C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030C500 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C504 40 81 00 10 */ ble lbl_8030C514 -/* 8030C508 38 00 00 FF */ li r0, 0xff -/* 8030C50C 98 1E 00 01 */ stb r0, 1(r30) -/* 8030C510 48 00 00 10 */ b lbl_8030C520 -lbl_8030C514: -/* 8030C514 F3 E1 A0 10 */ psq_st f31, 16(r1), 1, 2 /* qr2 */ -/* 8030C518 88 01 00 10 */ lbz r0, 0x10(r1) -/* 8030C51C 98 1E 00 01 */ stb r0, 1(r30) -lbl_8030C520: -/* 8030C520 A0 1F 00 0C */ lhz r0, 0xc(r31) -/* 8030C524 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C528 41 82 00 20 */ beq lbl_8030C548 -/* 8030C52C 40 80 00 34 */ bge lbl_8030C560 -/* 8030C530 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C534 40 80 00 08 */ bge lbl_8030C53C -/* 8030C538 48 00 00 28 */ b lbl_8030C560 -lbl_8030C53C: -/* 8030C53C 38 00 00 00 */ li r0, 0 -/* 8030C540 98 1E 00 02 */ stb r0, 2(r30) -/* 8030C544 48 00 00 78 */ b lbl_8030C5BC -lbl_8030C548: -/* 8030C548 80 7D 00 6C */ lwz r3, 0x6c(r29) -/* 8030C54C A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030C550 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C554 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C558 98 1E 00 02 */ stb r0, 2(r30) -/* 8030C55C 48 00 00 60 */ b lbl_8030C5BC -lbl_8030C560: -/* 8030C560 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C564 38 7F 00 0C */ addi r3, r31, 0xc -/* 8030C568 80 9D 00 6C */ lwz r4, 0x6c(r29) -/* 8030C56C A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 8030C570 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C574 7C 84 02 14 */ add r4, r4, r0 -/* 8030C578 48 00 02 05 */ bl func_8030C77C -/* 8030C57C FF E0 08 90 */ fmr f31, f1 -/* 8030C580 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030C584 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C588 40 80 00 10 */ bge lbl_8030C598 -/* 8030C58C 38 00 00 00 */ li r0, 0 -/* 8030C590 98 1E 00 02 */ stb r0, 2(r30) -/* 8030C594 48 00 00 28 */ b lbl_8030C5BC -lbl_8030C598: -/* 8030C598 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030C59C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C5A0 40 81 00 10 */ ble lbl_8030C5B0 -/* 8030C5A4 38 00 00 FF */ li r0, 0xff -/* 8030C5A8 98 1E 00 02 */ stb r0, 2(r30) -/* 8030C5AC 48 00 00 10 */ b lbl_8030C5BC -lbl_8030C5B0: -/* 8030C5B0 F3 E1 A0 0C */ psq_st f31, 12(r1), 1, 2 /* qr2 */ -/* 8030C5B4 88 01 00 0C */ lbz r0, 0xc(r1) -/* 8030C5B8 98 1E 00 02 */ stb r0, 2(r30) -lbl_8030C5BC: -/* 8030C5BC A0 1F 00 12 */ lhz r0, 0x12(r31) -/* 8030C5C0 2C 00 00 01 */ cmpwi r0, 1 -/* 8030C5C4 41 82 00 20 */ beq lbl_8030C5E4 -/* 8030C5C8 40 80 00 34 */ bge lbl_8030C5FC -/* 8030C5CC 2C 00 00 00 */ cmpwi r0, 0 -/* 8030C5D0 40 80 00 08 */ bge lbl_8030C5D8 -/* 8030C5D4 48 00 00 28 */ b lbl_8030C5FC -lbl_8030C5D8: -/* 8030C5D8 38 00 00 00 */ li r0, 0 -/* 8030C5DC 98 1E 00 03 */ stb r0, 3(r30) -/* 8030C5E0 48 00 00 78 */ b lbl_8030C658 -lbl_8030C5E4: -/* 8030C5E4 80 7D 00 70 */ lwz r3, 0x70(r29) -/* 8030C5E8 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030C5EC 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C5F0 7C 03 02 AE */ lhax r0, r3, r0 -/* 8030C5F4 98 1E 00 03 */ stb r0, 3(r30) -/* 8030C5F8 48 00 00 60 */ b lbl_8030C658 -lbl_8030C5FC: -/* 8030C5FC C0 3D 00 08 */ lfs f1, 8(r29) -/* 8030C600 38 7F 00 12 */ addi r3, r31, 0x12 -/* 8030C604 80 9D 00 70 */ lwz r4, 0x70(r29) -/* 8030C608 A0 1F 00 14 */ lhz r0, 0x14(r31) -/* 8030C60C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030C610 7C 84 02 14 */ add r4, r4, r0 -/* 8030C614 48 00 01 69 */ bl func_8030C77C -/* 8030C618 FF E0 08 90 */ fmr f31, f1 -/* 8030C61C C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030C620 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C624 40 80 00 10 */ bge lbl_8030C634 -/* 8030C628 38 00 00 00 */ li r0, 0 -/* 8030C62C 98 1E 00 03 */ stb r0, 3(r30) -/* 8030C630 48 00 00 28 */ b lbl_8030C658 -lbl_8030C634: -/* 8030C634 C0 02 C9 14 */ lfs f0, lit_1748(r2) -/* 8030C638 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8030C63C 40 81 00 10 */ ble lbl_8030C64C -/* 8030C640 38 00 00 FF */ li r0, 0xff -/* 8030C644 98 1E 00 03 */ stb r0, 3(r30) -/* 8030C648 48 00 00 10 */ b lbl_8030C658 -lbl_8030C64C: -/* 8030C64C F3 E1 A0 08 */ psq_st f31, 8(r1), 1, 2 /* qr2 */ -/* 8030C650 88 01 00 08 */ lbz r0, 8(r1) -/* 8030C654 98 1E 00 03 */ stb r0, 3(r30) -lbl_8030C658: -/* 8030C658 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8030C65C CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8030C660 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030C664 48 05 5B C5 */ bl _restgpr_29 -/* 8030C668 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8030C66C 7C 08 03 A6 */ mtlr r0 -/* 8030C670 38 21 00 40 */ addi r1, r1, 0x40 -/* 8030C674 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getTexNo__16J2DAnmTexPatternCFUsPUs.s b/asm/JSystem/J2DGraph/J2DAnimation/getTexNo__16J2DAnmTexPatternCFUsPUs.s deleted file mode 100644 index 0a7f5b23cb..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getTexNo__16J2DAnmTexPatternCFUsPUs.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8030BEE8: -/* 8030BEE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030BEEC 81 03 00 14 */ lwz r8, 0x14(r3) -/* 8030BEF0 54 87 1B 78 */ rlwinm r7, r4, 3, 0xd, 0x1c -/* 8030BEF4 7C C8 3A 2E */ lhzx r6, r8, r7 -/* 8030BEF8 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030BEFC C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030BF00 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030BF04 40 80 00 20 */ bge lbl_8030BF24 -/* 8030BF08 80 83 00 10 */ lwz r4, 0x10(r3) -/* 8030BF0C 7C 68 3A 14 */ add r3, r8, r7 -/* 8030BF10 A0 03 00 02 */ lhz r0, 2(r3) -/* 8030BF14 54 00 08 3C */ slwi r0, r0, 1 -/* 8030BF18 7C 04 02 2E */ lhzx r0, r4, r0 -/* 8030BF1C B0 05 00 00 */ sth r0, 0(r5) -/* 8030BF20 48 00 00 74 */ b lbl_8030BF94 -lbl_8030BF24: -/* 8030BF24 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030BF28 90 C1 00 0C */ stw r6, 0xc(r1) -/* 8030BF2C 3C 00 43 30 */ lis r0, 0x4330 -/* 8030BF30 90 01 00 08 */ stw r0, 8(r1) -/* 8030BF34 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030BF38 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030BF3C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030BF40 4C 41 13 82 */ cror 2, 1, 2 -/* 8030BF44 40 82 00 28 */ bne lbl_8030BF6C -/* 8030BF48 80 83 00 10 */ lwz r4, 0x10(r3) -/* 8030BF4C 7C 68 3A 14 */ add r3, r8, r7 -/* 8030BF50 A0 03 00 02 */ lhz r0, 2(r3) -/* 8030BF54 7C 66 02 14 */ add r3, r6, r0 -/* 8030BF58 38 03 FF FF */ addi r0, r3, -1 -/* 8030BF5C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030BF60 7C 04 02 2E */ lhzx r0, r4, r0 -/* 8030BF64 B0 05 00 00 */ sth r0, 0(r5) -/* 8030BF68 48 00 00 2C */ b lbl_8030BF94 -lbl_8030BF6C: -/* 8030BF6C 80 C3 00 10 */ lwz r6, 0x10(r3) -/* 8030BF70 FC 00 10 1E */ fctiwz f0, f2 -/* 8030BF74 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030BF78 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8030BF7C 7C 68 3A 14 */ add r3, r8, r7 -/* 8030BF80 A0 03 00 02 */ lhz r0, 2(r3) -/* 8030BF84 7C 04 02 14 */ add r0, r4, r0 -/* 8030BF88 54 00 08 3C */ slwi r0, r0, 1 -/* 8030BF8C 7C 06 02 2E */ lhzx r0, r6, r0 -/* 8030BF90 B0 05 00 00 */ sth r0, 0(r5) -lbl_8030BF94: -/* 8030BF94 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030BF98 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getTransform__18J2DAnmTransformKeyCFUsP16J3DTransformInfo.s b/asm/JSystem/J2DGraph/J2DAnimation/getTransform__18J2DAnmTransformKeyCFUsP16J3DTransformInfo.s deleted file mode 100644 index c7492a0b3e..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getTransform__18J2DAnmTransformKeyCFUsP16J3DTransformInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8030CD7C: -/* 8030CD7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CD80 7C 08 02 A6 */ mflr r0 -/* 8030CD84 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CD88 C0 23 00 08 */ lfs f1, 8(r3) -/* 8030CD8C 81 83 00 00 */ lwz r12, 0(r3) -/* 8030CD90 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8030CD94 7D 89 03 A6 */ mtctr r12 -/* 8030CD98 4E 80 04 21 */ bctrl -/* 8030CD9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CDA0 7C 08 03 A6 */ mtlr r0 -/* 8030CDA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CDA8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo.s b/asm/JSystem/J2DGraph/J2DAnimation/getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo.s deleted file mode 100644 index f45abba077..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo.s +++ /dev/null @@ -1,375 +0,0 @@ -lbl_8030A590: -/* 8030A590 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A594 1C 04 00 03 */ mulli r0, r4, 3 -/* 8030A598 54 08 04 3E */ clrlwi r8, r0, 0x10 -/* 8030A59C 80 E3 00 24 */ lwz r7, 0x24(r3) -/* 8030A5A0 1C 08 00 0C */ mulli r0, r8, 0xc -/* 8030A5A4 7C 87 02 14 */ add r4, r7, r0 -/* 8030A5A8 38 08 00 01 */ addi r0, r8, 1 -/* 8030A5AC 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8030A5B0 7C C7 02 14 */ add r6, r7, r0 -/* 8030A5B4 38 08 00 02 */ addi r0, r8, 2 -/* 8030A5B8 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8030A5BC 7C E7 02 14 */ add r7, r7, r0 -/* 8030A5C0 A1 04 00 00 */ lhz r8, 0(r4) -/* 8030A5C4 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A5C8 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A5CC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A5D0 40 80 00 1C */ bge lbl_8030A5EC -/* 8030A5D4 81 03 00 10 */ lwz r8, 0x10(r3) -/* 8030A5D8 A0 04 00 02 */ lhz r0, 2(r4) -/* 8030A5DC 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A5E0 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030A5E4 D0 05 00 00 */ stfs f0, 0(r5) -/* 8030A5E8 48 00 00 6C */ b lbl_8030A654 -lbl_8030A5EC: -/* 8030A5EC C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A5F0 91 01 00 0C */ stw r8, 0xc(r1) -/* 8030A5F4 3C 00 43 30 */ lis r0, 0x4330 -/* 8030A5F8 90 01 00 08 */ stw r0, 8(r1) -/* 8030A5FC C8 01 00 08 */ lfd f0, 8(r1) -/* 8030A600 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030A604 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A608 4C 41 13 82 */ cror 2, 1, 2 -/* 8030A60C 40 82 00 24 */ bne lbl_8030A630 -/* 8030A610 81 23 00 10 */ lwz r9, 0x10(r3) -/* 8030A614 A0 04 00 02 */ lhz r0, 2(r4) -/* 8030A618 7D 08 02 14 */ add r8, r8, r0 -/* 8030A61C 38 08 FF FF */ addi r0, r8, -1 -/* 8030A620 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A624 7C 09 04 2E */ lfsx f0, r9, r0 -/* 8030A628 D0 05 00 00 */ stfs f0, 0(r5) -/* 8030A62C 48 00 00 28 */ b lbl_8030A654 -lbl_8030A630: -/* 8030A630 81 23 00 10 */ lwz r9, 0x10(r3) -/* 8030A634 A1 04 00 02 */ lhz r8, 2(r4) -/* 8030A638 FC 00 10 1E */ fctiwz f0, f2 -/* 8030A63C D8 01 00 08 */ stfd f0, 8(r1) -/* 8030A640 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030A644 7C 08 02 14 */ add r0, r8, r0 -/* 8030A648 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A64C 7C 09 04 2E */ lfsx f0, r9, r0 -/* 8030A650 D0 05 00 00 */ stfs f0, 0(r5) -lbl_8030A654: -/* 8030A654 A1 06 00 00 */ lhz r8, 0(r6) -/* 8030A658 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A65C C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A660 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A664 40 80 00 1C */ bge lbl_8030A680 -/* 8030A668 81 03 00 10 */ lwz r8, 0x10(r3) -/* 8030A66C A0 06 00 02 */ lhz r0, 2(r6) -/* 8030A670 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A674 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030A678 D0 05 00 04 */ stfs f0, 4(r5) -/* 8030A67C 48 00 00 6C */ b lbl_8030A6E8 -lbl_8030A680: -/* 8030A680 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A684 91 01 00 0C */ stw r8, 0xc(r1) -/* 8030A688 3C 00 43 30 */ lis r0, 0x4330 -/* 8030A68C 90 01 00 08 */ stw r0, 8(r1) -/* 8030A690 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030A694 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030A698 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A69C 4C 41 13 82 */ cror 2, 1, 2 -/* 8030A6A0 40 82 00 24 */ bne lbl_8030A6C4 -/* 8030A6A4 81 23 00 10 */ lwz r9, 0x10(r3) -/* 8030A6A8 A0 06 00 02 */ lhz r0, 2(r6) -/* 8030A6AC 7D 08 02 14 */ add r8, r8, r0 -/* 8030A6B0 38 08 FF FF */ addi r0, r8, -1 -/* 8030A6B4 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A6B8 7C 09 04 2E */ lfsx f0, r9, r0 -/* 8030A6BC D0 05 00 04 */ stfs f0, 4(r5) -/* 8030A6C0 48 00 00 28 */ b lbl_8030A6E8 -lbl_8030A6C4: -/* 8030A6C4 81 23 00 10 */ lwz r9, 0x10(r3) -/* 8030A6C8 A1 06 00 02 */ lhz r8, 2(r6) -/* 8030A6CC FC 00 10 1E */ fctiwz f0, f2 -/* 8030A6D0 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030A6D4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030A6D8 7C 08 02 14 */ add r0, r8, r0 -/* 8030A6DC 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A6E0 7C 09 04 2E */ lfsx f0, r9, r0 -/* 8030A6E4 D0 05 00 04 */ stfs f0, 4(r5) -lbl_8030A6E8: -/* 8030A6E8 A1 07 00 00 */ lhz r8, 0(r7) -/* 8030A6EC C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A6F0 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A6F4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A6F8 40 80 00 1C */ bge lbl_8030A714 -/* 8030A6FC 81 03 00 10 */ lwz r8, 0x10(r3) -/* 8030A700 A0 07 00 02 */ lhz r0, 2(r7) -/* 8030A704 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A708 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030A70C D0 05 00 08 */ stfs f0, 8(r5) -/* 8030A710 48 00 00 6C */ b lbl_8030A77C -lbl_8030A714: -/* 8030A714 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A718 91 01 00 0C */ stw r8, 0xc(r1) -/* 8030A71C 3C 00 43 30 */ lis r0, 0x4330 -/* 8030A720 90 01 00 08 */ stw r0, 8(r1) -/* 8030A724 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030A728 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030A72C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A730 4C 41 13 82 */ cror 2, 1, 2 -/* 8030A734 40 82 00 24 */ bne lbl_8030A758 -/* 8030A738 81 23 00 10 */ lwz r9, 0x10(r3) -/* 8030A73C A0 07 00 02 */ lhz r0, 2(r7) -/* 8030A740 7D 08 02 14 */ add r8, r8, r0 -/* 8030A744 38 08 FF FF */ addi r0, r8, -1 -/* 8030A748 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A74C 7C 09 04 2E */ lfsx f0, r9, r0 -/* 8030A750 D0 05 00 08 */ stfs f0, 8(r5) -/* 8030A754 48 00 00 28 */ b lbl_8030A77C -lbl_8030A758: -/* 8030A758 81 23 00 10 */ lwz r9, 0x10(r3) -/* 8030A75C A1 07 00 02 */ lhz r8, 2(r7) -/* 8030A760 FC 00 10 1E */ fctiwz f0, f2 -/* 8030A764 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030A768 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030A76C 7C 08 02 14 */ add r0, r8, r0 -/* 8030A770 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A774 7C 09 04 2E */ lfsx f0, r9, r0 -/* 8030A778 D0 05 00 08 */ stfs f0, 8(r5) -lbl_8030A77C: -/* 8030A77C A1 04 00 04 */ lhz r8, 4(r4) -/* 8030A780 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A784 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A788 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A78C 40 80 00 1C */ bge lbl_8030A7A8 -/* 8030A790 81 03 00 14 */ lwz r8, 0x14(r3) -/* 8030A794 A0 04 00 06 */ lhz r0, 6(r4) -/* 8030A798 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A79C 7C 08 02 AE */ lhax r0, r8, r0 -/* 8030A7A0 B0 05 00 0C */ sth r0, 0xc(r5) -/* 8030A7A4 48 00 00 6C */ b lbl_8030A810 -lbl_8030A7A8: -/* 8030A7A8 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A7AC 91 01 00 0C */ stw r8, 0xc(r1) -/* 8030A7B0 3C 00 43 30 */ lis r0, 0x4330 -/* 8030A7B4 90 01 00 08 */ stw r0, 8(r1) -/* 8030A7B8 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030A7BC EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030A7C0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A7C4 4C 41 13 82 */ cror 2, 1, 2 -/* 8030A7C8 40 82 00 24 */ bne lbl_8030A7EC -/* 8030A7CC 81 23 00 14 */ lwz r9, 0x14(r3) -/* 8030A7D0 A0 04 00 06 */ lhz r0, 6(r4) -/* 8030A7D4 7D 08 02 14 */ add r8, r8, r0 -/* 8030A7D8 38 08 FF FF */ addi r0, r8, -1 -/* 8030A7DC 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A7E0 7C 09 02 AE */ lhax r0, r9, r0 -/* 8030A7E4 B0 05 00 0C */ sth r0, 0xc(r5) -/* 8030A7E8 48 00 00 28 */ b lbl_8030A810 -lbl_8030A7EC: -/* 8030A7EC 81 23 00 14 */ lwz r9, 0x14(r3) -/* 8030A7F0 A1 04 00 06 */ lhz r8, 6(r4) -/* 8030A7F4 FC 00 10 1E */ fctiwz f0, f2 -/* 8030A7F8 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030A7FC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030A800 7C 08 02 14 */ add r0, r8, r0 -/* 8030A804 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A808 7C 09 02 AE */ lhax r0, r9, r0 -/* 8030A80C B0 05 00 0C */ sth r0, 0xc(r5) -lbl_8030A810: -/* 8030A810 A1 06 00 04 */ lhz r8, 4(r6) -/* 8030A814 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A818 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A81C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A820 40 80 00 1C */ bge lbl_8030A83C -/* 8030A824 81 03 00 14 */ lwz r8, 0x14(r3) -/* 8030A828 A0 06 00 06 */ lhz r0, 6(r6) -/* 8030A82C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A830 7C 08 02 AE */ lhax r0, r8, r0 -/* 8030A834 B0 05 00 0E */ sth r0, 0xe(r5) -/* 8030A838 48 00 00 6C */ b lbl_8030A8A4 -lbl_8030A83C: -/* 8030A83C C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A840 91 01 00 0C */ stw r8, 0xc(r1) -/* 8030A844 3C 00 43 30 */ lis r0, 0x4330 -/* 8030A848 90 01 00 08 */ stw r0, 8(r1) -/* 8030A84C C8 01 00 08 */ lfd f0, 8(r1) -/* 8030A850 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030A854 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A858 4C 41 13 82 */ cror 2, 1, 2 -/* 8030A85C 40 82 00 24 */ bne lbl_8030A880 -/* 8030A860 81 23 00 14 */ lwz r9, 0x14(r3) -/* 8030A864 A0 06 00 06 */ lhz r0, 6(r6) -/* 8030A868 7D 08 02 14 */ add r8, r8, r0 -/* 8030A86C 38 08 FF FF */ addi r0, r8, -1 -/* 8030A870 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A874 7C 09 02 AE */ lhax r0, r9, r0 -/* 8030A878 B0 05 00 0E */ sth r0, 0xe(r5) -/* 8030A87C 48 00 00 28 */ b lbl_8030A8A4 -lbl_8030A880: -/* 8030A880 81 23 00 14 */ lwz r9, 0x14(r3) -/* 8030A884 A1 06 00 06 */ lhz r8, 6(r6) -/* 8030A888 FC 00 10 1E */ fctiwz f0, f2 -/* 8030A88C D8 01 00 08 */ stfd f0, 8(r1) -/* 8030A890 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030A894 7C 08 02 14 */ add r0, r8, r0 -/* 8030A898 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A89C 7C 09 02 AE */ lhax r0, r9, r0 -/* 8030A8A0 B0 05 00 0E */ sth r0, 0xe(r5) -lbl_8030A8A4: -/* 8030A8A4 A1 07 00 04 */ lhz r8, 4(r7) -/* 8030A8A8 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A8AC C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A8B0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A8B4 40 80 00 1C */ bge lbl_8030A8D0 -/* 8030A8B8 81 03 00 14 */ lwz r8, 0x14(r3) -/* 8030A8BC A0 07 00 06 */ lhz r0, 6(r7) -/* 8030A8C0 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A8C4 7C 08 02 AE */ lhax r0, r8, r0 -/* 8030A8C8 B0 05 00 10 */ sth r0, 0x10(r5) -/* 8030A8CC 48 00 00 6C */ b lbl_8030A938 -lbl_8030A8D0: -/* 8030A8D0 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A8D4 91 01 00 0C */ stw r8, 0xc(r1) -/* 8030A8D8 3C 00 43 30 */ lis r0, 0x4330 -/* 8030A8DC 90 01 00 08 */ stw r0, 8(r1) -/* 8030A8E0 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030A8E4 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030A8E8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A8EC 4C 41 13 82 */ cror 2, 1, 2 -/* 8030A8F0 40 82 00 24 */ bne lbl_8030A914 -/* 8030A8F4 81 23 00 14 */ lwz r9, 0x14(r3) -/* 8030A8F8 A0 07 00 06 */ lhz r0, 6(r7) -/* 8030A8FC 7D 08 02 14 */ add r8, r8, r0 -/* 8030A900 38 08 FF FF */ addi r0, r8, -1 -/* 8030A904 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A908 7C 09 02 AE */ lhax r0, r9, r0 -/* 8030A90C B0 05 00 10 */ sth r0, 0x10(r5) -/* 8030A910 48 00 00 28 */ b lbl_8030A938 -lbl_8030A914: -/* 8030A914 81 23 00 14 */ lwz r9, 0x14(r3) -/* 8030A918 A1 07 00 06 */ lhz r8, 6(r7) -/* 8030A91C FC 00 10 1E */ fctiwz f0, f2 -/* 8030A920 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030A924 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030A928 7C 08 02 14 */ add r0, r8, r0 -/* 8030A92C 54 00 08 3C */ slwi r0, r0, 1 -/* 8030A930 7C 09 02 AE */ lhax r0, r9, r0 -/* 8030A934 B0 05 00 10 */ sth r0, 0x10(r5) -lbl_8030A938: -/* 8030A938 A1 24 00 08 */ lhz r9, 8(r4) -/* 8030A93C C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A940 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A944 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A948 40 80 00 1C */ bge lbl_8030A964 -/* 8030A94C 81 03 00 18 */ lwz r8, 0x18(r3) -/* 8030A950 A0 04 00 0A */ lhz r0, 0xa(r4) -/* 8030A954 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A958 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030A95C D0 05 00 14 */ stfs f0, 0x14(r5) -/* 8030A960 48 00 00 6C */ b lbl_8030A9CC -lbl_8030A964: -/* 8030A964 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A968 91 21 00 0C */ stw r9, 0xc(r1) -/* 8030A96C 3C 00 43 30 */ lis r0, 0x4330 -/* 8030A970 90 01 00 08 */ stw r0, 8(r1) -/* 8030A974 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030A978 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030A97C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A980 4C 41 13 82 */ cror 2, 1, 2 -/* 8030A984 40 82 00 24 */ bne lbl_8030A9A8 -/* 8030A988 81 03 00 18 */ lwz r8, 0x18(r3) -/* 8030A98C A0 04 00 0A */ lhz r0, 0xa(r4) -/* 8030A990 7C 89 02 14 */ add r4, r9, r0 -/* 8030A994 38 04 FF FF */ addi r0, r4, -1 -/* 8030A998 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A99C 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030A9A0 D0 05 00 14 */ stfs f0, 0x14(r5) -/* 8030A9A4 48 00 00 28 */ b lbl_8030A9CC -lbl_8030A9A8: -/* 8030A9A8 81 03 00 18 */ lwz r8, 0x18(r3) -/* 8030A9AC A0 84 00 0A */ lhz r4, 0xa(r4) -/* 8030A9B0 FC 00 10 1E */ fctiwz f0, f2 -/* 8030A9B4 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030A9B8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030A9BC 7C 04 02 14 */ add r0, r4, r0 -/* 8030A9C0 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A9C4 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030A9C8 D0 05 00 14 */ stfs f0, 0x14(r5) -lbl_8030A9CC: -/* 8030A9CC A0 86 00 08 */ lhz r4, 8(r6) -/* 8030A9D0 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030A9D4 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030A9D8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030A9DC 40 80 00 1C */ bge lbl_8030A9F8 -/* 8030A9E0 80 83 00 18 */ lwz r4, 0x18(r3) -/* 8030A9E4 A0 06 00 0A */ lhz r0, 0xa(r6) -/* 8030A9E8 54 00 10 3A */ slwi r0, r0, 2 -/* 8030A9EC 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8030A9F0 D0 05 00 18 */ stfs f0, 0x18(r5) -/* 8030A9F4 48 00 00 6C */ b lbl_8030AA60 -lbl_8030A9F8: -/* 8030A9F8 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030A9FC 90 81 00 0C */ stw r4, 0xc(r1) -/* 8030AA00 3C 00 43 30 */ lis r0, 0x4330 -/* 8030AA04 90 01 00 08 */ stw r0, 8(r1) -/* 8030AA08 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030AA0C EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030AA10 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030AA14 4C 41 13 82 */ cror 2, 1, 2 -/* 8030AA18 40 82 00 24 */ bne lbl_8030AA3C -/* 8030AA1C 81 03 00 18 */ lwz r8, 0x18(r3) -/* 8030AA20 A0 06 00 0A */ lhz r0, 0xa(r6) -/* 8030AA24 7C 84 02 14 */ add r4, r4, r0 -/* 8030AA28 38 04 FF FF */ addi r0, r4, -1 -/* 8030AA2C 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AA30 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030AA34 D0 05 00 18 */ stfs f0, 0x18(r5) -/* 8030AA38 48 00 00 28 */ b lbl_8030AA60 -lbl_8030AA3C: -/* 8030AA3C 81 03 00 18 */ lwz r8, 0x18(r3) -/* 8030AA40 A0 86 00 0A */ lhz r4, 0xa(r6) -/* 8030AA44 FC 00 10 1E */ fctiwz f0, f2 -/* 8030AA48 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030AA4C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030AA50 7C 04 02 14 */ add r0, r4, r0 -/* 8030AA54 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AA58 7C 08 04 2E */ lfsx f0, r8, r0 -/* 8030AA5C D0 05 00 18 */ stfs f0, 0x18(r5) -lbl_8030AA60: -/* 8030AA60 A0 C7 00 08 */ lhz r6, 8(r7) -/* 8030AA64 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030AA68 C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030AA6C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030AA70 40 80 00 1C */ bge lbl_8030AA8C -/* 8030AA74 80 63 00 18 */ lwz r3, 0x18(r3) -/* 8030AA78 A0 07 00 0A */ lhz r0, 0xa(r7) -/* 8030AA7C 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AA80 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8030AA84 D0 05 00 1C */ stfs f0, 0x1c(r5) -/* 8030AA88 48 00 00 6C */ b lbl_8030AAF4 -lbl_8030AA8C: -/* 8030AA8C C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030AA90 90 C1 00 0C */ stw r6, 0xc(r1) -/* 8030AA94 3C 00 43 30 */ lis r0, 0x4330 -/* 8030AA98 90 01 00 08 */ stw r0, 8(r1) -/* 8030AA9C C8 01 00 08 */ lfd f0, 8(r1) -/* 8030AAA0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030AAA4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030AAA8 4C 41 13 82 */ cror 2, 1, 2 -/* 8030AAAC 40 82 00 24 */ bne lbl_8030AAD0 -/* 8030AAB0 80 83 00 18 */ lwz r4, 0x18(r3) -/* 8030AAB4 A0 07 00 0A */ lhz r0, 0xa(r7) -/* 8030AAB8 7C 66 02 14 */ add r3, r6, r0 -/* 8030AABC 38 03 FF FF */ addi r0, r3, -1 -/* 8030AAC0 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AAC4 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8030AAC8 D0 05 00 1C */ stfs f0, 0x1c(r5) -/* 8030AACC 48 00 00 28 */ b lbl_8030AAF4 -lbl_8030AAD0: -/* 8030AAD0 80 83 00 18 */ lwz r4, 0x18(r3) -/* 8030AAD4 A0 67 00 0A */ lhz r3, 0xa(r7) -/* 8030AAD8 FC 00 10 1E */ fctiwz f0, f2 -/* 8030AADC D8 01 00 08 */ stfd f0, 8(r1) -/* 8030AAE0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030AAE4 7C 03 02 14 */ add r0, r3, r0 -/* 8030AAE8 54 00 10 3A */ slwi r0, r0, 2 -/* 8030AAEC 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8030AAF0 D0 05 00 1C */ stfs f0, 0x1c(r5) -lbl_8030AAF4: -/* 8030AAF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030AAF8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/getVisibility__20J2DAnmVisibilityFullCFUsPUc.s b/asm/JSystem/J2DGraph/J2DAnimation/getVisibility__20J2DAnmVisibilityFullCFUsPUc.s deleted file mode 100644 index f8efa04036..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/getVisibility__20J2DAnmVisibilityFullCFUsPUc.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_8030C048: -/* 8030C048 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030C04C 81 03 00 14 */ lwz r8, 0x14(r3) -/* 8030C050 54 87 13 BA */ rlwinm r7, r4, 2, 0xe, 0x1d -/* 8030C054 7C 88 3A 2E */ lhzx r4, r8, r7 -/* 8030C058 C0 43 00 08 */ lfs f2, 8(r3) -/* 8030C05C C0 02 C9 00 */ lfs f0, lit_1573(r2) -/* 8030C060 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030C064 40 80 00 1C */ bge lbl_8030C080 -/* 8030C068 80 83 00 18 */ lwz r4, 0x18(r3) -/* 8030C06C 7C 68 3A 14 */ add r3, r8, r7 -/* 8030C070 A0 03 00 02 */ lhz r0, 2(r3) -/* 8030C074 7C 04 00 AE */ lbzx r0, r4, r0 -/* 8030C078 98 05 00 00 */ stb r0, 0(r5) -/* 8030C07C 48 00 00 6C */ b lbl_8030C0E8 -lbl_8030C080: -/* 8030C080 C8 22 C9 08 */ lfd f1, lit_1576(r2) -/* 8030C084 90 81 00 0C */ stw r4, 0xc(r1) -/* 8030C088 3C 00 43 30 */ lis r0, 0x4330 -/* 8030C08C 90 01 00 08 */ stw r0, 8(r1) -/* 8030C090 C8 01 00 08 */ lfd f0, 8(r1) -/* 8030C094 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8030C098 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8030C09C 4C 41 13 82 */ cror 2, 1, 2 -/* 8030C0A0 40 82 00 24 */ bne lbl_8030C0C4 -/* 8030C0A4 80 03 00 18 */ lwz r0, 0x18(r3) -/* 8030C0A8 7C 80 22 14 */ add r4, r0, r4 -/* 8030C0AC 7C 68 3A 14 */ add r3, r8, r7 -/* 8030C0B0 A0 03 00 02 */ lhz r0, 2(r3) -/* 8030C0B4 7C 64 02 14 */ add r3, r4, r0 -/* 8030C0B8 88 03 FF FF */ lbz r0, -1(r3) -/* 8030C0BC 98 05 00 00 */ stb r0, 0(r5) -/* 8030C0C0 48 00 00 28 */ b lbl_8030C0E8 -lbl_8030C0C4: -/* 8030C0C4 80 C3 00 18 */ lwz r6, 0x18(r3) -/* 8030C0C8 FC 00 10 1E */ fctiwz f0, f2 -/* 8030C0CC D8 01 00 08 */ stfd f0, 8(r1) -/* 8030C0D0 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8030C0D4 7C 68 3A 14 */ add r3, r8, r7 -/* 8030C0D8 A0 03 00 02 */ lhz r0, 2(r3) -/* 8030C0DC 7C 04 02 14 */ add r0, r4, r0 -/* 8030C0E0 7C 06 00 AE */ lbzx r0, r6, r0 -/* 8030C0E4 98 05 00 00 */ stb r0, 0(r5) -lbl_8030C0E8: -/* 8030C0E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030C0EC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen.s b/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen.s deleted file mode 100644 index 60ce60bc72..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_8030AF24: -/* 8030AF24 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030AF28 7C 08 02 A6 */ mflr r0 -/* 8030AF2C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030AF30 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030AF34 48 05 72 A9 */ bl _savegpr_29 -/* 8030AF38 7C 7D 1B 78 */ mr r29, r3 -/* 8030AF3C 7C 9E 23 79 */ or. r30, r4, r4 -/* 8030AF40 41 82 00 70 */ beq lbl_8030AFB0 -/* 8030AF44 80 1E 01 10 */ lwz r0, 0x110(r30) -/* 8030AF48 28 00 00 00 */ cmplwi r0, 0 -/* 8030AF4C 41 82 00 64 */ beq lbl_8030AFB0 -/* 8030AF50 3B E0 00 00 */ li r31, 0 -/* 8030AF54 48 00 00 4C */ b lbl_8030AFA0 -lbl_8030AF58: -/* 8030AF58 38 7D 00 20 */ addi r3, r29, 0x20 -/* 8030AF5C 7F E4 FB 78 */ mr r4, r31 -/* 8030AF60 4B FD 3B 99 */ bl getName__10JUTNameTabCFUs -/* 8030AF64 7C 64 1B 78 */ mr r4, r3 -/* 8030AF68 80 7E 01 10 */ lwz r3, 0x110(r30) -/* 8030AF6C 4B FD 3A ED */ bl getIndex__10JUTNameTabCFPCc -/* 8030AF70 2C 03 FF FF */ cmpwi r3, -1 -/* 8030AF74 41 82 00 14 */ beq lbl_8030AF88 -/* 8030AF78 80 9D 00 1C */ lwz r4, 0x1c(r29) -/* 8030AF7C 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e -/* 8030AF80 7C 64 03 2E */ sthx r3, r4, r0 -/* 8030AF84 48 00 00 18 */ b lbl_8030AF9C -lbl_8030AF88: -/* 8030AF88 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8030AF8C 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8030AF90 80 7D 00 1C */ lwz r3, 0x1c(r29) -/* 8030AF94 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e -/* 8030AF98 7C 83 03 2E */ sthx r4, r3, r0 -lbl_8030AF9C: -/* 8030AF9C 3B FF 00 01 */ addi r31, r31, 1 -lbl_8030AFA0: -/* 8030AFA0 57 E3 04 3E */ clrlwi r3, r31, 0x10 -/* 8030AFA4 A0 1D 00 18 */ lhz r0, 0x18(r29) -/* 8030AFA8 7C 03 00 40 */ cmplw r3, r0 -/* 8030AFAC 41 80 FF AC */ blt lbl_8030AF58 -lbl_8030AFB0: -/* 8030AFB0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030AFB4 48 05 72 75 */ bl _restgpr_29 -/* 8030AFB8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030AFBC 7C 08 03 A6 */ mtlr r0 -/* 8030AFC0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030AFC4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen.s b/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen.s deleted file mode 100644 index 06ff167d3d..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_8030C678: -/* 8030C678 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030C67C 7C 08 02 A6 */ mflr r0 -/* 8030C680 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030C684 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030C688 48 05 5B 55 */ bl _savegpr_29 -/* 8030C68C 7C 7E 1B 78 */ mr r30, r3 -/* 8030C690 7C 9F 23 79 */ or. r31, r4, r4 -/* 8030C694 41 82 00 D0 */ beq lbl_8030C764 -/* 8030C698 80 1F 01 10 */ lwz r0, 0x110(r31) -/* 8030C69C 28 00 00 00 */ cmplwi r0, 0 -/* 8030C6A0 41 82 00 C4 */ beq lbl_8030C764 -/* 8030C6A4 3B A0 00 00 */ li r29, 0 -/* 8030C6A8 48 00 00 4C */ b lbl_8030C6F4 -lbl_8030C6AC: -/* 8030C6AC 38 7E 00 28 */ addi r3, r30, 0x28 -/* 8030C6B0 7F A4 EB 78 */ mr r4, r29 -/* 8030C6B4 4B FD 24 45 */ bl getName__10JUTNameTabCFUs -/* 8030C6B8 7C 64 1B 78 */ mr r4, r3 -/* 8030C6BC 80 7F 01 10 */ lwz r3, 0x110(r31) -/* 8030C6C0 4B FD 23 99 */ bl getIndex__10JUTNameTabCFPCc -/* 8030C6C4 2C 03 FF FF */ cmpwi r3, -1 -/* 8030C6C8 41 82 00 14 */ beq lbl_8030C6DC -/* 8030C6CC 80 9E 00 24 */ lwz r4, 0x24(r30) -/* 8030C6D0 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e -/* 8030C6D4 7C 64 03 2E */ sthx r3, r4, r0 -/* 8030C6D8 48 00 00 18 */ b lbl_8030C6F0 -lbl_8030C6DC: -/* 8030C6DC 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8030C6E0 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8030C6E4 80 7E 00 24 */ lwz r3, 0x24(r30) -/* 8030C6E8 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e -/* 8030C6EC 7C 83 03 2E */ sthx r4, r3, r0 -lbl_8030C6F0: -/* 8030C6F0 3B BD 00 01 */ addi r29, r29, 1 -lbl_8030C6F4: -/* 8030C6F4 57 A3 04 3E */ clrlwi r3, r29, 0x10 -/* 8030C6F8 A0 1E 00 10 */ lhz r0, 0x10(r30) -/* 8030C6FC 7C 03 00 40 */ cmplw r3, r0 -/* 8030C700 41 80 FF AC */ blt lbl_8030C6AC -/* 8030C704 3B A0 00 00 */ li r29, 0 -/* 8030C708 48 00 00 4C */ b lbl_8030C754 -lbl_8030C70C: -/* 8030C70C 38 7E 00 3C */ addi r3, r30, 0x3c -/* 8030C710 7F A4 EB 78 */ mr r4, r29 -/* 8030C714 4B FD 23 E5 */ bl getName__10JUTNameTabCFUs -/* 8030C718 7C 64 1B 78 */ mr r4, r3 -/* 8030C71C 80 7F 01 10 */ lwz r3, 0x110(r31) -/* 8030C720 4B FD 23 39 */ bl getIndex__10JUTNameTabCFPCc -/* 8030C724 2C 03 FF FF */ cmpwi r3, -1 -/* 8030C728 41 82 00 14 */ beq lbl_8030C73C -/* 8030C72C 80 9E 00 38 */ lwz r4, 0x38(r30) -/* 8030C730 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e -/* 8030C734 7C 64 03 2E */ sthx r3, r4, r0 -/* 8030C738 48 00 00 18 */ b lbl_8030C750 -lbl_8030C73C: -/* 8030C73C 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8030C740 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8030C744 80 7E 00 38 */ lwz r3, 0x38(r30) -/* 8030C748 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e -/* 8030C74C 7C 83 03 2E */ sthx r4, r3, r0 -lbl_8030C750: -/* 8030C750 3B BD 00 01 */ addi r29, r29, 1 -lbl_8030C754: -/* 8030C754 57 A3 04 3E */ clrlwi r3, r29, 0x10 -/* 8030C758 A0 1E 00 12 */ lhz r0, 0x12(r30) -/* 8030C75C 7C 03 00 40 */ cmplw r3, r0 -/* 8030C760 41 80 FF AC */ blt lbl_8030C70C -lbl_8030C764: -/* 8030C764 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030C768 48 05 5A C1 */ bl _restgpr_29 -/* 8030C76C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030C770 7C 08 03 A6 */ mtlr r0 -/* 8030C774 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030C778 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__16J2DAnmTexPatternFP9J2DScreen.s b/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__16J2DAnmTexPatternFP9J2DScreen.s deleted file mode 100644 index 058d2beab1..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__16J2DAnmTexPatternFP9J2DScreen.s +++ /dev/null @@ -1,129 +0,0 @@ -lbl_8030BD10: -/* 8030BD10 94 21 FE D0 */ stwu r1, -0x130(r1) -/* 8030BD14 7C 08 02 A6 */ mflr r0 -/* 8030BD18 90 01 01 34 */ stw r0, 0x134(r1) -/* 8030BD1C 39 61 01 30 */ addi r11, r1, 0x130 -/* 8030BD20 48 05 64 B1 */ bl _savegpr_26 -/* 8030BD24 7C 7D 1B 78 */ mr r29, r3 -/* 8030BD28 7C 9E 23 79 */ or. r30, r4, r4 -/* 8030BD2C 41 82 01 A4 */ beq lbl_8030BED0 -/* 8030BD30 80 1E 01 10 */ lwz r0, 0x110(r30) -/* 8030BD34 28 00 00 00 */ cmplwi r0, 0 -/* 8030BD38 41 82 01 98 */ beq lbl_8030BED0 -/* 8030BD3C 80 1E 01 08 */ lwz r0, 0x108(r30) -/* 8030BD40 28 00 00 00 */ cmplwi r0, 0 -/* 8030BD44 41 82 01 8C */ beq lbl_8030BED0 -/* 8030BD48 3B 60 00 00 */ li r27, 0 -/* 8030BD4C 48 00 00 4C */ b lbl_8030BD98 -lbl_8030BD50: -/* 8030BD50 38 7D 00 20 */ addi r3, r29, 0x20 -/* 8030BD54 7F 64 DB 78 */ mr r4, r27 -/* 8030BD58 4B FD 2D A1 */ bl getName__10JUTNameTabCFUs -/* 8030BD5C 7C 64 1B 78 */ mr r4, r3 -/* 8030BD60 80 7E 01 10 */ lwz r3, 0x110(r30) -/* 8030BD64 4B FD 2C F5 */ bl getIndex__10JUTNameTabCFPCc -/* 8030BD68 2C 03 FF FF */ cmpwi r3, -1 -/* 8030BD6C 41 82 00 14 */ beq lbl_8030BD80 -/* 8030BD70 80 9D 00 1C */ lwz r4, 0x1c(r29) -/* 8030BD74 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e -/* 8030BD78 7C 64 03 2E */ sthx r3, r4, r0 -/* 8030BD7C 48 00 00 18 */ b lbl_8030BD94 -lbl_8030BD80: -/* 8030BD80 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8030BD84 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8030BD88 80 7D 00 1C */ lwz r3, 0x1c(r29) -/* 8030BD8C 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e -/* 8030BD90 7C 83 03 2E */ sthx r4, r3, r0 -lbl_8030BD94: -/* 8030BD94 3B 7B 00 01 */ addi r27, r27, 1 -lbl_8030BD98: -/* 8030BD98 57 63 04 3E */ clrlwi r3, r27, 0x10 -/* 8030BD9C A0 1D 00 1A */ lhz r0, 0x1a(r29) -/* 8030BDA0 7C 03 00 40 */ cmplw r3, r0 -/* 8030BDA4 41 80 FF AC */ blt lbl_8030BD50 -/* 8030BDA8 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 8030BDAC 3C 80 80 31 */ lis r4, __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@ha /* 0x8030CB3C@ha */ -/* 8030BDB0 38 84 CB 3C */ addi r4, r4, __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@l /* 0x8030CB3C@l */ -/* 8030BDB4 48 05 5E B9 */ bl __destroy_new_array -/* 8030BDB8 80 7E 01 08 */ lwz r3, 0x108(r30) -/* 8030BDBC A3 83 00 00 */ lhz r28, 0(r3) -/* 8030BDC0 57 83 18 38 */ slwi r3, r28, 3 -/* 8030BDC4 38 63 00 10 */ addi r3, r3, 0x10 -/* 8030BDC8 4B FC 2E FD */ bl __nwa__FUl -/* 8030BDCC 3C 80 80 31 */ lis r4, __ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@ha /* 0x8030CB2C@ha */ -/* 8030BDD0 38 84 CB 2C */ addi r4, r4, __ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@l /* 0x8030CB2C@l */ -/* 8030BDD4 3C A0 80 31 */ lis r5, __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@ha /* 0x8030CB3C@ha */ -/* 8030BDD8 38 A5 CB 3C */ addi r5, r5, __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv@l /* 0x8030CB3C@l */ -/* 8030BDDC 38 C0 00 08 */ li r6, 8 -/* 8030BDE0 7F 87 E3 78 */ mr r7, r28 -/* 8030BDE4 48 05 61 31 */ bl __construct_new_array -/* 8030BDE8 90 7D 00 30 */ stw r3, 0x30(r29) -/* 8030BDEC 80 1D 00 30 */ lwz r0, 0x30(r29) -/* 8030BDF0 28 00 00 00 */ cmplwi r0, 0 -/* 8030BDF4 41 82 00 DC */ beq lbl_8030BED0 -/* 8030BDF8 38 00 00 00 */ li r0, 0 -/* 8030BDFC 98 01 00 08 */ stb r0, 8(r1) -/* 8030BE00 3B E0 00 00 */ li r31, 0 -/* 8030BE04 48 00 00 B8 */ b lbl_8030BEBC -lbl_8030BE08: -/* 8030BE08 7F E4 FB 78 */ mr r4, r31 -/* 8030BE0C 48 00 11 05 */ bl getResReference__15J2DResReferenceCFUs -/* 8030BE10 7C 64 1B 79 */ or. r4, r3, r3 -/* 8030BE14 3B 40 00 00 */ li r26, 0 -/* 8030BE18 41 82 00 48 */ beq lbl_8030BE60 -/* 8030BE1C 38 61 00 08 */ addi r3, r1, 8 -/* 8030BE20 3C A0 54 49 */ lis r5, 0x5449 /* 0x54494D47@ha */ -/* 8030BE24 38 A5 4D 47 */ addi r5, r5, 0x4D47 /* 0x54494D47@l */ -/* 8030BE28 38 C0 00 00 */ li r6, 0 -/* 8030BE2C 4B FD 22 F5 */ bl getResource__15JUTResReferenceFPCvUlP10JKRArchive -/* 8030BE30 7C 7A 1B 79 */ or. r26, r3, r3 -/* 8030BE34 40 82 00 2C */ bne lbl_8030BE60 -/* 8030BE38 83 8D 90 10 */ lwz r28, mDataManage__9J2DScreen(r13) -/* 8030BE3C 28 1C 00 00 */ cmplwi r28, 0 -/* 8030BE40 41 82 00 20 */ beq lbl_8030BE60 -/* 8030BE44 80 7E 01 08 */ lwz r3, 0x108(r30) -/* 8030BE48 7F E4 FB 78 */ mr r4, r31 -/* 8030BE4C 48 00 10 F9 */ bl getName__15J2DResReferenceCFUs -/* 8030BE50 7C 64 1B 78 */ mr r4, r3 -/* 8030BE54 7F 83 E3 78 */ mr r3, r28 -/* 8030BE58 48 00 0F C1 */ bl get__13J2DDataManageFPCc -/* 8030BE5C 7C 7A 1B 78 */ mr r26, r3 -lbl_8030BE60: -/* 8030BE60 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 8030BE64 57 FB 1B 78 */ rlwinm r27, r31, 3, 0xd, 0x1c -/* 8030BE68 7F 43 D9 2E */ stwx r26, r3, r27 -/* 8030BE6C 28 1A 00 00 */ cmplwi r26, 0 -/* 8030BE70 41 82 00 48 */ beq lbl_8030BEB8 -/* 8030BE74 88 1A 00 08 */ lbz r0, 8(r26) -/* 8030BE78 28 00 00 00 */ cmplwi r0, 0 -/* 8030BE7C 41 82 00 3C */ beq lbl_8030BEB8 -/* 8030BE80 38 60 00 18 */ li r3, 0x18 -/* 8030BE84 4B FC 2D C9 */ bl __nw__FUl -/* 8030BE88 7C 7C 1B 79 */ or. r28, r3, r3 -/* 8030BE8C 41 82 00 20 */ beq lbl_8030BEAC -/* 8030BE90 38 80 00 00 */ li r4, 0 -/* 8030BE94 88 BA 00 09 */ lbz r5, 9(r26) -/* 8030BE98 88 DA 00 01 */ lbz r6, 1(r26) -/* 8030BE9C A0 FA 00 0A */ lhz r7, 0xa(r26) -/* 8030BEA0 80 1A 00 0C */ lwz r0, 0xc(r26) -/* 8030BEA4 7D 1A 02 14 */ add r8, r26, r0 -/* 8030BEA8 4B FD 2A 75 */ bl storeTLUT__10JUTPaletteF7_GXTlut10_GXTlutFmt15JUTTransparencyUsPv -lbl_8030BEAC: -/* 8030BEAC 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 8030BEB0 38 1B 00 04 */ addi r0, r27, 4 -/* 8030BEB4 7F 83 01 2E */ stwx r28, r3, r0 -lbl_8030BEB8: -/* 8030BEB8 3B FF 00 01 */ addi r31, r31, 1 -lbl_8030BEBC: -/* 8030BEBC 57 E4 04 3E */ clrlwi r4, r31, 0x10 -/* 8030BEC0 80 7E 01 08 */ lwz r3, 0x108(r30) -/* 8030BEC4 A0 03 00 00 */ lhz r0, 0(r3) -/* 8030BEC8 7C 04 00 40 */ cmplw r4, r0 -/* 8030BECC 41 80 FF 3C */ blt lbl_8030BE08 -lbl_8030BED0: -/* 8030BED0 39 61 01 30 */ addi r11, r1, 0x130 -/* 8030BED4 48 05 63 49 */ bl _restgpr_26 -/* 8030BED8 80 01 01 34 */ lwz r0, 0x134(r1) -/* 8030BEDC 7C 08 03 A6 */ mtlr r0 -/* 8030BEE0 38 21 01 30 */ addi r1, r1, 0x130 -/* 8030BEE4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__19J2DAnmTextureSRTKeyFP9J2DScreen.s b/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__19J2DAnmTextureSRTKeyFP9J2DScreen.s deleted file mode 100644 index f7f8260bf9..0000000000 --- a/asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__19J2DAnmTextureSRTKeyFP9J2DScreen.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8030BC60: -/* 8030BC60 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030BC64 7C 08 02 A6 */ mflr r0 -/* 8030BC68 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030BC6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030BC70 48 05 65 6D */ bl _savegpr_29 -/* 8030BC74 7C 7D 1B 78 */ mr r29, r3 -/* 8030BC78 7C 9E 23 79 */ or. r30, r4, r4 -/* 8030BC7C 41 82 00 7C */ beq lbl_8030BCF8 -/* 8030BC80 80 1E 01 10 */ lwz r0, 0x110(r30) -/* 8030BC84 28 00 00 00 */ cmplwi r0, 0 -/* 8030BC88 41 82 00 70 */ beq lbl_8030BCF8 -/* 8030BC8C 3B E0 00 00 */ li r31, 0 -/* 8030BC90 48 00 00 4C */ b lbl_8030BCDC -lbl_8030BC94: -/* 8030BC94 38 7D 00 34 */ addi r3, r29, 0x34 -/* 8030BC98 7F E4 FB 78 */ mr r4, r31 -/* 8030BC9C 4B FD 2E 5D */ bl getName__10JUTNameTabCFUs -/* 8030BCA0 7C 64 1B 78 */ mr r4, r3 -/* 8030BCA4 80 7E 01 10 */ lwz r3, 0x110(r30) -/* 8030BCA8 4B FD 2D B1 */ bl getIndex__10JUTNameTabCFPCc -/* 8030BCAC 2C 03 FF FF */ cmpwi r3, -1 -/* 8030BCB0 41 82 00 14 */ beq lbl_8030BCC4 -/* 8030BCB4 80 9D 00 30 */ lwz r4, 0x30(r29) -/* 8030BCB8 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e -/* 8030BCBC 7C 64 03 2E */ sthx r3, r4, r0 -/* 8030BCC0 48 00 00 18 */ b lbl_8030BCD8 -lbl_8030BCC4: -/* 8030BCC4 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8030BCC8 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8030BCCC 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 8030BCD0 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e -/* 8030BCD4 7C 83 03 2E */ sthx r4, r3, r0 -lbl_8030BCD8: -/* 8030BCD8 3B FF 00 01 */ addi r31, r31, 1 -lbl_8030BCDC: -/* 8030BCDC 57 E4 04 3E */ clrlwi r4, r31, 0x10 -/* 8030BCE0 A0 7D 00 18 */ lhz r3, 0x18(r29) -/* 8030BCE4 38 00 00 03 */ li r0, 3 -/* 8030BCE8 7C 03 03 D6 */ divw r0, r3, r0 -/* 8030BCEC 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8030BCF0 7C 04 00 40 */ cmplw r4, r0 -/* 8030BCF4 41 80 FF A0 */ blt lbl_8030BC94 -lbl_8030BCF8: -/* 8030BCF8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030BCFC 48 05 65 2D */ bl _restgpr_29 -/* 8030BD00 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030BD04 7C 08 03 A6 */ mtlr r0 -/* 8030BD08 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030BD0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DManage/getName__15J2DResReferenceCFUs.s b/asm/JSystem/J2DGraph/J2DManage/getName__15J2DResReferenceCFUs.s deleted file mode 100644 index f5bff7333f..0000000000 --- a/asm/JSystem/J2DGraph/J2DManage/getName__15J2DResReferenceCFUs.s +++ /dev/null @@ -1,98 +0,0 @@ -lbl_8030CF44: -/* 8030CF44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CF48 7C 08 02 A6 */ mflr r0 -/* 8030CF4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CF50 4B FF FF C1 */ bl getResReference__15J2DResReferenceCFUs -/* 8030CF54 28 03 00 00 */ cmplwi r3, 0 -/* 8030CF58 40 82 00 14 */ bne lbl_8030CF6C -/* 8030CF5C 38 00 00 00 */ li r0, 0 -/* 8030CF60 3C 60 80 43 */ lis r3, p_name@ha /* 0x804349C0@ha */ -/* 8030CF64 9C 03 49 C0 */ stbu r0, p_name@l(r3) /* 0x804349C0@l */ -/* 8030CF68 48 00 01 20 */ b lbl_8030D088 -lbl_8030CF6C: -/* 8030CF6C 88 03 00 00 */ lbz r0, 0(r3) -/* 8030CF70 7C 00 07 74 */ extsb r0, r0 -/* 8030CF74 2C 00 00 04 */ cmpwi r0, 4 -/* 8030CF78 41 82 00 5C */ beq lbl_8030CFD4 -/* 8030CF7C 40 80 00 F8 */ bge lbl_8030D074 -/* 8030CF80 2C 00 00 02 */ cmpwi r0, 2 -/* 8030CF84 40 80 00 08 */ bge lbl_8030CF8C -/* 8030CF88 48 00 00 EC */ b lbl_8030D074 -lbl_8030CF8C: -/* 8030CF8C 38 C0 00 00 */ li r6, 0 -/* 8030CF90 3C 80 80 43 */ lis r4, p_name@ha /* 0x804349C0@ha */ -/* 8030CF94 38 A4 49 C0 */ addi r5, r4, p_name@l /* 0x804349C0@l */ -/* 8030CF98 48 00 00 18 */ b lbl_8030CFB0 -lbl_8030CF9C: -/* 8030CF9C 38 06 00 02 */ addi r0, r6, 2 -/* 8030CFA0 7C 03 00 AE */ lbzx r0, r3, r0 -/* 8030CFA4 98 05 00 00 */ stb r0, 0(r5) -/* 8030CFA8 38 C6 00 01 */ addi r6, r6, 1 -/* 8030CFAC 38 A5 00 01 */ addi r5, r5, 1 -lbl_8030CFB0: -/* 8030CFB0 88 03 00 01 */ lbz r0, 1(r3) -/* 8030CFB4 7C 04 07 74 */ extsb r4, r0 -/* 8030CFB8 7C 06 20 00 */ cmpw r6, r4 -/* 8030CFBC 41 80 FF E0 */ blt lbl_8030CF9C -/* 8030CFC0 38 00 00 00 */ li r0, 0 -/* 8030CFC4 3C 60 80 43 */ lis r3, p_name@ha /* 0x804349C0@ha */ -/* 8030CFC8 38 63 49 C0 */ addi r3, r3, p_name@l /* 0x804349C0@l */ -/* 8030CFCC 7C 03 21 AE */ stbx r0, r3, r4 -/* 8030CFD0 48 00 00 B0 */ b lbl_8030D080 -lbl_8030CFD4: -/* 8030CFD4 88 03 00 01 */ lbz r0, 1(r3) -/* 8030CFD8 7C 04 07 74 */ extsb r4, r0 -/* 8030CFDC 38 E4 00 01 */ addi r7, r4, 1 -/* 8030CFE0 7C 83 3A 14 */ add r4, r3, r7 -/* 8030CFE4 38 07 FF FF */ addi r0, r7, -1 -/* 8030CFE8 7C 09 03 A6 */ mtctr r0 -/* 8030CFEC 2C 07 00 02 */ cmpwi r7, 2 -/* 8030CFF0 41 80 00 28 */ blt lbl_8030D018 -lbl_8030CFF4: -/* 8030CFF4 88 04 00 00 */ lbz r0, 0(r4) -/* 8030CFF8 7C 00 07 74 */ extsb r0, r0 -/* 8030CFFC 2C 00 00 5C */ cmpwi r0, 0x5c -/* 8030D000 41 82 00 18 */ beq lbl_8030D018 -/* 8030D004 2C 00 00 2F */ cmpwi r0, 0x2f -/* 8030D008 41 82 00 10 */ beq lbl_8030D018 -/* 8030D00C 38 E7 FF FF */ addi r7, r7, -1 -/* 8030D010 38 84 FF FF */ addi r4, r4, -1 -/* 8030D014 42 00 FF E0 */ bdnz lbl_8030CFF4 -lbl_8030D018: -/* 8030D018 39 00 00 00 */ li r8, 0 -/* 8030D01C 3C 80 80 43 */ lis r4, p_name@ha /* 0x804349C0@ha */ -/* 8030D020 38 04 49 C0 */ addi r0, r4, p_name@l /* 0x804349C0@l */ -/* 8030D024 38 E7 00 01 */ addi r7, r7, 1 -/* 8030D028 7C A3 3A 14 */ add r5, r3, r7 -/* 8030D02C 7C 04 03 78 */ mr r4, r0 -/* 8030D030 48 00 00 1C */ b lbl_8030D04C -lbl_8030D034: -/* 8030D034 88 05 00 00 */ lbz r0, 0(r5) -/* 8030D038 98 04 00 00 */ stb r0, 0(r4) -/* 8030D03C 39 08 00 01 */ addi r8, r8, 1 -/* 8030D040 38 84 00 01 */ addi r4, r4, 1 -/* 8030D044 38 E7 00 01 */ addi r7, r7, 1 -/* 8030D048 38 A5 00 01 */ addi r5, r5, 1 -lbl_8030D04C: -/* 8030D04C 88 03 00 01 */ lbz r0, 1(r3) -/* 8030D050 7C 06 07 74 */ extsb r6, r0 -/* 8030D054 38 06 00 02 */ addi r0, r6, 2 -/* 8030D058 7C 07 00 00 */ cmpw r7, r0 -/* 8030D05C 41 80 FF D8 */ blt lbl_8030D034 -/* 8030D060 38 00 00 00 */ li r0, 0 -/* 8030D064 3C 60 80 43 */ lis r3, p_name@ha /* 0x804349C0@ha */ -/* 8030D068 38 63 49 C0 */ addi r3, r3, p_name@l /* 0x804349C0@l */ -/* 8030D06C 7C 03 41 AE */ stbx r0, r3, r8 -/* 8030D070 48 00 00 10 */ b lbl_8030D080 -lbl_8030D074: -/* 8030D074 38 00 00 00 */ li r0, 0 -/* 8030D078 3C 60 80 43 */ lis r3, p_name@ha /* 0x804349C0@ha */ -/* 8030D07C 98 03 49 C0 */ stb r0, p_name@l(r3) /* 0x804349C0@l */ -lbl_8030D080: -/* 8030D080 3C 60 80 43 */ lis r3, p_name@ha /* 0x804349C0@ha */ -/* 8030D084 38 63 49 C0 */ addi r3, r3, p_name@l /* 0x804349C0@l */ -lbl_8030D088: -/* 8030D088 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030D08C 7C 08 03 A6 */ mtlr r0 -/* 8030D090 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030D094 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DManage/getResReference__15J2DResReferenceCFUs.s b/asm/JSystem/J2DGraph/J2DManage/getResReference__15J2DResReferenceCFUs.s deleted file mode 100644 index 201b1bce2d..0000000000 --- a/asm/JSystem/J2DGraph/J2DManage/getResReference__15J2DResReferenceCFUs.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8030CF10: -/* 8030CF10 A0 A3 00 00 */ lhz r5, 0(r3) -/* 8030CF14 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8030CF18 7C 05 00 40 */ cmplw r5, r0 -/* 8030CF1C 40 81 00 0C */ ble lbl_8030CF28 -/* 8030CF20 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030CF24 40 82 00 0C */ bne lbl_8030CF30 -lbl_8030CF28: -/* 8030CF28 38 60 00 00 */ li r3, 0 -/* 8030CF2C 4E 80 00 20 */ blr -lbl_8030CF30: -/* 8030CF30 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e -/* 8030CF34 7C 83 02 14 */ add r4, r3, r0 -/* 8030CF38 A0 04 00 02 */ lhz r0, 2(r4) -/* 8030CF3C 7C 63 02 14 */ add r3, r3, r0 -/* 8030CF40 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFP14JSUInputStream.s b/asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFP14JSUInputStream.s deleted file mode 100644 index d4d1f736b4..0000000000 --- a/asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFP14JSUInputStream.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8030CE7C: -/* 8030CE7C 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 8030CE80 7C 08 02 A6 */ mflr r0 -/* 8030CE84 90 01 01 24 */ stw r0, 0x124(r1) -/* 8030CE88 39 61 01 20 */ addi r11, r1, 0x120 -/* 8030CE8C 48 05 53 51 */ bl _savegpr_29 -/* 8030CE90 7C 7D 1B 78 */ mr r29, r3 -/* 8030CE94 7C 9E 23 78 */ mr r30, r4 -/* 8030CE98 7F C3 F3 78 */ mr r3, r30 -/* 8030CE9C 38 80 00 01 */ li r4, 1 -/* 8030CEA0 81 9E 00 00 */ lwz r12, 0(r30) -/* 8030CEA4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8030CEA8 7D 89 03 A6 */ mtctr r12 -/* 8030CEAC 4E 80 04 21 */ bctrl -/* 8030CEB0 7F C3 F3 78 */ mr r3, r30 -/* 8030CEB4 38 81 00 08 */ addi r4, r1, 8 -/* 8030CEB8 38 A0 00 01 */ li r5, 1 -/* 8030CEBC 4B FC F3 DD */ bl read__14JSUInputStreamFPvl -/* 8030CEC0 8B E1 00 08 */ lbz r31, 8(r1) -/* 8030CEC4 28 1F 00 00 */ cmplwi r31, 0 -/* 8030CEC8 40 82 00 0C */ bne lbl_8030CED4 -/* 8030CECC 38 60 00 00 */ li r3, 0 -/* 8030CED0 48 00 00 28 */ b lbl_8030CEF8 -lbl_8030CED4: -/* 8030CED4 7F C3 F3 78 */ mr r3, r30 -/* 8030CED8 38 81 00 0C */ addi r4, r1, 0xc -/* 8030CEDC 7F E5 FB 78 */ mr r5, r31 -/* 8030CEE0 4B FC F3 B9 */ bl read__14JSUInputStreamFPvl -/* 8030CEE4 38 00 00 00 */ li r0, 0 -/* 8030CEE8 38 81 00 0C */ addi r4, r1, 0xc -/* 8030CEEC 7C 04 F9 AE */ stbx r0, r4, r31 -/* 8030CEF0 7F A3 EB 78 */ mr r3, r29 -/* 8030CEF4 4B FF FF 25 */ bl get__13J2DDataManageFPCc -lbl_8030CEF8: -/* 8030CEF8 39 61 01 20 */ addi r11, r1, 0x120 -/* 8030CEFC 48 05 53 2D */ bl _restgpr_29 -/* 8030CF00 80 01 01 24 */ lwz r0, 0x124(r1) -/* 8030CF04 7C 08 03 A6 */ mtlr r0 -/* 8030CF08 38 21 01 20 */ addi r1, r1, 0x120 -/* 8030CF0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFPCc.s b/asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFPCc.s deleted file mode 100644 index 16f26a7db5..0000000000 --- a/asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFPCc.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8030CE18: -/* 8030CE18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030CE1C 7C 08 02 A6 */ mflr r0 -/* 8030CE20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030CE24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030CE28 93 C1 00 08 */ stw r30, 8(r1) -/* 8030CE2C 7C 9E 23 78 */ mr r30, r4 -/* 8030CE30 83 E3 00 00 */ lwz r31, 0(r3) -/* 8030CE34 48 00 00 24 */ b lbl_8030CE58 -lbl_8030CE38: -/* 8030CE38 80 7F 00 04 */ lwz r3, 4(r31) -/* 8030CE3C 7F C4 F3 78 */ mr r4, r30 -/* 8030CE40 48 05 BB 55 */ bl strcmp -/* 8030CE44 2C 03 00 00 */ cmpwi r3, 0 -/* 8030CE48 40 82 00 0C */ bne lbl_8030CE54 -/* 8030CE4C 80 7F 00 00 */ lwz r3, 0(r31) -/* 8030CE50 48 00 00 14 */ b lbl_8030CE64 -lbl_8030CE54: -/* 8030CE54 83 FF 00 08 */ lwz r31, 8(r31) -lbl_8030CE58: -/* 8030CE58 28 1F 00 00 */ cmplwi r31, 0 -/* 8030CE5C 40 82 FF DC */ bne lbl_8030CE38 -/* 8030CE60 38 60 00 00 */ li r3, 0 -lbl_8030CE64: -/* 8030CE64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030CE68 83 C1 00 08 */ lwz r30, 8(r1) -/* 8030CE6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030CE70 7C 08 03 A6 */ mtlr r0 -/* 8030CE74 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030CE78 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/J2DCast_F32_to_S16__7J2DPaneFfUc.s b/asm/JSystem/J2DGraph/J2DPane/J2DCast_F32_to_S16__7J2DPaneFfUc.s deleted file mode 100644 index 3d6cad987f..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/J2DCast_F32_to_S16__7J2DPaneFfUc.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_802F7D00: -/* 802F7D00 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F7D04 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802F7D08 28 00 00 0F */ cmplwi r0, 0xf -/* 802F7D0C 41 80 00 0C */ blt lbl_802F7D18 -/* 802F7D10 38 60 00 00 */ li r3, 0 -/* 802F7D14 48 00 00 9C */ b lbl_802F7DB0 -lbl_802F7D18: -/* 802F7D18 FC 60 08 90 */ fmr f3, f1 -/* 802F7D1C C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F7D20 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802F7D24 40 80 00 08 */ bge lbl_802F7D2C -/* 802F7D28 FC 60 08 50 */ fneg f3, f1 -lbl_802F7D2C: -/* 802F7D2C 38 80 00 01 */ li r4, 1 -/* 802F7D30 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802F7D34 7C 80 00 30 */ slw r0, r4, r0 -/* 802F7D38 C8 42 C7 F8 */ lfd f2, lit_1651(r2) -/* 802F7D3C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F7D40 90 01 00 0C */ stw r0, 0xc(r1) -/* 802F7D44 3C 00 43 30 */ lis r0, 0x4330 -/* 802F7D48 90 01 00 08 */ stw r0, 8(r1) -/* 802F7D4C C8 01 00 08 */ lfd f0, 8(r1) -/* 802F7D50 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F7D54 EC 03 00 32 */ fmuls f0, f3, f0 -/* 802F7D58 FC 00 00 1E */ fctiwz f0, f0 -/* 802F7D5C D8 01 00 10 */ stfd f0, 0x10(r1) -/* 802F7D60 80 81 00 14 */ lwz r4, 0x14(r1) -/* 802F7D64 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008000@ha */ -/* 802F7D68 38 03 80 00 */ addi r0, r3, 0x8000 /* 0x00008000@l */ -/* 802F7D6C 7C 04 00 00 */ cmpw r4, r0 -/* 802F7D70 41 80 00 20 */ blt lbl_802F7D90 -/* 802F7D74 C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F7D78 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802F7D7C 40 80 00 0C */ bge lbl_802F7D88 -/* 802F7D80 38 60 80 00 */ li r3, -32768 -/* 802F7D84 48 00 00 2C */ b lbl_802F7DB0 -lbl_802F7D88: -/* 802F7D88 38 60 7F FF */ li r3, 0x7fff -/* 802F7D8C 48 00 00 24 */ b lbl_802F7DB0 -lbl_802F7D90: -/* 802F7D90 C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F7D94 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802F7D98 40 80 00 14 */ bge lbl_802F7DAC -/* 802F7D9C 7C 83 20 F8 */ nor r3, r4, r4 -/* 802F7DA0 38 03 00 01 */ addi r0, r3, 1 -/* 802F7DA4 7C 03 07 34 */ extsh r3, r0 -/* 802F7DA8 48 00 00 08 */ b lbl_802F7DB0 -lbl_802F7DAC: -/* 802F7DAC 7C 83 07 34 */ extsh r3, r4 -lbl_802F7DB0: -/* 802F7DB0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F7DB4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/__ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc.s b/asm/JSystem/J2DGraph/J2DPane/__ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc.s deleted file mode 100644 index be710b4594..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/__ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_802F5F9C: -/* 802F5F9C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802F5FA0 7C 08 02 A6 */ mflr r0 -/* 802F5FA4 90 01 00 34 */ stw r0, 0x34(r1) -/* 802F5FA8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F5FAC 48 06 C2 29 */ bl _savegpr_27 -/* 802F5FB0 7C 7B 1B 78 */ mr r27, r3 -/* 802F5FB4 7C 9D 23 78 */ mr r29, r4 -/* 802F5FB8 7C BE 2B 78 */ mr r30, r5 -/* 802F5FBC 7C DF 33 78 */ mr r31, r6 -/* 802F5FC0 3C 60 80 3D */ lis r3, __vt__7J2DPane@ha /* 0x803CCFD0@ha */ -/* 802F5FC4 38 03 CF D0 */ addi r0, r3, __vt__7J2DPane@l /* 0x803CCFD0@l */ -/* 802F5FC8 90 1B 00 00 */ stw r0, 0(r27) -/* 802F5FCC 3B 9B 00 DC */ addi r28, r27, 0xdc -/* 802F5FD0 7F 83 E3 78 */ mr r3, r28 -/* 802F5FD4 4B FE 5F 41 */ bl initiate__10JSUPtrListFv -/* 802F5FD8 38 7C 00 0C */ addi r3, r28, 0xc -/* 802F5FDC 7F 64 DB 78 */ mr r4, r27 -/* 802F5FE0 4B FE 5E 1D */ bl __ct__10JSUPtrLinkFPv -/* 802F5FE4 38 00 00 00 */ li r0, 0 -/* 802F5FE8 90 1B 00 F8 */ stw r0, 0xf8(r27) -/* 802F5FEC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802F5FF0 40 82 00 60 */ bne lbl_802F6050 -/* 802F5FF4 7F C3 F3 78 */ mr r3, r30 -/* 802F5FF8 81 9E 00 00 */ lwz r12, 0(r30) -/* 802F5FFC 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802F6000 7D 89 03 A6 */ mtctr r12 -/* 802F6004 4E 80 04 21 */ bctrl -/* 802F6008 7C 7F 1B 78 */ mr r31, r3 -/* 802F600C 7F C3 F3 78 */ mr r3, r30 -/* 802F6010 38 81 00 10 */ addi r4, r1, 0x10 -/* 802F6014 38 A0 00 08 */ li r5, 8 -/* 802F6018 4B FE 62 81 */ bl read__14JSUInputStreamFPvl -/* 802F601C 80 01 00 10 */ lwz r0, 0x10(r1) -/* 802F6020 90 1B 00 08 */ stw r0, 8(r27) -/* 802F6024 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F6028 7F FF 02 14 */ add r31, r31, r0 -/* 802F602C 7F 63 DB 78 */ mr r3, r27 -/* 802F6030 7F A4 EB 78 */ mr r4, r29 -/* 802F6034 7F C5 F3 78 */ mr r5, r30 -/* 802F6038 48 00 00 8D */ bl makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream -/* 802F603C 7F C3 F3 78 */ mr r3, r30 -/* 802F6040 7F E4 FB 78 */ mr r4, r31 -/* 802F6044 38 A0 00 00 */ li r5, 0 -/* 802F6048 4B FE 64 95 */ bl seek__20JSURandomInputStreamFl17JSUStreamSeekFrom -/* 802F604C 48 00 00 5C */ b lbl_802F60A8 -lbl_802F6050: -/* 802F6050 7F C3 F3 78 */ mr r3, r30 -/* 802F6054 81 9E 00 00 */ lwz r12, 0(r30) -/* 802F6058 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802F605C 7D 89 03 A6 */ mtctr r12 -/* 802F6060 4E 80 04 21 */ bctrl -/* 802F6064 7C 7F 1B 78 */ mr r31, r3 -/* 802F6068 7F C3 F3 78 */ mr r3, r30 -/* 802F606C 38 81 00 08 */ addi r4, r1, 8 -/* 802F6070 38 A0 00 08 */ li r5, 8 -/* 802F6074 4B FE 63 E5 */ bl peek__20JSURandomInputStreamFPvl -/* 802F6078 80 01 00 08 */ lwz r0, 8(r1) -/* 802F607C 90 1B 00 08 */ stw r0, 8(r27) -/* 802F6080 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802F6084 7F FF 02 14 */ add r31, r31, r0 -/* 802F6088 7F 63 DB 78 */ mr r3, r27 -/* 802F608C 7F A4 EB 78 */ mr r4, r29 -/* 802F6090 7F C5 F3 78 */ mr r5, r30 -/* 802F6094 48 00 1A 85 */ bl makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream -/* 802F6098 7F C3 F3 78 */ mr r3, r30 -/* 802F609C 7F E4 FB 78 */ mr r4, r31 -/* 802F60A0 38 A0 00 00 */ li r5, 0 -/* 802F60A4 4B FE 64 39 */ bl seek__20JSURandomInputStreamFl17JSUStreamSeekFrom -lbl_802F60A8: -/* 802F60A8 7F 63 DB 78 */ mr r3, r27 -/* 802F60AC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F60B0 48 06 C1 71 */ bl _restgpr_27 -/* 802F60B4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802F60B8 7C 08 03 A6 */ mtlr r0 -/* 802F60BC 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F60C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/__dt__7J2DPaneFv.s b/asm/JSystem/J2DGraph/J2DPane/__dt__7J2DPaneFv.s deleted file mode 100644 index 20a774b0d7..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/__dt__7J2DPaneFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_802F658C: -/* 802F658C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F6590 7C 08 02 A6 */ mflr r0 -/* 802F6594 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F6598 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F659C 48 06 BC 41 */ bl _savegpr_29 -/* 802F65A0 7C 7D 1B 79 */ or. r29, r3, r3 -/* 802F65A4 7C 9E 23 78 */ mr r30, r4 -/* 802F65A8 41 82 00 A8 */ beq lbl_802F6650 -/* 802F65AC 3C 60 80 3D */ lis r3, __vt__7J2DPane@ha /* 0x803CCFD0@ha */ -/* 802F65B0 38 03 CF D0 */ addi r0, r3, __vt__7J2DPane@l /* 0x803CCFD0@l */ -/* 802F65B4 90 1D 00 00 */ stw r0, 0(r29) -/* 802F65B8 83 FD 00 DC */ lwz r31, 0xdc(r29) -/* 802F65BC 28 1F 00 00 */ cmplwi r31, 0 -/* 802F65C0 41 82 00 48 */ beq lbl_802F6608 -/* 802F65C4 3B FF FF F4 */ addi r31, r31, -12 -/* 802F65C8 48 00 00 40 */ b lbl_802F6608 -lbl_802F65CC: -/* 802F65CC 93 E1 00 08 */ stw r31, 8(r1) -/* 802F65D0 83 FF 00 18 */ lwz r31, 0x18(r31) -/* 802F65D4 28 1F 00 00 */ cmplwi r31, 0 -/* 802F65D8 41 82 00 08 */ beq lbl_802F65E0 -/* 802F65DC 3B FF FF F4 */ addi r31, r31, -12 -lbl_802F65E0: -/* 802F65E0 80 61 00 08 */ lwz r3, 8(r1) -/* 802F65E4 90 61 00 0C */ stw r3, 0xc(r1) -/* 802F65E8 80 63 00 0C */ lwz r3, 0xc(r3) -/* 802F65EC 28 03 00 00 */ cmplwi r3, 0 -/* 802F65F0 41 82 00 18 */ beq lbl_802F6608 -/* 802F65F4 38 80 00 01 */ li r4, 1 -/* 802F65F8 81 83 00 00 */ lwz r12, 0(r3) -/* 802F65FC 81 8C 00 08 */ lwz r12, 8(r12) -/* 802F6600 7D 89 03 A6 */ mtctr r12 -/* 802F6604 4E 80 04 21 */ bctrl -lbl_802F6608: -/* 802F6608 28 1F 00 00 */ cmplwi r31, 0 -/* 802F660C 40 82 FF C0 */ bne lbl_802F65CC -/* 802F6610 34 1D 00 DC */ addic. r0, r29, 0xdc -/* 802F6614 41 82 00 2C */ beq lbl_802F6640 -/* 802F6618 34 1D 00 E8 */ addic. r0, r29, 0xe8 -/* 802F661C 41 82 00 10 */ beq lbl_802F662C -/* 802F6620 38 7D 00 E8 */ addi r3, r29, 0xe8 -/* 802F6624 38 80 00 00 */ li r4, 0 -/* 802F6628 4B FE 57 ED */ bl __dt__10JSUPtrLinkFv -lbl_802F662C: -/* 802F662C 34 1D 00 DC */ addic. r0, r29, 0xdc -/* 802F6630 41 82 00 10 */ beq lbl_802F6640 -/* 802F6634 38 7D 00 DC */ addi r3, r29, 0xdc -/* 802F6638 38 80 00 00 */ li r4, 0 -/* 802F663C 4B FE 58 71 */ bl __dt__10JSUPtrListFv -lbl_802F6640: -/* 802F6640 7F C0 07 35 */ extsh. r0, r30 -/* 802F6644 40 81 00 0C */ ble lbl_802F6650 -/* 802F6648 7F A3 EB 78 */ mr r3, r29 -/* 802F664C 4B FD 86 F1 */ bl __dl__FPv -lbl_802F6650: -/* 802F6650 7F A3 EB 78 */ mr r3, r29 -/* 802F6654 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F6658 48 06 BB D1 */ bl _restgpr_29 -/* 802F665C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F6660 7C 08 03 A6 */ mtlr r0 -/* 802F6664 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F6668 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/__sinit_J2DPane_cpp.s b/asm/JSystem/J2DGraph/J2DPane/__sinit_J2DPane_cpp.s deleted file mode 100644 index 0c52e67f1c..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/__sinit_J2DPane_cpp.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802F847C: -/* 802F847C C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F8480 3C 60 80 43 */ lis r3, static_mBounds__7J2DPane@ha /* 0x804349B0@ha */ -/* 802F8484 D4 03 49 B0 */ stfsu f0, static_mBounds__7J2DPane@l(r3) /* 0x804349B0@l */ -/* 802F8488 D0 03 00 04 */ stfs f0, 4(r3) -/* 802F848C D0 03 00 08 */ stfs f0, 8(r3) -/* 802F8490 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 802F8494 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/changeUseTrans__7J2DPaneFP7J2DPane.s b/asm/JSystem/J2DGraph/J2DPane/changeUseTrans__7J2DPaneFP7J2DPane.s deleted file mode 100644 index eeea07eba8..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/changeUseTrans__7J2DPaneFP7J2DPane.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_802F63F8: -/* 802F63F8 C0 42 C7 F0 */ lfs f2, lit_1469(r2) -/* 802F63FC FC 60 10 90 */ fmr f3, f2 -/* 802F6400 88 C3 00 B7 */ lbz r6, 0xb7(r3) -/* 802F6404 38 A0 00 03 */ li r5, 3 -/* 802F6408 7C 06 2B D6 */ divw r0, r6, r5 -/* 802F640C 7C 00 29 D6 */ mullw r0, r0, r5 -/* 802F6410 7C 00 30 50 */ subf r0, r0, r6 -/* 802F6414 2C 00 00 01 */ cmpwi r0, 1 -/* 802F6418 40 82 00 1C */ bne lbl_802F6434 -/* 802F641C C0 23 00 28 */ lfs f1, 0x28(r3) -/* 802F6420 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F6424 EC 21 00 28 */ fsubs f1, f1, f0 -/* 802F6428 C0 02 C8 08 */ lfs f0, lit_1725(r2) -/* 802F642C EC 41 00 32 */ fmuls f2, f1, f0 -/* 802F6430 48 00 00 18 */ b lbl_802F6448 -lbl_802F6434: -/* 802F6434 2C 00 00 02 */ cmpwi r0, 2 -/* 802F6438 40 82 00 10 */ bne lbl_802F6448 -/* 802F643C C0 23 00 28 */ lfs f1, 0x28(r3) -/* 802F6440 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F6444 EC 41 00 28 */ fsubs f2, f1, f0 -lbl_802F6448: -/* 802F6448 38 00 00 03 */ li r0, 3 -/* 802F644C 7C 06 03 D6 */ divw r0, r6, r0 -/* 802F6450 2C 00 00 01 */ cmpwi r0, 1 -/* 802F6454 40 82 00 1C */ bne lbl_802F6470 -/* 802F6458 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 802F645C C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F6460 EC 21 00 28 */ fsubs f1, f1, f0 -/* 802F6464 C0 02 C8 08 */ lfs f0, lit_1725(r2) -/* 802F6468 EC 61 00 32 */ fmuls f3, f1, f0 -/* 802F646C 48 00 00 18 */ b lbl_802F6484 -lbl_802F6470: -/* 802F6470 2C 00 00 02 */ cmpwi r0, 2 -/* 802F6474 40 82 00 10 */ bne lbl_802F6484 -/* 802F6478 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 802F647C C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F6480 EC 61 00 28 */ fsubs f3, f1, f0 -lbl_802F6484: -/* 802F6484 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F6488 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F648C D0 03 00 D4 */ stfs f0, 0xd4(r3) -/* 802F6490 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F6494 EC 00 18 2A */ fadds f0, f0, f3 -/* 802F6498 D0 03 00 D8 */ stfs f0, 0xd8(r3) -/* 802F649C D0 43 00 C4 */ stfs f2, 0xc4(r3) -/* 802F64A0 D0 63 00 C8 */ stfs f3, 0xc8(r3) -/* 802F64A4 C0 03 00 D4 */ lfs f0, 0xd4(r3) -/* 802F64A8 FC 20 00 50 */ fneg f1, f0 -/* 802F64AC C0 03 00 D8 */ lfs f0, 0xd8(r3) -/* 802F64B0 FC 40 00 50 */ fneg f2, f0 -/* 802F64B4 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F64B8 EC 00 08 2A */ fadds f0, f0, f1 -/* 802F64BC D0 03 00 20 */ stfs f0, 0x20(r3) -/* 802F64C0 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F64C4 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F64C8 D0 03 00 24 */ stfs f0, 0x24(r3) -/* 802F64CC C0 03 00 28 */ lfs f0, 0x28(r3) -/* 802F64D0 EC 00 08 2A */ fadds f0, f0, f1 -/* 802F64D4 D0 03 00 28 */ stfs f0, 0x28(r3) -/* 802F64D8 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 802F64DC EC 00 10 2A */ fadds f0, f0, f2 -/* 802F64E0 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 802F64E4 28 04 00 00 */ cmplwi r4, 0 -/* 802F64E8 4D 82 00 20 */ beqlr -/* 802F64EC 88 A4 00 B7 */ lbz r5, 0xb7(r4) -/* 802F64F0 C0 24 00 28 */ lfs f1, 0x28(r4) -/* 802F64F4 C0 04 00 20 */ lfs f0, 0x20(r4) -/* 802F64F8 EC 41 00 28 */ fsubs f2, f1, f0 -/* 802F64FC C0 24 00 2C */ lfs f1, 0x2c(r4) -/* 802F6500 C0 04 00 24 */ lfs f0, 0x24(r4) -/* 802F6504 EC 61 00 28 */ fsubs f3, f1, f0 -/* 802F6508 38 80 00 03 */ li r4, 3 -/* 802F650C 7C 05 23 D6 */ divw r0, r5, r4 -/* 802F6510 7C 00 21 D6 */ mullw r0, r0, r4 -/* 802F6514 7C 00 28 50 */ subf r0, r0, r5 -/* 802F6518 2C 00 00 01 */ cmpwi r0, 1 -/* 802F651C 40 82 00 1C */ bne lbl_802F6538 -/* 802F6520 C0 23 00 D4 */ lfs f1, 0xd4(r3) -/* 802F6524 C0 02 C8 08 */ lfs f0, lit_1725(r2) -/* 802F6528 EC 02 00 32 */ fmuls f0, f2, f0 -/* 802F652C EC 01 00 28 */ fsubs f0, f1, f0 -/* 802F6530 D0 03 00 D4 */ stfs f0, 0xd4(r3) -/* 802F6534 48 00 00 18 */ b lbl_802F654C -lbl_802F6538: -/* 802F6538 2C 00 00 02 */ cmpwi r0, 2 -/* 802F653C 40 82 00 10 */ bne lbl_802F654C -/* 802F6540 C0 03 00 D4 */ lfs f0, 0xd4(r3) -/* 802F6544 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F6548 D0 03 00 D4 */ stfs f0, 0xd4(r3) -lbl_802F654C: -/* 802F654C 38 00 00 03 */ li r0, 3 -/* 802F6550 7C 05 03 D6 */ divw r0, r5, r0 -/* 802F6554 2C 00 00 01 */ cmpwi r0, 1 -/* 802F6558 40 82 00 1C */ bne lbl_802F6574 -/* 802F655C C0 23 00 D8 */ lfs f1, 0xd8(r3) -/* 802F6560 C0 02 C8 08 */ lfs f0, lit_1725(r2) -/* 802F6564 EC 03 00 32 */ fmuls f0, f3, f0 -/* 802F6568 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802F656C D0 03 00 D8 */ stfs f0, 0xd8(r3) -/* 802F6570 4E 80 00 20 */ blr -lbl_802F6574: -/* 802F6574 2C 00 00 02 */ cmpwi r0, 2 -/* 802F6578 4C 82 00 20 */ bnelr -/* 802F657C C0 03 00 D8 */ lfs f0, 0xd8(r3) -/* 802F6580 EC 00 18 28 */ fsubs f0, f0, f3 -/* 802F6584 D0 03 00 D8 */ stfs f0, 0xd8(r3) -/* 802F6588 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/draw__7J2DPaneFffPC14J2DGrafContextbb.s b/asm/JSystem/J2DGraph/J2DPane/draw__7J2DPaneFffPC14J2DGrafContextbb.s deleted file mode 100644 index 239630a514..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/draw__7J2DPaneFffPC14J2DGrafContextbb.s +++ /dev/null @@ -1,356 +0,0 @@ -lbl_802F67E0: -/* 802F67E0 94 21 FE F0 */ stwu r1, -0x110(r1) -/* 802F67E4 7C 08 02 A6 */ mflr r0 -/* 802F67E8 90 01 01 14 */ stw r0, 0x114(r1) -/* 802F67EC DB E1 01 00 */ stfd f31, 0x100(r1) -/* 802F67F0 F3 E1 01 08 */ psq_st f31, 264(r1), 0, 0 /* qr0 */ -/* 802F67F4 DB C1 00 F0 */ stfd f30, 0xf0(r1) -/* 802F67F8 F3 C1 00 F8 */ psq_st f30, 248(r1), 0, 0 /* qr0 */ -/* 802F67FC 39 61 00 F0 */ addi r11, r1, 0xf0 -/* 802F6800 48 06 B9 D5 */ bl _savegpr_27 -/* 802F6804 7C 7B 1B 78 */ mr r27, r3 -/* 802F6808 FF C0 08 90 */ fmr f30, f1 -/* 802F680C FF E0 10 90 */ fmr f31, f2 -/* 802F6810 7C 9C 23 78 */ mr r28, r4 -/* 802F6814 7C BD 2B 78 */ mr r29, r5 -/* 802F6818 3B E0 00 00 */ li r31, 0 -/* 802F681C 54 C0 06 3F */ clrlwi. r0, r6, 0x18 -/* 802F6820 41 82 00 14 */ beq lbl_802F6834 -/* 802F6824 88 1B 00 B0 */ lbz r0, 0xb0(r27) -/* 802F6828 28 00 00 00 */ cmplwi r0, 0 -/* 802F682C 41 82 00 08 */ beq lbl_802F6834 -/* 802F6830 3B E0 00 01 */ li r31, 1 -lbl_802F6834: -/* 802F6834 7F 83 E3 78 */ mr r3, r28 -/* 802F6838 81 9C 00 00 */ lwz r12, 0(r28) -/* 802F683C 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 802F6840 7D 89 03 A6 */ mtctr r12 -/* 802F6844 4E 80 04 21 */ bctrl -/* 802F6848 2C 03 00 01 */ cmpwi r3, 1 -/* 802F684C 41 82 00 08 */ beq lbl_802F6854 -/* 802F6850 3B A0 00 00 */ li r29, 0 -lbl_802F6854: -/* 802F6854 80 7B 00 EC */ lwz r3, 0xec(r27) -/* 802F6858 3B C0 00 00 */ li r30, 0 -/* 802F685C 28 03 00 00 */ cmplwi r3, 0 -/* 802F6860 41 82 00 08 */ beq lbl_802F6868 -/* 802F6864 83 C3 00 0C */ lwz r30, 0xc(r3) -lbl_802F6868: -/* 802F6868 38 00 00 00 */ li r0, 0 -/* 802F686C C0 3B 00 28 */ lfs f1, 0x28(r27) -/* 802F6870 C0 1B 00 20 */ lfs f0, 0x20(r27) -/* 802F6874 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802F6878 4C 41 13 82 */ cror 2, 1, 2 -/* 802F687C 40 82 00 1C */ bne lbl_802F6898 -/* 802F6880 C0 3B 00 2C */ lfs f1, 0x2c(r27) -/* 802F6884 C0 1B 00 24 */ lfs f0, 0x24(r27) -/* 802F6888 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802F688C 4C 41 13 82 */ cror 2, 1, 2 -/* 802F6890 40 82 00 08 */ bne lbl_802F6898 -/* 802F6894 38 00 00 01 */ li r0, 1 -lbl_802F6898: -/* 802F6898 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802F689C 41 82 04 54 */ beq lbl_802F6CF0 -/* 802F68A0 80 7B 00 20 */ lwz r3, 0x20(r27) -/* 802F68A4 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 802F68A8 90 7B 00 30 */ stw r3, 0x30(r27) -/* 802F68AC 90 1B 00 34 */ stw r0, 0x34(r27) -/* 802F68B0 80 7B 00 28 */ lwz r3, 0x28(r27) -/* 802F68B4 80 1B 00 2C */ lwz r0, 0x2c(r27) -/* 802F68B8 90 7B 00 38 */ stw r3, 0x38(r27) -/* 802F68BC 90 1B 00 3C */ stw r0, 0x3c(r27) -/* 802F68C0 C0 3B 00 D4 */ lfs f1, 0xd4(r27) -/* 802F68C4 C0 5B 00 D8 */ lfs f2, 0xd8(r27) -/* 802F68C8 C0 1B 00 30 */ lfs f0, 0x30(r27) -/* 802F68CC EC 00 08 2A */ fadds f0, f0, f1 -/* 802F68D0 D0 1B 00 30 */ stfs f0, 0x30(r27) -/* 802F68D4 C0 1B 00 34 */ lfs f0, 0x34(r27) -/* 802F68D8 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F68DC D0 1B 00 34 */ stfs f0, 0x34(r27) -/* 802F68E0 C0 1B 00 38 */ lfs f0, 0x38(r27) -/* 802F68E4 EC 00 08 2A */ fadds f0, f0, f1 -/* 802F68E8 D0 1B 00 38 */ stfs f0, 0x38(r27) -/* 802F68EC C0 1B 00 3C */ lfs f0, 0x3c(r27) -/* 802F68F0 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F68F4 D0 1B 00 3C */ stfs f0, 0x3c(r27) -/* 802F68F8 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802F68FC 41 82 00 38 */ beq lbl_802F6934 -/* 802F6900 80 7B 00 20 */ lwz r3, 0x20(r27) -/* 802F6904 80 1B 00 24 */ lwz r0, 0x24(r27) -/* 802F6908 90 7B 00 40 */ stw r3, 0x40(r27) -/* 802F690C 90 1B 00 44 */ stw r0, 0x44(r27) -/* 802F6910 80 7B 00 28 */ lwz r3, 0x28(r27) -/* 802F6914 80 1B 00 2C */ lwz r0, 0x2c(r27) -/* 802F6918 90 7B 00 48 */ stw r3, 0x48(r27) -/* 802F691C 90 1B 00 4C */ stw r0, 0x4c(r27) -/* 802F6920 7F 63 DB 78 */ mr r3, r27 -/* 802F6924 81 9B 00 00 */ lwz r12, 0(r27) -/* 802F6928 81 8C 00 58 */ lwz r12, 0x58(r12) -/* 802F692C 7D 89 03 A6 */ mtctr r12 -/* 802F6930 4E 80 04 21 */ bctrl -lbl_802F6934: -/* 802F6934 28 1E 00 00 */ cmplwi r30, 0 -/* 802F6938 41 82 01 1C */ beq lbl_802F6A54 -/* 802F693C C0 3E 00 30 */ lfs f1, 0x30(r30) -/* 802F6940 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 802F6944 EC 41 00 28 */ fsubs f2, f1, f0 -/* 802F6948 C0 3E 00 34 */ lfs f1, 0x34(r30) -/* 802F694C C0 1E 00 24 */ lfs f0, 0x24(r30) -/* 802F6950 EC 21 00 28 */ fsubs f1, f1, f0 -/* 802F6954 C0 1B 00 30 */ lfs f0, 0x30(r27) -/* 802F6958 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F695C D0 1B 00 30 */ stfs f0, 0x30(r27) -/* 802F6960 C0 1B 00 34 */ lfs f0, 0x34(r27) -/* 802F6964 EC 00 08 2A */ fadds f0, f0, f1 -/* 802F6968 D0 1B 00 34 */ stfs f0, 0x34(r27) -/* 802F696C C0 1B 00 38 */ lfs f0, 0x38(r27) -/* 802F6970 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F6974 D0 1B 00 38 */ stfs f0, 0x38(r27) -/* 802F6978 C0 1B 00 3C */ lfs f0, 0x3c(r27) -/* 802F697C EC 00 08 2A */ fadds f0, f0, f1 -/* 802F6980 D0 1B 00 3C */ stfs f0, 0x3c(r27) -/* 802F6984 38 7E 00 80 */ addi r3, r30, 0x80 -/* 802F6988 38 9B 00 50 */ addi r4, r27, 0x50 -/* 802F698C 38 BB 00 80 */ addi r5, r27, 0x80 -/* 802F6990 48 04 FB 55 */ bl PSMTXConcat -/* 802F6994 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802F6998 41 82 01 44 */ beq lbl_802F6ADC -/* 802F699C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 802F69A0 41 82 00 84 */ beq lbl_802F6A24 -/* 802F69A4 80 7B 00 30 */ lwz r3, 0x30(r27) -/* 802F69A8 80 1B 00 34 */ lwz r0, 0x34(r27) -/* 802F69AC 90 7B 00 40 */ stw r3, 0x40(r27) -/* 802F69B0 90 1B 00 44 */ stw r0, 0x44(r27) -/* 802F69B4 80 7B 00 38 */ lwz r3, 0x38(r27) -/* 802F69B8 80 1B 00 3C */ lwz r0, 0x3c(r27) -/* 802F69BC 90 7B 00 48 */ stw r3, 0x48(r27) -/* 802F69C0 90 1B 00 4C */ stw r0, 0x4c(r27) -/* 802F69C4 C0 1B 00 40 */ lfs f0, 0x40(r27) -/* 802F69C8 C0 3E 00 40 */ lfs f1, 0x40(r30) -/* 802F69CC FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802F69D0 4C 40 13 82 */ cror 2, 0, 2 -/* 802F69D4 40 82 00 08 */ bne lbl_802F69DC -/* 802F69D8 D0 3B 00 40 */ stfs f1, 0x40(r27) -lbl_802F69DC: -/* 802F69DC C0 1B 00 44 */ lfs f0, 0x44(r27) -/* 802F69E0 C0 3E 00 44 */ lfs f1, 0x44(r30) -/* 802F69E4 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802F69E8 4C 40 13 82 */ cror 2, 0, 2 -/* 802F69EC 40 82 00 08 */ bne lbl_802F69F4 -/* 802F69F0 D0 3B 00 44 */ stfs f1, 0x44(r27) -lbl_802F69F4: -/* 802F69F4 C0 1B 00 48 */ lfs f0, 0x48(r27) -/* 802F69F8 C0 3E 00 48 */ lfs f1, 0x48(r30) -/* 802F69FC FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802F6A00 4C 41 13 82 */ cror 2, 1, 2 -/* 802F6A04 40 82 00 08 */ bne lbl_802F6A0C -/* 802F6A08 D0 3B 00 48 */ stfs f1, 0x48(r27) -lbl_802F6A0C: -/* 802F6A0C C0 1B 00 4C */ lfs f0, 0x4c(r27) -/* 802F6A10 C0 3E 00 4C */ lfs f1, 0x4c(r30) -/* 802F6A14 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802F6A18 4C 41 13 82 */ cror 2, 1, 2 -/* 802F6A1C 40 82 00 08 */ bne lbl_802F6A24 -/* 802F6A20 D0 3B 00 4C */ stfs f1, 0x4c(r27) -lbl_802F6A24: -/* 802F6A24 88 1B 00 B2 */ lbz r0, 0xb2(r27) -/* 802F6A28 98 1B 00 B3 */ stb r0, 0xb3(r27) -/* 802F6A2C 88 1B 00 B4 */ lbz r0, 0xb4(r27) -/* 802F6A30 28 00 00 00 */ cmplwi r0, 0 -/* 802F6A34 41 82 00 A8 */ beq lbl_802F6ADC -/* 802F6A38 88 7B 00 B2 */ lbz r3, 0xb2(r27) -/* 802F6A3C 88 1E 00 B3 */ lbz r0, 0xb3(r30) -/* 802F6A40 7C 63 01 D6 */ mullw r3, r3, r0 -/* 802F6A44 38 00 00 FF */ li r0, 0xff -/* 802F6A48 7C 03 03 D6 */ divw r0, r3, r0 -/* 802F6A4C 98 1B 00 B3 */ stb r0, 0xb3(r27) -/* 802F6A50 48 00 00 8C */ b lbl_802F6ADC -lbl_802F6A54: -/* 802F6A54 C0 1B 00 30 */ lfs f0, 0x30(r27) -/* 802F6A58 EC 00 F0 2A */ fadds f0, f0, f30 -/* 802F6A5C D0 1B 00 30 */ stfs f0, 0x30(r27) -/* 802F6A60 C0 1B 00 34 */ lfs f0, 0x34(r27) -/* 802F6A64 EC 00 F8 2A */ fadds f0, f0, f31 -/* 802F6A68 D0 1B 00 34 */ stfs f0, 0x34(r27) -/* 802F6A6C C0 1B 00 38 */ lfs f0, 0x38(r27) -/* 802F6A70 EC 00 F0 2A */ fadds f0, f0, f30 -/* 802F6A74 D0 1B 00 38 */ stfs f0, 0x38(r27) -/* 802F6A78 C0 1B 00 3C */ lfs f0, 0x3c(r27) -/* 802F6A7C EC 00 F8 2A */ fadds f0, f0, f31 -/* 802F6A80 D0 1B 00 3C */ stfs f0, 0x3c(r27) -/* 802F6A84 7F 63 DB 78 */ mr r3, r27 -/* 802F6A88 C0 1B 00 D4 */ lfs f0, 0xd4(r27) -/* 802F6A8C EC 20 F0 2A */ fadds f1, f0, f30 -/* 802F6A90 C0 1B 00 D8 */ lfs f0, 0xd8(r27) -/* 802F6A94 EC 40 F8 2A */ fadds f2, f0, f31 -/* 802F6A98 81 9B 00 00 */ lwz r12, 0(r27) -/* 802F6A9C 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 802F6AA0 7D 89 03 A6 */ mtctr r12 -/* 802F6AA4 4E 80 04 21 */ bctrl -/* 802F6AA8 38 7B 00 50 */ addi r3, r27, 0x50 -/* 802F6AAC 38 9B 00 80 */ addi r4, r27, 0x80 -/* 802F6AB0 48 04 FA 01 */ bl PSMTXCopy -/* 802F6AB4 80 7B 00 30 */ lwz r3, 0x30(r27) -/* 802F6AB8 80 1B 00 34 */ lwz r0, 0x34(r27) -/* 802F6ABC 90 7B 00 40 */ stw r3, 0x40(r27) -/* 802F6AC0 90 1B 00 44 */ stw r0, 0x44(r27) -/* 802F6AC4 80 7B 00 38 */ lwz r3, 0x38(r27) -/* 802F6AC8 80 1B 00 3C */ lwz r0, 0x3c(r27) -/* 802F6ACC 90 7B 00 48 */ stw r3, 0x48(r27) -/* 802F6AD0 90 1B 00 4C */ stw r0, 0x4c(r27) -/* 802F6AD4 88 1B 00 B2 */ lbz r0, 0xb2(r27) -/* 802F6AD8 98 1B 00 B3 */ stb r0, 0xb3(r27) -lbl_802F6ADC: -/* 802F6ADC C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F6AE0 D0 01 00 08 */ stfs f0, 8(r1) -/* 802F6AE4 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802F6AE8 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F6AEC D0 01 00 14 */ stfs f0, 0x14(r1) -/* 802F6AF0 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802F6AF4 41 82 00 1C */ beq lbl_802F6B10 -/* 802F6AF8 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 802F6AFC 41 82 00 14 */ beq lbl_802F6B10 -/* 802F6B00 7F 83 E3 78 */ mr r3, r28 -/* 802F6B04 38 81 00 08 */ addi r4, r1, 8 -/* 802F6B08 38 BB 00 40 */ addi r5, r27, 0x40 -/* 802F6B0C 4B FF 2D 71 */ bl func_802E987C -lbl_802F6B10: -/* 802F6B10 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802F6B14 41 82 01 94 */ beq lbl_802F6CA8 -/* 802F6B18 38 00 00 00 */ li r0, 0 -/* 802F6B1C C0 3B 00 48 */ lfs f1, 0x48(r27) -/* 802F6B20 C0 1B 00 40 */ lfs f0, 0x40(r27) -/* 802F6B24 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802F6B28 4C 41 13 82 */ cror 2, 1, 2 -/* 802F6B2C 40 82 00 1C */ bne lbl_802F6B48 -/* 802F6B30 C0 3B 00 4C */ lfs f1, 0x4c(r27) -/* 802F6B34 C0 1B 00 44 */ lfs f0, 0x44(r27) -/* 802F6B38 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802F6B3C 4C 41 13 82 */ cror 2, 1, 2 -/* 802F6B40 40 82 00 08 */ bne lbl_802F6B48 -/* 802F6B44 38 00 00 01 */ li r0, 1 -lbl_802F6B48: -/* 802F6B48 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802F6B4C 40 82 00 0C */ bne lbl_802F6B58 -/* 802F6B50 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 802F6B54 40 82 01 54 */ bne lbl_802F6CA8 -lbl_802F6B58: -/* 802F6B58 3C 60 80 3D */ lis r3, __vt__14J2DGrafContext@ha /* 0x803CC9B8@ha */ -/* 802F6B5C 38 03 C9 B8 */ addi r0, r3, __vt__14J2DGrafContext@l /* 0x803CC9B8@l */ -/* 802F6B60 90 01 00 18 */ stw r0, 0x18(r1) -/* 802F6B64 C0 1C 00 04 */ lfs f0, 4(r28) -/* 802F6B68 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 802F6B6C C0 1C 00 08 */ lfs f0, 8(r28) -/* 802F6B70 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 802F6B74 C0 1C 00 0C */ lfs f0, 0xc(r28) -/* 802F6B78 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 802F6B7C C0 1C 00 10 */ lfs f0, 0x10(r28) -/* 802F6B80 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 802F6B84 C0 1C 00 14 */ lfs f0, 0x14(r28) -/* 802F6B88 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 802F6B8C C0 1C 00 18 */ lfs f0, 0x18(r28) -/* 802F6B90 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 802F6B94 C0 1C 00 1C */ lfs f0, 0x1c(r28) -/* 802F6B98 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 802F6B9C C0 1C 00 20 */ lfs f0, 0x20(r28) -/* 802F6BA0 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 802F6BA4 80 1C 00 24 */ lwz r0, 0x24(r28) -/* 802F6BA8 90 01 00 3C */ stw r0, 0x3c(r1) -/* 802F6BAC 80 1C 00 28 */ lwz r0, 0x28(r28) -/* 802F6BB0 90 01 00 40 */ stw r0, 0x40(r1) -/* 802F6BB4 80 1C 00 2C */ lwz r0, 0x2c(r28) -/* 802F6BB8 90 01 00 44 */ stw r0, 0x44(r1) -/* 802F6BBC 80 1C 00 30 */ lwz r0, 0x30(r28) -/* 802F6BC0 90 01 00 48 */ stw r0, 0x48(r1) -/* 802F6BC4 88 1C 00 34 */ lbz r0, 0x34(r28) -/* 802F6BC8 98 01 00 4C */ stb r0, 0x4c(r1) -/* 802F6BCC C0 1C 00 38 */ lfs f0, 0x38(r28) -/* 802F6BD0 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 802F6BD4 C0 1C 00 3C */ lfs f0, 0x3c(r28) -/* 802F6BD8 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 802F6BDC 38 A1 00 54 */ addi r5, r1, 0x54 -/* 802F6BE0 38 9C 00 3C */ addi r4, r28, 0x3c -/* 802F6BE4 38 00 00 08 */ li r0, 8 -/* 802F6BE8 7C 09 03 A6 */ mtctr r0 -lbl_802F6BEC: -/* 802F6BEC 80 64 00 04 */ lwz r3, 4(r4) -/* 802F6BF0 84 04 00 08 */ lwzu r0, 8(r4) -/* 802F6BF4 90 65 00 04 */ stw r3, 4(r5) -/* 802F6BF8 94 05 00 08 */ stwu r0, 8(r5) -/* 802F6BFC 42 00 FF F0 */ bdnz lbl_802F6BEC -/* 802F6C00 3B C1 00 98 */ addi r30, r1, 0x98 -/* 802F6C04 38 BE FF FC */ addi r5, r30, -4 -/* 802F6C08 38 9C 00 7C */ addi r4, r28, 0x7c -/* 802F6C0C 38 00 00 06 */ li r0, 6 -/* 802F6C10 7C 09 03 A6 */ mtctr r0 -lbl_802F6C14: -/* 802F6C14 80 64 00 04 */ lwz r3, 4(r4) -/* 802F6C18 84 04 00 08 */ lwzu r0, 8(r4) -/* 802F6C1C 90 65 00 04 */ stw r3, 4(r5) -/* 802F6C20 94 05 00 08 */ stwu r0, 8(r5) -/* 802F6C24 42 00 FF F0 */ bdnz lbl_802F6C14 -/* 802F6C28 A0 1C 00 B0 */ lhz r0, 0xb0(r28) -/* 802F6C2C B0 01 00 C8 */ sth r0, 0xc8(r1) -/* 802F6C30 88 1C 00 B2 */ lbz r0, 0xb2(r28) -/* 802F6C34 98 01 00 CA */ stb r0, 0xca(r1) -/* 802F6C38 A0 1C 00 B3 */ lhz r0, 0xb3(r28) -/* 802F6C3C B0 01 00 CB */ sth r0, 0xcb(r1) -/* 802F6C40 88 1C 00 B5 */ lbz r0, 0xb5(r28) -/* 802F6C44 98 01 00 CD */ stb r0, 0xcd(r1) -/* 802F6C48 A0 1C 00 B6 */ lhz r0, 0xb6(r28) -/* 802F6C4C B0 01 00 CE */ sth r0, 0xce(r1) -/* 802F6C50 88 1C 00 B8 */ lbz r0, 0xb8(r28) -/* 802F6C54 98 01 00 D0 */ stb r0, 0xd0(r1) -/* 802F6C58 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 802F6C5C 41 82 00 18 */ beq lbl_802F6C74 -/* 802F6C60 38 61 00 18 */ addi r3, r1, 0x18 -/* 802F6C64 38 81 00 08 */ addi r4, r1, 8 -/* 802F6C68 4B FF 24 59 */ bl func_802E90C0 -/* 802F6C6C 38 61 00 18 */ addi r3, r1, 0x18 -/* 802F6C70 4B FF 21 B1 */ bl setScissor__14J2DGrafContextFv -lbl_802F6C74: -/* 802F6C74 88 7B 00 B1 */ lbz r3, 0xb1(r27) -/* 802F6C78 48 06 5D 0D */ bl GXSetCullMode -/* 802F6C7C 7F 63 DB 78 */ mr r3, r27 -/* 802F6C80 FC 20 F0 90 */ fmr f1, f30 -/* 802F6C84 FC 40 F8 90 */ fmr f2, f31 -/* 802F6C88 7F C4 F3 78 */ mr r4, r30 -/* 802F6C8C 81 9B 00 00 */ lwz r12, 0(r27) -/* 802F6C90 81 8C 00 38 */ lwz r12, 0x38(r12) -/* 802F6C94 7D 89 03 A6 */ mtctr r12 -/* 802F6C98 4E 80 04 21 */ bctrl -/* 802F6C9C 3C 60 80 3D */ lis r3, __vt__14J2DGrafContext@ha /* 0x803CC9B8@ha */ -/* 802F6CA0 38 03 C9 B8 */ addi r0, r3, __vt__14J2DGrafContext@l /* 0x803CC9B8@l */ -/* 802F6CA4 90 01 00 18 */ stw r0, 0x18(r1) -lbl_802F6CA8: -/* 802F6CA8 83 7B 00 DC */ lwz r27, 0xdc(r27) -/* 802F6CAC 28 1B 00 00 */ cmplwi r27, 0 -/* 802F6CB0 41 82 00 38 */ beq lbl_802F6CE8 -/* 802F6CB4 3B 7B FF F4 */ addi r27, r27, -12 -/* 802F6CB8 48 00 00 30 */ b lbl_802F6CE8 -lbl_802F6CBC: -/* 802F6CBC 80 7B 00 0C */ lwz r3, 0xc(r27) -/* 802F6CC0 C0 22 C7 F0 */ lfs f1, lit_1469(r2) -/* 802F6CC4 FC 40 08 90 */ fmr f2, f1 -/* 802F6CC8 7F 84 E3 78 */ mr r4, r28 -/* 802F6CCC 7F A5 EB 78 */ mr r5, r29 -/* 802F6CD0 7F E6 FB 78 */ mr r6, r31 -/* 802F6CD4 4B FF FB 0D */ bl draw__7J2DPaneFffPC14J2DGrafContextbb -/* 802F6CD8 83 7B 00 18 */ lwz r27, 0x18(r27) -/* 802F6CDC 28 1B 00 00 */ cmplwi r27, 0 -/* 802F6CE0 41 82 00 08 */ beq lbl_802F6CE8 -/* 802F6CE4 3B 7B FF F4 */ addi r27, r27, -12 -lbl_802F6CE8: -/* 802F6CE8 28 1B 00 00 */ cmplwi r27, 0 -/* 802F6CEC 40 82 FF D0 */ bne lbl_802F6CBC -lbl_802F6CF0: -/* 802F6CF0 E3 E1 01 08 */ psq_l f31, 264(r1), 0, 0 /* qr0 */ -/* 802F6CF4 CB E1 01 00 */ lfd f31, 0x100(r1) -/* 802F6CF8 E3 C1 00 F8 */ psq_l f30, 248(r1), 0, 0 /* qr0 */ -/* 802F6CFC CB C1 00 F0 */ lfd f30, 0xf0(r1) -/* 802F6D00 39 61 00 F0 */ addi r11, r1, 0xf0 -/* 802F6D04 48 06 B5 1D */ bl _restgpr_27 -/* 802F6D08 80 01 01 14 */ lwz r0, 0x114(r1) -/* 802F6D0C 7C 08 03 A6 */ mtlr r0 -/* 802F6D10 38 21 01 10 */ addi r1, r1, 0x110 -/* 802F6D14 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/func_802F5D40.s b/asm/JSystem/J2DGraph/J2DPane/func_802F5D40.s deleted file mode 100644 index 625bdf35ed..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/func_802F5D40.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_802F5D40: -/* 802F5D40 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802F5D44 7C 08 02 A6 */ mflr r0 -/* 802F5D48 90 01 00 34 */ stw r0, 0x34(r1) -/* 802F5D4C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F5D50 48 06 C4 7D */ bl _savegpr_25 -/* 802F5D54 7C 79 1B 78 */ mr r25, r3 -/* 802F5D58 7C 9B 23 78 */ mr r27, r4 -/* 802F5D5C 7C BC 2B 78 */ mr r28, r5 -/* 802F5D60 7C FE 3B 78 */ mr r30, r7 -/* 802F5D64 7D 1D 43 78 */ mr r29, r8 -/* 802F5D68 7D 3F 4B 78 */ mr r31, r9 -/* 802F5D6C 3C 60 80 3D */ lis r3, __vt__7J2DPane@ha /* 0x803CCFD0@ha */ -/* 802F5D70 38 03 CF D0 */ addi r0, r3, __vt__7J2DPane@l /* 0x803CCFD0@l */ -/* 802F5D74 90 19 00 00 */ stw r0, 0(r25) -/* 802F5D78 3B 59 00 DC */ addi r26, r25, 0xdc -/* 802F5D7C 7F 43 D3 78 */ mr r3, r26 -/* 802F5D80 4B FE 61 95 */ bl initiate__10JSUPtrListFv -/* 802F5D84 38 7A 00 0C */ addi r3, r26, 0xc -/* 802F5D88 7F 24 CB 78 */ mr r4, r25 -/* 802F5D8C 4B FE 60 71 */ bl __ct__10JSUPtrLinkFPv -/* 802F5D90 38 00 00 00 */ li r0, 0 -/* 802F5D94 90 19 00 F8 */ stw r0, 0xf8(r25) -/* 802F5D98 7F 23 CB 78 */ mr r3, r25 -/* 802F5D9C 7F 64 DB 78 */ mr r4, r27 -/* 802F5DA0 7F 85 E3 78 */ mr r5, r28 -/* 802F5DA4 7F A8 EB 78 */ mr r8, r29 -/* 802F5DA8 7F C7 F3 78 */ mr r7, r30 -/* 802F5DAC 7F E9 FB 78 */ mr r9, r31 -/* 802F5DB0 48 00 00 21 */ bl func_802F5DD0 -/* 802F5DB4 7F 23 CB 78 */ mr r3, r25 -/* 802F5DB8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F5DBC 48 06 C4 5D */ bl _restgpr_25 -/* 802F5DC0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802F5DC4 7C 08 03 A6 */ mtlr r0 -/* 802F5DC8 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F5DCC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/func_802F5DD0.s b/asm/JSystem/J2DGraph/J2DPane/func_802F5DD0.s deleted file mode 100644 index 6aa474c0d6..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/func_802F5DD0.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_802F5DD0: -/* 802F5DD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F5DD4 7C 08 02 A6 */ mflr r0 -/* 802F5DD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F5DDC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F5DE0 93 C1 00 08 */ stw r30, 8(r1) -/* 802F5DE4 7C 7E 1B 78 */ mr r30, r3 -/* 802F5DE8 7C 9F 23 79 */ or. r31, r4, r4 -/* 802F5DEC 3C 60 50 41 */ lis r3, 0x5041 /* 0x50414E31@ha */ -/* 802F5DF0 38 03 4E 31 */ addi r0, r3, 0x4E31 /* 0x50414E31@l */ -/* 802F5DF4 90 1E 00 08 */ stw r0, 8(r30) -/* 802F5DF8 98 BE 00 B0 */ stb r5, 0xb0(r30) -/* 802F5DFC 91 1E 00 14 */ stw r8, 0x14(r30) -/* 802F5E00 90 FE 00 10 */ stw r7, 0x10(r30) -/* 802F5E04 38 00 00 00 */ li r0, 0 -/* 802F5E08 90 1E 00 1C */ stw r0, 0x1c(r30) -/* 802F5E0C 90 1E 00 18 */ stw r0, 0x18(r30) -/* 802F5E10 C0 09 00 00 */ lfs f0, 0(r9) -/* 802F5E14 D0 1E 00 20 */ stfs f0, 0x20(r30) -/* 802F5E18 C0 09 00 04 */ lfs f0, 4(r9) -/* 802F5E1C D0 1E 00 24 */ stfs f0, 0x24(r30) -/* 802F5E20 C0 09 00 08 */ lfs f0, 8(r9) -/* 802F5E24 D0 1E 00 28 */ stfs f0, 0x28(r30) -/* 802F5E28 C0 09 00 0C */ lfs f0, 0xc(r9) -/* 802F5E2C D0 1E 00 2C */ stfs f0, 0x2c(r30) -/* 802F5E30 41 82 00 18 */ beq lbl_802F5E48 -/* 802F5E34 34 9E 00 DC */ addic. r4, r30, 0xdc -/* 802F5E38 41 82 00 08 */ beq lbl_802F5E40 -/* 802F5E3C 38 84 00 0C */ addi r4, r4, 0xc -lbl_802F5E40: -/* 802F5E40 38 7F 00 DC */ addi r3, r31, 0xdc -/* 802F5E44 4B FE 61 09 */ bl append__10JSUPtrListFP10JSUPtrLink -lbl_802F5E48: -/* 802F5E48 7F C3 F3 78 */ mr r3, r30 -/* 802F5E4C 4B FF FE 6D */ bl initiate__7J2DPaneFv -/* 802F5E50 7F C3 F3 78 */ mr r3, r30 -/* 802F5E54 7F E4 FB 78 */ mr r4, r31 -/* 802F5E58 48 00 05 A1 */ bl changeUseTrans__7J2DPaneFP7J2DPane -/* 802F5E5C 7F C3 F3 78 */ mr r3, r30 -/* 802F5E60 81 9E 00 00 */ lwz r12, 0(r30) -/* 802F5E64 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F5E68 7D 89 03 A6 */ mtctr r12 -/* 802F5E6C 4E 80 04 21 */ bctrl -/* 802F5E70 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F5E74 83 C1 00 08 */ lwz r30, 8(r1) -/* 802F5E78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F5E7C 7C 08 03 A6 */ mtlr r0 -/* 802F5E80 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F5E84 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/func_802F5E88.s b/asm/JSystem/J2DGraph/J2DPane/func_802F5E88.s deleted file mode 100644 index 23a0c97c95..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/func_802F5E88.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802F5E88: -/* 802F5E88 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F5E8C 7C 08 02 A6 */ mflr r0 -/* 802F5E90 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F5E94 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F5E98 48 06 C3 3D */ bl _savegpr_27 -/* 802F5E9C 7C 7B 1B 78 */ mr r27, r3 -/* 802F5EA0 7C BE 2B 78 */ mr r30, r5 -/* 802F5EA4 7C DD 33 78 */ mr r29, r6 -/* 802F5EA8 7C FF 3B 78 */ mr r31, r7 -/* 802F5EAC 3C 60 80 3D */ lis r3, __vt__7J2DPane@ha /* 0x803CCFD0@ha */ -/* 802F5EB0 38 03 CF D0 */ addi r0, r3, __vt__7J2DPane@l /* 0x803CCFD0@l */ -/* 802F5EB4 90 1B 00 00 */ stw r0, 0(r27) -/* 802F5EB8 3B 9B 00 DC */ addi r28, r27, 0xdc -/* 802F5EBC 7F 83 E3 78 */ mr r3, r28 -/* 802F5EC0 4B FE 60 55 */ bl initiate__10JSUPtrListFv -/* 802F5EC4 38 7C 00 0C */ addi r3, r28, 0xc -/* 802F5EC8 7F 64 DB 78 */ mr r4, r27 -/* 802F5ECC 4B FE 5F 31 */ bl __ct__10JSUPtrLinkFPv -/* 802F5ED0 38 00 00 00 */ li r0, 0 -/* 802F5ED4 90 1B 00 F8 */ stw r0, 0xf8(r27) -/* 802F5ED8 7F 63 DB 78 */ mr r3, r27 -/* 802F5EDC 7F A6 EB 78 */ mr r6, r29 -/* 802F5EE0 7F C5 F3 78 */ mr r5, r30 -/* 802F5EE4 7F E7 FB 78 */ mr r7, r31 -/* 802F5EE8 48 00 00 21 */ bl func_802F5F08 -/* 802F5EEC 7F 63 DB 78 */ mr r3, r27 -/* 802F5EF0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F5EF4 48 06 C3 2D */ bl _restgpr_27 -/* 802F5EF8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F5EFC 7C 08 03 A6 */ mtlr r0 -/* 802F5F00 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F5F04 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/func_802F5F08.s b/asm/JSystem/J2DGraph/J2DPane/func_802F5F08.s deleted file mode 100644 index a70dd923d9..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/func_802F5F08.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_802F5F08: -/* 802F5F08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F5F0C 7C 08 02 A6 */ mflr r0 -/* 802F5F10 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F5F14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F5F18 7C 7F 1B 78 */ mr r31, r3 -/* 802F5F1C 3C 80 50 41 */ lis r4, 0x5041 /* 0x50414E31@ha */ -/* 802F5F20 38 04 4E 31 */ addi r0, r4, 0x4E31 /* 0x50414E31@l */ -/* 802F5F24 90 03 00 08 */ stw r0, 8(r3) -/* 802F5F28 38 00 00 01 */ li r0, 1 -/* 802F5F2C 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 802F5F30 90 C3 00 14 */ stw r6, 0x14(r3) -/* 802F5F34 90 A3 00 10 */ stw r5, 0x10(r3) -/* 802F5F38 38 00 00 00 */ li r0, 0 -/* 802F5F3C 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802F5F40 90 03 00 18 */ stw r0, 0x18(r3) -/* 802F5F44 C0 07 00 00 */ lfs f0, 0(r7) -/* 802F5F48 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 802F5F4C C0 07 00 04 */ lfs f0, 4(r7) -/* 802F5F50 D0 03 00 24 */ stfs f0, 0x24(r3) -/* 802F5F54 C0 07 00 08 */ lfs f0, 8(r7) -/* 802F5F58 D0 03 00 28 */ stfs f0, 0x28(r3) -/* 802F5F5C C0 07 00 0C */ lfs f0, 0xc(r7) -/* 802F5F60 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 802F5F64 4B FF FD 55 */ bl initiate__7J2DPaneFv -/* 802F5F68 7F E3 FB 78 */ mr r3, r31 -/* 802F5F6C 38 80 00 00 */ li r4, 0 -/* 802F5F70 48 00 04 89 */ bl changeUseTrans__7J2DPaneFP7J2DPane -/* 802F5F74 7F E3 FB 78 */ mr r3, r31 -/* 802F5F78 81 9F 00 00 */ lwz r12, 0(r31) -/* 802F5F7C 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F5F80 7D 89 03 A6 */ mtctr r12 -/* 802F5F84 4E 80 04 21 */ bctrl -/* 802F5F88 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F5F8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F5F90 7C 08 03 A6 */ mtlr r0 -/* 802F5F94 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F5F98 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/func_802F6D18.s b/asm/JSystem/J2DGraph/J2DPane/func_802F6D18.s deleted file mode 100644 index 56bb49fe42..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/func_802F6D18.s +++ /dev/null @@ -1,158 +0,0 @@ -lbl_802F6D18: -/* 802F6D18 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802F6D1C 7C 08 02 A6 */ mflr r0 -/* 802F6D20 90 01 00 54 */ stw r0, 0x54(r1) -/* 802F6D24 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 802F6D28 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 802F6D2C DB C1 00 30 */ stfd f30, 0x30(r1) -/* 802F6D30 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 802F6D34 DB A1 00 20 */ stfd f29, 0x20(r1) -/* 802F6D38 F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */ -/* 802F6D3C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802F6D40 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802F6D44 7C 7E 1B 78 */ mr r30, r3 -/* 802F6D48 C0 22 C7 F0 */ lfs f1, lit_1469(r2) -/* 802F6D4C C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F6D50 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802F6D54 40 82 00 20 */ bne lbl_802F6D74 -/* 802F6D58 D0 21 00 08 */ stfs f1, 8(r1) -/* 802F6D5C C0 04 00 08 */ lfs f0, 8(r4) -/* 802F6D60 C0 24 00 00 */ lfs f1, 0(r4) -/* 802F6D64 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F6D68 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F6D6C D0 3E 00 D4 */ stfs f1, 0xd4(r30) -/* 802F6D70 48 00 00 5C */ b lbl_802F6DCC -lbl_802F6D74: -/* 802F6D74 C0 1E 00 28 */ lfs f0, 0x28(r30) -/* 802F6D78 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802F6D7C 40 82 00 24 */ bne lbl_802F6DA0 -/* 802F6D80 C0 44 00 08 */ lfs f2, 8(r4) -/* 802F6D84 C0 04 00 00 */ lfs f0, 0(r4) -/* 802F6D88 EC 02 00 28 */ fsubs f0, f2, f0 -/* 802F6D8C FC 00 00 50 */ fneg f0, f0 -/* 802F6D90 D0 01 00 08 */ stfs f0, 8(r1) -/* 802F6D94 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 802F6D98 D0 5E 00 D4 */ stfs f2, 0xd4(r30) -/* 802F6D9C 48 00 00 30 */ b lbl_802F6DCC -lbl_802F6DA0: -/* 802F6DA0 C0 64 00 08 */ lfs f3, 8(r4) -/* 802F6DA4 C0 84 00 00 */ lfs f4, 0(r4) -/* 802F6DA8 EC 03 20 28 */ fsubs f0, f3, f4 -/* 802F6DAC C0 22 C8 08 */ lfs f1, lit_1725(r2) -/* 802F6DB0 EC 40 00 72 */ fmuls f2, f0, f1 -/* 802F6DB4 FC 00 10 50 */ fneg f0, f2 -/* 802F6DB8 D0 01 00 08 */ stfs f0, 8(r1) -/* 802F6DBC D0 41 00 10 */ stfs f2, 0x10(r1) -/* 802F6DC0 EC 04 18 2A */ fadds f0, f4, f3 -/* 802F6DC4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 802F6DC8 D0 1E 00 D4 */ stfs f0, 0xd4(r30) -lbl_802F6DCC: -/* 802F6DCC C0 22 C7 F0 */ lfs f1, lit_1469(r2) -/* 802F6DD0 C0 1E 00 24 */ lfs f0, 0x24(r30) -/* 802F6DD4 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802F6DD8 40 82 00 20 */ bne lbl_802F6DF8 -/* 802F6DDC D0 21 00 0C */ stfs f1, 0xc(r1) -/* 802F6DE0 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 802F6DE4 C0 24 00 04 */ lfs f1, 4(r4) -/* 802F6DE8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F6DEC D0 01 00 14 */ stfs f0, 0x14(r1) -/* 802F6DF0 D0 3E 00 D8 */ stfs f1, 0xd8(r30) -/* 802F6DF4 48 00 00 5C */ b lbl_802F6E50 -lbl_802F6DF8: -/* 802F6DF8 C0 1E 00 2C */ lfs f0, 0x2c(r30) -/* 802F6DFC FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802F6E00 40 82 00 24 */ bne lbl_802F6E24 -/* 802F6E04 C0 44 00 0C */ lfs f2, 0xc(r4) -/* 802F6E08 C0 04 00 04 */ lfs f0, 4(r4) -/* 802F6E0C EC 02 00 28 */ fsubs f0, f2, f0 -/* 802F6E10 FC 00 00 50 */ fneg f0, f0 -/* 802F6E14 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802F6E18 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 802F6E1C D0 5E 00 D8 */ stfs f2, 0xd8(r30) -/* 802F6E20 48 00 00 30 */ b lbl_802F6E50 -lbl_802F6E24: -/* 802F6E24 C0 64 00 0C */ lfs f3, 0xc(r4) -/* 802F6E28 C0 84 00 04 */ lfs f4, 4(r4) -/* 802F6E2C EC 03 20 28 */ fsubs f0, f3, f4 -/* 802F6E30 C0 22 C8 08 */ lfs f1, lit_1725(r2) -/* 802F6E34 EC 40 00 72 */ fmuls f2, f0, f1 -/* 802F6E38 FC 00 10 50 */ fneg f0, f2 -/* 802F6E3C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802F6E40 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 802F6E44 EC 04 18 2A */ fadds f0, f4, f3 -/* 802F6E48 EC 00 00 72 */ fmuls f0, f0, f1 -/* 802F6E4C D0 1E 00 D8 */ stfs f0, 0xd8(r30) -lbl_802F6E50: -/* 802F6E50 C0 21 00 08 */ lfs f1, 8(r1) -/* 802F6E54 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 802F6E58 EF C1 00 28 */ fsubs f30, f1, f0 -/* 802F6E5C C0 21 00 0C */ lfs f1, 0xc(r1) -/* 802F6E60 C0 1E 00 24 */ lfs f0, 0x24(r30) -/* 802F6E64 EF A1 00 28 */ fsubs f29, f1, f0 -/* 802F6E68 7F C3 F3 78 */ mr r3, r30 -/* 802F6E6C 48 00 0C 21 */ bl getFirstChildPane__7J2DPaneFv -/* 802F6E70 7C 7F 1B 78 */ mr r31, r3 -/* 802F6E74 C3 E2 C7 F0 */ lfs f31, lit_1469(r2) -/* 802F6E78 48 00 00 4C */ b lbl_802F6EC4 -lbl_802F6E7C: -/* 802F6E7C C0 1F 00 D4 */ lfs f0, 0xd4(r31) -/* 802F6E80 EC 00 F0 2A */ fadds f0, f0, f30 -/* 802F6E84 D0 1F 00 D4 */ stfs f0, 0xd4(r31) -/* 802F6E88 C0 1F 00 D8 */ lfs f0, 0xd8(r31) -/* 802F6E8C EC 00 E8 2A */ fadds f0, f0, f29 -/* 802F6E90 D0 1F 00 D8 */ stfs f0, 0xd8(r31) -/* 802F6E94 FC 1F F0 00 */ fcmpu cr0, f31, f30 -/* 802F6E98 40 82 00 0C */ bne lbl_802F6EA4 -/* 802F6E9C FC 1F E8 00 */ fcmpu cr0, f31, f29 -/* 802F6EA0 41 82 00 18 */ beq lbl_802F6EB8 -lbl_802F6EA4: -/* 802F6EA4 7F E3 FB 78 */ mr r3, r31 -/* 802F6EA8 81 9F 00 00 */ lwz r12, 0(r31) -/* 802F6EAC 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F6EB0 7D 89 03 A6 */ mtctr r12 -/* 802F6EB4 4E 80 04 21 */ bctrl -lbl_802F6EB8: -/* 802F6EB8 7F E3 FB 78 */ mr r3, r31 -/* 802F6EBC 48 00 0C 09 */ bl getNextChildPane__7J2DPaneFv -/* 802F6EC0 7C 7F 1B 78 */ mr r31, r3 -lbl_802F6EC4: -/* 802F6EC4 28 1F 00 00 */ cmplwi r31, 0 -/* 802F6EC8 40 82 FF B4 */ bne lbl_802F6E7C -/* 802F6ECC 80 61 00 08 */ lwz r3, 8(r1) -/* 802F6ED0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802F6ED4 90 7E 00 20 */ stw r3, 0x20(r30) -/* 802F6ED8 90 1E 00 24 */ stw r0, 0x24(r30) -/* 802F6EDC 80 61 00 10 */ lwz r3, 0x10(r1) -/* 802F6EE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F6EE4 90 7E 00 28 */ stw r3, 0x28(r30) -/* 802F6EE8 90 1E 00 2C */ stw r0, 0x2c(r30) -/* 802F6EEC 7F C3 F3 78 */ mr r3, r30 -/* 802F6EF0 48 00 0C 0D */ bl getParentPane__7J2DPaneFv -/* 802F6EF4 28 03 00 00 */ cmplwi r3, 0 -/* 802F6EF8 41 82 00 24 */ beq lbl_802F6F1C -/* 802F6EFC C0 3E 00 D4 */ lfs f1, 0xd4(r30) -/* 802F6F00 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F6F04 EC 01 00 2A */ fadds f0, f1, f0 -/* 802F6F08 D0 1E 00 D4 */ stfs f0, 0xd4(r30) -/* 802F6F0C C0 3E 00 D8 */ lfs f1, 0xd8(r30) -/* 802F6F10 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F6F14 EC 01 00 2A */ fadds f0, f1, f0 -/* 802F6F18 D0 1E 00 D8 */ stfs f0, 0xd8(r30) -lbl_802F6F1C: -/* 802F6F1C 7F C3 F3 78 */ mr r3, r30 -/* 802F6F20 81 9E 00 00 */ lwz r12, 0(r30) -/* 802F6F24 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F6F28 7D 89 03 A6 */ mtctr r12 -/* 802F6F2C 4E 80 04 21 */ bctrl -/* 802F6F30 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 802F6F34 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 802F6F38 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 802F6F3C CB C1 00 30 */ lfd f30, 0x30(r1) -/* 802F6F40 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */ -/* 802F6F44 CB A1 00 20 */ lfd f29, 0x20(r1) -/* 802F6F48 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802F6F4C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802F6F50 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802F6F54 7C 08 03 A6 */ mtlr r0 -/* 802F6F58 38 21 00 50 */ addi r1, r1, 0x50 -/* 802F6F5C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/func_802F7264.s b/asm/JSystem/J2DGraph/J2DPane/func_802F7264.s deleted file mode 100644 index 0ebeede319..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/func_802F7264.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_802F7264: -/* 802F7264 C0 24 00 00 */ lfs f1, 0(r4) -/* 802F7268 C0 44 00 04 */ lfs f2, 4(r4) -/* 802F726C C0 64 00 08 */ lfs f3, 8(r4) -/* 802F7270 C0 84 00 0C */ lfs f4, 0xc(r4) -/* 802F7274 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 802F7278 C0 A3 00 34 */ lfs f5, 0x34(r3) -/* 802F727C EC 21 00 2A */ fadds f1, f1, f0 -/* 802F7280 EC 42 28 2A */ fadds f2, f2, f5 -/* 802F7284 EC 63 00 2A */ fadds f3, f3, f0 -/* 802F7288 EC 84 28 2A */ fadds f4, f4, f5 -/* 802F728C C0 03 00 40 */ lfs f0, 0x40(r3) -/* 802F7290 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802F7294 4C 40 13 82 */ cror 2, 0, 2 -/* 802F7298 40 82 00 08 */ bne lbl_802F72A0 -/* 802F729C D0 23 00 40 */ stfs f1, 0x40(r3) -lbl_802F72A0: -/* 802F72A0 C0 03 00 44 */ lfs f0, 0x44(r3) -/* 802F72A4 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 802F72A8 4C 40 13 82 */ cror 2, 0, 2 -/* 802F72AC 40 82 00 08 */ bne lbl_802F72B4 -/* 802F72B0 D0 43 00 44 */ stfs f2, 0x44(r3) -lbl_802F72B4: -/* 802F72B4 C0 03 00 48 */ lfs f0, 0x48(r3) -/* 802F72B8 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 802F72BC 4C 41 13 82 */ cror 2, 1, 2 -/* 802F72C0 40 82 00 08 */ bne lbl_802F72C8 -/* 802F72C4 D0 63 00 48 */ stfs f3, 0x48(r3) -lbl_802F72C8: -/* 802F72C8 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 802F72CC FC 00 20 40 */ fcmpo cr0, f0, f4 -/* 802F72D0 4C 41 13 82 */ cror 2, 1, 2 -/* 802F72D4 4C 82 00 20 */ bnelr -/* 802F72D8 D0 83 00 4C */ stfs f4, 0x4c(r3) -/* 802F72DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/getBounds__7J2DPaneFv.s b/asm/JSystem/J2DGraph/J2DPane/getBounds__7J2DPaneFv.s deleted file mode 100644 index eab1f1a1ca..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/getBounds__7J2DPaneFv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_802F7100: -/* 802F7100 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F7104 7C 08 02 A6 */ mflr r0 -/* 802F7108 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F710C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F7110 3C 80 80 43 */ lis r4, static_mBounds__7J2DPane@ha /* 0x804349B0@ha */ -/* 802F7114 3B E4 49 B0 */ addi r31, r4, static_mBounds__7J2DPane@l /* 0x804349B0@l */ -/* 802F7118 80 83 00 20 */ lwz r4, 0x20(r3) -/* 802F711C 80 03 00 24 */ lwz r0, 0x24(r3) -/* 802F7120 90 9F 00 00 */ stw r4, 0(r31) -/* 802F7124 90 1F 00 04 */ stw r0, 4(r31) -/* 802F7128 80 83 00 28 */ lwz r4, 0x28(r3) -/* 802F712C 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 802F7130 90 9F 00 08 */ stw r4, 8(r31) -/* 802F7134 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802F7138 C0 23 00 D4 */ lfs f1, 0xd4(r3) -/* 802F713C C0 43 00 D8 */ lfs f2, 0xd8(r3) -/* 802F7140 C0 1F 00 00 */ lfs f0, 0(r31) -/* 802F7144 EC 00 08 2A */ fadds f0, f0, f1 -/* 802F7148 D0 1F 00 00 */ stfs f0, 0(r31) -/* 802F714C C0 1F 00 04 */ lfs f0, 4(r31) -/* 802F7150 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F7154 D0 1F 00 04 */ stfs f0, 4(r31) -/* 802F7158 C0 1F 00 08 */ lfs f0, 8(r31) -/* 802F715C EC 00 08 2A */ fadds f0, f0, f1 -/* 802F7160 D0 1F 00 08 */ stfs f0, 8(r31) -/* 802F7164 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 802F7168 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F716C D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 802F7170 48 00 09 8D */ bl getParentPane__7J2DPaneFv -/* 802F7174 28 03 00 00 */ cmplwi r3, 0 -/* 802F7178 41 82 00 48 */ beq lbl_802F71C0 -/* 802F717C C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F7180 FC 20 00 50 */ fneg f1, f0 -/* 802F7184 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F7188 FC 40 00 50 */ fneg f2, f0 -/* 802F718C 3C 60 80 43 */ lis r3, static_mBounds__7J2DPane@ha /* 0x804349B0@ha */ -/* 802F7190 C4 03 49 B0 */ lfsu f0, static_mBounds__7J2DPane@l(r3) /* 0x804349B0@l */ -/* 802F7194 EC 00 08 2A */ fadds f0, f0, f1 -/* 802F7198 D0 03 00 00 */ stfs f0, 0(r3) -/* 802F719C C0 1F 00 04 */ lfs f0, 4(r31) -/* 802F71A0 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F71A4 D0 1F 00 04 */ stfs f0, 4(r31) -/* 802F71A8 C0 1F 00 08 */ lfs f0, 8(r31) -/* 802F71AC EC 00 08 2A */ fadds f0, f0, f1 -/* 802F71B0 D0 1F 00 08 */ stfs f0, 8(r31) -/* 802F71B4 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 802F71B8 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F71BC D0 1F 00 0C */ stfs f0, 0xc(r31) -lbl_802F71C0: -/* 802F71C0 3C 60 80 43 */ lis r3, static_mBounds__7J2DPane@ha /* 0x804349B0@ha */ -/* 802F71C4 38 63 49 B0 */ addi r3, r3, static_mBounds__7J2DPane@l /* 0x804349B0@l */ -/* 802F71C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F71CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F71D0 7C 08 03 A6 */ mtlr r0 -/* 802F71D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F71D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/getFirstChildPane__7J2DPaneFv.s b/asm/JSystem/J2DGraph/J2DPane/getFirstChildPane__7J2DPaneFv.s deleted file mode 100644 index ac89b31581..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/getFirstChildPane__7J2DPaneFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802F7A8C: -/* 802F7A8C 80 63 00 DC */ lwz r3, 0xdc(r3) -/* 802F7A90 7C 60 1B 78 */ mr r0, r3 -/* 802F7A94 28 03 00 00 */ cmplwi r3, 0 -/* 802F7A98 41 82 00 08 */ beq lbl_802F7AA0 -/* 802F7A9C 38 03 FF F4 */ addi r0, r3, -12 -lbl_802F7AA0: -/* 802F7AA0 28 00 00 00 */ cmplwi r0, 0 -/* 802F7AA4 40 82 00 0C */ bne lbl_802F7AB0 -/* 802F7AA8 38 60 00 00 */ li r3, 0 -/* 802F7AAC 4E 80 00 20 */ blr -lbl_802F7AB0: -/* 802F7AB0 28 03 00 00 */ cmplwi r3, 0 -/* 802F7AB4 41 82 00 08 */ beq lbl_802F7ABC -/* 802F7AB8 38 63 FF F4 */ addi r3, r3, -12 -lbl_802F7ABC: -/* 802F7ABC 80 63 00 0C */ lwz r3, 0xc(r3) -/* 802F7AC0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/getGlbVtx__7J2DPaneCFUc.s b/asm/JSystem/J2DGraph/J2DPane/getGlbVtx__7J2DPaneCFUc.s deleted file mode 100644 index 56ed926348..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/getGlbVtx__7J2DPaneCFUc.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_802F79A8: -/* 802F79A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F79AC 54 A6 06 3E */ clrlwi r6, r5, 0x18 -/* 802F79B0 28 06 00 04 */ cmplwi r6, 4 -/* 802F79B4 41 80 00 30 */ blt lbl_802F79E4 -/* 802F79B8 C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F79BC D0 01 00 08 */ stfs f0, 8(r1) -/* 802F79C0 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802F79C4 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F79C8 80 81 00 08 */ lwz r4, 8(r1) -/* 802F79CC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802F79D0 90 83 00 00 */ stw r4, 0(r3) -/* 802F79D4 90 03 00 04 */ stw r0, 4(r3) -/* 802F79D8 80 01 00 10 */ lwz r0, 0x10(r1) -/* 802F79DC 90 03 00 08 */ stw r0, 8(r3) -/* 802F79E0 48 00 00 A4 */ b lbl_802F7A84 -lbl_802F79E4: -/* 802F79E4 54 A0 07 FF */ clrlwi. r0, r5, 0x1f -/* 802F79E8 41 82 00 0C */ beq lbl_802F79F4 -/* 802F79EC C0 64 00 28 */ lfs f3, 0x28(r4) -/* 802F79F0 48 00 00 08 */ b lbl_802F79F8 -lbl_802F79F4: -/* 802F79F4 C0 64 00 20 */ lfs f3, 0x20(r4) -lbl_802F79F8: -/* 802F79F8 54 C0 07 BD */ rlwinm. r0, r6, 0, 0x1e, 0x1e -/* 802F79FC 41 82 00 0C */ beq lbl_802F7A08 -/* 802F7A00 C0 84 00 2C */ lfs f4, 0x2c(r4) -/* 802F7A04 48 00 00 08 */ b lbl_802F7A0C -lbl_802F7A08: -/* 802F7A08 C0 84 00 24 */ lfs f4, 0x24(r4) -lbl_802F7A0C: -/* 802F7A0C C0 44 00 8C */ lfs f2, 0x8c(r4) -/* 802F7A10 C0 04 00 80 */ lfs f0, 0x80(r4) -/* 802F7A14 EC 23 00 32 */ fmuls f1, f3, f0 -/* 802F7A18 C0 04 00 84 */ lfs f0, 0x84(r4) -/* 802F7A1C EC 04 00 32 */ fmuls f0, f4, f0 -/* 802F7A20 EC 01 00 2A */ fadds f0, f1, f0 -/* 802F7A24 EC 02 00 2A */ fadds f0, f2, f0 -/* 802F7A28 D0 01 00 08 */ stfs f0, 8(r1) -/* 802F7A2C C0 44 00 9C */ lfs f2, 0x9c(r4) -/* 802F7A30 C0 04 00 90 */ lfs f0, 0x90(r4) -/* 802F7A34 EC 23 00 32 */ fmuls f1, f3, f0 -/* 802F7A38 C0 04 00 94 */ lfs f0, 0x94(r4) -/* 802F7A3C EC 04 00 32 */ fmuls f0, f4, f0 -/* 802F7A40 EC 01 00 2A */ fadds f0, f1, f0 -/* 802F7A44 EC 02 00 2A */ fadds f0, f2, f0 -/* 802F7A48 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802F7A4C C0 44 00 AC */ lfs f2, 0xac(r4) -/* 802F7A50 C0 04 00 A0 */ lfs f0, 0xa0(r4) -/* 802F7A54 EC 23 00 32 */ fmuls f1, f3, f0 -/* 802F7A58 C0 04 00 A4 */ lfs f0, 0xa4(r4) -/* 802F7A5C EC 04 00 32 */ fmuls f0, f4, f0 -/* 802F7A60 EC 01 00 2A */ fadds f0, f1, f0 -/* 802F7A64 EC 02 00 2A */ fadds f0, f2, f0 -/* 802F7A68 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F7A6C 80 81 00 08 */ lwz r4, 8(r1) -/* 802F7A70 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802F7A74 90 83 00 00 */ stw r4, 0(r3) -/* 802F7A78 90 03 00 04 */ stw r0, 4(r3) -/* 802F7A7C 80 01 00 10 */ lwz r0, 0x10(r1) -/* 802F7A80 90 03 00 08 */ stw r0, 8(r3) -lbl_802F7A84: -/* 802F7A84 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F7A88 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive.s b/asm/JSystem/J2DGraph/J2DPane/getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive.s deleted file mode 100644 index 7944b8f8b3..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_802F7DB8: -/* 802F7DB8 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 802F7DBC 7C 08 02 A6 */ mflr r0 -/* 802F7DC0 90 01 01 24 */ stw r0, 0x124(r1) -/* 802F7DC4 39 61 01 20 */ addi r11, r1, 0x120 -/* 802F7DC8 48 06 A4 11 */ bl _savegpr_28 -/* 802F7DCC 7C 9C 23 78 */ mr r28, r4 -/* 802F7DD0 7C BD 2B 78 */ mr r29, r5 -/* 802F7DD4 7C DE 33 79 */ or. r30, r6, r6 -/* 802F7DD8 38 00 00 00 */ li r0, 0 -/* 802F7DDC 98 01 00 08 */ stb r0, 8(r1) -/* 802F7DE0 40 82 00 74 */ bne lbl_802F7E54 -/* 802F7DE4 80 0D 90 10 */ lwz r0, mDataManage__9J2DScreen(r13) -/* 802F7DE8 28 00 00 00 */ cmplwi r0, 0 -/* 802F7DEC 40 82 00 14 */ bne lbl_802F7E00 -/* 802F7DF0 38 61 00 08 */ addi r3, r1, 8 -/* 802F7DF4 38 C0 00 00 */ li r6, 0 -/* 802F7DF8 4B FE 62 81 */ bl getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive -/* 802F7DFC 48 00 00 E0 */ b lbl_802F7EDC -lbl_802F7E00: -/* 802F7E00 7F 83 E3 78 */ mr r3, r28 -/* 802F7E04 81 9C 00 00 */ lwz r12, 0(r28) -/* 802F7E08 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802F7E0C 7D 89 03 A6 */ mtctr r12 -/* 802F7E10 4E 80 04 21 */ bctrl -/* 802F7E14 7C 7F 1B 78 */ mr r31, r3 -/* 802F7E18 38 61 00 08 */ addi r3, r1, 8 -/* 802F7E1C 7F 84 E3 78 */ mr r4, r28 -/* 802F7E20 7F A5 EB 78 */ mr r5, r29 -/* 802F7E24 38 C0 00 00 */ li r6, 0 -/* 802F7E28 4B FE 62 51 */ bl getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive -/* 802F7E2C 28 03 00 00 */ cmplwi r3, 0 -/* 802F7E30 40 82 00 AC */ bne lbl_802F7EDC -/* 802F7E34 7F 83 E3 78 */ mr r3, r28 -/* 802F7E38 7F E4 FB 78 */ mr r4, r31 -/* 802F7E3C 38 A0 00 00 */ li r5, 0 -/* 802F7E40 4B FE 46 9D */ bl seek__20JSURandomInputStreamFl17JSUStreamSeekFrom -/* 802F7E44 80 6D 90 10 */ lwz r3, mDataManage__9J2DScreen(r13) -/* 802F7E48 7F 84 E3 78 */ mr r4, r28 -/* 802F7E4C 48 01 50 31 */ bl get__13J2DDataManageFP14JSUInputStream -/* 802F7E50 48 00 00 8C */ b lbl_802F7EDC -lbl_802F7E54: -/* 802F7E54 7F 83 E3 78 */ mr r3, r28 -/* 802F7E58 81 9C 00 00 */ lwz r12, 0(r28) -/* 802F7E5C 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802F7E60 7D 89 03 A6 */ mtctr r12 -/* 802F7E64 4E 80 04 21 */ bctrl -/* 802F7E68 7C 7F 1B 78 */ mr r31, r3 -/* 802F7E6C 38 61 00 08 */ addi r3, r1, 8 -/* 802F7E70 7F 84 E3 78 */ mr r4, r28 -/* 802F7E74 7F A5 EB 78 */ mr r5, r29 -/* 802F7E78 7F C6 F3 78 */ mr r6, r30 -/* 802F7E7C 4B FE 61 FD */ bl getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive -/* 802F7E80 28 03 00 00 */ cmplwi r3, 0 -/* 802F7E84 40 82 00 28 */ bne lbl_802F7EAC -/* 802F7E88 7F 83 E3 78 */ mr r3, r28 -/* 802F7E8C 7F E4 FB 78 */ mr r4, r31 -/* 802F7E90 38 A0 00 00 */ li r5, 0 -/* 802F7E94 4B FE 46 49 */ bl seek__20JSURandomInputStreamFl17JSUStreamSeekFrom -/* 802F7E98 38 61 00 08 */ addi r3, r1, 8 -/* 802F7E9C 7F 84 E3 78 */ mr r4, r28 -/* 802F7EA0 7F A5 EB 78 */ mr r5, r29 -/* 802F7EA4 38 C0 00 00 */ li r6, 0 -/* 802F7EA8 4B FE 61 D1 */ bl getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive -lbl_802F7EAC: -/* 802F7EAC 28 03 00 00 */ cmplwi r3, 0 -/* 802F7EB0 40 82 00 2C */ bne lbl_802F7EDC -/* 802F7EB4 80 0D 90 10 */ lwz r0, mDataManage__9J2DScreen(r13) -/* 802F7EB8 28 00 00 00 */ cmplwi r0, 0 -/* 802F7EBC 41 82 00 20 */ beq lbl_802F7EDC -/* 802F7EC0 7F 83 E3 78 */ mr r3, r28 -/* 802F7EC4 7F E4 FB 78 */ mr r4, r31 -/* 802F7EC8 38 A0 00 00 */ li r5, 0 -/* 802F7ECC 4B FE 46 11 */ bl seek__20JSURandomInputStreamFl17JSUStreamSeekFrom -/* 802F7ED0 80 6D 90 10 */ lwz r3, mDataManage__9J2DScreen(r13) -/* 802F7ED4 7F 84 E3 78 */ mr r4, r28 -/* 802F7ED8 48 01 4F A5 */ bl get__13J2DDataManageFP14JSUInputStream -lbl_802F7EDC: -/* 802F7EDC 39 61 01 20 */ addi r11, r1, 0x120 -/* 802F7EE0 48 06 A3 45 */ bl _restgpr_28 -/* 802F7EE4 80 01 01 24 */ lwz r0, 0x124(r1) -/* 802F7EE8 7C 08 03 A6 */ mtlr r0 -/* 802F7EEC 38 21 01 20 */ addi r1, r1, 0x120 -/* 802F7EF0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/insertChild__7J2DPaneFP7J2DPaneP7J2DPane.s b/asm/JSystem/J2DGraph/J2DPane/insertChild__7J2DPaneFP7J2DPaneP7J2DPane.s deleted file mode 100644 index a4f5762973..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/insertChild__7J2DPaneFP7J2DPaneP7J2DPane.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_802F6714: -/* 802F6714 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F6718 7C 08 02 A6 */ mflr r0 -/* 802F671C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F6720 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F6724 48 06 BA B5 */ bl _savegpr_28 -/* 802F6728 7C 7C 1B 78 */ mr r28, r3 -/* 802F672C 7C 9E 23 78 */ mr r30, r4 -/* 802F6730 7C BD 2B 79 */ or. r29, r5, r5 -/* 802F6734 40 82 00 0C */ bne lbl_802F6740 -/* 802F6738 38 60 00 00 */ li r3, 0 -/* 802F673C 48 00 00 8C */ b lbl_802F67C8 -lbl_802F6740: -/* 802F6740 7F A3 EB 78 */ mr r3, r29 -/* 802F6744 48 00 13 B9 */ bl getParentPane__7J2DPaneFv -/* 802F6748 7C 7F 1B 78 */ mr r31, r3 -/* 802F674C 34 BD 00 DC */ addic. r5, r29, 0xdc -/* 802F6750 41 82 00 08 */ beq lbl_802F6758 -/* 802F6754 38 A5 00 0C */ addi r5, r5, 0xc -lbl_802F6758: -/* 802F6758 28 1E 00 00 */ cmplwi r30, 0 -/* 802F675C 41 82 00 0C */ beq lbl_802F6768 -/* 802F6760 38 9E 00 DC */ addi r4, r30, 0xdc -/* 802F6764 48 00 00 08 */ b lbl_802F676C -lbl_802F6768: -/* 802F6768 38 80 00 00 */ li r4, 0 -lbl_802F676C: -/* 802F676C 28 04 00 00 */ cmplwi r4, 0 -/* 802F6770 41 82 00 08 */ beq lbl_802F6778 -/* 802F6774 38 84 00 0C */ addi r4, r4, 0xc -lbl_802F6778: -/* 802F6778 38 7C 00 DC */ addi r3, r28, 0xdc -/* 802F677C 4B FE 59 19 */ bl insert__10JSUPtrListFP10JSUPtrLinkP10JSUPtrLink -/* 802F6780 7C 7E 1B 78 */ mr r30, r3 -/* 802F6784 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802F6788 41 82 00 3C */ beq lbl_802F67C4 -/* 802F678C 28 1F 00 00 */ cmplwi r31, 0 -/* 802F6790 40 82 00 34 */ bne lbl_802F67C4 -/* 802F6794 7F A3 EB 78 */ mr r3, r29 -/* 802F6798 C0 3C 00 20 */ lfs f1, 0x20(r28) -/* 802F679C C0 5C 00 24 */ lfs f2, 0x24(r28) -/* 802F67A0 81 9D 00 00 */ lwz r12, 0(r29) -/* 802F67A4 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802F67A8 7D 89 03 A6 */ mtctr r12 -/* 802F67AC 4E 80 04 21 */ bctrl -/* 802F67B0 7F A3 EB 78 */ mr r3, r29 -/* 802F67B4 81 9D 00 00 */ lwz r12, 0(r29) -/* 802F67B8 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F67BC 7D 89 03 A6 */ mtctr r12 -/* 802F67C0 4E 80 04 21 */ bctrl -lbl_802F67C4: -/* 802F67C4 7F C3 F3 78 */ mr r3, r30 -lbl_802F67C8: -/* 802F67C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F67CC 48 06 BA 59 */ bl _restgpr_28 -/* 802F67D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F67D4 7C 08 03 A6 */ mtlr r0 -/* 802F67D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F67DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/makeMatrix__7J2DPaneFffff.s b/asm/JSystem/J2DGraph/J2DPane/makeMatrix__7J2DPaneFffff.s deleted file mode 100644 index cf8ebf6c84..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/makeMatrix__7J2DPaneFffff.s +++ /dev/null @@ -1,81 +0,0 @@ -lbl_802F7540: -/* 802F7540 94 21 FE 90 */ stwu r1, -0x170(r1) -/* 802F7544 7C 08 02 A6 */ mflr r0 -/* 802F7548 90 01 01 74 */ stw r0, 0x174(r1) -/* 802F754C DB E1 01 60 */ stfd f31, 0x160(r1) -/* 802F7550 F3 E1 01 68 */ psq_st f31, 360(r1), 0, 0 /* qr0 */ -/* 802F7554 DB C1 01 50 */ stfd f30, 0x150(r1) -/* 802F7558 F3 C1 01 58 */ psq_st f30, 344(r1), 0, 0 /* qr0 */ -/* 802F755C DB A1 01 40 */ stfd f29, 0x140(r1) -/* 802F7560 F3 A1 01 48 */ psq_st f29, 328(r1), 0, 0 /* qr0 */ -/* 802F7564 DB 81 01 30 */ stfd f28, 0x130(r1) -/* 802F7568 F3 81 01 38 */ psq_st f28, 312(r1), 0, 0 /* qr0 */ -/* 802F756C 93 E1 01 2C */ stw r31, 0x12c(r1) -/* 802F7570 7C 7F 1B 78 */ mr r31, r3 -/* 802F7574 FF 80 08 90 */ fmr f28, f1 -/* 802F7578 FF A0 10 90 */ fmr f29, f2 -/* 802F757C C0 03 00 C4 */ lfs f0, 0xc4(r3) -/* 802F7580 EF E0 18 28 */ fsubs f31, f0, f3 -/* 802F7584 C0 03 00 C8 */ lfs f0, 0xc8(r3) -/* 802F7588 EF C0 20 28 */ fsubs f30, f0, f4 -/* 802F758C 38 61 00 38 */ addi r3, r1, 0x38 -/* 802F7590 FC 20 F8 50 */ fneg f1, f31 -/* 802F7594 FC 40 F0 50 */ fneg f2, f30 -/* 802F7598 C0 62 C7 F0 */ lfs f3, lit_1469(r2) -/* 802F759C 48 04 F3 4D */ bl PSMTXTrans -/* 802F75A0 38 61 00 F8 */ addi r3, r1, 0xf8 -/* 802F75A4 38 80 00 78 */ li r4, 0x78 -/* 802F75A8 C0 22 C8 0C */ lfs f1, lit_2466(r2) -/* 802F75AC C0 1F 00 B8 */ lfs f0, 0xb8(r31) -/* 802F75B0 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802F75B4 48 04 F0 F5 */ bl PSMTXRotRad -/* 802F75B8 38 61 00 C8 */ addi r3, r1, 0xc8 -/* 802F75BC 38 80 00 79 */ li r4, 0x79 -/* 802F75C0 C0 22 C8 0C */ lfs f1, lit_2466(r2) -/* 802F75C4 C0 1F 00 BC */ lfs f0, 0xbc(r31) -/* 802F75C8 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802F75CC 48 04 F0 DD */ bl PSMTXRotRad -/* 802F75D0 38 61 00 98 */ addi r3, r1, 0x98 -/* 802F75D4 38 80 00 7A */ li r4, 0x7a -/* 802F75D8 C0 22 C8 0C */ lfs f1, lit_2466(r2) -/* 802F75DC C0 1F 00 C0 */ lfs f0, 0xc0(r31) -/* 802F75E0 FC 00 00 50 */ fneg f0, f0 -/* 802F75E4 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802F75E8 48 04 F0 C1 */ bl PSMTXRotRad -/* 802F75EC 38 61 00 98 */ addi r3, r1, 0x98 -/* 802F75F0 38 81 00 F8 */ addi r4, r1, 0xf8 -/* 802F75F4 38 A1 00 08 */ addi r5, r1, 8 -/* 802F75F8 48 04 EE ED */ bl PSMTXConcat -/* 802F75FC 38 61 00 C8 */ addi r3, r1, 0xc8 -/* 802F7600 38 81 00 08 */ addi r4, r1, 8 -/* 802F7604 38 A1 00 68 */ addi r5, r1, 0x68 -/* 802F7608 48 04 EE DD */ bl PSMTXConcat -/* 802F760C 38 61 00 38 */ addi r3, r1, 0x38 -/* 802F7610 38 9F 00 50 */ addi r4, r31, 0x50 -/* 802F7614 C0 3F 00 CC */ lfs f1, 0xcc(r31) -/* 802F7618 C0 5F 00 D0 */ lfs f2, 0xd0(r31) -/* 802F761C C0 62 C7 F4 */ lfs f3, lit_1489(r2) -/* 802F7620 48 04 F3 71 */ bl PSMTXScaleApply -/* 802F7624 38 61 00 68 */ addi r3, r1, 0x68 -/* 802F7628 38 9F 00 50 */ addi r4, r31, 0x50 -/* 802F762C 38 A1 00 08 */ addi r5, r1, 8 -/* 802F7630 48 04 EE B5 */ bl PSMTXConcat -/* 802F7634 38 61 00 08 */ addi r3, r1, 8 -/* 802F7638 38 9F 00 50 */ addi r4, r31, 0x50 -/* 802F763C EC 3C F8 2A */ fadds f1, f28, f31 -/* 802F7640 EC 5D F0 2A */ fadds f2, f29, f30 -/* 802F7644 C0 62 C7 F0 */ lfs f3, lit_1469(r2) -/* 802F7648 48 04 F2 D5 */ bl PSMTXTransApply -/* 802F764C E3 E1 01 68 */ psq_l f31, 360(r1), 0, 0 /* qr0 */ -/* 802F7650 CB E1 01 60 */ lfd f31, 0x160(r1) -/* 802F7654 E3 C1 01 58 */ psq_l f30, 344(r1), 0, 0 /* qr0 */ -/* 802F7658 CB C1 01 50 */ lfd f30, 0x150(r1) -/* 802F765C E3 A1 01 48 */ psq_l f29, 328(r1), 0, 0 /* qr0 */ -/* 802F7660 CB A1 01 40 */ lfd f29, 0x140(r1) -/* 802F7664 E3 81 01 38 */ psq_l f28, 312(r1), 0, 0 /* qr0 */ -/* 802F7668 CB 81 01 30 */ lfd f28, 0x130(r1) -/* 802F766C 83 E1 01 2C */ lwz r31, 0x12c(r1) -/* 802F7670 80 01 01 74 */ lwz r0, 0x174(r1) -/* 802F7674 7C 08 03 A6 */ mtlr r0 -/* 802F7678 38 21 01 70 */ addi r1, r1, 0x170 -/* 802F767C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s b/asm/JSystem/J2DGraph/J2DPane/makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s deleted file mode 100644 index 7b0987fc2f..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s +++ /dev/null @@ -1,131 +0,0 @@ -lbl_802F7B18: -/* 802F7B18 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 802F7B1C 7C 08 02 A6 */ mflr r0 -/* 802F7B20 90 01 00 64 */ stw r0, 0x64(r1) -/* 802F7B24 39 61 00 60 */ addi r11, r1, 0x60 -/* 802F7B28 48 06 A6 B5 */ bl _savegpr_29 -/* 802F7B2C 7C 7E 1B 78 */ mr r30, r3 -/* 802F7B30 7C 9F 23 78 */ mr r31, r4 -/* 802F7B34 7C BD 2B 78 */ mr r29, r5 -/* 802F7B38 7F A3 EB 78 */ mr r3, r29 -/* 802F7B3C 81 9D 00 00 */ lwz r12, 0(r29) -/* 802F7B40 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802F7B44 7D 89 03 A6 */ mtctr r12 -/* 802F7B48 4E 80 04 21 */ bctrl -/* 802F7B4C 7F A3 EB 78 */ mr r3, r29 -/* 802F7B50 38 81 00 08 */ addi r4, r1, 8 -/* 802F7B54 38 A0 00 48 */ li r5, 0x48 -/* 802F7B58 4B FE 47 41 */ bl read__14JSUInputStreamFPvl -/* 802F7B5C A0 01 00 12 */ lhz r0, 0x12(r1) -/* 802F7B60 B0 1E 00 04 */ sth r0, 4(r30) -/* 802F7B64 88 61 00 14 */ lbz r3, 0x14(r1) -/* 802F7B68 30 03 FF FF */ addic r0, r3, -1 -/* 802F7B6C 7C 00 19 10 */ subfe r0, r0, r3 -/* 802F7B70 98 1E 00 B0 */ stb r0, 0xb0(r30) -/* 802F7B74 80 01 00 18 */ lwz r0, 0x18(r1) -/* 802F7B78 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 802F7B7C 90 7E 00 14 */ stw r3, 0x14(r30) -/* 802F7B80 90 1E 00 10 */ stw r0, 0x10(r30) -/* 802F7B84 80 01 00 20 */ lwz r0, 0x20(r1) -/* 802F7B88 80 61 00 24 */ lwz r3, 0x24(r1) -/* 802F7B8C 90 7E 00 1C */ stw r3, 0x1c(r30) -/* 802F7B90 90 1E 00 18 */ stw r0, 0x18(r30) -/* 802F7B94 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 802F7B98 D0 1E 00 CC */ stfs f0, 0xcc(r30) -/* 802F7B9C C0 01 00 34 */ lfs f0, 0x34(r1) -/* 802F7BA0 D0 1E 00 D0 */ stfs f0, 0xd0(r30) -/* 802F7BA4 C0 01 00 38 */ lfs f0, 0x38(r1) -/* 802F7BA8 D0 1E 00 B8 */ stfs f0, 0xb8(r30) -/* 802F7BAC C0 01 00 3C */ lfs f0, 0x3c(r1) -/* 802F7BB0 D0 1E 00 BC */ stfs f0, 0xbc(r30) -/* 802F7BB4 C0 01 00 40 */ lfs f0, 0x40(r1) -/* 802F7BB8 D0 1E 00 C0 */ stfs f0, 0xc0(r30) -/* 802F7BBC C0 01 00 44 */ lfs f0, 0x44(r1) -/* 802F7BC0 D0 1E 00 D4 */ stfs f0, 0xd4(r30) -/* 802F7BC4 C0 01 00 48 */ lfs f0, 0x48(r1) -/* 802F7BC8 D0 1E 00 D8 */ stfs f0, 0xd8(r30) -/* 802F7BCC 38 00 00 7A */ li r0, 0x7a -/* 802F7BD0 98 1E 00 B6 */ stb r0, 0xb6(r30) -/* 802F7BD4 88 81 00 15 */ lbz r4, 0x15(r1) -/* 802F7BD8 38 60 00 03 */ li r3, 3 -/* 802F7BDC 7C 04 1B D6 */ divw r0, r4, r3 -/* 802F7BE0 7C 00 19 D6 */ mullw r0, r0, r3 -/* 802F7BE4 7C 00 20 51 */ subf. r0, r0, r4 -/* 802F7BE8 40 82 00 10 */ bne lbl_802F7BF8 -/* 802F7BEC C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F7BF0 D0 1E 00 C4 */ stfs f0, 0xc4(r30) -/* 802F7BF4 48 00 00 28 */ b lbl_802F7C1C -lbl_802F7BF8: -/* 802F7BF8 2C 00 00 01 */ cmpwi r0, 1 -/* 802F7BFC 40 82 00 18 */ bne lbl_802F7C14 -/* 802F7C00 C0 21 00 28 */ lfs f1, 0x28(r1) -/* 802F7C04 C0 02 C8 08 */ lfs f0, lit_1725(r2) -/* 802F7C08 EC 01 00 32 */ fmuls f0, f1, f0 -/* 802F7C0C D0 1E 00 C4 */ stfs f0, 0xc4(r30) -/* 802F7C10 48 00 00 0C */ b lbl_802F7C1C -lbl_802F7C14: -/* 802F7C14 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 802F7C18 D0 1E 00 C4 */ stfs f0, 0xc4(r30) -lbl_802F7C1C: -/* 802F7C1C 88 61 00 15 */ lbz r3, 0x15(r1) -/* 802F7C20 38 00 00 03 */ li r0, 3 -/* 802F7C24 7C 03 03 D7 */ divw. r0, r3, r0 -/* 802F7C28 40 82 00 10 */ bne lbl_802F7C38 -/* 802F7C2C C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F7C30 D0 1E 00 C8 */ stfs f0, 0xc8(r30) -/* 802F7C34 48 00 00 28 */ b lbl_802F7C5C -lbl_802F7C38: -/* 802F7C38 2C 00 00 01 */ cmpwi r0, 1 -/* 802F7C3C 40 82 00 18 */ bne lbl_802F7C54 -/* 802F7C40 C0 21 00 2C */ lfs f1, 0x2c(r1) -/* 802F7C44 C0 02 C8 08 */ lfs f0, lit_1725(r2) -/* 802F7C48 EC 01 00 32 */ fmuls f0, f1, f0 -/* 802F7C4C D0 1E 00 C8 */ stfs f0, 0xc8(r30) -/* 802F7C50 48 00 00 0C */ b lbl_802F7C5C -lbl_802F7C54: -/* 802F7C54 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 802F7C58 D0 1E 00 C8 */ stfs f0, 0xc8(r30) -lbl_802F7C5C: -/* 802F7C5C C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 802F7C60 C0 3E 00 C8 */ lfs f1, 0xc8(r30) -/* 802F7C64 EC 60 08 28 */ fsubs f3, f0, f1 -/* 802F7C68 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 802F7C6C C0 9E 00 C4 */ lfs f4, 0xc4(r30) -/* 802F7C70 EC 40 20 28 */ fsubs f2, f0, f4 -/* 802F7C74 FC 20 08 50 */ fneg f1, f1 -/* 802F7C78 FC 00 20 50 */ fneg f0, f4 -/* 802F7C7C D0 1E 00 20 */ stfs f0, 0x20(r30) -/* 802F7C80 D0 3E 00 24 */ stfs f1, 0x24(r30) -/* 802F7C84 D0 5E 00 28 */ stfs f2, 0x28(r30) -/* 802F7C88 D0 7E 00 2C */ stfs f3, 0x2c(r30) -/* 802F7C8C 88 01 00 15 */ lbz r0, 0x15(r1) -/* 802F7C90 98 1E 00 B7 */ stb r0, 0xb7(r30) -/* 802F7C94 38 00 00 FF */ li r0, 0xff -/* 802F7C98 98 1E 00 B2 */ stb r0, 0xb2(r30) -/* 802F7C9C 38 00 00 00 */ li r0, 0 -/* 802F7CA0 98 1E 00 B4 */ stb r0, 0xb4(r30) -/* 802F7CA4 28 1F 00 00 */ cmplwi r31, 0 -/* 802F7CA8 41 82 00 18 */ beq lbl_802F7CC0 -/* 802F7CAC 34 9E 00 DC */ addic. r4, r30, 0xdc -/* 802F7CB0 41 82 00 08 */ beq lbl_802F7CB8 -/* 802F7CB4 38 84 00 0C */ addi r4, r4, 0xc -lbl_802F7CB8: -/* 802F7CB8 38 7F 00 DC */ addi r3, r31, 0xdc -/* 802F7CBC 4B FE 42 91 */ bl append__10JSUPtrListFP10JSUPtrLink -lbl_802F7CC0: -/* 802F7CC0 38 60 00 00 */ li r3, 0 -/* 802F7CC4 98 7E 00 B1 */ stb r3, 0xb1(r30) -/* 802F7CC8 38 00 00 FF */ li r0, 0xff -/* 802F7CCC 98 1E 00 B3 */ stb r0, 0xb3(r30) -/* 802F7CD0 98 7E 00 B5 */ stb r3, 0xb5(r30) -/* 802F7CD4 7F C3 F3 78 */ mr r3, r30 -/* 802F7CD8 81 9E 00 00 */ lwz r12, 0(r30) -/* 802F7CDC 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F7CE0 7D 89 03 A6 */ mtctr r12 -/* 802F7CE4 4E 80 04 21 */ bctrl -/* 802F7CE8 39 61 00 60 */ addi r11, r1, 0x60 -/* 802F7CEC 48 06 A5 3D */ bl _restgpr_29 -/* 802F7CF0 80 01 00 64 */ lwz r0, 0x64(r1) -/* 802F7CF4 7C 08 03 A6 */ mtlr r0 -/* 802F7CF8 38 21 00 60 */ addi r1, r1, 0x60 -/* 802F7CFC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s b/asm/JSystem/J2DGraph/J2DPane/makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s deleted file mode 100644 index fc60bb6184..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s +++ /dev/null @@ -1,213 +0,0 @@ -lbl_802F60C4: -/* 802F60C4 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 802F60C8 7C 08 02 A6 */ mflr r0 -/* 802F60CC 90 01 00 84 */ stw r0, 0x84(r1) -/* 802F60D0 DB E1 00 70 */ stfd f31, 0x70(r1) -/* 802F60D4 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 802F60D8 DB C1 00 60 */ stfd f30, 0x60(r1) -/* 802F60DC F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 802F60E0 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 802F60E4 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 802F60E8 39 61 00 50 */ addi r11, r1, 0x50 -/* 802F60EC 48 06 C0 F1 */ bl _savegpr_29 -/* 802F60F0 7C 7D 1B 78 */ mr r29, r3 -/* 802F60F4 7C 9E 23 78 */ mr r30, r4 -/* 802F60F8 7C BF 2B 78 */ mr r31, r5 -/* 802F60FC 7F E3 FB 78 */ mr r3, r31 -/* 802F6100 38 81 00 0B */ addi r4, r1, 0xb -/* 802F6104 38 A0 00 01 */ li r5, 1 -/* 802F6108 4B FE 61 91 */ bl read__14JSUInputStreamFPvl -/* 802F610C 7F E3 FB 78 */ mr r3, r31 -/* 802F6110 38 9D 00 B0 */ addi r4, r29, 0xb0 -/* 802F6114 38 A0 00 01 */ li r5, 1 -/* 802F6118 4B FE 61 81 */ bl read__14JSUInputStreamFPvl -/* 802F611C 7F E3 FB 78 */ mr r3, r31 -/* 802F6120 38 80 00 02 */ li r4, 2 -/* 802F6124 81 9F 00 00 */ lwz r12, 0(r31) -/* 802F6128 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802F612C 7D 89 03 A6 */ mtctr r12 -/* 802F6130 4E 80 04 21 */ bctrl -/* 802F6134 7F E3 FB 78 */ mr r3, r31 -/* 802F6138 38 81 00 18 */ addi r4, r1, 0x18 -/* 802F613C 38 A0 00 04 */ li r5, 4 -/* 802F6140 4B FE 61 59 */ bl read__14JSUInputStreamFPvl -/* 802F6144 80 61 00 18 */ lwz r3, 0x18(r1) -/* 802F6148 38 00 00 00 */ li r0, 0 -/* 802F614C 90 7D 00 14 */ stw r3, 0x14(r29) -/* 802F6150 90 1D 00 10 */ stw r0, 0x10(r29) -/* 802F6154 7F E3 FB 78 */ mr r3, r31 -/* 802F6158 38 81 00 14 */ addi r4, r1, 0x14 -/* 802F615C 38 A0 00 02 */ li r5, 2 -/* 802F6160 4B FE 61 39 */ bl read__14JSUInputStreamFPvl -/* 802F6164 A8 01 00 14 */ lha r0, 0x14(r1) -/* 802F6168 C8 22 C7 F8 */ lfd f1, lit_1651(r2) -/* 802F616C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F6170 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F6174 3C 00 43 30 */ lis r0, 0x4330 -/* 802F6178 90 01 00 20 */ stw r0, 0x20(r1) -/* 802F617C C8 01 00 20 */ lfd f0, 0x20(r1) -/* 802F6180 EF E0 08 28 */ fsubs f31, f0, f1 -/* 802F6184 7F E3 FB 78 */ mr r3, r31 -/* 802F6188 38 81 00 12 */ addi r4, r1, 0x12 -/* 802F618C 38 A0 00 02 */ li r5, 2 -/* 802F6190 4B FE 61 09 */ bl read__14JSUInputStreamFPvl -/* 802F6194 A8 01 00 12 */ lha r0, 0x12(r1) -/* 802F6198 C8 22 C7 F8 */ lfd f1, lit_1651(r2) -/* 802F619C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F61A0 90 01 00 2C */ stw r0, 0x2c(r1) -/* 802F61A4 3C 00 43 30 */ lis r0, 0x4330 -/* 802F61A8 90 01 00 28 */ stw r0, 0x28(r1) -/* 802F61AC C8 01 00 28 */ lfd f0, 0x28(r1) -/* 802F61B0 EF C0 08 28 */ fsubs f30, f0, f1 -/* 802F61B4 7F E3 FB 78 */ mr r3, r31 -/* 802F61B8 38 81 00 10 */ addi r4, r1, 0x10 -/* 802F61BC 38 A0 00 02 */ li r5, 2 -/* 802F61C0 4B FE 60 D9 */ bl read__14JSUInputStreamFPvl -/* 802F61C4 A8 01 00 10 */ lha r0, 0x10(r1) -/* 802F61C8 C8 22 C7 F8 */ lfd f1, lit_1651(r2) -/* 802F61CC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F61D0 90 01 00 34 */ stw r0, 0x34(r1) -/* 802F61D4 3C 00 43 30 */ lis r0, 0x4330 -/* 802F61D8 90 01 00 30 */ stw r0, 0x30(r1) -/* 802F61DC C8 01 00 30 */ lfd f0, 0x30(r1) -/* 802F61E0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F61E4 EF BF 00 2A */ fadds f29, f31, f0 -/* 802F61E8 7F E3 FB 78 */ mr r3, r31 -/* 802F61EC 38 81 00 0E */ addi r4, r1, 0xe -/* 802F61F0 38 A0 00 02 */ li r5, 2 -/* 802F61F4 4B FE 60 A5 */ bl read__14JSUInputStreamFPvl -/* 802F61F8 A8 01 00 0E */ lha r0, 0xe(r1) -/* 802F61FC C8 22 C7 F8 */ lfd f1, lit_1651(r2) -/* 802F6200 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F6204 90 01 00 3C */ stw r0, 0x3c(r1) -/* 802F6208 3C 00 43 30 */ lis r0, 0x4330 -/* 802F620C 90 01 00 38 */ stw r0, 0x38(r1) -/* 802F6210 C8 01 00 38 */ lfd f0, 0x38(r1) -/* 802F6214 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F6218 EC 1E 00 2A */ fadds f0, f30, f0 -/* 802F621C D3 FD 00 20 */ stfs f31, 0x20(r29) -/* 802F6220 D3 DD 00 24 */ stfs f30, 0x24(r29) -/* 802F6224 D3 BD 00 28 */ stfs f29, 0x28(r29) -/* 802F6228 D0 1D 00 2C */ stfs f0, 0x2c(r29) -/* 802F622C 88 61 00 0B */ lbz r3, 0xb(r1) -/* 802F6230 38 03 FF FA */ addi r0, r3, -6 -/* 802F6234 98 01 00 0B */ stb r0, 0xb(r1) -/* 802F6238 C0 02 C7 F0 */ lfs f0, lit_1469(r2) -/* 802F623C D0 1D 00 B8 */ stfs f0, 0xb8(r29) -/* 802F6240 D0 1D 00 BC */ stfs f0, 0xbc(r29) -/* 802F6244 D0 1D 00 C0 */ stfs f0, 0xc0(r29) -/* 802F6248 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802F624C 28 00 00 00 */ cmplwi r0, 0 -/* 802F6250 41 82 00 40 */ beq lbl_802F6290 -/* 802F6254 7F E3 FB 78 */ mr r3, r31 -/* 802F6258 38 81 00 0C */ addi r4, r1, 0xc -/* 802F625C 38 A0 00 02 */ li r5, 2 -/* 802F6260 4B FE 60 39 */ bl read__14JSUInputStreamFPvl -/* 802F6264 A0 01 00 0C */ lhz r0, 0xc(r1) -/* 802F6268 C8 22 C8 00 */ lfd f1, lit_1655(r2) -/* 802F626C 90 01 00 3C */ stw r0, 0x3c(r1) -/* 802F6270 3C 00 43 30 */ lis r0, 0x4330 -/* 802F6274 90 01 00 38 */ stw r0, 0x38(r1) -/* 802F6278 C8 01 00 38 */ lfd f0, 0x38(r1) -/* 802F627C EC 00 08 28 */ fsubs f0, f0, f1 -/* 802F6280 D0 1D 00 C0 */ stfs f0, 0xc0(r29) -/* 802F6284 88 61 00 0B */ lbz r3, 0xb(r1) -/* 802F6288 38 03 FF FF */ addi r0, r3, -1 -/* 802F628C 98 01 00 0B */ stb r0, 0xb(r1) -lbl_802F6290: -/* 802F6290 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802F6294 28 00 00 00 */ cmplwi r0, 0 -/* 802F6298 41 82 00 2C */ beq lbl_802F62C4 -/* 802F629C 7F E3 FB 78 */ mr r3, r31 -/* 802F62A0 38 81 00 0A */ addi r4, r1, 0xa -/* 802F62A4 38 A0 00 01 */ li r5, 1 -/* 802F62A8 4B FE 5F F1 */ bl read__14JSUInputStreamFPvl -/* 802F62AC 88 01 00 0A */ lbz r0, 0xa(r1) -/* 802F62B0 98 1D 00 B7 */ stb r0, 0xb7(r29) -/* 802F62B4 88 61 00 0B */ lbz r3, 0xb(r1) -/* 802F62B8 38 03 FF FF */ addi r0, r3, -1 -/* 802F62BC 98 01 00 0B */ stb r0, 0xb(r1) -/* 802F62C0 48 00 00 0C */ b lbl_802F62CC -lbl_802F62C4: -/* 802F62C4 38 00 00 00 */ li r0, 0 -/* 802F62C8 98 1D 00 B7 */ stb r0, 0xb7(r29) -lbl_802F62CC: -/* 802F62CC 38 00 00 7A */ li r0, 0x7a -/* 802F62D0 98 1D 00 B6 */ stb r0, 0xb6(r29) -/* 802F62D4 38 00 00 FF */ li r0, 0xff -/* 802F62D8 98 1D 00 B2 */ stb r0, 0xb2(r29) -/* 802F62DC 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802F62E0 28 00 00 00 */ cmplwi r0, 0 -/* 802F62E4 41 82 00 28 */ beq lbl_802F630C -/* 802F62E8 7F E3 FB 78 */ mr r3, r31 -/* 802F62EC 38 81 00 09 */ addi r4, r1, 9 -/* 802F62F0 38 A0 00 01 */ li r5, 1 -/* 802F62F4 4B FE 5F A5 */ bl read__14JSUInputStreamFPvl -/* 802F62F8 88 01 00 09 */ lbz r0, 9(r1) -/* 802F62FC 98 1D 00 B2 */ stb r0, 0xb2(r29) -/* 802F6300 88 61 00 0B */ lbz r3, 0xb(r1) -/* 802F6304 38 03 FF FF */ addi r0, r3, -1 -/* 802F6308 98 01 00 0B */ stb r0, 0xb(r1) -lbl_802F630C: -/* 802F630C 38 00 00 01 */ li r0, 1 -/* 802F6310 98 1D 00 B4 */ stb r0, 0xb4(r29) -/* 802F6314 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802F6318 28 00 00 00 */ cmplwi r0, 0 -/* 802F631C 41 82 00 30 */ beq lbl_802F634C -/* 802F6320 7F E3 FB 78 */ mr r3, r31 -/* 802F6324 38 81 00 08 */ addi r4, r1, 8 -/* 802F6328 38 A0 00 01 */ li r5, 1 -/* 802F632C 4B FE 5F 6D */ bl read__14JSUInputStreamFPvl -/* 802F6330 88 61 00 08 */ lbz r3, 8(r1) -/* 802F6334 30 03 FF FF */ addic r0, r3, -1 -/* 802F6338 7C 00 19 10 */ subfe r0, r0, r3 -/* 802F633C 98 1D 00 B4 */ stb r0, 0xb4(r29) -/* 802F6340 88 61 00 0B */ lbz r3, 0xb(r1) -/* 802F6344 38 03 FF FF */ addi r0, r3, -1 -/* 802F6348 98 01 00 0B */ stb r0, 0xb(r1) -lbl_802F634C: -/* 802F634C 7F E3 FB 78 */ mr r3, r31 -/* 802F6350 38 80 00 04 */ li r4, 4 -/* 802F6354 4B FE 60 1D */ bl align__20JSURandomInputStreamFl -/* 802F6358 28 1E 00 00 */ cmplwi r30, 0 -/* 802F635C 41 82 00 18 */ beq lbl_802F6374 -/* 802F6360 34 9D 00 DC */ addic. r4, r29, 0xdc -/* 802F6364 41 82 00 08 */ beq lbl_802F636C -/* 802F6368 38 84 00 0C */ addi r4, r4, 0xc -lbl_802F636C: -/* 802F636C 38 7E 00 DC */ addi r3, r30, 0xdc -/* 802F6370 4B FE 5B DD */ bl append__10JSUPtrListFP10JSUPtrLink -lbl_802F6374: -/* 802F6374 38 80 00 00 */ li r4, 0 -/* 802F6378 98 9D 00 B1 */ stb r4, 0xb1(r29) -/* 802F637C 38 00 00 FF */ li r0, 0xff -/* 802F6380 98 1D 00 B3 */ stb r0, 0xb3(r29) -/* 802F6384 98 9D 00 B5 */ stb r4, 0xb5(r29) -/* 802F6388 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802F638C 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802F6390 B0 1D 00 04 */ sth r0, 4(r29) -/* 802F6394 C0 02 C7 F4 */ lfs f0, lit_1489(r2) -/* 802F6398 D0 1D 00 CC */ stfs f0, 0xcc(r29) -/* 802F639C D0 1D 00 D0 */ stfs f0, 0xd0(r29) -/* 802F63A0 90 9D 00 1C */ stw r4, 0x1c(r29) -/* 802F63A4 90 9D 00 18 */ stw r4, 0x18(r29) -/* 802F63A8 7F A3 EB 78 */ mr r3, r29 -/* 802F63AC 7F C4 F3 78 */ mr r4, r30 -/* 802F63B0 48 00 00 49 */ bl changeUseTrans__7J2DPaneFP7J2DPane -/* 802F63B4 7F A3 EB 78 */ mr r3, r29 -/* 802F63B8 81 9D 00 00 */ lwz r12, 0(r29) -/* 802F63BC 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F63C0 7D 89 03 A6 */ mtctr r12 -/* 802F63C4 4E 80 04 21 */ bctrl -/* 802F63C8 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 802F63CC CB E1 00 70 */ lfd f31, 0x70(r1) -/* 802F63D0 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 802F63D4 CB C1 00 60 */ lfd f30, 0x60(r1) -/* 802F63D8 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 802F63DC CB A1 00 50 */ lfd f29, 0x50(r1) -/* 802F63E0 39 61 00 50 */ addi r11, r1, 0x50 -/* 802F63E4 48 06 BE 45 */ bl _restgpr_29 -/* 802F63E8 80 01 00 84 */ lwz r0, 0x84(r1) -/* 802F63EC 7C 08 03 A6 */ mtlr r0 -/* 802F63F0 38 21 00 80 */ addi r1, r1, 0x80 -/* 802F63F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/move__7J2DPaneFff.s b/asm/JSystem/J2DGraph/J2DPane/move__7J2DPaneFff.s deleted file mode 100644 index 4db5313097..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/move__7J2DPaneFff.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_802F6F60: -/* 802F6F60 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F6F64 7C 08 02 A6 */ mflr r0 -/* 802F6F68 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F6F6C C0 63 00 28 */ lfs f3, 0x28(r3) -/* 802F6F70 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F6F74 EC 83 00 28 */ fsubs f4, f3, f0 -/* 802F6F78 C0 63 00 2C */ lfs f3, 0x2c(r3) -/* 802F6F7C C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F6F80 EC 63 00 28 */ fsubs f3, f3, f0 -/* 802F6F84 D0 21 00 08 */ stfs f1, 8(r1) -/* 802F6F88 D0 41 00 0C */ stfs f2, 0xc(r1) -/* 802F6F8C EC 01 20 2A */ fadds f0, f1, f4 -/* 802F6F90 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F6F94 EC 02 18 2A */ fadds f0, f2, f3 -/* 802F6F98 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 802F6F9C 38 81 00 08 */ addi r4, r1, 8 -/* 802F6FA0 4B FF FD 79 */ bl func_802F6D18 -/* 802F6FA4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F6FA8 7C 08 03 A6 */ mtlr r0 -/* 802F6FAC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F6FB0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/resize__7J2DPaneFff.s b/asm/JSystem/J2DGraph/J2DPane/resize__7J2DPaneFff.s deleted file mode 100644 index 00d0770db0..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/resize__7J2DPaneFff.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_802F6FF8: -/* 802F6FF8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802F6FFC 7C 08 02 A6 */ mflr r0 -/* 802F7000 90 01 00 44 */ stw r0, 0x44(r1) -/* 802F7004 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 802F7008 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 802F700C DB C1 00 20 */ stfd f30, 0x20(r1) -/* 802F7010 F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 802F7014 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802F7018 7C 7F 1B 78 */ mr r31, r3 -/* 802F701C FF C0 08 90 */ fmr f30, f1 -/* 802F7020 FF E0 10 90 */ fmr f31, f2 -/* 802F7024 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F7028 D0 01 00 08 */ stfs f0, 8(r1) -/* 802F702C C0 63 00 24 */ lfs f3, 0x24(r3) -/* 802F7030 D0 61 00 0C */ stfs f3, 0xc(r1) -/* 802F7034 C0 43 00 28 */ lfs f2, 0x28(r3) -/* 802F7038 D0 41 00 10 */ stfs f2, 0x10(r1) -/* 802F703C C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 802F7040 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 802F7044 C0 83 00 D4 */ lfs f4, 0xd4(r3) -/* 802F7048 C0 A3 00 D8 */ lfs f5, 0xd8(r3) -/* 802F704C EC 00 20 2A */ fadds f0, f0, f4 -/* 802F7050 D0 01 00 08 */ stfs f0, 8(r1) -/* 802F7054 EC 03 28 2A */ fadds f0, f3, f5 -/* 802F7058 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802F705C EC 02 20 2A */ fadds f0, f2, f4 -/* 802F7060 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F7064 EC 01 28 2A */ fadds f0, f1, f5 -/* 802F7068 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 802F706C 48 00 0A 91 */ bl getParentPane__7J2DPaneFv -/* 802F7070 28 03 00 00 */ cmplwi r3, 0 -/* 802F7074 41 82 00 44 */ beq lbl_802F70B8 -/* 802F7078 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802F707C FC 20 00 50 */ fneg f1, f0 -/* 802F7080 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802F7084 FC 40 00 50 */ fneg f2, f0 -/* 802F7088 C0 01 00 08 */ lfs f0, 8(r1) -/* 802F708C EC 00 08 2A */ fadds f0, f0, f1 -/* 802F7090 D0 01 00 08 */ stfs f0, 8(r1) -/* 802F7094 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 802F7098 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F709C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802F70A0 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 802F70A4 EC 00 08 2A */ fadds f0, f0, f1 -/* 802F70A8 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F70AC C0 01 00 14 */ lfs f0, 0x14(r1) -/* 802F70B0 EC 00 10 2A */ fadds f0, f0, f2 -/* 802F70B4 D0 01 00 14 */ stfs f0, 0x14(r1) -lbl_802F70B8: -/* 802F70B8 C0 01 00 08 */ lfs f0, 8(r1) -/* 802F70BC EC 00 F0 2A */ fadds f0, f0, f30 -/* 802F70C0 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802F70C4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 802F70C8 EC 00 F8 2A */ fadds f0, f0, f31 -/* 802F70CC D0 01 00 14 */ stfs f0, 0x14(r1) -/* 802F70D0 7F E3 FB 78 */ mr r3, r31 -/* 802F70D4 38 81 00 08 */ addi r4, r1, 8 -/* 802F70D8 4B FF FC 41 */ bl func_802F6D18 -/* 802F70DC E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 802F70E0 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 802F70E4 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 802F70E8 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 802F70EC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802F70F0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802F70F4 7C 08 03 A6 */ mtlr r0 -/* 802F70F8 38 21 00 40 */ addi r1, r1, 0x40 -/* 802F70FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/setAnimation__7J2DPaneFP10J2DAnmBase.s b/asm/JSystem/J2DGraph/J2DPane/setAnimation__7J2DPaneFP10J2DAnmBase.s deleted file mode 100644 index dfa5139432..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/setAnimation__7J2DPaneFP10J2DAnmBase.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_802F7EF4: -/* 802F7EF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F7EF8 7C 08 02 A6 */ mflr r0 -/* 802F7EFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F7F00 28 04 00 00 */ cmplwi r4, 0 -/* 802F7F04 41 82 00 B0 */ beq lbl_802F7FB4 -/* 802F7F08 80 04 00 0C */ lwz r0, 0xc(r4) -/* 802F7F0C 28 00 00 07 */ cmplwi r0, 7 -/* 802F7F10 41 81 00 A4 */ bgt lbl_802F7FB4 -/* 802F7F14 3C A0 80 3D */ lis r5, lit_2709@ha /* 0x803CCFB0@ha */ -/* 802F7F18 38 A5 CF B0 */ addi r5, r5, lit_2709@l /* 0x803CCFB0@l */ -/* 802F7F1C 54 00 10 3A */ slwi r0, r0, 2 -/* 802F7F20 7C 05 00 2E */ lwzx r0, r5, r0 -/* 802F7F24 7C 09 03 A6 */ mtctr r0 -/* 802F7F28 4E 80 04 20 */ bctr -/* 802F7F2C 81 83 00 00 */ lwz r12, 0(r3) -/* 802F7F30 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 802F7F34 7D 89 03 A6 */ mtctr r12 -/* 802F7F38 4E 80 04 21 */ bctrl -/* 802F7F3C 48 00 00 78 */ b lbl_802F7FB4 -/* 802F7F40 81 83 00 00 */ lwz r12, 0(r3) -/* 802F7F44 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 802F7F48 7D 89 03 A6 */ mtctr r12 -/* 802F7F4C 4E 80 04 21 */ bctrl -/* 802F7F50 48 00 00 64 */ b lbl_802F7FB4 -/* 802F7F54 81 83 00 00 */ lwz r12, 0(r3) -/* 802F7F58 81 8C 00 78 */ lwz r12, 0x78(r12) -/* 802F7F5C 7D 89 03 A6 */ mtctr r12 -/* 802F7F60 4E 80 04 21 */ bctrl -/* 802F7F64 48 00 00 50 */ b lbl_802F7FB4 -/* 802F7F68 81 83 00 00 */ lwz r12, 0(r3) -/* 802F7F6C 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 802F7F70 7D 89 03 A6 */ mtctr r12 -/* 802F7F74 4E 80 04 21 */ bctrl -/* 802F7F78 48 00 00 3C */ b lbl_802F7FB4 -/* 802F7F7C 81 83 00 00 */ lwz r12, 0(r3) -/* 802F7F80 81 8C 00 68 */ lwz r12, 0x68(r12) -/* 802F7F84 7D 89 03 A6 */ mtctr r12 -/* 802F7F88 4E 80 04 21 */ bctrl -/* 802F7F8C 48 00 00 28 */ b lbl_802F7FB4 -/* 802F7F90 81 83 00 00 */ lwz r12, 0(r3) -/* 802F7F94 81 8C 00 74 */ lwz r12, 0x74(r12) -/* 802F7F98 7D 89 03 A6 */ mtctr r12 -/* 802F7F9C 4E 80 04 21 */ bctrl -/* 802F7FA0 48 00 00 14 */ b lbl_802F7FB4 -/* 802F7FA4 81 83 00 00 */ lwz r12, 0(r3) -/* 802F7FA8 81 8C 00 70 */ lwz r12, 0x70(r12) -/* 802F7FAC 7D 89 03 A6 */ mtctr r12 -/* 802F7FB0 4E 80 04 21 */ bctrl -lbl_802F7FB4: -/* 802F7FB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F7FB8 7C 08 03 A6 */ mtlr r0 -/* 802F7FBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F7FC0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/setInfluencedAlpha__7J2DPaneFbb.s b/asm/JSystem/J2DGraph/J2DPane/setInfluencedAlpha__7J2DPaneFbb.s deleted file mode 100644 index cc6112bab0..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/setInfluencedAlpha__7J2DPaneFbb.s +++ /dev/null @@ -1,128 +0,0 @@ -lbl_802F77D0: -/* 802F77D0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802F77D4 7C 08 02 A6 */ mflr r0 -/* 802F77D8 90 01 00 54 */ stw r0, 0x54(r1) -/* 802F77DC DB E1 00 40 */ stfd f31, 0x40(r1) -/* 802F77E0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 802F77E4 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 802F77E8 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 802F77EC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F77F0 48 06 A9 E9 */ bl _savegpr_28 -/* 802F77F4 7C 7E 1B 78 */ mr r30, r3 -/* 802F77F8 7C 9F 23 78 */ mr r31, r4 -/* 802F77FC 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 802F7800 41 82 01 7C */ beq lbl_802F797C -/* 802F7804 88 9E 00 B4 */ lbz r4, 0xb4(r30) -/* 802F7808 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 802F780C 7C 04 00 40 */ cmplw r4, r0 -/* 802F7810 41 82 01 6C */ beq lbl_802F797C -/* 802F7814 48 00 02 E9 */ bl getParentPane__7J2DPaneFv -/* 802F7818 3B 80 00 FF */ li r28, 0xff -/* 802F781C CB C2 C8 00 */ lfd f30, lit_1655(r2) -/* 802F7820 3F A0 43 30 */ lis r29, 0x4330 -/* 802F7824 C3 E2 C8 10 */ lfs f31, lit_2547(r2) -/* 802F7828 48 00 00 64 */ b lbl_802F788C -lbl_802F782C: -/* 802F782C 88 83 00 B2 */ lbz r4, 0xb2(r3) -/* 802F7830 28 04 00 00 */ cmplwi r4, 0 -/* 802F7834 40 82 00 0C */ bne lbl_802F7840 -/* 802F7838 3B 80 00 00 */ li r28, 0 -/* 802F783C 48 00 00 58 */ b lbl_802F7894 -lbl_802F7840: -/* 802F7840 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 802F7844 90 01 00 0C */ stw r0, 0xc(r1) -/* 802F7848 93 A1 00 08 */ stw r29, 8(r1) -/* 802F784C C8 01 00 08 */ lfd f0, 8(r1) -/* 802F7850 EC 20 F0 28 */ fsubs f1, f0, f30 -/* 802F7854 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802F7858 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F785C 93 A1 00 10 */ stw r29, 0x10(r1) -/* 802F7860 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802F7864 EC 00 F0 28 */ fsubs f0, f0, f30 -/* 802F7868 EC 01 00 32 */ fmuls f0, f1, f0 -/* 802F786C EC 00 F8 24 */ fdivs f0, f0, f31 -/* 802F7870 FC 00 00 1E */ fctiwz f0, f0 -/* 802F7874 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 802F7878 83 81 00 1C */ lwz r28, 0x1c(r1) -/* 802F787C 88 03 00 B4 */ lbz r0, 0xb4(r3) -/* 802F7880 28 00 00 00 */ cmplwi r0, 0 -/* 802F7884 41 82 00 10 */ beq lbl_802F7894 -/* 802F7888 48 00 02 75 */ bl getParentPane__7J2DPaneFv -lbl_802F788C: -/* 802F788C 28 03 00 00 */ cmplwi r3, 0 -/* 802F7890 40 82 FF 9C */ bne lbl_802F782C -lbl_802F7894: -/* 802F7894 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802F7898 41 82 00 94 */ beq lbl_802F792C -/* 802F789C 57 83 06 3F */ clrlwi. r3, r28, 0x18 -/* 802F78A0 40 82 00 20 */ bne lbl_802F78C0 -/* 802F78A4 7F C3 F3 78 */ mr r3, r30 -/* 802F78A8 38 80 00 00 */ li r4, 0 -/* 802F78AC 81 9E 00 00 */ lwz r12, 0(r30) -/* 802F78B0 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 802F78B4 7D 89 03 A6 */ mtctr r12 -/* 802F78B8 4E 80 04 21 */ bctrl -/* 802F78BC 48 00 00 C0 */ b lbl_802F797C -lbl_802F78C0: -/* 802F78C0 C0 62 C8 10 */ lfs f3, lit_2547(r2) -/* 802F78C4 88 1E 00 B2 */ lbz r0, 0xb2(r30) -/* 802F78C8 C8 42 C8 00 */ lfd f2, lit_1655(r2) -/* 802F78CC 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802F78D0 3C 00 43 30 */ lis r0, 0x4330 -/* 802F78D4 90 01 00 18 */ stw r0, 0x18(r1) -/* 802F78D8 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802F78DC EC 20 10 28 */ fsubs f1, f0, f2 -/* 802F78E0 90 61 00 14 */ stw r3, 0x14(r1) -/* 802F78E4 90 01 00 10 */ stw r0, 0x10(r1) -/* 802F78E8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802F78EC EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F78F0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 802F78F4 EC 03 00 32 */ fmuls f0, f3, f0 -/* 802F78F8 7F C3 F3 78 */ mr r3, r30 -/* 802F78FC FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 802F7900 40 81 00 0C */ ble lbl_802F790C -/* 802F7904 38 80 00 FF */ li r4, 0xff -/* 802F7908 48 00 00 10 */ b lbl_802F7918 -lbl_802F790C: -/* 802F790C FC 00 00 1E */ fctiwz f0, f0 -/* 802F7910 D8 01 00 08 */ stfd f0, 8(r1) -/* 802F7914 80 81 00 0C */ lwz r4, 0xc(r1) -lbl_802F7918: -/* 802F7918 81 83 00 00 */ lwz r12, 0(r3) -/* 802F791C 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 802F7920 7D 89 03 A6 */ mtctr r12 -/* 802F7924 4E 80 04 21 */ bctrl -/* 802F7928 48 00 00 54 */ b lbl_802F797C -lbl_802F792C: -/* 802F792C 7F C3 F3 78 */ mr r3, r30 -/* 802F7930 57 84 06 3E */ clrlwi r4, r28, 0x18 -/* 802F7934 88 1E 00 B2 */ lbz r0, 0xb2(r30) -/* 802F7938 7C 04 01 D6 */ mullw r0, r4, r0 -/* 802F793C C8 22 C7 F8 */ lfd f1, lit_1651(r2) -/* 802F7940 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802F7944 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802F7948 3C 00 43 30 */ lis r0, 0x4330 -/* 802F794C 90 01 00 18 */ stw r0, 0x18(r1) -/* 802F7950 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802F7954 EC 20 08 28 */ fsubs f1, f0, f1 -/* 802F7958 C0 02 C8 10 */ lfs f0, lit_2547(r2) -/* 802F795C EC 01 00 24 */ fdivs f0, f1, f0 -/* 802F7960 FC 00 00 1E */ fctiwz f0, f0 -/* 802F7964 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 802F7968 80 81 00 14 */ lwz r4, 0x14(r1) -/* 802F796C 81 9E 00 00 */ lwz r12, 0(r30) -/* 802F7970 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 802F7974 7D 89 03 A6 */ mtctr r12 -/* 802F7978 4E 80 04 21 */ bctrl -lbl_802F797C: -/* 802F797C 9B FE 00 B4 */ stb r31, 0xb4(r30) -/* 802F7980 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 802F7984 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 802F7988 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 802F798C CB C1 00 30 */ lfd f30, 0x30(r1) -/* 802F7990 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F7994 48 06 A8 91 */ bl _restgpr_28 -/* 802F7998 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802F799C 7C 08 03 A6 */ mtlr r0 -/* 802F79A0 38 21 00 50 */ addi r1, r1, 0x50 -/* 802F79A4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPane/updateTransform__7J2DPaneFPC15J2DAnmTransform.s b/asm/JSystem/J2DGraph/J2DPane/updateTransform__7J2DPaneFPC15J2DAnmTransform.s deleted file mode 100644 index a6a5bc0d24..0000000000 --- a/asm/JSystem/J2DGraph/J2DPane/updateTransform__7J2DPaneFPC15J2DAnmTransform.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_802F82C0: -/* 802F82C0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802F82C4 7C 08 02 A6 */ mflr r0 -/* 802F82C8 90 01 00 54 */ stw r0, 0x54(r1) -/* 802F82CC 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 802F82D0 7C 7F 1B 78 */ mr r31, r3 -/* 802F82D4 A0 03 00 04 */ lhz r0, 4(r3) -/* 802F82D8 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F82DC 41 82 00 D8 */ beq lbl_802F83B4 -/* 802F82E0 28 04 00 00 */ cmplwi r4, 0 -/* 802F82E4 41 82 00 D0 */ beq lbl_802F83B4 -/* 802F82E8 7C 83 23 78 */ mr r3, r4 -/* 802F82EC 7C 04 03 78 */ mr r4, r0 -/* 802F82F0 38 A1 00 08 */ addi r5, r1, 8 -/* 802F82F4 81 83 00 00 */ lwz r12, 0(r3) -/* 802F82F8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802F82FC 7D 89 03 A6 */ mtctr r12 -/* 802F8300 4E 80 04 21 */ bctrl -/* 802F8304 C0 01 00 08 */ lfs f0, 8(r1) -/* 802F8308 D0 1F 00 CC */ stfs f0, 0xcc(r31) -/* 802F830C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 802F8310 D0 1F 00 D0 */ stfs f0, 0xd0(r31) -/* 802F8314 C0 62 C8 14 */ lfs f3, lit_2890(r2) -/* 802F8318 A8 01 00 14 */ lha r0, 0x14(r1) -/* 802F831C 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 802F8320 C8 42 C8 00 */ lfd f2, lit_1655(r2) -/* 802F8324 90 01 00 2C */ stw r0, 0x2c(r1) -/* 802F8328 3C 60 43 30 */ lis r3, 0x4330 -/* 802F832C 90 61 00 28 */ stw r3, 0x28(r1) -/* 802F8330 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 802F8334 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F8338 EC 03 00 32 */ fmuls f0, f3, f0 -/* 802F833C C0 22 C8 18 */ lfs f1, lit_2891(r2) -/* 802F8340 EC 00 08 24 */ fdivs f0, f0, f1 -/* 802F8344 D0 1F 00 B8 */ stfs f0, 0xb8(r31) -/* 802F8348 A8 01 00 18 */ lha r0, 0x18(r1) -/* 802F834C 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 802F8350 90 01 00 34 */ stw r0, 0x34(r1) -/* 802F8354 90 61 00 30 */ stw r3, 0x30(r1) -/* 802F8358 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 802F835C EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F8360 EC 03 00 32 */ fmuls f0, f3, f0 -/* 802F8364 EC 00 08 24 */ fdivs f0, f0, f1 -/* 802F8368 D0 1F 00 BC */ stfs f0, 0xbc(r31) -/* 802F836C A8 01 00 16 */ lha r0, 0x16(r1) -/* 802F8370 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 802F8374 90 01 00 3C */ stw r0, 0x3c(r1) -/* 802F8378 90 61 00 38 */ stw r3, 0x38(r1) -/* 802F837C C8 01 00 38 */ lfd f0, 0x38(r1) -/* 802F8380 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802F8384 EC 03 00 32 */ fmuls f0, f3, f0 -/* 802F8388 EC 00 08 24 */ fdivs f0, f0, f1 -/* 802F838C D0 1F 00 C0 */ stfs f0, 0xc0(r31) -/* 802F8390 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802F8394 D0 1F 00 D4 */ stfs f0, 0xd4(r31) -/* 802F8398 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 802F839C D0 1F 00 D8 */ stfs f0, 0xd8(r31) -/* 802F83A0 7F E3 FB 78 */ mr r3, r31 -/* 802F83A4 81 9F 00 00 */ lwz r12, 0(r31) -/* 802F83A8 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802F83AC 7D 89 03 A6 */ mtctr r12 -/* 802F83B0 4E 80 04 21 */ bctrl -lbl_802F83B4: -/* 802F83B4 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 802F83B8 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802F83BC 7C 08 03 A6 */ mtlr r0 -/* 802F83C0 38 21 00 50 */ addi r1, r1, 0x50 -/* 802F83C4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 34bc19c057..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_80277024: -/* 80277024 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80277028 7C 08 02 A6 */ mflr r0 -/* 8027702C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80277030 80 63 00 00 */ lwz r3, 0(r3) -/* 80277034 80 03 01 08 */ lwz r0, 0x108(r3) -/* 80277038 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027703C 80 04 00 90 */ lwz r0, 0x90(r4) -/* 80277040 90 01 00 10 */ stw r0, 0x10(r1) -/* 80277044 88 C1 00 14 */ lbz r6, 0x14(r1) -/* 80277048 88 A3 00 B8 */ lbz r5, 0xb8(r3) -/* 8027704C 38 05 00 01 */ addi r0, r5, 1 -/* 80277050 7C 06 01 D6 */ mullw r0, r6, r0 -/* 80277054 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80277058 98 01 00 14 */ stb r0, 0x14(r1) -/* 8027705C 88 C1 00 15 */ lbz r6, 0x15(r1) -/* 80277060 88 A3 00 B9 */ lbz r5, 0xb9(r3) -/* 80277064 38 05 00 01 */ addi r0, r5, 1 -/* 80277068 7C 06 01 D6 */ mullw r0, r6, r0 -/* 8027706C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80277070 98 01 00 15 */ stb r0, 0x15(r1) -/* 80277074 88 C1 00 16 */ lbz r6, 0x16(r1) -/* 80277078 88 A3 00 BA */ lbz r5, 0xba(r3) -/* 8027707C 38 05 00 01 */ addi r0, r5, 1 -/* 80277080 7C 06 01 D6 */ mullw r0, r6, r0 -/* 80277084 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80277088 98 01 00 16 */ stb r0, 0x16(r1) -/* 8027708C 88 C1 00 17 */ lbz r6, 0x17(r1) -/* 80277090 88 A3 00 BB */ lbz r5, 0xbb(r3) -/* 80277094 38 05 00 01 */ addi r0, r5, 1 -/* 80277098 7C 06 01 D6 */ mullw r0, r6, r0 -/* 8027709C 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f -/* 802770A0 98 A1 00 17 */ stb r5, 0x17(r1) -/* 802770A4 88 84 00 96 */ lbz r4, 0x96(r4) -/* 802770A8 38 04 00 01 */ addi r0, r4, 1 -/* 802770AC 7C 05 01 D6 */ mullw r0, r5, r0 -/* 802770B0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 802770B4 98 01 00 17 */ stb r0, 0x17(r1) -/* 802770B8 88 A1 00 10 */ lbz r5, 0x10(r1) -/* 802770BC 88 83 00 BC */ lbz r4, 0xbc(r3) -/* 802770C0 38 04 00 01 */ addi r0, r4, 1 -/* 802770C4 7C 05 01 D6 */ mullw r0, r5, r0 -/* 802770C8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 802770CC 98 01 00 10 */ stb r0, 0x10(r1) -/* 802770D0 88 A1 00 11 */ lbz r5, 0x11(r1) -/* 802770D4 88 83 00 BD */ lbz r4, 0xbd(r3) -/* 802770D8 38 04 00 01 */ addi r0, r4, 1 -/* 802770DC 7C 05 01 D6 */ mullw r0, r5, r0 -/* 802770E0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 802770E4 98 01 00 11 */ stb r0, 0x11(r1) -/* 802770E8 88 81 00 12 */ lbz r4, 0x12(r1) -/* 802770EC 88 63 00 BE */ lbz r3, 0xbe(r3) -/* 802770F0 38 03 00 01 */ addi r0, r3, 1 -/* 802770F4 7C 04 01 D6 */ mullw r0, r4, r0 -/* 802770F8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 802770FC 98 01 00 12 */ stb r0, 0x12(r1) -/* 80277100 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80277104 90 01 00 0C */ stw r0, 0xc(r1) -/* 80277108 38 60 00 01 */ li r3, 1 -/* 8027710C 38 81 00 0C */ addi r4, r1, 0xc -/* 80277110 48 0E 82 6D */ bl GXSetTevColor -/* 80277114 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80277118 90 01 00 08 */ stw r0, 8(r1) -/* 8027711C 38 60 00 02 */ li r3, 2 -/* 80277120 38 81 00 08 */ addi r4, r1, 8 -/* 80277124 48 0E 82 59 */ bl GXSetTevColor -/* 80277128 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8027712C 7C 08 03 A6 */ mtlr r0 -/* 80277130 38 21 00 20 */ addi r1, r1, 0x20 -/* 80277134 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 567e6c36b2..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80276DB0: -/* 80276DB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80276DB4 7C 08 02 A6 */ mflr r0 -/* 80276DB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80276DBC 80 C3 00 00 */ lwz r6, 0(r3) -/* 80276DC0 80 06 01 08 */ lwz r0, 0x108(r6) -/* 80276DC4 90 01 00 0C */ stw r0, 0xc(r1) -/* 80276DC8 88 A1 00 0C */ lbz r5, 0xc(r1) -/* 80276DCC 88 66 00 B8 */ lbz r3, 0xb8(r6) -/* 80276DD0 38 03 00 01 */ addi r0, r3, 1 -/* 80276DD4 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276DD8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276DDC 98 01 00 0C */ stb r0, 0xc(r1) -/* 80276DE0 88 A1 00 0D */ lbz r5, 0xd(r1) -/* 80276DE4 88 66 00 B9 */ lbz r3, 0xb9(r6) -/* 80276DE8 38 03 00 01 */ addi r0, r3, 1 -/* 80276DEC 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276DF0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276DF4 98 01 00 0D */ stb r0, 0xd(r1) -/* 80276DF8 88 A1 00 0E */ lbz r5, 0xe(r1) -/* 80276DFC 88 66 00 BA */ lbz r3, 0xba(r6) -/* 80276E00 38 03 00 01 */ addi r0, r3, 1 -/* 80276E04 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276E08 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276E0C 98 01 00 0E */ stb r0, 0xe(r1) -/* 80276E10 88 A1 00 0F */ lbz r5, 0xf(r1) -/* 80276E14 88 66 00 BB */ lbz r3, 0xbb(r6) -/* 80276E18 38 03 00 01 */ addi r0, r3, 1 -/* 80276E1C 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276E20 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f -/* 80276E24 98 A1 00 0F */ stb r5, 0xf(r1) -/* 80276E28 88 64 00 96 */ lbz r3, 0x96(r4) -/* 80276E2C 38 03 00 01 */ addi r0, r3, 1 -/* 80276E30 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276E34 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276E38 98 01 00 0F */ stb r0, 0xf(r1) -/* 80276E3C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80276E40 90 01 00 08 */ stw r0, 8(r1) -/* 80276E44 38 60 00 01 */ li r3, 1 -/* 80276E48 38 81 00 08 */ addi r4, r1, 8 -/* 80276E4C 48 0E 85 31 */ bl GXSetTevColor -/* 80276E50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80276E54 7C 08 03 A6 */ mtlr r0 -/* 80276E58 38 21 00 10 */ addi r1, r1, 0x10 -/* 80276E5C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkData.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkData.s deleted file mode 100644 index 8112120c8e..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkData.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80276C2C: -/* 80276C2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80276C30 7C 08 02 A6 */ mflr r0 -/* 80276C34 90 01 00 14 */ stw r0, 0x14(r1) -/* 80276C38 80 A3 00 00 */ lwz r5, 0(r3) -/* 80276C3C 80 05 01 0C */ lwz r0, 0x10c(r5) -/* 80276C40 90 01 00 0C */ stw r0, 0xc(r1) -/* 80276C44 88 81 00 0C */ lbz r4, 0xc(r1) -/* 80276C48 88 65 00 BC */ lbz r3, 0xbc(r5) -/* 80276C4C 38 03 00 01 */ addi r0, r3, 1 -/* 80276C50 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276C54 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276C58 98 01 00 0C */ stb r0, 0xc(r1) -/* 80276C5C 88 81 00 0D */ lbz r4, 0xd(r1) -/* 80276C60 88 65 00 BD */ lbz r3, 0xbd(r5) -/* 80276C64 38 03 00 01 */ addi r0, r3, 1 -/* 80276C68 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276C6C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276C70 98 01 00 0D */ stb r0, 0xd(r1) -/* 80276C74 88 81 00 0E */ lbz r4, 0xe(r1) -/* 80276C78 88 65 00 BE */ lbz r3, 0xbe(r5) -/* 80276C7C 38 03 00 01 */ addi r0, r3, 1 -/* 80276C80 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276C84 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276C88 98 01 00 0E */ stb r0, 0xe(r1) -/* 80276C8C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80276C90 90 01 00 08 */ stw r0, 8(r1) -/* 80276C94 38 60 00 02 */ li r3, 2 -/* 80276C98 38 81 00 08 */ addi r4, r1, 8 -/* 80276C9C 48 0E 86 E1 */ bl GXSetTevColor -/* 80276CA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80276CA4 7C 08 03 A6 */ mtlr r0 -/* 80276CA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80276CAC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 6e8caa2343..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80277138: -/* 80277138 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8027713C 7C 08 02 A6 */ mflr r0 -/* 80277140 90 01 00 14 */ stw r0, 0x14(r1) -/* 80277144 80 A3 00 00 */ lwz r5, 0(r3) -/* 80277148 80 04 00 90 */ lwz r0, 0x90(r4) -/* 8027714C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80277150 88 81 00 0C */ lbz r4, 0xc(r1) -/* 80277154 88 65 00 BC */ lbz r3, 0xbc(r5) -/* 80277158 38 03 00 01 */ addi r0, r3, 1 -/* 8027715C 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80277160 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80277164 98 01 00 0C */ stb r0, 0xc(r1) -/* 80277168 88 81 00 0D */ lbz r4, 0xd(r1) -/* 8027716C 88 65 00 BD */ lbz r3, 0xbd(r5) -/* 80277170 38 03 00 01 */ addi r0, r3, 1 -/* 80277174 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80277178 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027717C 98 01 00 0D */ stb r0, 0xd(r1) -/* 80277180 88 81 00 0E */ lbz r4, 0xe(r1) -/* 80277184 88 65 00 BE */ lbz r3, 0xbe(r5) -/* 80277188 38 03 00 01 */ addi r0, r3, 1 -/* 8027718C 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80277190 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80277194 98 01 00 0E */ stb r0, 0xe(r1) -/* 80277198 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8027719C 90 01 00 08 */ stw r0, 8(r1) -/* 802771A0 38 60 00 02 */ li r3, 2 -/* 802771A4 38 81 00 08 */ addi r4, r1, 8 -/* 802771A8 48 0E 81 D5 */ bl GXSetTevColor -/* 802771AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802771B0 7C 08 03 A6 */ mtlr r0 -/* 802771B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802771B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 1b924fe8e7..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_80276F10: -/* 80276F10 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80276F14 7C 08 02 A6 */ mflr r0 -/* 80276F18 90 01 00 24 */ stw r0, 0x24(r1) -/* 80276F1C 80 63 00 00 */ lwz r3, 0(r3) -/* 80276F20 80 04 00 8C */ lwz r0, 0x8c(r4) -/* 80276F24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80276F28 80 04 00 90 */ lwz r0, 0x90(r4) -/* 80276F2C 90 01 00 10 */ stw r0, 0x10(r1) -/* 80276F30 88 C1 00 14 */ lbz r6, 0x14(r1) -/* 80276F34 88 A3 00 B8 */ lbz r5, 0xb8(r3) -/* 80276F38 38 05 00 01 */ addi r0, r5, 1 -/* 80276F3C 7C 06 01 D6 */ mullw r0, r6, r0 -/* 80276F40 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276F44 98 01 00 14 */ stb r0, 0x14(r1) -/* 80276F48 88 C1 00 15 */ lbz r6, 0x15(r1) -/* 80276F4C 88 A3 00 B9 */ lbz r5, 0xb9(r3) -/* 80276F50 38 05 00 01 */ addi r0, r5, 1 -/* 80276F54 7C 06 01 D6 */ mullw r0, r6, r0 -/* 80276F58 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276F5C 98 01 00 15 */ stb r0, 0x15(r1) -/* 80276F60 88 C1 00 16 */ lbz r6, 0x16(r1) -/* 80276F64 88 A3 00 BA */ lbz r5, 0xba(r3) -/* 80276F68 38 05 00 01 */ addi r0, r5, 1 -/* 80276F6C 7C 06 01 D6 */ mullw r0, r6, r0 -/* 80276F70 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276F74 98 01 00 16 */ stb r0, 0x16(r1) -/* 80276F78 88 C1 00 17 */ lbz r6, 0x17(r1) -/* 80276F7C 88 A3 00 BB */ lbz r5, 0xbb(r3) -/* 80276F80 38 05 00 01 */ addi r0, r5, 1 -/* 80276F84 7C 06 01 D6 */ mullw r0, r6, r0 -/* 80276F88 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f -/* 80276F8C 98 A1 00 17 */ stb r5, 0x17(r1) -/* 80276F90 88 84 00 96 */ lbz r4, 0x96(r4) -/* 80276F94 38 04 00 01 */ addi r0, r4, 1 -/* 80276F98 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276F9C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276FA0 98 01 00 17 */ stb r0, 0x17(r1) -/* 80276FA4 88 A1 00 10 */ lbz r5, 0x10(r1) -/* 80276FA8 88 83 00 BC */ lbz r4, 0xbc(r3) -/* 80276FAC 38 04 00 01 */ addi r0, r4, 1 -/* 80276FB0 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276FB4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276FB8 98 01 00 10 */ stb r0, 0x10(r1) -/* 80276FBC 88 A1 00 11 */ lbz r5, 0x11(r1) -/* 80276FC0 88 83 00 BD */ lbz r4, 0xbd(r3) -/* 80276FC4 38 04 00 01 */ addi r0, r4, 1 -/* 80276FC8 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276FCC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276FD0 98 01 00 11 */ stb r0, 0x11(r1) -/* 80276FD4 88 81 00 12 */ lbz r4, 0x12(r1) -/* 80276FD8 88 63 00 BE */ lbz r3, 0xbe(r3) -/* 80276FDC 38 03 00 01 */ addi r0, r3, 1 -/* 80276FE0 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276FE4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276FE8 98 01 00 12 */ stb r0, 0x12(r1) -/* 80276FEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80276FF0 90 01 00 0C */ stw r0, 0xc(r1) -/* 80276FF4 38 60 00 01 */ li r3, 1 -/* 80276FF8 38 81 00 0C */ addi r4, r1, 0xc -/* 80276FFC 48 0E 83 81 */ bl GXSetTevColor -/* 80277000 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80277004 90 01 00 08 */ stw r0, 8(r1) -/* 80277008 38 60 00 02 */ li r3, 2 -/* 8027700C 38 81 00 08 */ addi r4, r1, 8 -/* 80277010 48 0E 83 6D */ bl GXSetTevColor -/* 80277014 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80277018 7C 08 03 A6 */ mtlr r0 -/* 8027701C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80277020 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 6be9a3e962..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80276E60: -/* 80276E60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80276E64 7C 08 02 A6 */ mflr r0 -/* 80276E68 90 01 00 14 */ stw r0, 0x14(r1) -/* 80276E6C 80 C3 00 00 */ lwz r6, 0(r3) -/* 80276E70 80 04 00 8C */ lwz r0, 0x8c(r4) -/* 80276E74 90 01 00 0C */ stw r0, 0xc(r1) -/* 80276E78 88 A1 00 0C */ lbz r5, 0xc(r1) -/* 80276E7C 88 66 00 B8 */ lbz r3, 0xb8(r6) -/* 80276E80 38 03 00 01 */ addi r0, r3, 1 -/* 80276E84 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276E88 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276E8C 98 01 00 0C */ stb r0, 0xc(r1) -/* 80276E90 88 A1 00 0D */ lbz r5, 0xd(r1) -/* 80276E94 88 66 00 B9 */ lbz r3, 0xb9(r6) -/* 80276E98 38 03 00 01 */ addi r0, r3, 1 -/* 80276E9C 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276EA0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276EA4 98 01 00 0D */ stb r0, 0xd(r1) -/* 80276EA8 88 A1 00 0E */ lbz r5, 0xe(r1) -/* 80276EAC 88 66 00 BA */ lbz r3, 0xba(r6) -/* 80276EB0 38 03 00 01 */ addi r0, r3, 1 -/* 80276EB4 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276EB8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276EBC 98 01 00 0E */ stb r0, 0xe(r1) -/* 80276EC0 88 A1 00 0F */ lbz r5, 0xf(r1) -/* 80276EC4 88 66 00 BB */ lbz r3, 0xbb(r6) -/* 80276EC8 38 03 00 01 */ addi r0, r3, 1 -/* 80276ECC 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276ED0 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f -/* 80276ED4 98 A1 00 0F */ stb r5, 0xf(r1) -/* 80276ED8 88 64 00 96 */ lbz r3, 0x96(r4) -/* 80276EDC 38 03 00 01 */ addi r0, r3, 1 -/* 80276EE0 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276EE4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276EE8 98 01 00 0F */ stb r0, 0xf(r1) -/* 80276EEC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80276EF0 90 01 00 08 */ stw r0, 8(r1) -/* 80276EF4 38 60 00 01 */ li r3, 1 -/* 80276EF8 38 81 00 08 */ addi r4, r1, 8 -/* 80276EFC 48 0E 84 81 */ bl GXSetTevColor -/* 80276F00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80276F04 7C 08 03 A6 */ mtlr r0 -/* 80276F08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80276F0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmEnv__FP18JPAEmitterWorkData.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmEnv__FP18JPAEmitterWorkData.s deleted file mode 100644 index 79d4edca1c..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrmEnv__FP18JPAEmitterWorkData.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_80276CB0: -/* 80276CB0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80276CB4 7C 08 02 A6 */ mflr r0 -/* 80276CB8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80276CBC 80 63 00 00 */ lwz r3, 0(r3) -/* 80276CC0 80 03 01 08 */ lwz r0, 0x108(r3) -/* 80276CC4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80276CC8 80 03 01 0C */ lwz r0, 0x10c(r3) -/* 80276CCC 90 01 00 10 */ stw r0, 0x10(r1) -/* 80276CD0 88 A1 00 14 */ lbz r5, 0x14(r1) -/* 80276CD4 88 83 00 B8 */ lbz r4, 0xb8(r3) -/* 80276CD8 38 04 00 01 */ addi r0, r4, 1 -/* 80276CDC 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276CE0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276CE4 98 01 00 14 */ stb r0, 0x14(r1) -/* 80276CE8 88 A1 00 15 */ lbz r5, 0x15(r1) -/* 80276CEC 88 83 00 B9 */ lbz r4, 0xb9(r3) -/* 80276CF0 38 04 00 01 */ addi r0, r4, 1 -/* 80276CF4 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276CF8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276CFC 98 01 00 15 */ stb r0, 0x15(r1) -/* 80276D00 88 A1 00 16 */ lbz r5, 0x16(r1) -/* 80276D04 88 83 00 BA */ lbz r4, 0xba(r3) -/* 80276D08 38 04 00 01 */ addi r0, r4, 1 -/* 80276D0C 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276D10 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276D14 98 01 00 16 */ stb r0, 0x16(r1) -/* 80276D18 88 A1 00 17 */ lbz r5, 0x17(r1) -/* 80276D1C 88 83 00 BB */ lbz r4, 0xbb(r3) -/* 80276D20 38 04 00 01 */ addi r0, r4, 1 -/* 80276D24 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276D28 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276D2C 98 01 00 17 */ stb r0, 0x17(r1) -/* 80276D30 88 A1 00 10 */ lbz r5, 0x10(r1) -/* 80276D34 88 83 00 BC */ lbz r4, 0xbc(r3) -/* 80276D38 38 04 00 01 */ addi r0, r4, 1 -/* 80276D3C 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276D40 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276D44 98 01 00 10 */ stb r0, 0x10(r1) -/* 80276D48 88 A1 00 11 */ lbz r5, 0x11(r1) -/* 80276D4C 88 83 00 BD */ lbz r4, 0xbd(r3) -/* 80276D50 38 04 00 01 */ addi r0, r4, 1 -/* 80276D54 7C 05 01 D6 */ mullw r0, r5, r0 -/* 80276D58 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276D5C 98 01 00 11 */ stb r0, 0x11(r1) -/* 80276D60 88 81 00 12 */ lbz r4, 0x12(r1) -/* 80276D64 88 63 00 BE */ lbz r3, 0xbe(r3) -/* 80276D68 38 03 00 01 */ addi r0, r3, 1 -/* 80276D6C 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276D70 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276D74 98 01 00 12 */ stb r0, 0x12(r1) -/* 80276D78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80276D7C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80276D80 38 60 00 01 */ li r3, 1 -/* 80276D84 38 81 00 0C */ addi r4, r1, 0xc -/* 80276D88 48 0E 85 F5 */ bl GXSetTevColor -/* 80276D8C 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80276D90 90 01 00 08 */ stw r0, 8(r1) -/* 80276D94 38 60 00 02 */ li r3, 2 -/* 80276D98 38 81 00 08 */ addi r4, r1, 8 -/* 80276D9C 48 0E 85 E1 */ bl GXSetTevColor -/* 80276DA0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80276DA4 7C 08 03 A6 */ mtlr r0 -/* 80276DA8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80276DAC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrm__FP18JPAEmitterWorkData.s b/asm/JSystem/JParticle/JPABaseShape/JPARegistPrm__FP18JPAEmitterWorkData.s deleted file mode 100644 index edd544502e..0000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPARegistPrm__FP18JPAEmitterWorkData.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80276B90: -/* 80276B90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80276B94 7C 08 02 A6 */ mflr r0 -/* 80276B98 90 01 00 14 */ stw r0, 0x14(r1) -/* 80276B9C 80 A3 00 00 */ lwz r5, 0(r3) -/* 80276BA0 80 05 01 08 */ lwz r0, 0x108(r5) -/* 80276BA4 90 01 00 0C */ stw r0, 0xc(r1) -/* 80276BA8 88 81 00 0C */ lbz r4, 0xc(r1) -/* 80276BAC 88 65 00 B8 */ lbz r3, 0xb8(r5) -/* 80276BB0 38 03 00 01 */ addi r0, r3, 1 -/* 80276BB4 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276BB8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276BBC 98 01 00 0C */ stb r0, 0xc(r1) -/* 80276BC0 88 81 00 0D */ lbz r4, 0xd(r1) -/* 80276BC4 88 65 00 B9 */ lbz r3, 0xb9(r5) -/* 80276BC8 38 03 00 01 */ addi r0, r3, 1 -/* 80276BCC 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276BD0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276BD4 98 01 00 0D */ stb r0, 0xd(r1) -/* 80276BD8 88 81 00 0E */ lbz r4, 0xe(r1) -/* 80276BDC 88 65 00 BA */ lbz r3, 0xba(r5) -/* 80276BE0 38 03 00 01 */ addi r0, r3, 1 -/* 80276BE4 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276BE8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276BEC 98 01 00 0E */ stb r0, 0xe(r1) -/* 80276BF0 88 81 00 0F */ lbz r4, 0xf(r1) -/* 80276BF4 88 65 00 BB */ lbz r3, 0xbb(r5) -/* 80276BF8 38 03 00 01 */ addi r0, r3, 1 -/* 80276BFC 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80276C00 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80276C04 98 01 00 0F */ stb r0, 0xf(r1) -/* 80276C08 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80276C0C 90 01 00 08 */ stw r0, 8(r1) -/* 80276C10 38 60 00 01 */ li r3, 1 -/* 80276C14 38 81 00 08 */ addi r4, r1, 8 -/* 80276C18 48 0E 87 65 */ bl GXSetTevColor -/* 80276C1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80276C20 7C 08 03 A6 */ mtlr r0 -/* 80276C24 38 21 00 10 */ addi r1, r1, 0x10 -/* 80276C28 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAChildShape/JPACalcChildAlphaOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAChildShape/JPACalcChildAlphaOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 2a170dbadf..0000000000 --- a/asm/JSystem/JParticle/JPAChildShape/JPACalcChildAlphaOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8027AFDC: -/* 8027AFDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8027AFE0 C0 42 B9 08 */ lfs f2, lit_2318(r2) -/* 8027AFE4 C0 22 B9 0C */ lfs f1, lit_2319(r2) -/* 8027AFE8 C0 04 00 84 */ lfs f0, 0x84(r4) -/* 8027AFEC EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027AFF0 EC 62 00 32 */ fmuls f3, f2, f0 -/* 8027AFF4 F0 61 A0 08 */ psq_st f3, 8(r1), 1, 2 /* qr2 */ -/* 8027AFF8 88 01 00 08 */ lbz r0, 8(r1) -/* 8027AFFC 98 04 00 96 */ stb r0, 0x96(r4) -/* 8027B000 38 21 00 10 */ addi r1, r1, 0x10 -/* 8027B004 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAChildShape/JPACalcChildScaleOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAChildShape/JPACalcChildScaleOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 224478a183..0000000000 --- a/asm/JSystem/JParticle/JPAChildShape/JPACalcChildScaleOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8027B008: -/* 8027B008 C0 24 00 68 */ lfs f1, 0x68(r4) -/* 8027B00C C0 42 B9 0C */ lfs f2, lit_2319(r2) -/* 8027B010 C0 04 00 84 */ lfs f0, 0x84(r4) -/* 8027B014 EC 02 00 28 */ fsubs f0, f2, f0 -/* 8027B018 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027B01C D0 04 00 60 */ stfs f0, 0x60(r4) -/* 8027B020 C0 24 00 6C */ lfs f1, 0x6c(r4) -/* 8027B024 C0 04 00 84 */ lfs f0, 0x84(r4) -/* 8027B028 EC 02 00 28 */ fsubs f0, f2, f0 -/* 8027B02C EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027B030 D0 04 00 64 */ stfs f0, 0x64(r4) -/* 8027B034 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAChildShape/JPARegistChildPrmEnv__FP18JPAEmitterWorkData.s b/asm/JSystem/JParticle/JPAChildShape/JPARegistChildPrmEnv__FP18JPAEmitterWorkData.s deleted file mode 100644 index 2e75c09424..0000000000 --- a/asm/JSystem/JParticle/JPAChildShape/JPARegistChildPrmEnv__FP18JPAEmitterWorkData.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_8027AEBC: -/* 8027AEBC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8027AEC0 7C 08 02 A6 */ mflr r0 -/* 8027AEC4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8027AEC8 80 83 00 04 */ lwz r4, 4(r3) -/* 8027AECC 80 84 00 24 */ lwz r4, 0x24(r4) -/* 8027AED0 80 63 00 00 */ lwz r3, 0(r3) -/* 8027AED4 80 84 00 00 */ lwz r4, 0(r4) -/* 8027AED8 89 64 00 34 */ lbz r11, 0x34(r4) -/* 8027AEDC 99 61 00 14 */ stb r11, 0x14(r1) -/* 8027AEE0 89 44 00 35 */ lbz r10, 0x35(r4) -/* 8027AEE4 99 41 00 15 */ stb r10, 0x15(r1) -/* 8027AEE8 89 24 00 36 */ lbz r9, 0x36(r4) -/* 8027AEEC 99 21 00 16 */ stb r9, 0x16(r1) -/* 8027AEF0 89 04 00 37 */ lbz r8, 0x37(r4) -/* 8027AEF4 99 01 00 17 */ stb r8, 0x17(r1) -/* 8027AEF8 88 E4 00 38 */ lbz r7, 0x38(r4) -/* 8027AEFC 98 E1 00 10 */ stb r7, 0x10(r1) -/* 8027AF00 88 C4 00 39 */ lbz r6, 0x39(r4) -/* 8027AF04 98 C1 00 11 */ stb r6, 0x11(r1) -/* 8027AF08 88 A4 00 3A */ lbz r5, 0x3a(r4) -/* 8027AF0C 98 A1 00 12 */ stb r5, 0x12(r1) -/* 8027AF10 88 04 00 3B */ lbz r0, 0x3b(r4) -/* 8027AF14 98 01 00 13 */ stb r0, 0x13(r1) -/* 8027AF18 88 83 00 B8 */ lbz r4, 0xb8(r3) -/* 8027AF1C 38 04 00 01 */ addi r0, r4, 1 -/* 8027AF20 7C 0B 01 D6 */ mullw r0, r11, r0 -/* 8027AF24 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027AF28 98 01 00 14 */ stb r0, 0x14(r1) -/* 8027AF2C 88 83 00 B9 */ lbz r4, 0xb9(r3) -/* 8027AF30 38 04 00 01 */ addi r0, r4, 1 -/* 8027AF34 7C 0A 01 D6 */ mullw r0, r10, r0 -/* 8027AF38 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027AF3C 98 01 00 15 */ stb r0, 0x15(r1) -/* 8027AF40 88 83 00 BA */ lbz r4, 0xba(r3) -/* 8027AF44 38 04 00 01 */ addi r0, r4, 1 -/* 8027AF48 7C 09 01 D6 */ mullw r0, r9, r0 -/* 8027AF4C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027AF50 98 01 00 16 */ stb r0, 0x16(r1) -/* 8027AF54 88 83 00 BB */ lbz r4, 0xbb(r3) -/* 8027AF58 38 04 00 01 */ addi r0, r4, 1 -/* 8027AF5C 7C 08 01 D6 */ mullw r0, r8, r0 -/* 8027AF60 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027AF64 98 01 00 17 */ stb r0, 0x17(r1) -/* 8027AF68 88 83 00 BC */ lbz r4, 0xbc(r3) -/* 8027AF6C 38 04 00 01 */ addi r0, r4, 1 -/* 8027AF70 7C 07 01 D6 */ mullw r0, r7, r0 -/* 8027AF74 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027AF78 98 01 00 10 */ stb r0, 0x10(r1) -/* 8027AF7C 88 83 00 BD */ lbz r4, 0xbd(r3) -/* 8027AF80 38 04 00 01 */ addi r0, r4, 1 -/* 8027AF84 7C 06 01 D6 */ mullw r0, r6, r0 -/* 8027AF88 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027AF8C 98 01 00 11 */ stb r0, 0x11(r1) -/* 8027AF90 88 63 00 BE */ lbz r3, 0xbe(r3) -/* 8027AF94 38 03 00 01 */ addi r0, r3, 1 -/* 8027AF98 7C 05 01 D6 */ mullw r0, r5, r0 -/* 8027AF9C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8027AFA0 98 01 00 12 */ stb r0, 0x12(r1) -/* 8027AFA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8027AFA8 90 01 00 0C */ stw r0, 0xc(r1) -/* 8027AFAC 38 60 00 01 */ li r3, 1 -/* 8027AFB0 38 81 00 0C */ addi r4, r1, 0xc -/* 8027AFB4 48 0E 43 C9 */ bl GXSetTevColor -/* 8027AFB8 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8027AFBC 90 01 00 08 */ stw r0, 8(r1) -/* 8027AFC0 38 60 00 02 */ li r3, 2 -/* 8027AFC4 38 81 00 08 */ addi r4, r1, 8 -/* 8027AFC8 48 0E 43 B5 */ bl GXSetTevColor -/* 8027AFCC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8027AFD0 7C 08 03 A6 */ mtlr r0 -/* 8027AFD4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8027AFD8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPADynamicsBlock/__ct__16JPADynamicsBlockFPCUc.s b/asm/JSystem/JParticle/JPADynamicsBlock/__ct__16JPADynamicsBlockFPCUc.s deleted file mode 100644 index 9971f3b756..0000000000 --- a/asm/JSystem/JParticle/JPADynamicsBlock/__ct__16JPADynamicsBlockFPCUc.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8027BB18: -/* 8027BB18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8027BB1C 7C 08 02 A6 */ mflr r0 -/* 8027BB20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027BB24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8027BB28 7C 7F 1B 78 */ mr r31, r3 -/* 8027BB2C 90 83 00 00 */ stw r4, 0(r3) -/* 8027BB30 48 00 00 1D */ bl init__16JPADynamicsBlockFv -/* 8027BB34 7F E3 FB 78 */ mr r3, r31 -/* 8027BB38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8027BB3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8027BB40 7C 08 03 A6 */ mtlr r0 -/* 8027BB44 38 21 00 10 */ addi r1, r1, 0x10 -/* 8027BB48 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPADynamicsBlock/init__16JPADynamicsBlockFv.s b/asm/JSystem/JParticle/JPADynamicsBlock/init__16JPADynamicsBlockFv.s deleted file mode 100644 index abe1072918..0000000000 --- a/asm/JSystem/JParticle/JPADynamicsBlock/init__16JPADynamicsBlockFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8027BB4C: -/* 8027BB4C 80 83 00 00 */ lwz r4, 0(r3) -/* 8027BB50 80 04 00 08 */ lwz r0, 8(r4) -/* 8027BB54 54 00 C7 7E */ rlwinm r0, r0, 0x18, 0x1d, 0x1f -/* 8027BB58 28 00 00 06 */ cmplwi r0, 6 -/* 8027BB5C 4D 81 00 20 */ bgtlr -/* 8027BB60 3C 80 80 3C */ lis r4, lit_2631@ha /* 0x803C4488@ha */ -/* 8027BB64 38 84 44 88 */ addi r4, r4, lit_2631@l /* 0x803C4488@l */ -/* 8027BB68 54 00 10 3A */ slwi r0, r0, 2 -/* 8027BB6C 7C 04 00 2E */ lwzx r0, r4, r0 -/* 8027BB70 7C 09 03 A6 */ mtctr r0 -/* 8027BB74 4E 80 04 20 */ bctr -/* 8027BB78 3C 80 80 28 */ lis r4, JPAVolumeCube__FP18JPAEmitterWorkData@ha /* 0x8027B4E8@ha */ -/* 8027BB7C 38 04 B4 E8 */ addi r0, r4, JPAVolumeCube__FP18JPAEmitterWorkData@l /* 0x8027B4E8@l */ -/* 8027BB80 90 03 00 04 */ stw r0, 4(r3) -/* 8027BB84 4E 80 00 20 */ blr -/* 8027BB88 3C 80 80 28 */ lis r4, JPAVolumeSphere__FP18JPAEmitterWorkData@ha /* 0x8027B5F0@ha */ -/* 8027BB8C 38 04 B5 F0 */ addi r0, r4, JPAVolumeSphere__FP18JPAEmitterWorkData@l /* 0x8027B5F0@l */ -/* 8027BB90 90 03 00 04 */ stw r0, 4(r3) -/* 8027BB94 4E 80 00 20 */ blr -/* 8027BB98 3C 80 80 28 */ lis r4, JPAVolumeCylinder__FP18JPAEmitterWorkData@ha /* 0x8027B87C@ha */ -/* 8027BB9C 38 04 B8 7C */ addi r0, r4, JPAVolumeCylinder__FP18JPAEmitterWorkData@l /* 0x8027B87C@l */ -/* 8027BBA0 90 03 00 04 */ stw r0, 4(r3) -/* 8027BBA4 4E 80 00 20 */ blr -/* 8027BBA8 3C 80 80 28 */ lis r4, JPAVolumeTorus__FP18JPAEmitterWorkData@ha /* 0x8027B9F8@ha */ -/* 8027BBAC 38 04 B9 F8 */ addi r0, r4, JPAVolumeTorus__FP18JPAEmitterWorkData@l /* 0x8027B9F8@l */ -/* 8027BBB0 90 03 00 04 */ stw r0, 4(r3) -/* 8027BBB4 4E 80 00 20 */ blr -/* 8027BBB8 3C 80 80 28 */ lis r4, JPAVolumePoint__FP18JPAEmitterWorkData@ha /* 0x8027B144@ha */ -/* 8027BBBC 38 04 B1 44 */ addi r0, r4, JPAVolumePoint__FP18JPAEmitterWorkData@l /* 0x8027B144@l */ -/* 8027BBC0 90 03 00 04 */ stw r0, 4(r3) -/* 8027BBC4 4E 80 00 20 */ blr -/* 8027BBC8 3C 80 80 28 */ lis r4, JPAVolumeCircle__FP18JPAEmitterWorkData@ha /* 0x8027B33C@ha */ -/* 8027BBCC 38 04 B3 3C */ addi r0, r4, JPAVolumeCircle__FP18JPAEmitterWorkData@l /* 0x8027B33C@l */ -/* 8027BBD0 90 03 00 04 */ stw r0, 4(r3) -/* 8027BBD4 4E 80 00 20 */ blr -/* 8027BBD8 3C 80 80 28 */ lis r4, JPAVolumeLine__FP18JPAEmitterWorkData@ha /* 0x8027B220@ha */ -/* 8027BBDC 38 04 B2 20 */ addi r0, r4, JPAVolumeLine__FP18JPAEmitterWorkData@l /* 0x8027B220@l */ -/* 8027BBE0 90 03 00 04 */ stw r0, 4(r3) -/* 8027BBE4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index a961073a6a..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8027AC10: -/* 8027AC10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8027AC14 80 63 00 04 */ lwz r3, 4(r3) -/* 8027AC18 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8027AC1C C0 84 00 84 */ lfs f4, 0x84(r4) -/* 8027AC20 80 A3 00 00 */ lwz r5, 0(r3) -/* 8027AC24 C0 05 00 2C */ lfs f0, 0x2c(r5) -/* 8027AC28 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027AC2C 40 80 00 20 */ bge lbl_8027AC4C -/* 8027AC30 C0 42 B8 F4 */ lfs f2, lit_2390(r2) -/* 8027AC34 C0 25 00 34 */ lfs f1, 0x34(r5) -/* 8027AC38 C0 03 00 04 */ lfs f0, 4(r3) -/* 8027AC3C EC 04 00 32 */ fmuls f0, f4, f0 -/* 8027AC40 EC 01 00 2A */ fadds f0, f1, f0 -/* 8027AC44 EC A2 00 32 */ fmuls f5, f2, f0 -/* 8027AC48 48 00 00 3C */ b lbl_8027AC84 -lbl_8027AC4C: -/* 8027AC4C C0 05 00 30 */ lfs f0, 0x30(r5) -/* 8027AC50 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027AC54 40 81 00 24 */ ble lbl_8027AC78 -/* 8027AC58 C0 62 B8 F4 */ lfs f3, lit_2390(r2) -/* 8027AC5C C0 45 00 38 */ lfs f2, 0x38(r5) -/* 8027AC60 EC 24 00 28 */ fsubs f1, f4, f0 -/* 8027AC64 C0 03 00 08 */ lfs f0, 8(r3) -/* 8027AC68 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027AC6C EC 02 00 2A */ fadds f0, f2, f0 -/* 8027AC70 EC A3 00 32 */ fmuls f5, f3, f0 -/* 8027AC74 48 00 00 10 */ b lbl_8027AC84 -lbl_8027AC78: -/* 8027AC78 C0 22 B8 F4 */ lfs f1, lit_2390(r2) -/* 8027AC7C C0 05 00 38 */ lfs f0, 0x38(r5) -/* 8027AC80 EC A1 00 32 */ fmuls f5, f1, f0 -lbl_8027AC84: -/* 8027AC84 F0 A1 A0 08 */ psq_st f5, 8(r1), 1, 2 /* qr2 */ -/* 8027AC88 88 01 00 08 */ lbz r0, 8(r1) -/* 8027AC8C 98 04 00 96 */ stb r0, 0x96(r4) -/* 8027AC90 38 21 00 10 */ addi r1, r1, 0x10 -/* 8027AC94 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 73030643a5..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_8027AC98: -/* 8027AC98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8027AC9C 80 63 00 04 */ lwz r3, 4(r3) -/* 8027ACA0 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8027ACA4 C0 64 00 84 */ lfs f3, 0x84(r4) -/* 8027ACA8 80 A3 00 00 */ lwz r5, 0(r3) -/* 8027ACAC C0 05 00 2C */ lfs f0, 0x2c(r5) -/* 8027ACB0 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 8027ACB4 40 80 00 18 */ bge lbl_8027ACCC -/* 8027ACB8 C0 25 00 34 */ lfs f1, 0x34(r5) -/* 8027ACBC C0 03 00 04 */ lfs f0, 4(r3) -/* 8027ACC0 EC 03 00 32 */ fmuls f0, f3, f0 -/* 8027ACC4 EC A1 00 2A */ fadds f5, f1, f0 -/* 8027ACC8 48 00 00 2C */ b lbl_8027ACF4 -lbl_8027ACCC: -/* 8027ACCC C0 05 00 30 */ lfs f0, 0x30(r5) -/* 8027ACD0 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 8027ACD4 40 81 00 1C */ ble lbl_8027ACF0 -/* 8027ACD8 C0 45 00 38 */ lfs f2, 0x38(r5) -/* 8027ACDC EC 23 00 28 */ fsubs f1, f3, f0 -/* 8027ACE0 C0 03 00 08 */ lfs f0, 8(r3) -/* 8027ACE4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027ACE8 EC A2 00 2A */ fadds f5, f2, f0 -/* 8027ACEC 48 00 00 08 */ b lbl_8027ACF4 -lbl_8027ACF0: -/* 8027ACF0 C0 A5 00 38 */ lfs f5, 0x38(r5) -lbl_8027ACF4: -/* 8027ACF4 C0 62 B8 F8 */ lfs f3, lit_2433(r2) -/* 8027ACF8 C0 44 00 6C */ lfs f2, 0x6c(r4) -/* 8027ACFC A8 04 00 80 */ lha r0, 0x80(r4) -/* 8027AD00 C8 22 B8 E8 */ lfd f1, lit_2312(r2) -/* 8027AD04 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027AD08 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027AD0C 3C 00 43 30 */ lis r0, 0x4330 -/* 8027AD10 90 01 00 10 */ stw r0, 0x10(r1) -/* 8027AD14 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8027AD18 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8027AD1C EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027AD20 EC 23 00 32 */ fmuls f1, f3, f0 -/* 8027AD24 C0 82 B8 E0 */ lfs f4, lit_2270(r2) -/* 8027AD28 C0 05 00 40 */ lfs f0, 0x40(r5) -/* 8027AD2C EC 04 00 28 */ fsubs f0, f4, f0 -/* 8027AD30 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027AD34 FC 00 00 1E */ fctiwz f0, f0 -/* 8027AD38 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8027AD3C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8027AD40 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8027AD44 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8027AD48 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8027AD4C 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8027AD50 C0 62 B8 F4 */ lfs f3, lit_2390(r2) -/* 8027AD54 C0 42 B8 FC */ lfs f2, lit_2434(r2) -/* 8027AD58 EC 20 20 28 */ fsubs f1, f0, f4 -/* 8027AD5C C0 05 00 48 */ lfs f0, 0x48(r5) -/* 8027AD60 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027AD64 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027AD68 EC 04 00 2A */ fadds f0, f4, f0 -/* 8027AD6C EC 03 00 32 */ fmuls f0, f3, f0 -/* 8027AD70 EC A5 00 32 */ fmuls f5, f5, f0 -/* 8027AD74 F0 A1 A0 08 */ psq_st f5, 8(r1), 1, 2 /* qr2 */ -/* 8027AD78 88 01 00 08 */ lbz r0, 8(r1) -/* 8027AD7C 98 04 00 96 */ stb r0, 0x96(r4) -/* 8027AD80 38 21 00 20 */ addi r1, r1, 0x20 -/* 8027AD84 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 116f462763..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8027AA14: -/* 8027AA14 C0 04 00 84 */ lfs f0, 0x84(r4) -/* 8027AA18 D0 03 01 FC */ stfs f0, 0x1fc(r3) -/* 8027AA1C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 689100d156..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8027AA20: -/* 8027AA20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8027AA24 80 A3 00 04 */ lwz r5, 4(r3) -/* 8027AA28 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 8027AA2C 80 A5 00 00 */ lwz r5, 0(r5) -/* 8027AA30 A8 A5 00 28 */ lha r5, 0x28(r5) -/* 8027AA34 A8 84 00 80 */ lha r4, 0x80(r4) -/* 8027AA38 7C 04 2B D6 */ divw r0, r4, r5 -/* 8027AA3C 7C 00 29 D6 */ mullw r0, r0, r5 -/* 8027AA40 7C 00 20 50 */ subf r0, r0, r4 -/* 8027AA44 C8 42 B8 E8 */ lfd f2, lit_2312(r2) -/* 8027AA48 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027AA4C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8027AA50 3C 80 43 30 */ lis r4, 0x4330 -/* 8027AA54 90 81 00 08 */ stw r4, 8(r1) -/* 8027AA58 C8 01 00 08 */ lfd f0, 8(r1) -/* 8027AA5C EC 20 10 28 */ fsubs f1, f0, f2 -/* 8027AA60 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 8027AA64 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027AA68 90 81 00 10 */ stw r4, 0x10(r1) -/* 8027AA6C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8027AA70 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8027AA74 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8027AA78 D0 03 01 FC */ stfs f0, 0x1fc(r3) -/* 8027AA7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8027AA80 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 2128ce0df3..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8027AA84: -/* 8027AA84 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8027AA88 80 A3 00 04 */ lwz r5, 4(r3) -/* 8027AA8C 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 8027AA90 80 A5 00 00 */ lwz r5, 0(r5) -/* 8027AA94 A8 A5 00 2A */ lha r5, 0x2a(r5) -/* 8027AA98 A8 84 00 80 */ lha r4, 0x80(r4) -/* 8027AA9C 7C 04 2B D6 */ divw r0, r4, r5 -/* 8027AAA0 7C 00 29 D6 */ mullw r0, r0, r5 -/* 8027AAA4 7C 00 20 50 */ subf r0, r0, r4 -/* 8027AAA8 C8 42 B8 E8 */ lfd f2, lit_2312(r2) -/* 8027AAAC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027AAB0 90 01 00 0C */ stw r0, 0xc(r1) -/* 8027AAB4 3C 80 43 30 */ lis r4, 0x4330 -/* 8027AAB8 90 81 00 08 */ stw r4, 8(r1) -/* 8027AABC C8 01 00 08 */ lfd f0, 8(r1) -/* 8027AAC0 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8027AAC4 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 8027AAC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027AACC 90 81 00 10 */ stw r4, 0x10(r1) -/* 8027AAD0 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8027AAD4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8027AAD8 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8027AADC D0 03 01 FC */ stfs f0, 0x1fc(r3) -/* 8027AAE0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8027AAE4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 30f9e038ae..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8027AAE8: -/* 8027AAE8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8027AAEC 80 A3 00 04 */ lwz r5, 4(r3) -/* 8027AAF0 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 8027AAF4 80 A5 00 00 */ lwz r5, 0(r5) -/* 8027AAF8 A8 C5 00 28 */ lha r6, 0x28(r5) -/* 8027AAFC A8 84 00 80 */ lha r4, 0x80(r4) -/* 8027AB00 7C A4 33 D6 */ divw r5, r4, r6 -/* 8027AB04 7C 05 31 D6 */ mullw r0, r5, r6 -/* 8027AB08 7C 00 20 50 */ subf r0, r0, r4 -/* 8027AB0C C8 42 B8 E8 */ lfd f2, lit_2312(r2) -/* 8027AB10 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027AB14 90 01 00 0C */ stw r0, 0xc(r1) -/* 8027AB18 3C 80 43 30 */ lis r4, 0x4330 -/* 8027AB1C 90 81 00 08 */ stw r4, 8(r1) -/* 8027AB20 C8 01 00 08 */ lfd f0, 8(r1) -/* 8027AB24 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8027AB28 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 8027AB2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027AB30 90 81 00 10 */ stw r4, 0x10(r1) -/* 8027AB34 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8027AB38 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8027AB3C EC 61 00 24 */ fdivs f3, f1, f0 -/* 8027AB40 54 A0 07 FE */ clrlwi r0, r5, 0x1f -/* 8027AB44 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027AB48 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8027AB4C 90 81 00 18 */ stw r4, 0x18(r1) -/* 8027AB50 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8027AB54 EC 40 10 28 */ fsubs f2, f0, f2 -/* 8027AB58 C0 22 B8 E0 */ lfs f1, lit_2270(r2) -/* 8027AB5C C0 02 B8 F0 */ lfs f0, lit_2339(r2) -/* 8027AB60 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8027AB64 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027AB68 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027AB6C EC 03 00 2A */ fadds f0, f3, f0 -/* 8027AB70 D0 03 01 FC */ stfs f0, 0x1fc(r3) -/* 8027AB74 38 21 00 20 */ addi r1, r1, 0x20 -/* 8027AB78 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 77ca9dc3fd..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8027AB7C: -/* 8027AB7C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8027AB80 80 A3 00 04 */ lwz r5, 4(r3) -/* 8027AB84 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 8027AB88 80 A5 00 00 */ lwz r5, 0(r5) -/* 8027AB8C A8 C5 00 2A */ lha r6, 0x2a(r5) -/* 8027AB90 A8 84 00 80 */ lha r4, 0x80(r4) -/* 8027AB94 7C A4 33 D6 */ divw r5, r4, r6 -/* 8027AB98 7C 05 31 D6 */ mullw r0, r5, r6 -/* 8027AB9C 7C 00 20 50 */ subf r0, r0, r4 -/* 8027ABA0 C8 42 B8 E8 */ lfd f2, lit_2312(r2) -/* 8027ABA4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027ABA8 90 01 00 0C */ stw r0, 0xc(r1) -/* 8027ABAC 3C 80 43 30 */ lis r4, 0x4330 -/* 8027ABB0 90 81 00 08 */ stw r4, 8(r1) -/* 8027ABB4 C8 01 00 08 */ lfd f0, 8(r1) -/* 8027ABB8 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8027ABBC 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 8027ABC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027ABC4 90 81 00 10 */ stw r4, 0x10(r1) -/* 8027ABC8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8027ABCC EC 00 10 28 */ fsubs f0, f0, f2 -/* 8027ABD0 EC 61 00 24 */ fdivs f3, f1, f0 -/* 8027ABD4 54 A0 07 FE */ clrlwi r0, r5, 0x1f -/* 8027ABD8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8027ABDC 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8027ABE0 90 81 00 18 */ stw r4, 0x18(r1) -/* 8027ABE4 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8027ABE8 EC 40 10 28 */ fsubs f2, f0, f2 -/* 8027ABEC C0 22 B8 E0 */ lfs f1, lit_2270(r2) -/* 8027ABF0 C0 02 B8 F0 */ lfs f0, lit_2339(r2) -/* 8027ABF4 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8027ABF8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027ABFC EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027AC00 EC 03 00 2A */ fadds f0, f3, f0 -/* 8027AC04 D0 03 01 FC */ stfs f0, 0x1fc(r3) -/* 8027AC08 38 21 00 20 */ addi r1, r1, 0x20 -/* 8027AC0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 6247cf39bc..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8027AA08: -/* 8027AA08 C0 04 00 60 */ lfs f0, 0x60(r4) -/* 8027AA0C D0 04 00 64 */ stfs f0, 0x64(r4) -/* 8027AA10 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index acbfdc25af..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8027A918: -/* 8027A918 80 A3 00 04 */ lwz r5, 4(r3) -/* 8027A91C 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 8027A920 C0 83 01 FC */ lfs f4, 0x1fc(r3) -/* 8027A924 80 65 00 00 */ lwz r3, 0(r5) -/* 8027A928 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8027A92C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A930 40 80 00 24 */ bge lbl_8027A954 -/* 8027A934 C0 44 00 68 */ lfs f2, 0x68(r4) -/* 8027A938 C0 05 00 0C */ lfs f0, 0xc(r5) -/* 8027A93C EC 24 00 32 */ fmuls f1, f4, f0 -/* 8027A940 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 8027A944 EC 01 00 2A */ fadds f0, f1, f0 -/* 8027A948 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027A94C D0 04 00 60 */ stfs f0, 0x60(r4) -/* 8027A950 4E 80 00 20 */ blr -lbl_8027A954: -/* 8027A954 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8027A958 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A95C 40 81 00 28 */ ble lbl_8027A984 -/* 8027A960 C0 64 00 68 */ lfs f3, 0x68(r4) -/* 8027A964 C0 42 B8 E0 */ lfs f2, lit_2270(r2) -/* 8027A968 C0 25 00 14 */ lfs f1, 0x14(r5) -/* 8027A96C EC 04 00 28 */ fsubs f0, f4, f0 -/* 8027A970 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027A974 EC 02 00 2A */ fadds f0, f2, f0 -/* 8027A978 EC 03 00 32 */ fmuls f0, f3, f0 -/* 8027A97C D0 04 00 60 */ stfs f0, 0x60(r4) -/* 8027A980 4E 80 00 20 */ blr -lbl_8027A984: -/* 8027A984 C0 04 00 68 */ lfs f0, 0x68(r4) -/* 8027A988 D0 04 00 60 */ stfs f0, 0x60(r4) -/* 8027A98C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 7e4d76fa08..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8027A990: -/* 8027A990 80 A3 00 04 */ lwz r5, 4(r3) -/* 8027A994 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 8027A998 C0 83 01 FC */ lfs f4, 0x1fc(r3) -/* 8027A99C 80 65 00 00 */ lwz r3, 0(r5) -/* 8027A9A0 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8027A9A4 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A9A8 40 80 00 24 */ bge lbl_8027A9CC -/* 8027A9AC C0 44 00 68 */ lfs f2, 0x68(r4) -/* 8027A9B0 C0 05 00 10 */ lfs f0, 0x10(r5) -/* 8027A9B4 EC 24 00 32 */ fmuls f1, f4, f0 -/* 8027A9B8 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8027A9BC EC 01 00 2A */ fadds f0, f1, f0 -/* 8027A9C0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027A9C4 D0 04 00 64 */ stfs f0, 0x64(r4) -/* 8027A9C8 4E 80 00 20 */ blr -lbl_8027A9CC: -/* 8027A9CC C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8027A9D0 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A9D4 40 81 00 28 */ ble lbl_8027A9FC -/* 8027A9D8 C0 64 00 68 */ lfs f3, 0x68(r4) -/* 8027A9DC C0 42 B8 E0 */ lfs f2, lit_2270(r2) -/* 8027A9E0 C0 25 00 18 */ lfs f1, 0x18(r5) -/* 8027A9E4 EC 04 00 28 */ fsubs f0, f4, f0 -/* 8027A9E8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027A9EC EC 02 00 2A */ fadds f0, f2, f0 -/* 8027A9F0 EC 03 00 32 */ fmuls f0, f3, f0 -/* 8027A9F4 D0 04 00 64 */ stfs f0, 0x64(r4) -/* 8027A9F8 4E 80 00 20 */ blr -lbl_8027A9FC: -/* 8027A9FC C0 04 00 68 */ lfs f0, 0x68(r4) -/* 8027AA00 D0 04 00 64 */ stfs f0, 0x64(r4) -/* 8027AA04 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/__ct__13JPAExtraShapeFPCUc.s b/asm/JSystem/JParticle/JPAExtraShape/__ct__13JPAExtraShapeFPCUc.s deleted file mode 100644 index 543945a754..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/__ct__13JPAExtraShapeFPCUc.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8027AD88: -/* 8027AD88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8027AD8C 7C 08 02 A6 */ mflr r0 -/* 8027AD90 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027AD94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8027AD98 7C 7F 1B 78 */ mr r31, r3 -/* 8027AD9C 90 83 00 00 */ stw r4, 0(r3) -/* 8027ADA0 48 00 00 1D */ bl init__13JPAExtraShapeFv -/* 8027ADA4 7F E3 FB 78 */ mr r3, r31 -/* 8027ADA8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8027ADAC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8027ADB0 7C 08 03 A6 */ mtlr r0 -/* 8027ADB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8027ADB8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAExtraShape/init__13JPAExtraShapeFv.s b/asm/JSystem/JParticle/JPAExtraShape/init__13JPAExtraShapeFv.s deleted file mode 100644 index 8dd04fa192..0000000000 --- a/asm/JSystem/JParticle/JPAExtraShape/init__13JPAExtraShapeFv.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_8027ADBC: -/* 8027ADBC C0 02 B9 00 */ lfs f0, lit_2503(r2) -/* 8027ADC0 80 83 00 00 */ lwz r4, 0(r3) -/* 8027ADC4 C0 44 00 2C */ lfs f2, 0x2c(r4) -/* 8027ADC8 FC 00 10 00 */ fcmpu cr0, f0, f2 -/* 8027ADCC 41 82 00 18 */ beq lbl_8027ADE4 -/* 8027ADD0 C0 24 00 38 */ lfs f1, 0x38(r4) -/* 8027ADD4 C0 04 00 34 */ lfs f0, 0x34(r4) -/* 8027ADD8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027ADDC EC 00 10 24 */ fdivs f0, f0, f2 -/* 8027ADE0 48 00 00 08 */ b lbl_8027ADE8 -lbl_8027ADE4: -/* 8027ADE4 C0 02 B8 E0 */ lfs f0, lit_2270(r2) -lbl_8027ADE8: -/* 8027ADE8 D0 03 00 04 */ stfs f0, 4(r3) -/* 8027ADEC C0 42 B8 E0 */ lfs f2, lit_2270(r2) -/* 8027ADF0 80 83 00 00 */ lwz r4, 0(r3) -/* 8027ADF4 C0 64 00 30 */ lfs f3, 0x30(r4) -/* 8027ADF8 FC 02 18 00 */ fcmpu cr0, f2, f3 -/* 8027ADFC 41 82 00 18 */ beq lbl_8027AE14 -/* 8027AE00 C0 24 00 3C */ lfs f1, 0x3c(r4) -/* 8027AE04 C0 04 00 38 */ lfs f0, 0x38(r4) -/* 8027AE08 EC 21 00 28 */ fsubs f1, f1, f0 -/* 8027AE0C EC 02 18 28 */ fsubs f0, f2, f3 -/* 8027AE10 EC 41 00 24 */ fdivs f2, f1, f0 -lbl_8027AE14: -/* 8027AE14 D0 43 00 08 */ stfs f2, 8(r3) -/* 8027AE18 C0 02 B9 00 */ lfs f0, lit_2503(r2) -/* 8027AE1C 80 83 00 00 */ lwz r4, 0(r3) -/* 8027AE20 C0 44 00 0C */ lfs f2, 0xc(r4) -/* 8027AE24 FC 00 10 00 */ fcmpu cr0, f0, f2 -/* 8027AE28 41 82 00 34 */ beq lbl_8027AE5C -/* 8027AE2C C0 22 B8 E0 */ lfs f1, lit_2270(r2) -/* 8027AE30 C0 04 00 14 */ lfs f0, 0x14(r4) -/* 8027AE34 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027AE38 EC 00 10 24 */ fdivs f0, f0, f2 -/* 8027AE3C D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8027AE40 80 83 00 00 */ lwz r4, 0(r3) -/* 8027AE44 C0 04 00 1C */ lfs f0, 0x1c(r4) -/* 8027AE48 EC 21 00 28 */ fsubs f1, f1, f0 -/* 8027AE4C C0 04 00 0C */ lfs f0, 0xc(r4) -/* 8027AE50 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8027AE54 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8027AE58 48 00 00 10 */ b lbl_8027AE68 -lbl_8027AE5C: -/* 8027AE5C C0 02 B8 E0 */ lfs f0, lit_2270(r2) -/* 8027AE60 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8027AE64 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_8027AE68: -/* 8027AE68 C0 42 B8 E0 */ lfs f2, lit_2270(r2) -/* 8027AE6C 80 83 00 00 */ lwz r4, 0(r3) -/* 8027AE70 C0 64 00 10 */ lfs f3, 0x10(r4) -/* 8027AE74 FC 02 18 00 */ fcmpu cr0, f2, f3 -/* 8027AE78 41 82 00 38 */ beq lbl_8027AEB0 -/* 8027AE7C C0 04 00 18 */ lfs f0, 0x18(r4) -/* 8027AE80 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8027AE84 EC 02 18 28 */ fsubs f0, f2, f3 -/* 8027AE88 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8027AE8C D0 03 00 14 */ stfs f0, 0x14(r3) -/* 8027AE90 80 83 00 00 */ lwz r4, 0(r3) -/* 8027AE94 C0 04 00 20 */ lfs f0, 0x20(r4) -/* 8027AE98 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8027AE9C C0 04 00 10 */ lfs f0, 0x10(r4) -/* 8027AEA0 EC 02 00 28 */ fsubs f0, f2, f0 -/* 8027AEA4 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8027AEA8 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 8027AEAC 4E 80 00 20 */ blr -lbl_8027AEB0: -/* 8027AEB0 D0 43 00 18 */ stfs f2, 0x18(r3) -/* 8027AEB4 D0 43 00 14 */ stfs f2, 0x14(r3) -/* 8027AEB8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAResource/__ct__11JPAResourceFv.s b/asm/JSystem/JParticle/JPAResource/__ct__11JPAResourceFv.s deleted file mode 100644 index f4f83d36c8..0000000000 --- a/asm/JSystem/JParticle/JPAResource/__ct__11JPAResourceFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80274010: -/* 80274010 38 00 00 00 */ li r0, 0 -/* 80274014 90 03 00 08 */ stw r0, 8(r3) -/* 80274018 90 03 00 04 */ stw r0, 4(r3) -/* 8027401C 90 03 00 00 */ stw r0, 0(r3) -/* 80274020 90 03 00 18 */ stw r0, 0x18(r3) -/* 80274024 90 03 00 14 */ stw r0, 0x14(r3) -/* 80274028 90 03 00 10 */ stw r0, 0x10(r3) -/* 8027402C 90 03 00 0C */ stw r0, 0xc(r3) -/* 80274030 90 03 00 1C */ stw r0, 0x1c(r3) -/* 80274034 90 03 00 20 */ stw r0, 0x20(r3) -/* 80274038 90 03 00 24 */ stw r0, 0x24(r3) -/* 8027403C 90 03 00 28 */ stw r0, 0x28(r3) -/* 80274040 90 03 00 2C */ stw r0, 0x2c(r3) -/* 80274044 90 03 00 30 */ stw r0, 0x30(r3) -/* 80274048 90 03 00 34 */ stw r0, 0x34(r3) -/* 8027404C 90 03 00 38 */ stw r0, 0x38(r3) -/* 80274050 98 03 00 47 */ stb r0, 0x47(r3) -/* 80274054 98 03 00 46 */ stb r0, 0x46(r3) -/* 80274058 98 03 00 45 */ stb r0, 0x45(r3) -/* 8027405C 98 03 00 44 */ stb r0, 0x44(r3) -/* 80274060 98 03 00 43 */ stb r0, 0x43(r3) -/* 80274064 98 03 00 42 */ stb r0, 0x42(r3) -/* 80274068 98 03 00 41 */ stb r0, 0x41(r3) -/* 8027406C 98 03 00 40 */ stb r0, 0x40(r3) -/* 80274070 98 03 00 3F */ stb r0, 0x3f(r3) -/* 80274074 98 03 00 3E */ stb r0, 0x3e(r3) -/* 80274078 B0 03 00 3C */ sth r0, 0x3c(r3) -/* 8027407C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAResource/draw__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter.s b/asm/JSystem/JParticle/JPAResource/draw__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter.s deleted file mode 100644 index 488b16e4d8..0000000000 --- a/asm/JSystem/JParticle/JPAResource/draw__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_80275A94: -/* 80275A94 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80275A98 7C 08 02 A6 */ mflr r0 -/* 80275A9C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80275AA0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80275AA4 48 0E C7 35 */ bl _savegpr_28 -/* 80275AA8 7C 7C 1B 78 */ mr r28, r3 -/* 80275AAC 7C 9D 23 78 */ mr r29, r4 -/* 80275AB0 7C BE 2B 78 */ mr r30, r5 -/* 80275AB4 93 C4 00 00 */ stw r30, 0(r4) -/* 80275AB8 93 84 00 04 */ stw r28, 4(r4) -/* 80275ABC 38 00 00 00 */ li r0, 0 -/* 80275AC0 98 04 02 16 */ stb r0, 0x216(r4) -/* 80275AC4 48 00 0F 49 */ bl calcWorkData_d__11JPAResourceFP18JPAEmitterWorkData -/* 80275AC8 80 7C 00 1C */ lwz r3, 0x1c(r28) -/* 80275ACC 7F A4 EB 78 */ mr r4, r29 -/* 80275AD0 48 00 4D 19 */ bl setGX__12JPABaseShapeCFP18JPAEmitterWorkData -/* 80275AD4 3B E0 00 01 */ li r31, 1 -/* 80275AD8 48 00 00 78 */ b lbl_80275B50 -lbl_80275ADC: -/* 80275ADC 88 7D 02 16 */ lbz r3, 0x216(r29) -/* 80275AE0 38 03 00 01 */ addi r0, r3, 1 -/* 80275AE4 98 1D 02 16 */ stb r0, 0x216(r29) -/* 80275AE8 80 7C 00 1C */ lwz r3, 0x1c(r28) -/* 80275AEC 80 63 00 00 */ lwz r3, 0(r3) -/* 80275AF0 80 03 00 08 */ lwz r0, 8(r3) -/* 80275AF4 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 80275AF8 41 82 00 1C */ beq lbl_80275B14 -/* 80275AFC 80 1C 00 24 */ lwz r0, 0x24(r28) -/* 80275B00 28 00 00 00 */ cmplwi r0, 0 -/* 80275B04 41 82 00 10 */ beq lbl_80275B14 -/* 80275B08 7F 83 E3 78 */ mr r3, r28 -/* 80275B0C 7F A4 EB 78 */ mr r4, r29 -/* 80275B10 48 00 03 A1 */ bl drawC__11JPAResourceFP18JPAEmitterWorkData -lbl_80275B14: -/* 80275B14 7F 83 E3 78 */ mr r3, r28 -/* 80275B18 7F A4 EB 78 */ mr r4, r29 -/* 80275B1C 48 00 00 59 */ bl drawP__11JPAResourceFP18JPAEmitterWorkData -/* 80275B20 80 7C 00 1C */ lwz r3, 0x1c(r28) -/* 80275B24 80 63 00 00 */ lwz r3, 0(r3) -/* 80275B28 80 03 00 08 */ lwz r0, 8(r3) -/* 80275B2C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 80275B30 40 82 00 1C */ bne lbl_80275B4C -/* 80275B34 80 1C 00 24 */ lwz r0, 0x24(r28) -/* 80275B38 28 00 00 00 */ cmplwi r0, 0 -/* 80275B3C 41 82 00 10 */ beq lbl_80275B4C -/* 80275B40 7F 83 E3 78 */ mr r3, r28 -/* 80275B44 7F A4 EB 78 */ mr r4, r29 -/* 80275B48 48 00 03 69 */ bl drawC__11JPAResourceFP18JPAEmitterWorkData -lbl_80275B4C: -/* 80275B4C 3B FF 00 01 */ addi r31, r31, 1 -lbl_80275B50: -/* 80275B50 88 1E 01 10 */ lbz r0, 0x110(r30) -/* 80275B54 7C 1F 00 00 */ cmpw r31, r0 -/* 80275B58 40 81 FF 84 */ ble lbl_80275ADC -/* 80275B5C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80275B60 48 0E C6 C5 */ bl _restgpr_28 -/* 80275B64 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80275B68 7C 08 03 A6 */ mtlr r0 -/* 80275B6C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80275B70 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkEventRun__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkEventRun__9daAlink_cCFv.s deleted file mode 100644 index d022c155ed..0000000000 --- a/asm/d/a/d_a_alink/checkEventRun__9daAlink_cCFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80115C20: -/* 80115C20 38 A0 00 00 */ li r5, 0 -/* 80115C24 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80115C28 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80115C2C 88 04 4F AD */ lbz r0, 0x4fad(r4) -/* 80115C30 28 00 00 00 */ cmplwi r0, 0 -/* 80115C34 40 82 00 10 */ bne lbl_80115C44 -/* 80115C38 A0 03 06 04 */ lhz r0, 0x604(r3) -/* 80115C3C 2C 00 00 00 */ cmpwi r0, 0 -/* 80115C40 41 82 00 08 */ beq lbl_80115C48 -lbl_80115C44: -/* 80115C44 38 A0 00 01 */ li r5, 1 -lbl_80115C48: -/* 80115C48 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 80115C4C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkFastUnequip__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkFastUnequip__9daAlink_cFv.s deleted file mode 100644 index e18691a085..0000000000 --- a/asm/d/a/d_a_alink/checkFastUnequip__9daAlink_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800B97EC: -/* 800B97EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B97F0 7C 08 02 A6 */ mflr r0 -/* 800B97F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B97F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B97FC 3B E0 00 00 */ li r31, 0 -/* 800B9800 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800B9804 28 00 00 00 */ cmplwi r0, 0 -/* 800B9808 41 82 00 18 */ beq lbl_800B9820 -/* 800B980C 28 00 00 3B */ cmplwi r0, 0x3b -/* 800B9810 41 82 00 10 */ beq lbl_800B9820 -/* 800B9814 48 05 C4 0D */ bl checkEventRun__9daAlink_cCFv -/* 800B9818 2C 03 00 00 */ cmpwi r3, 0 -/* 800B981C 41 82 00 08 */ beq lbl_800B9824 -lbl_800B9820: -/* 800B9820 3B E0 00 01 */ li r31, 1 -lbl_800B9824: -/* 800B9824 7F E3 FB 78 */ mr r3, r31 -/* 800B9828 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B982C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B9830 7C 08 03 A6 */ mtlr r0 -/* 800B9834 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B9838 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGoronRide__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGoronRide__9daAlink_cFv.s deleted file mode 100644 index a9dffcc705..0000000000 --- a/asm/d/a/d_a_alink/checkGoronRide__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800A2280: -/* 800A2280 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A2284 7C 08 02 A6 */ mflr r0 -/* 800A2288 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A228C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A2290 7C 7F 1B 78 */ mr r31, r3 -/* 800A2294 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 800A2298 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800A229C 41 82 00 34 */ beq lbl_800A22D0 -/* 800A22A0 38 7F 1A 60 */ addi r3, r31, 0x1a60 -/* 800A22A4 38 80 00 00 */ li r4, 0 -/* 800A22A8 4B FF FF 39 */ bl getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi -/* 800A22AC 7C 60 07 34 */ extsh r0, r3 -/* 800A22B0 2C 00 00 21 */ cmpwi r0, 0x21 -/* 800A22B4 40 82 00 1C */ bne lbl_800A22D0 -/* 800A22B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A22BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A22C0 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 800A22C4 A0 9F 1A 62 */ lhz r4, 0x1a62(r31) -/* 800A22C8 4B FD 23 51 */ bl GetActorPointer__4cBgSCFi -/* 800A22CC 48 00 00 08 */ b lbl_800A22D4 -lbl_800A22D0: -/* 800A22D0 38 60 00 00 */ li r3, 0 -lbl_800A22D4: -/* 800A22D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A22D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A22DC 7C 08 03 A6 */ mtlr r0 -/* 800A22E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A22E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/commonCheckNextAction__9daAlink_cFi.s b/asm/d/a/d_a_alink/commonCheckNextAction__9daAlink_cFi.s deleted file mode 100644 index 9fb0f85215..0000000000 --- a/asm/d/a/d_a_alink/commonCheckNextAction__9daAlink_cFi.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800BA09C: -/* 800BA09C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BA0A0 7C 08 02 A6 */ mflr r0 -/* 800BA0A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BA0A8 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800BA0AC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800BA0B0 41 82 00 0C */ beq lbl_800BA0BC -/* 800BA0B4 48 06 FA 91 */ bl checkNextActionWolf__9daAlink_cFi -/* 800BA0B8 48 00 00 08 */ b lbl_800BA0C0 -lbl_800BA0BC: -/* 800BA0BC 48 00 00 15 */ bl checkNextAction__9daAlink_cFi -lbl_800BA0C0: -/* 800BA0C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BA0C4 7C 08 03 A6 */ mtlr r0 -/* 800BA0C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BA0CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/commonLineCheck__9daAlink_cFP4cXyzP4cXyz.s b/asm/d/a/d_a_alink/commonLineCheck__9daAlink_cFP4cXyzP4cXyz.s deleted file mode 100644 index c04476d05d..0000000000 --- a/asm/d/a/d_a_alink/commonLineCheck__9daAlink_cFP4cXyzP4cXyz.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800A2198: -/* 800A2198 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A219C 7C 08 02 A6 */ mflr r0 -/* 800A21A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A21A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A21A8 7C 7F 1B 78 */ mr r31, r3 -/* 800A21AC 38 7F 1B 48 */ addi r3, r31, 0x1b48 -/* 800A21B0 7F E6 FB 78 */ mr r6, r31 -/* 800A21B4 4B FD 5B B1 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 800A21B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A21BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A21C0 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 800A21C4 38 9F 1B 48 */ addi r4, r31, 0x1b48 -/* 800A21C8 4B FD 21 ED */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 800A21CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A21D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A21D4 7C 08 03 A6 */ mtlr r0 -/* 800A21D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A21DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi.s b/asm/d/a/d_a_alink/getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi.s deleted file mode 100644 index 9cf56cceb6..0000000000 --- a/asm/d/a/d_a_alink/getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_800A21E0: -/* 800A21E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A21E4 7C 08 02 A6 */ mflr r0 -/* 800A21E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A21EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A21F0 93 C1 00 08 */ stw r30, 8(r1) -/* 800A21F4 7C 7E 1B 78 */ mr r30, r3 -/* 800A21F8 2C 04 00 00 */ cmpwi r4, 0 -/* 800A21FC 40 82 00 20 */ bne lbl_800A221C -/* 800A2200 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A2204 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A2208 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 800A220C 7F C4 F3 78 */ mr r4, r30 -/* 800A2210 4B FD 24 51 */ bl ChkPolySafe__4cBgSFRC13cBgS_PolyInfo -/* 800A2214 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A2218 41 82 00 4C */ beq lbl_800A2264 -lbl_800A221C: -/* 800A221C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A2220 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A2224 3B E3 0F 38 */ addi r31, r3, 0xf38 -/* 800A2228 7F E3 FB 78 */ mr r3, r31 -/* 800A222C 7F C4 F3 78 */ mr r4, r30 -/* 800A2230 4B FD 29 11 */ bl ChkMoveBG_NoDABg__4dBgSFRC13cBgS_PolyInfo -/* 800A2234 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A2238 41 82 00 2C */ beq lbl_800A2264 -/* 800A223C 7F E3 FB 78 */ mr r3, r31 -/* 800A2240 A0 9E 00 02 */ lhz r4, 2(r30) -/* 800A2244 4B FD 23 D5 */ bl GetActorPointer__4cBgSCFi -/* 800A2248 28 03 00 00 */ cmplwi r3, 0 -/* 800A224C 41 82 00 18 */ beq lbl_800A2264 -/* 800A2250 7F E3 FB 78 */ mr r3, r31 -/* 800A2254 A0 9E 00 02 */ lhz r4, 2(r30) -/* 800A2258 4B FD 23 C1 */ bl GetActorPointer__4cBgSCFi -/* 800A225C A8 63 00 08 */ lha r3, 8(r3) -/* 800A2260 48 00 00 08 */ b lbl_800A2268 -lbl_800A2264: -/* 800A2264 38 60 00 FD */ li r3, 0xfd -lbl_800A2268: -/* 800A2268 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A226C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A2270 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A2274 7C 08 03 A6 */ mtlr r0 -/* 800A2278 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A227C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getStickAngleFromPlayerShape__9daAlink_cCFPs.s b/asm/d/a/d_a_alink/getStickAngleFromPlayerShape__9daAlink_cCFPs.s deleted file mode 100644 index dd3e36aecc..0000000000 --- a/asm/d/a/d_a_alink/getStickAngleFromPlayerShape__9daAlink_cCFPs.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800A2160: -/* 800A2160 C0 23 33 AC */ lfs f1, 0x33ac(r3) -/* 800A2164 C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 800A2168 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A216C 40 81 00 1C */ ble lbl_800A2188 -/* 800A2170 A8 A3 04 E6 */ lha r5, 0x4e6(r3) -/* 800A2174 A8 03 2F E2 */ lha r0, 0x2fe2(r3) -/* 800A2178 7C 05 00 50 */ subf r0, r5, r0 -/* 800A217C B0 04 00 00 */ sth r0, 0(r4) -/* 800A2180 38 60 00 01 */ li r3, 1 -/* 800A2184 4E 80 00 20 */ blr -lbl_800A2188: -/* 800A2188 38 00 00 00 */ li r0, 0 -/* 800A218C B0 04 00 00 */ sth r0, 0(r4) -/* 800A2190 38 60 00 00 */ li r3, 0 -/* 800A2194 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setIdxMask__9daAlink_cFPUsPUs.s b/asm/d/a/d_a_alink/setIdxMask__9daAlink_cFPUsPUs.s deleted file mode 100644 index d7fd0e9992..0000000000 --- a/asm/d/a/d_a_alink/setIdxMask__9daAlink_cFPUsPUs.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_800A3CE4: -/* 800A3CE4 A0 04 00 00 */ lhz r0, 0(r4) -/* 800A3CE8 28 00 FF FF */ cmplwi r0, 0xffff -/* 800A3CEC 4C 82 00 20 */ bnelr -/* 800A3CF0 A0 05 00 00 */ lhz r0, 0(r5) -/* 800A3CF4 54 03 A7 3F */ rlwinm. r3, r0, 0x14, 0x1c, 0x1f -/* 800A3CF8 54 00 05 3E */ clrlwi r0, r0, 0x14 -/* 800A3CFC B0 05 00 00 */ sth r0, 0(r5) -/* 800A3D00 4D 82 00 20 */ beqlr -/* 800A3D04 B0 64 00 00 */ sth r3, 0(r4) -/* 800A3D08 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setItemHeap__9daAlink_cFv.s b/asm/d/a/d_a_alink/setItemHeap__9daAlink_cFv.s deleted file mode 100644 index a29c1da9dd..0000000000 --- a/asm/d/a/d_a_alink/setItemHeap__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800A3C8C: -/* 800A3C8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A3C90 7C 08 02 A6 */ mflr r0 -/* 800A3C94 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A3C98 7C 64 1B 78 */ mr r4, r3 -/* 800A3C9C 80 03 05 80 */ lwz r0, 0x580(r3) -/* 800A3CA0 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 -/* 800A3CA4 40 82 00 1C */ bne lbl_800A3CC0 -/* 800A3CA8 88 04 2F A0 */ lbz r0, 0x2fa0(r4) -/* 800A3CAC 68 00 00 01 */ xori r0, r0, 1 -/* 800A3CB0 98 04 2F A0 */ stb r0, 0x2fa0(r4) -/* 800A3CB4 80 04 05 80 */ lwz r0, 0x580(r4) -/* 800A3CB8 60 00 40 00 */ ori r0, r0, 0x4000 -/* 800A3CBC 90 04 05 80 */ stw r0, 0x580(r4) -lbl_800A3CC0: -/* 800A3CC0 88 04 2F A0 */ lbz r0, 0x2fa0(r4) -/* 800A3CC4 1C 60 00 14 */ mulli r3, r0, 0x14 -/* 800A3CC8 38 63 21 B0 */ addi r3, r3, 0x21b0 -/* 800A3CCC 7C 64 1A 14 */ add r3, r4, r3 -/* 800A3CD0 48 0B B4 99 */ bl setAnimeHeap__14daPy_anmHeap_cFv -/* 800A3CD4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A3CD8 7C 08 03 A6 */ mtlr r0 -/* 800A3CDC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A3CE0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPA4_f.s b/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPA4_f.s deleted file mode 100644 index e25645aa50..0000000000 --- a/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPA4_f.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_800B24F4: -/* 800B24F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B24F8 7C 08 02 A6 */ mflr r0 -/* 800B24FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B2500 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B2504 93 C1 00 08 */ stw r30, 8(r1) -/* 800B2508 7C 7E 1B 78 */ mr r30, r3 -/* 800B250C 7C 9F 23 78 */ mr r31, r4 -/* 800B2510 48 06 37 11 */ bl checkEventRun__9daAlink_cCFv -/* 800B2514 2C 03 00 00 */ cmpwi r3, 0 -/* 800B2518 40 82 00 10 */ bne lbl_800B2528 -/* 800B251C 88 1E 05 6A */ lbz r0, 0x56a(r30) -/* 800B2520 28 00 00 00 */ cmplwi r0, 0 -/* 800B2524 41 82 00 90 */ beq lbl_800B25B4 -lbl_800B2528: -/* 800B2528 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 800B252C D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 800B2530 C0 1F 00 1C */ lfs f0, 0x1c(r31) -/* 800B2534 D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -/* 800B2538 C0 1F 00 2C */ lfs f0, 0x2c(r31) -/* 800B253C D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 800B2540 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 800B2544 D0 1E 04 BC */ stfs f0, 0x4bc(r30) -/* 800B2548 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 800B254C D0 1E 04 C0 */ stfs f0, 0x4c0(r30) -/* 800B2550 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 800B2554 D0 1E 04 C4 */ stfs f0, 0x4c4(r30) -/* 800B2558 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 800B255C D0 1E 37 98 */ stfs f0, 0x3798(r30) -/* 800B2560 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 800B2564 D0 1E 37 9C */ stfs f0, 0x379c(r30) -/* 800B2568 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 800B256C D0 1E 37 A0 */ stfs f0, 0x37a0(r30) -/* 800B2570 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800B2574 64 00 00 80 */ oris r0, r0, 0x80 -/* 800B2578 90 1E 05 88 */ stw r0, 0x588(r30) -/* 800B257C 80 1E 05 90 */ lwz r0, 0x590(r30) -/* 800B2580 60 00 01 00 */ ori r0, r0, 0x100 -/* 800B2584 90 1E 05 90 */ stw r0, 0x590(r30) -/* 800B2588 7F E3 FB 78 */ mr r3, r31 -/* 800B258C 38 9E 04 E4 */ addi r4, r30, 0x4e4 -/* 800B2590 4B F5 A6 71 */ bl mDoMtx_MtxToRot__FPA4_CfP5csXyz -/* 800B2594 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800B2598 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800B259C A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800B25A0 B0 1E 2F E6 */ sth r0, 0x2fe6(r30) -/* 800B25A4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800B25A8 D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 800B25AC 38 7E 08 14 */ addi r3, r30, 0x814 -/* 800B25B0 48 1B 13 AD */ bl ClrCcMove__9cCcD_SttsFv -lbl_800B25B4: -/* 800B25B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B25B8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800B25BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B25C0 7C 08 03 A6 */ mtlr r0 -/* 800B25C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B25C8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz.s b/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz.s deleted file mode 100644 index b69f4ade85..0000000000 --- a/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_800B23FC: -/* 800B23FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800B2400 7C 08 02 A6 */ mflr r0 -/* 800B2404 90 01 00 24 */ stw r0, 0x24(r1) -/* 800B2408 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B240C 48 2A FD D1 */ bl _savegpr_29 -/* 800B2410 7C 7D 1B 78 */ mr r29, r3 -/* 800B2414 7C 9E 23 78 */ mr r30, r4 -/* 800B2418 7C BF 2B 78 */ mr r31, r5 -/* 800B241C 48 06 38 05 */ bl checkEventRun__9daAlink_cCFv -/* 800B2420 2C 03 00 00 */ cmpwi r3, 0 -/* 800B2424 40 82 00 10 */ bne lbl_800B2434 -/* 800B2428 88 1D 05 6A */ lbz r0, 0x56a(r29) -/* 800B242C 28 00 00 00 */ cmplwi r0, 0 -/* 800B2430 41 82 00 AC */ beq lbl_800B24DC -lbl_800B2434: -/* 800B2434 28 1E 00 00 */ cmplwi r30, 0 -/* 800B2438 41 82 00 6C */ beq lbl_800B24A4 -/* 800B243C C0 1E 00 00 */ lfs f0, 0(r30) -/* 800B2440 D0 1D 04 D0 */ stfs f0, 0x4d0(r29) -/* 800B2444 C0 1E 00 04 */ lfs f0, 4(r30) -/* 800B2448 D0 1D 04 D4 */ stfs f0, 0x4d4(r29) -/* 800B244C C0 1E 00 08 */ lfs f0, 8(r30) -/* 800B2450 D0 1D 04 D8 */ stfs f0, 0x4d8(r29) -/* 800B2454 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 800B2458 D0 1D 04 BC */ stfs f0, 0x4bc(r29) -/* 800B245C C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 800B2460 D0 1D 04 C0 */ stfs f0, 0x4c0(r29) -/* 800B2464 C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 800B2468 D0 1D 04 C4 */ stfs f0, 0x4c4(r29) -/* 800B246C C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 800B2470 D0 1D 37 98 */ stfs f0, 0x3798(r29) -/* 800B2474 C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 800B2478 D0 1D 37 9C */ stfs f0, 0x379c(r29) -/* 800B247C C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 800B2480 D0 1D 37 A0 */ stfs f0, 0x37a0(r29) -/* 800B2484 80 1D 05 88 */ lwz r0, 0x588(r29) -/* 800B2488 64 00 00 80 */ oris r0, r0, 0x80 -/* 800B248C 90 1D 05 88 */ stw r0, 0x588(r29) -/* 800B2490 80 1D 05 90 */ lwz r0, 0x590(r29) -/* 800B2494 60 00 01 00 */ ori r0, r0, 0x100 -/* 800B2498 90 1D 05 90 */ stw r0, 0x590(r29) -/* 800B249C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800B24A0 D0 1D 04 FC */ stfs f0, 0x4fc(r29) -lbl_800B24A4: -/* 800B24A4 28 1F 00 00 */ cmplwi r31, 0 -/* 800B24A8 41 82 00 2C */ beq lbl_800B24D4 -/* 800B24AC A8 1F 00 00 */ lha r0, 0(r31) -/* 800B24B0 B0 1D 04 E4 */ sth r0, 0x4e4(r29) -/* 800B24B4 A8 1F 00 02 */ lha r0, 2(r31) -/* 800B24B8 B0 1D 04 E6 */ sth r0, 0x4e6(r29) -/* 800B24BC A8 1F 00 04 */ lha r0, 4(r31) -/* 800B24C0 B0 1D 04 E8 */ sth r0, 0x4e8(r29) -/* 800B24C4 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 800B24C8 B0 1D 04 DE */ sth r0, 0x4de(r29) -/* 800B24CC A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 800B24D0 B0 1D 2F E6 */ sth r0, 0x2fe6(r29) -lbl_800B24D4: -/* 800B24D4 38 7D 08 14 */ addi r3, r29, 0x814 -/* 800B24D8 48 1B 14 85 */ bl ClrCcMove__9cCcD_SttsFv -lbl_800B24DC: -/* 800B24DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B24E0 48 2A FD 49 */ bl _restgpr_29 -/* 800B24E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800B24E8 7C 08 03 A6 */ mtlr r0 -/* 800B24EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800B24F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c.s b/asm/d/a/d_a_player/cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c.s deleted file mode 100644 index aa1fb05061..0000000000 --- a/asm/d/a/d_a_player/cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8015F8E4: -/* 8015F8E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F8E8 7C 08 02 A6 */ mflr r0 -/* 8015F8EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F8F0 7C 64 1B 78 */ mr r4, r3 -/* 8015F8F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F8F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F8FC 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F900 4B F8 08 CD */ bl cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c -/* 8015F904 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F908 7C 08 03 A6 */ mtlr r0 -/* 8015F90C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F910 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/cancelFmChainGrab__9daPy_py_cFv.s b/asm/d/a/d_a_player/cancelFmChainGrab__9daPy_py_cFv.s deleted file mode 100644 index eb0cacd4c0..0000000000 --- a/asm/d/a/d_a_player/cancelFmChainGrab__9daPy_py_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8015F4B8: -/* 8015F4B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F4BC 7C 08 02 A6 */ mflr r0 -/* 8015F4C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F4C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F4C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F4CC 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F4D0 38 00 00 00 */ li r0, 0 -/* 8015F4D4 98 03 2F A3 */ stb r0, 0x2fa3(r3) -/* 8015F4D8 38 63 28 44 */ addi r3, r3, 0x2844 -/* 8015F4DC 4B FF F8 21 */ bl clearData__16daPy_actorKeep_cFv -/* 8015F4E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F4E4 7C 08 03 A6 */ mtlr r0 -/* 8015F4E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F4EC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkBoomerangCharge__9daPy_py_cFv.s b/asm/d/a/d_a_player/checkBoomerangCharge__9daPy_py_cFv.s deleted file mode 100644 index c5807571b5..0000000000 --- a/asm/d/a/d_a_player/checkBoomerangCharge__9daPy_py_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8015F89C: -/* 8015F89C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F8A0 7C 08 02 A6 */ mflr r0 -/* 8015F8A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F8A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F8AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F8B0 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F8B4 4B F8 09 91 */ bl checkBoomerangChargeEnd__9daAlink_cFv -/* 8015F8B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F8BC 7C 08 03 A6 */ mtlr r0 -/* 8015F8C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F8C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s deleted file mode 100644 index b8c3805157..0000000000 --- a/asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8015EA88: -/* 8015EA88 38 00 00 00 */ li r0, 0 -/* 8015EA8C 2C 03 00 60 */ cmpwi r3, 0x60 -/* 8015EA90 41 80 00 0C */ blt lbl_8015EA9C -/* 8015EA94 2C 03 00 6C */ cmpwi r3, 0x6c -/* 8015EA98 40 81 00 34 */ ble lbl_8015EACC -lbl_8015EA9C: -/* 8015EA9C 2C 03 00 76 */ cmpwi r3, 0x76 -/* 8015EAA0 41 82 00 2C */ beq lbl_8015EACC -/* 8015EAA4 2C 03 00 74 */ cmpwi r3, 0x74 -/* 8015EAA8 41 82 00 24 */ beq lbl_8015EACC -/* 8015EAAC 2C 03 00 73 */ cmpwi r3, 0x73 -/* 8015EAB0 41 82 00 1C */ beq lbl_8015EACC -/* 8015EAB4 2C 03 00 9F */ cmpwi r3, 0x9f -/* 8015EAB8 41 82 00 14 */ beq lbl_8015EACC -/* 8015EABC 2C 03 00 77 */ cmpwi r3, 0x77 -/* 8015EAC0 41 80 00 10 */ blt lbl_8015EAD0 -/* 8015EAC4 2C 03 00 7F */ cmpwi r3, 0x7f -/* 8015EAC8 41 81 00 08 */ bgt lbl_8015EAD0 -lbl_8015EACC: -/* 8015EACC 38 00 00 01 */ li r0, 1 -lbl_8015EAD0: -/* 8015EAD0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EAD4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s b/asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s deleted file mode 100644 index a29c246b71..0000000000 --- a/asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_8015F698: -/* 8015F698 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F69C 7C 08 02 A6 */ mflr r0 -/* 8015F6A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F6A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015F6A8 4B FF FF B9 */ bl checkRoomRestartStart__9daPy_py_cFv -/* 8015F6AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015F6B0 40 82 00 54 */ bne lbl_8015F704 -/* 8015F6B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F6B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F6BC 37 E3 4E 20 */ addic. r31, r3, 0x4e20 -/* 8015F6C0 41 82 00 44 */ beq lbl_8015F704 -/* 8015F6C4 7F E3 FB 78 */ mr r3, r31 -/* 8015F6C8 81 9F 00 00 */ lwz r12, 0(r31) -/* 8015F6CC 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8015F6D0 7D 89 03 A6 */ mtctr r12 -/* 8015F6D4 4E 80 04 21 */ bctrl -/* 8015F6D8 28 03 00 00 */ cmplwi r3, 0 -/* 8015F6DC 41 82 00 28 */ beq lbl_8015F704 -/* 8015F6E0 7F E3 FB 78 */ mr r3, r31 -/* 8015F6E4 81 9F 00 00 */ lwz r12, 0(r31) -/* 8015F6E8 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8015F6EC 7D 89 03 A6 */ mtctr r12 -/* 8015F6F0 4E 80 04 21 */ bctrl -/* 8015F6F4 88 03 00 09 */ lbz r0, 9(r3) -/* 8015F6F8 54 00 FE FE */ rlwinm r0, r0, 0x1f, 0x1b, 0x1f -/* 8015F6FC 2C 00 00 17 */ cmpwi r0, 0x17 -/* 8015F700 41 82 00 0C */ beq lbl_8015F70C -lbl_8015F704: -/* 8015F704 38 60 00 00 */ li r3, 0 -/* 8015F708 48 00 00 14 */ b lbl_8015F71C -lbl_8015F70C: -/* 8015F70C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F710 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F714 80 03 0D D0 */ lwz r0, 0xdd0(r3) -/* 8015F718 54 03 02 D6 */ rlwinm r3, r0, 0, 0xb, 0xb -lbl_8015F71C: -/* 8015F71C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015F720 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F724 7C 08 03 A6 */ mtlr r0 -/* 8015F728 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F72C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s b/asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s deleted file mode 100644 index c3c41764e7..0000000000 --- a/asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_8015F730: -/* 8015F730 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F734 7C 08 02 A6 */ mflr r0 -/* 8015F738 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F73C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015F740 4B FF FF 21 */ bl checkRoomRestartStart__9daPy_py_cFv -/* 8015F744 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015F748 40 82 00 54 */ bne lbl_8015F79C -/* 8015F74C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F750 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F754 37 E3 4E 20 */ addic. r31, r3, 0x4e20 -/* 8015F758 41 82 00 44 */ beq lbl_8015F79C -/* 8015F75C 7F E3 FB 78 */ mr r3, r31 -/* 8015F760 81 9F 00 00 */ lwz r12, 0(r31) -/* 8015F764 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8015F768 7D 89 03 A6 */ mtctr r12 -/* 8015F76C 4E 80 04 21 */ bctrl -/* 8015F770 28 03 00 00 */ cmplwi r3, 0 -/* 8015F774 41 82 00 28 */ beq lbl_8015F79C -/* 8015F778 7F E3 FB 78 */ mr r3, r31 -/* 8015F77C 81 9F 00 00 */ lwz r12, 0(r31) -/* 8015F780 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8015F784 7D 89 03 A6 */ mtctr r12 -/* 8015F788 4E 80 04 21 */ bctrl -/* 8015F78C 88 03 00 09 */ lbz r0, 9(r3) -/* 8015F790 54 00 FE FE */ rlwinm r0, r0, 0x1f, 0x1b, 0x1f -/* 8015F794 2C 00 00 17 */ cmpwi r0, 0x17 -/* 8015F798 41 82 00 0C */ beq lbl_8015F7A4 -lbl_8015F79C: -/* 8015F79C 38 60 00 00 */ li r3, 0 -/* 8015F7A0 48 00 00 14 */ b lbl_8015F7B4 -lbl_8015F7A4: -/* 8015F7A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F7A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F7AC 80 03 0D D0 */ lwz r0, 0xdd0(r3) -/* 8015F7B0 54 03 03 18 */ rlwinm r3, r0, 0, 0xc, 0xc -lbl_8015F7B4: -/* 8015F7B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015F7B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F7BC 7C 08 03 A6 */ mtlr r0 -/* 8015F7C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F7C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkDrinkBottleItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkDrinkBottleItem__9daPy_py_cFi.s deleted file mode 100644 index 80ba12255d..0000000000 --- a/asm/d/a/d_a_player/checkDrinkBottleItem__9daPy_py_cFi.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8015EAD8: -/* 8015EAD8 38 00 00 00 */ li r0, 0 -/* 8015EADC 2C 03 00 61 */ cmpwi r3, 0x61 -/* 8015EAE0 41 80 00 0C */ blt lbl_8015EAEC -/* 8015EAE4 2C 03 00 65 */ cmpwi r3, 0x65 -/* 8015EAE8 40 81 00 4C */ ble lbl_8015EB34 -lbl_8015EAEC: -/* 8015EAEC 2C 03 00 69 */ cmpwi r3, 0x69 -/* 8015EAF0 41 82 00 44 */ beq lbl_8015EB34 -/* 8015EAF4 2C 03 00 6A */ cmpwi r3, 0x6a -/* 8015EAF8 41 82 00 3C */ beq lbl_8015EB34 -/* 8015EAFC 2C 03 00 6B */ cmpwi r3, 0x6b -/* 8015EB00 41 82 00 34 */ beq lbl_8015EB34 -/* 8015EB04 2C 03 00 76 */ cmpwi r3, 0x76 -/* 8015EB08 41 82 00 2C */ beq lbl_8015EB34 -/* 8015EB0C 2C 03 00 9F */ cmpwi r3, 0x9f -/* 8015EB10 41 82 00 24 */ beq lbl_8015EB34 -/* 8015EB14 2C 03 00 73 */ cmpwi r3, 0x73 -/* 8015EB18 41 82 00 1C */ beq lbl_8015EB34 -/* 8015EB1C 2C 03 00 77 */ cmpwi r3, 0x77 -/* 8015EB20 41 80 00 18 */ blt lbl_8015EB38 -/* 8015EB24 2C 03 00 7B */ cmpwi r3, 0x7b -/* 8015EB28 41 82 00 10 */ beq lbl_8015EB38 -/* 8015EB2C 2C 03 00 7F */ cmpwi r3, 0x7f -/* 8015EB30 41 81 00 08 */ bgt lbl_8015EB38 -lbl_8015EB34: -/* 8015EB34 38 00 00 01 */ li r0, 1 -lbl_8015EB38: -/* 8015EB38 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EB3C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkFishingRodItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkFishingRodItem__9daPy_py_cFi.s deleted file mode 100644 index f872a1b328..0000000000 --- a/asm/d/a/d_a_player/checkFishingRodItem__9daPy_py_cFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8015EA20: -/* 8015EA20 38 00 00 00 */ li r0, 0 -/* 8015EA24 2C 03 00 4A */ cmpwi r3, 0x4a -/* 8015EA28 41 82 00 14 */ beq lbl_8015EA3C -/* 8015EA2C 2C 03 00 5B */ cmpwi r3, 0x5b -/* 8015EA30 41 80 00 10 */ blt lbl_8015EA40 -/* 8015EA34 2C 03 00 5F */ cmpwi r3, 0x5f -/* 8015EA38 41 81 00 08 */ bgt lbl_8015EA40 -lbl_8015EA3C: -/* 8015EA3C 38 00 00 01 */ li r0, 1 -lbl_8015EA40: -/* 8015EA40 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EA44 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkRoomRestartStart__9daPy_py_cFv.s b/asm/d/a/d_a_player/checkRoomRestartStart__9daPy_py_cFv.s deleted file mode 100644 index ead000b475..0000000000 --- a/asm/d/a/d_a_player/checkRoomRestartStart__9daPy_py_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8015F660: -/* 8015F660 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F664 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F668 80 03 0D D0 */ lwz r0, 0xdd0(r3) -/* 8015F66C 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 8015F670 28 00 00 04 */ cmplwi r0, 4 -/* 8015F674 41 82 00 14 */ beq lbl_8015F688 -/* 8015F678 28 00 00 08 */ cmplwi r0, 8 -/* 8015F67C 41 82 00 0C */ beq lbl_8015F688 -/* 8015F680 28 00 00 05 */ cmplwi r0, 5 -/* 8015F684 40 82 00 0C */ bne lbl_8015F690 -lbl_8015F688: -/* 8015F688 38 60 00 01 */ li r3, 1 -/* 8015F68C 4E 80 00 20 */ blr -lbl_8015F690: -/* 8015F690 38 60 00 00 */ li r3, 0 -/* 8015F694 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkTradeItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkTradeItem__9daPy_py_cFi.s deleted file mode 100644 index cd0d33792f..0000000000 --- a/asm/d/a/d_a_player/checkTradeItem__9daPy_py_cFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8015EBD8: -/* 8015EBD8 38 00 00 00 */ li r0, 0 -/* 8015EBDC 2C 03 00 80 */ cmpwi r3, 0x80 -/* 8015EBE0 41 80 00 0C */ blt lbl_8015EBEC -/* 8015EBE4 2C 03 00 83 */ cmpwi r3, 0x83 -/* 8015EBE8 40 81 00 34 */ ble lbl_8015EC1C -lbl_8015EBEC: -/* 8015EBEC 2C 03 00 E9 */ cmpwi r3, 0xe9 -/* 8015EBF0 41 82 00 2C */ beq lbl_8015EC1C -/* 8015EBF4 2C 03 00 EA */ cmpwi r3, 0xea -/* 8015EBF8 41 82 00 24 */ beq lbl_8015EC1C -/* 8015EBFC 2C 03 00 EB */ cmpwi r3, 0xeb -/* 8015EC00 41 82 00 1C */ beq lbl_8015EC1C -/* 8015EC04 2C 03 00 90 */ cmpwi r3, 0x90 -/* 8015EC08 41 82 00 14 */ beq lbl_8015EC1C -/* 8015EC0C 2C 03 00 2D */ cmpwi r3, 0x2d -/* 8015EC10 41 82 00 0C */ beq lbl_8015EC1C -/* 8015EC14 2C 03 00 91 */ cmpwi r3, 0x91 -/* 8015EC18 40 82 00 08 */ bne lbl_8015EC20 -lbl_8015EC1C: -/* 8015EC1C 38 00 00 01 */ li r0, 1 -lbl_8015EC20: -/* 8015EC20 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EC24 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE.s b/asm/d/a/d_a_player/createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE.s deleted file mode 100644 index 7488dc28cf..0000000000 --- a/asm/d/a/d_a_player/createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE.s +++ /dev/null @@ -1,108 +0,0 @@ -lbl_8015EE00: -/* 8015EE00 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015EE04 7C 08 02 A6 */ mflr r0 -/* 8015EE08 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015EE0C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015EE10 48 20 33 CD */ bl _savegpr_29 -/* 8015EE14 7C 7D 1B 78 */ mr r29, r3 -/* 8015EE18 7C 9E 23 78 */ mr r30, r4 -/* 8015EE1C 2C 1E 00 04 */ cmpwi r30, 4 -/* 8015EE20 40 82 00 0C */ bne lbl_8015EE2C -/* 8015EE24 83 FD 00 08 */ lwz r31, 8(r29) -/* 8015EE28 48 00 00 38 */ b lbl_8015EE60 -lbl_8015EE2C: -/* 8015EE2C 2C 1E 00 03 */ cmpwi r30, 3 -/* 8015EE30 40 82 00 0C */ bne lbl_8015EE3C -/* 8015EE34 3B E0 00 50 */ li r31, 0x50 -/* 8015EE38 48 00 00 28 */ b lbl_8015EE60 -lbl_8015EE3C: -/* 8015EE3C 2C 1E 00 00 */ cmpwi r30, 0 -/* 8015EE40 40 82 00 0C */ bne lbl_8015EE4C -/* 8015EE44 3B E0 00 40 */ li r31, 0x40 -/* 8015EE48 48 00 00 18 */ b lbl_8015EE60 -lbl_8015EE4C: -/* 8015EE4C 2C 1E 00 01 */ cmpwi r30, 1 -/* 8015EE50 40 82 00 0C */ bne lbl_8015EE5C -/* 8015EE54 3B E0 00 40 */ li r31, 0x40 -/* 8015EE58 48 00 00 08 */ b lbl_8015EE60 -lbl_8015EE5C: -/* 8015EE5C 3B E0 00 A0 */ li r31, 0xa0 -lbl_8015EE60: -/* 8015EE60 38 61 00 08 */ addi r3, r1, 8 -/* 8015EE64 7F E4 FB 78 */ mr r4, r31 -/* 8015EE68 38 A0 00 20 */ li r5, 0x20 -/* 8015EE6C 4B EB 01 89 */ bl mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl -/* 8015EE70 90 7D 00 10 */ stw r3, 0x10(r29) -/* 8015EE74 2C 1E 00 04 */ cmpwi r30, 4 -/* 8015EE78 40 82 00 10 */ bne lbl_8015EE88 -/* 8015EE7C 7F E3 FB 78 */ mr r3, r31 -/* 8015EE80 48 16 FE 45 */ bl __nwa__FUl -/* 8015EE84 48 00 00 D8 */ b lbl_8015EF5C -lbl_8015EE88: -/* 8015EE88 2C 1E 00 03 */ cmpwi r30, 3 -/* 8015EE8C 40 82 00 54 */ bne lbl_8015EEE0 -/* 8015EE90 38 60 00 2C */ li r3, 0x2c -/* 8015EE94 48 16 FD B9 */ bl __nw__FUl -/* 8015EE98 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8015EE9C 41 82 00 C0 */ beq lbl_8015EF5C -/* 8015EEA0 38 80 00 00 */ li r4, 0 -/* 8015EEA4 38 A0 00 00 */ li r5, 0 -/* 8015EEA8 38 C0 00 00 */ li r6, 0 -/* 8015EEAC 38 E0 00 00 */ li r7, 0 -/* 8015EEB0 48 1C 9F 91 */ bl __ct__15J3DAnmTransformFsPfPsPf -/* 8015EEB4 3C 60 80 3A */ lis r3, __vt__18J3DAnmTransformKey@ha /* 0x803A7C70@ha */ -/* 8015EEB8 38 03 7C 70 */ addi r0, r3, __vt__18J3DAnmTransformKey@l /* 0x803A7C70@l */ -/* 8015EEBC 90 1F 00 00 */ stw r0, 0(r31) -/* 8015EEC0 38 80 00 00 */ li r4, 0 -/* 8015EEC4 90 9F 00 20 */ stw r4, 0x20(r31) -/* 8015EEC8 90 9F 00 24 */ stw r4, 0x24(r31) -/* 8015EECC 3C 60 80 3A */ lis r3, __vt__18mDoExt_transAnmBas@ha /* 0x803A7C5C@ha */ -/* 8015EED0 38 03 7C 5C */ addi r0, r3, __vt__18mDoExt_transAnmBas@l /* 0x803A7C5C@l */ -/* 8015EED4 90 1F 00 00 */ stw r0, 0(r31) -/* 8015EED8 90 9F 00 28 */ stw r4, 0x28(r31) -/* 8015EEDC 48 00 00 80 */ b lbl_8015EF5C -lbl_8015EEE0: -/* 8015EEE0 2C 1E 00 00 */ cmpwi r30, 0 -/* 8015EEE4 40 82 00 44 */ bne lbl_8015EF28 -/* 8015EEE8 38 60 00 28 */ li r3, 0x28 -/* 8015EEEC 48 16 FD 61 */ bl __nw__FUl -/* 8015EEF0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8015EEF4 41 82 00 68 */ beq lbl_8015EF5C -/* 8015EEF8 38 80 00 00 */ li r4, 0 -/* 8015EEFC 38 A0 00 00 */ li r5, 0 -/* 8015EF00 38 C0 00 00 */ li r6, 0 -/* 8015EF04 38 E0 00 00 */ li r7, 0 -/* 8015EF08 48 1C 9F 39 */ bl __ct__15J3DAnmTransformFsPfPsPf -/* 8015EF0C 3C 60 80 3A */ lis r3, __vt__18J3DAnmTransformKey@ha /* 0x803A7C70@ha */ -/* 8015EF10 38 03 7C 70 */ addi r0, r3, __vt__18J3DAnmTransformKey@l /* 0x803A7C70@l */ -/* 8015EF14 90 1F 00 00 */ stw r0, 0(r31) -/* 8015EF18 38 00 00 00 */ li r0, 0 -/* 8015EF1C 90 1F 00 20 */ stw r0, 0x20(r31) -/* 8015EF20 90 1F 00 24 */ stw r0, 0x24(r31) -/* 8015EF24 48 00 00 38 */ b lbl_8015EF5C -lbl_8015EF28: -/* 8015EF28 2C 1E 00 01 */ cmpwi r30, 1 -/* 8015EF2C 40 82 00 1C */ bne lbl_8015EF48 -/* 8015EF30 38 60 00 2C */ li r3, 0x2c -/* 8015EF34 48 16 FD 19 */ bl __nw__FUl -/* 8015EF38 28 03 00 00 */ cmplwi r3, 0 -/* 8015EF3C 41 82 00 20 */ beq lbl_8015EF5C -/* 8015EF40 48 1C BF 99 */ bl __ct__16J3DAnmTexPatternFv -/* 8015EF44 48 00 00 18 */ b lbl_8015EF5C -lbl_8015EF48: -/* 8015EF48 38 60 00 7C */ li r3, 0x7c -/* 8015EF4C 48 16 FD 01 */ bl __nw__FUl -/* 8015EF50 28 03 00 00 */ cmplwi r3, 0 -/* 8015EF54 41 82 00 08 */ beq lbl_8015EF5C -/* 8015EF58 48 1C AF 05 */ bl __ct__19J3DAnmTextureSRTKeyFv -lbl_8015EF5C: -/* 8015EF5C 80 61 00 08 */ lwz r3, 8(r1) -/* 8015EF60 4B EB 02 6D */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8015EF64 80 7D 00 10 */ lwz r3, 0x10(r29) -/* 8015EF68 4B EB 01 25 */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap -/* 8015EF6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015EF70 48 20 32 B9 */ bl _restgpr_29 -/* 8015EF74 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015EF78 7C 08 03 A6 */ mtlr r0 -/* 8015EF7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015EF80 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/forceRestartRoom__9daPy_py_cFiUli.s b/asm/d/a/d_a_player/forceRestartRoom__9daPy_py_cFiUli.s deleted file mode 100644 index 7e053b7946..0000000000 --- a/asm/d/a/d_a_player/forceRestartRoom__9daPy_py_cFiUli.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8015F438: -/* 8015F438 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F43C 7C 08 02 A6 */ mflr r0 -/* 8015F440 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F444 7C 66 1B 78 */ mr r6, r3 -/* 8015F448 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F44C 38 E3 61 C0 */ addi r7, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F450 80 67 5D B4 */ lwz r3, 0x5db4(r7) -/* 8015F454 88 E7 4F AD */ lbz r7, 0x4fad(r7) -/* 8015F458 30 07 FF FF */ addic r0, r7, -1 -/* 8015F45C 7C 00 39 10 */ subfe r0, r0, r7 -/* 8015F460 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 8015F464 4B F5 EA FD */ bl startRestartRoom__9daAlink_cFUliii -/* 8015F468 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F46C 7C 08 03 A6 */ mtlr r0 -/* 8015F470 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F474 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/loadData__14daPy_anmHeap_cFUs.s b/asm/d/a/d_a_player/loadData__14daPy_anmHeap_cFUs.s deleted file mode 100644 index f840927f06..0000000000 --- a/asm/d/a/d_a_player/loadData__14daPy_anmHeap_cFUs.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_8015EF84: -/* 8015EF84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015EF88 7C 08 02 A6 */ mflr r0 -/* 8015EF8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015EF90 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015EF94 93 C1 00 08 */ stw r30, 8(r1) -/* 8015EF98 7C 7E 1B 78 */ mr r30, r3 -/* 8015EF9C 7C 86 23 78 */ mr r6, r4 -/* 8015EFA0 A0 03 00 04 */ lhz r0, 4(r3) -/* 8015EFA4 28 00 FF FF */ cmplwi r0, 0xffff -/* 8015EFA8 40 82 00 4C */ bne lbl_8015EFF4 -/* 8015EFAC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015EFB0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015EFB4 80 63 5C AC */ lwz r3, 0x5cac(r3) -/* 8015EFB8 80 9E 00 0C */ lwz r4, 0xc(r30) -/* 8015EFBC 80 BE 00 08 */ lwz r5, 8(r30) -/* 8015EFC0 54 C6 04 3E */ clrlwi r6, r6, 0x10 -/* 8015EFC4 48 17 6F 09 */ bl readIdxResource__10JKRArchiveFPvUlUl -/* 8015EFC8 7F C3 F3 78 */ mr r3, r30 -/* 8015EFCC 48 00 01 9D */ bl setAnimeHeap__14daPy_anmHeap_cFv -/* 8015EFD0 7C 7F 1B 78 */ mr r31, r3 -/* 8015EFD4 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8015EFD8 38 80 00 00 */ li r4, 0 -/* 8015EFDC 48 1D 8B 65 */ bl load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag -/* 8015EFE0 7C 7E 1B 78 */ mr r30, r3 -/* 8015EFE4 7F E3 FB 78 */ mr r3, r31 -/* 8015EFE8 4B EB 01 E5 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8015EFEC 7F C3 F3 78 */ mr r3, r30 -/* 8015EFF0 48 00 00 60 */ b lbl_8015F050 -lbl_8015EFF4: -/* 8015EFF4 28 00 00 00 */ cmplwi r0, 0 -/* 8015EFF8 40 82 00 28 */ bne lbl_8015F020 -/* 8015EFFC 3C 60 80 40 */ lis r3, mDemoArcName__20dStage_roomControl_c@ha /* 0x80406194@ha */ -/* 8015F000 38 63 61 94 */ addi r3, r3, mDemoArcName__20dStage_roomControl_c@l /* 0x80406194@l */ -/* 8015F004 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F008 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F00C 3C A5 00 02 */ addis r5, r5, 2 -/* 8015F010 38 C0 00 80 */ li r6, 0x80 -/* 8015F014 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 8015F018 4B ED D3 E9 */ bl getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci -/* 8015F01C 48 00 00 34 */ b lbl_8015F050 -lbl_8015F020: -/* 8015F020 3C 60 80 3C */ lis r3, arcName@ha /* 0x803BA0A0@ha */ -/* 8015F024 38 63 A0 A0 */ addi r3, r3, arcName@l /* 0x803BA0A0@l */ -/* 8015F028 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 8015F02C 7C 63 02 14 */ add r3, r3, r0 -/* 8015F030 80 63 FF FC */ lwz r3, -4(r3) -/* 8015F034 54 C4 04 3E */ clrlwi r4, r6, 0x10 -/* 8015F038 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F03C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F040 3C A5 00 02 */ addis r5, r5, 2 -/* 8015F044 38 C0 00 80 */ li r6, 0x80 -/* 8015F048 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 8015F04C 4B ED D2 A1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -lbl_8015F050: -/* 8015F050 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015F054 83 C1 00 08 */ lwz r30, 8(r1) -/* 8015F058 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F05C 7C 08 03 A6 */ mtlr r0 -/* 8015F060 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F064 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/mallocBuffer__14daPy_anmHeap_cFv.s b/asm/d/a/d_a_player/mallocBuffer__14daPy_anmHeap_cFv.s deleted file mode 100644 index 68735ad05b..0000000000 --- a/asm/d/a/d_a_player/mallocBuffer__14daPy_anmHeap_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8015EDC4: -/* 8015EDC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015EDC8 7C 08 02 A6 */ mflr r0 -/* 8015EDCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015EDD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015EDD4 7C 7F 1B 78 */ mr r31, r3 -/* 8015EDD8 80 63 00 08 */ lwz r3, 8(r3) -/* 8015EDDC 38 80 00 20 */ li r4, 0x20 -/* 8015EDE0 48 16 FF 0D */ bl __nwa__FUli -/* 8015EDE4 90 7F 00 0C */ stw r3, 0xc(r31) -/* 8015EDE8 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8015EDEC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015EDF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015EDF4 7C 08 03 A6 */ mtlr r0 -/* 8015EDF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015EDFC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi.s b/asm/d/a/d_a_player/setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi.s deleted file mode 100644 index 205e7e557d..0000000000 --- a/asm/d/a/d_a_player/setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8015F478: -/* 8015F478 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F47C 7C 08 02 A6 */ mflr r0 -/* 8015F480 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F484 7C 67 1B 78 */ mr r7, r3 -/* 8015F488 7C 80 23 78 */ mr r0, r4 -/* 8015F48C 7C A6 2B 78 */ mr r6, r5 -/* 8015F490 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F494 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F498 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F49C 7C E4 3B 78 */ mr r4, r7 -/* 8015F4A0 7C 05 03 78 */ mr r5, r0 -/* 8015F4A4 4B F8 86 49 */ bl setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi -/* 8015F4A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F4AC 7C 08 03 A6 */ mtlr r0 -/* 8015F4B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F4B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setLookPos__9daPy_py_cFP4cXyz.s b/asm/d/a/d_a_player/setLookPos__9daPy_py_cFP4cXyz.s deleted file mode 100644 index a7990c8177..0000000000 --- a/asm/d/a/d_a_player/setLookPos__9daPy_py_cFP4cXyz.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8015F4F0: -/* 8015F4F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F4F4 7C 08 02 A6 */ mflr r0 -/* 8015F4F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F4FC 7C 64 1B 78 */ mr r4, r3 -/* 8015F500 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F504 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F508 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F50C 4B F4 12 39 */ bl setLookPosFromOut__9daAlink_cFP4cXyz -/* 8015F510 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F514 7C 08 03 A6 */ mtlr r0 -/* 8015F518 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F51C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setMidnaFaceNum__9daPy_py_cFi.s b/asm/d/a/d_a_player/setMidnaFaceNum__9daPy_py_cFi.s deleted file mode 100644 index f2b517f845..0000000000 --- a/asm/d/a/d_a_player/setMidnaFaceNum__9daPy_py_cFi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8015F968: -/* 8015F968 80 8D 8A 98 */ lwz r4, m_midnaActor__9daPy_py_c(r13) -/* 8015F96C 28 04 00 00 */ cmplwi r4, 0 -/* 8015F970 4D 82 00 20 */ beqlr -/* 8015F974 98 64 08 49 */ stb r3, 0x849(r4) -/* 8015F978 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setMidnaMotionNum__9daPy_py_cFi.s b/asm/d/a/d_a_player/setMidnaMotionNum__9daPy_py_cFi.s deleted file mode 100644 index 25b3473a83..0000000000 --- a/asm/d/a/d_a_player/setMidnaMotionNum__9daPy_py_cFi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8015F954: -/* 8015F954 80 8D 8A 98 */ lwz r4, m_midnaActor__9daPy_py_c(r13) -/* 8015F958 28 04 00 00 */ cmplwi r4, 0 -/* 8015F95C 4D 82 00 20 */ beqlr -/* 8015F960 98 64 08 48 */ stb r3, 0x848(r4) -/* 8015F964 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s b/asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s deleted file mode 100644 index 53d1165218..0000000000 --- a/asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8015EA0C: -/* 8015EA0C 54 80 63 E6 */ rlwinm r0, r4, 0xc, 0xf, 0x13 -/* 8015EA10 50 60 06 BE */ rlwimi r0, r3, 0, 0x1a, 0x1f -/* 8015EA14 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 -/* 8015EA18 7C C3 03 78 */ or r3, r6, r0 -/* 8015EA1C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setPlayerDamage__9daPy_py_cFii.s b/asm/d/a/d_a_player/setPlayerDamage__9daPy_py_cFii.s deleted file mode 100644 index aded67b584..0000000000 --- a/asm/d/a/d_a_player/setPlayerDamage__9daPy_py_cFii.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8015F914: -/* 8015F914 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F918 7C 08 02 A6 */ mflr r0 -/* 8015F91C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F920 7C 60 1B 78 */ mr r0, r3 -/* 8015F924 7C 86 23 78 */ mr r6, r4 -/* 8015F928 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F92C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F930 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F934 7C 04 03 78 */ mr r4, r0 -/* 8015F938 38 A0 00 00 */ li r5, 0 -/* 8015F93C 38 E0 00 00 */ li r7, 0 -/* 8015F940 4B F7 79 7D */ bl setDamagePoint__9daAlink_cFiiii -/* 8015F944 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F948 7C 08 03 A6 */ mtlr r0 -/* 8015F94C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F950 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setPlayerSe__9daPy_py_cFUl.s b/asm/d/a/d_a_player/setPlayerSe__9daPy_py_cFUl.s deleted file mode 100644 index b2ff09ed4c..0000000000 --- a/asm/d/a/d_a_player/setPlayerSe__9daPy_py_cFUl.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8015F520: -/* 8015F520 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F524 7C 08 02 A6 */ mflr r0 -/* 8015F528 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F52C 7C 64 1B 78 */ mr r4, r3 -/* 8015F530 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F534 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F538 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F53C 81 83 06 28 */ lwz r12, 0x628(r3) -/* 8015F540 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 8015F544 7D 89 03 A6 */ mtctr r12 -/* 8015F548 4E 80 04 21 */ bctrl -/* 8015F54C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F550 7C 08 03 A6 */ mtlr r0 -/* 8015F554 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F558 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setSightImage__18daPy_sightPacket_cFP7ResTIMG.s b/asm/d/a/d_a_player/setSightImage__18daPy_sightPacket_cFP7ResTIMG.s deleted file mode 100644 index ab8567191f..0000000000 --- a/asm/d/a/d_a_player/setSightImage__18daPy_sightPacket_cFP7ResTIMG.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8015F384: -/* 8015F384 90 83 00 44 */ stw r4, 0x44(r3) -/* 8015F388 80 04 00 1C */ lwz r0, 0x1c(r4) -/* 8015F38C 7C 04 02 14 */ add r0, r4, r0 -/* 8015F390 90 03 00 48 */ stw r0, 0x48(r3) -/* 8015F394 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_window_HIO/__ct__10dMw_DHIO_cFv.s b/asm/d/menu/d_menu_window_HIO/__ct__10dMw_DHIO_cFv.s deleted file mode 100644 index 54d7c673aa..0000000000 --- a/asm/d/menu/d_menu_window_HIO/__ct__10dMw_DHIO_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_801F9E2C: -/* 801F9E2C 3C 80 80 3C */ lis r4, __vt__10dMw_DHIO_c@ha /* 0x803BE8E0@ha */ -/* 801F9E30 38 04 E8 E0 */ addi r0, r4, __vt__10dMw_DHIO_c@l /* 0x803BE8E0@l */ -/* 801F9E34 90 03 00 00 */ stw r0, 0(r3) -/* 801F9E38 38 A0 00 00 */ li r5, 0 -/* 801F9E3C 38 00 00 20 */ li r0, 0x20 -/* 801F9E40 7C 09 03 A6 */ mtctr r0 -lbl_801F9E44: -/* 801F9E44 38 00 00 00 */ li r0, 0 -/* 801F9E48 7C 83 2A 14 */ add r4, r3, r5 -/* 801F9E4C 98 04 00 05 */ stb r0, 5(r4) -/* 801F9E50 98 04 00 25 */ stb r0, 0x25(r4) -/* 801F9E54 98 04 00 45 */ stb r0, 0x45(r4) -/* 801F9E58 98 04 00 65 */ stb r0, 0x65(r4) -/* 801F9E5C 98 04 00 85 */ stb r0, 0x85(r4) -/* 801F9E60 98 04 00 A5 */ stb r0, 0xa5(r4) -/* 801F9E64 98 04 00 C5 */ stb r0, 0xc5(r4) -/* 801F9E68 98 04 00 E5 */ stb r0, 0xe5(r4) -/* 801F9E6C 98 04 01 05 */ stb r0, 0x105(r4) -/* 801F9E70 98 04 01 25 */ stb r0, 0x125(r4) -/* 801F9E74 98 04 01 45 */ stb r0, 0x145(r4) -/* 801F9E78 98 04 01 65 */ stb r0, 0x165(r4) -/* 801F9E7C 98 04 01 85 */ stb r0, 0x185(r4) -/* 801F9E80 98 04 01 A5 */ stb r0, 0x1a5(r4) -/* 801F9E84 98 04 01 C5 */ stb r0, 0x1c5(r4) -/* 801F9E88 98 04 01 E5 */ stb r0, 0x1e5(r4) -/* 801F9E8C 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9E90 42 00 FF B4 */ bdnz lbl_801F9E44 -/* 801F9E94 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_window_HIO/__ct__9dMw_HIO_cFv.s b/asm/d/menu/d_menu_window_HIO/__ct__9dMw_HIO_cFv.s deleted file mode 100644 index e4f640b467..0000000000 --- a/asm/d/menu/d_menu_window_HIO/__ct__9dMw_HIO_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801F9AFC: -/* 801F9AFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F9B00 7C 08 02 A6 */ mflr r0 -/* 801F9B04 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F9B08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F9B0C 7C 7F 1B 78 */ mr r31, r3 -/* 801F9B10 3C 80 80 3C */ lis r4, __vt__9dMw_HIO_c@ha /* 0x803BE8EC@ha */ -/* 801F9B14 38 04 E8 EC */ addi r0, r4, __vt__9dMw_HIO_c@l /* 0x803BE8EC@l */ -/* 801F9B18 90 03 00 00 */ stw r0, 0(r3) -/* 801F9B1C 48 00 00 1D */ bl init__9dMw_HIO_cFv -/* 801F9B20 7F E3 FB 78 */ mr r3, r31 -/* 801F9B24 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F9B28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F9B2C 7C 08 03 A6 */ mtlr r0 -/* 801F9B30 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F9B34 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_window_HIO/__dt__10dMw_DHIO_cFv.s b/asm/d/menu/d_menu_window_HIO/__dt__10dMw_DHIO_cFv.s deleted file mode 100644 index 579773c42e..0000000000 --- a/asm/d/menu/d_menu_window_HIO/__dt__10dMw_DHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801F9E98: -/* 801F9E98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F9E9C 7C 08 02 A6 */ mflr r0 -/* 801F9EA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F9EA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F9EA8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 801F9EAC 41 82 00 1C */ beq lbl_801F9EC8 -/* 801F9EB0 3C A0 80 3C */ lis r5, __vt__10dMw_DHIO_c@ha /* 0x803BE8E0@ha */ -/* 801F9EB4 38 05 E8 E0 */ addi r0, r5, __vt__10dMw_DHIO_c@l /* 0x803BE8E0@l */ -/* 801F9EB8 90 1F 00 00 */ stw r0, 0(r31) -/* 801F9EBC 7C 80 07 35 */ extsh. r0, r4 -/* 801F9EC0 40 81 00 08 */ ble lbl_801F9EC8 -/* 801F9EC4 48 0D 4E 79 */ bl __dl__FPv -lbl_801F9EC8: -/* 801F9EC8 7F E3 FB 78 */ mr r3, r31 -/* 801F9ECC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F9ED0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F9ED4 7C 08 03 A6 */ mtlr r0 -/* 801F9ED8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F9EDC 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_window_HIO/__dt__9dMw_HIO_cFv.s b/asm/d/menu/d_menu_window_HIO/__dt__9dMw_HIO_cFv.s deleted file mode 100644 index 196132b684..0000000000 --- a/asm/d/menu/d_menu_window_HIO/__dt__9dMw_HIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801F9EE0: -/* 801F9EE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F9EE4 7C 08 02 A6 */ mflr r0 -/* 801F9EE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F9EEC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F9EF0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 801F9EF4 41 82 00 1C */ beq lbl_801F9F10 -/* 801F9EF8 3C A0 80 3C */ lis r5, __vt__9dMw_HIO_c@ha /* 0x803BE8EC@ha */ -/* 801F9EFC 38 05 E8 EC */ addi r0, r5, __vt__9dMw_HIO_c@l /* 0x803BE8EC@l */ -/* 801F9F00 90 1F 00 00 */ stw r0, 0(r31) -/* 801F9F04 7C 80 07 35 */ extsh. r0, r4 -/* 801F9F08 40 81 00 08 */ ble lbl_801F9F10 -/* 801F9F0C 48 0D 4E 31 */ bl __dl__FPv -lbl_801F9F10: -/* 801F9F10 7F E3 FB 78 */ mr r3, r31 -/* 801F9F14 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F9F18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F9F1C 7C 08 03 A6 */ mtlr r0 -/* 801F9F20 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F9F24 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_window_HIO/__sinit_d_menu_window_HIO_cpp.s b/asm/d/menu/d_menu_window_HIO/__sinit_d_menu_window_HIO_cpp.s deleted file mode 100644 index f7362b4f4d..0000000000 --- a/asm/d/menu/d_menu_window_HIO/__sinit_d_menu_window_HIO_cpp.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_801F9F28: -/* 801F9F28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801F9F2C 7C 08 02 A6 */ mflr r0 -/* 801F9F30 90 01 00 14 */ stw r0, 0x14(r1) -/* 801F9F34 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801F9F38 3C 60 80 43 */ lis r3, lit_3773@ha /* 0x8042E860@ha */ -/* 801F9F3C 3B E3 E8 60 */ addi r31, r3, lit_3773@l /* 0x8042E860@l */ -/* 801F9F40 38 7F 00 0C */ addi r3, r31, 0xc -/* 801F9F44 4B FF FB B9 */ bl __ct__9dMw_HIO_cFv -/* 801F9F48 3C 80 80 20 */ lis r4, __dt__9dMw_HIO_cFv@ha /* 0x801F9EE0@ha */ -/* 801F9F4C 38 84 9E E0 */ addi r4, r4, __dt__9dMw_HIO_cFv@l /* 0x801F9EE0@l */ -/* 801F9F50 38 BF 00 00 */ addi r5, r31, 0 -/* 801F9F54 48 16 7C D1 */ bl __register_global_object -/* 801F9F58 38 7F 01 48 */ addi r3, r31, 0x148 -/* 801F9F5C 4B FF FE D1 */ bl __ct__10dMw_DHIO_cFv -/* 801F9F60 3C 80 80 20 */ lis r4, __dt__10dMw_DHIO_cFv@ha /* 0x801F9E98@ha */ -/* 801F9F64 38 84 9E 98 */ addi r4, r4, __dt__10dMw_DHIO_cFv@l /* 0x801F9E98@l */ -/* 801F9F68 38 BF 01 3C */ addi r5, r31, 0x13c -/* 801F9F6C 48 16 7C B9 */ bl __register_global_object -/* 801F9F70 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801F9F74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801F9F78 7C 08 03 A6 */ mtlr r0 -/* 801F9F7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801F9F80 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_window_HIO/init__9dMw_HIO_cFv.s b/asm/d/menu/d_menu_window_HIO/init__9dMw_HIO_cFv.s deleted file mode 100644 index 4588289c04..0000000000 --- a/asm/d/menu/d_menu_window_HIO/init__9dMw_HIO_cFv.s +++ /dev/null @@ -1,195 +0,0 @@ -lbl_801F9B38: -/* 801F9B38 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801F9B3C 7C 08 02 A6 */ mflr r0 -/* 801F9B40 90 01 00 24 */ stw r0, 0x24(r1) -/* 801F9B44 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F9B48 48 16 86 89 */ bl _savegpr_26 -/* 801F9B4C 7C 7F 1B 78 */ mr r31, r3 -/* 801F9B50 38 80 00 00 */ li r4, 0 -/* 801F9B54 98 83 01 1B */ stb r4, 0x11b(r3) -/* 801F9B58 98 83 01 1D */ stb r4, 0x11d(r3) -/* 801F9B5C 98 83 01 1C */ stb r4, 0x11c(r3) -/* 801F9B60 B0 83 00 24 */ sth r4, 0x24(r3) -/* 801F9B64 B0 83 00 06 */ sth r4, 6(r3) -/* 801F9B68 B0 83 00 26 */ sth r4, 0x26(r3) -/* 801F9B6C B0 83 00 08 */ sth r4, 8(r3) -/* 801F9B70 98 83 00 28 */ stb r4, 0x28(r3) -/* 801F9B74 98 83 00 0A */ stb r4, 0xa(r3) -/* 801F9B78 98 83 00 29 */ stb r4, 0x29(r3) -/* 801F9B7C 98 83 00 0B */ stb r4, 0xb(r3) -/* 801F9B80 90 83 00 2C */ stw r4, 0x2c(r3) -/* 801F9B84 90 83 00 0C */ stw r4, 0xc(r3) -/* 801F9B88 90 83 00 30 */ stw r4, 0x30(r3) -/* 801F9B8C 90 83 00 10 */ stw r4, 0x10(r3) -/* 801F9B90 90 83 00 34 */ stw r4, 0x34(r3) -/* 801F9B94 90 83 00 14 */ stw r4, 0x14(r3) -/* 801F9B98 90 83 00 38 */ stw r4, 0x38(r3) -/* 801F9B9C 90 83 00 18 */ stw r4, 0x18(r3) -/* 801F9BA0 98 83 00 3C */ stb r4, 0x3c(r3) -/* 801F9BA4 98 83 00 1C */ stb r4, 0x1c(r3) -/* 801F9BA8 98 83 00 3D */ stb r4, 0x3d(r3) -/* 801F9BAC 98 83 00 1D */ stb r4, 0x1d(r3) -/* 801F9BB0 B0 83 00 3E */ sth r4, 0x3e(r3) -/* 801F9BB4 B0 83 00 1E */ sth r4, 0x1e(r3) -/* 801F9BB8 B0 83 00 40 */ sth r4, 0x40(r3) -/* 801F9BBC B0 83 00 20 */ sth r4, 0x20(r3) -/* 801F9BC0 98 83 00 46 */ stb r4, 0x46(r3) -/* 801F9BC4 98 83 00 22 */ stb r4, 0x22(r3) -/* 801F9BC8 98 83 00 47 */ stb r4, 0x47(r3) -/* 801F9BCC 98 83 00 23 */ stb r4, 0x23(r3) -/* 801F9BD0 98 83 01 1A */ stb r4, 0x11a(r3) -/* 801F9BD4 98 83 01 19 */ stb r4, 0x119(r3) -/* 801F9BD8 98 83 00 49 */ stb r4, 0x49(r3) -/* 801F9BDC 98 83 00 48 */ stb r4, 0x48(r3) -/* 801F9BE0 B0 83 00 44 */ sth r4, 0x44(r3) -/* 801F9BE4 B0 83 00 42 */ sth r4, 0x42(r3) -/* 801F9BE8 38 C0 00 00 */ li r6, 0 -/* 801F9BEC 38 60 00 FF */ li r3, 0xff -/* 801F9BF0 38 00 00 18 */ li r0, 0x18 -/* 801F9BF4 7C 09 03 A6 */ mtctr r0 -lbl_801F9BF8: -/* 801F9BF8 7C BF 32 14 */ add r5, r31, r6 -/* 801F9BFC 98 65 00 62 */ stb r3, 0x62(r5) -/* 801F9C00 98 65 00 4A */ stb r3, 0x4a(r5) -/* 801F9C04 98 85 00 7A */ stb r4, 0x7a(r5) -/* 801F9C08 38 C6 00 01 */ addi r6, r6, 1 -/* 801F9C0C 42 00 FF EC */ bdnz lbl_801F9BF8 -/* 801F9C10 38 A0 00 00 */ li r5, 0 -/* 801F9C14 38 60 00 00 */ li r3, 0 -/* 801F9C18 38 00 00 04 */ li r0, 4 -/* 801F9C1C 7C 09 03 A6 */ mtctr r0 -lbl_801F9C20: -/* 801F9C20 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9C24 98 64 00 F5 */ stb r3, 0xf5(r4) -/* 801F9C28 98 64 00 EB */ stb r3, 0xeb(r4) -/* 801F9C2C 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9C30 42 00 FF F0 */ bdnz lbl_801F9C20 -/* 801F9C34 38 A0 00 00 */ li r5, 0 -/* 801F9C38 38 60 00 00 */ li r3, 0 -/* 801F9C3C 38 00 00 03 */ li r0, 3 -/* 801F9C40 7C 09 03 A6 */ mtctr r0 -lbl_801F9C44: -/* 801F9C44 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9C48 98 64 00 F1 */ stb r3, 0xf1(r4) -/* 801F9C4C 98 64 00 E7 */ stb r3, 0xe7(r4) -/* 801F9C50 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9C54 42 00 FF F0 */ bdnz lbl_801F9C44 -/* 801F9C58 38 00 00 FF */ li r0, 0xff -/* 801F9C5C 98 1F 00 A7 */ stb r0, 0xa7(r31) -/* 801F9C60 98 1F 00 A6 */ stb r0, 0xa6(r31) -/* 801F9C64 38 00 00 00 */ li r0, 0 -/* 801F9C68 98 1F 00 A8 */ stb r0, 0xa8(r31) -/* 801F9C6C 98 1F 00 F4 */ stb r0, 0xf4(r31) -/* 801F9C70 98 1F 00 EA */ stb r0, 0xea(r31) -/* 801F9C74 3B 60 00 00 */ li r27, 0 -/* 801F9C78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801F9C7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801F9C80 3B 83 00 CC */ addi r28, r3, 0xcc -/* 801F9C84 3B AD 81 CC */ la r29, m_sword_item(r13) /* 8045074C-_SDA_BASE_ */ -lbl_801F9C88: -/* 801F9C88 7F 83 E3 78 */ mr r3, r28 -/* 801F9C8C 88 9D 00 00 */ lbz r4, 0(r29) -/* 801F9C90 4B E3 A2 39 */ bl isFirstBit__21dSv_player_get_item_cCFUc -/* 801F9C94 30 03 FF FF */ addic r0, r3, -1 -/* 801F9C98 7C 00 19 10 */ subfe r0, r0, r3 -/* 801F9C9C 7C 7F DA 14 */ add r3, r31, r27 -/* 801F9CA0 98 03 00 9C */ stb r0, 0x9c(r3) -/* 801F9CA4 98 03 00 92 */ stb r0, 0x92(r3) -/* 801F9CA8 3B 7B 00 01 */ addi r27, r27, 1 -/* 801F9CAC 2C 1B 00 04 */ cmpwi r27, 4 -/* 801F9CB0 3B BD 00 01 */ addi r29, r29, 1 -/* 801F9CB4 41 80 FF D4 */ blt lbl_801F9C88 -/* 801F9CB8 3B 40 00 00 */ li r26, 0 -/* 801F9CBC 3B AD 81 D0 */ la r29, m_shield_item(r13) /* 80450750-_SDA_BASE_ */ -/* 801F9CC0 3B CD 81 C8 */ la r30, m_cloth_item(r13) /* 80450748-_SDA_BASE_ */ -lbl_801F9CC4: -/* 801F9CC4 7F 83 E3 78 */ mr r3, r28 -/* 801F9CC8 88 9D 00 00 */ lbz r4, 0(r29) -/* 801F9CCC 4B E3 A1 FD */ bl isFirstBit__21dSv_player_get_item_cCFUc -/* 801F9CD0 30 03 FF FF */ addic r0, r3, -1 -/* 801F9CD4 7C 00 19 10 */ subfe r0, r0, r3 -/* 801F9CD8 7F 7F D2 14 */ add r27, r31, r26 -/* 801F9CDC 98 1B 00 A0 */ stb r0, 0xa0(r27) -/* 801F9CE0 98 1B 00 96 */ stb r0, 0x96(r27) -/* 801F9CE4 7F 83 E3 78 */ mr r3, r28 -/* 801F9CE8 88 9E 00 00 */ lbz r4, 0(r30) -/* 801F9CEC 4B E3 A1 DD */ bl isFirstBit__21dSv_player_get_item_cCFUc -/* 801F9CF0 30 03 FF FF */ addic r0, r3, -1 -/* 801F9CF4 7C 00 19 10 */ subfe r0, r0, r3 -/* 801F9CF8 98 1B 00 A3 */ stb r0, 0xa3(r27) -/* 801F9CFC 98 1B 00 99 */ stb r0, 0x99(r27) -/* 801F9D00 3B 5A 00 01 */ addi r26, r26, 1 -/* 801F9D04 2C 1A 00 03 */ cmpwi r26, 3 -/* 801F9D08 3B DE 00 01 */ addi r30, r30, 1 -/* 801F9D0C 3B BD 00 01 */ addi r29, r29, 1 -/* 801F9D10 41 80 FF B4 */ blt lbl_801F9CC4 -/* 801F9D14 38 60 00 00 */ li r3, 0 -/* 801F9D18 98 7F 00 AA */ stb r3, 0xaa(r31) -/* 801F9D1C 98 7F 00 A9 */ stb r3, 0xa9(r31) -/* 801F9D20 38 A0 00 00 */ li r5, 0 -/* 801F9D24 38 00 00 03 */ li r0, 3 -/* 801F9D28 7C 09 03 A6 */ mtctr r0 -lbl_801F9D2C: -/* 801F9D2C 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9D30 98 64 00 AE */ stb r3, 0xae(r4) -/* 801F9D34 98 64 00 AB */ stb r3, 0xab(r4) -/* 801F9D38 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9D3C 42 00 FF F0 */ bdnz lbl_801F9D2C -/* 801F9D40 38 A0 00 00 */ li r5, 0 -/* 801F9D44 38 60 00 00 */ li r3, 0 -/* 801F9D48 38 00 00 02 */ li r0, 2 -/* 801F9D4C 7C 09 03 A6 */ mtctr r0 -lbl_801F9D50: -/* 801F9D50 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9D54 98 64 00 B3 */ stb r3, 0xb3(r4) -/* 801F9D58 98 64 00 B1 */ stb r3, 0xb1(r4) -/* 801F9D5C 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9D60 42 00 FF F0 */ bdnz lbl_801F9D50 -/* 801F9D64 38 A0 00 00 */ li r5, 0 -/* 801F9D68 38 60 00 00 */ li r3, 0 -/* 801F9D6C 38 00 00 18 */ li r0, 0x18 -/* 801F9D70 7C 09 03 A6 */ mtctr r0 -lbl_801F9D74: -/* 801F9D74 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9D78 98 64 00 CD */ stb r3, 0xcd(r4) -/* 801F9D7C 98 64 00 B5 */ stb r3, 0xb5(r4) -/* 801F9D80 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9D84 42 00 FF F0 */ bdnz lbl_801F9D74 -/* 801F9D88 38 A0 00 00 */ li r5, 0 -/* 801F9D8C 38 60 00 00 */ li r3, 0 -/* 801F9D90 38 00 00 08 */ li r0, 8 -/* 801F9D94 7C 09 03 A6 */ mtctr r0 -lbl_801F9D98: -/* 801F9D98 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9D9C 98 64 01 01 */ stb r3, 0x101(r4) -/* 801F9DA0 98 64 00 F9 */ stb r3, 0xf9(r4) -/* 801F9DA4 98 64 01 11 */ stb r3, 0x111(r4) -/* 801F9DA8 98 64 01 09 */ stb r3, 0x109(r4) -/* 801F9DAC 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9DB0 42 00 FF E8 */ bdnz lbl_801F9D98 -/* 801F9DB4 38 A0 00 00 */ li r5, 0 -/* 801F9DB8 38 60 00 00 */ li r3, 0 -/* 801F9DBC 38 00 00 04 */ li r0, 4 -/* 801F9DC0 7C 09 03 A6 */ mtctr r0 -lbl_801F9DC4: -/* 801F9DC4 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9DC8 98 64 01 22 */ stb r3, 0x122(r4) -/* 801F9DCC 98 64 01 1E */ stb r3, 0x11e(r4) -/* 801F9DD0 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9DD4 42 00 FF F0 */ bdnz lbl_801F9DC4 -/* 801F9DD8 38 A0 00 00 */ li r5, 0 -/* 801F9DDC 38 60 00 00 */ li r3, 0 -/* 801F9DE0 38 00 00 04 */ li r0, 4 -/* 801F9DE4 7C 09 03 A6 */ mtctr r0 -lbl_801F9DE8: -/* 801F9DE8 7C 9F 2A 14 */ add r4, r31, r5 -/* 801F9DEC 98 64 01 2A */ stb r3, 0x12a(r4) -/* 801F9DF0 98 64 01 26 */ stb r3, 0x126(r4) -/* 801F9DF4 38 A5 00 01 */ addi r5, r5, 1 -/* 801F9DF8 42 00 FF F0 */ bdnz lbl_801F9DE8 -/* 801F9DFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 801F9E00 48 16 84 1D */ bl _restgpr_26 -/* 801F9E04 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801F9E08 7C 08 03 A6 */ mtlr r0 -/* 801F9E0C 38 21 00 20 */ addi r1, r1, 0x20 -/* 801F9E10 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/_create__9dMeter2_cFv.s b/asm/d/meter/d_meter2/_create__9dMeter2_cFv.s deleted file mode 100644 index 5c684a9eaf..0000000000 --- a/asm/d/meter/d_meter2/_create__9dMeter2_cFv.s +++ /dev/null @@ -1,480 +0,0 @@ -lbl_8021EA14: -/* 8021EA14 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8021EA18 7C 08 02 A6 */ mflr r0 -/* 8021EA1C 90 01 00 34 */ stw r0, 0x34(r1) -/* 8021EA20 39 61 00 30 */ addi r11, r1, 0x30 -/* 8021EA24 48 14 37 A9 */ bl _savegpr_25 -/* 8021EA28 7C 7F 1B 78 */ mr r31, r3 -/* 8021EA2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021EA30 3B 63 61 C0 */ addi r27, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021EA34 38 7B 4E 20 */ addi r3, r27, 0x4e20 -/* 8021EA38 81 9B 4E 20 */ lwz r12, 0x4e20(r27) -/* 8021EA3C 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8021EA40 7D 89 03 A6 */ mtctr r12 -/* 8021EA44 4E 80 04 21 */ bctrl -/* 8021EA48 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8021EA4C 54 00 07 7E */ clrlwi r0, r0, 0x1d -/* 8021EA50 2C 00 00 01 */ cmpwi r0, 1 -/* 8021EA54 40 82 00 1C */ bne lbl_8021EA70 -/* 8021EA58 3C 60 00 06 */ lis r3, 0x0006 /* 0x0005A400@ha */ -/* 8021EA5C 38 63 A4 00 */ addi r3, r3, 0xA400 /* 0x0005A400@l */ -/* 8021EA60 38 80 00 00 */ li r4, 0 -/* 8021EA64 4B E0 19 39 */ bl fopMsgM_createExpHeap__FUlP7JKRHeap -/* 8021EA68 90 7F 01 00 */ stw r3, 0x100(r31) -/* 8021EA6C 48 00 00 18 */ b lbl_8021EA84 -lbl_8021EA70: -/* 8021EA70 3C 60 00 06 */ lis r3, 0x0006 /* 0x00060800@ha */ -/* 8021EA74 38 63 08 00 */ addi r3, r3, 0x0800 /* 0x00060800@l */ -/* 8021EA78 38 80 00 00 */ li r4, 0 -/* 8021EA7C 4B E0 19 21 */ bl fopMsgM_createExpHeap__FUlP7JKRHeap -/* 8021EA80 90 7F 01 00 */ stw r3, 0x100(r31) -lbl_8021EA84: -/* 8021EA84 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8021EA88 4B DF 07 45 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8021EA8C 7C 7E 1B 78 */ mr r30, r3 -/* 8021EA90 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8021EA94 48 0A FC F1 */ bl getTotalFreeSize__7JKRHeapFv -/* 8021EA98 38 7B 4E 00 */ addi r3, r27, 0x4e00 -/* 8021EA9C 3C 80 80 3A */ lis r4, d_meter_d_meter2__stringBase0@ha /* 0x80399338@ha */ -/* 8021EAA0 38 84 93 38 */ addi r4, r4, d_meter_d_meter2__stringBase0@l /* 0x80399338@l */ -/* 8021EAA4 48 14 9E F1 */ bl strcmp -/* 8021EAA8 2C 03 00 00 */ cmpwi r3, 0 -/* 8021EAAC 40 82 00 18 */ bne lbl_8021EAC4 -/* 8021EAB0 38 00 00 00 */ li r0, 0 -/* 8021EAB4 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021EAB8 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021EABC 98 03 00 BC */ stb r0, 0xbc(r3) -/* 8021EAC0 98 03 00 BB */ stb r0, 0xbb(r3) -lbl_8021EAC4: -/* 8021EAC4 38 60 00 00 */ li r3, 0 -/* 8021EAC8 90 7F 01 28 */ stw r3, 0x128(r31) -/* 8021EACC 80 1F 01 28 */ lwz r0, 0x128(r31) -/* 8021EAD0 90 1F 01 2C */ stw r0, 0x12c(r31) -/* 8021EAD4 90 7F 01 24 */ stw r3, 0x124(r31) -/* 8021EAD8 98 7F 01 E5 */ stb r3, 0x1e5(r31) -/* 8021EADC B0 7F 01 B6 */ sth r3, 0x1b6(r31) -/* 8021EAE0 98 7F 01 E6 */ stb r3, 0x1e6(r31) -/* 8021EAE4 98 7F 01 E7 */ stb r3, 0x1e7(r31) -/* 8021EAE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021EAEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021EAF0 3B A3 00 F8 */ addi r29, r3, 0xf8 -/* 8021EAF4 88 03 00 F8 */ lbz r0, 0xf8(r3) -/* 8021EAF8 98 1F 01 FB */ stb r0, 0x1fb(r31) -/* 8021EAFC 3B 83 00 EC */ addi r28, r3, 0xec -/* 8021EB00 88 03 00 EC */ lbz r0, 0xec(r3) -/* 8021EB04 98 1F 01 DA */ stb r0, 0x1da(r31) -/* 8021EB08 38 00 00 32 */ li r0, 0x32 -/* 8021EB0C 98 1F 01 FC */ stb r0, 0x1fc(r31) -/* 8021EB10 88 03 00 F4 */ lbz r0, 0xf4(r3) -/* 8021EB14 98 1F 01 DB */ stb r0, 0x1db(r31) -/* 8021EB18 3B 20 00 00 */ li r25, 0 -/* 8021EB1C 3B 63 00 9C */ addi r27, r3, 0x9c -lbl_8021EB20: -/* 8021EB20 7F 63 DB 78 */ mr r3, r27 -/* 8021EB24 38 19 00 0F */ addi r0, r25, 0xf -/* 8021EB28 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8021EB2C 38 A0 00 01 */ li r5, 1 -/* 8021EB30 4B E1 45 01 */ bl getItem__17dSv_player_item_cCFib -/* 8021EB34 7C 64 1B 78 */ mr r4, r3 -/* 8021EB38 7F A3 EB 78 */ mr r3, r29 -/* 8021EB3C 4B E1 55 BD */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8021EB40 7F 5F CA 14 */ add r26, r31, r25 -/* 8021EB44 98 7A 01 F6 */ stb r3, 0x1f6(r26) -/* 8021EB48 7F 83 E3 78 */ mr r3, r28 -/* 8021EB4C 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8021EB50 4B E1 54 2D */ bl getBombNum__24dSv_player_item_record_cCFUc -/* 8021EB54 98 7A 01 F3 */ stb r3, 0x1f3(r26) -/* 8021EB58 3B 39 00 01 */ addi r25, r25, 1 -/* 8021EB5C 2C 19 00 03 */ cmpwi r25, 3 -/* 8021EB60 41 80 FF C0 */ blt lbl_8021EB20 -/* 8021EB64 3B 20 00 00 */ li r25, 0 -/* 8021EB68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021EB6C 3B 63 61 C0 */ addi r27, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_8021EB70: -/* 8021EB70 7F 63 DB 78 */ mr r3, r27 -/* 8021EB74 7F 24 CB 78 */ mr r4, r25 -/* 8021EB78 4B E1 3E E5 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8021EB7C 38 19 01 F9 */ addi r0, r25, 0x1f9 -/* 8021EB80 7C 7F 01 AE */ stbx r3, r31, r0 -/* 8021EB84 3B 39 00 01 */ addi r25, r25, 1 -/* 8021EB88 2C 19 00 02 */ cmpwi r25, 2 -/* 8021EB8C 41 80 FF E4 */ blt lbl_8021EB70 -/* 8021EB90 3B 20 00 00 */ li r25, 0 -lbl_8021EB94: -/* 8021EB94 7F 83 E3 78 */ mr r3, r28 -/* 8021EB98 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8021EB9C 4B E1 54 95 */ bl getBottleNum__24dSv_player_item_record_cCFUc -/* 8021EBA0 38 19 01 EF */ addi r0, r25, 0x1ef -/* 8021EBA4 7C 7F 01 AE */ stbx r3, r31, r0 -/* 8021EBA8 3B 39 00 01 */ addi r25, r25, 1 -/* 8021EBAC 2C 19 00 04 */ cmpwi r25, 4 -/* 8021EBB0 41 80 FF E4 */ blt lbl_8021EB94 -/* 8021EBB4 38 80 00 00 */ li r4, 0 -/* 8021EBB8 98 9F 01 E8 */ stb r4, 0x1e8(r31) -/* 8021EBBC 98 9F 01 E9 */ stb r4, 0x1e9(r31) -/* 8021EBC0 98 9F 01 EA */ stb r4, 0x1ea(r31) -/* 8021EBC4 98 9F 01 EB */ stb r4, 0x1eb(r31) -/* 8021EBC8 7C 83 23 78 */ mr r3, r4 -/* 8021EBCC 38 00 00 05 */ li r0, 5 -/* 8021EBD0 7C 09 03 A6 */ mtctr r0 -lbl_8021EBD4: -/* 8021EBD4 38 03 01 B8 */ addi r0, r3, 0x1b8 -/* 8021EBD8 7C 9F 03 2E */ sthx r4, r31, r0 -/* 8021EBDC 38 63 00 02 */ addi r3, r3, 2 -/* 8021EBE0 42 00 FF F4 */ bdnz lbl_8021EBD4 -/* 8021EBE4 38 00 00 00 */ li r0, 0 -/* 8021EBE8 98 1F 01 EC */ stb r0, 0x1ec(r31) -/* 8021EBEC 98 1F 01 ED */ stb r0, 0x1ed(r31) -/* 8021EBF0 98 1F 01 EE */ stb r0, 0x1ee(r31) -/* 8021EBF4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021EBF8 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021EBFC A0 04 00 02 */ lhz r0, 2(r4) -/* 8021EC00 B0 1F 01 92 */ sth r0, 0x192(r31) -/* 8021EC04 A8 1F 01 92 */ lha r0, 0x192(r31) -/* 8021EC08 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 8021EC0C B0 04 5E 16 */ sth r0, 0x5e16(r4) -/* 8021EC10 A0 04 00 00 */ lhz r0, 0(r4) -/* 8021EC14 B0 1F 01 94 */ sth r0, 0x194(r31) -/* 8021EC18 88 04 00 1B */ lbz r0, 0x1b(r4) -/* 8021EC1C B0 1F 01 96 */ sth r0, 0x196(r31) -/* 8021EC20 A8 1F 01 96 */ lha r0, 0x196(r31) -/* 8021EC24 B0 04 5D CE */ sth r0, 0x5dce(r4) -/* 8021EC28 88 04 00 1A */ lbz r0, 0x1a(r4) -/* 8021EC2C B0 1F 01 98 */ sth r0, 0x198(r31) -/* 8021EC30 A0 04 00 08 */ lhz r0, 8(r4) -/* 8021EC34 7C 00 07 34 */ extsh r0, r0 -/* 8021EC38 90 1F 01 9C */ stw r0, 0x19c(r31) -/* 8021EC3C 80 1F 01 9C */ lwz r0, 0x19c(r31) -/* 8021EC40 90 04 5D D8 */ stw r0, 0x5dd8(r4) -/* 8021EC44 A0 04 00 06 */ lhz r0, 6(r4) -/* 8021EC48 7C 00 07 34 */ extsh r0, r0 -/* 8021EC4C 90 1F 01 A0 */ stw r0, 0x1a0(r31) -/* 8021EC50 80 04 5D E0 */ lwz r0, 0x5de0(r4) -/* 8021EC54 90 1F 01 A4 */ stw r0, 0x1a4(r31) -/* 8021EC58 80 1F 01 A4 */ lwz r0, 0x1a4(r31) -/* 8021EC5C 90 04 5D E4 */ stw r0, 0x5de4(r4) -/* 8021EC60 80 04 5D E8 */ lwz r0, 0x5de8(r4) -/* 8021EC64 90 1F 01 A8 */ stw r0, 0x1a8(r31) -/* 8021EC68 C0 02 AF C8 */ lfs f0, lit_4662(r2) -/* 8021EC6C D0 1F 01 30 */ stfs f0, 0x130(r31) -/* 8021EC70 38 64 01 14 */ addi r3, r4, 0x114 -/* 8021EC74 88 84 4E 0C */ lbz r4, 0x4e0c(r4) -/* 8021EC78 4B E1 56 C9 */ bl getLightDropNum__16dSv_light_drop_cCFUc -/* 8021EC7C 98 7F 01 C2 */ stb r3, 0x1c2(r31) -/* 8021EC80 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021EC84 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021EC88 88 03 5E A1 */ lbz r0, 0x5ea1(r3) -/* 8021EC8C 98 1F 01 C3 */ stb r0, 0x1c3(r31) -/* 8021EC90 A0 03 00 04 */ lhz r0, 4(r3) -/* 8021EC94 B0 1F 01 B0 */ sth r0, 0x1b0(r31) -/* 8021EC98 88 03 09 74 */ lbz r0, 0x974(r3) -/* 8021EC9C B0 1F 01 B2 */ sth r0, 0x1b2(r31) -/* 8021ECA0 88 03 5E 24 */ lbz r0, 0x5e24(r3) -/* 8021ECA4 98 1F 01 C4 */ stb r0, 0x1c4(r31) -/* 8021ECA8 88 03 5E 4A */ lbz r0, 0x5e4a(r3) -/* 8021ECAC 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f -/* 8021ECB0 98 1F 01 DC */ stb r0, 0x1dc(r31) -/* 8021ECB4 38 60 00 00 */ li r3, 0 -/* 8021ECB8 C0 02 AF C8 */ lfs f0, lit_4662(r2) -/* 8021ECBC 38 00 00 02 */ li r0, 2 -/* 8021ECC0 7C 09 03 A6 */ mtctr r0 -lbl_8021ECC4: -/* 8021ECC4 7C 9F 1A 14 */ add r4, r31, r3 -/* 8021ECC8 D0 04 01 34 */ stfs f0, 0x134(r4) -/* 8021ECCC D0 04 01 3C */ stfs f0, 0x13c(r4) -/* 8021ECD0 38 63 00 04 */ addi r3, r3, 4 -/* 8021ECD4 42 00 FF F0 */ bdnz lbl_8021ECC4 -/* 8021ECD8 C0 02 AF CC */ lfs f0, lit_4663(r2) -/* 8021ECDC D0 1F 01 44 */ stfs f0, 0x144(r31) -/* 8021ECE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021ECE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021ECE8 88 03 5E 1D */ lbz r0, 0x5e1d(r3) -/* 8021ECEC 98 1F 01 C5 */ stb r0, 0x1c5(r31) -/* 8021ECF0 38 00 00 00 */ li r0, 0 -/* 8021ECF4 98 1F 01 C6 */ stb r0, 0x1c6(r31) -/* 8021ECF8 88 03 5E 43 */ lbz r0, 0x5e43(r3) -/* 8021ECFC 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f -/* 8021ED00 98 1F 01 DD */ stb r0, 0x1dd(r31) -/* 8021ED04 38 60 00 00 */ li r3, 0 -/* 8021ED08 C0 02 AF C8 */ lfs f0, lit_4662(r2) -/* 8021ED0C 38 00 00 02 */ li r0, 2 -/* 8021ED10 7C 09 03 A6 */ mtctr r0 -lbl_8021ED14: -/* 8021ED14 7C 9F 1A 14 */ add r4, r31, r3 -/* 8021ED18 D0 04 01 48 */ stfs f0, 0x148(r4) -/* 8021ED1C D0 04 01 50 */ stfs f0, 0x150(r4) -/* 8021ED20 38 63 00 04 */ addi r3, r3, 4 -/* 8021ED24 42 00 FF F0 */ bdnz lbl_8021ED14 -/* 8021ED28 C0 02 AF CC */ lfs f0, lit_4663(r2) -/* 8021ED2C D0 1F 01 58 */ stfs f0, 0x158(r31) -/* 8021ED30 38 80 00 00 */ li r4, 0 -/* 8021ED34 98 9F 01 E4 */ stb r4, 0x1e4(r31) -/* 8021ED38 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021ED3C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021ED40 88 03 00 14 */ lbz r0, 0x14(r3) -/* 8021ED44 98 1F 01 E2 */ stb r0, 0x1e2(r31) -/* 8021ED48 98 9F 01 E3 */ stb r4, 0x1e3(r31) -/* 8021ED4C 98 9F 01 FE */ stb r4, 0x1fe(r31) -/* 8021ED50 98 9F 01 FD */ stb r4, 0x1fd(r31) -/* 8021ED54 98 9F 01 FF */ stb r4, 0x1ff(r31) -/* 8021ED58 98 9F 02 00 */ stb r4, 0x200(r31) -/* 8021ED5C 98 9F 02 01 */ stb r4, 0x201(r31) -/* 8021ED60 88 03 00 16 */ lbz r0, 0x16(r3) -/* 8021ED64 98 1F 01 C7 */ stb r0, 0x1c7(r31) -/* 8021ED68 88 03 5E 1C */ lbz r0, 0x5e1c(r3) -/* 8021ED6C 98 1F 01 C8 */ stb r0, 0x1c8(r31) -/* 8021ED70 88 03 5E 42 */ lbz r0, 0x5e42(r3) -/* 8021ED74 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f -/* 8021ED78 98 1F 01 DE */ stb r0, 0x1de(r31) -/* 8021ED7C 88 03 5E 5E */ lbz r0, 0x5e5e(r3) -/* 8021ED80 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f -/* 8021ED84 98 1F 01 DF */ stb r0, 0x1df(r31) -/* 8021ED88 88 03 5E 62 */ lbz r0, 0x5e62(r3) -/* 8021ED8C 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f -/* 8021ED90 98 1F 01 E0 */ stb r0, 0x1e0(r31) -/* 8021ED94 3B 20 00 00 */ li r25, 0 -lbl_8021ED98: -/* 8021ED98 7F 23 CB 78 */ mr r3, r25 -/* 8021ED9C 4B E0 F0 59 */ bl dComIfGp_setSelectItem__Fi -/* 8021EDA0 3B 39 00 01 */ addi r25, r25, 1 -/* 8021EDA4 2C 19 00 02 */ cmpwi r25, 2 -/* 8021EDA8 41 80 FF F0 */ blt lbl_8021ED98 -/* 8021EDAC 38 60 00 00 */ li r3, 0 -/* 8021EDB0 4B E0 F1 6D */ bl dComIfGp_getSelectItem__Fi -/* 8021EDB4 98 7F 01 D2 */ stb r3, 0x1d2(r31) -/* 8021EDB8 38 60 00 01 */ li r3, 1 -/* 8021EDBC 4B E0 F1 61 */ bl dComIfGp_getSelectItem__Fi -/* 8021EDC0 98 7F 01 D4 */ stb r3, 0x1d4(r31) -/* 8021EDC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021EDC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021EDCC 88 03 5E 5C */ lbz r0, 0x5e5c(r3) -/* 8021EDD0 98 1F 01 D3 */ stb r0, 0x1d3(r31) -/* 8021EDD4 88 03 5E 60 */ lbz r0, 0x5e60(r3) -/* 8021EDD8 98 1F 01 D5 */ stb r0, 0x1d5(r31) -/* 8021EDDC C0 02 AF C8 */ lfs f0, lit_4662(r2) -/* 8021EDE0 D0 1F 01 88 */ stfs f0, 0x188(r31) -/* 8021EDE4 D0 1F 01 8C */ stfs f0, 0x18c(r31) -/* 8021EDE8 3B 20 00 00 */ li r25, 0 -/* 8021EDEC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021EDF0 3B 63 01 88 */ addi r27, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_8021EDF4: -/* 8021EDF4 7F 63 DB 78 */ mr r3, r27 -/* 8021EDF8 7F 24 CB 78 */ mr r4, r25 -/* 8021EDFC 4B FF DB 55 */ bl isDirectUseItem__13dMeter2Info_cFi -/* 8021EE00 7F 5F CA 14 */ add r26, r31, r25 -/* 8021EE04 98 7A 01 D6 */ stb r3, 0x1d6(r26) -/* 8021EE08 7F 23 CB 78 */ mr r3, r25 -/* 8021EE0C 4B E0 F7 B5 */ bl dComIfGp_getSelectItemNum__Fi -/* 8021EE10 98 7A 01 D8 */ stb r3, 0x1d8(r26) -/* 8021EE14 3B 39 00 01 */ addi r25, r25, 1 -/* 8021EE18 2C 19 00 02 */ cmpwi r25, 2 -/* 8021EE1C 41 80 FF D8 */ blt lbl_8021EDF4 -/* 8021EE20 38 00 00 00 */ li r0, 0 -/* 8021EE24 98 1F 01 E1 */ stb r0, 0x1e1(r31) -/* 8021EE28 B0 1F 01 B4 */ sth r0, 0x1b4(r31) -/* 8021EE2C C0 02 AF C8 */ lfs f0, lit_4662(r2) -/* 8021EE30 D0 1F 01 5C */ stfs f0, 0x15c(r31) -/* 8021EE34 38 60 00 00 */ li r3, 0 -/* 8021EE38 38 00 00 04 */ li r0, 4 -/* 8021EE3C 7C 09 03 A6 */ mtctr r0 -lbl_8021EE40: -/* 8021EE40 7C 9F 1A 14 */ add r4, r31, r3 -/* 8021EE44 D0 04 01 60 */ stfs f0, 0x160(r4) -/* 8021EE48 D0 04 01 74 */ stfs f0, 0x174(r4) -/* 8021EE4C 38 63 00 04 */ addi r3, r3, 4 -/* 8021EE50 42 00 FF F0 */ bdnz lbl_8021EE40 -/* 8021EE54 38 80 00 00 */ li r4, 0 -/* 8021EE58 B0 9F 01 90 */ sth r4, 0x190(r31) -/* 8021EE5C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021EE60 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021EE64 88 03 5E 33 */ lbz r0, 0x5e33(r3) -/* 8021EE68 98 1F 01 C9 */ stb r0, 0x1c9(r31) -/* 8021EE6C 88 03 5E 26 */ lbz r0, 0x5e26(r3) -/* 8021EE70 98 1F 01 CA */ stb r0, 0x1ca(r31) -/* 8021EE74 88 03 5E 2F */ lbz r0, 0x5e2f(r3) -/* 8021EE78 98 1F 01 CB */ stb r0, 0x1cb(r31) -/* 8021EE7C 88 03 5E 32 */ lbz r0, 0x5e32(r3) -/* 8021EE80 98 1F 01 CC */ stb r0, 0x1cc(r31) -/* 8021EE84 88 03 5E 1F */ lbz r0, 0x5e1f(r3) -/* 8021EE88 98 1F 01 CD */ stb r0, 0x1cd(r31) -/* 8021EE8C 88 03 5E 21 */ lbz r0, 0x5e21(r3) -/* 8021EE90 98 1F 01 CE */ stb r0, 0x1ce(r31) -/* 8021EE94 88 03 5E 64 */ lbz r0, 0x5e64(r3) -/* 8021EE98 98 1F 01 CF */ stb r0, 0x1cf(r31) -/* 8021EE9C 88 03 5E 68 */ lbz r0, 0x5e68(r3) -/* 8021EEA0 98 1F 01 D0 */ stb r0, 0x1d0(r31) -/* 8021EEA4 88 03 5E 20 */ lbz r0, 0x5e20(r3) -/* 8021EEA8 98 1F 01 D1 */ stb r0, 0x1d1(r31) -/* 8021EEAC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021EEB0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021EEB4 A0 03 00 AE */ lhz r0, 0xae(r3) -/* 8021EEB8 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f -/* 8021EEBC 90 1F 01 AC */ stw r0, 0x1ac(r31) -/* 8021EEC0 B0 9F 01 9A */ sth r4, 0x19a(r31) -/* 8021EEC4 38 60 08 64 */ li r3, 0x864 -/* 8021EEC8 48 0A FD 85 */ bl __nw__FUl -/* 8021EECC 7C 60 1B 79 */ or. r0, r3, r3 -/* 8021EED0 41 82 00 10 */ beq lbl_8021EEE0 -/* 8021EED4 80 9F 01 00 */ lwz r4, 0x100(r31) -/* 8021EED8 4B FF 0B DD */ bl __ct__13dMeter2Draw_cFP10JKRExpHeap -/* 8021EEDC 7C 60 1B 78 */ mr r0, r3 -lbl_8021EEE0: -/* 8021EEE0 90 1F 01 0C */ stw r0, 0x10c(r31) -/* 8021EEE4 80 7F 01 0C */ lwz r3, 0x10c(r31) -/* 8021EEE8 4B FF 6E C1 */ bl getNowLightDropRateCalc__13dMeter2Draw_cFv -/* 8021EEEC D0 3F 01 30 */ stfs f1, 0x130(r31) -/* 8021EEF0 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8021EEF4 48 0A F8 91 */ bl getTotalFreeSize__7JKRHeapFv -/* 8021EEF8 3B 20 00 00 */ li r25, 0 -/* 8021EEFC 3B 80 00 00 */ li r28, 0 -lbl_8021EF00: -/* 8021EF00 80 1F 01 28 */ lwz r0, 0x128(r31) -/* 8021EF04 28 00 00 00 */ cmplwi r0, 0 -/* 8021EF08 40 82 01 48 */ bne lbl_8021F050 -/* 8021EF0C 38 1C 01 D2 */ addi r0, r28, 0x1d2 -/* 8021EF10 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 8021EF14 28 00 00 50 */ cmplwi r0, 0x50 -/* 8021EF18 41 82 00 1C */ beq lbl_8021EF34 -/* 8021EF1C 28 00 00 70 */ cmplwi r0, 0x70 -/* 8021EF20 41 82 00 14 */ beq lbl_8021EF34 -/* 8021EF24 28 00 00 71 */ cmplwi r0, 0x71 -/* 8021EF28 41 82 00 0C */ beq lbl_8021EF34 -/* 8021EF2C 28 00 00 72 */ cmplwi r0, 0x72 -/* 8021EF30 40 82 00 30 */ bne lbl_8021EF60 -lbl_8021EF34: -/* 8021EF34 7F 23 CB 78 */ mr r3, r25 -/* 8021EF38 4B E0 F7 51 */ bl dComIfGp_getSelectItemMaxNum__Fi -/* 8021EF3C 54 7B 06 3E */ clrlwi r27, r3, 0x18 -/* 8021EF40 7F 23 CB 78 */ mr r3, r25 -/* 8021EF44 4B E0 F6 7D */ bl dComIfGp_getSelectItemNum__Fi -/* 8021EF48 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8021EF4C 80 7F 01 0C */ lwz r3, 0x10c(r31) -/* 8021EF50 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8021EF54 7F 66 DB 78 */ mr r6, r27 -/* 8021EF58 4B FF BC 2D */ bl setItemNum__13dMeter2Draw_cFUcUcUc -/* 8021EF5C 48 00 00 F4 */ b lbl_8021F050 -lbl_8021EF60: -/* 8021EF60 28 00 00 76 */ cmplwi r0, 0x76 -/* 8021EF64 40 82 00 30 */ bne lbl_8021EF94 -/* 8021EF68 7F 23 CB 78 */ mr r3, r25 -/* 8021EF6C 4B E0 F7 1D */ bl dComIfGp_getSelectItemMaxNum__Fi -/* 8021EF70 54 7B 06 3E */ clrlwi r27, r3, 0x18 -/* 8021EF74 7F 23 CB 78 */ mr r3, r25 -/* 8021EF78 4B E0 F6 49 */ bl dComIfGp_getSelectItemNum__Fi -/* 8021EF7C 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8021EF80 80 7F 01 0C */ lwz r3, 0x10c(r31) -/* 8021EF84 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8021EF88 7F 66 DB 78 */ mr r6, r27 -/* 8021EF8C 4B FF BB F9 */ bl setItemNum__13dMeter2Draw_cFUcUcUc -/* 8021EF90 48 00 00 C0 */ b lbl_8021F050 -lbl_8021EF94: -/* 8021EF94 28 00 00 43 */ cmplwi r0, 0x43 -/* 8021EF98 41 82 00 2C */ beq lbl_8021EFC4 -/* 8021EF9C 28 00 00 53 */ cmplwi r0, 0x53 -/* 8021EFA0 41 82 00 24 */ beq lbl_8021EFC4 -/* 8021EFA4 28 00 00 54 */ cmplwi r0, 0x54 -/* 8021EFA8 41 82 00 1C */ beq lbl_8021EFC4 -/* 8021EFAC 28 00 00 55 */ cmplwi r0, 0x55 -/* 8021EFB0 41 82 00 14 */ beq lbl_8021EFC4 -/* 8021EFB4 28 00 00 56 */ cmplwi r0, 0x56 -/* 8021EFB8 41 82 00 0C */ beq lbl_8021EFC4 -/* 8021EFBC 28 00 00 5A */ cmplwi r0, 0x5a -/* 8021EFC0 40 82 00 1C */ bne lbl_8021EFDC -lbl_8021EFC4: -/* 8021EFC4 88 DD 00 00 */ lbz r6, 0(r29) -/* 8021EFC8 80 7F 01 0C */ lwz r3, 0x10c(r31) -/* 8021EFCC 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8021EFD0 88 BF 01 DA */ lbz r5, 0x1da(r31) -/* 8021EFD4 4B FF BB B1 */ bl setItemNum__13dMeter2Draw_cFUcUcUc -/* 8021EFD8 48 00 00 78 */ b lbl_8021F050 -lbl_8021EFDC: -/* 8021EFDC 28 00 00 4B */ cmplwi r0, 0x4b -/* 8021EFE0 40 82 00 1C */ bne lbl_8021EFFC -/* 8021EFE4 80 7F 01 0C */ lwz r3, 0x10c(r31) -/* 8021EFE8 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8021EFEC 88 BF 01 DB */ lbz r5, 0x1db(r31) -/* 8021EFF0 38 C0 00 32 */ li r6, 0x32 -/* 8021EFF4 4B FF BB 91 */ bl setItemNum__13dMeter2Draw_cFUcUcUc -/* 8021EFF8 48 00 00 58 */ b lbl_8021F050 -lbl_8021EFFC: -/* 8021EFFC 28 00 00 59 */ cmplwi r0, 0x59 -/* 8021F000 40 82 00 50 */ bne lbl_8021F050 -/* 8021F004 7F 23 CB 78 */ mr r3, r25 -/* 8021F008 4B E0 F5 B9 */ bl dComIfGp_getSelectItemNum__Fi -/* 8021F00C 54 7A 06 3E */ clrlwi r26, r3, 0x18 -/* 8021F010 7F 23 CB 78 */ mr r3, r25 -/* 8021F014 4B E0 F6 75 */ bl dComIfGp_getSelectItemMaxNum__Fi -/* 8021F018 54 66 06 3E */ clrlwi r6, r3, 0x18 -/* 8021F01C 88 1F 01 DA */ lbz r0, 0x1da(r31) -/* 8021F020 7C 1A 00 40 */ cmplw r26, r0 -/* 8021F024 40 81 00 08 */ ble lbl_8021F02C -/* 8021F028 7C 1A 03 78 */ mr r26, r0 -lbl_8021F02C: -/* 8021F02C 88 7D 00 00 */ lbz r3, 0(r29) -/* 8021F030 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8021F034 7C 06 00 40 */ cmplw r6, r0 -/* 8021F038 40 80 00 08 */ bge lbl_8021F040 -/* 8021F03C 7C 66 1B 78 */ mr r6, r3 -lbl_8021F040: -/* 8021F040 80 7F 01 0C */ lwz r3, 0x10c(r31) -/* 8021F044 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8021F048 7F 45 D3 78 */ mr r5, r26 -/* 8021F04C 4B FF BB 39 */ bl setItemNum__13dMeter2Draw_cFUcUcUc -lbl_8021F050: -/* 8021F050 3B 39 00 01 */ addi r25, r25, 1 -/* 8021F054 2C 19 00 02 */ cmpwi r25, 2 -/* 8021F058 3B 9C 00 02 */ addi r28, r28, 2 -/* 8021F05C 41 80 FE A4 */ blt lbl_8021EF00 -/* 8021F060 38 00 00 00 */ li r0, 0 -/* 8021F064 90 1F 01 20 */ stw r0, 0x120(r31) -/* 8021F068 4B FE E5 E9 */ bl isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv -/* 8021F06C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8021F070 41 82 00 2C */ beq lbl_8021F09C -/* 8021F074 38 60 00 34 */ li r3, 0x34 -/* 8021F078 48 0A FB D5 */ bl __nw__FUl -/* 8021F07C 7C 60 1B 79 */ or. r0, r3, r3 -/* 8021F080 41 82 00 14 */ beq lbl_8021F094 -/* 8021F084 80 9F 01 0C */ lwz r4, 0x10c(r31) -/* 8021F088 80 84 00 78 */ lwz r4, 0x78(r4) -/* 8021F08C 4B FE E8 BD */ bl __ct__11dMeterMap_cFP9J2DScreen -/* 8021F090 7C 60 1B 78 */ mr r0, r3 -lbl_8021F094: -/* 8021F094 90 1F 01 20 */ stw r0, 0x120(r31) -/* 8021F098 48 00 00 20 */ b lbl_8021F0B8 -lbl_8021F09C: -/* 8021F09C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021F0A0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021F0A4 88 03 00 BF */ lbz r0, 0xbf(r3) -/* 8021F0A8 28 00 00 02 */ cmplwi r0, 2 -/* 8021F0AC 40 82 00 0C */ bne lbl_8021F0B8 -/* 8021F0B0 38 00 00 00 */ li r0, 0 -/* 8021F0B4 98 03 00 BF */ stb r0, 0xbf(r3) -lbl_8021F0B8: -/* 8021F0B8 80 1F 01 20 */ lwz r0, 0x120(r31) -/* 8021F0BC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021F0C0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021F0C4 90 03 00 20 */ stw r0, 0x20(r3) -/* 8021F0C8 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8021F0CC 48 0A F6 B9 */ bl getTotalFreeSize__7JKRHeapFv -/* 8021F0D0 38 60 50 00 */ li r3, 0x5000 -/* 8021F0D4 80 9F 01 00 */ lwz r4, 0x100(r31) -/* 8021F0D8 4B E0 12 C5 */ bl fopMsgM_createExpHeap__FUlP7JKRHeap -/* 8021F0DC 90 7F 01 04 */ stw r3, 0x104(r31) -/* 8021F0E0 38 00 00 00 */ li r0, 0 -/* 8021F0E4 90 1F 01 08 */ stw r0, 0x108(r31) -/* 8021F0E8 90 1F 01 10 */ stw r0, 0x110(r31) -/* 8021F0EC 90 1F 01 14 */ stw r0, 0x114(r31) -/* 8021F0F0 90 1F 01 18 */ stw r0, 0x118(r31) -/* 8021F0F4 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8021F0F8 48 0A F6 8D */ bl getTotalFreeSize__7JKRHeapFv -/* 8021F0FC 38 00 00 00 */ li r0, 0 -/* 8021F100 90 1F 01 1C */ stw r0, 0x11c(r31) -/* 8021F104 7F C3 F3 78 */ mr r3, r30 -/* 8021F108 4B DF 00 C5 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8021F10C 38 60 00 04 */ li r3, 4 -/* 8021F110 39 61 00 30 */ addi r11, r1, 0x30 -/* 8021F114 48 14 31 05 */ bl _restgpr_25 -/* 8021F118 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8021F11C 7C 08 03 A6 */ mtlr r0 -/* 8021F120 38 21 00 30 */ addi r1, r1, 0x30 -/* 8021F124 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/_execute__9dMeter2_cFv.s b/asm/d/meter/d_meter2/_execute__9dMeter2_cFv.s deleted file mode 100644 index fd5992d20b..0000000000 --- a/asm/d/meter/d_meter2/_execute__9dMeter2_cFv.s +++ /dev/null @@ -1,152 +0,0 @@ -lbl_8021F128: -/* 8021F128 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8021F12C 7C 08 02 A6 */ mflr r0 -/* 8021F130 90 01 00 24 */ stw r0, 0x24(r1) -/* 8021F134 39 61 00 20 */ addi r11, r1, 0x20 -/* 8021F138 48 14 30 A5 */ bl _savegpr_29 -/* 8021F13C 7C 7D 1B 78 */ mr r29, r3 -/* 8021F140 80 63 01 00 */ lwz r3, 0x100(r3) -/* 8021F144 4B DF 00 89 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8021F148 7C 7F 1B 78 */ mr r31, r3 -/* 8021F14C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F150 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F154 3B C3 01 00 */ addi r30, r3, 0x100 -/* 8021F158 7F C3 F3 78 */ mr r3, r30 -/* 8021F15C 38 80 00 00 */ li r4, 0 -/* 8021F160 4B E1 51 31 */ bl isCollectMirror__20dSv_player_collect_cCFUc -/* 8021F164 2C 03 00 00 */ cmpwi r3, 0 -/* 8021F168 40 82 00 2C */ bne lbl_8021F194 -/* 8021F16C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F170 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F174 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8021F178 38 80 54 20 */ li r4, 0x5420 -/* 8021F17C 4B E1 58 41 */ bl isEventBit__11dSv_event_cCFUs -/* 8021F180 2C 03 00 00 */ cmpwi r3, 0 -/* 8021F184 41 82 00 10 */ beq lbl_8021F194 -/* 8021F188 7F C3 F3 78 */ mr r3, r30 -/* 8021F18C 38 80 00 00 */ li r4, 0 -/* 8021F190 4B E1 50 E1 */ bl onCollectMirror__20dSv_player_collect_cFUc -lbl_8021F194: -/* 8021F194 7F C3 F3 78 */ mr r3, r30 -/* 8021F198 38 80 00 03 */ li r4, 3 -/* 8021F19C 4B E1 50 B1 */ bl isCollectCrystal__20dSv_player_collect_cCFUc -/* 8021F1A0 2C 03 00 00 */ cmpwi r3, 0 -/* 8021F1A4 40 82 00 2C */ bne lbl_8021F1D0 -/* 8021F1A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F1AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F1B0 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8021F1B4 38 80 54 10 */ li r4, 0x5410 -/* 8021F1B8 4B E1 58 05 */ bl isEventBit__11dSv_event_cCFUs -/* 8021F1BC 2C 03 00 00 */ cmpwi r3, 0 -/* 8021F1C0 41 82 00 10 */ beq lbl_8021F1D0 -/* 8021F1C4 7F C3 F3 78 */ mr r3, r30 -/* 8021F1C8 38 80 00 03 */ li r4, 3 -/* 8021F1CC 4B E1 50 61 */ bl onCollectCrystal__20dSv_player_collect_cFUc -lbl_8021F1D0: -/* 8021F1D0 7F A3 EB 78 */ mr r3, r29 -/* 8021F1D4 48 00 05 DD */ bl checkStatus__9dMeter2_cFv -/* 8021F1D8 80 7D 01 0C */ lwz r3, 0x10c(r29) -/* 8021F1DC 80 9D 01 24 */ lwz r4, 0x124(r29) -/* 8021F1E0 4B FF 21 7D */ bl exec__13dMeter2Draw_cFUl -/* 8021F1E4 7F A3 EB 78 */ mr r3, r29 -/* 8021F1E8 48 00 0B 79 */ bl moveLife__9dMeter2_cFv -/* 8021F1EC 7F A3 EB 78 */ mr r3, r29 -/* 8021F1F0 48 00 0F 91 */ bl moveKantera__9dMeter2_cFv -/* 8021F1F4 7F A3 EB 78 */ mr r3, r29 -/* 8021F1F8 48 00 13 25 */ bl moveOxygen__9dMeter2_cFv -/* 8021F1FC 7F A3 EB 78 */ mr r3, r29 -/* 8021F200 48 00 16 89 */ bl moveLightDrop__9dMeter2_cFv -/* 8021F204 7F A3 EB 78 */ mr r3, r29 -/* 8021F208 48 00 1A 29 */ bl moveRupee__9dMeter2_cFv -/* 8021F20C 7F A3 EB 78 */ mr r3, r29 -/* 8021F210 48 00 1E 9D */ bl moveKey__9dMeter2_cFv -/* 8021F214 7F A3 EB 78 */ mr r3, r29 -/* 8021F218 48 00 33 01 */ bl moveButtonXY__9dMeter2_cFv -/* 8021F21C 7F A3 EB 78 */ mr r3, r29 -/* 8021F220 48 00 20 25 */ bl moveButtonA__9dMeter2_cFv -/* 8021F224 7F A3 EB 78 */ mr r3, r29 -/* 8021F228 48 00 25 CD */ bl moveButtonB__9dMeter2_cFv -/* 8021F22C 7F A3 EB 78 */ mr r3, r29 -/* 8021F230 48 00 2C 99 */ bl moveButtonR__9dMeter2_cFv -/* 8021F234 7F A3 EB 78 */ mr r3, r29 -/* 8021F238 48 00 2D C9 */ bl moveButtonZ__9dMeter2_cFv -/* 8021F23C 7F A3 EB 78 */ mr r3, r29 -/* 8021F240 48 00 30 61 */ bl moveButton3D__9dMeter2_cFv -/* 8021F244 7F A3 EB 78 */ mr r3, r29 -/* 8021F248 48 00 31 1D */ bl moveButtonC__9dMeter2_cFv -/* 8021F24C 7F A3 EB 78 */ mr r3, r29 -/* 8021F250 48 00 32 45 */ bl moveButtonS__9dMeter2_cFv -/* 8021F254 7F A3 EB 78 */ mr r3, r29 -/* 8021F258 48 00 3C 31 */ bl moveButtonCross__9dMeter2_cFv -/* 8021F25C 7F A3 EB 78 */ mr r3, r29 -/* 8021F260 48 00 3E 99 */ bl moveTouchSubMenu__9dMeter2_cFv -/* 8021F264 7F A3 EB 78 */ mr r3, r29 -/* 8021F268 48 00 4B 99 */ bl moveBombNum__9dMeter2_cFv -/* 8021F26C 7F A3 EB 78 */ mr r3, r29 -/* 8021F270 48 00 50 E5 */ bl moveArrowNum__9dMeter2_cFv -/* 8021F274 7F A3 EB 78 */ mr r3, r29 -/* 8021F278 48 00 54 09 */ bl movePachinkoNum__9dMeter2_cFv -/* 8021F27C 7F A3 EB 78 */ mr r3, r29 -/* 8021F280 48 00 4F D9 */ bl moveBottleNum__9dMeter2_cFv -/* 8021F284 80 7D 01 20 */ lwz r3, 0x120(r29) -/* 8021F288 28 03 00 00 */ cmplwi r3, 0 -/* 8021F28C 41 82 00 10 */ beq lbl_8021F29C -/* 8021F290 80 9D 01 24 */ lwz r4, 0x124(r29) -/* 8021F294 4B FE EA 51 */ bl _move__11dMeterMap_cFUl -/* 8021F298 48 00 00 0C */ b lbl_8021F2A4 -lbl_8021F29C: -/* 8021F29C 80 7D 01 24 */ lwz r3, 0x124(r29) -/* 8021F2A0 4B FE F4 B5 */ bl meter_map_move__11dMeterMap_cFUl -lbl_8021F2A4: -/* 8021F2A4 7F A3 EB 78 */ mr r3, r29 -/* 8021F2A8 48 00 3E 55 */ bl moveSubContents__9dMeter2_cFv -/* 8021F2AC 7F A3 EB 78 */ mr r3, r29 -/* 8021F2B0 48 00 3F 19 */ bl move2DContents__9dMeter2_cFv -/* 8021F2B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F2B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F2BC 88 03 5E B5 */ lbz r0, 0x5eb5(r3) -/* 8021F2C0 28 00 00 00 */ cmplwi r0, 0 -/* 8021F2C4 40 82 00 1C */ bne lbl_8021F2E0 -/* 8021F2C8 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8021F2CC 28 00 00 00 */ cmplwi r0, 0 -/* 8021F2D0 40 82 00 10 */ bne lbl_8021F2E0 -/* 8021F2D4 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021F2D8 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021F2DC 4B FF EA 05 */ bl decHotSpringTimer__13dMeter2Info_cFv -lbl_8021F2E0: -/* 8021F2E0 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8021F2E4 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8021F2E8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021F2EC 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021F2F0 B0 03 00 AE */ sth r0, 0xae(r3) -/* 8021F2F4 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8021F2F8 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13 -/* 8021F2FC B0 03 00 AE */ sth r0, 0xae(r3) -/* 8021F300 38 00 00 00 */ li r0, 0 -/* 8021F304 B0 03 00 B0 */ sth r0, 0xb0(r3) -/* 8021F308 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F30C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F310 98 03 5E 1F */ stb r0, 0x5e1f(r3) -/* 8021F314 98 03 5E 28 */ stb r0, 0x5e28(r3) -/* 8021F318 98 03 5E 45 */ stb r0, 0x5e45(r3) -/* 8021F31C 98 03 5E 21 */ stb r0, 0x5e21(r3) -/* 8021F320 98 03 5E 2A */ stb r0, 0x5e2a(r3) -/* 8021F324 98 03 5E 47 */ stb r0, 0x5e47(r3) -/* 8021F328 98 03 5E 64 */ stb r0, 0x5e64(r3) -/* 8021F32C 98 03 5E 65 */ stb r0, 0x5e65(r3) -/* 8021F330 98 03 5E 68 */ stb r0, 0x5e68(r3) -/* 8021F334 98 03 5E 69 */ stb r0, 0x5e69(r3) -/* 8021F338 98 03 5E 20 */ stb r0, 0x5e20(r3) -/* 8021F33C 98 03 5E 46 */ stb r0, 0x5e46(r3) -/* 8021F340 98 03 5E 2F */ stb r0, 0x5e2f(r3) -/* 8021F344 98 03 5E 30 */ stb r0, 0x5e30(r3) -/* 8021F348 98 03 5E 4C */ stb r0, 0x5e4c(r3) -/* 8021F34C 7F E3 FB 78 */ mr r3, r31 -/* 8021F350 4B DE FE 7D */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8021F354 38 60 00 01 */ li r3, 1 -/* 8021F358 39 61 00 20 */ addi r11, r1, 0x20 -/* 8021F35C 48 14 2E CD */ bl _restgpr_29 -/* 8021F360 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8021F364 7C 08 03 A6 */ mtlr r0 -/* 8021F368 38 21 00 20 */ addi r1, r1, 0x20 -/* 8021F36C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/dMeter2_Delete__FP9dMeter2_c.s b/asm/d/meter/d_meter2/dMeter2_Delete__FP9dMeter2_c.s deleted file mode 100644 index 96ffc3b69b..0000000000 --- a/asm/d/meter/d_meter2/dMeter2_Delete__FP9dMeter2_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80225AE8: -/* 80225AE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80225AEC 7C 08 02 A6 */ mflr r0 -/* 80225AF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80225AF4 4B FF 99 A9 */ bl _delete__9dMeter2_cFv -/* 80225AF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225AFC 7C 08 03 A6 */ mtlr r0 -/* 80225B00 38 21 00 10 */ addi r1, r1, 0x10 -/* 80225B04 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/dMeter2_Draw__FP9dMeter2_c.s b/asm/d/meter/d_meter2/dMeter2_Draw__FP9dMeter2_c.s deleted file mode 100644 index fa8a5066ce..0000000000 --- a/asm/d/meter/d_meter2/dMeter2_Draw__FP9dMeter2_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80225AA0: -/* 80225AA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80225AA4 7C 08 02 A6 */ mflr r0 -/* 80225AA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80225AAC 4B FF 98 C5 */ bl _draw__9dMeter2_cFv -/* 80225AB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225AB4 7C 08 03 A6 */ mtlr r0 -/* 80225AB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80225ABC 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/dMeter2_Execute__FP9dMeter2_c.s b/asm/d/meter/d_meter2/dMeter2_Execute__FP9dMeter2_c.s deleted file mode 100644 index ba09d9cdc1..0000000000 --- a/asm/d/meter/d_meter2/dMeter2_Execute__FP9dMeter2_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80225AC0: -/* 80225AC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80225AC4 7C 08 02 A6 */ mflr r0 -/* 80225AC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80225ACC 4B FF 96 5D */ bl _execute__9dMeter2_cFv -/* 80225AD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225AD4 7C 08 03 A6 */ mtlr r0 -/* 80225AD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80225ADC 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/setLifeZero__9dMeter2_cFv.s b/asm/d/meter/d_meter2/setLifeZero__9dMeter2_cFv.s deleted file mode 100644 index d23f1b9b8d..0000000000 --- a/asm/d/meter/d_meter2/setLifeZero__9dMeter2_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8021F780: -/* 8021F780 38 00 00 01 */ li r0, 1 -/* 8021F784 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F788 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F78C B0 04 00 02 */ sth r0, 2(r4) -/* 8021F790 B0 03 01 92 */ sth r0, 0x192(r3) -/* 8021F794 C0 24 5D C0 */ lfs f1, 0x5dc0(r4) -/* 8021F798 C0 02 AF D0 */ lfs f0, lit_4837(r2) -/* 8021F79C EC 01 00 2A */ fadds f0, f1, f0 -/* 8021F7A0 D0 04 5D C0 */ stfs f0, 0x5dc0(r4) -/* 8021F7A4 38 00 00 00 */ li r0, 0 -/* 8021F7A8 98 04 5E B6 */ stb r0, 0x5eb6(r4) -/* 8021F7AC 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__sinit_d_meter_HIO_cpp.s b/asm/d/meter/d_meter_HIO/__sinit_d_meter_HIO_cpp.s deleted file mode 100644 index 802e6d12d3..0000000000 --- a/asm/d/meter/d_meter_HIO/__sinit_d_meter_HIO_cpp.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80201284: -/* 80201284 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80201288 7C 08 02 A6 */ mflr r0 -/* 8020128C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80201290 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80201294 3C 60 80 43 */ lis r3, lit_3766@ha /* 0x8042EBB0@ha */ -/* 80201298 3B E3 EB B0 */ addi r31, r3, lit_3766@l /* 0x8042EBB0@l */ -/* 8020129C 38 6D 8B 30 */ la r3, g_menuHIO(r13) /* 804510B0-_SDA_BASE_ */ -/* 802012A0 4B FF D0 91 */ bl __ct__16dMeter_menuHIO_cFv -/* 802012A4 3C 80 80 20 */ lis r4, __dt__16dMeter_menuHIO_cFv@ha /* 0x8020123C@ha */ -/* 802012A8 38 84 12 3C */ addi r4, r4, __dt__16dMeter_menuHIO_cFv@l /* 0x8020123C@l */ -/* 802012AC 38 BF 00 00 */ addi r5, r31, 0 -/* 802012B0 48 16 09 75 */ bl __register_global_object -/* 802012B4 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802012B8 4B FF E3 01 */ bl __ct__16dMeter_drawHIO_cFv -/* 802012BC 3C 80 80 20 */ lis r4, __dt__16dMeter_drawHIO_cFv@ha /* 0x80201128@ha */ -/* 802012C0 38 84 11 28 */ addi r4, r4, __dt__16dMeter_drawHIO_cFv@l /* 0x80201128@l */ -/* 802012C4 38 BF 00 0C */ addi r5, r31, 0xc -/* 802012C8 48 16 09 5D */ bl __register_global_object -/* 802012CC 38 7F 0F 4C */ addi r3, r31, 0xf4c -/* 802012D0 4B FF EE DD */ bl __ct__16dMeter_ringHIO_cFv -/* 802012D4 3C 80 80 20 */ lis r4, __dt__16dMeter_ringHIO_cFv@ha /* 0x802010E0@ha */ -/* 802012D8 38 84 10 E0 */ addi r4, r4, __dt__16dMeter_ringHIO_cFv@l /* 0x802010E0@l */ -/* 802012DC 38 BF 0F 40 */ addi r5, r31, 0xf40 -/* 802012E0 48 16 09 45 */ bl __register_global_object -/* 802012E4 38 7F 10 B0 */ addi r3, r31, 0x10b0 -/* 802012E8 4B FF F3 E1 */ bl __ct__16dMeter_fmapHIO_cFv -/* 802012EC 3C 80 80 20 */ lis r4, __dt__16dMeter_fmapHIO_cFv@ha /* 0x80200BCC@ha */ -/* 802012F0 38 84 0B CC */ addi r4, r4, __dt__16dMeter_fmapHIO_cFv@l /* 0x80200BCC@l */ -/* 802012F4 38 BF 10 A4 */ addi r5, r31, 0x10a4 -/* 802012F8 48 16 09 2D */ bl __register_global_object -/* 802012FC 38 7F 15 60 */ addi r3, r31, 0x1560 -/* 80201300 4B FF F9 D5 */ bl __ct__18dMeter_cursorHIO_cFv -/* 80201304 3C 80 80 20 */ lis r4, __dt__18dMeter_cursorHIO_cFv@ha /* 0x80201098@ha */ -/* 80201308 38 84 10 98 */ addi r4, r4, __dt__18dMeter_cursorHIO_cFv@l /* 0x80201098@l */ -/* 8020130C 38 BF 15 54 */ addi r5, r31, 0x1554 -/* 80201310 48 16 09 15 */ bl __register_global_object -/* 80201314 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80201318 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020131C 7C 08 03 A6 */ mtlr r0 -/* 80201320 38 21 00 10 */ addi r1, r1, 0x10 -/* 80201324 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/__ct__11dMeterMap_cFP9J2DScreen.s b/asm/d/meter/d_meter_map/__ct__11dMeterMap_cFP9J2DScreen.s deleted file mode 100644 index cc6e3a0b58..0000000000 --- a/asm/d/meter/d_meter_map/__ct__11dMeterMap_cFP9J2DScreen.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8020D948: -/* 8020D948 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020D94C 7C 08 02 A6 */ mflr r0 -/* 8020D950 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020D954 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020D958 7C 7F 1B 78 */ mr r31, r3 -/* 8020D95C 3C A0 80 3A */ lis r5, __vt__12dDlst_base_c@ha /* 0x803A6F88@ha */ -/* 8020D960 38 05 6F 88 */ addi r0, r5, __vt__12dDlst_base_c@l /* 0x803A6F88@l */ -/* 8020D964 90 03 00 00 */ stw r0, 0(r3) -/* 8020D968 3C A0 80 3C */ lis r5, __vt__11dMeterMap_c@ha /* 0x803BF2F8@ha */ -/* 8020D96C 38 05 F2 F8 */ addi r0, r5, __vt__11dMeterMap_c@l /* 0x803BF2F8@l */ -/* 8020D970 90 03 00 00 */ stw r0, 0(r3) -/* 8020D974 48 00 00 79 */ bl _create__11dMeterMap_cFP9J2DScreen -/* 8020D978 7F E3 FB 78 */ mr r3, r31 -/* 8020D97C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020D980 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020D984 7C 08 03 A6 */ mtlr r0 -/* 8020D988 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020D98C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/__dt__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/__dt__11dMeterMap_cFv.s deleted file mode 100644 index 46a9804abe..0000000000 --- a/asm/d/meter/d_meter_map/__dt__11dMeterMap_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8020D990: -/* 8020D990 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020D994 7C 08 02 A6 */ mflr r0 -/* 8020D998 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020D99C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020D9A0 93 C1 00 08 */ stw r30, 8(r1) -/* 8020D9A4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8020D9A8 7C 9F 23 78 */ mr r31, r4 -/* 8020D9AC 41 82 00 24 */ beq lbl_8020D9D0 -/* 8020D9B0 3C 80 80 3C */ lis r4, __vt__11dMeterMap_c@ha /* 0x803BF2F8@ha */ -/* 8020D9B4 38 04 F2 F8 */ addi r0, r4, __vt__11dMeterMap_c@l /* 0x803BF2F8@l */ -/* 8020D9B8 90 1E 00 00 */ stw r0, 0(r30) -/* 8020D9BC 48 00 02 95 */ bl _delete__11dMeterMap_cFv -/* 8020D9C0 7F E0 07 35 */ extsh. r0, r31 -/* 8020D9C4 40 81 00 0C */ ble lbl_8020D9D0 -/* 8020D9C8 7F C3 F3 78 */ mr r3, r30 -/* 8020D9CC 48 0C 13 71 */ bl __dl__FPv -lbl_8020D9D0: -/* 8020D9D0 7F C3 F3 78 */ mr r3, r30 -/* 8020D9D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020D9D8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8020D9DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020D9E0 7C 08 03 A6 */ mtlr r0 -/* 8020D9E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020D9E8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/_delete__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/_delete__11dMeterMap_cFv.s deleted file mode 100644 index 7d20c62441..0000000000 --- a/asm/d/meter/d_meter_map/_delete__11dMeterMap_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_8020DC50: -/* 8020DC50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020DC54 7C 08 02 A6 */ mflr r0 -/* 8020DC58 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020DC5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020DC60 7C 7F 1B 78 */ mr r31, r3 -/* 8020DC64 80 63 00 04 */ lwz r3, 4(r3) -/* 8020DC68 28 03 00 00 */ cmplwi r3, 0 -/* 8020DC6C 41 82 00 1C */ beq lbl_8020DC88 -/* 8020DC70 41 82 00 18 */ beq lbl_8020DC88 -/* 8020DC74 38 80 00 01 */ li r4, 1 -/* 8020DC78 81 83 00 00 */ lwz r12, 0(r3) -/* 8020DC7C 81 8C 00 08 */ lwz r12, 8(r12) -/* 8020DC80 7D 89 03 A6 */ mtctr r12 -/* 8020DC84 4E 80 04 21 */ bctrl -lbl_8020DC88: -/* 8020DC88 80 7F 00 08 */ lwz r3, 8(r31) -/* 8020DC8C 28 03 00 00 */ cmplwi r3, 0 -/* 8020DC90 41 82 00 1C */ beq lbl_8020DCAC -/* 8020DC94 41 82 00 18 */ beq lbl_8020DCAC -/* 8020DC98 38 80 00 01 */ li r4, 1 -/* 8020DC9C 81 83 00 00 */ lwz r12, 0(r3) -/* 8020DCA0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8020DCA4 7D 89 03 A6 */ mtctr r12 -/* 8020DCA8 4E 80 04 21 */ bctrl -lbl_8020DCAC: -/* 8020DCAC 4B FF F9 A5 */ bl isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv -/* 8020DCB0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8020DCB4 41 82 00 1C */ beq lbl_8020DCD0 -/* 8020DCB8 88 1F 00 2D */ lbz r0, 0x2d(r31) -/* 8020DCBC 28 00 00 00 */ cmplwi r0, 0 -/* 8020DCC0 41 82 00 0C */ beq lbl_8020DCCC -/* 8020DCC4 4B E2 03 85 */ bl dComIfGp_mapShow__Fv -/* 8020DCC8 48 00 00 08 */ b lbl_8020DCD0 -lbl_8020DCCC: -/* 8020DCCC 4B E2 03 AD */ bl dComIfGp_mapHide__Fv -lbl_8020DCD0: -/* 8020DCD0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020DCD4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020DCD8 7C 08 03 A6 */ mtlr r0 -/* 8020DCDC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020DCE0 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/_draw__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/_draw__11dMeterMap_cFv.s deleted file mode 100644 index c9364a8867..0000000000 --- a/asm/d/meter/d_meter_map/_draw__11dMeterMap_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8020DF1C: -/* 8020DF1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020DF20 7C 08 02 A6 */ mflr r0 -/* 8020DF24 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020DF28 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020DF2C 7C 7F 1B 78 */ mr r31, r3 -/* 8020DF30 80 63 00 08 */ lwz r3, 8(r3) -/* 8020DF34 4B E1 CC 21 */ bl _draw__6dMap_cFv -/* 8020DF38 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8020DF3C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8020DF40 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8020DF44 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 8020DF48 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 8020DF4C 7F E6 FB 78 */ mr r6, r31 -/* 8020DF50 4B E4 88 45 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 8020DF54 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020DF58 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020DF5C 7C 08 03 A6 */ mtlr r0 -/* 8020DF60 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020DF64 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/draw__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/draw__11dMeterMap_cFv.s deleted file mode 100644 index 53dd74f1d4..0000000000 --- a/asm/d/meter/d_meter_map/draw__11dMeterMap_cFv.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_8020DF68: -/* 8020DF68 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8020DF6C 7C 08 02 A6 */ mflr r0 -/* 8020DF70 90 01 00 54 */ stw r0, 0x54(r1) -/* 8020DF74 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 8020DF78 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 8020DF7C DB C1 00 30 */ stfd f30, 0x30(r1) -/* 8020DF80 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 8020DF84 DB A1 00 20 */ stfd f29, 0x20(r1) -/* 8020DF88 F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */ -/* 8020DF8C DB 81 00 10 */ stfd f28, 0x10(r1) -/* 8020DF90 F3 81 00 18 */ psq_st f28, 24(r1), 0, 0 /* qr0 */ -/* 8020DF94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020DF98 7C 7F 1B 78 */ mr r31, r3 -/* 8020DF9C 80 63 00 08 */ lwz r3, 8(r3) -/* 8020DFA0 28 03 00 00 */ cmplwi r3, 0 -/* 8020DFA4 41 82 00 98 */ beq lbl_8020E03C -/* 8020DFA8 88 03 00 31 */ lbz r0, 0x31(r3) -/* 8020DFAC 28 00 00 00 */ cmplwi r0, 0 -/* 8020DFB0 41 82 00 8C */ beq lbl_8020E03C -/* 8020DFB4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8020DFB8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8020DFBC 80 63 5F 50 */ lwz r3, 0x5f50(r3) -/* 8020DFC0 81 83 00 00 */ lwz r12, 0(r3) -/* 8020DFC4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8020DFC8 7D 89 03 A6 */ mtctr r12 -/* 8020DFCC 4E 80 04 21 */ bctrl -/* 8020DFD0 C3 FF 00 20 */ lfs f31, 0x20(r31) -/* 8020DFD4 C3 DF 00 24 */ lfs f30, 0x24(r31) -/* 8020DFD8 C3 BF 00 18 */ lfs f29, 0x18(r31) -/* 8020DFDC C3 9F 00 1C */ lfs f28, 0x1c(r31) -/* 8020DFE0 80 7F 00 04 */ lwz r3, 4(r31) -/* 8020DFE4 88 9F 00 2C */ lbz r4, 0x2c(r31) -/* 8020DFE8 81 83 00 00 */ lwz r12, 0(r3) -/* 8020DFEC 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8020DFF0 7D 89 03 A6 */ mtctr r12 -/* 8020DFF4 4E 80 04 21 */ bctrl -/* 8020DFF8 80 7F 00 04 */ lwz r3, 4(r31) -/* 8020DFFC FC 20 E8 90 */ fmr f1, f29 -/* 8020E000 FC 40 E0 90 */ fmr f2, f28 -/* 8020E004 FC 60 F8 90 */ fmr f3, f31 -/* 8020E008 FC 80 F0 90 */ fmr f4, f30 -/* 8020E00C 38 80 00 00 */ li r4, 0 -/* 8020E010 38 A0 00 00 */ li r5, 0 -/* 8020E014 38 C0 00 00 */ li r6, 0 -/* 8020E018 81 83 00 00 */ lwz r12, 0(r3) -/* 8020E01C 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 8020E020 7D 89 03 A6 */ mtctr r12 -/* 8020E024 4E 80 04 21 */ bctrl -/* 8020E028 80 7F 00 04 */ lwz r3, 4(r31) -/* 8020E02C 81 83 00 00 */ lwz r12, 0(r3) -/* 8020E030 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8020E034 7D 89 03 A6 */ mtctr r12 -/* 8020E038 4E 80 04 21 */ bctrl -lbl_8020E03C: -/* 8020E03C E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 8020E040 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 8020E044 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 8020E048 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 8020E04C E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */ -/* 8020E050 CB A1 00 20 */ lfd f29, 0x20(r1) -/* 8020E054 E3 81 00 18 */ psq_l f28, 24(r1), 0, 0 /* qr0 */ -/* 8020E058 CB 81 00 10 */ lfd f28, 0x10(r1) -/* 8020E05C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020E060 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8020E064 7C 08 03 A6 */ mtlr r0 -/* 8020E068 38 21 00 50 */ addi r1, r1, 0x50 -/* 8020E06C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/getMapDispEdgeBottomY_Layout__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/getMapDispEdgeBottomY_Layout__11dMeterMap_cFv.s deleted file mode 100644 index d3ce0bfaa0..0000000000 --- a/asm/d/meter/d_meter_map/getMapDispEdgeBottomY_Layout__11dMeterMap_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8020D690: -/* 8020D690 C0 22 AE 20 */ lfs f1, lit_4076(r2) -/* 8020D694 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/isDmapScreen__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/isDmapScreen__11dMeterMap_cFv.s deleted file mode 100644 index ef4e47d88d..0000000000 --- a/asm/d/meter/d_meter_map/isDmapScreen__11dMeterMap_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8020E70C: -/* 8020E70C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020E710 7C 08 02 A6 */ mflr r0 -/* 8020E714 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020E718 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8020E71C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8020E720 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 8020E724 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020E728 7D 89 03 A6 */ mtctr r12 -/* 8020E72C 4E 80 04 21 */ bctrl -/* 8020E730 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8020E734 54 00 07 7E */ clrlwi r0, r0, 0x1d -/* 8020E738 20 00 00 01 */ subfic r0, r0, 1 -/* 8020E73C 7C 00 00 34 */ cntlzw r0, r0 -/* 8020E740 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 8020E744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020E748 7C 08 03 A6 */ mtlr r0 -/* 8020E74C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020E750 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv.s deleted file mode 100644 index cfc3ec8712..0000000000 --- a/asm/d/meter/d_meter_map/isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8020D650: -/* 8020D650 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020D654 7C 08 02 A6 */ mflr r0 -/* 8020D658 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020D65C 4B FF FE 41 */ bl isEnableDispMap__11dMeterMap_cFv -/* 8020D660 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8020D664 41 82 00 18 */ beq lbl_8020D67C -/* 8020D668 4B FF FE C1 */ bl getMapDispSizeTypeNo__11dMeterMap_cFv -/* 8020D66C 2C 03 00 00 */ cmpwi r3, 0 -/* 8020D670 41 82 00 0C */ beq lbl_8020D67C -/* 8020D674 38 60 00 01 */ li r3, 1 -/* 8020D678 48 00 00 08 */ b lbl_8020D680 -lbl_8020D67C: -/* 8020D67C 38 60 00 00 */ li r3, 0 -lbl_8020D680: -/* 8020D680 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020D684 7C 08 03 A6 */ mtlr r0 -/* 8020D688 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020D68C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/isEnableDispMap__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/isEnableDispMap__11dMeterMap_cFv.s deleted file mode 100644 index 27b1e18a7a..0000000000 --- a/asm/d/meter/d_meter_map/isEnableDispMap__11dMeterMap_cFv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8020D49C: -/* 8020D49C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020D4A0 7C 08 02 A6 */ mflr r0 -/* 8020D4A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020D4A8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020D4AC 93 C1 00 08 */ stw r30, 8(r1) -/* 8020D4B0 3B C0 00 00 */ li r30, 0 -/* 8020D4B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8020D4B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8020D4BC 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 8020D4C0 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020D4C4 7D 89 03 A6 */ mtctr r12 -/* 8020D4C8 4E 80 04 21 */ bctrl -/* 8020D4CC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8020D4D0 41 82 00 20 */ beq lbl_8020D4F0 -/* 8020D4D4 48 00 00 55 */ bl getMapDispSizeTypeNo__11dMeterMap_cFv -/* 8020D4D8 2C 03 00 00 */ cmpwi r3, 0 -/* 8020D4DC 41 82 00 14 */ beq lbl_8020D4F0 -/* 8020D4E0 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 8020D4E4 54 03 9F 7E */ rlwinm r3, r0, 0x13, 0x1d, 0x1f -/* 8020D4E8 30 03 FF FF */ addic r0, r3, -1 -/* 8020D4EC 7F C0 19 10 */ subfe r30, r0, r3 -lbl_8020D4F0: -/* 8020D4F0 3B E0 00 00 */ li r31, 0 -/* 8020D4F4 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 8020D4F8 41 82 00 14 */ beq lbl_8020D50C -/* 8020D4FC 4B E3 22 5D */ bl isExistMapPathData__8dMpath_cFv -/* 8020D500 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8020D504 41 82 00 08 */ beq lbl_8020D50C -/* 8020D508 3B E0 00 01 */ li r31, 1 -lbl_8020D50C: -/* 8020D50C 7F E3 FB 78 */ mr r3, r31 -/* 8020D510 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020D514 83 C1 00 08 */ lwz r30, 8(r1) -/* 8020D518 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020D51C 7C 08 03 A6 */ mtlr r0 -/* 8020D520 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020D524 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/isFmapScreen__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/isFmapScreen__11dMeterMap_cFv.s deleted file mode 100644 index c768d30787..0000000000 --- a/asm/d/meter/d_meter_map/isFmapScreen__11dMeterMap_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_8020E620: -/* 8020E620 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020E624 7C 08 02 A6 */ mflr r0 -/* 8020E628 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020E62C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020E630 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8020E634 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8020E638 3B E3 4E 20 */ addi r31, r3, 0x4e20 -/* 8020E63C 7F E3 FB 78 */ mr r3, r31 -/* 8020E640 81 9F 00 00 */ lwz r12, 0(r31) -/* 8020E644 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020E648 7D 89 03 A6 */ mtctr r12 -/* 8020E64C 4E 80 04 21 */ bctrl -/* 8020E650 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8020E654 54 00 07 7F */ clrlwi. r0, r0, 0x1d -/* 8020E658 41 82 00 94 */ beq lbl_8020E6EC -/* 8020E65C 7F E3 FB 78 */ mr r3, r31 -/* 8020E660 81 9F 00 00 */ lwz r12, 0(r31) -/* 8020E664 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020E668 7D 89 03 A6 */ mtctr r12 -/* 8020E66C 4E 80 04 21 */ bctrl -/* 8020E670 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8020E674 54 00 07 7E */ clrlwi r0, r0, 0x1d -/* 8020E678 2C 00 00 05 */ cmpwi r0, 5 -/* 8020E67C 41 82 00 70 */ beq lbl_8020E6EC -/* 8020E680 7F E3 FB 78 */ mr r3, r31 -/* 8020E684 81 9F 00 00 */ lwz r12, 0(r31) -/* 8020E688 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020E68C 7D 89 03 A6 */ mtctr r12 -/* 8020E690 4E 80 04 21 */ bctrl -/* 8020E694 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8020E698 54 00 07 7E */ clrlwi r0, r0, 0x1d -/* 8020E69C 2C 00 00 03 */ cmpwi r0, 3 -/* 8020E6A0 41 82 00 4C */ beq lbl_8020E6EC -/* 8020E6A4 7F E3 FB 78 */ mr r3, r31 -/* 8020E6A8 81 9F 00 00 */ lwz r12, 0(r31) -/* 8020E6AC 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020E6B0 7D 89 03 A6 */ mtctr r12 -/* 8020E6B4 4E 80 04 21 */ bctrl -/* 8020E6B8 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8020E6BC 54 00 07 7E */ clrlwi r0, r0, 0x1d -/* 8020E6C0 2C 00 00 04 */ cmpwi r0, 4 -/* 8020E6C4 41 82 00 28 */ beq lbl_8020E6EC -/* 8020E6C8 7F E3 FB 78 */ mr r3, r31 -/* 8020E6CC 81 9F 00 00 */ lwz r12, 0(r31) -/* 8020E6D0 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020E6D4 7D 89 03 A6 */ mtctr r12 -/* 8020E6D8 4E 80 04 21 */ bctrl -/* 8020E6DC A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8020E6E0 54 00 07 7E */ clrlwi r0, r0, 0x1d -/* 8020E6E4 2C 00 00 06 */ cmpwi r0, 6 -/* 8020E6E8 40 82 00 0C */ bne lbl_8020E6F4 -lbl_8020E6EC: -/* 8020E6EC 38 60 00 01 */ li r3, 1 -/* 8020E6F0 48 00 00 08 */ b lbl_8020E6F8 -lbl_8020E6F4: -/* 8020E6F4 38 60 00 00 */ li r3, 0 -lbl_8020E6F8: -/* 8020E6F8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020E6FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020E700 7C 08 03 A6 */ mtlr r0 -/* 8020E704 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020E708 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/isMapOpenCheck__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/isMapOpenCheck__11dMeterMap_cFv.s deleted file mode 100644 index b4a1f0adef..0000000000 --- a/asm/d/meter/d_meter_map/isMapOpenCheck__11dMeterMap_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8020D900: -/* 8020D900 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020D904 7C 08 02 A6 */ mflr r0 -/* 8020D908 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020D90C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8020D910 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8020D914 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 8020D918 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8020D91C 7D 89 03 A6 */ mtctr r12 -/* 8020D920 4E 80 04 21 */ bctrl -/* 8020D924 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8020D928 54 00 07 7E */ clrlwi r0, r0, 0x1d -/* 8020D92C 20 60 00 07 */ subfic r3, r0, 7 -/* 8020D930 30 03 FF FF */ addic r0, r3, -1 -/* 8020D934 7C 60 19 10 */ subfe r3, r0, r3 -/* 8020D938 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020D93C 7C 08 03 A6 */ mtlr r0 -/* 8020D940 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020D944 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/setDispPosInsideFlg_SE_On__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/setDispPosInsideFlg_SE_On__11dMeterMap_cFv.s deleted file mode 100644 index e85c98188b..0000000000 --- a/asm/d/meter/d_meter_map/setDispPosInsideFlg_SE_On__11dMeterMap_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8020D874: -/* 8020D874 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020D878 7C 08 02 A6 */ mflr r0 -/* 8020D87C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020D880 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020D884 7C 7F 1B 78 */ mr r31, r3 -/* 8020D888 4B FF FD C9 */ bl isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv -/* 8020D88C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8020D890 41 82 00 18 */ beq lbl_8020D8A8 -/* 8020D894 4B E2 07 B5 */ bl dComIfGp_mapShow__Fv -/* 8020D898 38 00 00 01 */ li r0, 1 -/* 8020D89C 98 1F 00 2D */ stb r0, 0x2d(r31) -/* 8020D8A0 38 00 00 07 */ li r0, 7 -/* 8020D8A4 98 1F 00 2E */ stb r0, 0x2e(r31) -lbl_8020D8A8: -/* 8020D8A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020D8AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020D8B0 7C 08 03 A6 */ mtlr r0 -/* 8020D8B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020D8B8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_map/setDispPosOutsideFlg_SE_On__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/setDispPosOutsideFlg_SE_On__11dMeterMap_cFv.s deleted file mode 100644 index c2afb7f3b2..0000000000 --- a/asm/d/meter/d_meter_map/setDispPosOutsideFlg_SE_On__11dMeterMap_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8020D8BC: -/* 8020D8BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8020D8C0 7C 08 02 A6 */ mflr r0 -/* 8020D8C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8020D8C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020D8CC 7C 7F 1B 78 */ mr r31, r3 -/* 8020D8D0 4B E2 07 A9 */ bl dComIfGp_mapHide__Fv -/* 8020D8D4 38 00 00 00 */ li r0, 0 -/* 8020D8D8 98 1F 00 2D */ stb r0, 0x2d(r31) -/* 8020D8DC 38 00 00 07 */ li r0, 7 -/* 8020D8E0 98 1F 00 2E */ stb r0, 0x2e(r31) -/* 8020D8E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020D8E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8020D8EC 7C 08 03 A6 */ mtlr r0 -/* 8020D8F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8020D8F4 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index 41e7f7f92c..654c997b51 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -1,20 +1,24 @@ #ifndef J2DANIMATION_H #define J2DANIMATION_H +#include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "JSystem/JUtility/JUTNameTab.h" #include "JSystem/JUtility/JUTTexture.h" #include "dolphin/gx/GX.h" +#include "dolphin/os/OS.h" #include "dolphin/types.h" class J2DScreen; class J2DAnmBase { public: - /* 80053C94 */ virtual ~J2DAnmBase(); + /* 80053C94 */ virtual ~J2DAnmBase() {} /* 800569B0 */ virtual void searchUpdateMaterialID(J2DScreen*); s16 getFrameMax() const { return mFrameMax; } void setFrame(f32 frame) { mFrame = frame; } + f32 getFrame() const { return mFrame; } + s32 getKind() const { return mKind; } private: /* 0x0 */ // vtable @@ -26,7 +30,7 @@ private: class J2DAnmVtxColor : public J2DAnmBase { public: - /* 8030A358 */ virtual ~J2DAnmVtxColor(); + /* 8030A358 */ virtual ~J2DAnmVtxColor() {} /* 8030363C */ virtual void getColor(u8, u16, _GXColor*) const; private: @@ -38,31 +42,54 @@ private: struct J3DTransformInfo; struct J3DTextureSRTInfo; +struct J2DAnmVtxColorKeyInfo { + J3DAnmKeyTableBase mRInfo; + J3DAnmKeyTableBase mGInfo; + J3DAnmKeyTableBase mBInfo; + J3DAnmKeyTableBase mAInfo; +}; // Size = 0x18 + class J2DAnmVtxColorKey : public J2DAnmVtxColor { - /* 8030CC20 */ virtual ~J2DAnmVtxColorKey(); + /* 8030CC20 */ virtual ~J2DAnmVtxColorKey() {} /* 8030B704 */ virtual void getColor(u8, u16, _GXColor*) const; private: - /* 0x24 */ void* field_0x24[2]; - /* 0x2C */ void* field_0x2c; - /* 0x30 */ void* field_0x30; - /* 0x34 */ void* field_0x34; - /* 0x38 */ void* field_0x38; + /* 0x24 */ J2DAnmVtxColorKeyInfo* mInfoTable[2]; + /* 0x2C */ s16* mRValues; + /* 0x30 */ s16* mGValues; + /* 0x34 */ s16* mBValues; + /* 0x38 */ s16* mAValues; }; // Size: 0x3C +struct J2DAnmVtxColorFullInfo { + /* 0x00 */ u16 mRMaxFrame; + /* 0x02 */ u16 mROffset; + /* 0x04 */ u16 mGMaxFrame; + /* 0x06 */ u16 mGOffset; + /* 0x08 */ u16 mBMaxFrame; + /* 0x0A */ u16 mBOffset; + /* 0x0C */ u16 mAMaxFrame; + /* 0x0E */ u16 mAOffset; +}; // Size = 0x10 + class J2DAnmVtxColorFull : public J2DAnmVtxColor { public: - /* 8030CC8C */ virtual ~J2DAnmVtxColorFull(); + /* 8030CC8C */ virtual ~J2DAnmVtxColorFull() {} /* 8030B4C4 */ virtual void getColor(u8, u16, _GXColor*) const; private: - /* 0x24 */ void* field_0x24[2]; - /* 0x2C */ void* field_0x2c; - /* 0x30 */ void* field_0x30; - /* 0x34 */ void* field_0x34; - /* 0x38 */ void* field_0x38; + /* 0x24 */ J2DAnmVtxColorFullInfo* mInfoTable[2]; + /* 0x2C */ u8* mRValues; + /* 0x30 */ u8* mGValues; + /* 0x34 */ u8* mBValues; + /* 0x38 */ u8* mAValues; }; // Size: 0x3C +struct J2DAnmVisibilityFullInfo { + u16 _0; + u16 _2; +}; // Size = 0x4 + class J2DAnmVisibilityFull : public J2DAnmBase { public: /* 8030A3B4 */ virtual ~J2DAnmVisibilityFull(); @@ -71,60 +98,84 @@ public: private: /* 0x10 */ u16 field_0x10; /* 0x12 */ u16 field_0x12; - /* 0x14 */ void* field_0x14; - /* 0x18 */ void* field_0x18; + /* 0x14 */ J2DAnmVisibilityFullInfo* field_0x14; + /* 0x18 */ u8* field_0x18; }; // Size: 0x1C class J2DAnmTransform : public J2DAnmBase { public: - /* 80184370 */ virtual ~J2DAnmTransform(); + /* 80184370 */ virtual ~J2DAnmTransform() {} /* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const; -private: - /* 0x10 */ f32* field_0x10; - /* 0x14 */ s16* field_0x14; - /* 0x18 */ f32* field_0x18; +protected: + /* 0x10 */ f32* mScaleValues; + /* 0x14 */ s16* mRotationValues; + /* 0x18 */ f32* mTranslateValues; }; // Size: 0x1C +struct J2DAnmTransformKeyInfo { + J3DAnmKeyTableBase mScaleInfo; + J3DAnmKeyTableBase mRotationInfo; + J3DAnmKeyTableBase mTranslateInfo; +}; // Size = 0x12 + class J2DAnmTransformKey : public J2DAnmTransform { public: - /* 801959C0 */ virtual ~J2DAnmTransformKey(); - /* 8030CD7C */ virtual void getTransform(u16, J3DTransformInfo*) const; + /* 801959C0 */ virtual ~J2DAnmTransformKey() {} + /* 8030CD7C */ virtual void getTransform(u16 p1, J3DTransformInfo* pInfo) const { + this->calcTransform(getFrame(), p1, pInfo); + } /* 8030AAFC */ virtual void calcTransform(f32, u16, J3DTransformInfo*) const; private: /* 0x1C */ u8 field_0x1c[8]; - /* 0x24 */ void* field_0x24; - /* 0x28 */ void* field_0x28; + /* 0x24 */ u32 field_0x24; + /* 0x28 */ J2DAnmTransformKeyInfo* mInfoTable; }; +struct J2DAnmTransformFullInfo { + /* 0x00 */ u16 mScaleMaxFrame; + /* 0x02 */ u16 mScaleOffset; + /* 0x04 */ u16 mRotationMaxFrame; + /* 0x06 */ u16 mRotationOffset; + /* 0x08 */ u16 mTranslateMaxFrame; + /* 0x0A */ u16 mTranslateOffset; +}; // Size = 0xC + class J2DAnmTransformFull : public J2DAnmTransform { public: - /* 8030CDAC */ virtual ~J2DAnmTransformFull(); + /* 8030CDAC */ virtual ~J2DAnmTransformFull() {} /* 8030A590 */ virtual void getTransform(u16, J3DTransformInfo*) const; private: /* 0x1C */ u8 field_0x1c[6]; /* 0x22 */ u16 field_0x22; - /* 0x24 */ void* field_0x24; + /* 0x24 */ J2DAnmTransformFullInfo* mTableInfo; }; +struct J2DAnmTextureSRTKeyInfo { + J3DAnmKeyTableBase mScaleInfo; + J3DAnmKeyTableBase mRotationInfo; + J3DAnmKeyTableBase mTranslationInfo; +}; // Size = 0x12 + class J2DAnmTextureSRTKey : public J2DAnmBase { public: /* 8030B9F0 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const; - /* 80184274 */ virtual ~J2DAnmTextureSRTKey(); + /* 80184274 */ virtual ~J2DAnmTextureSRTKey() {} /* 8030BC60 */ virtual void searchUpdateMaterialID(J2DScreen*); + u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; } private: /* 0x10 */ int field_0x10; - /* 0x14 */ int field_0x14; + /* 0x14 */ J2DAnmTextureSRTKeyInfo* mInfoTable; /* 0x18 */ u16 mUpdateMaterialNum; /* 0x1A */ u16 field_0x1a; /* 0x1C */ u16 field_0x1c; - /* 0x20 */ int field_0x20; - /* 0x24 */ int field_0x24; - /* 0x28 */ int field_0x28; + /* 0x20 */ f32* mScaleValues; + /* 0x24 */ s16* mRotationValues; + /* 0x28 */ f32* mTranslationValues; /* 0x2C */ u8* mUpdateTexMtxID; /* 0x30 */ u16* mUpdateMaterialID; /* 0x34 */ JUTNameTab field_0x34; @@ -143,6 +194,13 @@ private: /* 0x7C */ int field_0x7c; }; +struct J2DAnmTexPatternInfo { + /* 0x00 */ u16 mMaxFrame; + /* 0x02 */ u16 mOffset; + /* 0x04 */ u16 _4; + /* 0x06 */ u16 _6; +}; // Size = 0x8 + class J2DAnmTexPattern : public J2DAnmBase { public: struct J2DAnmTexPatternTIMGPointer { @@ -154,15 +212,16 @@ public: }; // Size: 0x8 /* 8030BEE8 */ void getTexNo(u16, u16*) const; - /* 8030BF9C */ void getResTIMG(u16) const; - /* 8030BFF0 */ void getPalette(u16) const; + /* 8030BF9C */ ResTIMG* getResTIMG(u16) const; + /* 8030BFF0 */ JUTPalette* getPalette(u16) const; - /* 8030CB90 */ virtual ~J2DAnmTexPattern(); + /* 8030CB90 */ virtual ~J2DAnmTexPattern() { delete[] mTIMGPtrArray; } /* 8030BD10 */ virtual void searchUpdateMaterialID(J2DScreen*); + u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; } private: - /* 0x10 */ int field_0x10; - /* 0x14 */ void* mAnmTable; + /* 0x10 */ u16* mValues; + /* 0x14 */ J2DAnmTexPatternInfo* mAnmTable; /* 0x18 */ u8 field_0x18[2]; /* 0x1A */ u16 mUpdateMaterialNum; /* 0x1C */ u16* mUpdaterMaterialID; @@ -170,13 +229,21 @@ private: /* 0x30 */ J2DAnmTexPatternTIMGPointer* mTIMGPtrArray; }; +struct J2DAnmTevRegKeyInfo { + /* 0x00 */ J3DAnmKeyTableBase mRTable; + /* 0x06 */ J3DAnmKeyTableBase mGTable; + /* 0x0C */ J3DAnmKeyTableBase mBTable; + /* 0x12 */ J3DAnmKeyTableBase mATable; + /* 0x18 */ u8 _18[4]; +}; // Size = 0x1C + class J2DAnmTevRegKey : public J2DAnmBase { public: /* 8030C0F0 */ void getTevColorReg(u16, _GXColorS10*) const; /* 8030C3B4 */ void getTevKonstReg(u16, _GXColor*) const; - /* 801841EC */ virtual ~J2DAnmTevRegKey(); - /* 8030C678 */ virtual void searchUpdateMaterialID(J2DScreen*); + /* 801841EC */ virtual ~J2DAnmTevRegKey() {} + /* 8030C678 */ virtual void searchUpdateMaterialID(J2DScreen* pScreen); private: /* 0x10 */ u16 mCRegUpdateMaterialNum; @@ -193,27 +260,28 @@ private: /* 0x28 */ JUTNameTab field_0x28; /* 0x38 */ u16* mKRegUpdateMaterialID; /* 0x3C */ JUTNameTab field_0x3c; - /* 0x4C */ void* mAnmCRegKeyTable; - /* 0x50 */ void* mAnmKRegKeyTable; - /* 0x54 */ int field_0x54; - /* 0x58 */ int field_0x58; - /* 0x5C */ int field_0x5c; - /* 0x60 */ int field_0x60; - /* 0x64 */ int field_0x64; - /* 0x68 */ int field_0x68; - /* 0x6C */ int field_0x6c; - /* 0x70 */ int field_0x70; + /* 0x4C */ J2DAnmTevRegKeyInfo* mAnmCRegKeyTable; + /* 0x50 */ J2DAnmTevRegKeyInfo* mAnmKRegKeyTable; + /* 0x54 */ s16* mCRValues; + /* 0x58 */ s16* mCGValues; + /* 0x5C */ s16* mCBValues; + /* 0x60 */ s16* mCAValues; + /* 0x64 */ s16* mKRValues; + /* 0x68 */ s16* mKGValues; + /* 0x6C */ s16* mKBValues; + /* 0x70 */ s16* mKAValues; }; class J2DAnmColor : public J2DAnmBase { public: - /* 801842FC */ virtual ~J2DAnmColor(); + /* 801842FC */ virtual ~J2DAnmColor() {} /* 8030AF24 */ virtual void searchUpdateMaterialID(J2DScreen*); /* 802EB390 */ virtual void getColor(u16, _GXColor*) const; + u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; } private: /* 0x10 */ u16 field_0x10; - /* 0x10 */ u16 field_0x12; + /* 0x12 */ u16 field_0x12; /* 0x14 */ u16 field_0x14; /* 0x16 */ u16 field_0x16; /* 0x18 */ u16 mUpdateMaterialNum; @@ -221,30 +289,135 @@ private: /* 0x20 */ JUTNameTab field_0x20; }; // Size: 0x30 +struct J2DAnmColorKeyInfo { + J3DAnmKeyTableBase mRInfo; + J3DAnmKeyTableBase mGInfo; + J3DAnmKeyTableBase mBInfo; + J3DAnmKeyTableBase mAInfo; +}; // Size = 0x18 + class J2DAnmColorKey : public J2DAnmColor { public: - /* 80239BE0 */ virtual ~J2DAnmColorKey(); + /* 80239BE0 */ virtual ~J2DAnmColorKey() {} /* 8030B200 */ virtual void getColor(u16, _GXColor*) const; private: - /* 0x30 */ int field_0x30; - /* 0x34 */ int field_0x34; - /* 0x38 */ int field_0x38; - /* 0x3C */ int field_0x3c; - /* 0x40 */ int field_0x40; + /* 0x30 */ s16* mRValues; + /* 0x34 */ s16* mGValues; + /* 0x38 */ s16* mBValues; + /* 0x3C */ s16* mAValues; + /* 0x40 */ J2DAnmColorKeyInfo* mInfoTable; }; +struct J2DAnmColorFullInfo { + /* 0x00 */ u16 mRMaxFrame; + /* 0x02 */ u16 mROffset; + /* 0x04 */ u16 mGMaxFrame; + /* 0x06 */ u16 mGOffset; + /* 0x08 */ u16 mBMaxFrame; + /* 0x0A */ u16 mBOffset; + /* 0x0C */ u16 mAMaxFrame; + /* 0x0E */ u16 mAOffset; +}; // Size = 0x10 + class J2DAnmColorFull : public J2DAnmColor { public: - /* 8030CCF8 */ virtual ~J2DAnmColorFull(); + /* 8030CCF8 */ virtual ~J2DAnmColorFull() {} /* 8030AFC8 */ virtual void getColor(u16, _GXColor*) const; private: - /* 0x30 */ int field_0x30; - /* 0x34 */ int field_0x34; - /* 0x38 */ int field_0x38; - /* 0x3C */ int field_0x3c; - /* 0x40 */ int field_0x40; + /* 0x30 */ u8* mRValues; + /* 0x34 */ u8* mGValues; + /* 0x38 */ u8* mBValues; + /* 0x3C */ u8* mAValues; + /* 0x40 */ J2DAnmColorFullInfo* mInfoTable; }; +template +inline f32 J2DHermiteInterpolation(f32, T*, T*, T*, T*, T*, T*); + +inline f32 JMAHermiteInterpolation(register f32 p1, register f32 p2, register f32 p3, + register f32 p4, register f32 p5, register f32 p6, + register f32 p7) { + register f32 ff25; + register f32 ff31; + register f32 ff30; + register f32 ff29; + register f32 ff28; + register f32 ff27; + register f32 ff26; + // clang-format off + asm { + fsubs ff31, p1, p2 + fsubs ff30, p5, p2 + fdivs ff29, ff31, ff30 + fmuls ff28,ff29,ff29 + fadds ff25,ff29,ff29 + fsubs ff27,ff28,ff29 + fsubs ff30, p3, p6 + fmsubs ff26,ff25,ff27,ff28 + fmadds ff25,p4,ff27,p4 + fmadds ff26,ff26,ff30,p3 + fmadds ff25,p7,ff27,ff25 + fmsubs ff25,ff29,p4,ff25 + fnmsubs ff25,ff31,ff25,ff26 + + } + // clang-format on + return ff25; +} + +template <> +inline f32 J2DHermiteInterpolation(f32 f1, f32* f2, f32* f3, f32* f4, f32* f5, f32* f6, + f32* f7) { + return JMAHermiteInterpolation(f1, *f2, *f3, *f4, *f5, *f6, *f7); +} + +template <> +inline f32 J2DHermiteInterpolation(register f32 pp1, register s16* pp2, register s16* pp3, + register s16* pp4, register s16* pp5, register s16* pp6, + register s16* pp7) { + register f32 p1 = pp1; + register f32 ff8; + register f32 ff7; + register f32 ff6; + register f32 ff5; + register f32 ff4; + register f32 ff3; + register f32 ff2; + register f32 ff0; + register f32 fout; + register s16* p2 = pp2; + register s16* p3 = pp3; + register s16* p4 = pp4; + register s16* p5 = pp5; + register s16* p6 = pp6; + register s16* p7 = pp7; + // clang-format off + asm { + psq_l ff2, 0(p2), 0x1, 5 + psq_l ff0, 0(p5), 0x1, 5 + psq_l ff7, 0(p3), 0x1, 5 + fsubs ff5, ff0, ff2 + psq_l ff6, 0(p6), 0x1, 5 + fsubs ff3, p1, ff2 + psq_l ff0, 0(p7), 0x1, 5 + fsubs ff4, ff6, ff7 + fdivs ff3, ff3, ff5 + psq_l fout, 0(p4), 0x1, 5 + fmadds ff0, ff0, ff5, ff7 + fmuls ff2, ff3, ff3 + fnmsubs ff4, ff5, fout, ff4 + fsubs ff0, ff0, ff6 + fsubs ff0, ff0, ff4 + fmuls ff0, ff2, ff0 + fmadds fout, ff5, fout, ff0 + fmadds fout, fout, ff3, ff7 + fmadds fout, ff4, ff2, fout + fsubs fout, fout, ff0 + } + // clang-format on + return fout; +} + #endif /* J2DANIMATION_H */ diff --git a/include/JSystem/J2DGraph/J2DGrafContext.h b/include/JSystem/J2DGraph/J2DGrafContext.h index 7d7efa7a65..be64fcc38f 100644 --- a/include/JSystem/J2DGraph/J2DGrafContext.h +++ b/include/JSystem/J2DGraph/J2DGrafContext.h @@ -1,6 +1,7 @@ #ifndef J2DGRAFCONTEXT_H #define J2DGRAFCONTEXT_H +#include "JSystem/J2DGraph/J2DMatBlock.h" #include "JSystem/JGeometry.h" #include "JSystem/JUtility/TColor.h" #include "dolphin/mtx/mtx.h" @@ -35,7 +36,7 @@ public: /* 802E9664 */ virtual s32 getGrafType() const { return 0; } /* 802E966C */ virtual void setLookat() {} -protected: +public: /* 0x04 */ JGeometry::TBox2 mBounds; /* 0x14 */ JGeometry::TBox2 mScissorBounds; /* 0x24 */ JUtility::TColor mColorTL; @@ -46,15 +47,9 @@ protected: /* 0x38 */ JGeometry::TVec2 mPrevPos; /* 0x40 */ Mtx44 mMtx44; /* 0x80 */ Mtx mPosMtx; - /* 0xB0 */ u8 field_0xb0; - /* 0xB1 */ u8 field_0xb1; - /* 0xB2 */ u8 field_0xb2; - /* 0xB3 */ u8 mLineBlendMode; - /* 0xB4 */ u8 mLineSrcBlendFactor; - /* 0xB5 */ u8 mLineDstBlendFactor; - /* 0xB6 */ u8 mBoxBlendMode; - /* 0xB7 */ u8 mBoxSrcBlendFactor; - /* 0xB8 */ u8 mBoxDstBlendFactor; + /* 0xB0 */ J2DBlendInfo field_0xb0; + /* 0xB3 */ J2DBlendInfo mLinePart; + /* 0xB6 */ J2DBlendInfo mBoxPart; }; #endif /* J2DGRAFCONTEXT_H */ diff --git a/include/JSystem/J2DGraph/J2DManage.h b/include/JSystem/J2DGraph/J2DManage.h index 6222e2139b..96a9e5ebc0 100644 --- a/include/JSystem/J2DGraph/J2DManage.h +++ b/include/JSystem/J2DGraph/J2DManage.h @@ -5,14 +5,26 @@ #include "dolphin/types.h" struct J2DResReference { - /* 8030CF10 */ void getResReference(u16) const; - /* 8030CF44 */ void getName(u16) const; + /* 0x00 */ u16 mCount; + /* 0x02 */ u16 mOffsets[1]; + + /* 8030CF10 */ s8* getResReference(u16) const; + /* 8030CF44 */ char* getName(u16) const; +}; + +struct J2DataManageLink { + /* 0x00 */ void* mData; + /* 0x04 */ char* mName; + /* 0x08 */ J2DataManageLink* mNext; }; class J2DDataManage { +private: + /* 0x00 */ J2DataManageLink* mList; + public: - /* 8030CE18 */ void get(char const*); - /* 8030CE7C */ void get(JSUInputStream*); + /* 8030CE18 */ void* get(char const*); + /* 8030CE7C */ void* get(JSUInputStream*); }; #endif /* J2DMANAGE_H */ diff --git a/include/JSystem/J2DGraph/J2DMatBlock.h b/include/JSystem/J2DGraph/J2DMatBlock.h index 0333028fb5..810fccc091 100644 --- a/include/JSystem/J2DGraph/J2DMatBlock.h +++ b/include/JSystem/J2DGraph/J2DMatBlock.h @@ -414,11 +414,11 @@ struct J2DBlendInfo { /* 0x0 */ u8 mType; /* 0x1 */ u8 mSrcFactor; /* 0x2 */ u8 mDstFactor; - /* 0x3 */ u8 mOp; }; struct J2DBlend { /* 0x0 */ J2DBlendInfo mBlendInfo; + /* 0x3 */ u8 mOp; }; class J2DPEBlock { diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index a58858aa85..73a920ee42 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -31,7 +31,7 @@ public: J2DPane(J2DPane* other, JSURandomInputStream* stream, u8 arg3); virtual ~J2DPane(); - /* 0x0c */ virtual s32 getTypeID() const; + /* 0x0c */ virtual s32 getTypeID() const { return 16; } /* 0x10 */ virtual void move(f32 x, f32 y); /* 0x14 */ virtual void add(f32 x, f32 y); /* 0x18 */ virtual void resize(f32 x, f32 y); @@ -53,12 +53,12 @@ public: /* 0x58 */ virtual void rewriteAlpha(); /* 0x5c */ virtual void setAnimation(J2DAnmBase* anm); /* 0x60 */ virtual void setAnimation(J2DAnmTransform* anm); - /* 0x64 */ virtual void setAnimation(J2DAnmColor* anm); - /* 0x68 */ virtual void setAnimation(J2DAnmTexPattern* anm); - /* 0x6c */ virtual void setAnimation(J2DAnmTextureSRTKey* anm); - /* 0x70 */ virtual void setAnimation(J2DAnmTevRegKey* anm); - /* 0x74 */ virtual void setAnimation(J2DAnmVisibilityFull* anm); - /* 0x78 */ virtual void setAnimation(J2DAnmVtxColor* anm); + /* 0x64 */ virtual void setAnimation(J2DAnmColor* anm) {} + /* 0x68 */ virtual void setAnimation(J2DAnmTexPattern* anm) {} + /* 0x6c */ virtual void setAnimation(J2DAnmTextureSRTKey* anm) {} + /* 0x70 */ virtual void setAnimation(J2DAnmTevRegKey* anm) {} + /* 0x74 */ virtual void setAnimation(J2DAnmVisibilityFull* anm) {} + /* 0x78 */ virtual void setAnimation(J2DAnmVtxColor* anm) {} /* 0x7c */ virtual const J2DAnmTransform* animationTransform(const J2DAnmTransform* transform); /* 0x80 */ virtual void setVisibileAnimation(J2DAnmVisibilityFull* visibility); /* 0x84 */ virtual void setAnimationVF(J2DAnmVisibilityFull* visibility); @@ -119,7 +119,7 @@ public: void clip(const JGeometry::TBox2& bounds); void setBasePosition(J2DBasePosition position); void setInfluencedAlpha(bool arg1, bool arg2); - void getGlbVtx(u8 arg1) const; + JGeometry::TVec3 getGlbVtx(u8 arg1) const; J2DPane* getFirstChildPane(); J2DPane* getNextChildPane(); J2DPane* getParentPane(); @@ -130,7 +130,7 @@ public: void updateTransform(const J2DAnmTransform* transform); void setUserInfo(u64 info) { mUserInfoTag = info; } - static f32 static_mBounds[4]; + static JGeometry::TBox2 static_mBounds; public: /* 0x04 */ u16 _4; diff --git a/include/JSystem/J2DGraph/J2DScreen.h b/include/JSystem/J2DGraph/J2DScreen.h index 1e6527babf..486f1164c2 100644 --- a/include/JSystem/J2DGraph/J2DScreen.h +++ b/include/JSystem/J2DGraph/J2DScreen.h @@ -49,9 +49,11 @@ public: /* 802F9640 */ static void* getNameResource(char const*); /* 802F9690 */ void animation(); + static J2DDataManage* getDataManage() { return mDataManage; } + static J2DDataManage* mDataManage; -private: + // private: /* 0x100 */ bool mScissor; /* 0x102 */ u16 mMaterialNum; /* 0x104 */ J2DMaterial* mMaterials; diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 18ff4ee9e2..15ded86a06 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -40,6 +40,12 @@ private: }; // Size: 0x20 class J3DAnmTransformKey : public J3DAnmTransform { +public: + J3DAnmTransformKey() : J3DAnmTransform(0, NULL, NULL, NULL) { + field_0x20 = 0; + field_0x24 = 0; + } + /* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const; /* 8003B8D0 */ virtual ~J3DAnmTransformKey(); @@ -69,7 +75,11 @@ class J3DAnmTransformFullWithLerp : public J3DAnmTransformFull { struct J3DTextureSRTInfo; struct J3DModelData; struct J3DMaterialTable; -struct J3DAnmKeyTableBase {}; +struct J3DAnmKeyTableBase { + /* 0x00 */ u16 mMaxFrame; + /* 0x02 */ u16 mOffset; + /* 0x04 */ u16 mType; +}; // Size = 0x6 class J3DAnmTextureSRTKey : public J3DAnmBase { public: diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index 1fd8e7c56c..b0576077c0 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -24,10 +24,11 @@ class J3DVertexData; class J3DDrawMtxData; enum J3DShpFlag { + J3DShpFlag_Visible = 0x0001, J3DShpFlag_SkinPosCpu = 0x0004, J3DShpFlag_SkinNrmCpu = 0x0008, - J3DShpFlag_Hidden = 0x0010, - J3DShpFlag_EnableLod = 0x0100, + J3DShpFlag_Hidden = 0x0010, + J3DShpFlag_EnableLod = 0x0100, }; class J3DShape { @@ -56,8 +57,8 @@ public: void setVertexDataPointer(J3DVertexData* pVtxData) { mVertexData = pVtxData; } void* getVcdVatCmd() const { return mVcdVatCmd; } void setVcdVatCmd(void* pVatCmd) { mVcdVatCmd = pVatCmd; } - void show() { offFlag(1); } - void hide() { onFlag(1); } + void show() { offFlag(J3DShpFlag_Visible); } + void hide() { onFlag(J3DShpFlag_Visible); } void setCurrentViewNoPtr(u32* pViewNoPtr) { mCurrentViewNo = pViewNoPtr; } void setScaleFlagArray(u8* pScaleFlagArray) { mScaleFlagArray = pScaleFlagArray; } void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; } @@ -66,7 +67,7 @@ public: u32 getBumpMtxOffset() const { return mBumpMtxOffset; } inline J3DMaterial* getMaterial() const { return mMaterial; } - inline u32 getPipeline() const { return (mFlags >> 2) & 7; } + inline u32 getPipeline() const { return (mFlags >> 2) & 0x07; } inline u32 getTexMtxLoadType() const { return mFlags & 0xF000; } static void resetVcdVatCache() { sOldVcdVatCmd = NULL; } diff --git a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h index 265bc83c18..0c6a6a8474 100644 --- a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h @@ -3,12 +3,12 @@ #include "dolphin/types.h" -struct J3DAnmLoaderDataBaseFlag {}; +enum J3DAnmLoaderDataBaseFlag { UNK_FLAG0 }; struct J3DAnmBase; struct J3DAnmLoaderDataBase { - /* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag); + /* 80337B40 */ static void* load(void const*, J3DAnmLoaderDataBaseFlag); /* 80338134 */ void setResource(J3DAnmBase*, void const*); }; diff --git a/include/JSystem/JAudio2/JAISound.h b/include/JSystem/JAudio2/JAISound.h index e94ea2cf13..61bac44a42 100644 --- a/include/JSystem/JAudio2/JAISound.h +++ b/include/JSystem/JAudio2/JAISound.h @@ -13,7 +13,7 @@ public: operator u32() const { return this->mId; } void operator=(JAISoundID const&); - JAISoundID(u32 pId); + JAISoundID(u32 pId) { mId = pId; }; JAISoundID(JAISoundID const& other); diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 0da0a2718b..a4c0ca50ed 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -33,6 +33,22 @@ struct TVec3 { y = other.y; z = other.z; } + + void set(f32 x_, f32 y_, f32 z_) { + x = x_; + y = y_; + z = z_; + } + + void zero() { + x = y = z = 0.0f; + } + + void mul(const TVec3& a, const TVec3& b) { + x = a.x * b.x; + y = a.y * b.y; + z = a.z * b.z; + } }; template @@ -92,6 +108,10 @@ template<> struct TBox > { bool isValid() const { return f.isAbove(i); } + void addPos(f32 x, f32 y) { + addPos(TVec2(x, y)); + } + void addPos(const TVec2& pos) { i.add(pos); f.add(pos); @@ -123,7 +143,7 @@ struct TBox2 : TBox > { } void set(const TBox2& other) { set(other.i, other.f); } - void set(const TVec2& i, const TVec2 f) { this->i.set(i), this->f.set(f); } + void set(const TVec2& i, const TVec2& f) { this->i.set(i), this->f.set(f); } void set(f32 x0, f32 y0, f32 x1, f32 y1) { i.set(x0, y0); f.set(x1, y1); } }; diff --git a/include/JSystem/JMath/JMATrigonometric.h b/include/JSystem/JMath/JMATrigonometric.h index 79d3798ed2..a01b717ca8 100644 --- a/include/JSystem/JMath/JMATrigonometric.h +++ b/include/JSystem/JMath/JMATrigonometric.h @@ -17,6 +17,9 @@ struct pair { struct TSinCosTable { std::pair table[0x2000]; + + f32 sinShort(s16 v) const { return table[static_cast(v) >> 3].a1; } + f32 cosShort(s16 v) const { return table[static_cast(v) >> 3].b1; } }; struct TAtanTable { @@ -35,4 +38,12 @@ extern TAtanTable atanTable_; extern TAsinAcosTable asinAcosTable_; }; // namespace JMath +inline f32 JMASSin(s16 s) { + return JMath::sincosTable_.sinShort(s); +} + +inline f32 JMASCos(s16 s) { + return JMath::sincosTable_.cosShort(s); +} + #endif /* JMATRIGONOMETRIC_H */ diff --git a/include/JSystem/JParticle/JPABaseShape.h b/include/JSystem/JParticle/JPABaseShape.h index 0e7192f083..a081b0c916 100644 --- a/include/JSystem/JParticle/JPABaseShape.h +++ b/include/JSystem/JParticle/JPABaseShape.h @@ -2,5 +2,108 @@ #define JPABASESHAPE_H #include "dolphin/types.h" +#include "dolphin/gx/GX.h" + +class JPAEmitterWorkData; +class JKRHeap; + +struct JPABaseShapeData { + // Common header. + /* 0x00 */ u8 mMagic[4]; + /* 0x04 */ u32 mSize; + + /* 0x08 */ u32 mFlags; + /* 0x0C */ s16 mClrPrmAnmOffset; + /* 0x0E */ s16 mClrEnvAnmOffset; + /* 0x10 */ f32 mBaseSizeX; + /* 0x14 */ f32 mBaseSizeY; + /* 0x18 */ u16 mBlendModeCfg; + /* 0x1A */ u8 mAlphaCompareCfg; + /* 0x1B */ u8 mAlphaRef0; + /* 0x1C */ u8 mAlphaRef1; + /* 0x1D */ u8 mZModeCfg; + /* 0x1E */ u8 mTexFlg; + /* 0x1F */ u8 mTexAnmNum; + /* 0x20 */ u8 mTexIdx; + /* 0x21 */ u8 mClrFlg; + /* 0x22 */ u8 mClrPrmKeyNum; + /* 0x23 */ u8 mClrEnvKeyNum; + /* 0x24 */ s16 mClrAnmFrmMax; + /* 0x26 */ GXColor mClrPrm; + /* 0x2A */ GXColor mClrEnv; + /* 0x2E */ u8 mAnmRndm; + /* 0x2F */ u8 mClrAnmRndmMask; + /* 0x30 */ u8 mTexAnmRndmMask; +}; + +struct JPABaseShape { +public: + /* 8027A6DC */ JPABaseShape(u8 const*, JKRHeap*); + /* 8027A7E8 */ void setGX(JPAEmitterWorkData*) const; + + static GXBlendMode st_bm[3]; + static GXBlendFactor st_bf[10]; + static GXLogicOp st_lo[16]; + static GXCompare st_c[8]; + static GXAlphaOp st_ao[4]; + static GXTevColorArg st_ca[6][4]; + static GXTevAlphaArg st_aa[2][4]; + + GXBlendMode getBlendMode() const { return st_bm[mpData->mBlendModeCfg & 0x03]; } + GXBlendFactor getBlendSrc() const { return st_bf[(mpData->mBlendModeCfg >> 2) & 0x0F]; } + GXBlendFactor getBlendDst() const { return st_bf[(mpData->mBlendModeCfg >> 6) & 0x0F]; } + GXLogicOp getLogicOp() const { return st_lo[(mpData->mBlendModeCfg >> 10) & 0x0F]; } + GXBool getZCompLoc() const { return (GXBool)((mpData->mZModeCfg >> 5) & 0x01); } + + GXBool getZEnable() const { return (GXBool)(mpData->mZModeCfg & 0x01); } + GXCompare getZCmp() const { return st_c[(mpData->mZModeCfg >> 1) & 0x07]; } + GXBool getZUpd() const { return (GXBool)((mpData->mZModeCfg >> 4) & 0x01); } + + GXCompare getAlphaCmp0() const { return st_c[mpData->mAlphaCompareCfg & 0x07]; } + u8 getAlphaRef0() const { return mpData->mAlphaRef0; } + GXAlphaOp getAlphaOp() const { return st_ao[(mpData->mAlphaCompareCfg >> 3) & 0x03]; } + GXCompare getAlphaCmp1() const { return st_c[(mpData->mAlphaCompareCfg >> 5) & 0x07]; } + u8 getAlphaRef1() const { return mpData->mAlphaRef1; } + + const GXTevColorArg* getTevColorArg() const { return st_ca[(mpData->mFlags >> 0x0F) & 0x07]; } + const GXTevAlphaArg* getTevAlphaArg() const { return st_aa[(mpData->mFlags >> 0x12) & 0x01]; } + + u32 getType() const { return (mpData->mFlags >> 0) & 0x0F; } + u32 getDirType() const { return (mpData->mFlags >> 4) & 0x07; } + u32 getRotType() const { return (mpData->mFlags >> 7) & 0x07; } + u32 getBasePlaneType() const { return (mpData->mFlags >> 10) & 0x07; } + u32 getTilingS() const { return (mpData->mFlags >> 25) & 0x01; } + u32 getTilingT() const { return (mpData->mFlags >> 26) & 0x01; } + bool isGlblClrAnm() const { return !!(mpData->mFlags & 0x00001000); } + bool isGlblTexAnm() const { return !!(mpData->mFlags & 0x00004000); } + bool isPrjTex() const { return !!(mpData->mFlags & 0x00100000); } + bool isDrawFwdAhead() const { return !!(mpData->mFlags & 0x00200000); } + bool isDrawPrntAhead() const { return !!(mpData->mFlags & 0x00400000); } + bool isClipOn() const { return !!(mpData->mFlags & 0x00800000); } + bool isTexCrdAnm() const { return !!(mpData->mFlags & 0x01000000); } + bool isNoDrawParent() const { return !!(mpData->mFlags & 0x08000000); } + bool isNoDrawChild() const { return !!(mpData->mFlags & 0x10000000); } + + bool isPrmAnm() const { return !!(mpData->mClrFlg & 0x02); } + bool isEnvAnm() const { return !!(mpData->mClrFlg & 0x08); } + u8 getClrAnmType() const { return (mpData->mClrFlg >> 4) & 0x07; } + s16 getClrAnmMaxFrm() const { return mpData->mClrAnmFrmMax; } + void getPrmClr(s16 idx, GXColor* dst) { *dst = mpPrmClrAnmTbl[idx]; } + void getEnvClr(s16 idx, GXColor* dst) { *dst = mpEnvClrAnmTbl[idx]; } + + bool isTexAnm() const { return !!(mpData->mTexFlg & 0x01); } + u8 getTexAnmType() const { return (mpData->mTexFlg >> 2) & 0x07; } + u32 getTexIdx() const { return mpData->mTexIdx; } + + f32 getBaseSizeX() const { return mpData->mBaseSizeX; } + f32 getBaseSizeY() const { return mpData->mBaseSizeY; } + +public: + /* 0x00 */ const JPABaseShapeData* mpData; + /* 0x04 */ const void* mpTexCrdMtxAnmTbl; + /* 0x08 */ const u8* mpTexIdxAnimTbl; + /* 0x0C */ GXColor* mpPrmClrAnmTbl; + /* 0x10 */ GXColor* mpEnvClrAnmTbl; +}; #endif /* JPABASESHAPE_H */ diff --git a/include/JSystem/JParticle/JPAChildShape.h b/include/JSystem/JParticle/JPAChildShape.h index f5ef5fa60e..5f6edf0d30 100644 --- a/include/JSystem/JParticle/JPAChildShape.h +++ b/include/JSystem/JParticle/JPAChildShape.h @@ -2,5 +2,43 @@ #define JPACHILDSHAPE_H #include "dolphin/types.h" +#include "dolphin/gx/GX.h" + +struct JPAChildShapeData { + // Common header. + /* 0x00 */ u8 mMagic[4]; + /* 0x04 */ u32 mSize; + + /* 0x08 */ u32 mFlags; + /* 0x0C */ f32 mPosRndm; + /* 0x10 */ f32 mBaseVel; + /* 0x14 */ f32 mBaseVelRndm; + /* 0x18 */ f32 mVelInfRate; + /* 0x1C */ f32 mGravity; + /* 0x20 */ f32 mScaleX; + /* 0x24 */ f32 mScaleY; + /* 0x28 */ f32 mInheritScale; + /* 0x2C */ f32 mInheritAlpha; + /* 0x30 */ f32 mInheritRGB; + /* 0x34 */ GXColor mPrmClr; + /* 0x38 */ GXColor mEnvClr; + /* 0x3C */ f32 mTiming; + /* 0x40 */ s16 mLife; + /* 0x42 */ s16 mRate; + /* 0x44 */ u8 mStep; + /* 0x45 */ u8 mTexIdx; + /* 0x46 */ s16 mRotSpeed; +}; + +class JPAChildShape { +public: + /* 8027B038 */ JPAChildShape(u8 const*); + + void getPrmClr(GXColor* dst) { *dst = mpData->mPrmClr; } + void getEnvClr(GXColor* dst) { *dst = mpData->mEnvClr; } + +public: + /* 0x00 */ const JPAChildShapeData* mpData; +}; #endif /* JPACHILDSHAPE_H */ diff --git a/include/JSystem/JParticle/JPADynamicsBlock.h b/include/JSystem/JParticle/JPADynamicsBlock.h index aa424f49a9..8b3e441c19 100644 --- a/include/JSystem/JParticle/JPADynamicsBlock.h +++ b/include/JSystem/JParticle/JPADynamicsBlock.h @@ -35,13 +35,21 @@ struct JPADynamicsBlockData { /* 0x70 */ s16 mStartFrame; /* 0x72 */ s16 mLifeTime; /* 0x74 */ s16 mVolumeSize; - /* 0x76 */ s16 mDivNumber; + /* 0x76 */ u16 mDivNumber; /* 0x78 */ u8 mRateStep; /* 0x7C */ u32 field_0x7c; }; typedef void (*JPADynamicsCalcVolumeFunc)(JPAEmitterWorkData*); +enum { + JPADynFlag_FixedDensity = 0x01, + JPADynFlag_FixedInterval = 0x02, + JPADynFlag_InheritScale = 0x04, + JPADynFlag_FollowEmtr = 0x08, + JPADynFlag_FollowEmtrChld = 0x10, +}; + class JPADynamicsBlock { public: /* 8027BB18 */ JPADynamicsBlock(u8 const*); @@ -52,10 +60,14 @@ public: s16 getStartFrame() const { return mpData->mStartFrame; } u32 getResUserWork() const { return mpData->mResUserWork; } + u32 getFlag() const { return mpData->mFlags; } + u32 getVolumeType() const { return (mpData->mFlags >> 8) & 0x07; } + u16 getDivNumber() const { return mpData->mDivNumber; } + f32 getRateRndm() const { return mpData->mRateRndm; } public: - JPADynamicsBlockData* mpData; - JPADynamicsCalcVolumeFunc mpCalcVolumeFunc; + /* 0x00 */ const JPADynamicsBlockData* mpData; + /* 0x04 */ JPADynamicsCalcVolumeFunc mpCalcVolumeFunc; }; #endif /* JPADYNAMICSBLOCK_H */ diff --git a/include/JSystem/JParticle/JPAExtraShape.h b/include/JSystem/JParticle/JPAExtraShape.h index abdcdd0b4d..0df0e57436 100644 --- a/include/JSystem/JParticle/JPAExtraShape.h +++ b/include/JSystem/JParticle/JPAExtraShape.h @@ -3,4 +3,71 @@ #include "dolphin/types.h" +struct JPAExtraShapeData { + // Common header. + /* 0x00 */ u8 mMagic[4]; + /* 0x04 */ u32 mSize; + + /* 0x08 */ u32 mFlags; + /* 0x0C */ f32 mScaleInTiming; + /* 0x10 */ f32 mScaleOutTiming; + /* 0x14 */ f32 mScaleInValueX; + /* 0x18 */ f32 mScaleOutValueX; + /* 0x1C */ f32 mScaleInValueY; + /* 0x20 */ f32 mScaleOutValueY; + /* 0x24 */ f32 mScaleOutRandom; + /* 0x28 */ s16 mScaleAnmCycleX; + /* 0x2A */ s16 mScaleAnmCycleY; + /* 0x2C */ f32 mAlphaInTiming; + /* 0x30 */ f32 mAlphaOutTiming; + /* 0x34 */ f32 mAlphaInValue; + /* 0x38 */ f32 mAlphaBaseValue; + /* 0x3C */ f32 mAlphaOutValue; + /* 0x40 */ f32 mAlphaWaveFrequency; + /* 0x44 */ f32 mAlphaWaveRandom; + /* 0x48 */ f32 mAlphaWaveAmplitude; + /* 0x4C */ f32 mRotateAngle; + /* 0x50 */ f32 mRotateAngleRandom; + /* 0x54 */ f32 mRotateSpeed; + /* 0x58 */ f32 mRotateSpeedRandom; + /* 0x5C */ f32 mRotateDirection; +}; + +class JPAExtraShape { +public: + /* 8027AD88 */ JPAExtraShape(u8 const*); + /* 8027ADBC */ void init(); + + f32 getScaleInTiming() const { return mpData->mScaleInTiming; } + f32 getScaleOutTiming() const { return mpData->mScaleOutTiming; } + f32 getScaleInValueX() const { return mpData->mScaleInValueX; } + f32 getScaleInValueY() const { return mpData->mScaleInValueY; } + f32 getScaleOutValueX() const { return mpData->mScaleOutValueX; } + f32 getScaleOutValueY() const { return mpData->mScaleOutValueY; } + s16 getScaleAnmCycleX() const { return mpData->mScaleAnmCycleX; } + s16 getScaleAnmCycleY() const { return mpData->mScaleAnmCycleY; } + f32 getAlphaInTiming() const { return mpData->mAlphaInTiming; } + f32 getAlphaOutTiming() const { return mpData->mAlphaOutTiming; } + f32 getAlphaInValue() const { return mpData->mAlphaInValue; } + f32 getAlphaOutValue() const { return mpData->mAlphaOutValue; } + f32 getAlphaBaseValue() const { return mpData->mAlphaBaseValue; } + f32 getAlphaFreq() const { return mpData->mAlphaWaveFrequency; } + f32 getAlphaAmp() const { return mpData->mAlphaWaveAmplitude; } + f32 getScaleIncRateX() const { return mScaleIncRateX; } + f32 getScaleDecRateX() const { return mScaleDecRateX; } + f32 getScaleIncRateY() const { return mScaleIncRateY; } + f32 getScaleDecRateY() const { return mScaleDecRateY; } + f32 getAlphaIncRate() const { return mAlphaIncRate; } + f32 getAlphaDecRate() const { return mAlphaDecRate; } + +private: + /* 0x00 */ const JPAExtraShapeData* mpData; + /* 0x04 */ f32 mAlphaIncRate; + /* 0x08 */ f32 mAlphaDecRate; + /* 0x0C */ f32 mScaleIncRateX; + /* 0x10 */ f32 mScaleIncRateY; + /* 0x14 */ f32 mScaleDecRateX; + /* 0x18 */ f32 mScaleDecRateY; +}; + #endif /* JPAEXTRASHAPE_H */ diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 046353808f..ae0a07b8b2 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -7,6 +7,9 @@ #include "JSystem/JGeometry.h" #include "JSystem/JSupport/JSUList.h" +#include "JSystem/JParticle/JPADynamicsBlock.h" +#include "JSystem/JParticle/JPAResource.h" + class JKRHeap; class JPABaseEmitter; class JPABaseParticle; @@ -31,6 +34,30 @@ public: JPARandom() { mSeed = 0; } void set_seed(u32 seed) { mSeed = seed; } + u32 get_rndm_u() { + return mSeed = mSeed * 0x19660du + 0x3c6ef35fu; + } + + f32 get_rndm_f() { + union { u32 u; f32 f; } a; + a.u = ((get_rndm_u() >> 9) | 0x3f800000); + return a.f - 1.0f; + } + + f32 get_rndm_zp() { + f32 f = get_rndm_f(); + return (f + f) - 1.0f; + } + + f32 get_rndm_zh() { + f32 f = get_rndm_f(); + return f - 1.0f; + } + + s16 get_rndm_ss() { + return ((s16)get_rndm_u()) >> 16; + } + public: u32 mSeed; }; @@ -175,6 +202,13 @@ public: /* 8027E6A4 */ ~JPAEmitterCallBack(); }; +enum { + JPAEmtrStts_StopEmit = 0x01, + JPAEmtrStts_StopCalc = 0x02, + JPAEmtrStts_FirstEmit = 0x10, + JPAEmtrStts_RateStepEmit = 0x20, +}; + class JPABaseEmitter { public: /* 8027E5EC */ ~JPABaseEmitter(); @@ -191,9 +225,17 @@ public: /* 8027EF50 */ bool loadTexture(u8, GXTexMapID); void setStatus(u32 status) { mStatus |= status; } + void clearStatus(u32 status) { mStatus &= ~status; } bool checkStatus(u32 status) { return !!(mStatus & status); } + bool checkFlag(u32 flag) { return !!(mpRes->getDyn()->getFlag() & flag); } u8 getResourceManagerID() const { return mResMgrID; } u8 getGroupID() const { return mGroupID; } + u8 getDrawTimes() const { return mDrawTimes; } + + f32 get_r_f() { return mRndm.get_rndm_f(); } + f32 get_r_zp() { return mRndm.get_rndm_zp(); } + f32 get_r_zh() { return mRndm.get_rndm_zh(); } + s16 get_r_ss() { return mRndm.get_rndm_ss(); } public: /* 0x00 */ Vec mLocalScl; @@ -234,7 +276,7 @@ public: /* 0xFC */ f32 mScaleOut; /* 0x100 */ u32 mTick; /* 0x104 */ s16 mWaitTime; - /* 0x106 */ u16 mRateStepTimer; + /* 0x106 */ s16 mRateStepTimer; /* 0x108 */ GXColor mPrmClr; /* 0x10C */ GXColor mEnvClr; /* 0x110 */ u8 mDrawTimes; @@ -245,11 +287,15 @@ public: class JPAParticleCallBack { public: - ~JPAParticleCallBack(); + virtual ~JPAParticleCallBack(); virtual void execute(JPABaseEmitter*, JPABaseParticle*); virtual void draw(JPABaseEmitter*, JPABaseParticle*); }; +enum { + JPAPtclStts_Invisible = 0x08, +}; + class JPABaseParticle { public: /* 8027EFEC */ void init_p(JPAEmitterWorkData*); @@ -277,7 +323,7 @@ public: /* 0x74 */ f32 mDrag; /* 0x78 */ u32 field_0x78; /* 0x7C */ u32 mStatus; - /* 0x80 */ u16 mAge; + /* 0x80 */ s16 mAge; /* 0x82 */ u16 mLifeTime; /* 0x84 */ f32 mTime; /* 0x88 */ u16 mRotateAngle; diff --git a/include/JSystem/JParticle/JPAResource.h b/include/JSystem/JParticle/JPAResource.h index f207f15d88..5b3e891bc3 100644 --- a/include/JSystem/JParticle/JPAResource.h +++ b/include/JSystem/JParticle/JPAResource.h @@ -20,7 +20,7 @@ class JPAResource { public: /* 80274010 */ JPAResource(); /* 80274080 */ void init(JKRHeap*); - /* 802755E8 */ void calc(JPAEmitterWorkData*, JPABaseEmitter*); + /* 802755E8 */ bool calc(JPAEmitterWorkData*, JPABaseEmitter*); /* 80275A94 */ void draw(JPAEmitterWorkData*, JPABaseEmitter*); /* 80275B74 */ void drawP(JPAEmitterWorkData*); /* 80275EB0 */ void drawC(JPAEmitterWorkData*); diff --git a/include/JSystem/JSupport/JSUInputStream.h b/include/JSystem/JSupport/JSUInputStream.h index f4a3ed3af3..5bb0f4f98e 100644 --- a/include/JSystem/JSupport/JSUInputStream.h +++ b/include/JSystem/JSupport/JSUInputStream.h @@ -19,8 +19,36 @@ public: /* vt[4] */ virtual s32 skip(s32); /* vt[5] */ virtual u32 readData(void*, s32) = 0; + u32 read32b() { + u32 val; + this->read(&val, sizeof(val)); + return val; + } + + s16 readS16() { + s16 val; + this->read(&val, sizeof(val)); + return val; + } + + u16 readU16() { + u16 val; + this->read(&val, sizeof(val)); + return val; + } + + u8 readU8() { + u8 val; + this->read(&val, sizeof(val)); + return val; + } + // TODO: return value probably wrong /* 802DC298 */ s32 read(void*, s32); }; // Size = 0x8 +// move? +template +T* JSUConvertOffsetToPtr(const void*, const void*); + #endif /* JSUINPUTSTREAM_H */ diff --git a/include/JSystem/JSupport/JSUList.h b/include/JSystem/JSupport/JSUList.h index f204f239ee..b0bbdd4fb9 100644 --- a/include/JSystem/JSupport/JSUList.h +++ b/include/JSystem/JSupport/JSUList.h @@ -157,67 +157,33 @@ private: // Tree // -#define JSU_TREE_FROM_LINK(T, LINK) (JSUTree*)(((u8*)(LINK)) - 12) -#define JSU_TREE_LINK_IF_NOT_NULL(TREE) \ - if (TREE) { \ - TREE = (JSUTree*)(&(TREE)->mLink); \ - } - -#define _JSU_TREE_AS_LINK(TREE) ((JSULink*)(TREE)) - template -class JSUTree { +class JSUTree : public JSUList, public JSULink { public: - JSUTree(T* owner) : mList(), mLink(owner) {} + JSUTree(T* owner) : JSUList(), JSULink(owner) {} ~JSUTree() {} - bool appendChild(JSUTree* child) { - JSU_TREE_LINK_IF_NOT_NULL(child); - return this->mList.append(_JSU_TREE_AS_LINK(child)); - } + bool appendChild(JSUTree* child) { return this->append(child); } - bool removeChild(JSUTree* child) { - JSU_TREE_LINK_IF_NOT_NULL(child); - return this->mList.remove(_JSU_TREE_AS_LINK(child)); - } + bool removeChild(JSUTree* child) { return this->remove(child); } - bool insertChild(JSUTree* before, JSUTree* child) { - JSU_TREE_LINK_IF_NOT_NULL(before); - JSU_TREE_LINK_IF_NOT_NULL(child); - return this->mList.insert(_JSU_TREE_AS_LINK(before), _JSU_TREE_AS_LINK(child)); - } + bool insertChild(JSUTree* before, JSUTree* child) { return this->insert(before, child); } JSUTree* getEndChild() const { return NULL; } - JSUTree* getFirstChild() const { - JSULink* link = this->mList.getFirst(); - return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree*)link; - } + JSUTree* getFirstChild() const { return (JSUTree*)this->getFirst(); } - JSUTree* getLastChild() const { - JSULink* link = this->mList.getLast(); - return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree*)link; - } + JSUTree* getLastChild() const { return (JSUTree*)this->getLast(); } - JSUTree* getNextChild() const { - JSULink* link = this->mLink.getNext(); - return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree*)link; - } + JSUTree* getNextChild() const { return (JSUTree*)this->getNext(); } - JSUTree* getPrevChild() const { - JSULink* link = this->mLink.getPrev(); - return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree*)link; - } + JSUTree* getPrevChild() const { return (JSUTree*)this->getPrev(); } - u32 getNumChildren() const { return this->mList.getNumLinks(); } + u32 getNumChildren() const { return this->getNumLinks(); } - T* getObject() const { return this->mLink.getObject(); } + T* getObject() const { return (T*)this->getObjectPtr(); } - JSUTree* getParent() const { return (JSUTree*)this->mLink.getList(); } - -private: - JSUList mList; - JSULink mLink; + JSUTree* getParent() const { return (JSUTree*)this->getList(); } }; template diff --git a/include/JSystem/JUtility/JUTPalette.h b/include/JSystem/JUtility/JUTPalette.h index dd9ab27cf5..f269bed464 100644 --- a/include/JSystem/JUtility/JUTPalette.h +++ b/include/JSystem/JUtility/JUTPalette.h @@ -14,6 +14,9 @@ struct ResTLUT { class JUTPalette { public: + JUTPalette(_GXTlut p1, _GXTlutFmt p2, JUTTransparency p3, u16 p4, void* p5) { + this->storeTLUT(p1, p2, p3, p4, p5); + } /* 802DE890 */ void storeTLUT(_GXTlut, ResTLUT*); /* 802DE91C */ void storeTLUT(_GXTlut, _GXTlutFmt, JUTTransparency, u16, void*); /* 802DE95C */ bool load(); diff --git a/include/JSystem/JUtility/JUTResource.h b/include/JSystem/JUtility/JUTResource.h index 9101795e68..3447ca53af 100644 --- a/include/JSystem/JUtility/JUTResource.h +++ b/include/JSystem/JUtility/JUTResource.h @@ -1,6 +1,20 @@ #ifndef JUTRESOURCE_H #define JUTRESOURCE_H +#include "JSystem/JKernel/JKRArchive.h" +#include "JSystem/JSupport/JSUInputStream.h" #include "dolphin/types.h" +class JUTResReference { +private: + u8 unk_0x0[0x101]; + +public: + JUTResReference() { unk_0x0[0] = 0; } + /* 802DE078 */ void* getResource(JSUInputStream*, u32, JKRArchive*); + /* 802DE120 */ void* getResource(void const*, u32, JKRArchive*); + /* 802DE1BC */ void* getResource(u32, JKRArchive*); +}; +// only rough size known due to getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive + #endif /* JUTRESOURCE_H */ diff --git a/include/SSystem/SComponent/c_math.h b/include/SSystem/SComponent/c_math.h index 632fa9091e..1ea9516d83 100644 --- a/include/SSystem/SComponent/c_math.h +++ b/include/SSystem/SComponent/c_math.h @@ -25,4 +25,8 @@ inline f32 cM_ssin(s16 s) { return JMath::sincosTable_.table[static_cast(s) >> 3].a1; } +inline s16 cM_deg2s(f32 val) { + return val * 182.04445f; +} + #endif /* C_MATH_H */ diff --git a/include/Z2AudioLib/Z2AudioMgr.h b/include/Z2AudioLib/Z2AudioMgr.h index 99796c8e01..11e9446f36 100644 --- a/include/Z2AudioLib/Z2AudioMgr.h +++ b/include/Z2AudioLib/Z2AudioMgr.h @@ -57,4 +57,8 @@ public: STATIC_ASSERT(sizeof(Z2AudioMgr) == 0x138C); +inline Z2AudioMgr* Z2GetAudioMgr() { + return Z2AudioMgr::getInterface(); +} + #endif /* Z2AUDIOMGR_H */ diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index d906fe333e..1fd1e895d9 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -184,6 +184,8 @@ public: /* 0xBF */ ANM_BACKWARD_SLIDE_LAND, /* 0xC0 */ ANM_FORWARD_SLIDE_LAND, + /* 0xFD */ ANM_TRANSFORM_WOLF = 0xFD, // verify + /* 0x18D */ ANM_CUT_JUMP_LARGE = 0x18D, // verify ANM_GANON_FINISH = 408 // name probably wrong, fix later }; @@ -199,7 +201,9 @@ public: enum daAlink_WARP_MAT_MODE {}; enum daAlink_WANM { - /* 0x5E */ ANM_WOLF_HOWL_SUCCESS = 94 + /* 0x5E */ ANM_WOLF_HOWL_SUCCESS = 94, + + /* 0x70 */ ANM_TRANFORM_HUMAN = 0x70, // verify }; enum MODE_FLG { @@ -446,9 +450,9 @@ public: /* 800A142C */ void getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*); /* 800A1AEC */ void setEyeMove(cXyz*, s16, s16); /* 800A1F90 */ void setNeckAngle(); - /* 800A2198 */ void commonLineCheck(cXyz*, cXyz*); + /* 800A2198 */ bool commonLineCheck(cXyz*, cXyz*); /* 800A21E0 */ static s16 getMoveBGActorName(cBgS_PolyInfo&, int); - /* 800A2280 */ void checkGoronRide(); + /* 800A2280 */ fopAc_ac_c* checkGoronRide(); /* 800A22E8 */ void setMoveSlantAngle(); /* 800A2710 */ void setArmMatrix(); /* 800A29DC */ void setFootMatrix(); @@ -458,7 +462,7 @@ public: /* 800A39B8 */ void handBgCheck(); /* 800A3C8C */ JKRHeap* setItemHeap(); /* 800A3CE4 */ void setIdxMask(u16*, u16*); - /* 800A3D0C */ void getAnimeResource(daPy_anmHeap_c*, u16, u32); + /* 800A3D0C */ void* getAnimeResource(daPy_anmHeap_c*, u16, u32); /* 800A3D7C */ J3DModel* initModel(J3DModelData*, u32, u32); /* 800A3E30 */ void initModel(u16, u32); /* 800A3E98 */ void initModelEnv(u16, u32); @@ -649,7 +653,7 @@ public: /* 800B9580 */ void swordUnequip(); /* 800B9640 */ void itemEquip(u16); /* 800B96A4 */ void itemUnequip(u16, f32); - /* 800B97EC */ void checkFastUnequip(); + /* 800B97EC */ bool checkFastUnequip(); /* 800B983C */ void allUnequip(int); /* 800B994C */ BOOL checkItemChangeFromButton(); /* 800B9D2C */ BOOL checkNextActionFromButton(); @@ -1029,7 +1033,7 @@ public: /* 800E01A0 */ bool checkBossBabaRoom(); /* 800E01CC */ void cancelBoomerangLock(fopAc_ac_c*); /* 800E0210 */ fopAc_ac_c* getBoomerangActor(); - /* 800E0244 */ void checkBoomerangChargeEnd(); + /* 800E0244 */ bool checkBoomerangChargeEnd(); /* 800E02B8 */ void checkBoomerangCarry(fopAc_ac_c*); /* 800E03D0 */ void initBoomerangUpperAnimeSpeed(int); /* 800E0440 */ BOOL checkBoomerangAnime() const; @@ -2314,7 +2318,7 @@ public: bool checkFisingRodLure() const { return mEquipItem == 0x105; } bool doTrigger() const { return mItemTrigger & 0x10; } u32 getStartMode() { return (fopAcM_GetParam(this) >> 0xC) & 0x1F; } - bool checkInputOnR() const { return field_0x33ac <= 0.05f; } + bool checkInputOnR() const { return field_0x33ac > 0.05f; } static int getSightBti() { return 0x5B; } bool checkBoomerangChargeEndWait() const { return mEquipItem != 0x102 && checkBoomerangAnime(); @@ -2323,9 +2327,15 @@ public: return mNowAnmPack[param_0].getAnmTransform(); } void setFacePriBck(u16 param_0) { setFaceBck(param_0, 1, 0xFFFF); } + void cancelFmChainGrabFromOut() { + field_0x2fa3 = 0; + field_0x2844.clearData(); + } + s32 checkPlayerDemoMode() const { return mDemo.getDemoType(); } BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; } + inline void startRestartRoomFromOut(int, u32, int); inline u16 getReadyItem(); static u8 const m_mainBckShield[80]; @@ -4347,112 +4357,6 @@ public: static daAlinkHIO_hookshot_c1 const m; }; -class daHorseRein_c { -private: - /* 0x00 */ cXyz* field_0x0[2]; - /* 0x08 */ int field_0x8[2]; - /* 0x10 */ f32 field_0x10; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ cXyz field_0x1c; -}; // Size: 0x28 - -class daHorseFootData_c { -private: - /* 0x0 */ u8 field_0x0[0xE4]; -}; // Size: 0xE4 - -class daHorse_c : public fopAc_ac_c { -public: - enum daHorse_ERFLG0 { - /* 0x010 */ MOVE_ACCEPT = 0x10, - /* 0x080 */ RIDE_RUN_FLG = 0x80, - /* 0x100 */ CUT_TURN_CANCEL = 0x100, - }; - - enum daHorse_RFLG0 { - /* 0x02 */ ENEMY_SEARCH = 2, - /* 0x08 */ LASH_DASH_START = 8, - /* 0x10 */ TURN_STAND = 0x10, - /* 0x40 */ TURN_STAND_CAMERA = 0x40, - }; - - enum daHorse_FLG0 { - /* 0x00000020 */ RODEO_LEFT = 0x20, - /* 0x00000040 */ RIDE_START_FLG = 0x40, - /* 0x00010000 */ PLAYER_BACK_RIDE_LASH = 0x10000, - /* 0x20000000 */ TURN_CANCEL_KEEP = 0x20000000, - /* 0x80000000 */ RODEO_MODE = 0x80000000 - }; - - fopAc_ac_c* getZeldaActor(); - - bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; } - bool checkResetStateFlg0(daHorse_RFLG0 flag) { return mResetStateFlg0 & flag; } - bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; } - bool checkStateFlg0(daHorse_FLG0 flag) { return mStateFlg0 & flag; } - -private: - /* 0x0568 */ u8 field_0x568[8]; - /* 0x0570 */ J3DModel* field_0x570; - /* 0x0574 */ void* field_0x574; - /* 0x0578 */ J3DFrameCtrl field_0x578; - /* 0x058C */ int field_0x58c; - /* 0x0590 */ u8 field_0x590[4]; - /* 0x0594 */ mDoExt_AnmRatioPack field_0x594[3]; - /* 0x05AC */ void* field_0x5ac; - /* 0x05B0 */ daPy_frameCtrl_c field_0x5b0[3]; - /* 0x05F8 */ u8 field_0x5f8[4]; - /* 0x05FC */ dBgS_AcchCir field_0x5fc[3]; - /* 0x06BC */ dBgS_Acch field_0x6bc; - /* 0x0894 */ dCcD_Stts field_0x894; - /* 0x08D0 */ dBgS_HorseLinChk field_0x8d0; - /* 0x0940 */ dCcD_Cyl field_0x940[3]; - /* 0x0CF4 */ dCcD_Cyl field_0xcf4; - /* 0x0E30 */ dCcD_Cyl field_0xe30; - /* 0x0F6C */ dCcD_Sph field_0xf6c; - /* 0x10A4 */ Z2CreatureRide field_0x10a4; - /* 0x1140 */ u8 field_0x1140[0x10]; - /* 0x1150 */ daHorseRein_c field_0x1150[3]; - /* 0x11C8 */ u8 field_0x11c8[0x40]; - /* 0x1208 */ dMsgFlow_c field_0x1208; - /* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep; - /* 0x125C */ u8 field_0x125c[0xC8]; - /* 0x1324 */ daHorseFootData_c mFootData[4]; - /* 0x16B4 */ u8 field_0x16b4; - /* 0x16B5 */ u8 field_0x16b5[3]; - /* 0x16B8 */ u8 field_0x16b8; - /* 0x16B9 */ u8 field_0x16b9[2]; - /* 0x16BB */ u8 mRodeoPointCnt; - /* 0x16BC */ u8 field_0x16bc[0x36]; - /* 0x16F2 */ s16 mAimNeckAngleY; - /* 0x16F4 */ u8 field_0x16f4[0xA]; - /* 0x16FC */ s16 mDemoMoveAngle; - /* 0x16FE */ u8 field_0x16fe[4]; - /* 0x1702 */ s16 field_0x1702; - /* 0x1704 */ u8 field_0x1704[2]; - /* 0x1706 */ s16 mCowHitAngle; - /* 0x1708 */ s16 mCowHit; - /* 0x170A */ u8 field_0x170a[0x1E]; - /* 0x1728 */ int field_0x1728; - /* 0x172C */ u8 field_0x172c[0x14]; - /* 0x1740 */ u32 field_0x1740; - /* 0x1744 */ u32 mStateFlg0; - /* 0x1748 */ u32 mResetStateFlg0; - /* 0x174C */ u32 mEndResetStateFlg0; - /* 0x1750 */ f32 mMorfFrame; - /* 0x1754 */ u8 field_0x1754[0x14]; - /* 0x1768 */ f32 field_0x1768; - /* 0x176C */ f32 field_0x176c; - /* 0x1770 */ f32 field_0x1770; - /* 0x1774 */ u8 field_0x1774[0x14]; - /* 0x1788 */ f32 mDemoStickR; - /* 0x178C */ f32 mNormalMaxSpeedF; - /* 0x1790 */ f32 mLashMaxSpeedF; - /* 0x1794 */ u8 field_0x1794[0x30]; - /* 0x17C4 */ cXyz mDemoPos0; -}; - class mDoExt_morf_c; class daMidna_c : public fopAc_ac_c { @@ -4518,6 +4422,13 @@ public: void onEndResetStateFlg0(daMidna_ERFLG0 pFlg) { mEndResetStateFlg0 |= pFlg; } u32 checkStateFlg1(daMidna_FLG1 pFlg) const { return mStateFlg1 & pFlg; } + void setFaceNum(int num) { mFaceNum = num; } + void setMotionNum(int num) { mMotionNum = num; } + bool checkDemoTypeNone() const { return mDemoType == 0; } + void changeOriginalDemo() { mDemoType = 3; } + void changeDemoMode(u32 mode) { mDemoMode = mode; } + + inline bool checkMidnaRealBody(); static u8 const m_texDataTable[84]; static u8 const m_anmDataTable[636]; diff --git a/include/d/a/d_a_horse_static.h b/include/d/a/d_a_horse_static.h index e38dc4bb05..a2873bdfba 100644 --- a/include/d/a/d_a_horse_static.h +++ b/include/d/a/d_a_horse_static.h @@ -1,30 +1,8 @@ #ifndef D_A_D_A_HORSE_STATIC_H #define D_A_D_A_HORSE_STATIC_H -#include "Z2AudioLib/Z2Creature.h" #include "dolphin/types.h" - -class e_wb_class { -public: - BOOL checkWait(void); - void setPlayerRideNow(void); - void setPlayerRide(void); - void getOff(void); - BOOL checkDownDamage(void); - u8 checkNormalRideMode(void) const; - void setRunRideMode(void); - -private: - u8 unk0[0x5b4]; - s16 unk1460; - u8 unk1462[0x36]; - Z2CreatureRide mZ2Ride; - u8 unk1673[7]; - s16 unk1680; - u16 unk1682; - u8 unk1684[0x2a]; - u16 unk1726; -}; +#include "rel/d/a/e/d_a_e_wb/d_a_e_wb.h" class daTagHstop_c { static daTagHstop_c* m_top; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index fa7b20ef7b..61e0b9b342 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -26,8 +26,8 @@ private: /* 0x05 */ u8 field_0x5[3]; /* 0x08 */ cXyz mPos; /* 0x14 */ Mtx field_0x14; - /* 0x44 */ ResTIMG* field_0x44; - /* 0x48 */ ResTIMG* field_0x48; + /* 0x44 */ ResTIMG* mpImg; + /* 0x48 */ u8* mpData; }; class daPy_boomerangMove_c { @@ -53,10 +53,10 @@ public: void initData(); void* mallocBuffer(); void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE); - J3DAnmBase* loadData(u16); - J3DAnmBase* loadDataIdx(u16); - J3DAnmBase* loadDataPriIdx(u16); - J3DAnmBase* loadDataDemoRID(u16, u16); + void* loadData(u16); + void* loadDataIdx(u16); + void* loadDataPriIdx(u16); + void* loadDataDemoRID(u16, u16); JKRHeap* setAnimeHeap(); u16 getIdx() const { return mIdx; } @@ -64,6 +64,7 @@ public: void resetPriIdx() { mPriIdx = 0xffff; } void resetArcNo() { mArcNo = 0xffff; } bool checkNoSetArcNo() const { return mArcNo == 0xFFFF; } + void setBufferSize(u32 size) { mBufferSize = size; } private: /* 0x00 */ u16 mIdx; @@ -126,6 +127,7 @@ public: u16 getDemoType() const { return mDemoType; } void setDemoMode(u32 mode) { mDemoMode = mode; } u32 getDemoMode() const { return mDemoMode; } + int getParam1() const { return mParam1; } void i_setSpecialDemoType() { setDemoType(5); } private: @@ -189,7 +191,7 @@ public: FLG0_UNK_20 = 0x20, UNK_F_ROLL_CRASH_2 = 0x10, UNK_F_ROLL_CRASH_1 = 0x8, - FLG0_UNK_4 = 4, + MIDNA_RIDE = 4, HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000, }; @@ -211,7 +213,9 @@ public: enum daPy_ERFLG0 { ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_1000000 = 0x1000000, + ERFLG0_UNK_800000 = 0x800000, ERFLG0_UNK_100000 = 0x100000, + ERFLG0_UNK_2 = 2, ERFLG0_UNK_1 = 1, }; enum daPy_ERFLG1 { @@ -219,9 +223,13 @@ public: UNK_FORCE_PUT_POS = 0x2000, ERFLG1_UNK_1 = 1, }; - enum daPy_ERFLG2 {}; + enum daPy_ERFLG2 { + ERFLG2_UNK_100 = 0x100, + }; enum daPy_RFLG0 { RFLG0_UNK_8000000 = 0x8000000, + RFLG0_UNK_4000 = 0x4000, + ENEMY_ATTENTION_LOCK = 0x1000, RFLG0_UNK_80 = 0x80, RFLG0_UNK_40 = 0x40, RFLG0_UNK_2 = 0x2, @@ -262,10 +270,10 @@ public: }; static u32 setParamData(int, int, int, int); - int checkFishingRodItem(int); + static BOOL checkFishingRodItem(int); static BOOL checkBombItem(int); static BOOL checkBottleItem(int); - void checkDrinkBottleItem(int); + static BOOL checkDrinkBottleItem(int); static BOOL checkOilBottleItem(int); static BOOL checkOpenBottleItem(int); static BOOL checkBowItem(int); @@ -276,25 +284,25 @@ public: void checkWoodShieldEquip(); f32 getAttentionOffsetY(); s16 checkNowWolfEyeUp(); - void forceRestartRoom(int, u32, int); - void setFmChainPos(fopAc_ac_c*, cXyz*, int); - void cancelFmChainGrab(); - void setLookPos(cXyz*); - void setPlayerSe(u32); - void linkGrabSubjectNoDraw(fopAc_ac_c*); + static void forceRestartRoom(int, u32, int); + static void setFmChainPos(fopAc_ac_c*, cXyz*, int); + static void cancelFmChainGrab(); + static void setLookPos(cXyz*); + static void setPlayerSe(u32); + static bool linkGrabSubjectNoDraw(fopAc_ac_c*); void wolfGrabSubjectNoDraw(fopAc_ac_c*); - void checkRoomRestartStart(); + static bool checkRoomRestartStart(); static u32 checkCarryStartLightBallA(); static u32 checkCarryStartLightBallB(); float getSpinnerRideSpeed() const; void checkSpinnerReflectEffect(); - void checkBoomerangCharge(); + static bool checkBoomerangCharge(); bool checkBoomerangChargeTime(); static daBoomerang_c* getThrowBoomerangActor(); - void cancelBoomerangLockActor(fopAc_ac_c*); - void setPlayerDamage(int, int); - void setMidnaMotionNum(int); - void setMidnaFaceNum(int); + static void cancelBoomerangLockActor(fopAc_ac_c*); + static void setPlayerDamage(int, int); + static void setMidnaMotionNum(int); + static void setMidnaFaceNum(int); int checkNoResetFlg0(daPy_FLG0) const; int checkEquipHeavyBoots() const; int checkBoarSingleBattle() const; @@ -314,6 +322,11 @@ public: int checkResetFlg0(daPy_py_c::daPy_RFLG0) const; int checkNoResetFlg2(daPy_py_c::daPy_FLG2) const; int checkMagneBootsOn() const; + void changeDemoPos0(cXyz const*); + void changeDemoMode(u32, int, int, s16); + void changeDemoParam2(s16); + void cancelOriginalDemo(); + void changeOriginalDemo(); virtual cXyz* getMidnaAtnPos() const; virtual void setMidnaMsgNum(fopAc_ac_c*, u16); @@ -493,9 +506,12 @@ public: return sumouCameraMode; } + bool i_getSumouMode() const { return getSumouCameraMode(); } + bool checkStatusWindowDraw() { return i_checkNoResetFlg2(STATUS_WINDOW_DRAW); } bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; } bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); } + bool checkEnemyAttentionLock() const { return i_checkResetFlg0(ENEMY_ATTENTION_LOCK); } // some functions use these function as an inline // is there a better way to handle this? @@ -513,22 +529,25 @@ public: void i_onResetFlg0(int flag) { mResetFlg0 |= flag; } void i_onResetFlg1(int flag) { mResetFlg1 |= flag; } void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; } + void i_onEndResetFlg2(int flag) { mEndResetFlg2 |= flag; } int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; } int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; } int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; } void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; } - int i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); } + u32 i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); } BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); } BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); } - bool i_checkMidnaRide() const { return i_checkNoResetFlg0(FLG0_UNK_4); } + bool i_checkMidnaRide() const { return i_checkNoResetFlg0(MIDNA_RIDE); } - inline u32 getLastSceneMode(); + inline static u32 getLastSceneMode(); inline bool checkWoodSwordEquip(); inline BOOL i_checkSwordGet(); inline bool i_checkShieldGet() const; inline BOOL checkNowWolf(); inline bool checkZoraWearFlg() const; + static daMidna_c* getMidnaActor() { return m_midnaActor; } + static daMidna_c* m_midnaActor; }; diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index 0f8b51946b..62219f8cf6 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -53,6 +53,10 @@ public: virtual ~cBgS() {} virtual void Ct(); virtual void Dt(); + + fopAc_ac_c* GetActorPointer(cBgS_PolyInfo const& info) const { + return GetActorPointer(info.GetBgIndex()); + } }; // Size: 0x1404 class dBgS_Acch; @@ -75,7 +79,7 @@ public: bool GetMagnetCode(cBgS_PolyInfo const&); bool GetMonkeyBarsCode(cBgS_PolyInfo const&); bool GetUnderwaterRoofCode(cBgS_PolyInfo const&); - bool GetWallCode(cBgS_PolyInfo const&); + s32 GetWallCode(cBgS_PolyInfo const&); bool GetPolyAtt0(cBgS_PolyInfo const&); bool GetPolyAtt1(cBgS_PolyInfo const&); bool GetGroundCode(cBgS_PolyInfo const&); diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index 121895ba9e..02d8cf7287 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -124,7 +124,7 @@ public: virtual void GetShdwThrough(int) = 0; virtual bool GetUnderwaterRoofCode(int) = 0; virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0; - virtual bool GetWallCode(cBgS_PolyInfo const&) = 0; + virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0; virtual bool GetPolyAtt0(cBgS_PolyInfo const&) = 0; virtual bool GetPolyAtt1(cBgS_PolyInfo const&) = 0; virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0; @@ -224,7 +224,7 @@ public: /* 8007B630 */ virtual bool GetUnderwaterRoofCode(int); /* 8007B4B4 */ virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&); /* 8007B6AC */ virtual void GetLinkNo(cBgS_PolyInfo const&); - /* 8007B6D8 */ virtual bool GetWallCode(cBgS_PolyInfo const&); + /* 8007B6D8 */ virtual s32 GetWallCode(cBgS_PolyInfo const&); /* 8007B704 */ virtual bool GetPolyAtt0(cBgS_PolyInfo const&); /* 8007B734 */ virtual bool GetPolyAtt1(cBgS_PolyInfo const&); /* 8007B760 */ virtual bool GetGroundCode(cBgS_PolyInfo const&); diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h index 2b67b17c5a..d2797f66fc 100644 --- a/include/d/bg/d_bg_w_base.h +++ b/include/d/bg/d_bg_w_base.h @@ -65,7 +65,7 @@ public: virtual bool GetUnderwaterRoofCode(int) = 0; virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0; virtual void GetLinkNo(cBgS_PolyInfo const&) = 0; - virtual bool GetWallCode(cBgS_PolyInfo const&) = 0; + virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0; virtual bool GetPolyAtt0(cBgS_PolyInfo const&) = 0; virtual bool GetPolyAtt1(cBgS_PolyInfo const&) = 0; virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0; diff --git a/include/d/bg/d_bg_w_kcol.h b/include/d/bg/d_bg_w_kcol.h index f46686e157..4fd7aa108d 100644 --- a/include/d/bg/d_bg_w_kcol.h +++ b/include/d/bg/d_bg_w_kcol.h @@ -61,7 +61,7 @@ public: /* 80082CCC */ virtual void GetUnderwaterRoofCode(int); /* 80082B3C */ virtual void GetMonkeyBarsCode(cBgS_PolyInfo const&); /* 80082D24 */ virtual void GetLinkNo(cBgS_PolyInfo const&); - /* 80082D54 */ virtual void GetWallCode(cBgS_PolyInfo const&); + /* 80082D54 */ virtual s32 GetWallCode(cBgS_PolyInfo const&); /* 80082D84 */ virtual void GetPolyAtt0(cBgS_PolyInfo const&); /* 80082DB4 */ virtual void GetPolyAtt1(cBgS_PolyInfo const&); /* 80082DE4 */ virtual void GetGroundCode(cBgS_PolyInfo const&); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 202b637c5e..aa8d749584 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -72,6 +72,7 @@ enum PlayerPtr { LINK_PTR, HORSE_PTR }; class daHorse_c; class dPa_control_c; class daAlink_c; +class dMsgObject_c; class dComIfG_play_c { public: @@ -110,7 +111,7 @@ public: // inlines bool& isPauseFlag() { return mPauseFlag; } - void* getMsgObjectClass() { return mMsgObjectClass; } + dMsgObject_c* getMsgObjectClass() { return mMsgObjectClass; } dStage_roomControl_c* getRoomControl() { return &mRoomControl; } dStage_stageDt_c& getStage() { return mStageData; } dEvt_control_c& getEvent() { return mEvent; } @@ -155,6 +156,29 @@ public: mBottleStatus = status; mBottleSetFlag = flag; } + void setNunStatus(u8 status, u8 param_1, u8 flag) { + mNunStatus = status; + field_0x4ef0 = param_1; + mNunSetFlag = flag; + } + void setRemoConStatus(u8 status, u8 param_1, u8 flag) { + mRemoConStatus = status; + field_0x4ef2 = param_1; + mRemoConSetFlag = flag; + } + void setNunZStatus(u8 status, u8 flag) { + mNunZStatus = status; + mNunZSetFlag = flag; + } + void setNunCStatus(u8 status, u8 flag) { + mNunCStatus = status; + mNunCSetFlag = flag; + } + void setCStickStatus(u8 status, u8 param_1, u8 flag) { + mCStickStatus = status; + mCStickDirection = param_1; + mCStickSetFlag = flag; + } void setItemLifeCount(float hearts, u8 type) { mItemLifeCount += hearts; mItemLifeCountType = type; @@ -167,9 +191,33 @@ public: void setItemKeyNumCount(s16 keys) { mItemKeyNumCount += keys; } void setItemMaxLifeCount(s16 max) { mItemMaxLifeCount += max; } void setOxygen(int oxygen) { mOxygen = oxygen; } + void setNowOxygen(s32 oxygen) { mNowOxygen = oxygen; } + int getOxygen() { return mOxygen; } + int getMaxOxygen() { return mMaxOxygen; } void setMaxOxygen(int max) { mMaxOxygen = max; } + void setItemNowLife(u16 life) { mItemNowLife = life; } + void setItemNowMagic(s16 magic) { mItemNowMagicCount = magic; } + void setItemNowOil(s32 oil) { mItemNowOil = oil; } + u8 getNeedLightDropNum() { return mNeedLightDropNum; } u8 getDoStatus() { return mDoStatus; } u8 getRStatus() { return mRStatus; } + u8 getAStatus() { return mAStatus; } + u8 getXStatus() { return mXStatus; } + u8 getYStatus() { return mYStatus; } + u8 getZStatus() { return mZStatus; } + u8 get3DStatus() { return m3DStatus; } + u8 getCStickStatus() { return mCStickStatus; } + u8 getSButtonStatus() { return mSButtonStatus; } + u8 getNunStatus() { return mNunStatus; } + u8 getRemoConStatus() { return mRemoConStatus; } + u8 getNunZStatus() { return mNunZStatus; } + u8 getNunCStatus() { return mNunCStatus; } + u8 getBottleStatus() { return mBottleStatus; } + bool isDoSetFlag(u8 flag) { return flag & mDoSetFlag; } + bool isASetFlag(u8 flag) { return flag & mASetFlag; } + bool isRSetFlag(u8 flag) { return flag & mRSetFlag; } + bool isXSetFlag(u8 flag) { return flag & mXSetFlag; } + bool isYSetFlag(u8 flag) { return flag & mYSetFlag; } const char* getStartStageName() { return mStartStage.getName(); } s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); } s8 getStartStageLayer() { return mStartStage.getLayer(); } @@ -189,7 +237,9 @@ public: s8 getStartStageDarkArea() { return mStartStage.getDarkArea(); } void setStartStageDarkArea(s8 darkArea) { mStartStage.setDarkArea(darkArea); } void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; } + void* getPlayer(int idx) { return mPlayer[idx]; } JKRArchive* getMain2DArchive() { return mMain2DArchive; } + JKRArchive* getAnmArchive() { return mAnmArchive; } J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; } dVibration_c& getVibration() { return mVibration; } void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; } @@ -254,7 +304,7 @@ public: /* 0x04E74 */ daAlink_c* mPlayer[1]; /* 0x04E78 */ s8 mPlayerCameraID[4]; /* 0x04E7C */ void* mPlayerPtr[2]; // 0: Player, 1: Horse ; type may be wrong - /* 0x04E84 */ void* mMsgObjectClass; + /* 0x04E84 */ dMsgObject_c* mMsgObjectClass; /* 0x04E88 */ float mItemLifeCount; /* 0x04E8C */ int mItemRupeeCount; /* 0x04E90 */ s16 mItemKeyNumCount; @@ -492,6 +542,11 @@ const char* dComIfGs_getWarpStageName(); s16 dComIfGs_getWarpPlayerAngleY(); s8 dComIfGs_getWarpRoomNo(); char* dComIfG_getRoomArcName(int); +int dComIfGp_getSelectItemNum(int); +int dComIfGp_getSelectItemMaxNum(int); +void dComIfGp_mapShow(); +void dComIfGp_mapHide(); +bool dComIfGp_checkMapShow(); inline void dComIfGp_setRStatus(u8 status, u8 flag) { g_dComIfG_gameInfo.play.setRStatus(status, flag); @@ -677,6 +732,10 @@ inline s32 dComIfGs_isDungeonItemMap() { return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemMap(); } +inline s32 dComIfGs_isDungeonItemCompass() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemCompass(); +} + inline s32 dComIfGs_isDungeonItemBossKey() { return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemBossKey(); } @@ -912,10 +971,14 @@ inline JKRHeap* dComIfGp_getExpHeap2D() { return g_dComIfG_gameInfo.play.getExpHeap2D(); } -inline u16 dComIfGs_getOil() { +inline s16 dComIfGs_getOil() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getOil(); } +inline s16 dComIfGs_getMaxOil() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxOil(); +} + inline s64 dComIfGs_getSaveStartTime() { return g_dComIfG_gameInfo.info.getStartTime(); } @@ -1064,6 +1127,10 @@ inline JKRArchive* dComIfGp_getMain2DArchive() { return g_dComIfG_gameInfo.play.getMain2DArchive(); } +inline JKRArchive* dComIfGp_getAnmArchive() { + return g_dComIfG_gameInfo.play.getAnmArchive(); +} + inline J2DGrafContext* dComIfGp_getCurrentGrafPort() { return g_dComIfG_gameInfo.play.getCurrentGrafPort(); } @@ -1104,7 +1171,7 @@ inline void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag) { g_dComIfG_gameInfo.play.set3DStatus(status, direction, flag); } -inline u8 dComIfGs_getLastSceneMode() { +inline s32 dComIfGs_getLastSceneMode() { return g_dComIfG_gameInfo.info.getRestart().getLastMode(); } @@ -1192,4 +1259,168 @@ inline dStage_roomStatus_c* dComIfGp_roomControl_getStatusRoomDt(int room_no) { return g_dComIfG_gameInfo.play.getRoomControl()->getStatusRoomDt(room_no); } +inline void dComIfGp_setItemNowLife(u16 life) { + g_dComIfG_gameInfo.play.setItemNowLife(life); +} + +inline void dComIfGp_setItemNowMagic(s16 magic) { + g_dComIfG_gameInfo.play.setItemNowMagic(magic); +} + +inline u8 dComIfGs_getMagic() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMagic(); +} + +inline u8 dComIfGs_getMaxMagic() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxMagic(); +} + +inline void dComIfGp_setOxygen(int oxygen) { + g_dComIfG_gameInfo.play.setOxygen(oxygen); +} + +inline void dComIfGp_setNowOxygen(s32 oxygen) { + g_dComIfG_gameInfo.play.setNowOxygen(oxygen); +} + +inline int dComIfGp_getMaxOxygen() { + return g_dComIfG_gameInfo.play.getMaxOxygen(); +} + +inline int dComIfGp_getOxygen() { + return g_dComIfG_gameInfo.play.getOxygen(); +} + +inline u8 dComIfGp_getNeedLightDropNum() { + return g_dComIfG_gameInfo.play.getNeedLightDropNum(); +} + +inline void dComIfGp_setItemNowOil(s32 oil) { + g_dComIfG_gameInfo.play.setItemNowOil(oil); +} + +inline u8 dComIfGp_getAStatus() { + return g_dComIfG_gameInfo.play.getAStatus(); +} + +inline u8 dComIfGp_getXStatus() { + return g_dComIfG_gameInfo.play.getXStatus(); +} + +inline u8 dComIfGp_getYStatus() { + return g_dComIfG_gameInfo.play.getYStatus(); +} + +inline u8 dComIfGp_getZStatus() { + return g_dComIfG_gameInfo.play.getZStatus(); +} + +inline u8 dComIfGp_get3DStatus() { + return g_dComIfG_gameInfo.play.get3DStatus(); +} + +inline u8 dComIfGp_getCStickStatus() { + return g_dComIfG_gameInfo.play.getCStickStatus(); +} + +inline u8 dComIfGp_getSButtonStatus() { + return g_dComIfG_gameInfo.play.getSButtonStatus(); +} + +inline u8 dComIfGp_getNunStatus() { + return g_dComIfG_gameInfo.play.getNunStatus(); +} + +inline u8 dComIfGp_getNunZStatus() { + return g_dComIfG_gameInfo.play.getNunZStatus(); +} + +inline u8 dComIfGp_getNunCStatus() { + return g_dComIfG_gameInfo.play.getNunCStatus(); +} + +inline u8 dComIfGp_getBottleStatus() { + return g_dComIfG_gameInfo.play.getBottleStatus(); +} + +inline u8 dComIfGp_getRemoConStatus() { + return g_dComIfG_gameInfo.play.getRemoConStatus(); +} + +inline bool dComIfGp_isDoSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isDoSetFlag(flag); +} + +inline bool dComIfGp_isASetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isASetFlag(flag); +} + +inline bool dComIfGp_isRSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isRSetFlag(flag); +} + +inline bool dComIfGp_isXSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isXSetFlag(flag); +} + +inline bool dComIfGp_isYSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isYSetFlag(flag); +} + +inline bool dComIfGs_isCollectMirror(u8 param_0) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollectMirror(param_0); +} + +inline bool dComIfGs_isCollectCrystal(u8 param_0) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollectCrystal(param_0); +} + +inline void dComIfGs_onCollectMirror(u8 param_0) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().onCollectMirror(param_0); +} + +inline void dComIfGs_onCollectCrystal(u8 param_0) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().onCollectCrystal(param_0); +} + +inline bool dComIfGp_isPauseFlag() { + return g_dComIfG_gameInfo.play.isPauseFlag(); +} + +inline void dComIfGp_setNunStatus(u8 param_0, u8 param_1, u8 param_2) { + g_dComIfG_gameInfo.play.setNunStatus(param_0, param_1, param_2); +} + +inline void dComIfGp_setRemoConStatus(u8 param_0, u8 param_1, u8 param_2) { + g_dComIfG_gameInfo.play.setRemoConStatus(param_0, param_1, param_2); +} + +inline void dComIfGp_setNunZStatus(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.play.setNunZStatus(param_0, param_1); +} + +inline void dComIfGp_setNunCStatus(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.play.setNunCStatus(param_0, param_1); +} + +inline void dComIfGp_setCStickStatus(u8 param_0, u8 param_1, u8 param_2) { + g_dComIfG_gameInfo.play.setCStickStatus(param_0, param_1, param_2); +} + +inline void* dComIfG_getObjectIDRes(const char* arc_name, u16 id) { + return g_dComIfG_gameInfo.mResControl.getObjectIDRes(arc_name, id); +} + +inline void* dComIfGp_getPlayer(int idx) { + return g_dComIfG_gameInfo.play.getPlayer(idx); +} + +inline void dComIfGd_set2DOpa(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.set2DOpa(dlst); +} + +inline dMsgObject_c* dComIfGp_getMsgObjectClass() { + return g_dComIfG_gameInfo.play.getMsgObjectClass(); +} + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index a2c6e06430..493fa2079a 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -191,6 +191,8 @@ public: /* 800568D8 */ void wipeIn(f32); /* 80056900 */ void calcWipe(); + void set2DOpa(dDlst_base_c* dlst) { set(field_0x1b4, field_0x1b8, dlst); } + static u8 mWipeDlst[72]; static u8 mWipeColor[4]; static f32 mWipeRate; @@ -228,8 +230,8 @@ private: /* 0x000B0 */ dDlst_list_c** field_0xb0; /* 0x000B4 */ dDlst_list_c** field_0xb4; // array? /* 0x000B8 */ u8 field_0xb8[0xFC]; - /* 0x001B4 */ dDlst_list_c* field_0x1b4; - /* 0x001B8 */ dDlst_list_c** field_0x1b8; + /* 0x001B4 */ dDlst_base_c** field_0x1b4; + /* 0x001B8 */ dDlst_base_c** field_0x1b8; /* 0x001BC */ dDlst_list_c** field_0x1bc; // array? /* 0x001C0 */ u8 field_0x1c0[0x7C]; /* 0x0023C */ dDlst_list_c* field_0x23c; diff --git a/include/d/d_procname.h b/include/d/d_procname.h new file mode 100644 index 0000000000..f47e472e7f --- /dev/null +++ b/include/d/d_procname.h @@ -0,0 +1,798 @@ + +#pragma once + +enum +{ + PROC_OVERLAP0 = 0x0000, + PROC_OVERLAP1 = 0x0001, + PROC_OVERLAP3 = 0x0002, + PROC_OVERLAP6 = 0x0003, + PROC_OVERLAP7 = 0x0004, + PROC_OVERLAP8 = 0x0005, + PROC_OVERLAP9 = 0x0006, + PROC_OVERLAP10 = 0x0007, + PROC_OVERLAP11 = 0x0008, + PROC_LOGO_SCENE = 0x0009, + PROC_MENU_SCENE = 0x000A, + PROC_PLAY_SCENE = 0x000B, + PROC_OPENING_SCENE = 0x000C, + PROC_NAME_SCENE = 0x000D, + PROC_NAMEEX_SCENE = 0x000E, + PROC_WARNING_SCENE = 0x000F, + PROC_WARNING2_SCENE = 0x0010, + PROC_OVERLAP2 = 0x0011, + PROC_ROOM_SCENE = 0x0012, + PROC_KANKYO = 0x0013, + PROC_ALLDIE = 0x0014, + PROC_ENVSE = 0x0015, + PROC_Obj_Swpush = 0x0016, + PROC_Obj_Swpush2 = 0x0017, + PROC_Obj_Swpush5 = 0x0018, + PROC_Tag_Gstart = 0x0019, + PROC_NO_CHG_ROOM = 0x001A, + PROC_Obj_Lv6ElevtA = 0x001B, + PROC_OBJ_SO = 0x001C, + PROC_Obj_Movebox = 0x001D, + PROC_Obj_SwTurn = 0x001E, + PROC_Obj_Lv6SwTurn = 0x001F, + PROC_OBJ_SEKIZOA = 0x0020, + PROC_OBJ_GRA = 0x0021, + PROC_TAG_GRA = 0x0022, + PROC_TAG_YAMI = 0x0023, + PROC_Obj_Ladder = 0x0024, + PROC_OBJ_BEF = 0x0025, + PROC_OBJ_FMOBJ = 0x0026, + PROC_OBJ_LBOX = 0x0027, + PROC_OBJ_WEB0 = 0x0028, + PROC_OBJ_WEB1 = 0x0029, + PROC_OBJ_CB = 0x002A, + PROC_OBJ_MAKI = 0x002B, + PROC_OBJ_BRG = 0x002C, + PROC_OBJ_GB = 0x002D, + PROC_OBJ_GM = 0x002E, + PROC_OBJ_TOBY = 0x002F, + PROC_OBJ_TP = 0x0030, + PROC_TREESH = 0x0031, + PROC_Obj_ZDoor = 0x0032, + PROC_Obj_Pillar = 0x0033, + PROC_Obj_Cdoor = 0x0034, + PROC_GRDWATER = 0x0035, + PROC_Obj_RotBridge = 0x0036, + PROC_Obj_MagLift = 0x0037, + PROC_Obj_MagLiftRot = 0x0038, + PROC_Obj_Lv1Cdl00 = 0x0039, + PROC_Obj_Lv1Cdl01 = 0x003A, + PROC_Obj_TvCdlst = 0x003B, + PROC_Obj_HsTarget = 0x003C, + PROC_Obj_HeavySw = 0x003D, + PROC_Obj_GoGate = 0x003E, + PROC_Obj_TaFence = 0x003F, + PROC_Obj_Saidan = 0x0040, + PROC_Obj_SpinLift = 0x0041, + PROC_Obj_BmWindow = 0x0042, + PROC_Obj_RfHole = 0x0043, + PROC_Obj_WaterPillar = 0x0044, + PROC_Obj_SyRock = 0x0045, + PROC_Obj_BsGate = 0x0046, + PROC_Obj_AmiShutter = 0x0047, + PROC_Obj_WtGate = 0x0048, + PROC_Obj_Lv2Candle = 0x0049, + PROC_Obj_TogeTrap = 0x004A, + PROC_Obj_RotTrap = 0x004B, + PROC_Obj_SwallShutter = 0x004C, + PROC_Obj_IceWall = 0x004D, + PROC_Obj_Lv5SwIce = 0x004E, + PROC_Obj_Lv5FBoard = 0x004F, + PROC_Obj_Turara = 0x0050, + PROC_Obj_TwGate = 0x0051, + PROC_Obj_Digholl = 0x0052, + PROC_Obj_Digpl = 0x0053, + PROC_Obj_TestCube = 0x0054, + PROC_Obj_Kshutter = 0x0055, + PROC_NPC_COACH = 0x0056, + PROC_NPC_THEB = 0x0057, + PROC_COACH_FIRE = 0x0058, + PROC_COACH2D = 0x0059, + PROC_BALLOON2D = 0x005A, + PROC_SKIP2D = 0x005B, + PROC_Obj_MvStair = 0x005C, + PROC_Obj_Cowdoor = 0x005D, + PROC_Obj_Swpropeller = 0x005E, + PROC_Obj_BoomShutter = 0x005F, + PROC_NPC_KS = 0x0060, + PROC_Obj_Hfuta = 0x0061, + PROC_Obj_BkDoor = 0x0062, + PROC_Obj_Cboard = 0x0063, + PROC_Obj_MGate = 0x0064, + PROC_Obj_Ikada = 0x0065, + PROC_Obj_Ice_l = 0x0066, + PROC_Obj_Ice_s = 0x0067, + PROC_Obj_E_CREATE = 0x0068, + PROC_Obj_Bhbridge = 0x0069, + PROC_Obj_Kaisou = 0x006A, + PROC_Obj_HHASHI = 0x006B, + PROC_Obj_BHASHI = 0x006C, + PROC_OCTHASHI = 0x006D, + PROC_Obj_THASHI = 0x006E, + PROC_Obj_CRVGATE = 0x006F, + PROC_Obj_CRVFENCE = 0x0070, + PROC_Obj_CRVHAHEN = 0x0071, + PROC_Obj_CRVSTEEL = 0x0072, + PROC_Obj_CRVLH_UP = 0x0073, + PROC_Obj_CRVLH_DW = 0x0074, + PROC_Obj_RIVERROCK = 0x0075, + PROC_Obj_DUST = 0x0076, + PROC_Obj_ITA = 0x0077, + PROC_Obj_Window = 0x0078, + PROC_Obj_MetalBox = 0x0079, + PROC_Obj_BBox = 0x007A, + PROC_OBJ_MSIMA = 0x007B, + PROC_OBJ_MYOGAN = 0x007C, + PROC_B_ZANTS = 0x007D, + PROC_Obj_ChainBlock = 0x007E, + PROC_Obj_ChainWall = 0x007F, + PROC_Obj_KkrGate = 0x0080, + PROC_Obj_RiderGate = 0x0081, + PROC_Obj_Onsen = 0x0082, + PROC_Obj_Chest = 0x0083, + PROC_Obj_Bemos = 0x0084, + PROC_Obj_RopeBridge = 0x0085, + PROC_Obj_WellCover = 0x0086, + PROC_Obj_GraveStone = 0x0087, + PROC_Obj_ZraRock = 0x0088, + PROC_Obj_GraRock = 0x0089, + PROC_Obj_GrzRock = 0x008A, + PROC_GRA_WALL = 0x008B, + PROC_OBJ_ONSEN_FIRE = 0x008C, + PROC_Obj_Lv6bemos = 0x008D, + PROC_Obj_Lv6bemos2 = 0x008E, + PROC_Obj_BarDesk = 0x008F, + PROC_Obj_DigSnow = 0x0090, + PROC_Obj_Ytaihou = 0x0091, + PROC_Obj_Elevator = 0x0092, + PROC_Obj_Lv6TogeRoll = 0x0093, + PROC_Obj_Lv6TogeTrap = 0x0094, + PROC_Obj_Lv6Tenbin = 0x0095, + PROC_Obj_Lv6SwGate = 0x0096, + PROC_Obj_Lv6Lblock = 0x0097, + PROC_Obj_Lv6ChgGate = 0x0098, + PROC_Obj_Lv6FuriTrap = 0x0099, + PROC_Obj_Lv6SzGate = 0x009A, + PROC_Obj_Lv4EdShutter = 0x009B, + PROC_Obj_Lv4Gate = 0x009C, + PROC_Obj_Lv4PoGate = 0x009D, + PROC_Obj_Lv4SlideWall = 0x009E, + PROC_Obj_Lv4HsTarget = 0x009F, + PROC_Obj_Lv7PropY = 0x00A0, + PROC_Obj_Lv7BsGate = 0x00A1, + PROC_Obj_Lv8OptiLift = 0x00A2, + PROC_Obj_Lv8KekkaiTrap = 0x00A3, + PROC_Obj_Lv8Lift = 0x00A4, + PROC_Obj_Lv8UdFloor = 0x00A5, + PROC_Obj_Lv9SwShutter = 0x00A6, + PROC_Obj_TobyHouse = 0x00A7, + PROC_Obj_poCandle = 0x00A8, + PROC_Obj_Lv4DigSand = 0x00A9, + PROC_Obj_FallObj = 0x00AA, + PROC_Obj_SmgDoor = 0x00AB, + PROC_Obj_SwLight = 0x00AC, + PROC_Obj_Avalanche = 0x00AD, + PROC_Obj_MirrorScrew = 0x00AE, + PROC_Obj_MirrorSand = 0x00AF, + PROC_Obj_MirrorTable = 0x00B0, + PROC_Obj_MirrorChain = 0x00B1, + PROC_Obj_Mirror6Pole = 0x00B2, + PROC_Obj_SwSpinner = 0x00B3, + PROC_Obj_TDoor = 0x00B4, + PROC_Obj_Lv7Bridge = 0x00B5, + PROC_Obj_zrTurara = 0x00B6, + PROC_Obj_TakaraDai = 0x00B7, + PROC_Obj_Table = 0x00B8, + PROC_Obj_CatDoor = 0x00B9, + PROC_Obj_Gake = 0x00BA, + PROC_CSTAF = 0x00BB, + PROC_Obj_Lv4RailWall = 0x00BC, + PROC_Obj_Lv4Sand = 0x00BD, + PROC_Obj_PushDoor = 0x00BE, + PROC_PushDoor = 0x00BF, + PROC_Obj_GanonWall2 = 0x00C0, + PROC_Obj_Lv4Bridge = 0x00C1, + PROC_Obj_Lv4Floor = 0x00C2, + PROC_Tag_Spinner = 0x00C3, + PROC_Obj_SwHang = 0x00C4, + PROC_Obj_RotStair = 0x00C5, + PROC_Obj_MagneArm = 0x00C6, + PROC_Obj_KWheel00 = 0x00C7, + PROC_Obj_KWheel01 = 0x00C8, + PROC_Obj_Ychndlr = 0x00C9, + PROC_Obj_PRElvtr = 0x00CA, + PROC_Obj_MHasu = 0x00CB, + PROC_Obj_YIblltray = 0x00CC, + PROC_Obj_Lv6EGate = 0x00CD, + PROC_Obj_PDtile = 0x00CE, + PROC_Obj_PDwall = 0x00CF, + PROC_Obj_Lv4PRwall = 0x00D0, + PROC_Obj_KLift00 = 0x00D1, + PROC_B_OH = 0x00D2, + PROC_Obj_Lv4Chan = 0x00D3, + PROC_Obj_Lv3R10Saka = 0x00D4, + PROC_Obj_Lv3Water = 0x00D5, + PROC_Obj_Lv3Water2 = 0x00D6, + PROC_OBJ_LV3WATERB = 0x00D7, + PROC_Obj_HBombkoya = 0x00D8, + PROC_Obj_SZbridge = 0x00D9, + PROC_Obj_KakarikoBrg = 0x00DA, + PROC_Obj_OrdinBrg = 0x00DB, + PROC_Obj_BurnBox = 0x00DC, + PROC_Obj_KJgjs = 0x00DD, + PROC_OBJ_IHASI = 0x00DE, + PROC_Obj_IceBlock = 0x00DF, + PROC_Obj_VolcanicBall = 0x00E0, + PROC_Obj_VolcanicBomb = 0x00E1, + PROC_Obj_VolcGnd = 0x00E2, + PROC_Obj_KKanban = 0x00E3, + PROC_E_PH = 0x00E4, + PROC_NPC_ZRA = 0x00E5, + PROC_Obj_Chandelier = 0x00E6, + PROC_Obj_Stopper2 = 0x00E7, + PROC_DOOR20 = 0x00E8, + PROC_Tag_Hinit = 0x00E9, + PROC_Tag_Hjump = 0x00EA, + PROC_Tag_AJnot = 0x00EB, + PROC_Tag_Hstop = 0x00EC, + PROC_CANOE = 0x00ED, + PROC_HORSE = 0x00EE, + PROC_E_WB = 0x00EF, + PROC_OBJ_ITO = 0x00F0, + PROC_OBJ_SW = 0x00F1, + PROC_SPINNER = 0x00F2, + PROC_B_OB = 0x00F3, + PROC_KAGO = 0x00F4, + PROC_E_YC = 0x00F5, + PROC_B_DS = 0x00F6, + PROC_B_DR = 0x00F7, + PROC_B_ZANTZ = 0x00F8, + PROC_B_ZANT = 0x00F9, + PROC_B_ZANTM = 0x00FA, + PROC_TBOX = 0x00FB, + PROC_TBOX2 = 0x00FC, + PROC_ALINK = 0x00FD, + PROC_BOOMERANG = 0x00FE, + PROC_MIDNA = 0x00FF, + PROC_NPC_TK = 0x0100, + PROC_NPC_WORM = 0x0101, + PROC_PPolamp = 0x0102, + PROC_BkyRock = 0x0103, + PROC_HITOBJ = 0x0104, + PROC_EP = 0x0105, + PROC_COW = 0x0106, + PROC_PERU = 0x0107, + PROC_NI = 0x0108, + PROC_NPC_TKJ2 = 0x0109, + PROC_SQ = 0x010A, + PROC_NPC_SQ = 0x010B, + PROC_DO = 0x010C, + PROC_NPC_NE = 0x010D, + PROC_NPC_TR = 0x010E, + PROC_NPC_LF = 0x010F, + PROC_OBJ_FOOD = 0x0110, + PROC_OBJ_KI = 0x0111, + PROC_OBJ_KITA = 0x0112, + PROC_OBJ_KEY = 0x0113, + PROC_OBJ_KEYHOLE = 0x0114, + PROC_Obj_Lv5Key = 0x0115, + PROC_OBJ_LP = 0x0116, + PROC_OBJ_TATIGI = 0x0117, + PROC_OBJ_ROCK = 0x0118, + PROC_OBJ_WFLAG = 0x0119, + PROC_OBJ_KAGE = 0x011A, + PROC_OBJ_KANBAN2 = 0x011B, + PROC_OBJ_BALLOON = 0x011C, + PROC_OBJ_SUISYA = 0x011D, + PROC_OBJ_OILTUBO = 0x011E, + PROC_OBJ_ROTEN = 0x011F, + PROC_OBJ_SSDRINK = 0x0120, + PROC_OBJ_SSITEM = 0x0121, + PROC_TAG_SSDRINK = 0x0122, + PROC_TAG_BTLITM = 0x0123, + PROC_TAG_LV5SOUP = 0x0124, + PROC_TAG_MNLIGHT = 0x0125, + PROC_TAG_SHOPCAM = 0x0126, + PROC_TAG_SHOPITM = 0x0127, + PROC_OBJ_NDOOR = 0x0128, + PROC_OBJ_UDOOR = 0x0129, + PROC_OBJ_USAKU = 0x012A, + PROC_Obj_SM_DOOR = 0x012B, + PROC_OBJ_BED = 0x012C, + PROC_OBJ_BOUMATO = 0x012D, + PROC_OBJ_ITAMATO = 0x012E, + PROC_OBJ_NOUGU = 0x012F, + PROC_OBJ_STICK = 0x0130, + PROC_OBJ_MIE = 0x0131, + PROC_OBJ_SEKIDOOR = 0x0132, + PROC_OBJ_SEKIZO = 0x0133, + PROC_OBJ_SMTILE = 0x0134, + PROC_NPC_FISH = 0x0135, + PROC_MG_FISH = 0x0136, + PROC_FSHOP = 0x0137, + PROC_NPC_DU = 0x0138, + PROC_DISAPPEAR = 0x0139, + PROC_Obj_Mato = 0x013A, + PROC_Obj_Flag = 0x013B, + PROC_Obj_Flag2 = 0x013C, + PROC_Obj_Flag3 = 0x013D, + PROC_Obj_GOMIKABE = 0x013E, + PROC_Obj_Yousei = 0x013F, + PROC_Obj_Kabuto = 0x0140, + PROC_Obj_Cho = 0x0141, + PROC_Obj_Kuw = 0x0142, + PROC_Obj_Nan = 0x0143, + PROC_Obj_Dan = 0x0144, + PROC_Obj_Kam = 0x0145, + PROC_Obj_Ten = 0x0146, + PROC_Obj_Ari = 0x0147, + PROC_Obj_Kag = 0x0148, + PROC_Obj_Batta = 0x0149, + PROC_Obj_Tombo = 0x014A, + PROC_Obj_Kat = 0x014B, + PROC_Obj_H_Saku = 0x014C, + PROC_Obj_Yobikusa = 0x014D, + PROC_Obj_KazeNeko = 0x014E, + PROC_Obj_KznkArm = 0x014F, + PROC_Obj_NamePlate = 0x0150, + PROC_Obj_OnCloth = 0x0151, + PROC_Obj_LndRope = 0x0152, + PROC_Obj_ItaRope = 0x0153, + PROC_Obj_Sakuita = 0x0154, + PROC_Obj_Laundry = 0x0155, + PROC_WarpBug = 0x0156, + PROC_Izumi_Gate = 0x0157, + PROC_Obj_Fchain = 0x0158, + PROC_Obj_Wchain = 0x0159, + PROC_Tag_Attp = 0x015A, + PROC_Obj_Tornado = 0x015B, + PROC_Obj_Tornado2 = 0x015C, + PROC_Obj_FirePillar = 0x015D, + PROC_Obj_FirePillar2 = 0x015E, + PROC_Obj_InoBone = 0x015F, + PROC_Obj_Stopper = 0x0160, + PROC_Obj_MHole = 0x0161, + PROC_Tag_Magne = 0x0162, + PROC_Obj_BossWarp = 0x0163, + PROC_Obj_WoodPendulum = 0x0164, + PROC_Obj_WdStick = 0x0165, + PROC_Obj_StairBlock = 0x0166, + PROC_Obj_Geyser = 0x0167, + PROC_Tag_KtOnFire = 0x0168, + PROC_Obj_FireWood = 0x0169, + PROC_Obj_FireWood2 = 0x016A, + PROC_Obj_GpTaru = 0x016B, + PROC_Obj_OnsenTaru = 0x016C, + PROC_Obj_KiPot = 0x016D, + PROC_TBOX_SW = 0x016E, + PROC_Obj_SwChain = 0x016F, + PROC_Obj_WoodenSword = 0x0170, + PROC_Obj_StoneMark = 0x0171, + PROC_Obj_Lv3Candle = 0x0172, + PROC_Tag_Lv4Candle = 0x0173, + PROC_Tag_Lv4CandleDm = 0x0174, + PROC_Obj_DamCps = 0x0175, + PROC_Obj_Smoke = 0x0176, + PROC_Obj_WaterFall = 0x0177, + PROC_Obj_ZoraCloth = 0x0178, + PROC_Obj_poFire = 0x0179, + PROC_Tag_poFire = 0x017A, + PROC_Obj_glowSphere = 0x017B, + PROC_Tag_LightBall = 0x017C, + PROC_SwLBall = 0x017D, + PROC_SwBall = 0x017E, + PROC_Obj_WaterEff = 0x017F, + PROC_Tag_RiverBack = 0x0180, + PROC_Tag_KagoFall = 0x0181, + PROC_Tag_Lv2PrChk = 0x0182, + PROC_Obj_Lv4Gear = 0x0183, + PROC_Obj_MasterSword = 0x0184, + PROC_Obj_WoodStatue = 0x0185, + PROC_Obj_Fan = 0x0186, + PROC_Obj_IceLeaf = 0x0187, + PROC_Obj_zrTuraraRc = 0x0188, + PROC_Tag_RetRoom = 0x0189, + PROC_Obj_WindStone = 0x018A, + PROC_Tag_WaraHowl = 0x018B, + PROC_Obj_SCannon = 0x018C, + PROC_Obj_SmWStone = 0x018D, + PROC_Obj_SCannonCrs = 0x018E, + PROC_Tag_SnowEff = 0x018F, + PROC_Tag_CstaSw = 0x0190, + PROC_Tag_Lv6CstaSw = 0x0191, + PROC_Obj_awaPlar = 0x0192, + PROC_Obj_poTbox = 0x0193, + PROC_Obj_TimeFire = 0x0194, + PROC_Obj_TMoon = 0x0195, + PROC_Obj_GanonWall = 0x0196, + PROC_Obj_Prop = 0x0197, + PROC_CSTATUE = 0x0198, + PROC_Obj_SwBallA = 0x0199, + PROC_Obj_SwBallB = 0x019A, + PROC_Obj_SnowSoup = 0x019B, + PROC_Obj_Nagaisu = 0x019C, + PROC_Obj_RCircle = 0x019D, + PROC_Obj_Picture = 0x019E, + PROC_Tag_SetBall = 0x019F, + PROC_Tag_SmkEmt = 0x01A0, + PROC_SwTime = 0x01A1, + PROC_Obj_HFtr = 0x01A2, + PROC_Obj_HBarrel = 0x01A3, + PROC_Obj_Crystal = 0x01A4, + PROC_Obj_SCannonTen = 0x01A5, + PROC_Obj_SwBallC = 0x01A6, + PROC_SCENE_EXIT2 = 0x01A7, + PROC_Obj_Hata = 0x01A8, + PROC_Obj_ToaruMaki = 0x01A9, + PROC_Tag_AttackItem = 0x01AA, + PROC_Tag_RmbitSw = 0x01AB, + PROC_Obj_Sword = 0x01AC, + PROC_Tag_Spring = 0x01AD, + PROC_Tag_Statue = 0x01AE, + PROC_E_AI = 0x01AF, + PROC_E_GS = 0x01B0, + PROC_E_GOB = 0x01B1, + PROC_E_DD = 0x01B2, + PROC_E_DN = 0x01B3, + PROC_E_S1 = 0x01B4, + PROC_E_MF = 0x01B5, + PROC_E_SG = 0x01B6, + PROC_E_BS = 0x01B7, + PROC_E_SF = 0x01B8, + PROC_E_SH = 0x01B9, + PROC_E_DF = 0x01BA, + PROC_E_GM = 0x01BB, + PROC_E_MD = 0x01BC, + PROC_E_SM = 0x01BD, + PROC_E_SM2 = 0x01BE, + PROC_E_ST = 0x01BF, + PROC_E_ST_LINE = 0x01C0, + PROC_E_SB = 0x01C1, + PROC_E_TH = 0x01C2, + PROC_E_CR = 0x01C3, + PROC_E_CR_EGG = 0x01C4, + PROC_E_DB = 0x01C5, + PROC_E_DB_LEAF = 0x01C6, + PROC_E_GA = 0x01C7, + PROC_E_GB = 0x01C8, + PROC_E_HB = 0x01C9, + PROC_E_HB_LEAF = 0x01CA, + PROC_E_HZELDA = 0x01CB, + PROC_E_YD = 0x01CC, + PROC_E_YH = 0x01CD, + PROC_E_YD_LEAF = 0x01CE, + PROC_E_HM = 0x01CF, + PROC_E_TK = 0x01D0, + PROC_E_TK2 = 0x01D1, + PROC_E_TK_BALL = 0x01D2, + PROC_E_RB = 0x01D3, + PROC_E_RD = 0x01D4, + PROC_E_RDB = 0x01D5, + PROC_E_RDY = 0x01D6, + PROC_E_FM = 0x01D7, + PROC_E_FS = 0x01D8, + PROC_E_PM = 0x01D9, + PROC_E_PO = 0x01DA, + PROC_E_MB = 0x01DB, + PROC_E_MK = 0x01DC, + PROC_E_MM = 0x01DD, + PROC_E_FZ = 0x01DE, + PROC_E_ZS = 0x01DF, + PROC_E_KK = 0x01E0, + PROC_E_HP = 0x01E1, + PROC_E_ZH = 0x01E2, + PROC_E_ZM = 0x01E3, + PROC_E_PZ = 0x01E4, + PROC_E_FB = 0x01E5, + PROC_E_FK = 0x01E6, + PROC_E_MS = 0x01E7, + PROC_E_NEST = 0x01E8, + PROC_E_NZ = 0x01E9, + PROC_E_BA = 0x01EA, + PROC_E_BU = 0x01EB, + PROC_E_BUG = 0x01EC, + PROC_E_BEE = 0x01ED, + PROC_E_IS = 0x01EE, + PROC_E_KG = 0x01EF, + PROC_E_KR = 0x01F0, + PROC_E_SW = 0x01F1, + PROC_E_GE = 0x01F2, + PROC_Tag_WatchGe = 0x01F3, + PROC_E_YM = 0x01F4, + PROC_E_YM_TAG = 0x01F5, + PROC_E_YMB = 0x01F6, + PROC_Tag_FWall = 0x01F7, + PROC_Tag_WaterFall = 0x01F8, + PROC_E_YK = 0x01F9, + PROC_E_YR = 0x01FA, + PROC_E_YG = 0x01FB, + PROC_E_HZ = 0x01FC, + PROC_E_WS = 0x01FD, + PROC_E_OC = 0x01FE, + PROC_E_OT = 0x01FF, + PROC_E_DT = 0x0200, + PROC_E_BG = 0x0201, + PROC_E_OctBg = 0x0202, + PROC_DR = 0x0203, + PROC_L7lowDr = 0x0204, + PROC_L7ODR = 0x0205, + PROC_E_TT = 0x0206, + PROC_E_DK = 0x0207, + PROC_E_VT = 0x0208, + PROC_E_WW = 0x0209, + PROC_E_GI = 0x020A, + PROC_B_BH = 0x020B, + PROC_B_BQ = 0x020C, + PROC_B_GM = 0x020D, + PROC_B_GND = 0x020E, + PROC_B_GO = 0x020F, + PROC_B_OH2 = 0x0210, + PROC_B_YO = 0x0211, + PROC_B_YOI = 0x0212, + PROC_B_TN = 0x0213, + PROC_B_GG = 0x0214, + PROC_B_DRE = 0x0215, + PROC_B_MGN = 0x0216, + PROC_E_WAP = 0x0217, + PROC_ITEM = 0x0218, + PROC_Obj_SmallKey = 0x0219, + PROC_Obj_Kantera = 0x021A, + PROC_Obj_LifeContainer = 0x021B, + PROC_Obj_Shield = 0x021C, + PROC_Demo_Item = 0x021D, + PROC_ShopItem = 0x021E, + PROC_Obj_Drop = 0x021F, + PROC_OBJ_RW = 0x0220, + PROC_NBOMB = 0x0221, + PROC_TAG_CSW = 0x0222, + PROC_TAG_QS = 0x0223, + PROC_HOZELDA = 0x0224, + PROC_SWC00 = 0x0225, + PROC_KNOB20 = 0x0226, + PROC_DBDOOR = 0x0227, + PROC_BOSS_DOOR = 0x0228, + PROC_L1BOSS_DOOR = 0x0229, + PROC_L1MBOSS_DOOR = 0x022A, + PROC_L5BOSS_DOOR = 0x022B, + PROC_DSHUTTER = 0x022C, + PROC_SPIRAL_DOOR = 0x022D, + PROC_Tag_ChgRestart = 0x022E, + PROC_Tag_Restart = 0x022F, + PROC_ANDSW = 0x0230, + PROC_ANDSW2 = 0x0231, + PROC_MYNA = 0x0232, + PROC_NPC_GND = 0x0233, + PROC_NPC_GRA = 0x0234, + PROC_NPC_GRC = 0x0235, + PROC_NPC_GRD = 0x0236, + PROC_NPC_GRM = 0x0237, + PROC_NPC_GRMC = 0x0238, + PROC_NPC_GRO = 0x0239, + PROC_NPC_GRR = 0x023A, + PROC_NPC_GRS = 0x023B, + PROC_NPC_GRZ = 0x023C, + PROC_NPC_YAMID = 0x023D, + PROC_NPC_YAMIT = 0x023E, + PROC_NPC_YAMIS = 0x023F, + PROC_NPC_BLUENS = 0x0240, + PROC_NPC_KAKASHI = 0x0241, + PROC_NPC_KDK = 0x0242, + PROC_NPC_ARU = 0x0243, + PROC_NPC_BANS = 0x0244, + PROC_NPC_BESU = 0x0245, + PROC_NPC_BOU = 0x0246, + PROC_NPC_BOU_S = 0x0247, + PROC_NPC_CLERKA = 0x0248, + PROC_NPC_CLERKB = 0x0249, + PROC_NPC_CLERKT = 0x024A, + PROC_NPC_WRESTLER = 0x024B, + PROC_Tag_Arena = 0x024C, + PROC_Tag_Instruction = 0x024D, + PROC_NPC_DOC = 0x024E, + PROC_NPC_GWOLF = 0x024F, + PROC_NPC_LEN = 0x0250, + PROC_NPC_LUD = 0x0251, + PROC_NPC_FAIRY_SEIREI = 0x0252, + PROC_NPC_FAIRY = 0x0253, + PROC_NPC_HANJO = 0x0254, + PROC_NPC_HENNA = 0x0255, + PROC_NPC_HENNA0 = 0x0256, + PROC_NPC_HOZ = 0x0257, + PROC_NPC_JAGAR = 0x0258, + PROC_NPC_KKRI = 0x0259, + PROC_NPC_KN = 0x025A, + PROC_KN_BULLET = 0x025B, + PROC_NPC_KNJ = 0x025C, + PROC_NPC_KOLIN = 0x025D, + PROC_NPC_KOLINB = 0x025E, + PROC_NPC_KYURY = 0x025F, + PROC_NPC_MARO = 0x0260, + PROC_NPC_MIDP = 0x0261, + PROC_NPC_MOI = 0x0262, + PROC_NPC_RACA = 0x0263, + PROC_NPC_SARU = 0x0264, + PROC_NPC_SEIB = 0x0265, + PROC_NPC_SEIC = 0x0266, + PROC_NPC_SEID = 0x0267, + PROC_NPC_SEIRA = 0x0268, + PROC_NPC_SERA2 = 0x0269, + PROC_NPC_SEIREI = 0x026A, + PROC_NPC_SHAMAN = 0x026B, + PROC_NPC_SMARO = 0x026C, + PROC_NPC_SOLA = 0x026D, + PROC_NPC_TARO = 0x026E, + PROC_NPC_PACHI_BESU = 0x026F, + PROC_NPC_PACHI_TARO = 0x0270, + PROC_NPC_PACHI_MARO = 0x0271, + PROC_TAG_PATI = 0x0272, + PROC_NPC_THE = 0x0273, + PROC_NPC_TKJ = 0x0274, + PROC_NPC_TKS = 0x0275, + PROC_NPC_TKC = 0x0276, + PROC_OBJ_TKS = 0x0277, + PROC_NPC_TOBY = 0x0278, + PROC_NPC_URI = 0x0279, + PROC_NPC_YELIA = 0x027A, + PROC_NPC_YKM = 0x027B, + PROC_NPC_YKW = 0x027C, + PROC_NPC_ZANB = 0x027D, + PROC_NPC_ZANT = 0x027E, + PROC_NPC_ZELDA = 0x027F, + PROC_NPC_ZELR = 0x0280, + PROC_NPC_ZELRO = 0x0281, + PROC_OBJ_ZRAFREEZE = 0x0282, + PROC_NPC_ZRC = 0x0283, + PROC_NPC_ZRZ = 0x0284, + PROC_ZRA_MARK = 0x0285, + PROC_MYNA2 = 0x0286, + PROC_TAG_MYNA2 = 0x0287, + PROC_NPC_CD3 = 0x0288, + PROC_Tag_Schedule = 0x0289, + PROC_Tag_Escape = 0x028A, + PROC_NPC_CHAT = 0x028B, + PROC_NPC_SOLDIERa = 0x028C, + PROC_NPC_SOLDIERb = 0x028D, + PROC_PASSER_MNG = 0x028E, + PROC_NPC_PASSER = 0x028F, + PROC_NPC_PASSER2 = 0x0290, + PROC_NPC_POST = 0x0291, + PROC_NPC_POUYA = 0x0292, + PROC_FORMATION_MNG = 0x0293, + PROC_NPC_FGUARD = 0x0294, + PROC_GUARD_MNG = 0x0295, + PROC_TAG_GUARD = 0x0296, + PROC_NPC_GUARD = 0x0297, + PROC_NPC_ASH = 0x0298, + PROC_NPC_ASHB = 0x0299, + PROC_NPC_SHAD = 0x029A, + PROC_NPC_RAFREL = 0x029B, + PROC_NPC_MOIR = 0x029C, + PROC_NPC_IMPAL = 0x029D, + PROC_NPC_SHOE = 0x029E, + PROC_NPC_DOORBOY = 0x029F, + PROC_NPC_PRAYER = 0x02A0, + PROC_NPC_KASIHANA = 0x02A1, + PROC_NPC_KASIKYU = 0x02A2, + PROC_NPC_KASIMICH = 0x02A3, + PROC_NPC_DRSOL = 0x02A4, + PROC_NPC_CHIN = 0x02A5, + PROC_NPC_INS = 0x02A6, + PROC_NPC_SHOP0 = 0x02A7, + PROC_NPC_MK = 0x02A8, + PROC_NPC_P2 = 0x02A9, + PROC_KYTAG00 = 0x02AA, + PROC_KYTAG01 = 0x02AB, + PROC_KYTAG02 = 0x02AC, + PROC_KYTAG03 = 0x02AD, + PROC_KYTAG04 = 0x02AE, + PROC_KYTAG05 = 0x02AF, + PROC_KYTAG06 = 0x02B0, + PROC_KYTAG07 = 0x02B1, + PROC_KYTAG08 = 0x02B2, + PROC_KYTAG09 = 0x02B3, + PROC_KYTAG10 = 0x02B4, + PROC_KYTAG11 = 0x02B5, + PROC_KYTAG12 = 0x02B6, + PROC_KYTAG13 = 0x02B7, + PROC_KYTAG14 = 0x02B8, + PROC_KYTAG15 = 0x02B9, + PROC_KYTAG16 = 0x02BA, + PROC_KYTAG17 = 0x02BB, + PROC_Ykgr = 0x02BC, + PROC_TALK = 0x02BD, + PROC_Obj_Crope = 0x02BE, + PROC_Obj_Bombf = 0x02BF, + PROC_Obj_BkLeaf = 0x02C0, + PROC_Tag_Mhint = 0x02C1, + PROC_Tag_Mmsg = 0x02C2, + PROC_Tag_Mwait = 0x02C3, + PROC_Tag_Mstop = 0x02C4, + PROC_Tag_Stream = 0x02C5, + PROC_Tag_Sppath = 0x02C6, + PROC_Tag_Wljump = 0x02C7, + PROC_Tag_TWGate = 0x02C8, + PROC_Tag_Lv6Gate = 0x02C9, + PROC_Tag_Lv7Gate = 0x02CA, + PROC_Tag_Lv8Gate = 0x02CB, + PROC_Tag_TheBHint = 0x02CC, + PROC_Tag_Assist = 0x02CD, + PROC_DEMO00 = 0x02CE, + PROC_TAG_CAMERA = 0x02CF, + PROC_TAG_CHKPOINT = 0x02D0, + PROC_TAG_EVENT = 0x02D1, + PROC_TAG_EVT = 0x02D2, + PROC_TAG_TELOP = 0x02D3, + PROC_TAG_HOWL = 0x02D4, + PROC_TAG_MSG = 0x02D5, + PROC_TAG_LANTERN = 0x02D6, + PROC_Tag_Mist = 0x02D7, + PROC_DMIDNA = 0x02D8, + PROC_KY_THUNDER = 0x02D9, + PROC_VRBOX = 0x02DA, + PROC_VRBOX2 = 0x02DB, + PROC_BG = 0x02DC, + PROC_SET_BG_OBJ = 0x02DD, + PROC_BG_OBJ = 0x02DE, + PROC_MIRROR = 0x02DF, + PROC_MOVIE_PLAYER = 0x02E0, + PROC_TITLE = 0x02E1, + PROC_FR = 0x02E2, + PROC_ECONT = 0x02E3, + PROC_MG_ROD = 0x02E4, + PROC_E_ARROW = 0x02E5, + PROC_BULLET = 0x02E6, + PROC_SWHIT0 = 0x02E7, + PROC_E_TH_BALL = 0x02E8, + PROC_TAG_EVTAREA = 0x02E9, + PROC_TAG_EVTMSG = 0x02EA, + PROC_TAG_KMSG = 0x02EB, + PROC_TAG_PUSH = 0x02EC, + PROC_E_MK_BO = 0x02ED, + PROC_E_MM_MT = 0x02EE, + PROC_OBJ_KBOX = 0x02EF, + PROC_OBJ_FW = 0x02F0, + PROC_B_GOS = 0x02F1, + PROC_OBJ_YSTONE = 0x02F2, + PROC_MANT = 0x02F3, + PROC_CROD = 0x02F4, + PROC_OBJ_PLEAF = 0x02F5, + PROC_OBJ_KBACKET = 0x02F6, + PROC_OBJ_YBAG = 0x02F7, + PROC_OBJ_PUMPKIN = 0x02F8, + PROC_OBJ_AUTOMATA = 0x02F9, + PROC_OBJ_GADGET = 0x02FA, + PROC_OBJ_KAGO = 0x02FB, + PROC_Obj_Carry = 0x02FC, + PROC_Obj_Stone = 0x02FD, + PROC_OBJ_HB = 0x02FE, + PROC_NPC_INKO = 0x02FF, + PROC_BD = 0x0300, + PROC_Obj_Eff = 0x0301, + PROC_WPILLAR = 0x0302, + PROC_WMARK = 0x0303, + PROC_E_BI = 0x0304, + PROC_E_BI_LEAF = 0x0305, + PROC_START_AND_GOAL = 0x0306, + PROC_NPC_DF = 0x0307, + PROC_ARROW = 0x0308, + PROC_PATH_LINE = 0x0309, + PROC_TAG_ALLMATO = 0x030A, + PROC_Obj_Timer = 0x030B, + PROC_SCENE_EXIT = 0x030C, + PROC_CAMERA = 0x030D, + PROC_CAMERA2 = 0x030E, + PROC_SUSPEND = 0x030F, + PROC_GRASS = 0x0310, + PROC_KYEFF = 0x0311, + PROC_KYEFF2 = 0x0312, + PROC_MSG_OBJECT = 0x0313, + PROC_MENUWINDOW = 0x0314, + PROC_TIMER = 0x0315, + PROC_METER2 = 0x0316, + PROC_GAMEOVER = 0x0317, +}; diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 67e81da529..5419ba7fe5 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -59,7 +59,7 @@ public: /* 8003C260 */ static dRes_info_c* newResInfo(dRes_info_c*, int); /* 8003C288 */ static dRes_info_c* getResInfoLoaded(char const*, dRes_info_c*, int); /* 8003C2EC */ static void* getRes(char const*, s32, dRes_info_c*, int); - /* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int); + /* 8003C400 */ static void* getIDRes(char const*, u16, dRes_info_c*, int); /* 8003C470 */ static int syncAllRes(dRes_info_c*, int); /* 8003C4E4 */ int setObjectRes(char const*, void*, u32, JKRHeap*); /* 8003C5BC */ int setStageRes(char const*, JKRHeap*); @@ -79,6 +79,10 @@ public: return getRes(arcName, param_1, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); } + void* getObjectIDRes(const char* arcName, u16 id) { + return getIDRes(arcName, id, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); + } + int syncObjectRes(const char* name) { return syncRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); } diff --git a/include/d/d_stage.h b/include/d/d_stage.h index c5b70bd256..59be2cc8a3 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -45,8 +45,8 @@ struct stage_stag_info_class { /* 0x2A */ u16 mStageTitleNo; }; // Size: Unknown -inline u16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) { - return p_info->field_0x10 & 7; +inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) { + return p_info->field_0x0a & 7; } struct stage_scls_info_class { @@ -99,7 +99,9 @@ struct dStage_Multi_c {}; struct dStage_SoundInfo_c {}; -struct dStage_FileList_dt_c {}; +struct dStage_FileList_dt_c { + /* 0x0 */ u32 field_0x0; +}; struct dStage_dPnt_c {}; @@ -547,11 +549,12 @@ public: bool checkStatusFlag(int i_roomNo, u8 flag) const { return cLib_checkBit(mStatus[i_roomNo].unk_0x3F4, flag); } + static char* getDemoArcName() { return mDemoArcName; } static JKRExpHeap* mMemoryBlock[19]; static char mArcBank[32][10]; static dStage_roomStatus_c mStatus[0x40]; - static u8 mDemoArcName[10 + 2 /* padding */]; + static char mDemoArcName[10]; static u32 mProcID; static char* mArcBankName; static char* mArcBankData; @@ -680,6 +683,10 @@ inline u32 dStage_stagInfo_GetEscapeWarp(stage_stag_info_class* pstag) { return pstag->field_0x10 >> 0x18; } +inline u32 dStage_stagInfo_GetMiniMap(stage_stag_info_class* pstag) { + return (pstag->field_0x0a >> 0xD) & 7; +} + inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { return p_info->field_0xb & 0xF; } @@ -696,4 +703,8 @@ inline s8 dStage_sclsInfo_getTimeH(stage_scls_info_class* p_info) { return (p_info->field_0xa >> 4) | (p_info->field_0xb & 16); } +inline u32 dStage_FileList_dt_getMiniMap(dStage_FileList_dt_c* p_fList) { + return p_fList->field_0x0 >> 3 & 7; +} + #endif /* D_D_STAGE_H */ diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h index 6fdb8b79a4..d007a65ad6 100644 --- a/include/d/event/d_event.h +++ b/include/d/event/d_event.h @@ -83,6 +83,9 @@ public: bool runCheck() { return field_0xe5 != 0; } u16 chkEventFlag(u16 flag) { return flag & mEventFlag; } u8 getMode() const { return mMode; } + u16 checkHind(u16 flag) { return flag & mHindFlag; } + + bool i_isOrderOK() { return field_0xe5 == 0 || field_0xe5 == 2; } public: /* 0x000 */ u8 field_0x0[4]; diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 60bb54f246..4b58527211 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -665,5 +665,6 @@ STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880); BOOL dKy_darkworld_stage_check(char const*, int); BOOL dKy_withwarp_capture_check(); +bool dKy_darkworld_check(); #endif /* D_KANKYO_D_KANKYO_H */ diff --git a/include/d/map/d_map_path.h b/include/d/map/d_map_path.h index e0bbcce9a2..f4fc8a3f2e 100644 --- a/include/d/map/d_map_path.h +++ b/include/d/map/d_map_path.h @@ -1,6 +1,84 @@ #ifndef D_MAP_D_MAP_PATH_H #define D_MAP_D_MAP_PATH_H +#include "d/d_drawlist.h" #include "dolphin/types.h" +class dDrawPath_c : public dDlst_base_c { +public: + struct line_class {}; + + struct poly_class {}; + + struct group_class {}; + + struct floor_class {}; + + struct room_class {}; + + /* 8003CB00 */ void rendering(dDrawPath_c::group_class const*); + /* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*); + + /* 8002AD3C */ virtual ~dDrawPath_c(); + /* 8002ABF0 */ virtual bool isDrawType(int); + virtual void getColor(int) = 0; + /* 8002AD84 */ virtual void getLineColor(int, int); + virtual void getLineWidth(int) = 0; + virtual void isSwitch(dDrawPath_c::group_class const*) = 0; + virtual void isRenderingFloor(int) = 0; + virtual void getFirstRoomPointer() = 0; + virtual void getNextRoomPointer() = 0; + /* 8003CCC4 */ virtual void drawPath(); + /* 8003C94C */ virtual void rendering(dDrawPath_c::line_class const*); + /* 8003CA40 */ virtual void rendering(dDrawPath_c::poly_class const*); + /* 8003CC24 */ virtual void rendering(dDrawPath_c::room_class const*); +}; + +class dDrawPathWithNormalPattern_c : public dDrawPath_c { +public: + /* 8002ACE0 */ virtual ~dDrawPathWithNormalPattern_c(); +}; + +class dRenderingMap_c : public dDrawPathWithNormalPattern_c { +public: + /* 8003CD38 */ void makeResTIMG(ResTIMG*, u16, u16, u8*, u8*, u16) const; + /* 8003CDAC */ void renderingMap(); + + /* 8002AC74 */ virtual ~dRenderingMap_c(); + virtual void beforeDrawPath() = 0; + virtual void afterDrawPath() = 0; + virtual void preDrawPath() = 0; + virtual void postDrawPath() = 0; + virtual void isDrawPath() = 0; + virtual void preRenderingMap() = 0; + virtual void postRenderingMap() = 0; + virtual void getBackColor() const = 0; +}; + +class dRenderingFDAmap_c : public dRenderingMap_c { +public: + /* 8003CE78 */ void setTevSettingNonTextureDirectColor() const; + /* 8003CF40 */ void setTevSettingIntensityTextureToCI() const; + /* 8003D0AC */ void drawBack() const; + /* 8003D3C0 */ void renderingDecoration(dDrawPath_c::line_class const*); + + /* 8002ABF8 */ virtual ~dRenderingFDAmap_c(); + /* 8003D188 */ virtual void preRenderingMap(); + /* 8003D320 */ virtual void postRenderingMap(); + /* 8003D68C */ virtual void getDecoLineColor(int, int); + /* 8003D6B8 */ virtual void getDecorationLineWidth(int); + +private: + /* 0x04 */ int field_0x4; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 mCmPerTexel; + /* 0x1C */ u16 field_0x1c; + /* 0x1E */ u16 field_0x1e; + /* 0x20 */ u16 field_0x20; + /* 0x22 */ u16 field_0x22; +}; // Size: 0x24 + #endif /* D_MAP_D_MAP_PATH_H */ diff --git a/include/d/map/d_map_path_dmap.h b/include/d/map/d_map_path_dmap.h index 3add67c712..d556a2f672 100644 --- a/include/d/map/d_map_path_dmap.h +++ b/include/d/map/d_map_path_dmap.h @@ -1,6 +1,140 @@ #ifndef D_MAP_D_MAP_PATH_DMAP_H #define D_MAP_D_MAP_PATH_DMAP_H +#include "d/d_stage.h" +#include "d/map/d_map_path.h" #include "dolphin/types.h" +struct dTres_c { + struct data_s {}; + + struct typeGroupData_c {}; + + struct list_class {}; + + /* 8009BCB4 */ void addData(dTres_c::list_class*, s8); + /* 8009C360 */ void getFirstData(u8); + /* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*); + /* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*); + /* 8009C4B0 */ void getTypeToTypeGroupNo(u8); + + static u8 mTypeGroupListAll[204 + 4 /* padding */]; +}; + +class dMpath_c { +public: + /* 8003F758 */ static u8 isExistMapPathData(); + /* 8003F760 */ void getTopBottomFloorNo(s8*, s8*); + /* 8003F7E8 */ void createWork(); + /* 8003FA40 */ void setPointer(s8, void*, int); + /* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*); + /* 8003FB70 */ void create(); + /* 8003FBD0 */ void reset(); + /* 8003FC70 */ void remove(); + + static u8 mLayerList[4]; + static f32 mMinX; + static f32 mMaxX; + static f32 mMinZ; + static f32 mMaxZ; + static f32 mAllCenterX; + static f32 mAllCenterZ; + static f32 mAllSizeX; + static f32 mAllSizeZ; +}; + +struct dMapInfo_n { + /* 8003ECA0 */ void chkGetCompass(); + /* 8003ECD8 */ void chkGetMap(); + /* 8003ED10 */ void isVisitedRoom(int); + /* 8003ED60 */ void correctionOriginPos(s8, Vec*); + /* 8003EDC0 */ void offsetPlus(dStage_FileList2_dt_c const*, Vec*); + /* 8003EDEC */ void rotAngle(dStage_FileList2_dt_c const*, Vec*); + /* 8003EE5C */ static Vec getMapPlayerPos(); + /* 8003EF20 */ void getMapPlayerAngleY(); + /* 8003EF70 */ void getConstRestartIconPointer(); + /* 8003F02C */ void getMapRestartPos(); + /* 8003F0F8 */ void getMapRestartAngleY(); + /* 8003F19C */ void getRoomCenter(int, f32*, f32*); + /* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*); + /* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*); +}; + +class renderingDAmap_c : public dRenderingFDAmap_c { +public: + /* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const; + /* 8003FCC8 */ void init(u8*, u16, u16, u16, u16); + /* 8003FD08 */ void entry(f32, f32, f32, int, s8); + /* 8003FE6C */ void setSingleRoomSetting(); + /* 8003FFF4 */ void getFirstDrawRoomNo(); + /* 80040094 */ void getNextDrawRoomNo(int); + + /* 8003FE18 */ virtual void draw(); + /* 8002B150 */ virtual ~renderingDAmap_c(); + /* 8003FD9C */ virtual void isSwitch(dDrawPath_c::group_class const*); + /* 8003FE54 */ virtual void isRenderingFloor(int); + /* 80040134 */ virtual void getFirstRoomPointer(); + /* 800401E8 */ virtual void getNextRoomPointer(); + /* 8003FF14 */ virtual void preDrawPath(); + /* 8003FFC4 */ virtual void postDrawPath(); + /* 800402C0 */ virtual void isDrawPath(); + /* 8003FE4C */ virtual void getBackColor() const; + /* 800402E0 */ virtual bool getFirstDrawLayerNo(); + /* 800402E8 */ virtual void getNextDrawLayerNo(int); + /* 800409E0 */ virtual void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool, + Vec const*) const; + /* 80040AE4 */ virtual void getIconGroupNumber(u8) const; + virtual void hasMap() const = 0; + virtual void isRendAllRoom() const = 0; + virtual void isRendDoor() const = 0; + virtual bool isCheckFloor() const = 0; + virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0; + /* 8003FFEC */ virtual void getRoomNoSingle(); + /* 8003FE70 */ virtual void isDrawRoom(int, int) const; + /* 800409B4 */ virtual void isDrawRoomIcon(int, int) const; + + bool isDraw() const { return mDraw; } + +private: + /* 0x24 */ int field_0x24; + /* 0x28 */ int field_0x28; + /* 0x2C */ int mRoomNoSingle; + /* 0x30 */ u8 field_0x30; + /* 0x31 */ bool mDraw; +}; // Size: 0x34 + +class stage_tgsc_data_class; + +class renderingPlusDoor_c : public renderingDAmap_c { +public: + /* 80040574 */ void drawDoor1(); + /* 800405B8 */ void drawDoor2(); + /* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool); + /* 80040710 */ void checkDispDoorS(int, int, f32); + /* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool); + + /* 8002B0B4 */ virtual ~renderingPlusDoor_c(); + /* 8004145C */ virtual void beforeDrawPath(); + /* 80040518 */ virtual void afterDrawPath(); + virtual bool isRendRestart() const = 0; + virtual bool isRendCursor() const = 0; + virtual bool isRendIcon() const = 0; +}; + +class renderingPlusDoorAndCursor_c : public renderingPlusDoor_c { +public: + /* 80040B00 */ void drawTreasure(); + /* 80040E84 */ void drawTreasureAfterPlayer(); + /* 80041208 */ void drawIconSingle(Vec const&, f32, f32); + /* 800412C0 */ void drawCursor(Vec const&, s16, int, f32); + + /* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c(); + /* 800402FC */ virtual void afterDrawPath(); + /* 80040ADC */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const; + /* 80040A94 */ virtual void getFirstData(u8); + /* 80040AB8 */ virtual void getNextData(dTres_c::typeGroupData_c*); + virtual void getPlayerCursorSize() = 0; + virtual void getRestartCursorSize() = 0; +}; + #endif /* D_MAP_D_MAP_PATH_DMAP_H */ diff --git a/include/d/menu/d_menu_window.h b/include/d/menu/d_menu_window.h index 781f1ed640..6284770245 100644 --- a/include/d/menu/d_menu_window.h +++ b/include/d/menu/d_menu_window.h @@ -172,4 +172,7 @@ private: /* 0x154 */ bool mPauseWindow; }; +BOOL dMw_LEFT_TRIGGER(); +BOOL dMw_RIGHT_TRIGGER(); + #endif /* D_MENU_D_MENU_WINDOW_H */ diff --git a/include/d/menu/d_menu_window_HIO.h b/include/d/menu/d_menu_window_HIO.h index 1b6694db08..dc3054edfd 100644 --- a/include/d/menu/d_menu_window_HIO.h +++ b/include/d/menu/d_menu_window_HIO.h @@ -3,4 +3,123 @@ #include "dolphin/types.h" +class dMw_DHIO_c { +public: + /* 801F9E2C */ dMw_DHIO_c(); + + /* 801F9E98 */ virtual ~dMw_DHIO_c() {} + +private: + /* 0x004 */ u8 field_0x4; + /* 0x005 */ bool mMap[32]; + /* 0x025 */ bool mCompass[32]; + /* 0x045 */ bool mBossKey[32]; + /* 0x065 */ bool mBossClear[32]; + /* 0x085 */ bool mHeartContainer[32]; + /* 0x0A5 */ bool mBossDemo[32]; + /* 0x0C5 */ bool mPortal[32]; + /* 0x0E5 */ bool mMidBossClear[32]; + /* 0x105 */ bool mMapCopy[32]; + /* 0x125 */ bool mCompassCopy[32]; + /* 0x145 */ bool mBossKeyCopy[32]; + /* 0x165 */ bool mBossClearCopy[32]; + /* 0x185 */ bool mHeartContainerCopy[32]; + /* 0x1A5 */ bool mBossDemoCopy[32]; + /* 0x1C5 */ bool mPortalCopy[32]; + /* 0x1E5 */ bool mMidBossClearCopy[32]; +}; + +extern dMw_DHIO_c g_mwDHIO; + +class dMw_HIO_c { +public: + /* 801F9AFC */ dMw_HIO_c(); + /* 801F9B38 */ void init(); + /* 801F9E14 */ bool getBombFlag(); + /* 801F9E1C */ bool getArrowFlag(); + /* 801F9E24 */ bool getPachinkoFlag(); + + /* 801F9EE0 */ virtual ~dMw_HIO_c() {} + +private: + /* 0x004 */ u8 field_0x4; + /* 0x006 */ u16 mLife; + /* 0x008 */ u16 mMaxLife; + /* 0x00A */ u8 mMagic; + /* 0x00B */ u8 mMaxMagic; + /* 0x00C */ s32 mOil; + /* 0x010 */ s32 mMaxOil; + /* 0x014 */ s32 mOxygen; + /* 0x018 */ s32 mMaxOxygen; + /* 0x01C */ bool mEnableMagic; + /* 0x01D */ bool mEnableArrowDrops; + /* 0x01E */ s16 mRupees; + /* 0x020 */ s16 mWalletSize; + /* 0x022 */ u8 mKeys; + /* 0x023 */ u8 field_0x23; + /* 0x024 */ u16 mLifeCopy; + /* 0x026 */ u16 mMaxLifeCopy; + /* 0x028 */ u8 mMagicCopy; + /* 0x029 */ u8 mMaxMagicCopy; + /* 0x02C */ s32 mOilCopy; + /* 0x030 */ s32 mMaxOilCopy; + /* 0x034 */ s32 mOxygenCopy; + /* 0x038 */ s32 mMaxOxygenCopy; + /* 0x03C */ bool mEnableMagicCopy; + /* 0x03D */ bool mEnableArrowDropsCopy; + /* 0x03E */ s16 mRupeesCopy; + /* 0x040 */ s16 mWalletSizeCopy; + /* 0x042 */ s16 mDonationAmount; + /* 0x044 */ s16 mDonationAmountCopy; + /* 0x046 */ u8 mKeysCopy; + /* 0x047 */ u8 field_0x47; + /* 0x048 */ u8 mPoes; + /* 0x049 */ u8 mPoesCopy; + /* 0x04A */ u8 mItems[24]; + /* 0x062 */ u8 mItemsCopy[24]; + /* 0x07A */ u8 field_0x7a[24]; + /* 0x092 */ bool mSwords[4]; + /* 0x096 */ bool mShields[3]; + /* 0x099 */ bool mClothes[3]; + /* 0x09C */ bool mSwordsCopy[4]; + /* 0x0A0 */ bool mShieldsCopy[3]; + /* 0x0A3 */ bool mClothesCopy[3]; + /* 0x0A6 */ u8 mScent; + /* 0x0A7 */ u8 mScentCopy; + /* 0x0A8 */ u8 field_0xa8; + /* 0x0A9 */ bool mBombBagLV2; + /* 0x0AA */ bool mBombBagLV2Copy; + /* 0x0AB */ bool mLV2KeyShards[3]; + /* 0x0AE */ bool mLV2KeyShardsCopy[3]; + /* 0x0B1 */ bool mLV5Item[2]; + /* 0x0B3 */ bool mLV5ItemCopy[2]; + /* 0x0B5 */ bool mGoldBug[24]; + /* 0x0CD */ bool mGoldBugCopy[24]; + /* 0x0E5 */ u8 mArrowNum; + /* 0x0E6 */ u8 mSeedNum; + /* 0x0E7 */ u8 mBombNum[3]; + /* 0x0EA */ u8 field_0xea; + /* 0x0EB */ u8 mBottleNum[4]; + /* 0x0EF */ u8 mArrowNumCopy; + /* 0x0F0 */ u8 mSeedNumCopy; + /* 0x0F1 */ u8 mBombNumCopy[3]; + /* 0x0F4 */ u8 field_0xf4; + /* 0x0F5 */ u8 mBottleNumCopy[4]; + /* 0x0F9 */ u8 field_0xf9[8]; + /* 0x101 */ u8 field_0x101[8]; + /* 0x109 */ u8 field_0x109[8]; + /* 0x111 */ u8 field_0x111[8]; + /* 0x119 */ bool mEnableOxygenMeter; + /* 0x11A */ bool mEnableOxygenMeterCopy; + /* 0x11B */ u8 mArrowFlag; + /* 0x11C */ u8 mPachinkoFlag; + /* 0x11D */ u8 mBombFlag; + /* 0x11E */ bool mFusedShadow[4]; + /* 0x122 */ bool mFusedShadowCopy[4]; + /* 0x126 */ bool mMirrorShard[4]; + /* 0x12A */ bool mMirrorShardCopy[4]; +}; // Size: 0x130 + +extern dMw_HIO_c g_mwHIO; + #endif /* D_MENU_D_MENU_WINDOW_HIO_H */ diff --git a/include/d/meter/d_meter2.h b/include/d/meter/d_meter2.h index 890777f971..4dd2347f62 100644 --- a/include/d/meter/d_meter2.h +++ b/include/d/meter/d_meter2.h @@ -14,12 +14,12 @@ public: class dMeterMap_c; -class dMeter2_c { +class dMeter2_c : public msg_class { public: - /* 8021EA14 */ void _create(); - /* 8021F128 */ void _execute(); - /* 8021F370 */ void _draw(); - /* 8021F49C */ void _delete(); + /* 8021EA14 */ int _create(); + /* 8021F128 */ int _execute(); + /* 8021F370 */ int _draw(); + /* 8021F49C */ int _delete(); /* 8021F6EC */ void emphasisButtonDelete(); /* 8021F780 */ void setLifeZero(); /* 8021F7B0 */ void checkStatus(); @@ -61,6 +61,8 @@ public: /* 802259F8 */ void isArrowEquip(); /* 80225A64 */ void isPachinkoEquip(); + void setNowLifeGauge(s16 life) { mNowLifeGauge = life; } + private: /* 0x100 */ JKRExpHeap* mpHeap; /* 0x104 */ JKRExpHeap* mpSubHeap; @@ -72,7 +74,7 @@ private: /* 0x11C */ void* field_0x11c; /* 0x120 */ dMeterMap_c* mpMap; /* 0x124 */ u32 field_0x124; - /* 0x128 */ int field_0x128; + /* 0x128 */ u32 field_0x128; /* 0x12C */ int field_0x12c; /* 0x130 */ f32 field_0x130; /* 0x134 */ f32 field_0x134[2]; @@ -90,22 +92,22 @@ private: /* 0x18C */ f32 field_0x18c; /* 0x190 */ s16 field_0x190; /* 0x192 */ s16 mNowLifeGauge; - /* 0x194 */ s16 field_0x194; - /* 0x196 */ s16 field_0x196; - /* 0x198 */ s16 field_0x198; + /* 0x194 */ s16 mMaxLife; + /* 0x196 */ s16 mNowMagic; + /* 0x198 */ s16 mMaxMagic; /* 0x19A */ s16 field_0x19a; - /* 0x19C */ int field_0x19c; - /* 0x1A0 */ int field_0x1a0; - /* 0x1A4 */ int field_0x1a4; - /* 0x1A8 */ int field_0x1a8; + /* 0x19C */ int mNowOil; + /* 0x1A0 */ int mMaxOil; + /* 0x1A4 */ int mNowOxygen; + /* 0x1A8 */ int mMaxOxygen; /* 0x1AC */ int field_0x1ac; - /* 0x1B0 */ u16 field_0x1b0; - /* 0x1B2 */ u16 field_0x1b2; + /* 0x1B0 */ u16 mRupeeNum; + /* 0x1B2 */ u16 mKeyNum; /* 0x1B4 */ u16 field_0x1b4; /* 0x1B6 */ u16 mSubContentsStringType; /* 0x1B8 */ u16 field_0x1b8[5]; - /* 0x1C2 */ u8 field_0x1c2; - /* 0x1C3 */ u8 field_0x1c3; + /* 0x1C2 */ u8 mLightDropNum; + /* 0x1C3 */ u8 mNeedLightDropNum; /* 0x1C4 */ u8 field_0x1c4; /* 0x1C5 */ u8 field_0x1c5; /* 0x1C6 */ u8 field_0x1c6; @@ -123,8 +125,8 @@ private: /* 0x1D2 */ u8 field_0x1d2[4]; /* 0x1D6 */ u8 field_0x1d6[2]; /* 0x1D8 */ u8 field_0x1d8[2]; - /* 0x1DA */ u8 field_0x1da; - /* 0x1DB */ u8 field_0x1db; + /* 0x1DA */ u8 mArrowNum; + /* 0x1DB */ u8 mPachinkoNum; /* 0x1DC */ u8 field_0x1dc; /* 0x1DD */ u8 field_0x1dd; /* 0x1DE */ u8 field_0x1de; @@ -144,10 +146,10 @@ private: /* 0x1EC */ u8 field_0x1ec; /* 0x1ED */ u8 field_0x1ed; /* 0x1EE */ u8 field_0x1ee; - /* 0x1EF */ u8 field_0x1ef[4]; - /* 0x1F3 */ u8 field_0x1f3[3]; - /* 0x1F6 */ u8 field_0x1f6[3]; - /* 0x1F9 */ u8 field_0x1f9[4]; + /* 0x1EF */ u8 mBottleNum[4]; + /* 0x1F3 */ u8 mBombNum[3]; + /* 0x1F6 */ u8 mBombMax[3]; + /* 0x1F9 */ u8 mItemMaxNum[4]; /* 0x1FD */ u8 field_0x1fd; /* 0x1FE */ u8 field_0x1fe; /* 0x1FF */ u8 field_0x1ff; @@ -155,4 +157,6 @@ private: /* 0x201 */ u8 field_0x201; }; +typedef int (*dMeter2_Method)(dMeter2_c*); + #endif /* D_METER_D_METER2_H */ diff --git a/include/d/meter/d_meter2_draw.h b/include/d/meter/d_meter2_draw.h index 8a3cd44dcd..4e91482574 100644 --- a/include/d/meter/d_meter2_draw.h +++ b/include/d/meter/d_meter2_draw.h @@ -51,7 +51,7 @@ public: /* 80215A94 */ void setAlphaOxygenAnimeMax(); /* 80215B18 */ void drawLightDrop(u8, u8, f32, f32, f32, f32, u8); /* 80215DA4 */ void setAlphaLightDropChange(bool); - /* 80215DA8 */ void getNowLightDropRateCalc(); + /* 80215DA8 */ f32 getNowLightDropRateCalc(); /* 80215E40 */ void setAlphaLightDropAnimeMin(); /* 80215F88 */ void setAlphaLightDropAnimeMax(); /* 8021632C */ void drawRupee(s16); @@ -114,6 +114,8 @@ public: /* 802102F8 */ virtual ~dMeter2Draw_c(); + J2DScreen* getMainScreenPtr() { return mpScreen; } + private: /* 0x004 */ f32 field_0x4; /* 0x008 */ f32 field_0x8; @@ -210,9 +212,9 @@ private: /* 0x518 */ J2DPicture* mpItemXYPane[3]; /* 0x524 */ int field_0x524[2][2]; /* 0x534 */ u8 field_0x534[8]; - /* 0x53C */ void* field_0x53c; - /* 0x540 */ J2DAnmBase* field_0x540; // bpk - /* 0x544 */ J2DAnmBase* field_0x544; // bpk + /* 0x53C */ J2DAnmColorKey* field_0x53c; + /* 0x540 */ J2DAnmColorKey* field_0x540; + /* 0x544 */ J2DAnmColorKey* field_0x544; /* 0x548 */ u8 field_0x548[8]; /* 0x550 */ f32 field_0x550; /* 0x554 */ f32 field_0x554; @@ -227,7 +229,35 @@ private: /* 0x578 */ f32 field_0x578; /* 0x57C */ f32 field_0x57c; /* 0x580 */ f32 field_0x580; - /* 0x584 */ u8 field_0x584[0x78]; + /* 0x584 */ f32 field_0x584; + /* 0x588 */ f32 field_0x588; + /* 0x58C */ f32 field_0x58c; + /* 0x590 */ f32 field_0x590; + /* 0x594 */ f32 field_0x594; + /* 0x598 */ f32 field_0x598; + /* 0x59C */ f32 field_0x59c; + /* 0x5A0 */ f32 field_0x5a0; + /* 0x5A4 */ f32 field_0x5a4; + /* 0x5A8 */ f32 field_0x5a8; + /* 0x5AC */ f32 field_0x5ac; + /* 0x5B0 */ f32 field_0x5b0; + /* 0x5B4 */ f32 field_0x5b4; + /* 0x5B8 */ f32 field_0x5b8; + /* 0x5BC */ f32 field_0x5bc; + /* 0x5C0 */ f32 field_0x5c0; + /* 0x5C4 */ f32 field_0x5c4; + /* 0x5C8 */ f32 field_0x5c8; + /* 0x5CC */ f32 field_0x5cc; + /* 0x5D0 */ f32 field_0x5d0; + /* 0x5D4 */ f32 field_0x5d4; + /* 0x5D8 */ f32 field_0x5d8; + /* 0x5DC */ f32 field_0x5dc; + /* 0x5E0 */ f32 field_0x5e0; + /* 0x5E4 */ f32 field_0x5e4; + /* 0x5E8 */ f32 field_0x5e8; + /* 0x5EC */ f32 field_0x5ec; + /* 0x5F0 */ f32 field_0x5f0; + /* 0x5F4 */ u8 field_0x5f4[0x8]; /* 0x5FC */ f32 field_0x5fc[3]; /* 0x608 */ f32 field_0x608; /* 0x60C */ f32 field_0x60c; diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 5d3f9847c3..49bb7bcf69 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -10,13 +10,6 @@ #include "dolphin/types.h" #include "f_op/f_op_actor.h" -struct dMsgObject_c { - /* 802384C4 */ static void setLetterNameID(u16); - /* 802379AC */ void setKillMessageFlag(); - /* 8023822C */ void getStatus(); - /* 802371E4 */ void isPlaceMessage(); -}; - struct JMSMesgEntry_c { /* 0x00 */ u32 mStringOffset; /* 0x04 */ u16 mStringId; @@ -129,8 +122,20 @@ public: const char* getWarpStageName() { return mWarpInfo.mStageName; } void setNowCount(u8 count) { mNowCount = count; } void setMaxCount(u8 count) { mMaxCount = count; } + void allUseButton() { mUseButton = -1; } + bool isUseButton(int param_0) { return param_0 & mUseButton; } + void setMeterMapClass(dMeterMap_c* p_map) { mMeterMap = p_map; } + void resetGameStatus() { mGameStatus = 0; } + void setMapStatus(u8 status) { mMapStatus = status; } + u8 getMapStatus() { return mMapStatus; } + void setPauseStatus(u8 status) { mPauseStatus = status; } + void resetPauseStatus() { mPauseStatus = 0; } + u8 getPauseStatus() { return mPauseStatus; } + bool isGameStatus(int status) { return mGameStatus & status; } + void setMapKeyDirection(u16 direction) { mMapKeyDirection = direction; } + bool isSub2DStatus(int flag) { return mSub2DStatus & (1 << flag); } -private: +public: /* 0x04 */ u8 unk4[4]; /* 0x08 */ u64 unk8; /* 0x10 */ void* mMsgResource; @@ -216,6 +221,7 @@ private: extern dMeter2Info_c g_meter2_info; void dMeter2Info_setSword(u8, bool); +void dMeter2Info_set2DVibration(); inline void dMeter2Info_Initialize() { g_meter2_info.init(); @@ -277,4 +283,60 @@ inline void dMeter2Info_setMaxCount(u8 count) { g_meter2_info.setMaxCount(count); } +inline bool dMeter2Info_isDirectUseItem(int param_0) { + return g_meter2_info.isDirectUseItem(param_0); +} + +inline bool dMeter2Info_isUseButton(int param_0) { + return g_meter2_info.isUseButton(param_0); +} + +inline void dMeter2Info_setMeterMapClass(dMeterMap_c* p_map) { + g_meter2_info.setMeterMapClass(p_map); +} + +inline void dMeter2Info_decHotSpringTimer() { + g_meter2_info.decHotSpringTimer(); +} + +inline void dMeter2Info_allUseButton() { + g_meter2_info.allUseButton(); +} + +inline void dMeter2Info_resetGameStatus() { + g_meter2_info.resetGameStatus(); +} + +inline void dMeter2Info_setMapStatus(u8 status) { + g_meter2_info.setMapStatus(status); +} + +inline u8 dMeter2Info_getMapStatus() { + return g_meter2_info.getMapStatus(); +} + +inline void dMeter2Info_setPauseStatus(u8 status) { + g_meter2_info.setPauseStatus(status); +} + +inline void dMeter2Info_resetPauseStatus() { + g_meter2_info.resetPauseStatus(); +} + +inline u8 dMeter2Info_getPauseStatus() { + return g_meter2_info.getPauseStatus(); +} + +inline bool dMeter2Info_isGameStatus(int status) { + return g_meter2_info.isGameStatus(status); +} + +inline void dMeter2Info_setMapKeyDirection(u16 direction) { + g_meter2_info.setMapKeyDirection(direction); +} + +inline bool dMeter2Info_isSub2DStatus(int flag) { + return g_meter2_info.isSub2DStatus(flag); +} + #endif /* D_METER_D_METER2_INFO_H */ diff --git a/include/d/meter/d_meter_HIO.h b/include/d/meter/d_meter_HIO.h index d731a2051b..8e59384438 100644 --- a/include/d/meter/d_meter_HIO.h +++ b/include/d/meter/d_meter_HIO.h @@ -1380,4 +1380,10 @@ public: STATIC_ASSERT(sizeof(dMeter_cursorHIO_c) == 68); +extern dMeter_menuHIO_c g_menuHIO; +extern dMeter_drawHIO_c g_drawHIO; +extern dMeter_ringHIO_c g_ringHIO; +extern dMeter_fmapHIO_c g_fmapHIO; +extern dMeter_cursorHIO_c g_cursorHIO; + #endif /* D_METER_D_METER_HIO_H */ diff --git a/include/d/meter/d_meter_map.h b/include/d/meter/d_meter_map.h index 4d10d3521e..b65ba6cc83 100644 --- a/include/d/meter/d_meter_map.h +++ b/include/d/meter/d_meter_map.h @@ -1,38 +1,176 @@ #ifndef D_METER_D_METER_MAP_H #define D_METER_D_METER_MAP_H +#include "JSystem/J2DGraph/J2DPicture.h" #include "JSystem/J2DGraph/J2DScreen.h" +#include "d/map/d_map_path_dmap.h" #include "dolphin/types.h" -class dMeterMap_c { +// move renderingAmap_c + dMap_c later +class renderingAmap_c : public renderingPlusDoorAndCursor_c { public: - /* 8020D49C */ void isEnableDispMap(); - /* 8020D528 */ void getMapDispSizeTypeNo(); - /* 8020D650 */ void isEnableDispMapAndMapDispSizeTypeNo(); - /* 8020D690 */ void getMapDispEdgeBottomY_Layout(); - /* 8020D698 */ void isEventRunCheck(); - /* 8020D72C */ void getMapDispEdgeLeftX_Layout(); - /* 8020D75C */ void getMapDispEdgeTop(); - /* 8020D7E4 */ bool getDispPosInside_OffsetX(); - /* 8020D7EC */ void getDispPosOutSide_OffsetX(); + /* 800288C4 */ void getDispType() const; + /* 80028BB4 */ void isDrawOutSideTrim(); + /* 80028C4C */ void getOutSideBlackLineNumber(); + /* 80028C60 */ void isOutSideBlackLine(); + /* 80028C90 */ void getLineWidthSub(int); + /* 80029160 */ void getStayType() const; + /* 8002AE6C */ renderingAmap_c(); + + /* 800284D0 */ virtual void draw(); + /* 8002ADB0 */ virtual ~renderingAmap_c(); + /* 80028EE4 */ virtual void getLineColor(int, int); + /* 80028DD4 */ virtual void getLineWidth(int); + /* 80028A10 */ virtual void drawPath(); + /* 80028A30 */ virtual void rendering(dDrawPath_c::line_class const*); + /* 80028B3C */ virtual void rendering(dDrawPath_c::poly_class const*); + /* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*); + /* 80028960 */ virtual void beforeDrawPath(); + /* 800289D0 */ virtual void afterDrawPath(); + /* 80028FB4 */ virtual void getDecoLineColor(int, int); + /* 80028CF4 */ virtual void getDecorationLineWidth(int); + /* 80029058 */ virtual void getIconGroupNumber(u8) const; + /* 80029078 */ virtual void hasMap() const; + /* 8002911C */ virtual void isRendAllRoom() const; + /* 800290C0 */ virtual void isRendDoor() const; + /* 80029104 */ virtual bool isCheckFloor() const; + /* 80029190 */ virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const; + /* 8002910C */ virtual bool isRendRestart() const; + /* 80029114 */ virtual bool isRendCursor() const; + /* 8002B000 */ virtual bool isRendIcon() const; + /* 800284BC */ virtual void getIconSize(u8) const; + /* 80028B04 */ virtual void getPlayerCursorSize(); + /* 80028B10 */ virtual void getRestartCursorSize(); + virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0; + virtual bool isSpecialOutline() = 0; + +private: + /* 0x34 */ s32 m_outSideBlackLineCnt; + /* 0x38 */ s32 field_0x38; + /* 0x3C */ s32 field_0x3c; +}; // Size: 0x40 + +class dMap_c : public renderingAmap_c { +public: + /* 8002974C */ void copyPalette(); + /* 8002A064 */ void copyPalette(int, int, f32); + /* 80029F84 */ void setMapPaletteColorAlphaPer(int, f32); + /* 800297A8 */ void setMapPaletteColorAlphaPer(int, int, f32); + /* 80029818 */ void resCopy(); + /* 80029874 */ dMap_c(int, int, int, int); + /* 80029A1C */ void _remove(); + /* 80029A8C */ void getMapMinMaxXZ(int, f32*, f32*, f32*, f32*); + /* 80029C10 */ void getPack(int, f32*, f32*); + /* 80029D78 */ void calcMapCenterXZ(int, f32*, f32*); + /* 80029E1C */ void calcMapCmPerTexel(int, f32*); + /* 8002A1BC */ void getDispType() const; + /* 8002A32C */ void _move(f32, f32, int, f32); + /* 8002AB54 */ void _draw(); + + /* 8002AF20 */ virtual ~dMap_c(); + /* 800296EC */ virtual void isDrawType(int); + /* 80028DF4 */ virtual void getColor(int); + /* 800296F8 */ virtual void isRendAllRoom() const; + /* 8002A254 */ virtual void getRoomNoSingle(); + /* 8002A1DC */ virtual void isDrawRoom(int, int) const; + /* 8002A294 */ virtual void isDrawRoomIcon(int, int) const; + /* 80029038 */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const; + /* 8002ABAC */ virtual void getFirstData(u8); + /* 8002ABCC */ virtual void getNextData(dTres_c::typeGroupData_c*); + /* 8002A148 */ virtual void setAmapPaletteColor(int, u8, u8, u8, u8); + /* 80029744 */ virtual bool isSpecialOutline(); + + bool isDraw() const { return renderingDAmap_c::isDraw(); } + + ResTIMG* getResTIMGPointer() { return mResTIMG; } + f32 getTopEdgePlus() { return mTopEdgePlus; } + f32 getPackPlusZ() { return mPackPlusZ; } + f32 getPackZ() { return mPackZ; } + f32 getTexelPerCm() { return 1.0f / field_0x58; } + u16 getTexSizeY() { return mTexSizeH; } + f32 getRightEdgePlus() { return mRightEdgePlus; } + f32 getPackX() { return mPackX; } + +private: + /* 0x40 */ u8* m_res_src; + /* 0x44 */ u8* m_res; + /* 0x48 */ ResTIMG* mResTIMG; + /* 0x4C */ u8* mImage_p; + /* 0x50 */ f32 mCenterX; + /* 0x54 */ f32 mCenterZ; + /* 0x58 */ f32 field_0x58; + /* 0x5C */ f32 mPackX; + /* 0x60 */ f32 mPackZ; + /* 0x64 */ f32 field_0x64; + /* 0x68 */ f32 mPackPlusZ; + /* 0x6C */ f32 mRightEdgePlus; + /* 0x70 */ f32 mTopEdgePlus; + /* 0x74 */ int field_0x74; + /* 0x78 */ u16 mTexSizeW; + /* 0x7A */ u16 mTexSizeH; + /* 0x7C */ s32 mStayRoomNo; + /* 0x80 */ int field_0x80; + /* 0x84 */ int field_0x84; + /* 0x88 */ int field_0x88; + /* 0x8C */ u8 field_0x8c; + /* 0x8D */ u8 field_0x8d; + /* 0x8E */ u8 field_0x8e; + /* 0x8F */ u8 field_0x8f; + /* 0x90 */ u8 field_0x90; +}; // Size: 0x94 + +class dMeterMap_c : public dDlst_base_c { +public: + /* 8020D49C */ static bool isEnableDispMap(); + /* 8020D528 */ static int getMapDispSizeTypeNo(); + /* 8020D650 */ static bool isEnableDispMapAndMapDispSizeTypeNo(); + /* 8020D690 */ f32 getMapDispEdgeBottomY_Layout(); + /* 8020D698 */ bool isEventRunCheck(); + /* 8020D72C */ f32 getMapDispEdgeLeftX_Layout(); + /* 8020D75C */ f32 getMapDispEdgeTop(); + /* 8020D7E4 */ s16 getDispPosInside_OffsetX(); + /* 8020D7EC */ s16 getDispPosOutSide_OffsetX(); /* 8020D874 */ void setDispPosInsideFlg_SE_On(); /* 8020D8BC */ void setDispPosOutsideFlg_SE_On(); /* 8020D8F8 */ void setMapAlpha(u8); /* 8020D900 */ static bool isMapOpenCheck(); /* 8020D948 */ dMeterMap_c(J2DScreen*); - /* 8020D990 */ ~dMeterMap_c(); /* 8020D9EC */ void _create(J2DScreen*); /* 8020DC50 */ void _delete(); /* 8020DCE4 */ void _move(u32); /* 8020DF1C */ void _draw(); - /* 8020DF68 */ void draw(); /* 8020E070 */ void ctrlShowMap(); - /* 8020E45C */ void checkMoveStatus(); - /* 8020E4C8 */ void isShow(u32); - /* 8020E620 */ void isFmapScreen(); - /* 8020E70C */ void isDmapScreen(); - /* 8020E754 */ void meter_map_move(u32); + /* 8020E45C */ u8 checkMoveStatus(); + /* 8020E4C8 */ static bool isShow(u32); + /* 8020E620 */ static bool isFmapScreen(); + /* 8020E70C */ static bool isDmapScreen(); + /* 8020E754 */ static void meter_map_move(u32); /* 8020E9CC */ void keyCheck(); + + /* 8020DF68 */ virtual void draw(); + /* 8020D990 */ virtual ~dMeterMap_c(); + + bool isDispPosInsideFlg() { return field_0x2d != 0; } + + enum { MAP_SIZE_TYPE_BIG = 2, MAP_SIZE_TYPE_SMALL = 3, MAP_SIZE_TYPE_STAGE = 7 }; + +private: + /* 0x04 */ J2DPicture* mMapJ2DPicture; + /* 0x08 */ dMap_c* mMap; + /* 0x0C */ s32 mIsCompass; + /* 0x10 */ s32 mIsMap; + /* 0x14 */ u32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 mSizeW; + /* 0x24 */ f32 mSizeH; + /* 0x28 */ s16 field_0x28; + /* 0x2A */ u8 field_0x2a; + /* 0x2B */ u8 field_0x2b; + /* 0x2C */ u8 mMapAlpha; + /* 0x2D */ u8 field_0x2d; + /* 0x2E */ u8 field_0x2e; + /* 0x30 */ int field_0x30; }; #endif /* D_METER_D_METER_MAP_H */ diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index 0a9cf51695..903cc910f2 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -1,6 +1,162 @@ #ifndef D_MSG_D_MSG_OBJECT_H #define D_MSG_D_MSG_OBJECT_H +#include "JSystem/J2DGraph/J2DTextbox.h" +#include "d/com/d_com_inf_game.h" #include "dolphin/types.h" +class msg_class; +class COutFont_c; + +class dMsgObject_c { +public: + /* 80233284 */ void _create(msg_class*); + /* 80233590 */ void _execute(); + /* 802339BC */ void _draw(); + /* 80233AE8 */ void _delete(); + /* 80233D04 */ void setMessageIndex(u32, u32, bool); + /* 80233E70 */ void setMessageIndexDemo(u32, bool); + /* 80233F84 */ void getMessageIndex(u32); + /* 80233FD8 */ void getRevoMessageIndex(u32); + /* 802340D4 */ void getMessageIndexAlways(u32); + /* 80234128 */ void getMessageIDAlways(u32); + /* 8023413C */ void getMessageGroup(u32); + /* 80234150 */ void waitProc(); + /* 80234318 */ void openProc(); + /* 802349D8 */ void outnowProc(); + /* 80234CCC */ void outwaitProc(); + /* 80234FF0 */ void stopProc(); + /* 80234FF4 */ void continueProc(); + /* 8023531C */ void selectProc(); + /* 8023587C */ void selectEndProc(); + /* 802358D4 */ void inputProc(); + /* 80235AD4 */ void finishProc(); + /* 80235CC0 */ void endProc(); + /* 80235EBC */ void deleteProc(); + /* 8023609C */ void textmodeProc(); + /* 802360A0 */ void talkStartInit(); + /* 8023670C */ void fukiPosCalc(bool); + /* 802368E4 */ void setStatusLocal(u16); + /* 802368F8 */ void getStatusLocal(); + /* 8023690C */ void delete_screen(bool); + /* 802369D8 */ void isSend(); + /* 80236BF8 */ void readMessageGroupLocal(mDoDvdThd_mountXArchive_c**); + /* 80236C90 */ void changeFlowGroupLocal(s32); + /* 80236CD4 */ void demoMessageGroupLocal(); + /* 80236D00 */ void endFlowGroupLocal(); + /* 80236D0C */ void changeGroupLocal(s16); + /* 80236DE4 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, + char*, char*, s16*); + /* 802370A8 */ void isGetItemMessage(); + /* 802370BC */ void isKanbanMessage(); + /* 802370E8 */ void isHowlMessage(); + /* 802370FC */ void isMidonaMessage(); + /* 80237138 */ void isMidonaNormalTalkWait(); + /* 802371B0 */ void isMidonaTalkWait(); + /* 802371E4 */ void isPlaceMessage(); + /* 802371F8 */ void isBossMessage(); + /* 8023720C */ bool isBookMessage(); + /* 80237214 */ void isStaffMessage(); + /* 80237228 */ void isSaveMessage(); + /* 8023723C */ void isTalkMessage(); + /* 802372CC */ void getSmellName(); + /* 80237334 */ void getPortalName(); + /* 8023738C */ void getBombName(); + /* 8023741C */ void getInsectName(); + /* 80237478 */ void getLetterName(); + /* 802374D0 */ void getSelectBombNum(); + /* 80237520 */ void onMsgSendControlLocal(); + /* 80237530 */ void offMsgSendControlLocal(); + /* 80237550 */ void isMsgSendControlLocal(); + /* 8023755C */ void onMsgSendLocal(); + /* 8023756C */ void offMsgSendLocal(); + /* 8023757C */ void isMsgSendLocal(); + /* 80237588 */ void isMouthCheckLocal(); + /* 8023759C */ void getBombBuyPriceLocal(u8); + /* 802375E4 */ void addSelectBomBag(u8); + /* 80237610 */ void resetSelectBomBag(); + /* 8023763C */ void getSelectBombBagIDLocal(); + /* 8023768C */ void getSelectBombPriceLocal(); + /* 8023773C */ void setEquipBombInfoLocal(); + /* 80237748 */ void updateEquipBombInfoLocal(); + /* 802378B8 */ void setShopWaitTimer(u8); + /* 802378CC */ void setSelectWordFlagLocal(u8); + /* 802378D4 */ void isHowlHearingModeLocal(); + /* 80237934 */ void isCameraCancelFlag(); + /* 80237950 */ void onCameraCancelFlag(); + /* 80237968 */ void offCameraCancelFlag(); + /* 80237980 */ void isKillMessageFlag(); + /* 80237994 */ void onKillMessageFlag(); + /* 802379AC */ void setKillMessageFlag(); + /* 802379D8 */ void setKillMessageFlagLocal(); + /* 80237A74 */ void setTalkPartner(fopAc_ac_c*); + /* 80237A88 */ void setNowTalkFlowNo(s16); + /* 80237A9C */ void getNowTalkFlowNo(); + /* 80237AB0 */ void setDemoMessage(u32); + /* 80237AE0 */ void setTalkHeap(void*); + /* 80237B10 */ void setTalkHeapLocal(void*); + /* 80237B54 */ void getTalkHeap(); + /* 80237B68 */ void isDraw(); + /* 80237BFC */ void setButtonStatusLocal(); + /* 80237D88 */ void setDemoMessageLocal(u32); + /* 80237DD8 */ void getSmellTypeMessageIDLocal(); + /* 80237E04 */ void setSmellTypeLocal(u8); + /* 80237E58 */ void getSelectCursorPosLocal(); + /* 80237E68 */ void setSelectCursorPosLocal(u8); + /* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*); + /* 8023800C */ void readMessageGroup(mDoDvdThd_mountXArchive_c**); + /* 8023803C */ void changeFlowGroup(s32); + /* 8023806C */ void demoMessageGroup(); + /* 80238098 */ void endFlowGroup(); + /* 802380C4 */ void changeGroup(s16); + /* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, + char*, char*, s16*); + /* 80238174 */ void getMsgDtPtr(); + /* 80238188 */ void setProcessID(unsigned int); + /* 8023819C */ void getActor(); + /* 802381C0 */ void getpTalkActor(); + /* 802381D4 */ void getIdx(); + /* 802381E8 */ void getNodeIdx(); + /* 802381FC */ void setStatus(u16); + /* 8023822C */ static u16 getStatus(); + /* 80238258 */ void getScrnDrawPtr(); + /* 8023826C */ void setTalkActor(fopAc_ac_c*); + /* 8023829C */ void onMsgSendControl(); + /* 802382C8 */ void offMsgSendControl(); + /* 802382F4 */ void isMsgSendControl(); + /* 80238320 */ void onMsgSend(); + /* 8023834C */ void offMsgSend(); + /* 80238378 */ void isMsgSend(); + /* 802383A4 */ void isMouthCheck(); + /* 802383D0 */ void getMessageID(); + /* 802383E4 */ void getSmellTypeMessageID(); + /* 80238410 */ void setSmellType(u8); + /* 80238440 */ void getSelectCursorPos(); + /* 8023846C */ void setSelectCursorPos(u8); + /* 8023849C */ void setPortalMessageID(u16); + /* 802384B0 */ void setInsectItemNo(u8); + /* 802384C4 */ static void setLetterNameID(u16); + /* 802384D8 */ void setArrowNum(u8); + /* 802384EC */ void setMsgOutputType(u8); + /* 80238500 */ void getMsgOutputType(); + /* 80238514 */ void getWord(); + /* 80238528 */ void getSelectWord(int); + /* 80238544 */ void setSelectWordFlag(u8); + /* 80238574 */ void getSelectWordFlag(); + /* 80238588 */ void isHowlHearingMode(); + /* 802385B4 */ void getSelectBombBagID(); + /* 802385E0 */ void getSelectBombPrice(); + /* 8023860C */ void setEquipBombInfo(); + /* 80238638 */ void getItemEquipButton(); + /* 8023864C */ void setSelectCancelPos(u8); +}; + +inline dMsgObject_c* dMsgObject_getMsgObjectClass() { + return dComIfGp_getMsgObjectClass(); +} + +inline bool dMsgObject_isTalkNowCheck() { + return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false; +} + #endif /* D_MSG_D_MSG_OBJECT_H */ diff --git a/include/d/pane/d_pane_class.h b/include/d/pane/d_pane_class.h index 40b33a9ed0..f77aafc09b 100644 --- a/include/d/pane/d_pane_class.h +++ b/include/d/pane/d_pane_class.h @@ -47,6 +47,12 @@ public: f32 getInitCenterPosY() { return mInitPos.y + mInitSize.y * 0.5f; } + f32 getInitSizeX() { return mInitSize.x; } + f32 getInitSizeY() { return mInitSize.y; } + + f32 getInitPosX() { return mInitPos.x; } + f32 getInitPosY() { return mInitPos.y; } + private: /* 0x1C */ void* mpFirstStackSize; /* 0x20 */ void* field_0x20; diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index f7c906c0e9..c7c4428098 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -371,6 +371,9 @@ public: u16& getLife() { return mLife; } u16& getRupee() { return mRupee; } u16& getOil() { return mOil; } + u16& getMaxOil() { return mMaxOil; } + u8& getMagic() { return mMagic; } + u8& getMaxMagic() { return mMaxMagic; } u8 getSelectEquip(int item) const { return mSelectEquip[item]; } void setOil(u16 oil) { mOil = oil; } void setMaxOil(u16 max) { mMaxOil = max; } @@ -765,6 +768,7 @@ public: void onDungeonItemMap() { onDungeonItem(MAP); } s32 isDungeonItemMap() const { return isDungeonItem(MAP); } void onDungeonItemCompass() { onDungeonItem(COMPASS); } + s32 isDungeonItemCompass() const { return isDungeonItem(COMPASS); } void onDungeonItemWarp() { onDungeonItem(OOCCOO_NOTE); } void onDungeonItemBossKey() { onDungeonItem(BOSS_KEY); } s32 isDungeonItemBossKey() const { return isDungeonItem(BOSS_KEY); } @@ -1001,7 +1005,7 @@ public: BOOL isActor(int, int) const; int memory_to_card(char*, int); int card_to_memory(char*, int); - void initdata_to_card(char*, int); + int initdata_to_card(char*, int); dSv_save_c& getSavedata() { return mSavedata; } dSv_memory_c& getMemory() { return mMemory; } diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index e98033adfa..9f24e2e710 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -922,7 +922,13 @@ inline void GXColor1u32(u32 c) { GFX_FIFO(u32) = c; } +inline void GXTexCoord2f32(f32 s, f32 t) { + GFX_FIFO(f32) = s; + GFX_FIFO(f32) = t; +} + inline void GXEnd() {} + }; #endif diff --git a/include/dolphin/os/OS.h b/include/dolphin/os/OS.h index e34324bd38..af510458a8 100644 --- a/include/dolphin/os/OS.h +++ b/include/dolphin/os/OS.h @@ -205,6 +205,43 @@ void LCDisable(void); void OSReportInit__Fv(void); // needed for inline asm u8* OSGetStackPointer(void); + +inline s16 __OSf32tos16(register f32 inF) { + register s16 out; + u32 tmp; + register u32* tmpPtr = &tmp; + // clang-format off + asm { + psq_st inF, 0(tmpPtr), 0x1, 5 + lha out, 0(tmpPtr) + } + // clang-format on + + return out; +} + +inline void OSf32tos16(f32* f, s16* out) { + *out = __OSf32tos16(*f); +} + +inline u8 __OSf32tou8(register f32 inF) { + register u8 out; + u32 tmp; + register u32* tmpPtr = &tmp; + // clang-format off + asm { + psq_st inF, 0(tmpPtr), 0x1, 2 + lbz out, 0(tmpPtr) + } + // clang-format on + + return out; +} + +inline void OSf32tou8(f32* f, u8* out) { + *out = __OSf32tou8(*f); +} + }; // extern "C" void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32); @@ -304,4 +341,4 @@ inline void* OSPhysicalToCached(u32 offset) { return (void*)(offset + 0x80000000); } -#endif \ No newline at end of file +#endif diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index bf16d5b99a..3ba9ad5b16 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -50,6 +50,8 @@ public: }; // Size = 0x18 struct actor_place { + /* 807E2468 */ void operator=(actor_place const&); + cXyz mPosition; csXyz mAngle; s8 mRoomNo; diff --git a/include/f_pc/f_pc_leaf.h b/include/f_pc/f_pc_leaf.h index 5bbb9baa0f..485a6131e2 100644 --- a/include/f_pc/f_pc_leaf.h +++ b/include/f_pc/f_pc_leaf.h @@ -23,7 +23,7 @@ typedef struct leafdraw_class { typedef struct leaf_process_profile_definition { /* 0x00 */ process_profile_definition mBase; /* 0x1C */ leafdraw_method_class* mLfDrwMth; - /* 0x20 */ s16 unk20; + /* 0x20 */ s16 mPriority; /* 0x22 */ u8 unk22[2]; /* 0x24 */ s32 unk24; } leaf_process_profile_definition; diff --git a/include/f_pc/f_pc_profile.h b/include/f_pc/f_pc_profile.h index beed93f24a..a393e00728 100644 --- a/include/f_pc/f_pc_profile.h +++ b/include/f_pc/f_pc_profile.h @@ -19,6 +19,8 @@ typedef struct process_profile_definition { s32 mParameters; } process_profile_definition; +#define LAYER_DEFAULT (-2) + process_profile_definition* fpcPf_Get(s16 profileID); extern process_profile_definition** g_fpcPf_ProfileList_p; diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index ff338d68b0..25aa498124 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -18,6 +18,15 @@ private: /* 0x0 */ J3DFrameCtrl mFrameCtrl; }; // Size: 0x14 +class mDoExt_transAnmBas : public J3DAnmTransformKey { +public: + mDoExt_transAnmBas(void* bas) { mBas = bas; } + virtual ~mDoExt_transAnmBas(); + +private: + /* 0x28 */ void* mBas; +}; + class mDoExt_btkAnm : public mDoExt_baseAnm { public: mDoExt_btkAnm(void) { mBtkAnm = 0; } @@ -165,6 +174,7 @@ JKRExpHeap* mDoExt_getHostIOHeap(); JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32); JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32); JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32); +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap**, u32, u32); JKRHeap* mDoExt_getCurrentHeap(); extern JKRExpHeap* zeldaHeap; diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 79c09b2fbf..30c90bdd62 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -15,6 +15,7 @@ void mDoMtx_ZrotS(Mtx, s16); void mDoMtx_YrotS(Mtx, s16); void mDoMtx_XrotS(Mtx, s16); void mDoMtx_YrotM(Mtx, s16); +void mDoMtx_MtxToRot(MtxP, csXyz*); class mDoMtx_stack_c { public: diff --git a/include/rel/d/a/d_a_horse/d_a_horse.h b/include/rel/d/a/d_a_horse/d_a_horse.h index 71cbc68c4d..9db68e95be 100644 --- a/include/rel/d/a/d_a_horse/d_a_horse.h +++ b/include/rel/d/a/d_a_horse/d_a_horse.h @@ -1,6 +1,220 @@ #ifndef D_A_HORSE_H #define D_A_HORSE_H +#include "Z2AudioLib/Z2Creature.h" +#include "d/bg/d_bg_s.h" +#include "d/cc/d_cc_d.h" +#include "d/msg/d_msg_flow.h" #include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class daHorseRein_c { +public: + /* 80837F2C */ void setReinPos(int); + /* 808383A8 */ void setReinPosPart(int); + /* 80844FB0 */ ~daHorseRein_c(); + /* 80844FEC */ daHorseRein_c(); + +private: + /* 0x00 */ cXyz* field_0x0[2]; + /* 0x08 */ int field_0x8[2]; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ cXyz field_0x1c; +}; // Size: 0x28 + +class daHorseFootData_c { +public: + /* 80844F70 */ ~daHorseFootData_c(); + /* 80844FAC */ daHorseFootData_c(); + +private: + /* 0x0 */ u8 field_0x0[0xE4]; +}; // Size: 0xE4 + +class daHorse_c : public fopAc_ac_c { +public: + enum daHorse_ERFLG0 { + /* 0x010 */ MOVE_ACCEPT = 0x10, + /* 0x080 */ RIDE_RUN_FLG = 0x80, + /* 0x100 */ CUT_TURN_CANCEL = 0x100, + }; + + enum daHorse_RFLG0 { + /* 0x02 */ ENEMY_SEARCH = 2, + /* 0x08 */ LASH_DASH_START = 8, + /* 0x10 */ TURN_STAND = 0x10, + /* 0x40 */ TURN_STAND_CAMERA = 0x40, + }; + + enum daHorse_FLG0 { + /* 0x00000020 */ RODEO_LEFT = 0x20, + /* 0x00000040 */ RIDE_START_FLG = 0x40, + /* 0x00010000 */ PLAYER_BACK_RIDE_LASH = 0x10000, + /* 0x20000000 */ TURN_CANCEL_KEEP = 0x20000000, + /* 0x80000000 */ RODEO_MODE = 0x80000000 + }; + + fopAc_ac_c* getZeldaActor(); + /* 807E27BC */ void cancelOriginalDemo(); + /* 807E27F8 */ void onDemoJumpDistance(f32, f32); + /* 807E28B8 */ void changeDemoPos0(cXyz const*); + /* 807E28D4 */ void changeDemoMode(u32, int); + /* 807E28E0 */ void setHorsePosAndAngle(cXyz const*, s16); + /* 807E2964 */ void changeOriginalDemo(); + /* 80838498 */ void coHitCallbackBoarJump(fopAc_ac_c*); + /* 80838798 */ void coHitCallbackBoarHit(fopAc_ac_c*, dCcD_GObjInf*); + /* 80838904 */ void coHitCallbackCowHit(fopAc_ac_c*); + /* 80838B78 */ void modelCallBack(int); + /* 80838F98 */ void createHeap(); + /* 8083940C */ void checkEnding(); + /* 80839498 */ void create(); + /* 80839D1C */ void setBasAnime(int); + /* 80839EBC */ void resetBasAnime(); + /* 80839ED4 */ void setDoubleAnime(f32, f32, f32, u16, u16, f32); + /* 8083A20C */ void setSingleAnime(u16, f32, f32, s16, f32, int); + /* 8083A3C4 */ void animePlay(); + /* 8083A5AC */ void checkDemoAction(); + /* 8083A890 */ void setStickRodeoMove(); + /* 8083AC7C */ void setStickCallMove(); + /* 8083ACEC */ void setDemoMoveData(u32*, cXyz const*); + /* 8083AEC0 */ void setDemoData(); + /* 8083B578 */ void acceptPlayerRide(); + /* 8083B600 */ void setStickData(); + /* 8083B828 */ void setTurnStartVibration(); + /* 8083B82C */ void setTurnVibration(); + /* 8083B830 */ void setMoveAnime(f32); + /* 8083BF48 */ void checkHorseNoMove(int); + /* 8083CA80 */ void checkTurnPlayerState(); + /* 8083CB38 */ void setSpeedAndAngle(); + /* 8083D748 */ void checkWaitTurn() const; + /* 8083D774 */ void setRoomInfo(int); + /* 8083D918 */ void setBodyPart(); + /* 8083D9D8 */ void setMatrix(); + /* 8083DC58 */ void setDashEffect(u32*); + /* 8083DEEC */ void setEffect(); + /* 8083E4D8 */ void setCollision(); + /* 8083E6E8 */ void autoGroundHit(); + /* 8083E760 */ void setTailAngle(); + /* 8083E8A4 */ void setNeckAngle(); + /* 8083EA78 */ void copyFootMatrix(); + /* 8083EB10 */ void setFootMatrix(); + /* 8083ED88 */ void setLegAngle(f32, int, int, s16*); + /* 8083F3B0 */ void footBgCheck(); + /* 8083F9AC */ void setReinPosMoveInit(int); + /* 8083FDAC */ void copyReinPos(); + /* 8083FEB4 */ void setReinPosHandSubstance(int); + /* 8084010C */ void setReinPosNormalSubstance(); + /* 808402F8 */ void bgCheck(); + /* 80840714 */ void checkSpecialWallHitSubstance(cXyz const&) const; + /* 808407B0 */ void setServiceWaitTimer(); + /* 80840800 */ void checkServiceWaitAnime(); + /* 80840844 */ void checkTurnInput(); + /* 808408F0 */ void checkTgHitTurn(); + /* 808409C0 */ void checkTurnAfterFastMove(f32); + /* 80840B28 */ void setNeckAnimeMorf(); + /* 80840B88 */ void setNeckAnime(u16, f32, f32, s16); + /* 80840CA4 */ void resetNeckAnime(); + /* 80840CE4 */ void setLashCnt(); + /* 80840FE0 */ void setTalkModeWolf(); + /* 80841084 */ void setBoarHit(fopAc_ac_c*, int); + /* 8084116C */ void savePos(); + /* 808411D0 */ void callHorseSubstance(cXyz const*); + /* 80841468 */ void setHorsePosAndAngleSubstance(cXyz const*, s16); + /* 808415B4 */ void checkPlayerHeavy(); + /* 80841628 */ void setTgCoGrp(u32, u32); + /* 80841698 */ void onRideFlgSubstance(); + /* 808416D4 */ void offRideFlgSubstance(); + /* 80841708 */ void procWaitInit(); + /* 808417B8 */ void procWait(); + /* 80841F04 */ void procMoveInit(); + /* 80841F80 */ void procMove(); + /* 808423DC */ void procStopInit(); + /* 808425BC */ void procStop(); + /* 80842878 */ void procTurnInit(int); + /* 80842AB0 */ void procTurn(); + /* 80843008 */ void procJumpInit(int); + /* 808432E0 */ void procJump(); + /* 80843604 */ void procLandInit(f32, int); + /* 80843770 */ void procLand(); + /* 808438AC */ void procLargeDamageInit(); + /* 8084396C */ void procLargeDamage(); + /* 808439C8 */ void procToolDemoInit(); + /* 80843A44 */ void procToolDemo(); + /* 80843BFC */ void searchSceneChangeArea(fopAc_ac_c*); + /* 80843C74 */ void execute(); + /* 80844590 */ void draw(); + /* 8084478C */ ~daHorse_c(); + /* 80844CB0 */ daHorse_c(); + + bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; } + bool checkResetStateFlg0(daHorse_RFLG0 flag) { return mResetStateFlg0 & flag; } + bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; } + bool checkStateFlg0(daHorse_FLG0 flag) { return mStateFlg0 & flag; } + + static u8 const m_footJointTable[8]; + static f32 const m_callLimitDistance2; + +private: + /* 0x0568 */ u8 field_0x568[8]; + /* 0x0570 */ J3DModel* field_0x570; + /* 0x0574 */ void* field_0x574; + /* 0x0578 */ J3DFrameCtrl field_0x578; + /* 0x058C */ int field_0x58c; + /* 0x0590 */ u8 field_0x590[4]; + /* 0x0594 */ mDoExt_AnmRatioPack field_0x594[3]; + /* 0x05AC */ void* field_0x5ac; + /* 0x05B0 */ daPy_frameCtrl_c field_0x5b0[3]; + /* 0x05F8 */ u8 field_0x5f8[4]; + /* 0x05FC */ dBgS_AcchCir field_0x5fc[3]; + /* 0x06BC */ dBgS_Acch field_0x6bc; + /* 0x0894 */ dCcD_Stts field_0x894; + /* 0x08D0 */ dBgS_HorseLinChk field_0x8d0; + /* 0x0940 */ dCcD_Cyl field_0x940[3]; + /* 0x0CF4 */ dCcD_Cyl field_0xcf4; + /* 0x0E30 */ dCcD_Cyl field_0xe30; + /* 0x0F6C */ dCcD_Sph field_0xf6c; + /* 0x10A4 */ Z2CreatureRide field_0x10a4; + /* 0x1140 */ u8 field_0x1140[0x10]; + /* 0x1150 */ daHorseRein_c field_0x1150[3]; + /* 0x11C8 */ u8 field_0x11c8[0x40]; + /* 0x1208 */ dMsgFlow_c field_0x1208; + /* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep; + /* 0x125C */ u8 field_0x125c[0xC8]; + /* 0x1324 */ daHorseFootData_c mFootData[4]; + /* 0x16B4 */ u8 field_0x16b4; + /* 0x16B5 */ u8 field_0x16b5[3]; + /* 0x16B8 */ u8 field_0x16b8; + /* 0x16B9 */ u8 field_0x16b9[2]; + /* 0x16BB */ u8 mRodeoPointCnt; + /* 0x16BC */ u8 field_0x16bc[0x36]; + /* 0x16F2 */ s16 mAimNeckAngleY; + /* 0x16F4 */ u8 field_0x16f4[0xA]; + /* 0x16FC */ s16 mDemoMoveAngle; + /* 0x16FE */ u8 field_0x16fe[4]; + /* 0x1702 */ s16 field_0x1702; + /* 0x1704 */ u8 field_0x1704[2]; + /* 0x1706 */ s16 mCowHitAngle; + /* 0x1708 */ s16 mCowHit; + /* 0x170A */ u8 field_0x170a[0x1E]; + /* 0x1728 */ int field_0x1728; + /* 0x172C */ u8 field_0x172c[0x14]; + /* 0x1740 */ u32 field_0x1740; + /* 0x1744 */ u32 mStateFlg0; + /* 0x1748 */ u32 mResetStateFlg0; + /* 0x174C */ u32 mEndResetStateFlg0; + /* 0x1750 */ f32 mMorfFrame; + /* 0x1754 */ u8 field_0x1754[0x14]; + /* 0x1768 */ f32 field_0x1768; + /* 0x176C */ f32 field_0x176c; + /* 0x1770 */ f32 field_0x1770; + /* 0x1774 */ u8 field_0x1774[0x14]; + /* 0x1788 */ f32 mDemoStickR; + /* 0x178C */ f32 mNormalMaxSpeedF; + /* 0x1790 */ f32 mLashMaxSpeedF; + /* 0x1794 */ u8 field_0x1794[0x30]; + /* 0x17C4 */ cXyz mDemoPos0; +}; #endif /* D_A_HORSE_H */ diff --git a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h index 3326ee208e..0f5478c59d 100644 --- a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h +++ b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h @@ -1,6 +1,53 @@ #ifndef D_A_E_WB_H #define D_A_E_WB_H +#include "Z2AudioLib/Z2Creature.h" #include "dolphin/types.h" +#include "rel/d/a/d_a_horse/d_a_horse.h" + +class e_wb_class : public fopAc_ac_c { +public: + BOOL checkWait(); + void setPlayerRideNow(); + void setPlayerRide(); + void getOff(); + BOOL checkDownDamage(); + u8 checkNormalRideMode() const; + void setRunRideMode(); + +private: + /* 0x0568 */ u8 field_0x568[0x4C]; + /* 0x05B4 */ s16 field_0x5b4; + /* 0x05B6 */ u8 unk1462[9]; + /* 0x05BF */ bool field_0x5bf; + /* 0x05C0 */ u8 field_0x5c0[0x20]; + /* 0x05E0 */ void* field_0x5e0; + /* 0x05E4 */ u8 field_0x5e4[8]; + /* 0x05EC */ Z2CreatureRide mZ2Ride; + /* 0x0688 */ u8 unk1673[6]; + /* 0x068E */ s16 field_0x68e; + /* 0x0690 */ s16 field_0x690; + /* 0x0692 */ u16 field_0x692; + /* 0x0694 */ u8 unk1684[0xc]; + /* 0x06A0 */ s16 field_0x6a0; + /* 0x06A2 */ u8 field_0x6a2[0xc]; + /* 0x06AE */ s16 field_0x6ae; + /* 0x06B0 */ s16 field_0x6b0; + /* 0x06B2 */ u8 field_0x6b2[0xc]; + /* 0x06BE */ u16 field_0x6be; + /* 0x06C0 */ u8 field_0x6c0[0xdd]; + /* 0x079D */ u8 field_0x79d; + /* 0x079E */ u8 field_0x79e[0x4e]; + /* 0x07EC */ dBgS_Acch field_0x7ec; + /* 0x09C4 */ cXyz field_0x9c4; + /* 0x09D0 */ u8 field_0x9d0[0xa5f]; + /* 0x142F */ u8 field_0x142f; + /* 0x1430 */ u8 field_0x1430; + /* 0x1432 */ s16 field_0x1432; + /* 0x1434 */ u8 field_0x1434[0x250]; + /* 0x1684 */ f32 field_0x1684; + /* 0x1688 */ u8 field_0x1688[0x16]; + /* 0x169E */ s16 field_0x169e; +}; #endif /* D_A_E_WB_H */ diff --git a/libs/JSystem/J2DGraph/J2DAnimation.cpp b/libs/JSystem/J2DGraph/J2DAnimation.cpp index ac8f49ae3e..fcb85ac1b7 100644 --- a/libs/JSystem/J2DGraph/J2DAnimation.cpp +++ b/libs/JSystem/J2DGraph/J2DAnimation.cpp @@ -4,527 +4,914 @@ // #include "JSystem/J2DGraph/J2DAnimation.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" +#include "JSystem/JUtility/JUTResource.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JKRArchive {}; - -struct JUTResReference { - /* 802DE120 */ void getResource(void const*, u32, JKRArchive*); -}; - -struct J3DTransformInfo {}; - -struct J3DTextureSRTInfo {}; - -struct J3DAnmKeyTableBase {}; - -struct J2DScreen { - static u8 mDataManage[4 + 4 /* padding */]; -}; - -struct J2DResReference { - /* 8030CF10 */ void getResReference(u16) const; - /* 8030CF44 */ void getName(u16) const; -}; - -struct J2DDataManage { - /* 8030CE18 */ void get(char const*); -}; - -// -// Forward References: -// - -extern "C" void getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo(); -extern "C" void calcTransform__18J2DAnmTransformKeyCFfUsP16J3DTransformInfo(); -extern "C" void searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen(); -extern "C" void getColor__15J2DAnmColorFullCFUsP8_GXColor(); -extern "C" void getColor__14J2DAnmColorKeyCFUsP8_GXColor(); -extern "C" void getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor(); -extern "C" void getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor(); -extern "C" void calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo(); -extern "C" void searchUpdateMaterialID__19J2DAnmTextureSRTKeyFP9J2DScreen(); -extern "C" void searchUpdateMaterialID__16J2DAnmTexPatternFP9J2DScreen(); -extern "C" void getTexNo__16J2DAnmTexPatternCFUsPUs(); -extern "C" void getResTIMG__16J2DAnmTexPatternCFUs(); -extern "C" void getPalette__16J2DAnmTexPatternCFUs(); -extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc(); -extern "C" void getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10(); -extern "C" void getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor(); -extern "C" void searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen(); -extern "C" void func_8030C77C(void* _this, f32, J3DAnmKeyTableBase*, s16*); -extern "C" void func_8030C9B0(void* _this, f32, J3DAnmKeyTableBase*, f32*); -extern "C" void __ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv(); -extern "C" void __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv(); -extern "C" void __dt__16J2DAnmTexPatternFv(); -extern "C" void __dt__17J2DAnmVtxColorKeyFv(); -extern "C" void __dt__18J2DAnmVtxColorFullFv(); -extern "C" void __dt__15J2DAnmColorFullFv(); -extern "C" void getTransform__18J2DAnmTransformKeyCFUsP16J3DTransformInfo(); -extern "C" void __dt__19J2DAnmTransformFullFv(); - -// -// External References: -// - -extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen(); -extern "C" void __dt__15J2DAnmTevRegKeyFv(); -extern "C" void __dt__19J2DAnmTextureSRTKeyFv(); -extern "C" void __dt__11J2DAnmColorFv(); -extern "C" void __dt__18J2DAnmTransformKeyFv(); -extern "C" void __dt__14J2DAnmColorKeyFv(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getResource__15JUTResReferenceFPCvUlP10JKRArchive(); -extern "C" void storeTLUT__10JUTPaletteF7_GXTlut10_GXTlutFmt15JUTTransparencyUsPv(); -extern "C" void getIndex__10JUTNameTabCFPCc(); -extern "C" void getName__10JUTNameTabCFUs(); -extern "C" void getColor__11J2DAnmColorCFUsP8_GXColor(); -extern "C" void get__13J2DDataManageFPCc(); -extern "C" void getResReference__15J2DResReferenceCFUs(); -extern "C" void getName__15J2DResReferenceCFUs(); -extern "C" void __destroy_new_array(); -extern "C" void __construct_new_array(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__10J2DAnmBase[4]; -extern "C" extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */]; -extern "C" extern void* __vt__10JUTNameTab[3]; -extern "C" extern void* __vt__14J2DAnmVtxColor[5]; -extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */]; +f32 J2DGetKeyFrameInterpolationf(f32 param_0, J3DAnmKeyTableBase* param_1, f32* param_2); +f32 J2DGetKeyFrameInterpolations(f32 param_0, J3DAnmKeyTableBase* param_1, s16* param_2); // // Declarations: // -/* ############################################################################################## */ -/* 80456300-80456308 004900 0004+04 10/10 0/0 0/0 .sdata2 @1573 */ -SECTION_SDATA2 static f32 lit_1573[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 80456308-80456310 004908 0008+00 5/5 0/0 0/0 .sdata2 @1576 */ -SECTION_SDATA2 static f64 lit_1576 = 4503599627370496.0 /* cast u32 to float */; - /* 8030A590-8030AAFC 304ED0 056C+00 1/0 0/0 0/0 .text * getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTransformFull::getTransform(u16 param_0, J3DTransformInfo* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo.s" +void J2DAnmTransformFull::getTransform(u16 param_0, J3DTransformInfo* transformInfo) const { + u16 idx = (param_0 * 3); + J2DAnmTransformFullInfo* xPart = &mTableInfo[idx]; + J2DAnmTransformFullInfo* yPart = &mTableInfo[idx + 1]; + J2DAnmTransformFullInfo* zPart = &mTableInfo[idx + 2]; + u16 xMaxFrame = xPart->mScaleMaxFrame; + if (getFrame() < 0) { + transformInfo->mScale.x = mScaleValues[xPart->mScaleOffset]; + } else if (getFrame() >= xMaxFrame) { + transformInfo->mScale.x = mScaleValues[(xPart->mScaleOffset + (xMaxFrame - 1))]; + } else { + transformInfo->mScale.x = mScaleValues[(xPart->mScaleOffset + (int)getFrame())]; + } + u16 yMaxFrame = yPart->mScaleMaxFrame; + if (getFrame() < 0) { + transformInfo->mScale.y = mScaleValues[yPart->mScaleOffset]; + } else if (getFrame() >= yMaxFrame) { + transformInfo->mScale.y = mScaleValues[(yPart->mScaleOffset + (yMaxFrame - 1))]; + } else { + transformInfo->mScale.y = mScaleValues[(yPart->mScaleOffset + (int)getFrame())]; + } + u16 zMaxFrame = zPart->mScaleMaxFrame; + if (getFrame() < 0) { + transformInfo->mScale.z = mScaleValues[zPart->mScaleOffset]; + } else if (getFrame() >= zMaxFrame) { + transformInfo->mScale.z = mScaleValues[(zPart->mScaleOffset + (zMaxFrame - 1))]; + } else { + transformInfo->mScale.z = mScaleValues[(zPart->mScaleOffset + (int)getFrame())]; + } + xMaxFrame = xPart->mRotationMaxFrame; + if (getFrame() < 0) { + transformInfo->mRotation.x = mRotationValues[xPart->mRotationOffset]; + } else if (getFrame() >= xMaxFrame) { + transformInfo->mRotation.x = mRotationValues[(xPart->mRotationOffset + (xMaxFrame - 1))]; + } else { + transformInfo->mRotation.x = mRotationValues[(xPart->mRotationOffset + (int)getFrame())]; + } + yMaxFrame = yPart->mRotationMaxFrame; + if (getFrame() < 0) { + transformInfo->mRotation.y = mRotationValues[yPart->mRotationOffset]; + } else if (getFrame() >= yMaxFrame) { + transformInfo->mRotation.y = mRotationValues[(yPart->mRotationOffset + (yMaxFrame - 1))]; + } else { + transformInfo->mRotation.y = mRotationValues[(yPart->mRotationOffset + (int)getFrame())]; + } + zMaxFrame = zPart->mRotationMaxFrame; + if (getFrame() < 0) { + transformInfo->mRotation.z = mRotationValues[zPart->mRotationOffset]; + } else if (getFrame() >= zMaxFrame) { + transformInfo->mRotation.z = mRotationValues[(zPart->mRotationOffset + (zMaxFrame - 1))]; + } else { + transformInfo->mRotation.z = mRotationValues[(zPart->mRotationOffset + (int)getFrame())]; + } + xMaxFrame = xPart->mTranslateMaxFrame; + if (getFrame() < 0) { + transformInfo->mTranslate.x = mTranslateValues[xPart->mTranslateOffset]; + } else if (getFrame() >= xMaxFrame) { + transformInfo->mTranslate.x = mTranslateValues[(xPart->mTranslateOffset + (xMaxFrame - 1))]; + } else { + transformInfo->mTranslate.x = mTranslateValues[(xPart->mTranslateOffset + (int)getFrame())]; + } + yMaxFrame = yPart->mTranslateMaxFrame; + if (getFrame() < 0) { + transformInfo->mTranslate.y = mTranslateValues[yPart->mTranslateOffset]; + } else if (getFrame() >= yMaxFrame) { + transformInfo->mTranslate.y = mTranslateValues[(yPart->mTranslateOffset + (yMaxFrame - 1))]; + } else { + transformInfo->mTranslate.y = mTranslateValues[(yPart->mTranslateOffset + (int)getFrame())]; + } + zMaxFrame = zPart->mTranslateMaxFrame; + if (getFrame() < 0) { + transformInfo->mTranslate.z = mTranslateValues[zPart->mTranslateOffset]; + } else if (getFrame() >= zMaxFrame) { + transformInfo->mTranslate.z = mTranslateValues[(zPart->mTranslateOffset + (zMaxFrame - 1))]; + } else { + transformInfo->mTranslate.z = mTranslateValues[(zPart->mTranslateOffset + (int)getFrame())]; + } } -#pragma pop - -/* ############################################################################################## */ -/* 80456310-80456314 004910 0004+00 2/2 0/0 0/0 .sdata2 @1619 */ -SECTION_SDATA2 static f32 lit_1619 = 1.0f; /* 8030AAFC-8030AF24 30543C 0428+00 1/0 0/0 0/0 .text * calcTransform__18J2DAnmTransformKeyCFfUsP16J3DTransformInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTransformKey::calcTransform(f32 param_0, u16 param_1, - J3DTransformInfo* param_2) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/calcTransform__18J2DAnmTransformKeyCFfUsP16J3DTransformInfo.s" +void J2DAnmTransformKey::calcTransform(f32 param_0, u16 param_1, + J3DTransformInfo* transformInfo) const { + u16 idx = param_1 * 3; + J2DAnmTransformKeyInfo* xInf = &mInfoTable[idx]; + J2DAnmTransformKeyInfo* yInf = &mInfoTable[idx + 1]; + J2DAnmTransformKeyInfo* zInf = &mInfoTable[idx + 2]; + switch (xInf->mScaleInfo.mMaxFrame) { + case 0: + transformInfo->mScale.x = 1; + break; + case 1: + transformInfo->mScale.x = mScaleValues[xInf->mScaleInfo.mOffset]; + break; + default: + transformInfo->mScale.x = J2DGetKeyFrameInterpolationf( + param_0, &xInf->mScaleInfo, &mScaleValues[xInf->mScaleInfo.mOffset]); + } + switch (yInf->mScaleInfo.mMaxFrame) { + case 0: + transformInfo->mScale.y = 1; + break; + case 1: + transformInfo->mScale.y = mScaleValues[yInf->mScaleInfo.mOffset]; + break; + default: + transformInfo->mScale.y = J2DGetKeyFrameInterpolationf( + param_0, &yInf->mScaleInfo, &mScaleValues[yInf->mScaleInfo.mOffset]); + } + switch (zInf->mScaleInfo.mMaxFrame) { + case 0: + transformInfo->mScale.z = 1; + break; + case 1: + transformInfo->mScale.z = mScaleValues[zInf->mScaleInfo.mOffset]; + break; + default: + transformInfo->mScale.z = J2DGetKeyFrameInterpolationf( + param_0, &zInf->mScaleInfo, &mScaleValues[zInf->mScaleInfo.mOffset]); + } + switch (xInf->mRotationInfo.mMaxFrame) { + case 0: + transformInfo->mRotation.x = 0; + break; + case 1: + transformInfo->mRotation.x = mRotationValues[xInf->mRotationInfo.mOffset] << field_0x24; + break; + default: + transformInfo->mRotation.x = + static_cast(J2DGetKeyFrameInterpolations( + param_0, &xInf->mRotationInfo, &mRotationValues[xInf->mRotationInfo.mOffset])) + << field_0x24; + } + switch (yInf->mRotationInfo.mMaxFrame) { + case 0: + transformInfo->mRotation.y = 0; + break; + case 1: + transformInfo->mRotation.y = mRotationValues[yInf->mRotationInfo.mOffset] << field_0x24; + break; + default: + transformInfo->mRotation.y = + static_cast(J2DGetKeyFrameInterpolations( + param_0, &yInf->mRotationInfo, &mRotationValues[yInf->mRotationInfo.mOffset])) + << field_0x24; + } + switch (zInf->mRotationInfo.mMaxFrame) { + case 0: + transformInfo->mRotation.z = 0; + break; + case 1: + transformInfo->mRotation.z = mRotationValues[zInf->mRotationInfo.mOffset] << field_0x24; + break; + default: + transformInfo->mRotation.z = + static_cast(J2DGetKeyFrameInterpolations( + param_0, &zInf->mRotationInfo, &mRotationValues[zInf->mRotationInfo.mOffset])) + << field_0x24; + } + switch (xInf->mTranslateInfo.mMaxFrame) { + case 0: + transformInfo->mTranslate.x = 0; + break; + case 1: + transformInfo->mTranslate.x = mTranslateValues[xInf->mTranslateInfo.mOffset]; + break; + default: + transformInfo->mTranslate.x = J2DGetKeyFrameInterpolationf( + param_0, &xInf->mTranslateInfo, &mTranslateValues[xInf->mTranslateInfo.mOffset]); + } + switch (yInf->mTranslateInfo.mMaxFrame) { + case 0: + transformInfo->mTranslate.y = 0; + break; + case 1: + transformInfo->mTranslate.y = mTranslateValues[yInf->mTranslateInfo.mOffset]; + break; + default: + transformInfo->mTranslate.y = J2DGetKeyFrameInterpolationf( + param_0, &yInf->mTranslateInfo, &mTranslateValues[yInf->mTranslateInfo.mOffset]); + } + switch (zInf->mTranslateInfo.mMaxFrame) { + case 0: + transformInfo->mTranslate.z = 0; + break; + case 1: + transformInfo->mTranslate.z = mTranslateValues[zInf->mTranslateInfo.mOffset]; + break; + default: + transformInfo->mTranslate.z = J2DGetKeyFrameInterpolationf( + param_0, &zInf->mTranslateInfo, &mTranslateValues[zInf->mTranslateInfo.mOffset]); + } } -#pragma pop /* 8030AF24-8030AFC8 305864 00A4+00 3/0 0/0 0/0 .text * searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmColor::searchUpdateMaterialID(J2DScreen* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen.s" +void J2DAnmColor::searchUpdateMaterialID(J2DScreen* pScreen) { + if (pScreen != NULL && pScreen->mNameTable != NULL) { + for (u16 entry = 0; entry < this->getUpdateMaterialNum(); entry++) { + s32 idx = pScreen->mNameTable->getIndex(this->field_0x20.getName(entry)); + if (idx != -1) { + mUpdateMaterialID[entry] = idx; + } else { + mUpdateMaterialID[entry] = 0xFFFF; + } + } + } } -#pragma pop /* 8030AFC8-8030B200 305908 0238+00 1/0 0/0 0/0 .text getColor__15J2DAnmColorFullCFUsP8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmColorFull::getColor(u16 param_0, _GXColor* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getColor__15J2DAnmColorFullCFUsP8_GXColor.s" +void J2DAnmColorFull::getColor(u16 param_0, _GXColor* pColor) const { + J2DAnmColorFullInfo* info = &mInfoTable[param_0]; + u16 maxFrame = info->mRMaxFrame; + if (getFrame() < 0) { + pColor->r = mRValues[info->mROffset]; + } else if (getFrame() >= maxFrame) { + pColor->r = mRValues[info->mROffset + (maxFrame - 1)]; + } else { + pColor->r = mRValues[info->mROffset + (int)getFrame()]; + } + maxFrame = info->mGMaxFrame; + if (getFrame() < 0) { + pColor->g = mGValues[info->mGOffset]; + } else if (getFrame() >= maxFrame) { + pColor->g = mGValues[info->mGOffset + (maxFrame - 1)]; + } else { + pColor->g = mGValues[info->mGOffset + (int)getFrame()]; + } + maxFrame = info->mBMaxFrame; + if (getFrame() < 0) { + pColor->b = mBValues[info->mBOffset]; + } else if (getFrame() >= maxFrame) { + pColor->b = mBValues[info->mBOffset + (maxFrame - 1)]; + } else { + pColor->b = mBValues[info->mBOffset + (int)getFrame()]; + } + maxFrame = info->mAMaxFrame; + if (getFrame() < 0) { + pColor->a = mAValues[info->mAOffset]; + } else if (getFrame() >= maxFrame) { + pColor->a = mAValues[info->mAOffset + (maxFrame - 1)]; + } else { + pColor->a = mAValues[info->mAOffset + (int)getFrame()]; + } } -#pragma pop - -/* ############################################################################################## */ -/* 80456314-80456318 004914 0004+00 3/3 0/0 0/0 .sdata2 @1748 */ -SECTION_SDATA2 static f32 lit_1748 = 255.0f; /* 8030B200-8030B4C4 305B40 02C4+00 1/0 0/0 0/0 .text getColor__14J2DAnmColorKeyCFUsP8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmColorKey::getColor(u16 param_0, _GXColor* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getColor__14J2DAnmColorKeyCFUsP8_GXColor.s" +void J2DAnmColorKey::getColor(u16 param_0, _GXColor* pColor) const { + J2DAnmColorKeyInfo* info = &mInfoTable[param_0]; + f32 val; + switch (info->mRInfo.mMaxFrame) { + case 0: + pColor->r = 0; + break; + case 1: + pColor->r = mRValues[info->mRInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mRInfo, + &mRValues[info->mRInfo.mOffset]); + if (val < 0) { + pColor->r = 0; + } else if (val > 255) { + pColor->r = 255; + } else { + OSf32tou8(&val, &pColor->r); + } + } + switch (info->mGInfo.mMaxFrame) { + case 0: + pColor->g = 0; + break; + case 1: + pColor->g = mGValues[info->mGInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mGInfo, + &mGValues[info->mGInfo.mOffset]); + if (val < 0) { + pColor->g = 0; + } else if (val > 255) { + pColor->g = 255; + } else { + OSf32tou8(&val, &pColor->g); + } + } + switch (info->mBInfo.mMaxFrame) { + case 0: + pColor->b = 0; + break; + case 1: + pColor->b = mBValues[info->mBInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mBInfo, + &mBValues[info->mBInfo.mOffset]); + if (val < 0) { + pColor->b = 0; + } else if (val > 255) { + pColor->b = 255; + } else { + OSf32tou8(&val, &pColor->b); + } + } + switch (info->mAInfo.mMaxFrame) { + case 0: + pColor->a = 0; + break; + case 1: + pColor->a = mAValues[info->mAInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mAInfo, + &mAValues[info->mAInfo.mOffset]); + if (val < 0) { + pColor->a = 0; + } else if (val > 255) { + pColor->a = 255; + } else { + OSf32tou8(&val, &pColor->a); + } + } } -#pragma pop /* 8030B4C4-8030B704 305E04 0240+00 1/0 0/0 0/0 .text * getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* param_2) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor.s" +void J2DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* pColor) const { + J2DAnmVtxColorFullInfo* info = &mInfoTable[param_0][param_1]; + u16 maxFrame = info->mRMaxFrame; + if (getFrame() < 0) { + pColor->r = mRValues[info->mROffset]; + } else if (getFrame() >= maxFrame) { + pColor->r = mRValues[info->mROffset + (maxFrame - 1)]; + } else { + pColor->r = mRValues[info->mROffset + (int)getFrame()]; + } + maxFrame = info->mGMaxFrame; + if (getFrame() < 0) { + pColor->g = mGValues[info->mGOffset]; + } else if (getFrame() >= maxFrame) { + pColor->g = mGValues[info->mGOffset + (maxFrame - 1)]; + } else { + pColor->g = mGValues[info->mGOffset + (int)getFrame()]; + } + maxFrame = info->mBMaxFrame; + if (getFrame() < 0) { + pColor->b = mBValues[info->mBOffset]; + } else if (getFrame() >= maxFrame) { + pColor->b = mBValues[info->mBOffset + (maxFrame - 1)]; + } else { + pColor->b = mBValues[info->mBOffset + (int)getFrame()]; + } + maxFrame = info->mAMaxFrame; + if (getFrame() < 0) { + pColor->a = mAValues[info->mAOffset]; + } else if (getFrame() >= maxFrame) { + pColor->a = mAValues[info->mAOffset + (maxFrame - 1)]; + } else { + pColor->a = mAValues[info->mAOffset + (int)getFrame()]; + } } -#pragma pop /* 8030B704-8030B9F0 306044 02EC+00 1/0 0/0 0/0 .text * getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmVtxColorKey::getColor(u8 param_0, u16 param_1, _GXColor* param_2) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor.s" +void J2DAnmVtxColorKey::getColor(u8 param_0, u16 param_1, _GXColor* pColor) const { + J2DAnmVtxColorKeyInfo* info = &mInfoTable[param_0][param_1]; + f32 val; + switch (info->mRInfo.mMaxFrame) { + case 0: + pColor->r = 0; + break; + case 1: + pColor->r = mRValues[info->mRInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mRInfo, + &mRValues[info->mRInfo.mOffset]); + if ((val <= 0)) { + pColor->r = 0; + } else if (val <= 255) { + OSf32tou8(&val, &pColor->r); + } else { + pColor->r = 255; + } + } + switch (info->mGInfo.mMaxFrame) { + case 0: + pColor->g = 0; + break; + case 1: + pColor->g = mGValues[info->mGInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mGInfo, + &mGValues[info->mGInfo.mOffset]); + if (val <= 0) { + pColor->g = 0; + } else if (val <= 255) { + OSf32tou8(&val, &pColor->g); + } else { + pColor->g = 255; + } + } + switch (info->mBInfo.mMaxFrame) { + case 0: + pColor->b = 0; + break; + case 1: + pColor->b = mBValues[info->mBInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mBInfo, + &mBValues[info->mBInfo.mOffset]); + if (val <= 0) { + pColor->b = 0; + } else if (val <= 255) { + OSf32tou8(&val, &pColor->b); + } else { + pColor->b = 255; + } + } + switch (info->mAInfo.mMaxFrame) { + case 0: + pColor->a = 0; + break; + case 1: + pColor->a = mAValues[info->mAInfo.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mAInfo, + &mAValues[info->mAInfo.mOffset]); + if (val <= 0) { + pColor->a = 0; + } else if (val <= 255) { + OSf32tou8(&val, &pColor->a); + } else { + pColor->a = 255; + } + } } -#pragma pop /* 8030B9F0-8030BC60 306330 0270+00 0/0 1/1 0/0 .text * calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, - J3DTextureSRTInfo* param_2) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo.s" +void J2DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, J3DTextureSRTInfo* pInfo) const { + u16 idx = param_1 * 3; + J2DAnmTextureSRTKeyInfo* xInf = &mInfoTable[idx]; + J2DAnmTextureSRTKeyInfo* yInf = &mInfoTable[idx + 1]; + J2DAnmTextureSRTKeyInfo* zInf = &mInfoTable[idx + 2]; + switch (xInf->mScaleInfo.mMaxFrame) { + case 0: + pInfo->mScaleX = 1; + break; + case 1: + pInfo->mScaleX = mScaleValues[xInf->mScaleInfo.mOffset]; + break; + default: + pInfo->mScaleX = J2DGetKeyFrameInterpolationf(param_0, &xInf->mScaleInfo, + &mScaleValues[xInf->mScaleInfo.mOffset]); + } + switch (yInf->mScaleInfo.mMaxFrame) { + case 0: + pInfo->mScaleY = 1; + break; + case 1: + pInfo->mScaleY = mScaleValues[yInf->mScaleInfo.mOffset]; + break; + default: + pInfo->mScaleY = J2DGetKeyFrameInterpolationf(param_0, &yInf->mScaleInfo, + &mScaleValues[yInf->mScaleInfo.mOffset]); + } + switch (zInf->mRotationInfo.mMaxFrame) { + case 0: + pInfo->mRotation = 0; + break; + case 1: + pInfo->mRotation = mRotationValues[zInf->mRotationInfo.mOffset] << field_0x10; + break; + default: + pInfo->mRotation = + static_cast(J2DGetKeyFrameInterpolations( + param_0, &zInf->mRotationInfo, &mRotationValues[zInf->mRotationInfo.mOffset])) + << field_0x10; + } + switch (xInf->mTranslationInfo.mMaxFrame) { + case 0: + pInfo->mTranslationX = 0; + break; + case 1: + pInfo->mTranslationX = mTranslationValues[xInf->mTranslationInfo.mOffset]; + break; + default: + pInfo->mTranslationX = J2DGetKeyFrameInterpolationf( + param_0, &xInf->mTranslationInfo, &mTranslationValues[xInf->mTranslationInfo.mOffset]); + } + switch (yInf->mTranslationInfo.mMaxFrame) { + case 0: + pInfo->mTranslationY = 0; + break; + case 1: + pInfo->mTranslationY = mTranslationValues[yInf->mTranslationInfo.mOffset]; + break; + default: + pInfo->mTranslationY = J2DGetKeyFrameInterpolationf( + param_0, &yInf->mTranslationInfo, &mTranslationValues[yInf->mTranslationInfo.mOffset]); + } } -#pragma pop /* 8030BC60-8030BD10 3065A0 00B0+00 1/0 0/0 0/0 .text * searchUpdateMaterialID__19J2DAnmTextureSRTKeyFP9J2DScreen */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTextureSRTKey::searchUpdateMaterialID(J2DScreen* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__19J2DAnmTextureSRTKeyFP9J2DScreen.s" +void J2DAnmTextureSRTKey::searchUpdateMaterialID(J2DScreen* pScreen) { + if (pScreen != NULL && pScreen->mNameTable != NULL) { + for (u16 entry = 0; entry < this->getUpdateMaterialNum(); entry++) { + s32 idx = pScreen->mNameTable->getIndex(field_0x34.getName(entry)); + if (idx != -1) { + mUpdateMaterialID[entry] = idx; + } else { + mUpdateMaterialID[entry] = 0xFFFF; + } + } + } } -#pragma pop /* 8030BD10-8030BEE8 306650 01D8+00 1/0 0/0 0/0 .text * searchUpdateMaterialID__16J2DAnmTexPatternFP9J2DScreen */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTexPattern::searchUpdateMaterialID(J2DScreen* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__16J2DAnmTexPatternFP9J2DScreen.s" +void J2DAnmTexPattern::searchUpdateMaterialID(J2DScreen* pScreen) { + if (pScreen != NULL && pScreen->mNameTable != NULL && pScreen->field_0x108 != NULL) { + for (u16 entry = 0; entry < this->getUpdateMaterialNum(); entry++) { + s32 idx = pScreen->mNameTable->getIndex(field_0x20.getName(entry)); + if (idx != -1) { + mUpdaterMaterialID[entry] = idx; + } else { + mUpdaterMaterialID[entry] = 0xFFFF; + } + } + delete[] mTIMGPtrArray; + mTIMGPtrArray = new J2DAnmTexPatternTIMGPointer[pScreen->field_0x108->mCount]; + if (mTIMGPtrArray != NULL) { + JUTResReference resRef; + for (u16 i = 0; i < pScreen->field_0x108->mCount; i++) { + s8* var1 = pScreen->field_0x108->getResReference(i); + ResTIMG* var2 = NULL; + if (var1 != NULL) { + var2 = (ResTIMG*)resRef.getResource(var1, 'TIMG', NULL); + if (var2 == NULL && J2DScreen::getDataManage() != NULL) { + var2 = (ResTIMG*)J2DScreen::getDataManage()->get( + pScreen->field_0x108->getName(i)); + } + } + mTIMGPtrArray[i].mRes = var2; + if (var2 != NULL && var2->palettesEnabled) { + JUTPalette* palette = + new JUTPalette(GX_TLUT0, (_GXTlutFmt)var2->paletteFormat, + (JUTTransparency)var2->alphaEnabled, var2->paletteCount, + ((u8*)var2) + var2->paletteOffset); + mTIMGPtrArray[i].mPalette = palette; + } + } + } + } } -#pragma pop /* 8030BEE8-8030BF9C 306828 00B4+00 2/2 1/1 0/0 .text getTexNo__16J2DAnmTexPatternCFUsPUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTexPattern::getTexNo(u16 param_0, u16* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getTexNo__16J2DAnmTexPatternCFUsPUs.s" +void J2DAnmTexPattern::getTexNo(u16 param_0, u16* pTexNo) const { + u16 maxFrame = mAnmTable[param_0].mMaxFrame; + f32 frame = getFrame(); + if (frame < 0) { + *pTexNo = mValues[mAnmTable[param_0].mOffset]; + } else if (frame >= maxFrame) { + *pTexNo = mValues[mAnmTable[param_0].mOffset + (maxFrame - 1)]; + } else { + *pTexNo = mValues[mAnmTable[param_0].mOffset + (int)frame]; + } } -#pragma pop /* 8030BF9C-8030BFF0 3068DC 0054+00 0/0 1/1 0/0 .text getResTIMG__16J2DAnmTexPatternCFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTexPattern::getResTIMG(u16 param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getResTIMG__16J2DAnmTexPatternCFUs.s" +ResTIMG* J2DAnmTexPattern::getResTIMG(u16 param_0) const { + if (mTIMGPtrArray == NULL) { + return NULL; + } else { + u16 texNo; + this->getTexNo(param_0, &texNo); + return mTIMGPtrArray[texNo].mRes; + } } -#pragma pop /* 8030BFF0-8030C048 306930 0058+00 0/0 1/1 0/0 .text getPalette__16J2DAnmTexPatternCFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTexPattern::getPalette(u16 param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getPalette__16J2DAnmTexPatternCFUs.s" +JUTPalette* J2DAnmTexPattern::getPalette(u16 param_0) const { + if (mTIMGPtrArray == NULL) { + return NULL; + } else { + u16 texNo; + this->getTexNo(param_0, &texNo); + return mTIMGPtrArray[texNo].mPalette; + } } -#pragma pop /* 8030C048-8030C0F0 306988 00A8+00 0/0 3/3 0/0 .text getVisibility__20J2DAnmVisibilityFullCFUsPUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmVisibilityFull::getVisibility(u16 param_0, u8* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getVisibility__20J2DAnmVisibilityFullCFUsPUc.s" +void J2DAnmVisibilityFull::getVisibility(u16 param_0, u8* pOut) const { + u16 maxFrame = field_0x14[param_0]._0; + if (getFrame() < 0) { + *pOut = field_0x18[field_0x14[param_0]._2]; + } else if (getFrame() >= maxFrame) { + *pOut = field_0x18[field_0x14[param_0]._2 + (maxFrame - 1)]; + } else { + int frame = getFrame(); + *pOut = field_0x18[field_0x14[param_0]._2 + frame]; + } } -#pragma pop - -/* ############################################################################################## */ -/* 80456318-8045631C 004918 0004+00 1/1 0/0 0/0 .sdata2 @2110 */ -SECTION_SDATA2 static f32 lit_2110 = -1024.0f; - -/* 8045631C-80456320 00491C 0004+00 1/1 0/0 0/0 .sdata2 @2111 */ -SECTION_SDATA2 static f32 lit_2111 = 1023.0f; /* 8030C0F0-8030C3B4 306A30 02C4+00 0/0 1/1 0/0 .text * getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTevRegKey::getTevColorReg(u16 param_0, _GXColorS10* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10.s" +void J2DAnmTevRegKey::getTevColorReg(u16 param_0, _GXColorS10* pColor) const { + J2DAnmTevRegKeyInfo* info = &mAnmCRegKeyTable[param_0]; + f32 val; + switch (info->mRTable.mMaxFrame) { + case 0: + pColor->r = 0; + break; + case 1: + pColor->r = mCRValues[info->mRTable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mRTable, + &mCRValues[info->mRTable.mOffset]); + if (val < -0x400) { + pColor->r = -0x400; + } else if (val > 0x3FF) { + pColor->r = 0x3FF; + } else { + OSf32tos16(&val, &pColor->r); + } + } + switch (info->mGTable.mMaxFrame) { + case 0: + pColor->g = 0; + break; + case 1: + pColor->g = mCGValues[info->mGTable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mGTable, + &mCGValues[info->mGTable.mOffset]); + if (val < -0x400) { + pColor->g = -0x400; + } else if (val > 0x3FF) { + pColor->g = 0x3FF; + } else { + OSf32tos16(&val, &pColor->g); + } + } + switch (info->mBTable.mMaxFrame) { + case 0: + pColor->b = 0; + break; + case 1: + pColor->b = mCBValues[info->mBTable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mBTable, + &mCBValues[info->mBTable.mOffset]); + if (val < -0x400) { + pColor->b = -0x400; + } else if (val > 0x3FF) { + pColor->b = 0x3FF; + } else { + OSf32tos16(&val, &pColor->b); + } + } + switch (info->mATable.mMaxFrame) { + case 0: + pColor->a = 0; + break; + case 1: + pColor->a = mCAValues[info->mATable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mATable, + &mCAValues[info->mATable.mOffset]); + if (val < -0x400) { + pColor->a = -0x400; + } else if (val > 0x3FF) { + pColor->a = 0x3FF; + } else { + OSf32tos16(&val, &pColor->a); + } + } } -#pragma pop /* 8030C3B4-8030C678 306CF4 02C4+00 0/0 1/1 0/0 .text * getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTevRegKey::getTevKonstReg(u16 param_0, _GXColor* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor.s" +void J2DAnmTevRegKey::getTevKonstReg(u16 param_0, _GXColor* pColor) const { + J2DAnmTevRegKeyInfo* info = &mAnmKRegKeyTable[param_0]; + f32 val; + switch (info->mRTable.mMaxFrame) { + case 0: + pColor->r = 0; + break; + case 1: + pColor->r = mKRValues[info->mRTable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mRTable, + &mKRValues[info->mRTable.mOffset]); + if (val < 0) { + pColor->r = 0; + } else if (val > 255) { + pColor->r = 255; + } else { + OSf32tou8(&val, &pColor->r); + } + } + switch (info->mGTable.mMaxFrame) { + case 0: + pColor->g = 0; + break; + case 1: + pColor->g = mKGValues[info->mGTable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mGTable, + &mKGValues[info->mGTable.mOffset]); + if (val < 0) { + pColor->g = 0; + } else if (val > 255) { + pColor->g = 255; + } else { + OSf32tou8(&val, &pColor->g); + } + } + switch (info->mBTable.mMaxFrame) { + case 0: + pColor->b = 0; + break; + case 1: + pColor->b = mKBValues[info->mBTable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mBTable, + &mKBValues[info->mBTable.mOffset]); + if (val < 0) { + pColor->b = 0; + } else if (val > 255) { + pColor->b = 255; + } else { + OSf32tou8(&val, &pColor->b); + } + } + switch (info->mATable.mMaxFrame) { + case 0: + pColor->a = 0; + break; + case 1: + pColor->a = mKAValues[info->mATable.mOffset]; + break; + default: + val = J2DGetKeyFrameInterpolations(getFrame(), &info->mATable, + &mKAValues[info->mATable.mOffset]); + if (val < 0) { + pColor->a = 0; + } else if (val > 255) { + pColor->a = 255; + } else { + OSf32tou8(&val, &pColor->a); + } + } } -#pragma pop /* 8030C678-8030C77C 306FB8 0104+00 1/0 0/0 0/0 .text * searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTevRegKey::searchUpdateMaterialID(J2DScreen* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen.s" +void J2DAnmTevRegKey::searchUpdateMaterialID(J2DScreen* pScreen) { + if (pScreen != NULL && pScreen->mNameTable != NULL) { + for (u16 i = 0; i < mCRegUpdateMaterialNum; i++) { + s32 idx = pScreen->mNameTable->getIndex(field_0x28.getName(i)); + if (idx != -1) { + mCRegUpdateMaterialID[i] = idx; + } else { + mCRegUpdateMaterialID[i] = 0xFFFF; + } + } + for (u16 i = 0; i < mKRegUpdateMaterialNum; i++) { + s32 idx = pScreen->mNameTable->getIndex(field_0x3c.getName(i)); + if (idx != -1) { + mKRegUpdateMaterialID[i] = idx; + } else { + mKRegUpdateMaterialID[i] = 0xFFFF; + } + } + } } -#pragma pop - -/* ############################################################################################## */ -/* 80456320-80456328 004920 0008+00 1/1 0/0 0/0 .sdata2 @2379 */ -SECTION_SDATA2 static f64 lit_2379 = 4503601774854144.0 /* cast s32 to float */; /* 8030C77C-8030C9B0 3070BC 0234+00 6/6 0/0 0/0 .text * J2DGetKeyFrameInterpolation__FfP18J3DAnmKeyTableBasePs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030C77C(void* _this, f32 param_0, J3DAnmKeyTableBase* param_1, - s16* param_2) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/func_8030C77C.s" +// should be J2DGetKeyFrameInterpolation +f32 J2DGetKeyFrameInterpolations(f32 param_0, J3DAnmKeyTableBase* param_1, s16* param_2) { + if (param_0 < param_2[0]) { + return param_2[1]; + } else { + if (param_1->mType == 0) { + if (param_2[(param_1->mMaxFrame - 1) * 3] <= param_0) { + return param_2[(param_1->mMaxFrame - 1) * 3 + 1]; + } else { + u32 tmp = param_1->mMaxFrame; + while (tmp > 1) { + u32 halfTmp = tmp / 2; + u32 upIdx = halfTmp * 3; + if (param_0 >= param_2[upIdx]) { + param_2 = param_2 + upIdx; + tmp -= halfTmp; + } else { + tmp = halfTmp; + } + } + return J2DHermiteInterpolation(param_0, ¶m_2[0], ¶m_2[1], ¶m_2[2], + ¶m_2[3], ¶m_2[4], ¶m_2[5]); + } + } else { + if (param_2[(param_1->mMaxFrame - 1) * 4] <= param_0) { + return param_2[(param_1->mMaxFrame - 1) * 4 + 1]; + } else { + u32 tmp = param_1->mMaxFrame; + while (tmp > 1) { + u32 halfTmp = tmp / 2; + u32 upIdx = halfTmp * 4; + if (param_0 >= param_2[upIdx]) { + param_2 = param_2 + upIdx; + tmp -= halfTmp; + } else { + tmp = halfTmp; + } + } + return J2DHermiteInterpolation(param_0, ¶m_2[0], ¶m_2[1], ¶m_2[3], + ¶m_2[4], ¶m_2[5], ¶m_2[6]); + } + } + } } -#pragma pop /* 8030C9B0-8030CB2C 3072F0 017C+00 2/2 0/0 0/0 .text * J2DGetKeyFrameInterpolation__FfP18J3DAnmKeyTableBasePf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030C9B0(void* _this, f32 param_0, J3DAnmKeyTableBase* param_1, - f32* param_2) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/func_8030C9B0.s" +// should be J2DGetKeyFrameInterpolation +f32 J2DGetKeyFrameInterpolationf(f32 param_0, J3DAnmKeyTableBase* param_1, f32* param_2) { + if (param_0 < param_2[0]) { + return param_2[1]; + } else { + if (param_1->mType == 0) { + if (param_2[(param_1->mMaxFrame - 1) * 3] <= param_0) { + return param_2[(param_1->mMaxFrame - 1) * 3 + 1]; + } else { + u32 tmp = param_1->mMaxFrame; + while (tmp > 1) { + u32 halfTmp = tmp / 2; + u32 upIdx = halfTmp * 3; + if (param_0 >= param_2[upIdx]) { + param_2 = param_2 + upIdx; + tmp -= halfTmp; + } else { + tmp = halfTmp; + } + } + return J2DHermiteInterpolation(param_0, ¶m_2[0], ¶m_2[1], ¶m_2[2], + ¶m_2[3], ¶m_2[4], ¶m_2[5]); + } + } else { + if (param_2[(param_1->mMaxFrame - 1) * 4] <= param_0) { + return param_2[(param_1->mMaxFrame - 1) * 4 + 1]; + } else { + u32 tmp = param_1->mMaxFrame; + while (tmp > 1) { + u32 halfTmp = tmp / 2; + u32 upIdx = halfTmp * 4; + if (param_0 >= param_2[upIdx]) { + param_2 = param_2 + upIdx; + tmp -= halfTmp; + } else { + tmp = halfTmp; + } + } + return J2DHermiteInterpolation(param_0, ¶m_2[0], ¶m_2[1], ¶m_2[3], + ¶m_2[4], ¶m_2[5], ¶m_2[6]); + } + } + } } -#pragma pop -/* 8030CB2C-8030CB3C 30746C 0010+00 1/1 0/0 0/0 .text - * __ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::J2DAnmTexPatternTIMGPointer() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/__ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s" +J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::J2DAnmTexPatternTIMGPointer() { + mRes = NULL; + mPalette = NULL; } -#pragma pop -/* 8030CB3C-8030CB90 30747C 0054+00 2/2 0/0 0/0 .text - * __dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::~J2DAnmTexPatternTIMGPointer() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv.s" +J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::~J2DAnmTexPatternTIMGPointer() { + delete mPalette; } -#pragma pop - -/* ############################################################################################## */ -/* 803CD728-803CD738 02A848 0010+00 0/0 2/2 0/0 .data __vt__15J2DAnmTevRegKey */ -SECTION_DATA extern void* __vt__15J2DAnmTevRegKey[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15J2DAnmTevRegKeyFv, - (void*)searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen, -}; - -/* 803CD738-803CD748 02A858 0010+00 1/1 1/1 0/0 .data __vt__16J2DAnmTexPattern */ -SECTION_DATA extern void* __vt__16J2DAnmTexPattern[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16J2DAnmTexPatternFv, - (void*)searchUpdateMaterialID__16J2DAnmTexPatternFP9J2DScreen, -}; - -/* 8030CB90-8030CC20 3074D0 0090+00 1/0 0/0 0/0 .text __dt__16J2DAnmTexPatternFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void __dt__16J2DAnmTexPatternFv() { - // asm J2DAnmTexPattern::~J2DAnmTexPattern() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__16J2DAnmTexPatternFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CD748-803CD758 02A868 0010+00 0/0 2/2 0/0 .data __vt__19J2DAnmTextureSRTKey */ -SECTION_DATA extern void* __vt__19J2DAnmTextureSRTKey[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19J2DAnmTextureSRTKeyFv, - (void*)searchUpdateMaterialID__19J2DAnmTextureSRTKeyFP9J2DScreen, -}; - -/* 803CD758-803CD76C 02A878 0014+00 1/1 1/1 0/0 .data __vt__17J2DAnmVtxColorKey */ -SECTION_DATA extern void* __vt__17J2DAnmVtxColorKey[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17J2DAnmVtxColorKeyFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, - (void*)getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor, -}; - -/* 8030CC20-8030CC8C 307560 006C+00 1/0 0/0 0/0 .text __dt__17J2DAnmVtxColorKeyFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void __dt__17J2DAnmVtxColorKeyFv() { - // asm J2DAnmVtxColorKey::~J2DAnmVtxColorKey() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__17J2DAnmVtxColorKeyFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CD76C-803CD780 02A88C 0014+00 1/1 1/1 0/0 .data __vt__18J2DAnmVtxColorFull */ -SECTION_DATA extern void* __vt__18J2DAnmVtxColorFull[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18J2DAnmVtxColorFullFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, - (void*)getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor, -}; - -/* 8030CC8C-8030CCF8 3075CC 006C+00 1/0 0/0 0/0 .text __dt__18J2DAnmVtxColorFullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void __dt__18J2DAnmVtxColorFullFv() { - // asm J2DAnmVtxColorFull::~J2DAnmVtxColorFull() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__18J2DAnmVtxColorFullFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CD780-803CD794 02A8A0 0014+00 0/0 2/2 0/0 .data __vt__14J2DAnmColorKey */ -SECTION_DATA extern void* __vt__14J2DAnmColorKey[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14J2DAnmColorKeyFv, - (void*)searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen, - (void*)getColor__14J2DAnmColorKeyCFUsP8_GXColor, -}; - -/* 803CD794-803CD7A8 02A8B4 0014+00 1/1 1/1 0/0 .data __vt__15J2DAnmColorFull */ -SECTION_DATA extern void* __vt__15J2DAnmColorFull[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15J2DAnmColorFullFv, - (void*)searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen, - (void*)getColor__15J2DAnmColorFullCFUsP8_GXColor, -}; - -/* 803CD7A8-803CD7BC 02A8C8 0014+00 1/1 3/3 0/0 .data __vt__11J2DAnmColor */ -SECTION_DATA extern void* __vt__11J2DAnmColor[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11J2DAnmColorFv, - (void*)searchUpdateMaterialID__11J2DAnmColorFP9J2DScreen, - (void*)getColor__11J2DAnmColorCFUsP8_GXColor, -}; - -/* 8030CCF8-8030CD7C 307638 0084+00 1/0 0/0 0/0 .text __dt__15J2DAnmColorFullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void __dt__15J2DAnmColorFullFv() { - // asm J2DAnmColorFull::~J2DAnmColorFull() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__15J2DAnmColorFullFv.s" -} -#pragma pop - -/* 8030CD7C-8030CDAC 3076BC 0030+00 1/0 0/0 0/0 .text - * getTransform__18J2DAnmTransformKeyCFUsP16J3DTransformInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmTransformKey::getTransform(u16 param_0, J3DTransformInfo* param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/getTransform__18J2DAnmTransformKeyCFUsP16J3DTransformInfo.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CD7BC-803CD7D4 02A8DC 0018+00 0/0 2/2 0/0 .data __vt__18J2DAnmTransformKey */ -SECTION_DATA extern void* __vt__18J2DAnmTransformKey[6] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18J2DAnmTransformKeyFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, - (void*)getTransform__18J2DAnmTransformKeyCFUsP16J3DTransformInfo, - (void*)calcTransform__18J2DAnmTransformKeyCFfUsP16J3DTransformInfo, -}; - -/* 803CD7D4-803CD7E8 02A8F4 0014+00 1/1 1/1 0/0 .data __vt__19J2DAnmTransformFull */ -SECTION_DATA extern void* __vt__19J2DAnmTransformFull[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19J2DAnmTransformFullFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, - (void*)getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo, -}; - -/* 8030CDAC-8030CE18 3076EC 006C+00 1/0 0/0 0/0 .text __dt__19J2DAnmTransformFullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void __dt__19J2DAnmTransformFullFv() { - // asm J2DAnmTransformFull::~J2DAnmTransformFull() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__19J2DAnmTransformFullFv.s" -} -#pragma pop diff --git a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp index 1463e95602..33fff4e5ff 100644 --- a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp +++ b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp @@ -501,7 +501,8 @@ asm void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* param_0, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DAnmVtxColor::~J2DAnmVtxColor() { +// asm J2DAnmVtxColor::~J2DAnmVtxColor() { +extern "C" asm void __dt__14J2DAnmVtxColorFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__14J2DAnmVtxColorFv.s" } @@ -511,7 +512,8 @@ asm J2DAnmVtxColor::~J2DAnmVtxColor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DAnmVisibilityFull::~J2DAnmVisibilityFull() { +// asm J2DAnmVisibilityFull::~J2DAnmVisibilityFull() { +extern "C" asm void __dt__20J2DAnmVisibilityFullFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__20J2DAnmVisibilityFullFv.s" } @@ -521,7 +523,8 @@ asm J2DAnmVisibilityFull::~J2DAnmVisibilityFull() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DAnmLoader::~J2DAnmLoader() { +// asm J2DAnmLoader::~J2DAnmLoader() { +extern "C" asm void __dt__12J2DAnmLoaderFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__12J2DAnmLoaderFv.s" } diff --git a/libs/JSystem/J2DGraph/J2DGrafContext.cpp b/libs/JSystem/J2DGraph/J2DGrafContext.cpp index 8c94907318..fcf21a7b48 100644 --- a/libs/JSystem/J2DGraph/J2DGrafContext.cpp +++ b/libs/JSystem/J2DGraph/J2DGrafContext.cpp @@ -116,36 +116,36 @@ void J2DGrafContext::setColor(JUtility::TColor colorTL, JUtility::TColor colorTR mColorTR = colorTR; mColorBR = colorBR; mColorBL = colorBL; - field_0xb0 = GX_BM_BLEND; - field_0xb1 = GX_BL_SRC_ALPHA; - field_0xb2 = GX_BL_INV_SRC_ALPHA; - mLineBlendMode = GX_BM_BLEND; - mLineSrcBlendFactor = GX_BL_SRC_ALPHA; - mLineDstBlendFactor = GX_BL_INV_SRC_ALPHA; - mBoxBlendMode = GX_BM_BLEND; - mBoxSrcBlendFactor = GX_BL_SRC_ALPHA; - mBoxDstBlendFactor = GX_BL_INV_SRC_ALPHA; + field_0xb0.mType = GX_BM_BLEND; + field_0xb0.mSrcFactor = GX_BL_SRC_ALPHA; + field_0xb0.mDstFactor = GX_BL_INV_SRC_ALPHA; + mLinePart.mType = GX_BM_BLEND; + mLinePart.mSrcFactor = GX_BL_SRC_ALPHA; + mLinePart.mDstFactor = GX_BL_INV_SRC_ALPHA; + mBoxPart.mType = GX_BM_BLEND; + mBoxPart.mSrcFactor = GX_BL_SRC_ALPHA; + mBoxPart.mDstFactor = GX_BL_INV_SRC_ALPHA; if ((mColorTL & 0xFF) != 0xFF) { return; } - field_0xb0 = GX_BM_NONE; - field_0xb1 = GX_BL_ONE; - field_0xb2 = GX_BL_ZERO; + field_0xb0.mType = GX_BM_NONE; + field_0xb0.mSrcFactor = GX_BL_ONE; + field_0xb0.mDstFactor = GX_BL_ZERO; if ((mColorBR & 0xFF) != 0xFF) { return; } - mLineBlendMode = GX_BM_NONE; - mLineSrcBlendFactor = GX_BL_ONE; - mLineDstBlendFactor = GX_BL_ZERO; + mLinePart.mType = GX_BM_NONE; + mLinePart.mSrcFactor = GX_BL_ONE; + mLinePart.mDstFactor = GX_BL_ZERO; if ((mColorTR & 0xFF) != 0xFF) { return; } if ((mColorBL & 0xFF) != 0xFF) { return; } - mBoxBlendMode = GX_BM_NONE; - mBoxSrcBlendFactor = GX_BL_ONE; - mBoxDstBlendFactor = GX_BL_ZERO; + mBoxPart.mType = GX_BM_NONE; + mBoxPart.mSrcFactor = GX_BL_ONE; + mBoxPart.mDstFactor = GX_BL_ZERO; } /* 802E9234-802E9260 2E3B74 002C+00 1/1 2/2 0/0 .text setLineWidth__14J2DGrafContextFUc @@ -158,8 +158,8 @@ void J2DGrafContext::setLineWidth(u8 lineWidth) { /* 802E9260-802E9368 2E3BA0 0108+00 0/0 2/2 0/0 .text * fillBox__14J2DGrafContextFRCQ29JGeometry8TBox2 */ void J2DGrafContext::fillBox(JGeometry::TBox2 const& box) { - GXSetBlendMode((GXBlendMode)mBoxBlendMode, (GXBlendFactor)mBoxSrcBlendFactor, - (GXBlendFactor)mBoxDstBlendFactor, GX_LO_SET); + GXSetBlendMode((GXBlendMode)mBoxPart.mType, (GXBlendFactor)mBoxPart.mSrcFactor, + (GXBlendFactor)mBoxPart.mDstFactor, GX_LO_SET); GXLoadPosMtxImm(mPosMtx, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); GXBegin(GX_QUADS, GX_VTXFMT0, 4); @@ -178,8 +178,8 @@ void J2DGrafContext::fillBox(JGeometry::TBox2 const& box) { /* 802E9368-802E9488 2E3CA8 0120+00 0/0 1/1 0/0 .text * drawFrame__14J2DGrafContextFRCQ29JGeometry8TBox2 */ void J2DGrafContext::drawFrame(JGeometry::TBox2 const& box) { - GXSetBlendMode((GXBlendMode)mBoxBlendMode, (GXBlendFactor)mBoxSrcBlendFactor, - (GXBlendFactor)mBoxDstBlendFactor, GX_LO_SET); + GXSetBlendMode((GXBlendMode)mBoxPart.mType, (GXBlendFactor)mBoxPart.mSrcFactor, + (GXBlendFactor)mBoxPart.mDstFactor, GX_LO_SET); GXLoadPosMtxImm(mPosMtx, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); GXBegin(GX_LINESTRIP, GX_VTXFMT0, 5); @@ -200,8 +200,8 @@ void J2DGrafContext::drawFrame(JGeometry::TBox2 const& box) { /* 802E9488-802E9564 2E3DC8 00DC+00 1/1 0/0 0/0 .text * line__14J2DGrafContextFQ29JGeometry8TVec2Q29JGeometry8TVec2 */ void J2DGrafContext::line(JGeometry::TVec2 start, JGeometry::TVec2 end) { - GXSetBlendMode((GXBlendMode)mLineBlendMode, (GXBlendFactor)mLineSrcBlendFactor, - (GXBlendFactor)mLineDstBlendFactor, GX_LO_SET); + GXSetBlendMode((GXBlendMode)mLinePart.mType, (GXBlendFactor)mLinePart.mSrcFactor, + (GXBlendFactor)mLinePart.mDstFactor, GX_LO_SET); GXLoadPosMtxImm(mPosMtx, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); GXBegin(GX_LINES, GX_VTXFMT0, 2); diff --git a/libs/JSystem/J2DGraph/J2DManage.cpp b/libs/JSystem/J2DGraph/J2DManage.cpp index fa9b518c61..acedc704a8 100644 --- a/libs/JSystem/J2DGraph/J2DManage.cpp +++ b/libs/JSystem/J2DGraph/J2DManage.cpp @@ -4,71 +4,85 @@ // #include "JSystem/J2DGraph/J2DManage.h" +#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/string.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void get__13J2DDataManageFPCc(); -extern "C" void get__13J2DDataManageFP14JSUInputStream(); -extern "C" void getResReference__15J2DResReferenceCFUs(); -extern "C" void getName__15J2DResReferenceCFUs(); - -// -// External References: -// - -extern "C" void read__14JSUInputStreamFPvl(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" void strcmp(); - // // Declarations: // /* 8030CE18-8030CE7C 307758 0064+00 1/1 3/3 0/0 .text get__13J2DDataManageFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DDataManage::get(char const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFPCc.s" +void* J2DDataManage::get(char const* name) { + for (J2DataManageLink* link = mList; link != NULL; link = link->mNext) { + if (strcmp(link->mName, name) == 0) { + return link->mData; + } + } + return NULL; } -#pragma pop /* 8030CE7C-8030CF10 3077BC 0094+00 0/0 1/1 0/0 .text get__13J2DDataManageFP14JSUInputStream */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DDataManage::get(JSUInputStream* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DManage/get__13J2DDataManageFP14JSUInputStream.s" +void* J2DDataManage::get(JSUInputStream* inputStream) { + inputStream->skip(1); + u8 nameLen = inputStream->readU8(); + if (nameLen == 0) { + return NULL; + } else { + char nameBuffer[257]; + inputStream->read(&nameBuffer, nameLen); + nameBuffer[nameLen] = 0; + return this->get(nameBuffer); + } } -#pragma pop /* 8030CF10-8030CF44 307850 0034+00 1/1 2/2 0/0 .text getResReference__15J2DResReferenceCFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DResReference::getResReference(u16 param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DManage/getResReference__15J2DResReferenceCFUs.s" +s8* J2DResReference::getResReference(u16 idx) const { + if (mCount <= idx || idx == 0xFFFF) { + return NULL; + } else { + return (((s8*)this) + mOffsets[idx]); + } } -#pragma pop /* ############################################################################################## */ /* 804349C0-80434AC8 0616E0 0101+07 1/1 0/0 0/0 .bss p_name$494 */ -static u8 p_name[257 + 7 /* padding */]; +static char p_name[257]; /* 8030CF44-8030D098 307884 0154+00 0/0 2/2 0/0 .text getName__15J2DResReferenceCFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DResReference::getName(u16 param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DManage/getName__15J2DResReferenceCFUs.s" +char* J2DResReference::getName(u16 idx) const { + s8* resRef = this->getResReference(idx); + if (resRef == NULL) { + p_name[0] = 0; + return p_name; + } else { + s8 first = resRef[0]; + switch (first) { + case 2: + case 3: + for (s32 i = 0; i < resRef[1]; i++) { + p_name[i] = resRef[2 + i]; + } + p_name[resRef[1]] = 0; + break; + case 4: + s32 pos = resRef[1] + 1; + for (; pos >= 2; pos--) { + if (resRef[pos] == '\\' || resRef[pos] == '/') { + break; + } + } + s32 i = 0; + pos++; + for (; pos < resRef[1] + 2; i++, pos++) { + p_name[i] = resRef[pos]; + } + p_name[i] = 0; + + break; + default: + p_name[0] = 0; + } + return p_name; + } } -#pragma pop diff --git a/libs/JSystem/J2DGraph/J2DMaterial.cpp b/libs/JSystem/J2DGraph/J2DMaterial.cpp index f56fe44bbb..528b355a90 100644 --- a/libs/JSystem/J2DGraph/J2DMaterial.cpp +++ b/libs/JSystem/J2DGraph/J2DMaterial.cpp @@ -7,12 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct J3DTextureSRTInfo {}; - // // Forward References: // diff --git a/libs/JSystem/J2DGraph/J2DPane.cpp b/libs/JSystem/J2DGraph/J2DPane.cpp index 8f625f3db3..c0705539b3 100644 --- a/libs/JSystem/J2DGraph/J2DPane.cpp +++ b/libs/JSystem/J2DGraph/J2DPane.cpp @@ -4,194 +4,18 @@ // #include "JSystem/J2DGraph/J2DPane.h" +#include "JSystem/J2DGraph/J2DManage.h" +#include "JSystem/J2DGraph/J2DOrthoGraph.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" +#include "JSystem/JUtility/JUTResource.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JUTResReference { - /* 802DE078 */ void getResource(JSUInputStream*, u32, JKRArchive*); -}; - -struct J2DOrthoGraph { - /* 802E987C */ void scissorBounds(JGeometry::TBox2*, JGeometry::TBox2 const*); -}; - -struct J2DDataManage { - /* 8030CE7C */ void get(JSUInputStream*); -}; - -// -// Forward References: -// - -extern "C" void __ct__7J2DPaneFv(); -extern "C" void initiate__7J2DPaneFv(); -extern "C" void func_802F5D40(); -extern "C" void func_802F5DD0(); -extern "C" void func_802F5E88(); -extern "C" void func_802F5F08(); -extern "C" void __ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc(); -extern "C" void makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); -extern "C" void changeUseTrans__7J2DPaneFP7J2DPane(); -extern "C" void __dt__7J2DPaneFv(); -extern "C" void appendChild__7J2DPaneFP7J2DPane(); -extern "C" void insertChild__7J2DPaneFP7J2DPaneP7J2DPane(); -extern "C" void draw__7J2DPaneFffPC14J2DGrafContextbb(); -extern "C" void func_802F6D18(); -extern "C" void move__7J2DPaneFff(); -extern "C" void add__7J2DPaneFff(); -extern "C" void resize__7J2DPaneFff(); -extern "C" void getBounds__7J2DPaneFv(); -extern "C" void rotate__7J2DPaneFff13J2DRotateAxisf(); -extern "C" void rotate__7J2DPaneFf(); -extern "C" void func_802F7264(); -extern "C" void search__7J2DPaneFUx(); -extern "C" void searchUserInfo__7J2DPaneFUx(); -extern "C" void isUsed__7J2DPaneFPC7ResTIMG(); -extern "C" void isUsed__7J2DPaneFPC7ResFONT(); -extern "C" void makeMatrix__7J2DPaneFffff(); -extern "C" void setCullBack__7J2DPaneF11_GXCullMode(); -extern "C" void setBasePosition__7J2DPaneF15J2DBasePosition(); -extern "C" void setInfluencedAlpha__7J2DPaneFbb(); -extern "C" void getGlbVtx__7J2DPaneCFUc(); -extern "C" void getFirstChildPane__7J2DPaneFv(); -extern "C" void getNextChildPane__7J2DPaneFv(); -extern "C" void getParentPane__7J2DPaneFv(); -extern "C" void makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); -extern "C" void J2DCast_F32_to_S16__7J2DPaneFfUc(); -extern "C" void getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive(); -extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase(); -extern "C" void setAnimation__7J2DPaneFP15J2DAnmTransform(); -extern "C" void animationTransform__7J2DPaneFv(); -extern "C" void clearAnmTransform__7J2DPaneFv(); -extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void updateTransform__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void drawSelf__7J2DPaneFffPA3_A4_f(); -extern "C" void rewriteAlpha__7J2DPaneFv(); -extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void setCullBack__7J2DPaneFb(); -extern "C" void setConnectParent__7J2DPaneFb(); -extern "C" void update__7J2DPaneFv(); -extern "C" void drawSelf__7J2DPaneFff(); -extern "C" void __sinit_J2DPane_cpp(); -extern "C" f32 static_mBounds__7J2DPane[4]; - -// -// External References: -// - -extern "C" void setAlpha__7J2DPaneFUc(); -extern "C" void calcMtx__7J2DPaneFv(); -extern "C" void makeMatrix__7J2DPaneFff(); -extern "C" s32 getTypeID__7J2DPaneCFv(); -extern "C" void setAnimation__7J2DPaneFP15J2DAnmTevRegKey(); -extern "C" void setAnimation__7J2DPaneFP11J2DAnmColor(); -extern "C" void setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void setAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setAnimation__7J2DPaneFP16J2DAnmTexPattern(); -extern "C" void __dl__FPv(); -extern "C" void __ct__10JSUPtrLinkFPv(); -extern "C" void __dt__10JSUPtrLinkFv(); -extern "C" void __dt__10JSUPtrListFv(); -extern "C" void initiate__10JSUPtrListFv(); -extern "C" void append__10JSUPtrListFP10JSUPtrLink(); -extern "C" void insert__10JSUPtrListFP10JSUPtrLinkP10JSUPtrLink(); -extern "C" void read__14JSUInputStreamFPvl(); -extern "C" void align__20JSURandomInputStreamFl(); -extern "C" void peek__20JSURandomInputStreamFPvl(); -extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom(); -extern "C" void getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive(); -extern "C" void setScissor__14J2DGrafContextFv(); -extern "C" void func_802E90C0(); -extern "C" void func_802E987C(); -extern "C" void get__13J2DDataManageFP14JSUInputStream(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__14J2DGrafContext[10]; -extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */]; - // // Declarations: // -/* ############################################################################################## */ -/* 803CCFB0-803CCFD0 -00001 0020+00 1/1 0/0 0/0 .data @2709 */ -SECTION_DATA static void* lit_2709[8] = { - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x38), - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x4C), - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x88), - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0xC0), - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x74), - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0xB0), - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x9C), - (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x60), -}; - -/* 803CCFD0-803CD068 02A0F0 0094+04 5/5 0/0 0/0 .data __vt__7J2DPane */ -SECTION_DATA extern void* __vt__7J2DPane[37 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__7J2DPaneFv, - (void*)getTypeID__7J2DPaneCFv, - (void*)move__7J2DPaneFff, - (void*)add__7J2DPaneFff, - (void*)resize__7J2DPaneFff, - (void*)setCullBack__7J2DPaneFb, - (void*)setCullBack__7J2DPaneF11_GXCullMode, - (void*)setAlpha__7J2DPaneFUc, - (void*)setConnectParent__7J2DPaneFb, - (void*)calcMtx__7J2DPaneFv, - (void*)update__7J2DPaneFv, - (void*)drawSelf__7J2DPaneFff, - (void*)drawSelf__7J2DPaneFffPA3_A4_f, - (void*)search__7J2DPaneFUx, - (void*)searchUserInfo__7J2DPaneFUx, - (void*)makeMatrix__7J2DPaneFff, - (void*)makeMatrix__7J2DPaneFffff, - (void*)isUsed__7J2DPaneFPC7ResTIMG, - (void*)isUsed__7J2DPaneFPC7ResFONT, - (void*)clearAnmTransform__7J2DPaneFv, - (void*)rewriteAlpha__7J2DPaneFv, - (void*)setAnimation__7J2DPaneFP10J2DAnmBase, - (void*)setAnimation__7J2DPaneFP15J2DAnmTransform, - (void*)setAnimation__7J2DPaneFP11J2DAnmColor, - (void*)setAnimation__7J2DPaneFP16J2DAnmTexPattern, - (void*)setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey, - (void*)setAnimation__7J2DPaneFP15J2DAnmTevRegKey, - (void*)setAnimation__7J2DPaneFP20J2DAnmVisibilityFull, - (void*)setAnimation__7J2DPaneFP14J2DAnmVtxColor, - (void*)animationTransform__7J2DPaneFPC15J2DAnmTransform, - (void*)setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull, - (void*)setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull, - (void*)setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor, - (void*)setAnimationVC__7J2DPaneFP14J2DAnmVtxColor, - (void*)animationPane__7J2DPaneFPC15J2DAnmTransform, - /* padding */ - NULL, -}; - -/* 804561F0-804561F4 0047F0 0004+00 12/12 0/0 0/0 .sdata2 @1469 */ -SECTION_SDATA2 static u8 lit_1469[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 802F5BF8-802F5CB8 2F0538 00C0+00 0/0 10/10 0/0 .text __ct__7J2DPaneFv */ J2DPane::J2DPane() : mBounds(), mGlobalBounds(), mClipRect(), mPaneTree(this) { mTransform = NULL; @@ -199,24 +23,19 @@ J2DPane::J2DPane() : mBounds(), mGlobalBounds(), mClipRect(), mPaneTree(this) { mVisible = true; mInfoTag = 0; mUserInfoTag = 0; - mBounds.set(FLOAT_LABEL(lit_1469), FLOAT_LABEL(lit_1469), FLOAT_LABEL(lit_1469), - FLOAT_LABEL(lit_1469)); + mBounds.set(0, 0, 0, 0); initiate(); changeUseTrans(NULL); calcMtx(); } -/* ############################################################################################## */ -/* 804561F4-804561F8 0047F4 0004+00 3/3 0/0 0/0 .sdata2 @1489 */ -SECTION_SDATA2 static f32 lit_1489 = 1.0f; - /* 802F5CB8-802F5D40 2F05F8 0088+00 3/3 0/0 0/0 .text initiate__7J2DPaneFv */ void J2DPane::initiate() { _4 = -1; - mRotateOffsetY = mRotateOffsetX = mRotateZ = mRotateY = mRotateX = FLOAT_LABEL(lit_1469); + mRotateOffsetY = mRotateOffsetX = mRotateZ = mRotateY = mRotateX = 0; mBasePosition = 0; mRotAxis = ROTATE_Z; - mScaleY = mScaleX = lit_1489; + mScaleY = mScaleX = 1; mCullMode = GX_CULL_NONE; mAlpha = 0xFF; mIsInfluencedAlpha = true; @@ -228,116 +47,172 @@ void J2DPane::initiate() { /* 802F5D40-802F5DD0 2F0680 0090+00 0/0 1/1 0/0 .text * __ct__7J2DPaneFP7J2DPanebUxRCQ29JGeometry8TBox2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DPane::J2DPane(J2DPane* param_0, bool param_1, u64 param_2, - JGeometry::TBox2 const& param_3) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/func_802F5D40.s" +J2DPane::J2DPane(J2DPane* param_0, bool param_1, u64 tag, JGeometry::TBox2 const& box) + : mBounds(), mGlobalBounds(), mClipRect(), mPaneTree(this) { + mTransform = NULL; + this->initialize(param_0, param_1, tag, box); } -#pragma pop /* 802F5DD0-802F5E88 2F0710 00B8+00 1/1 0/0 0/0 .text * initialize__7J2DPaneFP7J2DPanebUxRCQ29JGeometry8TBox2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::initialize(J2DPane* param_0, bool param_1, u64 param_2, - JGeometry::TBox2 const& param_3) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/func_802F5DD0.s" +void J2DPane::initialize(J2DPane* pane, bool visible, u64 infoTag, + JGeometry::TBox2 const& box) { + id = 'PAN1'; + mVisible = visible; + mInfoTag = infoTag; + mUserInfoTag = 0; + mBounds.set(box); + if (pane != NULL) { + pane->mPaneTree.appendChild(&this->mPaneTree); + } + this->initiate(); + this->changeUseTrans(pane); + this->calcMtx(); } -#pragma pop /* 802F5E88-802F5F08 2F07C8 0080+00 0/0 3/3 0/0 .text __ct__7J2DPaneFUxRCQ29JGeometry8TBox2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DPane::J2DPane(u64 param_0, JGeometry::TBox2 const& param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/func_802F5E88.s" +J2DPane::J2DPane(u64 infoTag, JGeometry::TBox2 const& box) + : mBounds(), mGlobalBounds(), mClipRect(), mPaneTree(this) { + mTransform = NULL; + this->initialize(infoTag, box); } -#pragma pop /* 802F5F08-802F5F9C 2F0848 0094+00 1/1 0/0 0/0 .text * initialize__7J2DPaneFUxRCQ29JGeometry8TBox2 */ -#ifdef NONMATCHING // templating..... again -void J2DPane::initialize(u64 tag, const TBox2& dim) { +void J2DPane::initialize(u64 tag, const JGeometry::TBox2& dim) { id = 'PAN1'; mVisible = true; mInfoTag = tag; - mUserInfoTag = tag; + mUserInfoTag = 0; mBounds.set(dim); initiate(); changeUseTrans(NULL); calcMtx(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::initialize(u64 param_0, JGeometry::TBox2 const& param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/func_802F5F08.s" -} -#pragma pop -#endif /* 802F5F9C-802F60C4 2F08DC 0128+00 0/0 1/1 0/0 .text * __ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DPane::J2DPane(J2DPane* param_0, JSURandomInputStream* param_1, u8 param_2) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/__ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc.s" +J2DPane::J2DPane(J2DPane* pane, JSURandomInputStream* inputStream, u8 isEx) : mPaneTree(this) { + mTransform = NULL; + if (isEx == 0) { + s32 position = inputStream->getPosition(); + s32 buf[2]; + inputStream->read(&buf, sizeof(buf)); + id = buf[0]; + position += buf[1]; + this->makePaneStream(pane, inputStream); + inputStream->seek(position, JSUStreamSeekFrom_SET); + } else { + s32 position = inputStream->getPosition(); + s32 buf[2]; + inputStream->peek(&buf, sizeof(buf)); + id = buf[0]; + position += buf[1]; + this->makePaneExStream(pane, inputStream); + inputStream->seek(position, JSUStreamSeekFrom_SET); + } } -#pragma pop - -/* ############################################################################################## */ -/* 804561F8-80456200 0047F8 0008+00 3/3 0/0 0/0 .sdata2 @1651 */ -SECTION_SDATA2 static f64 lit_1651 = 4503601774854144.0 /* cast s32 to float */; - -/* 80456200-80456208 004800 0008+00 3/3 0/0 0/0 .sdata2 @1655 */ -SECTION_SDATA2 static f64 lit_1655 = 4503599627370496.0 /* cast u32 to float */; /* 802F60C4-802F63F8 2F0A04 0334+00 1/1 3/3 0/0 .text * makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::makePaneStream(J2DPane* param_0, JSURandomInputStream* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s" +void J2DPane::makePaneStream(J2DPane* pane, JSURandomInputStream* inputStream) { + u8 unk; + inputStream->read(&unk, 1); + inputStream->read(&mVisible, 1); + inputStream->skip(2); + mInfoTag = inputStream->read32b(); + f32 x0 = inputStream->readS16(); + f32 y0 = inputStream->readS16(); + f32 x1 = x0 + inputStream->readS16(); + f32 y1 = y0 + inputStream->readS16(); + mBounds.set(x0, y0, x1, y1); + unk -= 6; + mRotateX = 0; + mRotateY = 0; + mRotateZ = 0; + if (unk != 0) { + mRotateZ = inputStream->readU16(); + unk--; + } + if (unk != 0) { + mBasePosition = inputStream->readU8(); + unk--; + } else { + mBasePosition = 0; + } + mRotAxis = ROTATE_Z; + mAlpha = 0xFF; + if (unk != 0) { + mAlpha = inputStream->readU8(); + unk--; + } + mIsInfluencedAlpha = true; + if (unk != 0) { + mIsInfluencedAlpha = inputStream->readU8(); + unk--; + } + inputStream->align(4); + if (pane != NULL) { + pane->mPaneTree.appendChild(&this->mPaneTree); + } + mCullMode = GX_CULL_NONE; + mColorAlpha = 0xFF; + mConnected = false; + _4 = 0xFFFF; + mScaleX = 1; + mScaleY = 1; + mUserInfoTag = 0; + this->changeUseTrans(pane); + this->calcMtx(); } -#pragma pop - -/* ############################################################################################## */ -/* 80456208-8045620C 004808 0004+00 4/4 0/0 0/0 .sdata2 @1725 */ -SECTION_SDATA2 static f32 lit_1725 = 0.5f; /* 802F63F8-802F658C 2F0D38 0194+00 4/4 0/0 0/0 .text changeUseTrans__7J2DPaneFP7J2DPane */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::changeUseTrans(J2DPane* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/changeUseTrans__7J2DPaneFP7J2DPane.s" +void J2DPane::changeUseTrans(J2DPane* pane) { + f32 xOffset = 0; + f32 yOffset = 0; + if (mBasePosition % 3 == 1) { + xOffset = mBounds.getWidth() / 2; + } else if (mBasePosition % 3 == 2) { + xOffset = mBounds.getWidth(); + } + if (mBasePosition / 3 == 1) { + yOffset = mBounds.getHeight() / 2; + } else if (mBasePosition / 3 == 2) { + yOffset = mBounds.getHeight(); + } + mTranslateX = mBounds.i.x + xOffset; + mTranslateY = mBounds.i.y + yOffset; + mRotateOffsetX = xOffset; + mRotateOffsetY = yOffset; + f32 f1 = -mTranslateX; + f32 f2 = -mTranslateY; + mBounds.addPos(f1, f2); + if (pane != NULL) { + u8 otherBasePos = pane->mBasePosition; + f32 width = pane->getWidth(); + f32 height = pane->getHeight(); + if (otherBasePos % 3 == 1) { + mTranslateX -= width / 2; + } else if (otherBasePos % 3 == 2) { + mTranslateX -= width; + } + if (otherBasePos / 3 == 1) { + mTranslateY -= height / 2; + } else if (otherBasePos / 3 == 2) { + mTranslateY -= height; + } + } } -#pragma pop /* 802F658C-802F666C 2F0ECC 00E0+00 1/0 4/4 0/0 .text __dt__7J2DPaneFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm J2DPane::~J2DPane() { -extern "C" asm void __dt__7J2DPaneFv() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/__dt__7J2DPaneFv.s" +J2DPane::~J2DPane() { + JSUTreeIterator iterator; + for (iterator = mPaneTree.getFirstChild(); iterator != mPaneTree.getEndChild();) { + J2DPane* child = (iterator++).getObject(); + delete child; + } } -#pragma pop /* 802F666C-802F6714 2F0FAC 00A8+00 0/0 2/2 0/0 .text appendChild__7J2DPaneFP7J2DPane */ bool J2DPane::appendChild(J2DPane* pChild) { @@ -356,14 +231,14 @@ bool J2DPane::appendChild(J2DPane* pChild) { } /* 802F6714-802F67E0 2F1054 00CC+00 0/0 1/1 0/0 .text insertChild__7J2DPaneFP7J2DPaneP7J2DPane */ -#ifdef NONMATCHING bool J2DPane::insertChild(J2DPane* before, J2DPane* child) { if (child == NULL) return false; const J2DPane* parent = child->getParentPane(); - bool result = mPaneTree.insertChild(&before->mPaneTree, &child->mPaneTree); + bool result = + mPaneTree.insertChild(before != NULL ? &before->mPaneTree : NULL, &child->mPaneTree); if (result && parent == NULL) { child->add(mBounds.i.x, mBounds.i.y); @@ -372,53 +247,123 @@ bool J2DPane::insertChild(J2DPane* before, J2DPane* child) { return result; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool J2DPane::insertChild(J2DPane* param_0, J2DPane* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/insertChild__7J2DPaneFP7J2DPaneP7J2DPane.s" -} -#pragma pop -#endif /* 802F67E0-802F6D18 2F1120 0538+00 0/0 1/1 0/0 .text draw__7J2DPaneFffPC14J2DGrafContextbb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::draw(f32 param_0, f32 param_1, J2DGrafContext const* param_2, bool param_3, - bool param_4) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/draw__7J2DPaneFffPC14J2DGrafContextbb.s" +void J2DPane::draw(f32 x, f32 y, J2DGrafContext const* grafCtx, bool isOrthoGraf, bool param_4) { + bool unkBool = param_4 && mVisible; + if (grafCtx->getGrafType() != 1) { + isOrthoGraf = false; + } + JSUTree* parentTree = mPaneTree.getParent(); + J2DPane* parent = NULL; + if (parentTree != NULL) { + parent = parentTree->getObject(); + } + if (mBounds.isValid()) { + mGlobalBounds = mBounds; + f32 tX = mTranslateX; + f32 tY = mTranslateY; + mGlobalBounds.addPos(tX, tY); + if (unkBool) { + mClipRect = mBounds; + this->rewriteAlpha(); + } + if (parent != NULL) { + f32 width = parent->mGlobalBounds.i.x - parent->mBounds.i.x; + f32 height = parent->mGlobalBounds.i.y - parent->mBounds.i.y; + mGlobalBounds.addPos(width, height); + PSMTXConcat(parent->mGlobalMtx, this->mPositionMtx, this->mGlobalMtx); + if (unkBool) { + if (isOrthoGraf) { + mClipRect = mGlobalBounds; + mClipRect.intersect(parent->mClipRect); + } + mColorAlpha = mAlpha; + if (mIsInfluencedAlpha) { + mColorAlpha = (mAlpha * parent->mColorAlpha) / 0xFF; + } + } + } else { + mGlobalBounds.addPos(x, y); + this->makeMatrix(mTranslateX + x, mTranslateY + y); + PSMTXCopy(mPositionMtx, mGlobalMtx); + mClipRect = mGlobalBounds; + mColorAlpha = mAlpha; + } + JGeometry::TBox2 scissorBounds(0, 0, 0, 0); + if (unkBool && isOrthoGraf) { + ((J2DOrthoGraph*)grafCtx)->scissorBounds(&scissorBounds, &mClipRect); + } + if (unkBool && (mClipRect.isValid() || !isOrthoGraf)) { + J2DGrafContext tmpGraf(*grafCtx); + if (isOrthoGraf) { + tmpGraf.scissor(scissorBounds); + tmpGraf.setScissor(); + } + GXSetCullMode((GXCullMode)mCullMode); + this->drawSelf(x, y, &tmpGraf.mPosMtx); + } + JSUTreeIterator iter; + for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { + iter.getObject()->draw(0, 0, grafCtx, isOrthoGraf, unkBool); + } + } } -#pragma pop /* 802F6D18-802F6F60 2F1658 0248+00 2/2 4/4 0/0 .text place__7J2DPaneFRCQ29JGeometry8TBox2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::place(JGeometry::TBox2 const& param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/func_802F6D18.s" +void J2DPane::place(JGeometry::TBox2 const& box) { + JGeometry::TBox2 tmpBox; + if (mBounds.i.x == 0) { + tmpBox.i.x = 0; + tmpBox.f.x = box.getWidth(); + mTranslateX = box.i.x; + } else if (mBounds.f.x == 0) { + tmpBox.i.x = -box.getWidth(); + tmpBox.f.x = 0; + mTranslateX = box.f.x; + } else { + tmpBox.i.x = -(box.getWidth() / 2); + tmpBox.f.x = box.getWidth() / 2; + mTranslateX = (box.i.x + box.f.x) / 2; + } + if (mBounds.i.y == 0) { + tmpBox.i.y = 0; + tmpBox.f.y = box.getHeight(); + mTranslateY = box.i.y; + } else if (mBounds.f.y == 0) { + tmpBox.i.y = -box.getHeight(); + tmpBox.f.y = 0; + mTranslateY = box.f.y; + } else { + tmpBox.i.y = -(box.getHeight() / 2); + tmpBox.f.y = box.getHeight() / 2; + mTranslateY = (box.i.y + box.f.y) / 2; + } + f32 xOff = tmpBox.i.x - mBounds.i.x; + f32 yOff = tmpBox.i.y - mBounds.i.y; + for (J2DPane* childPane = this->getFirstChildPane(); childPane != NULL; + childPane = childPane->getNextChildPane()) { + childPane->mTranslateX += xOff; + childPane->mTranslateY += yOff; + if (xOff != 0 || yOff != 0) { + childPane->calcMtx(); + } + } + mBounds = tmpBox; + J2DPane* parent = this->getParentPane(); + if (parent != NULL) { + mTranslateX += parent->mBounds.i.x; + mTranslateY += parent->mBounds.i.y; + } + this->calcMtx(); } -#pragma pop /* 802F6F60-802F6FB4 2F18A0 0054+00 1/0 7/0 0/0 .text move__7J2DPaneFff */ -#ifdef NONMATCHING void J2DPane::move(f32 x, f32 y) { - place(TBox2(x, y, x + getWidth(), y + getHeight())); + f32 width = getWidth(); + f32 height = getHeight(); + place(JGeometry::TBox2(x, y, x + width, y + height)); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::move(f32 param_0, f32 param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/move__7J2DPaneFff.s" -} -#pragma pop -#endif /* 802F6FB4-802F6FF8 2F18F4 0044+00 1/0 7/0 0/0 .text add__7J2DPaneFff */ void J2DPane::add(f32 x, f32 y) { @@ -428,59 +373,48 @@ void J2DPane::add(f32 x, f32 y) { } /* 802F6FF8-802F7100 2F1938 0108+00 1/0 5/2 0/0 .text resize__7J2DPaneFff */ -#ifdef NONMATCHING void J2DPane::resize(f32 x, f32 y) { - TBox2 box = mBounds; + JGeometry::TBox2 box = mBounds; - box.addPos(TVec2(mTranslateX, mTranslateY)); + f32 tX = mTranslateX; + f32 tY = mTranslateY; + + box.addPos(tX, tY); const J2DPane* parent = getParentPane(); if (parent != NULL) { - box.addPos(TVec2(-parent->mBounds.i.x, -parent->mBounds.i.y)); + f32 xAdd = -parent->mBounds.i.x; + f32 yAdd = -parent->mBounds.i.y; + box.addPos(xAdd, yAdd); } box.f.x = box.i.x + x; box.f.y = box.i.y + y; place(box); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::resize(f32 param_0, f32 param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/resize__7J2DPaneFff.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804349B0-804349C0 0616D0 0010+00 2/2 0/0 0/0 .bss static_mBounds__7J2DPane */ -f32 J2DPane::static_mBounds[4]; +JGeometry::TBox2 J2DPane::static_mBounds(0, 0, 0, 0); /* 802F7100-802F71DC 2F1A40 00DC+00 0/0 25/25 1/1 .text getBounds__7J2DPaneFv */ -#ifdef NONMATCHING // close ish -TBox2& J2DPane::getBounds() { - lbl_804349B0 = mBounds; - lbl_804349B0.addPos(TVec2(mTranslateX, mTranslateY)); +JGeometry::TBox2& J2DPane::getBounds() { + static_mBounds = mBounds; + + f32 tX = mTranslateX; + f32 tY = mTranslateY; + + static_mBounds.addPos(tX, tY); const J2DPane* parent = getParentPane(); if (parent != NULL) { - lbl_804349B0.addPos(TVec2(-parent->mBounds.i.x, -parent->mBounds.i.y)); + f32 xAdd = -parent->mBounds.i.x; + f32 yAdd = -parent->mBounds.i.y; + static_mBounds.addPos(xAdd, yAdd); } - return lbl_804349B0; + return static_mBounds; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JGeometry::TBox2& J2DPane::getBounds() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/getBounds__7J2DPaneFv.s" -} -#pragma pop -#endif /* 802F71DC-802F720C 2F1B1C 0030+00 0/0 12/12 0/0 .text rotate__7J2DPaneFff13J2DRotateAxisf */ void J2DPane::rotate(f32 offsetX, f32 offsetY, J2DRotateAxis axis, f32 angle) { @@ -504,14 +438,12 @@ void J2DPane::rotate(f32 angle) { } /* 802F7264-802F72E0 2F1BA4 007C+00 0/0 2/2 0/0 .text clip__7J2DPaneFRCQ29JGeometry8TBox2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::clip(JGeometry::TBox2 const& param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/func_802F7264.s" +void J2DPane::clip(JGeometry::TBox2 const& box) { + JGeometry::TBox2 boxA(box); + JGeometry::TBox2 boxB(mGlobalBounds); + boxA.addPos(boxB.i); + mClipRect.intersect(boxA); } -#pragma pop /* 802F72E0-802F7388 2F1C20 00A8+00 1/0 7/1 0/0 .text search__7J2DPaneFUx */ J2DPane* J2DPane::search(u64 tag) { @@ -563,19 +495,21 @@ bool J2DPane::isUsed(const ResFONT* font) { return false; } -/* ############################################################################################## */ -/* 8045620C-80456210 00480C 0004+00 1/1 0/0 0/0 .sdata2 @2466 */ -SECTION_SDATA2 static f32 lit_2466 = 0.01745329238474369f; - /* 802F7540-802F7680 2F1E80 0140+00 1/0 7/0 0/0 .text makeMatrix__7J2DPaneFffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::makeMatrix(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/makeMatrix__7J2DPaneFffff.s" +void J2DPane::makeMatrix(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { + f32 tmpX = mRotateOffsetX - param_2; + f32 tmpY = mRotateOffsetY - param_3; + Mtx rotX, rotY, rotZ, rotMtx, mtx, tmp; + PSMTXTrans(mtx, -tmpX, -tmpY, 0); + PSMTXRotRad(rotX, 'x', 0.01745329238474369f * mRotateX); + PSMTXRotRad(rotY, 'y', 0.01745329238474369f * mRotateY); + PSMTXRotRad(rotZ, 'z', 0.01745329238474369f * -mRotateZ); + PSMTXConcat(rotZ, rotX, tmp); + PSMTXConcat(rotY, tmp, rotMtx); + PSMTXScaleApply(mtx, mPositionMtx, mScaleX, mScaleY, 1); + PSMTXConcat(rotMtx, mPositionMtx, tmp); + PSMTXTransApply(tmp, mPositionMtx, param_0 + tmpX, param_1 + tmpY, 0); } -#pragma pop /* 802F7680-802F76F8 2F1FC0 0078+00 1/0 7/3 0/0 .text setCullBack__7J2DPaneF11_GXCullMode */ @@ -594,20 +528,20 @@ void J2DPane::setBasePosition(J2DBasePosition position) { mBasePosition = position; mRotAxis = ROTATE_Z; - mRotateOffsetX = FLOAT_LABEL(lit_1469); + mRotateOffsetX = 0; if (position % 3 == 1) { f32 width = getWidth(); - mRotateOffsetX = width * lit_1725; + mRotateOffsetX = width / 2; } else if (position % 3 == 2) { f32 width = getWidth(); mRotateOffsetX = width; } - mRotateOffsetY = FLOAT_LABEL(lit_1469); + mRotateOffsetY = 0; if (position / 3 == 1) { f32 height = getHeight(); - mRotateOffsetY = height * lit_1725; + mRotateOffsetY = height / 2; } else if (position / 3 == 2) { f32 height = getHeight(); mRotateOffsetY = height; @@ -616,48 +550,75 @@ void J2DPane::setBasePosition(J2DBasePosition position) { calcMtx(); } -/* ############################################################################################## */ -/* 80456210-80456214 004810 0004+00 1/1 0/0 0/0 .sdata2 @2547 */ -SECTION_SDATA2 static f32 lit_2547 = 255.0f; - /* 802F77D0-802F79A8 2F2110 01D8+00 0/0 1/1 0/0 .text setInfluencedAlpha__7J2DPaneFbb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::setInfluencedAlpha(bool param_0, bool param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/setInfluencedAlpha__7J2DPaneFbb.s" +void J2DPane::setInfluencedAlpha(bool param_0, bool param_1) { + if (param_1 && mIsInfluencedAlpha != param_0) { + J2DPane* parent = this->getParentPane(); + u8 alpha = 255; + for (; parent != NULL; parent = parent->getParentPane()) { + if (parent->getAlpha() == 0) { + alpha = 0; + break; + } + alpha = (((f32)alpha) * parent->getAlpha() / 255); + if (!parent->mIsInfluencedAlpha) { + break; + } + } + if (param_0) { + if (alpha == 0) { + this->setAlpha(0); + } else { + f32 fAlpha = ((f32)mAlpha) / alpha * 255; + u8 alpha; + if (fAlpha > 255) { + alpha = 255; + } else { + alpha = fAlpha; + } + this->setAlpha(alpha); + } + } else { + this->setAlpha((f32)(alpha * mAlpha) / 255); + } + } + mIsInfluencedAlpha = param_0; } -#pragma pop /* 802F79A8-802F7A8C 2F22E8 00E4+00 0/0 3/3 0/0 .text getGlbVtx__7J2DPaneCFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::getGlbVtx(u8 param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/getGlbVtx__7J2DPaneCFUc.s" +JGeometry::TVec3 J2DPane::getGlbVtx(u8 param_0) const { + JGeometry::TVec3 out; + if (param_0 >= 4) { + out.x = 0; + out.y = 0; + out.z = 0; + return out; + } else { + f32 x, y; + if (param_0 & 1) { + x = mBounds.f.x; + } else { + x = mBounds.i.x; + } + if (param_0 & 2) { + y = mBounds.f.y; + } else { + y = mBounds.i.y; + } + out.x = x * mGlobalMtx[0][0] + y * mGlobalMtx[0][1] + mGlobalMtx[0][3]; + out.y = x * mGlobalMtx[1][0] + y * mGlobalMtx[1][1] + mGlobalMtx[1][3]; + out.z = x * mGlobalMtx[2][0] + y * mGlobalMtx[2][1] + mGlobalMtx[2][3]; + return out; + } } -#pragma pop /* 802F7A8C-802F7AC4 2F23CC 0038+00 1/1 15/15 0/0 .text getFirstChildPane__7J2DPaneFv */ -#ifdef NONMATCHING // probably an issue with JSUTree -const J2DPane* J2DPane::getFirstChildPane() { +J2DPane* J2DPane::getFirstChildPane() { if (!getFirstChild()) return NULL; return getFirstChild()->getObject(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DPane* J2DPane::getFirstChildPane() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/getFirstChildPane__7J2DPaneFv.s" -} -#pragma pop -#endif /* 802F7AC4-802F7AFC 2F2404 0038+00 1/1 8/8 0/0 .text getNextChildPane__7J2DPaneFv */ J2DPane* J2DPane::getNextChildPane() { @@ -675,74 +636,131 @@ J2DPane* J2DPane::getParentPane() { return getPaneTree()->getParent()->getObject(); } +struct J2DPaneInit { /* name unknown */ + u8 field_0x0[10]; + u16 field_0xa; + u8 isVisible; + u8 mBasePosition; + // padding + u64 mInfoTag; + u64 mUserInfoTag; + f32 rotationOffsetX; + f32 rotationOffsetY; + f32 scaleX; + f32 scaleY; + f32 rotXDegrees; + f32 rotYDegrees; + f32 rotZDegrees; + f32 translateX; + f32 translateY; + u8 field_0x44[4]; +}; + /* 802F7B18-802F7D00 2F2458 01E8+00 1/1 6/6 0/0 .text * makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::makePaneExStream(J2DPane* param_0, JSURandomInputStream* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s" +void J2DPane::makePaneExStream(J2DPane* parent, JSURandomInputStream* stream) { + stream->getPosition(); + J2DPaneInit data; + stream->read(&data, sizeof(data)); + _4 = data.field_0xa; + mVisible = !!data.isVisible; + mInfoTag = data.mInfoTag; + mUserInfoTag = data.mUserInfoTag; + mScaleX = data.scaleX; + mScaleY = data.scaleY; + mRotateX = data.rotXDegrees; + mRotateY = data.rotYDegrees; + mRotateZ = data.rotZDegrees; + mTranslateX = data.translateX; + mTranslateY = data.translateY; + mRotAxis = ROTATE_Z; + if (data.mBasePosition % 3 == 0) { + mRotateOffsetX = 0; + } else if (data.mBasePosition % 3 == 1) { + mRotateOffsetX = data.rotationOffsetX / 2; + } else { + mRotateOffsetX = data.rotationOffsetX; + } + if (data.mBasePosition / 3 == 0) { + mRotateOffsetY = 0; + } else if (data.mBasePosition / 3 == 1) { + mRotateOffsetY = data.rotationOffsetY / 2; + } else { + mRotateOffsetY = data.rotationOffsetY; + } + mBounds.set(-mRotateOffsetX, -mRotateOffsetY, data.rotationOffsetX - mRotateOffsetX, + data.rotationOffsetY - mRotateOffsetY); + mBasePosition = data.mBasePosition; + mAlpha = 255; + mIsInfluencedAlpha = false; + if (parent != NULL) { + parent->mPaneTree.appendChild(&this->mPaneTree); + } + mCullMode = GX_CULL_NONE; + mColorAlpha = 255; + mConnected = false; + this->calcMtx(); } -#pragma pop /* 802F7D00-802F7DB8 2F2640 00B8+00 0/0 1/1 0/0 .text J2DCast_F32_to_S16__7J2DPaneFfUc */ -#ifdef NONMATCHING // not happening s16 J2DPane::J2DCast_F32_to_S16(f32 value, u8 arg2) { - f32 temp; - s32 temp2; - s16 result; - - if (arg2 < 0xf) { - temp = value; - if (temp < lbl_804561F0) - temp = -value; - - temp2 = value; - - if (temp2 < 0x8000) { - if (value >= lbl_804561F0) { - result = temp2; - } else { - result = ~temp2 + 1; - } - } else { - if (value >= lbl_804561F0) { - result = 0x7fff; - } else { - result = -0x8000; - } - } + if (arg2 >= 0xF) { + return 0; } else { - result = 0; + f32 tmpF; + tmpF = value; + if (value < 0) { + tmpF = -value; + } + int tmp = tmpF * (1 << arg2); + if (tmp >= 0x8000) { + if (value < 0) { + return 0x8000; + } else { + return 0x7FFF; + } + } else if (value < 0) { + return ~tmp + 1; + } else { + return tmp; + } } - - return result; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s16 J2DPane::J2DCast_F32_to_S16(f32 param_0, u8 param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/J2DCast_F32_to_S16__7J2DPaneFfUc.s" -} -#pragma pop -#endif /* 802F7DB8-802F7EF4 2F26F8 013C+00 0/0 3/3 0/0 .text * getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* J2DPane::getPointer(JSURandomInputStream* param_0, u32 param_1, JKRArchive* param_2) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive.s" +void* J2DPane::getPointer(JSURandomInputStream* inputStream, u32 param_1, JKRArchive* archive) { + JUTResReference resRef; + void* result; + if (archive == NULL) { + if (J2DScreen::getDataManage() == NULL) { + result = resRef.getResource(inputStream, param_1, NULL); + } else { + s32 prevPos = inputStream->getPosition(); + result = resRef.getResource(inputStream, param_1, NULL); + if (result == 0) { + inputStream->seek(prevPos, JSUStreamSeekFrom_SET); + result = J2DScreen::getDataManage()->get(inputStream); + } + } + } else { + s32 prevPos = inputStream->getPosition(); + result = resRef.getResource(inputStream, param_1, archive); + if (result == NULL) { + inputStream->seek(prevPos, JSUStreamSeekFrom_SET); + result = resRef.getResource(inputStream, param_1, NULL); + } + if (result == NULL) { + if (J2DScreen::getDataManage() != NULL) { + inputStream->seek(prevPos, JSUStreamSeekFrom_SET); + result = J2DScreen::getDataManage()->get(inputStream); + } + } + } + return result; } -#pragma pop /* 802F7EF4-802F7FC4 2F2834 00D0+00 2/0 7/4 0/0 .text setAnimation__7J2DPaneFP10J2DAnmBase */ -#ifdef NONMATCHING // matching in diff.py, what gives? void J2DPane::setAnimation(J2DAnmBase* anm) { if (anm != NULL) { switch (anm->getKind()) { @@ -754,34 +772,24 @@ void J2DPane::setAnimation(J2DAnmBase* anm) { case 1: setAnimation(static_cast(anm)); break; - case 2: + case 7: setAnimation(static_cast(anm)); break; case 4: setAnimation(static_cast(anm)); break; - case 5: + case 2: setAnimation(static_cast(anm)); break; case 6: setAnimation(static_cast(anm)); break; - case 7: + case 5: setAnimation(static_cast(anm)); break; } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::setAnimation(J2DAnmBase* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/setAnimation__7J2DPaneFP10J2DAnmBase.s" -} -#pragma pop -#endif /* 802F7FC4-802F7FCC -00001 0008+00 0/0 0/0 0/0 .text setAnimation__7J2DPaneFP15J2DAnmTransform */ void J2DPane::setAnimation(J2DAnmTransform* anm) { @@ -859,27 +867,22 @@ const J2DAnmTransform* J2DPane::animationPane(const J2DAnmTransform* transform) return p; } -/* ############################################################################################## */ -/* 80456214-80456218 004814 0004+00 1/1 0/0 0/0 .sdata2 @2890 */ -SECTION_SDATA2 static f32 lit_2890 = 360.0f; - -/* 80456218-80456220 004818 0004+04 1/1 0/0 0/0 .sdata2 @2891 */ -SECTION_SDATA2 static f32 lit_2891[1 + 1 /* padding */] = { - 65535.0f, - /* padding */ - 0.0f, -}; - /* 802F82C0-802F83C8 2F2C00 0108+00 2/2 0/0 0/0 .text * updateTransform__7J2DPaneFPC15J2DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPane::updateTransform(J2DAnmTransform const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/updateTransform__7J2DPaneFPC15J2DAnmTransform.s" +void J2DPane::updateTransform(J2DAnmTransform const* anmTransform) { + if (_4 != 0xFFFF && anmTransform != NULL) { + J3DTransformInfo info; + anmTransform->getTransform(_4, &info); + mScaleX = info.mScale.x; + mScaleY = info.mScale.z; + mRotateX = (u16)info.mRotation.x * 360.0f / 65535.0f; + mRotateY = (u16)info.mRotation.z * 360.0f / 65535.0f; + mRotateZ = (u16)info.mRotation.y * 360.0f / 65535.0f; + mTranslateX = info.mTranslate.x; + mTranslateY = info.mTranslate.z; + this->calcMtx(); + } } -#pragma pop /* 802F83C8-802F83CC 2F2D08 0004+00 1/0 0/0 0/0 .text drawSelf__7J2DPaneFffPA3_A4_f */ void J2DPane::drawSelf(f32 param_0, f32 param_1, f32 (*param_2)[3][4]) { @@ -930,18 +933,3 @@ void J2DPane::update() { void J2DPane::drawSelf(f32 param_0, f32 param_1) { /* empty function */ } - -/* 802F847C-802F8498 2F2DBC 001C+00 0/0 1/0 0/0 .text __sinit_J2DPane_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_J2DPane_cpp() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DPane/__sinit_J2DPane_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x802F847C, __sinit_J2DPane_cpp); -#pragma pop diff --git a/libs/JSystem/J2DGraph/J2DScreen.cpp b/libs/JSystem/J2DGraph/J2DScreen.cpp index 11c5d58bf4..11318c75e9 100644 --- a/libs/JSystem/J2DGraph/J2DScreen.cpp +++ b/libs/JSystem/J2DGraph/J2DScreen.cpp @@ -4,6 +4,7 @@ // #include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/JGeometry.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -247,6 +248,19 @@ SECTION_SDATA2 static f32 lit_1563[1 + 1 /* padding */] = { }; /* 802F8498-802F8540 2F2DD8 00A8+00 0/0 59/59 4/4 .text __ct__9J2DScreenFv */ +#ifdef NONMATCHING +J2DScreen::J2DScreen() + : J2DPane(NULL, true, 'root', JGeometry::TBox2(0.0f, 0.0f, 640.0f, 480.0f)) { + field_0x114 = -1; + _4 = -1; + mScissor = false; + mMaterialNum = 0; + mMaterials = NULL; + field_0x108 = NULL; + field_0x10c = NULL; + mNameTable = NULL; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -255,6 +269,7 @@ asm J2DScreen::J2DScreen() { #include "asm/JSystem/J2DGraph/J2DScreen/__ct__9J2DScreenFv.s" } #pragma pop +#endif /* 802F8540-802F85A8 2F2E80 0068+00 1/0 0/0 0/0 .text __dt__9J2DScreenFv */ #pragma push diff --git a/libs/JSystem/J2DGraph/J2DWindowEx.cpp b/libs/JSystem/J2DGraph/J2DWindowEx.cpp index 48a58da648..62404cbcec 100644 --- a/libs/JSystem/J2DGraph/J2DWindowEx.cpp +++ b/libs/JSystem/J2DGraph/J2DWindowEx.cpp @@ -767,6 +767,7 @@ asm void J2DWindowEx::setAnimation(J2DAnmBase* param_0) { /* 8030363C-80303640 2FDF7C 0004+00 0/0 1/0 0/0 .text getColor__14J2DAnmVtxColorCFUcUsP8_GXColor */ -void J2DAnmVtxColor::getColor(u8 param_0, u16 param_1, _GXColor* param_2) const { +// void J2DAnmVtxColor::getColor(u8 param_0, u16 param_1, _GXColor* param_2) const { +extern "C" void getColor__14J2DAnmVtxColorCFUcUsP8_GXColor() { /* empty function */ } diff --git a/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp index 96f7494548..7bccd2a508 100644 --- a/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp @@ -283,7 +283,7 @@ SECTION_SDATA2 static f32 lit_889[1 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DAnmLoaderDataBase::load(void const* param_0, J3DAnmLoaderDataBaseFlag param_1) { +asm void* J3DAnmLoaderDataBase::load(void const* param_0, J3DAnmLoaderDataBaseFlag param_1) { nofralloc #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag.s" } diff --git a/libs/JSystem/JParticle/JPABaseShape.cpp b/libs/JSystem/JParticle/JPABaseShape.cpp index 12c7c3128e..158ac11b4f 100644 --- a/libs/JSystem/JParticle/JPABaseShape.cpp +++ b/libs/JSystem/JParticle/JPABaseShape.cpp @@ -20,105 +20,6 @@ struct JKRHeap { /* 802CE474 */ void alloc(u32, int, JKRHeap*); }; -struct JPABaseShapeData { - // Common header. - /* 0x00 */ u8 mMagic[4]; - /* 0x04 */ u32 mSize; - - /* 0x08 */ u32 mFlags; - /* 0x0C */ s16 mClrPrmAnmOffset; - /* 0x0E */ s16 mClrEnvAnmOffset; - /* 0x10 */ f32 mBaseSizeX; - /* 0x14 */ f32 mBaseSizeY; - /* 0x18 */ u16 mBlendModeCfg; - /* 0x1A */ u8 mAlphaCompareCfg; - /* 0x1B */ u8 mAlphaRef0; - /* 0x1C */ u8 mAlphaRef1; - /* 0x1D */ u8 mZModeCfg; - /* 0x1E */ u8 mTexFlg; - /* 0x1F */ u8 mTexAnmNum; - /* 0x20 */ u8 mTexIdx; - /* 0x21 */ u8 mClrFlg; - /* 0x22 */ u8 mClrPrmKeyNum; - /* 0x23 */ u8 mClrEnvKeyNum; - /* 0x24 */ s16 mClrAnmFrmMax; - /* 0x26 */ GXColor mClrPrm; - /* 0x2A */ GXColor mClrEnv; - /* 0x2E */ u8 mAnmRndm; - /* 0x2F */ u8 mClrAnmRndmMask; - /* 0x30 */ u8 mTexAnmRndmMask; -}; - -struct JPABaseShape { -public: - /* 8027A6DC */ JPABaseShape(u8 const*, JKRHeap*); - /* 8027A7E8 */ void setGX(JPAEmitterWorkData*) const; - - static GXBlendMode st_bm[3]; - static GXBlendFactor st_bf[10]; - static GXLogicOp st_lo[16]; - static GXCompare st_c[8]; - static GXAlphaOp st_ao[4]; - static GXTevColorArg st_ca[6][4]; - static GXTevAlphaArg st_aa[2][4]; - - GXBlendMode getBlendMode() const { return st_bm[mpData->mBlendModeCfg & 0x03]; } - GXBlendFactor getBlendSrc() const { return st_bf[(mpData->mBlendModeCfg >> 2) & 0x0F]; } - GXBlendFactor getBlendDst() const { return st_bf[(mpData->mBlendModeCfg >> 6) & 0x0F]; } - GXLogicOp getLogicOp() const { return st_lo[(mpData->mBlendModeCfg >> 10) & 0x0F]; } - GXBool getZCompLoc() const { return (GXBool)((mpData->mZModeCfg >> 5) & 0x01); } - - GXBool getZEnable() const { return (GXBool)(mpData->mZModeCfg & 0x01); } - GXCompare getZCmp() const { return st_c[(mpData->mZModeCfg >> 1) & 0x07]; } - GXBool getZUpd() const { return (GXBool)((mpData->mZModeCfg >> 4) & 0x01); } - - GXCompare getAlphaCmp0() const { return st_c[mpData->mAlphaCompareCfg & 0x07]; } - u8 getAlphaRef0() const { return mpData->mAlphaRef0; } - GXAlphaOp getAlphaOp() const { return st_ao[(mpData->mAlphaCompareCfg >> 3) & 0x03]; } - GXCompare getAlphaCmp1() const { return st_c[(mpData->mAlphaCompareCfg >> 5) & 0x07]; } - u8 getAlphaRef1() const { return mpData->mAlphaRef1; } - - const GXTevColorArg* getTevColorArg() const { return st_ca[(mpData->mFlags >> 0x0F) & 0x07]; } - const GXTevAlphaArg* getTevAlphaArg() const { return st_aa[(mpData->mFlags >> 0x12) & 0x01]; } - - u32 getType() const { return (mpData->mFlags >> 0) & 0x0F; } - u32 getDirType() const { return (mpData->mFlags >> 4) & 0x07; } - u32 getRotType() const { return (mpData->mFlags >> 7) & 0x07; } - u32 getBasePlaneType() const { return (mpData->mFlags >> 10) & 0x07; } - u32 getTilingS() const { return (mpData->mFlags >> 25) & 0x01; } - u32 getTilingT() const { return (mpData->mFlags >> 26) & 0x01; } - bool isGlblClrAnm() const { return !!(mpData->mFlags & 0x00001000); } - bool isGlblTexAnm() const { return !!(mpData->mFlags & 0x00004000); } - bool isPrjTex() const { return !!(mpData->mFlags & 0x00100000); } - bool isDrawFwdAhead() const { return !!(mpData->mFlags & 0x00200000); } - bool isDrawPrntAhead() const { return !!(mpData->mFlags & 0x00400000); } - bool isClipOn() const { return !!(mpData->mFlags & 0x00800000); } - bool isTexCrdAnm() const { return !!(mpData->mFlags & 0x01000000); } - bool isNoDrawParent() const { return !!(mpData->mFlags & 0x08000000); } - bool isNoDrawChild() const { return !!(mpData->mFlags & 0x10000000); } - - bool isPrmAnm() const { return !!(mpData->mClrFlg & 0x02); } - bool isEnvAnm() const { return !!(mpData->mClrFlg & 0x08); } - u8 getClrAnmType() const { return (mpData->mClrFlg >> 4) & 0x07; } - s16 getClrAnmMaxFrm() const { return mpData->mClrAnmFrmMax; } - void getPrmClr(s16 idx, GXColor* dst) { *dst = mpPrmClrAnmTbl[idx]; } - void getEnvClr(s16 idx, GXColor* dst) { *dst = mpEnvClrAnmTbl[idx]; } - - bool isTexAnm() const { return !!(mpData->mTexFlg & 0x01); } - u8 getTexAnmType() const { return (mpData->mTexFlg >> 2) & 0x07; } - u32 getTexIdx() const { return mpData->mTexIdx; } - - f32 getBaseSizeX() const { return mpData->mBaseSizeX; } - f32 getBaseSizeY() const { return mpData->mBaseSizeY; } - -public: - const JPABaseShapeData* mpData; - const void* mpTexCrdMtxAnmTbl; - const u8* mpTexIdxAnimTbl; - GXColor* mpPrmClrAnmTbl; - GXColor* mpEnvClrAnmTbl; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -259,90 +160,119 @@ void JPASetLineWidth(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { GXSetLineWidth((u8)(lit_2262[0] * work->mGlobalPtclScl.x * ptcl->mParticleScaleX), GX_TO_ONE); } -/* 80276B90-80276C2C 2714D0 009C+00 0/0 1/1 0/0 .text JPARegistPrm__FP18JPAEmitterWorkData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistPrm(JPAEmitterWorkData* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrm__FP18JPAEmitterWorkData.s" +static inline u8 COLOR_MULTI(u32 a, u32 b) { + return ((a * (b + 1)) * 0x10000) >> 24; +} + +/* 80276B90-80276C2C 2714D0 009C+00 0/0 1/1 0/0 .text JPARegistPrm__FP18JPAEmitterWorkData */ +void JPARegistPrm(JPAEmitterWorkData* work) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor prm = emtr->mPrmClr; + prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r); + prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g); + prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b); + prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a); + GXSetTevColor(GX_TEVREG0, prm); } -#pragma pop /* 80276C2C-80276CB0 27156C 0084+00 0/0 1/1 0/0 .text JPARegistEnv__FP18JPAEmitterWorkData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistEnv(JPAEmitterWorkData* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkData.s" +void JPARegistEnv(JPAEmitterWorkData* work) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor env = emtr->mEnvClr; + env.r = COLOR_MULTI(env.r, emtr->mGlobalEnvClr.r); + env.g = COLOR_MULTI(env.g, emtr->mGlobalEnvClr.g); + env.b = COLOR_MULTI(env.b, emtr->mGlobalEnvClr.b); + GXSetTevColor(GX_TEVREG1, env); } -#pragma pop /* 80276CB0-80276DB0 2715F0 0100+00 0/0 1/1 0/0 .text JPARegistPrmEnv__FP18JPAEmitterWorkData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistPrmEnv(JPAEmitterWorkData* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrmEnv__FP18JPAEmitterWorkData.s" +void JPARegistPrmEnv(JPAEmitterWorkData* work) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor prm = emtr->mPrmClr; + GXColor env = emtr->mEnvClr; + prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r); + prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g); + prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b); + prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a); + env.r = COLOR_MULTI(env.r, emtr->mGlobalEnvClr.r); + env.g = COLOR_MULTI(env.g, emtr->mGlobalEnvClr.g); + env.b = COLOR_MULTI(env.b, emtr->mGlobalEnvClr.b); + GXSetTevColor(GX_TEVREG0, prm); + GXSetTevColor(GX_TEVREG1, env); } -#pragma pop /* 80276DB0-80276E60 2716F0 00B0+00 0/0 1/1 0/0 .text * JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistAlpha(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPARegistAlpha(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor prm = emtr->mPrmClr; + prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r); + prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g); + prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b); + prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a); + prm.a = COLOR_MULTI(prm.a, ptcl->mPrmColorAlphaAnm); + GXSetTevColor(GX_TEVREG0, prm); } -#pragma pop /* 80276E60-80276F10 2717A0 00B0+00 0/0 1/1 0/0 .text * JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistPrmAlpha(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPARegistPrmAlpha(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor prm = ptcl->mPrmClr; + prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r); + prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g); + prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b); + prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a); + prm.a = COLOR_MULTI(prm.a, ptcl->mPrmColorAlphaAnm); + GXSetTevColor(GX_TEVREG0, prm); } -#pragma pop /* 80276F10-80277024 271850 0114+00 0/0 1/1 0/0 .text * JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistPrmAlphaEnv(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPARegistPrmAlphaEnv(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor prm = ptcl->mPrmClr; + GXColor env = ptcl->mEnvClr; + prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r); + prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g); + prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b); + prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a); + prm.a = COLOR_MULTI(prm.a, ptcl->mPrmColorAlphaAnm); + env.r = COLOR_MULTI(env.r, emtr->mGlobalEnvClr.r); + env.g = COLOR_MULTI(env.g, emtr->mGlobalEnvClr.g); + env.b = COLOR_MULTI(env.b, emtr->mGlobalEnvClr.b); + GXSetTevColor(GX_TEVREG0, prm); + GXSetTevColor(GX_TEVREG1, env); } -#pragma pop /* 80277024-80277138 271964 0114+00 0/0 1/1 0/0 .text * JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistAlphaEnv(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPARegistAlphaEnv(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor prm = emtr->mPrmClr; + GXColor env = ptcl->mEnvClr; + prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r); + prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g); + prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b); + prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a); + prm.a = COLOR_MULTI(prm.a, ptcl->mPrmColorAlphaAnm); + env.r = COLOR_MULTI(env.r, emtr->mGlobalEnvClr.r); + env.g = COLOR_MULTI(env.g, emtr->mGlobalEnvClr.g); + env.b = COLOR_MULTI(env.b, emtr->mGlobalEnvClr.b); + GXSetTevColor(GX_TEVREG0, prm); + GXSetTevColor(GX_TEVREG1, env); } -#pragma pop /* 80277138-802771BC 271A78 0084+00 0/0 1/1 0/0 .text * JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistEnv(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPARegistEnv(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPABaseEmitter* emtr = work->mpEmtr; + GXColor env = ptcl->mEnvClr; + env.r = COLOR_MULTI(env.r, emtr->mGlobalEnvClr.r); + env.g = COLOR_MULTI(env.g, emtr->mGlobalEnvClr.g); + env.b = COLOR_MULTI(env.b, emtr->mGlobalEnvClr.b); + GXSetTevColor(GX_TEVREG1, env); } -#pragma pop #define MIN(a, b) ((a) < (b) ? (a) : (b)) @@ -976,6 +906,22 @@ asm void JPADrawRotation(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) /* 80279110-802791B0 273A50 00A0+00 0/0 1/1 0/0 .text * JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle */ +#ifdef NONMATCHING +// literal only +void JPADrawPoint(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + if (!!(ptcl->mStatus & JPAPtclStts_Invisible)) + return; + + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXBegin(GX_POINTS, GX_VTXFMT1, 1); + GXPosition3f32(ptcl->mPosition.x, ptcl->mPosition.y, ptcl->mPosition.z); + GXTexCoord2f32(0.0f, 0.0f); + GXEnd(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX8); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -984,6 +930,7 @@ asm void JPADrawPoint(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { #include "asm/JSystem/JParticle/JPABaseShape/JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop +#endif /* 802791B0-80279364 273AF0 01B4+00 0/0 1/1 0/0 .text * JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle */ @@ -1049,14 +996,12 @@ asm void JPADrawEmitterCallBackB(JPAEmitterWorkData* param_0) { /* 8027A414-8027A454 274D54 0040+00 0/0 1/1 0/0 .text * JPADrawParticleCallBack__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawParticleCallBack(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawParticleCallBack__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPADrawParticleCallBack(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + if (work->mpEmtr->mpPtclCallBack == NULL) + return; + + work->mpEmtr->mpPtclCallBack->draw(work->mpEmtr, ptcl); } -#pragma pop /* 8027A454-8027A6DC 274D94 0288+00 1/1 0/0 0/0 .text * makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap */ diff --git a/libs/JSystem/JParticle/JPAChildShape.cpp b/libs/JSystem/JParticle/JPAChildShape.cpp index 01b145b335..8c982c3f55 100644 --- a/libs/JSystem/JParticle/JPAChildShape.cpp +++ b/libs/JSystem/JParticle/JPAChildShape.cpp @@ -7,81 +7,59 @@ #include "JSystem/JParticle/JPAParticle.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/os/OS.h" // // Types: // -struct JPAChildShape { -public: - /* 8027B038 */ JPAChildShape(u8 const*); - -public: - u8 const* mpData; -}; - // // Forward References: // -extern "C" void JPARegistChildPrmEnv__FP18JPAEmitterWorkData(); -extern "C" void JPACalcChildAlphaOut__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcChildScaleOut__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void __ct__13JPAChildShapeFPCUc(); - // // Declarations: // +static inline u32 COLOR_MULTI(u32 a, u32 b) { + return ((a * (b + 1)) * 0x10000) >> 24; +} + /* 8027AEBC-8027AFDC 2757FC 0120+00 0/0 1/1 0/0 .text JPARegistChildPrmEnv__FP18JPAEmitterWorkData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPARegistChildPrmEnv(JPAEmitterWorkData* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPAChildShape/JPARegistChildPrmEnv__FP18JPAEmitterWorkData.s" +void JPARegistChildPrmEnv(JPAEmitterWorkData* work) { + JPAChildShape* csp = work->mpRes->getCsp(); + JPABaseEmitter* emtr = work->mpEmtr; + GXColor prm, env; + csp->getPrmClr(&prm); + csp->getEnvClr(&env); + prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r); + prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g); + prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b); + prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a); + env.r = COLOR_MULTI(env.r, emtr->mGlobalEnvClr.r); + env.g = COLOR_MULTI(env.g, emtr->mGlobalEnvClr.g); + env.b = COLOR_MULTI(env.b, emtr->mGlobalEnvClr.b); + GXSetTevColor(GX_TEVREG0, prm); + GXSetTevColor(GX_TEVREG1, env); } -#pragma pop - -/* ############################################################################################## */ -/* 80455308-8045530C 003908 0004+00 1/1 0/0 0/0 .sdata2 @2318 */ -SECTION_SDATA2 static f32 lit_2318 = 255.0f; - -/* 8045530C-80455310 00390C 0004+00 2/2 0/0 0/0 .sdata2 @2319 */ -SECTION_SDATA2 static f32 lit_2319 = 1.0f; /* 8027AFDC-8027B008 27591C 002C+00 0/0 1/1 0/0 .text * JPACalcChildAlphaOut__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcChildAlphaOut(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAChildShape/JPACalcChildAlphaOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcChildAlphaOut(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + f32 anm = (1.0f - ptcl->mTime) * 255.0f; + OSf32tou8(&anm, &ptcl->mPrmColorAlphaAnm); } -#pragma pop /* 8027B008-8027B038 275948 0030+00 0/0 1/1 0/0 .text * JPACalcChildScaleOut__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#ifdef NONMATCHING void JPACalcChildScaleOut(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { // literal ptcl->mParticleScaleX = ptcl->mScaleOut * (1.0f - ptcl->mTime); ptcl->mParticleScaleY = ptcl->mAlphaWaveRandom * (1.0f - ptcl->mTime); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcChildScaleOut(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAChildShape/JPACalcChildScaleOut__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 8027B038-8027B040 -00001 0008+00 0/0 0/0 0/0 .text __ct__13JPAChildShapeFPCUc */ JPAChildShape::JPAChildShape(u8 const* pData) { - mpData = pData; + mpData = (JPAChildShapeData*)pData; } diff --git a/libs/JSystem/JParticle/JPADynamicsBlock.cpp b/libs/JSystem/JParticle/JPADynamicsBlock.cpp index 100a865377..a4576e4903 100644 --- a/libs/JSystem/JParticle/JPADynamicsBlock.cpp +++ b/libs/JSystem/JParticle/JPADynamicsBlock.cpp @@ -4,6 +4,8 @@ // #include "JSystem/JParticle/JPADynamicsBlock.h" +#include "JSystem/JParticle/JPAParticle.h" +#include "JSystem/JMath/JMATrigonometric.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,27 +13,17 @@ // Types: // -struct JPAEmitterWorkData {}; - -struct JPABaseEmitter { - /* 8027EA40 */ void createParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // -extern "C" static void JPAVolumePoint__FP18JPAEmitterWorkData(); -extern "C" static void JPAVolumeLine__FP18JPAEmitterWorkData(); -extern "C" static void JPAVolumeCircle__FP18JPAEmitterWorkData(); -extern "C" static void JPAVolumeCube__FP18JPAEmitterWorkData(); -extern "C" static void JPAVolumeSphere__FP18JPAEmitterWorkData(); -extern "C" static void JPAVolumeCylinder__FP18JPAEmitterWorkData(); -extern "C" static void JPAVolumeTorus__FP18JPAEmitterWorkData(); +extern "C" static void JPAVolumePoint(JPAEmitterWorkData*); +extern "C" static void JPAVolumeLine(JPAEmitterWorkData*); +extern "C" static void JPAVolumeCircle(JPAEmitterWorkData*); +extern "C" static void JPAVolumeCube(JPAEmitterWorkData*); +extern "C" static void JPAVolumeSphere(JPAEmitterWorkData*); +extern "C" static void JPAVolumeCylinder(JPAEmitterWorkData*); +extern "C" static void JPAVolumeTorus(JPAEmitterWorkData*); extern "C" void __ct__16JPADynamicsBlockFPCUc(); extern "C" void init__16JPADynamicsBlockFv(); extern "C" void create__16JPADynamicsBlockFP18JPAEmitterWorkData(); @@ -67,6 +59,17 @@ SECTION_SDATA2 static f32 lit_2289[1 + 1 /* padding */] = { }; /* 8027B144-8027B220 275A84 00DC+00 1/1 0/0 0/0 .text JPAVolumePoint__FP18JPAEmitterWorkData */ +#ifdef NONMATCHING + +// bug in diff.py preventing me from seeing what's wrong +void JPAVolumePoint(JPAEmitterWorkData* work) { + work->mVolumePos.zero(); + work->mVelOmni.set(work->mpEmtr->get_r_zh(), work->mpEmtr->get_r_zh(), work->mpEmtr->get_r_zh()); + work->mVelAxis.set(work->mVelOmni.x, 0.0f, work->mVelOmni.z); +} + +#else + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -76,11 +79,30 @@ static asm void JPAVolumePoint(JPAEmitterWorkData* param_0) { } #pragma pop +#endif + /* ############################################################################################## */ /* 80455320-80455328 003920 0008+00 6/6 0/0 0/0 .sdata2 @2321 */ SECTION_SDATA2 static f64 lit_2321 = 4503601774854144.0 /* cast s32 to float */; /* 8027B220-8027B33C 275B60 011C+00 1/1 0/0 0/0 .text JPAVolumeLine__FP18JPAEmitterWorkData */ +#ifdef NONMATCHING + +// bug in diff.py preventing me from seeing what's wrong +void JPAVolumeLine(JPAEmitterWorkData* work) { + if (work->mpEmtr->checkFlag(JPADynFlag_FixedInterval)) { + work->mVolumePos.set(0.0f, 0.0f, work->mVolumeSize * (s32)((work->mVolumeEmitIdx / (work->mEmitCount - 1.0f) - 0.5f))); + work->mVolumeEmitIdx++; + } else { + work->mVolumePos.set(0.0f, 0.0f, work->mVolumeSize * work->mpEmtr->get_r_zh()); + } + + work->mVelOmni.set(0.0f, 0.0f, work->mVolumePos.z * work->mGlobalScl.z); + work->mVelAxis.set(0.0f, 0.0f, work->mVolumePos.z); +} + +#else + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -90,7 +112,34 @@ static asm void JPAVolumeLine(JPAEmitterWorkData* param_0) { } #pragma pop +#endif + /* 8027B33C-8027B4E8 275C7C 01AC+00 1/1 0/0 0/0 .text JPAVolumeCircle__FP18JPAEmitterWorkData */ + +#ifdef NONMATCHING + +// bug in diff.py preventing me from seeing what's wrong +void JPAVolumeCircle(JPAEmitterWorkData* work) { + f32 theta, distance, sizeXZ; + if (work->mpEmtr->checkFlag(JPADynFlag_FixedInterval)) { + theta = work->mVolumeSweep * (work->mVolumeEmitIdx++ / work->mEmitCount); + } else { + theta = work->mVolumeSweep * work->mpEmtr->get_r_ss(); + } + + distance = work->mpEmtr->get_r_f(); + if (work->mpEmtr->checkFlag(JPADynFlag_FixedDensity)) { + distance = 1.0f - (distance * distance); + } + + sizeXZ = work->mVolumeSize * (work->mVolumeMinRad + distance * (1.0f - work->mVolumeMinRad)); + work->mVolumePos.set(sizeXZ * JMASSin(theta), 0.0f, sizeXZ * JMASCos(theta)); + work->mVelOmni.mul(work->mVolumePos, work->mGlobalScl); + work->mVelAxis.set(work->mVolumePos.x, 0.0f, work->mVolumePos.z); +} + +#else + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -100,7 +149,22 @@ static asm void JPAVolumeCircle(JPAEmitterWorkData* param_0) { } #pragma pop +#endif + /* 8027B4E8-8027B5F0 275E28 0108+00 1/1 0/0 0/0 .text JPAVolumeCube__FP18JPAEmitterWorkData */ + +#ifdef NONMATCHING + +// bug in diff.py preventing me from seeing what's wrong +void JPAVolumeCube(JPAEmitterWorkData* work) { + f32 size = work->mVolumeSize; + work->mVolumePos.set(size * work->mpEmtr->get_r_zh(), size * work->mpEmtr->get_r_zh(), size * work->mpEmtr->get_r_zh()); + work->mVelOmni.mul(work->mVolumePos, work->mGlobalScl); + work->mVelAxis.set(work->mVolumePos.x, 0.0f, work->mVolumePos.z); +} + +#else + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -110,6 +174,8 @@ static asm void JPAVolumeCube(JPAEmitterWorkData* param_0) { } #pragma pop +#endif + /* ############################################################################################## */ /* 80455328-80455330 003928 0004+04 1/1 0/0 0/0 .sdata2 @2501 */ SECTION_SDATA2 static f32 lit_2501[1 + 1 /* padding */] = { @@ -152,41 +218,94 @@ static asm void JPAVolumeTorus(JPAEmitterWorkData* param_0) { #pragma pop /* 8027BB18-8027BB4C 276458 0034+00 0/0 1/1 0/0 .text __ct__16JPADynamicsBlockFPCUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JPADynamicsBlock::JPADynamicsBlock(u8 const* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPADynamicsBlock/__ct__16JPADynamicsBlockFPCUc.s" +JPADynamicsBlock::JPADynamicsBlock(u8 const* data) { + mpData = (const JPADynamicsBlockData*)data; + init(); } -#pragma pop -/* ############################################################################################## */ -/* 803C4488-803C44A8 -00001 001C+04 1/1 0/0 0/0 .data @2631 */ -SECTION_DATA static void* lit_2631[7 + 1 /* padding */] = { - (void*)(((char*)init__16JPADynamicsBlockFv) + 0x2C), - (void*)(((char*)init__16JPADynamicsBlockFv) + 0x3C), - (void*)(((char*)init__16JPADynamicsBlockFv) + 0x4C), - (void*)(((char*)init__16JPADynamicsBlockFv) + 0x5C), - (void*)(((char*)init__16JPADynamicsBlockFv) + 0x6C), - (void*)(((char*)init__16JPADynamicsBlockFv) + 0x7C), - (void*)(((char*)init__16JPADynamicsBlockFv) + 0x8C), - /* padding */ - NULL, +enum { + VOL_Cube = 0x00, + VOL_Sphere = 0x01, + VOL_Cylinder = 0x02, + VOL_Torus = 0x03, + VOL_Point = 0x04, + VOL_Circle = 0x05, + VOL_Line = 0x06, }; /* 8027BB4C-8027BBE8 27648C 009C+00 2/1 0/0 0/0 .text init__16JPADynamicsBlockFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADynamicsBlock::init() { - nofralloc -#include "asm/JSystem/JParticle/JPADynamicsBlock/init__16JPADynamicsBlockFv.s" +void JPADynamicsBlock::init() { + switch (getVolumeType()) { + case VOL_Cube: mpCalcVolumeFunc = &JPAVolumeCube; break; + case VOL_Sphere: mpCalcVolumeFunc = &JPAVolumeSphere; break; + case VOL_Cylinder: mpCalcVolumeFunc = &JPAVolumeCylinder; break; + case VOL_Torus: mpCalcVolumeFunc = &JPAVolumeTorus; break; + case VOL_Point: mpCalcVolumeFunc = &JPAVolumePoint; break; + case VOL_Circle: mpCalcVolumeFunc = &JPAVolumeCircle; break; + case VOL_Line: mpCalcVolumeFunc = &JPAVolumeLine; break; + } } -#pragma pop /* 8027BBE8-8027BDEC 276528 0204+00 0/0 1/1 0/0 .text * create__16JPADynamicsBlockFP18JPAEmitterWorkData */ + +#ifdef NONMATCHING + +// literal only +void JPADynamicsBlock::create(JPAEmitterWorkData* work) { + if (work->mpEmtr->checkStatus(JPAEmtrStts_RateStepEmit)) { + s32 emitCount; + s32 createCount; + + // Probably an inlined function. + if (work->mpEmtr->checkFlag(JPADynFlag_FixedInterval)) { + s32 count; + if (getVolumeType() == VOL_Sphere) { + count = 4 * getDivNumber() * getDivNumber() + 2; + } else { + count = getDivNumber(); + } + emitCount = count; + + work->mVolumeEmitIdx = 0; + } else { + f32 newPtclCount = work->mpEmtr->mRate * (getRateRndm() * work->mpEmtr->get_r_zp() + 1.0f); + f32 newEmitCount = work->mpEmtr->mEmitCount + newPtclCount; + work->mpEmtr->mEmitCount = newEmitCount; + emitCount = (s32)newEmitCount; + work->mpEmtr->mEmitCount -= emitCount; + + if (work->mpEmtr->checkStatus(JPAEmtrStts_FirstEmit) && 0.0f < newPtclCount && newPtclCount < 1.0f) + emitCount = 1; + } + + work->mEmitCount = emitCount; + if (work->mpEmtr->checkStatus(JPAEmtrStts_StopEmit)) { + emitCount = 0; + } + + // Probably an inlined function. + createCount = emitCount; + while (createCount > 0) { + JPABaseParticle* ptcl = work->mpEmtr->createParticle(); + if (ptcl == NULL) + break; + createCount--; + } + } + + if (++work->mpEmtr->mRateStepTimer >= (work->mpEmtr->mRateStep + 1)) { + work->mpEmtr->mRateStepTimer -= (work->mpEmtr->mRateStep + 1); + work->mpEmtr->setStatus(JPAEmtrStts_RateStepEmit); + } else { + work->mpEmtr->clearStatus(JPAEmtrStts_RateStepEmit); + } + + work->mpEmtr->clearStatus(JPAEmtrStts_FirstEmit); +} + +#else + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -195,3 +314,5 @@ asm void JPADynamicsBlock::create(JPAEmitterWorkData* param_0) { #include "asm/JSystem/JParticle/JPADynamicsBlock/create__16JPADynamicsBlockFP18JPAEmitterWorkData.s" } #pragma pop + +#endif diff --git a/libs/JSystem/JParticle/JPAEmitterManager.cpp b/libs/JSystem/JParticle/JPAEmitterManager.cpp index 079cd5ca11..bf11dba204 100644 --- a/libs/JSystem/JParticle/JPAEmitterManager.cpp +++ b/libs/JSystem/JParticle/JPAEmitterManager.cpp @@ -14,12 +14,6 @@ // Types: // -struct JPAResource; -struct JPAResource { - /* 802755E8 */ bool calc(JPAEmitterWorkData*, JPABaseEmitter*); - /* 80275A94 */ void draw(JPAEmitterWorkData*, JPABaseEmitter*); -}; - // // Forward References: // diff --git a/libs/JSystem/JParticle/JPAExtraShape.cpp b/libs/JSystem/JParticle/JPAExtraShape.cpp index 7658041119..49f599c060 100644 --- a/libs/JSystem/JParticle/JPAExtraShape.cpp +++ b/libs/JSystem/JParticle/JPAExtraShape.cpp @@ -4,214 +4,144 @@ // #include "JSystem/JParticle/JPAExtraShape.h" +#include "JSystem/JParticle/JPAParticle.h" +#include "JSystem/JParticle/JPAResource.h" +#include "JSystem/JParticle/JPAResourceManager.h" +#include "JSystem/JMath/JMATrigonometric.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/os/OS.h" // // Types: // -struct JPAExtraShape { - /* 8027AD88 */ JPAExtraShape(u8 const*); - /* 8027ADBC */ void init(); -}; - -struct JPAEmitterWorkData {}; - -struct JPABaseParticle {}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -// -// Forward References: -// - -extern "C" void JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void __ct__13JPAExtraShapeFPCUc(); -extern "C" void init__13JPAExtraShapeFv(); - -// -// External References: -// - -extern "C" u8 sincosTable___5JMath[65536]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 804552E0-804552E8 0038E0 0004+04 6/6 0/0 0/0 .sdata2 @2270 */ -SECTION_SDATA2 static f32 lit_2270[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; - /* 8027A918-8027A990 275258 0078+00 0/0 1/1 0/0 .text * JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleX(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + if (work->mScaleAnm < esp->getScaleInTiming()) { + ptcl->mParticleScaleX = ptcl->mScaleOut * (esp->getScaleIncRateX() * work->mScaleAnm + esp->getScaleInValueX()); + } else if (work->mScaleAnm > esp->getScaleOutTiming()) { + ptcl->mParticleScaleX = ptcl->mScaleOut * (esp->getScaleDecRateX() * (work->mScaleAnm - esp->getScaleOutTiming()) + 1.0f); + } else { + ptcl->mParticleScaleX = ptcl->mScaleOut; + } } -#pragma pop /* 8027A990-8027AA08 2752D0 0078+00 0/0 1/1 0/0 .text * JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleY(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + if (work->mScaleAnm < esp->getScaleInTiming()) { + ptcl->mParticleScaleY = ptcl->mScaleOut * (esp->getScaleIncRateY() * work->mScaleAnm + esp->getScaleInValueY()); + } else if (work->mScaleAnm > esp->getScaleOutTiming()) { + ptcl->mParticleScaleY = ptcl->mScaleOut * (esp->getScaleDecRateY() * (work->mScaleAnm - esp->getScaleOutTiming()) + 1.0f); + } else { + ptcl->mParticleScaleY = ptcl->mScaleOut; + } } -#pragma pop /* 8027AA08-8027AA14 275348 000C+00 0/0 1/1 0/0 .text * JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleCopy(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleCopy(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + ptcl->mParticleScaleY = ptcl->mParticleScaleX; } -#pragma pop /* 8027AA14-8027AA20 275354 000C+00 0/0 1/1 0/0 .text * JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleAnmNormal(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleAnmNormal(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + work->mScaleAnm = ptcl->mTime; } -#pragma pop - -/* ############################################################################################## */ -/* 804552E8-804552F0 0038E8 0008+00 5/5 0/0 0/0 .sdata2 @2312 */ -SECTION_SDATA2 static f64 lit_2312 = 4503601774854144.0 /* cast s32 to float */; /* 8027AA20-8027AA84 275360 0064+00 0/0 1/1 0/0 .text * JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleAnmRepeatX(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleAnmRepeatX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + work->mScaleAnm = (ptcl->mAge % esp->getScaleAnmCycleX()) / (f32)esp->getScaleAnmCycleX(); } -#pragma pop /* 8027AA84-8027AAE8 2753C4 0064+00 0/0 1/1 0/0 .text * JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleAnmRepeatY(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleAnmRepeatY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + work->mScaleAnm = (ptcl->mAge % esp->getScaleAnmCycleY()) / (f32)esp->getScaleAnmCycleY(); } -#pragma pop - -/* ############################################################################################## */ -/* 804552F0-804552F4 0038F0 0004+00 2/2 0/0 0/0 .sdata2 @2339 */ -SECTION_SDATA2 static f32 lit_2339 = 2.0f; /* 8027AAE8-8027AB7C 275428 0094+00 0/0 1/1 0/0 .text * JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleAnmReverseX(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleAnmReverseX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + s32 cycle = ptcl->mAge / esp->getScaleAnmCycleX(); + f32 base = (ptcl->mAge % esp->getScaleAnmCycleX()) / (f32)esp->getScaleAnmCycleX(); + work->mScaleAnm = base + ((cycle & 1) * (1.0f - base * 2.0f)); } -#pragma pop /* 8027AB7C-8027AC10 2754BC 0094+00 0/0 1/1 0/0 .text * JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcScaleAnmReverseY(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcScaleAnmReverseY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + s32 cycle = ptcl->mAge / esp->getScaleAnmCycleY(); + f32 base = (ptcl->mAge % esp->getScaleAnmCycleY()) / (f32)esp->getScaleAnmCycleY(); + work->mScaleAnm = base + ((cycle & 1) * (1.0f - base * 2.0f)); } -#pragma pop - -/* ############################################################################################## */ -/* 804552F4-804552F8 0038F4 0004+00 2/2 0/0 0/0 .sdata2 @2390 */ -SECTION_SDATA2 static f32 lit_2390 = 255.0f; /* 8027AC10-8027AC98 275550 0088+00 0/0 1/1 0/0 .text * JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcAlphaAnm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcAlphaAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + f32 alpha; + if (ptcl->mTime < esp->getAlphaInTiming()) { + alpha = 255.0f * (esp->getAlphaInValue() + esp->getAlphaIncRate() * ptcl->mTime); + } else if (ptcl->mTime > esp->getAlphaOutTiming()) { + alpha = 255.0f * ((ptcl->mTime - esp->getAlphaOutTiming()) * esp->getAlphaDecRate() + esp->getAlphaBaseValue()); + } else { + alpha = 255.0f * esp->getAlphaBaseValue(); + } + OSf32tou8(&alpha, &ptcl->mPrmColorAlphaAnm); } -#pragma pop - -/* ############################################################################################## */ -/* 804552F8-804552FC 0038F8 0004+00 1/1 0/0 0/0 .sdata2 @2433 */ -SECTION_SDATA2 static f32 lit_2433 = 16384.0f; - -/* 804552FC-80455300 0038FC 0004+00 1/1 0/0 0/0 .sdata2 @2434 */ -SECTION_SDATA2 static f32 lit_2434 = 0.5f; /* 8027AC98-8027AD88 2755D8 00F0+00 0/0 1/1 0/0 .text * JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcAlphaFlickAnm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s" +void JPACalcAlphaFlickAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { + JPAExtraShape* esp = work->mpRes->getEsp(); + f32 alpha; + if (ptcl->mTime < esp->getAlphaInTiming()) { + alpha = (esp->getAlphaInValue() + esp->getAlphaIncRate() * ptcl->mTime); + } else if (ptcl->mTime > esp->getAlphaOutTiming()) { + alpha = ((ptcl->mTime - esp->getAlphaOutTiming()) * esp->getAlphaDecRate() + esp->getAlphaBaseValue()); + } else { + alpha = esp->getAlphaBaseValue(); + } + s32 theta = ptcl->mAlphaWaveRandom * ptcl->mAge * 16384.0f * (1.0f - esp->getAlphaFreq()); + f32 wave = JMASSin(theta); + alpha *= (1.0f + esp->getAlphaAmp() * (wave - 1.0f) * 0.5f) * 255.0f; + OSf32tou8(&alpha, &ptcl->mPrmColorAlphaAnm); } -#pragma pop /* 8027AD88-8027ADBC 2756C8 0034+00 0/0 1/1 0/0 .text __ct__13JPAExtraShapeFPCUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JPAExtraShape::JPAExtraShape(u8 const* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/__ct__13JPAExtraShapeFPCUc.s" +JPAExtraShape::JPAExtraShape(u8 const* data) { + mpData = (const JPAExtraShapeData*)data; + init(); } -#pragma pop - -/* ############################################################################################## */ -/* 80455300-80455308 003900 0004+04 1/1 0/0 0/0 .sdata2 @2503 */ -SECTION_SDATA2 static f32 lit_2503[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; /* 8027ADBC-8027AEBC 2756FC 0100+00 1/1 0/0 0/0 .text init__13JPAExtraShapeFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPAExtraShape::init() { - nofralloc -#include "asm/JSystem/JParticle/JPAExtraShape/init__13JPAExtraShapeFv.s" +void JPAExtraShape::init() { + mAlphaIncRate = (getAlphaInTiming() != 0.0f) ? (getAlphaBaseValue() - getAlphaInValue()) / getAlphaInTiming() : 1.0f; + mAlphaDecRate = (getAlphaOutTiming() != 1.0f) ? (getAlphaOutValue() - getAlphaBaseValue()) / (1.0f - getAlphaOutTiming()) : 1.0f; + + if (getScaleInTiming() != 0.0f) { + mScaleIncRateX = (1.0f - getScaleInValueX()) / getScaleInTiming(); + mScaleIncRateY = (1.0f - getScaleInValueY()) / getScaleInTiming(); + } else { + mScaleIncRateX = mScaleIncRateY = 1.0f; + } + + if (getScaleOutTiming() != 1.0f) { + mScaleDecRateX = (getScaleOutValueX() - 1.0f) / (1.0f - getScaleOutTiming()); + mScaleDecRateY = (getScaleOutValueY() - 1.0f) / (1.0f - getScaleOutTiming()); + } else { + mScaleDecRateX = mScaleDecRateY = 1.0f; + } } -#pragma pop diff --git a/libs/JSystem/JParticle/JPAParticle.cpp b/libs/JSystem/JParticle/JPAParticle.cpp index a4eef4657b..c4345888df 100644 --- a/libs/JSystem/JParticle/JPAParticle.cpp +++ b/libs/JSystem/JParticle/JPAParticle.cpp @@ -7,16 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JPAResource { - /* 8027658C */ void calc_p(JPAEmitterWorkData*, JPABaseParticle*); - /* 80276608 */ void calc_c(JPAEmitterWorkData*, JPABaseParticle*); - /* 80276684 */ void calcField(JPAEmitterWorkData*, JPABaseParticle*); -}; - // // Forward References: // diff --git a/libs/JSystem/JParticle/JPAResource.cpp b/libs/JSystem/JParticle/JPAResource.cpp index a21e82b7de..64df9b337e 100644 --- a/libs/JSystem/JParticle/JPAResource.cpp +++ b/libs/JSystem/JParticle/JPAResource.cpp @@ -5,6 +5,7 @@ #include "JSystem/JParticle/JPAResource.h" #include "JSystem/JParticle/JPAMath.h" +#include "JSystem/JParticle/JPABaseShape.h" #include "JSystem/JParticle/JPAParticle.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" @@ -148,14 +149,34 @@ extern "C" void _restgpr_28(); // /* 80274010-80274080 26E950 0070+00 0/0 1/1 0/0 .text __ct__11JPAResourceFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JPAResource::JPAResource() { - nofralloc -#include "asm/JSystem/JParticle/JPAResource/__ct__11JPAResourceFv.s" +JPAResource::JPAResource() { + mpDrawEmitterChildFuncList = NULL; + mpDrawEmitterFuncList = NULL; + mpCalcEmitterFuncList = NULL; + mpDrawParticleChildFuncList = NULL; + mpCalcParticleChildFuncList = NULL; + mpDrawParticleFuncList = NULL; + mpCalcParticleFuncList = NULL; + mpBaseShape = NULL; + mpExtraShape = NULL; + mpChildShape = NULL; + mpExTexShape = NULL; + mpDynamicsBlock = NULL; + mpFieldBlocks = NULL; + mpKeyBlocks = NULL; + mpTDB1 = NULL; + mpDrawParticleChildFuncListNum = 0; + mpCalcParticleChildFuncListNum = 0; + mpDrawParticleFuncListNum = 0; + mpCalcParticleFuncListNum = 0; + mpDrawEmitterChildFuncListNum = 0; + mpDrawEmitterFuncListNum = 0; + mpCalcEmitterFuncListNum = 0; + mTDB1Num = 0; + mKeyBlockNum = 0; + mFieldBlockNum = 0; + mUsrIdx = 0; } -#pragma pop /* ############################################################################################## */ /* 803C40C0-803C4220 0211E0 0144+1C 2/2 0/0 0/0 .data jpa_pos */ @@ -566,7 +587,7 @@ asm void JPAResource::init(JKRHeap* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JPAResource::calc(JPAEmitterWorkData* param_0, JPABaseEmitter* param_1) { +asm bool JPAResource::calc(JPAEmitterWorkData* param_0, JPABaseEmitter* param_1) { nofralloc #include "asm/JSystem/JParticle/JPAResource/calc__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter.s" } @@ -574,14 +595,21 @@ asm void JPAResource::calc(JPAEmitterWorkData* param_0, JPABaseEmitter* param_1) /* 80275A94-80275B74 2703D4 00E0+00 0/0 1/1 0/0 .text * draw__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPAResource::draw(JPAEmitterWorkData* param_0, JPABaseEmitter* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPAResource/draw__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter.s" +void JPAResource::draw(JPAEmitterWorkData* work, JPABaseEmitter* emtr) { + work->mpEmtr = emtr; + work->mpRes = this; + work->mDrawCount = 0; + calcWorkData_d(work); + mpBaseShape->setGX(work); + for (s32 i = 1; i <= emtr->getDrawTimes(); i++) { + work->mDrawCount++; + if (mpBaseShape->isDrawPrntAhead() && mpChildShape != NULL) + drawC(work); + drawP(work); + if (!mpBaseShape->isDrawPrntAhead() && mpChildShape != NULL) + drawC(work); + } } -#pragma pop /* ############################################################################################## */ /* 80455290-80455294 003890 0004+00 2/2 0/0 0/0 .sdata2 @3189 */ diff --git a/libs/JSystem/JStudio/JStudio/fvb-data.cpp b/libs/JSystem/JStudio/JStudio/fvb-data.cpp index 0b49d48322..c9f65f94e9 100644 --- a/libs/JSystem/JStudio/JStudio/fvb-data.cpp +++ b/libs/JSystem/JStudio/JStudio/fvb-data.cpp @@ -1,35 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: fvb-data -// - -#include "JSystem/JStudio/JStudio/fvb-data.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -// -// Forward References: -// - -extern "C" f32 ga4cSignature__Q37JStudio3fvb4data[1 + 1 /* padding */]; - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80455450-80455458 003A50 0004+04 0/0 1/1 0/0 .sdata2 ga4cSignature__Q37JStudio3fvb4data - */ -SECTION_SDATA2 f32 JStudio::fvb::data::ga4cSignature[1 + 1 /* padding */] = { - 13712.5f, - /* padding */ - 0.0f, -}; +namespace JStudio { +namespace fvb { +namespace data { +extern const char ga4cSignature[] = "FVB"; +} // namespace data +} // namespace fvb +} // namespace JStudio diff --git a/libs/JSystem/JStudio/JStudio/jstudio-data.cpp b/libs/JSystem/JStudio/JStudio/jstudio-data.cpp index a4aaef29c2..efe27e8981 100644 --- a/libs/JSystem/JStudio/JStudio/jstudio-data.cpp +++ b/libs/JSystem/JStudio/JStudio/jstudio-data.cpp @@ -1,39 +1,5 @@ -// -// Generated By: dol2asm -// Translation Unit: jstudio-data -// - -#include "JSystem/JStudio/JStudio/jstudio-data.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - namespace JStudio { -struct data { - static u8 ga8cSignature[8]; -}; - -}; // namespace JStudio - -// -// Forward References: -// - -extern "C" u8 ga8cSignature__Q27JStudio4data[8]; - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80455460-80455468 003A60 0008+00 0/0 1/1 0/0 .sdata2 ga8cSignature__Q27JStudio4data */ -SECTION_SDATA2 u8 JStudio::data::ga8cSignature[8] = { - 0x6A, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x00, -}; +namespace data { +extern const char ga8cSignature[] = "jstudio"; +} // namespace data +} // namespace JStudio diff --git a/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp b/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp index bef8ceabdb..eb5d1c4542 100644 --- a/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp +++ b/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp @@ -95,4 +95,4 @@ asm void TParse_TParagraph_data::getData(TParse_TParagraph_data::TData* param_0) } // namespace data } // namespace stb -} // namespace JStudio \ No newline at end of file +} // namespace JStudio diff --git a/libs/JSystem/JStudio/JStudio/stb-data.cpp b/libs/JSystem/JStudio/JStudio/stb-data.cpp index 79a9060721..8ea69d95d8 100644 --- a/libs/JSystem/JStudio/JStudio/stb-data.cpp +++ b/libs/JSystem/JStudio/JStudio/stb-data.cpp @@ -1,23 +1,9 @@ -// -// Generated By: dol2asm -// Translation Unit: stb-data -// - -#include "JSystem/JStudio/JStudio/stb-data.h" -#include "dol2asm.h" #include "dolphin/types.h" - namespace JStudio { namespace stb { namespace data { - -const u8 gauDataSize_TEParagraph_data[32] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, -}; - -const u32 ga4cSignature = 'STB\0'; - +extern const s32 gauDataSize_TEParagraph_data[8] = {0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40}; +extern const char ga4cSignature[] = "STB"; } // namespace data } // namespace stb } // namespace JStudio diff --git a/libs/JSystem/JSupport/JSUList.cpp b/libs/JSystem/JSupport/JSUList.cpp index 7111ffd9b9..2577679b30 100644 --- a/libs/JSystem/JSupport/JSUList.cpp +++ b/libs/JSystem/JSupport/JSUList.cpp @@ -161,4 +161,4 @@ JSUPtrLink* JSUPtrList::getNthLink(u32 index) const { } return node; -} \ No newline at end of file +} diff --git a/libs/JSystem/JUtility/JUTResource.cpp b/libs/JSystem/JUtility/JUTResource.cpp index 2ad3eeb313..8748ee49c6 100644 --- a/libs/JSystem/JUtility/JUTResource.cpp +++ b/libs/JSystem/JUtility/JUTResource.cpp @@ -4,6 +4,7 @@ // #include "JSystem/JUtility/JUTResource.h" +#include "JSystem/JKernel/JKRFileLoader.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,25 +12,6 @@ // Types: // -struct JSUInputStream { - /* 802DC298 */ void read(void*, s32); -}; - -struct JKRArchive { - /* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*); -}; - -struct JUTResReference { - /* 802DE078 */ void getResource(JSUInputStream*, u32, JKRArchive*); - /* 802DE120 */ void getResource(void const*, u32, JKRArchive*); - /* 802DE1BC */ void getResource(u32, JKRArchive*); -}; - -struct JKRFileLoader { - /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*); - /* 802D4224 */ void getGlbResource(char const*); -}; - // // Forward References: // @@ -61,7 +43,7 @@ extern "C" void _restgpr_29(); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResReference::getResource(JSUInputStream* param_0, u32 param_1, JKRArchive* param_2) { +asm void* JUTResReference::getResource(JSUInputStream* param_0, u32 param_1, JKRArchive* param_2) { nofralloc #include "asm/JSystem/JUtility/JUTResource/getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive.s" } @@ -72,7 +54,7 @@ asm void JUTResReference::getResource(JSUInputStream* param_0, u32 param_1, JKRA #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResReference::getResource(void const* param_0, u32 param_1, JKRArchive* param_2) { +asm void* JUTResReference::getResource(void const* param_0, u32 param_1, JKRArchive* param_2) { nofralloc #include "asm/JSystem/JUtility/JUTResource/getResource__15JUTResReferenceFPCvUlP10JKRArchive.s" } @@ -83,7 +65,7 @@ asm void JUTResReference::getResource(void const* param_0, u32 param_1, JKRArchi #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTResReference::getResource(u32 param_0, JKRArchive* param_1) { +asm void* JUTResReference::getResource(u32 param_0, JKRArchive* param_1) { nofralloc #include "asm/JSystem/JUtility/JUTResource/getResource__15JUTResReferenceFUlP10JKRArchive.s" } diff --git a/libs/SSystem/SComponent/c_cc_d.cpp b/libs/SSystem/SComponent/c_cc_d.cpp index 2c9bf52474..0f237dffef 100644 --- a/libs/SSystem/SComponent/c_cc_d.cpp +++ b/libs/SSystem/SComponent/c_cc_d.cpp @@ -772,4 +772,4 @@ void cCcD_ObjCo::SetIGrp(u32 grp) { void cCcD_ObjCo::SetVsGrp(u32 grp) { mSPrm &= ~0x70; mSPrm |= grp; -} \ No newline at end of file +} diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp index 7bcc9989c3..6666fd3631 100644 --- a/libs/Z2AudioLib/Z2SceneMgr.cpp +++ b/libs/Z2AudioLib/Z2SceneMgr.cpp @@ -124,7 +124,7 @@ extern "C" static void dComIfGs_isSaveSwitch__Fi(); extern "C" void resetCrowdSize__7Z2SeMgrFv(); extern "C" void setTwilightGateVol__8Z2SeqMgrFf(); extern "C" void setWindStoneVol__8Z2SeqMgrFfUl(); -extern "C" void __ct__10JAISoundIDFUl(); +extern "C" void __ct__10JAISoundIDFUl(void* param_0, u32 param_1); extern "C" void sceneChange__10Z2SceneMgrF10JAISoundIDUcUcUcUcUcb(); extern "C" void framework__10Z2SceneMgrFv(); extern "C" void load1stDynamicWave__10Z2SceneMgrFv(); @@ -875,8 +875,9 @@ asm void Z2SeqMgr::setWindStoneVol(f32 param_0, u32 param_1) { #pragma pop /* 802B9B60-802B9B68 -00001 0008+00 0/0 0/0 0/0 .text __ct__10JAISoundIDFUl */ -JAISoundID::JAISoundID(u32 id) { - mId = id; +// JAISoundID::JAISoundID(u32 id) { +extern "C" void __ct__10JAISoundIDFUl(void* param_0, u32 param_1) { + *(u32*)param_0 = (u32)(param_1); } /* 802B9B68-802B9C50 2B44A8 00E8+00 1/1 0/0 0/0 .text diff --git a/libs/Z2AudioLib/Z2SoundHandles.cpp b/libs/Z2AudioLib/Z2SoundHandles.cpp index 3449f798be..c475fabdc5 100644 --- a/libs/Z2AudioLib/Z2SoundHandles.cpp +++ b/libs/Z2AudioLib/Z2SoundHandles.cpp @@ -71,7 +71,7 @@ extern "C" extern u8 data_80451348[8]; // Declarations: // -inline JAISoundID::JAISoundID(u32 pId) : mId(pId) {} +// inline JAISoundID::JAISoundID(u32 pId) : mId(pId) {} inline JAISoundID JAISound::getID() const { return JAISoundID((u32)soundID); diff --git a/rel/d/a/d_a_horse/d_a_horse.cpp b/rel/d/a/d_a_horse/d_a_horse.cpp index 270dc74faa..22c9a94e35 100644 --- a/rel/d/a/d_a_horse/d_a_horse.cpp +++ b/rel/d/a/d_a_horse/d_a_horse.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_horse/d_a_horse.h" +#include "d/a/d_a_player.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,26 +12,6 @@ // Types: // -struct request_of_phase_process_class {}; - -struct Quaternion {}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 80267128 */ void atan2sX_Z() const; - /* 80267150 */ void atan2sY_XZ() const; - /* 8083836C */ ~cXyz(); - /* 808392D8 */ cXyz(); - - static f32 Zero[3]; - static u8 BaseX[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -40,36 +21,11 @@ struct mDoMtx_stack_c { static u8 now[48]; }; -struct J3DMaterialTable {}; - -struct J3DAnmTexPattern {}; - struct mDoExt_btpAnm { /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16); /* 8000D5E8 */ void entry(J3DMaterialTable*, s16); }; -struct mDoExt_MtxCalcOldFrame { - /* 8000F848 */ void initOldFrameMorf(f32, u16, u16); -}; - -struct mDoExt_AnmRatioPack { - /* 808453FC */ ~mDoExt_AnmRatioPack(); - /* 80845438 */ mDoExt_AnmRatioPack(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct _GXColor {}; - -struct dKy_tevstr_c {}; - struct mDoExt_3DlineMat1_c { /* 80013360 */ void init(u16, u16, ResTIMG*, int); /* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); @@ -79,167 +35,19 @@ struct mDoCPd_c { static u8 m_cpadInfo[256]; }; -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct fopAcM_wt_c { - /* 8001DD84 */ void waterCheck(cXyz const*); - - static f32 mWaterY[1 + 1 /* padding */]; -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - struct daTagHstop_c { static u8 m_top[4 + 4 /* padding */]; }; -struct daPy_py_c { - /* 8015F4F0 */ void setLookPos(cXyz*); -}; - -struct daPy_frameCtrl_c { - /* 8015E4CC */ void checkAnmEnd(); - /* 8015E510 */ void updateFrame(); - /* 8015E544 */ void setFrameCtrl(u8, s16, s16, f32, f32); - /* 80845354 */ ~daPy_frameCtrl_c(); - /* 808453B0 */ daPy_frameCtrl_c(); -}; - -struct daPy_actorKeep_c { - /* 8015EC48 */ void setActor(); - /* 8015ECFC */ void clearData(); -}; - struct daHorse_hio_c0 { static u8 const m[292]; }; -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084318 */ void ResetAtHit(); - /* 80084460 */ void ChkTgHit(); -}; - -struct daHorse_c { - /* 80838498 */ void coHitCallbackBoarJump(fopAc_ac_c*); - /* 80838798 */ void coHitCallbackBoarHit(fopAc_ac_c*, dCcD_GObjInf*); - /* 80838904 */ void coHitCallbackCowHit(fopAc_ac_c*); - /* 80838B78 */ void modelCallBack(int); - /* 80838F98 */ void createHeap(); - /* 8083940C */ void checkEnding(); - /* 80839498 */ void create(); - /* 80839D1C */ void setBasAnime(int); - /* 80839EBC */ void resetBasAnime(); - /* 80839ED4 */ void setDoubleAnime(f32, f32, f32, u16, u16, f32); - /* 8083A20C */ void setSingleAnime(u16, f32, f32, s16, f32, int); - /* 8083A3C4 */ void animePlay(); - /* 8083A5AC */ void checkDemoAction(); - /* 8083A890 */ void setStickRodeoMove(); - /* 8083AC7C */ void setStickCallMove(); - /* 8083ACEC */ void setDemoMoveData(u32*, cXyz const*); - /* 8083AEC0 */ void setDemoData(); - /* 8083B578 */ void acceptPlayerRide(); - /* 8083B600 */ void setStickData(); - /* 8083B828 */ void setTurnStartVibration(); - /* 8083B82C */ void setTurnVibration(); - /* 8083B830 */ void setMoveAnime(f32); - /* 8083BF48 */ void checkHorseNoMove(int); - /* 8083CA80 */ void checkTurnPlayerState(); - /* 8083CB38 */ void setSpeedAndAngle(); - /* 8083D748 */ void checkWaitTurn() const; - /* 8083D774 */ void setRoomInfo(int); - /* 8083D918 */ void setBodyPart(); - /* 8083D9D8 */ void setMatrix(); - /* 8083DC58 */ void setDashEffect(u32*); - /* 8083DEEC */ void setEffect(); - /* 8083E4D8 */ void setCollision(); - /* 8083E6E8 */ void autoGroundHit(); - /* 8083E760 */ void setTailAngle(); - /* 8083E8A4 */ void setNeckAngle(); - /* 8083EA78 */ void copyFootMatrix(); - /* 8083EB10 */ void setFootMatrix(); - /* 8083ED88 */ void setLegAngle(f32, int, int, s16*); - /* 8083F3B0 */ void footBgCheck(); - /* 8083F9AC */ void setReinPosMoveInit(int); - /* 8083FDAC */ void copyReinPos(); - /* 8083FEB4 */ void setReinPosHandSubstance(int); - /* 8084010C */ void setReinPosNormalSubstance(); - /* 808402F8 */ void bgCheck(); - /* 80840714 */ void checkSpecialWallHitSubstance(cXyz const&) const; - /* 808407B0 */ void setServiceWaitTimer(); - /* 80840800 */ void checkServiceWaitAnime(); - /* 80840844 */ void checkTurnInput(); - /* 808408F0 */ void checkTgHitTurn(); - /* 808409C0 */ void checkTurnAfterFastMove(f32); - /* 80840B28 */ void setNeckAnimeMorf(); - /* 80840B88 */ void setNeckAnime(u16, f32, f32, s16); - /* 80840CA4 */ void resetNeckAnime(); - /* 80840CE4 */ void setLashCnt(); - /* 80840FE0 */ void setTalkModeWolf(); - /* 80841084 */ void setBoarHit(fopAc_ac_c*, int); - /* 8084116C */ void savePos(); - /* 808411D0 */ void callHorseSubstance(cXyz const*); - /* 80841468 */ void setHorsePosAndAngleSubstance(cXyz const*, s16); - /* 808415B4 */ void checkPlayerHeavy(); - /* 80841628 */ void setTgCoGrp(u32, u32); - /* 80841698 */ void onRideFlgSubstance(); - /* 808416D4 */ void offRideFlgSubstance(); - /* 80841708 */ void procWaitInit(); - /* 808417B8 */ void procWait(); - /* 80841F04 */ void procMoveInit(); - /* 80841F80 */ void procMove(); - /* 808423DC */ void procStopInit(); - /* 808425BC */ void procStop(); - /* 80842878 */ void procTurnInit(int); - /* 80842AB0 */ void procTurn(); - /* 80843008 */ void procJumpInit(int); - /* 808432E0 */ void procJump(); - /* 80843604 */ void procLandInit(f32, int); - /* 80843770 */ void procLand(); - /* 808438AC */ void procLargeDamageInit(); - /* 8084396C */ void procLargeDamage(); - /* 808439C8 */ void procToolDemoInit(); - /* 80843A44 */ void procToolDemo(); - /* 80843BFC */ void searchSceneChangeArea(fopAc_ac_c*); - /* 80843C74 */ void execute(); - /* 80844590 */ void draw(); - /* 8084478C */ ~daHorse_c(); - /* 80844CB0 */ daHorse_c(); - - static u8 const m_footJointTable[8]; - static f32 const m_callLimitDistance2; -}; - -struct daHorseRein_c { - /* 80837F2C */ void setReinPos(int); - /* 808383A8 */ void setReinPosPart(int); - /* 80844FB0 */ ~daHorseRein_c(); - /* 80844FEC */ daHorseRein_c(); -}; - -struct daHorseFootData_c { - /* 80844F70 */ ~daHorseFootData_c(); - /* 80844FAC */ daHorseFootData_c(); -}; - struct daCow_c { /* 8065CFBC */ void isAngry(); /* 8065D0B8 */ void setAngryHit(); }; -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - struct daAlink_c { struct daAlink_ANM {}; @@ -261,38 +69,10 @@ struct dVibration_c { /* 8006FD94 */ void StopQuake(int); }; -struct dSv_horse_place_c { - /* 80032C64 */ void set(char const*, cXyz const&, s16, s8); -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dStage_roomControl_c { - static u8 mDemoArcName[10 + 2 /* padding */]; -}; - -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 { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); - /* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int); -}; - struct dPath {}; struct dPa_levelEcallBack {}; -struct csXyz {}; - struct dPa_control_c { struct level_c { /* 8004B918 */ void getEmitter(u32); @@ -303,28 +83,6 @@ struct dPa_control_c { _GXColor const*, cXyz const*, f32); }; -struct dBgS { - /* 80074B98 */ void GetExitId(cBgS_PolyInfo const&); - /* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&); - /* 80074C6C */ void GetHorseNoEntry(cBgS_PolyInfo const&); - /* 80074CBC */ void GetSpecialCode(cBgS_PolyInfo const&); - /* 80074EF0 */ void GetGroundCode(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 808452E4 */ ~dBgS_AcchCir(); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - struct dPaPo_c { /* 80050C9C */ void init(dBgS_Acch*, f32, f32); }; @@ -338,13 +96,6 @@ struct dPaPoF_c { static u8 m_emitterFourData[60 + 28 /* padding */]; }; -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F48 */ ~dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); -}; - struct dEvt_control_c { /* 80042468 */ void reset(); }; @@ -357,10 +108,6 @@ struct dEvent_manager_c { /* 800483E0 */ void getGoal(); }; -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - struct dDemo_object_c { /* 80039088 */ void getActor(u8); }; @@ -377,50 +124,10 @@ struct dComIfG_play_c { /* 8002C97C */ void getLayerNo(int); }; -struct cCcD_Obj {}; - struct dCcMassS_Mng { /* 80085D98 */ void Set(cCcD_Obj*, u8); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80845218 */ ~dCcD_GStts(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80084954 */ void MoveCAt(cXyz&); - /* 808450C8 */ ~dCcD_Cyl(); - /* 80845194 */ dCcD_Cyl(); -}; - -struct dBgS_PolyPassChk { - /* 80078EF8 */ void SetHorse(); -}; - -struct dBgS_LinChk { - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_HorseLinChk { - /* 80078460 */ dBgS_HorseLinChk(); - /* 800784BC */ ~dBgS_HorseLinChk(); -}; - struct dBgS_HorseAcch { /* 80845274 */ ~dBgS_HorseAcch(); }; @@ -436,81 +143,18 @@ struct dAttList_c { struct camera_class {}; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80844FF0 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80838750 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80845038 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 80845080 */ ~cM3dGAab(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - -struct cCcD_ObjTg { - /* 80264894 */ void SetGrp(u32); -}; - -struct cCcD_ObjCo { - /* 8026491C */ void SetVsGrp(u32); -}; - -struct cCcD_GStts { - /* 80844B44 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - struct Z2SeqMgr { /* 802AF49C */ void subBgmStart(u32); }; -struct JAISoundID {}; - struct Z2SeMgr { /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); }; -struct Z2CreatureRide { - /* 802C4FFC */ Z2CreatureRide(); - /* 802C5114 */ ~Z2CreatureRide(); - /* 802C520C */ void init(Vec*, Vec*, u8, u8); -}; - -struct Z2Creature { - /* 802C0628 */ void initAnime(void*, bool, f32, f32); - /* 802C06D0 */ void updateAnime(f32, f32); -}; - struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; @@ -519,57 +163,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct J3DTransformInfo {}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DMtxCalcNoAnmBase { - /* 80839348 */ ~J3DMtxCalcNoAnmBase(); -}; - -template -struct J3DMtxCalcNoAnm {}; -/* J3DMtxCalcNoAnm */ -struct J3DMtxCalcNoAnm__template0 { - /* 808392DC */ void func_808392DC(void* _this); - /* 80844BB4 */ void func_80844BB4(void* _this, Vec const&, f32 const (&)[3][4]); - /* 80844BDC */ void func_80844BDC(void* _this); -}; - -struct J3DMtxCalcJ3DSysInitMaya { - /* 8032ECAC */ void init(Vec const&, f32 const (&)[3][4]); -}; - -struct J3DMtxCalcCalcTransformMaya { - /* 8032EFBC */ void calcTransform(J3DTransformInfo const&); -}; - -struct J3DAnmTransform {}; - -struct J3DMtxCalc { - /* 808393A4 */ ~J3DMtxCalc(); - /* 80844B8C */ void setAnmTransform(u8, J3DAnmTransform*); - /* 80844B90 */ void setAnmTransform(J3DAnmTransform*); - /* 80844B94 */ bool getAnmTransform(u8); - /* 80844B9C */ bool getAnmTransform(); - /* 80844BA4 */ void setWeight(u8, f32); - /* 80844BA8 */ void getWeight(u8) const; - - static u8 mJoint[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 80845450 */ ~J3DFrameCtrl(); -}; - // // Forward References: // @@ -878,17 +471,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf(); extern "C" void calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo(); extern "C" void JMAEulerToQuat__FsssP10Quaternion(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXInverse(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXQuat(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); @@ -913,8 +495,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strcmp(); extern "C" u8 const m_handLeftInSidePos__9daAlink_c[12]; extern "C" u8 const m_handRightInSidePos__9daAlink_c[12]; extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; @@ -941,16 +521,12 @@ extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_meter2_info[248]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseX__4cXyz[12]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" extern u8 struct_80450D64[4]; extern "C" u8 m_top__12daTagHstop_c[4 + 4 /* padding */]; extern "C" u8 m_object__7dDemo_c[4]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 mJoint__10J3DMtxCalc[4]; extern "C" void isAngry__7daCow_cFv(); @@ -1122,7 +698,8 @@ asm void daHorseRein_c::setReinPos(int param_0) { #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/d_a_horse/d_a_horse/__dt__4cXyzFv.s" } @@ -1510,7 +1087,8 @@ asm void daHorse_c::coHitCallbackBoarJump(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8cM3dGPlaFv.s" } @@ -1627,7 +1205,8 @@ asm void daHorse_c::createHeap() { #pragma pop /* 808392D8-808392DC 001498 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() +extern "C" void __ct__4cXyzFv() { /* empty function */ } @@ -1646,7 +1225,8 @@ extern "C" asm void func_808392DC(void* _this) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() { +// asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() { +extern "C" asm void __dt__19J3DMtxCalcNoAnmBaseFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__19J3DMtxCalcNoAnmBaseFv.s" } @@ -1656,7 +1236,8 @@ asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMtxCalc::~J3DMtxCalc() { +// asm J3DMtxCalc::~J3DMtxCalc() { +extern "C" asm void __dt__10J3DMtxCalcFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__10J3DMtxCalcFv.s" } @@ -3520,7 +3101,8 @@ static asm void daHorse_Delete(daHorse_c* param_0) { #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/d_a_horse/d_a_horse/__dt__10cCcD_GSttsFv.s" } @@ -3672,14 +3254,16 @@ daHorseFootData_c::daHorseFootData_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daHorseRein_c::~daHorseRein_c() { +// asm daHorseRein_c::~daHorseRein_c() { +extern "C" asm void __dt__13daHorseRein_cFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__13daHorseRein_cFv.s" } #pragma pop /* 80844FEC-80844FF0 00D1AC 0004+00 1/1 0/0 0/0 .text __ct__13daHorseRein_cFv */ -daHorseRein_c::daHorseRein_c() { +// daHorseRein_c::daHorseRein_c() { +extern "C" void __ct__13daHorseRein_cFv() { /* empty function */ } @@ -3687,7 +3271,8 @@ daHorseRein_c::daHorseRein_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8cM3dGSphFv.s" } @@ -3697,7 +3282,8 @@ asm cM3dGSph::~cM3dGSph() { #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/d_a_horse/d_a_horse/__dt__8cM3dGCylFv.s" } @@ -3707,7 +3293,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/d_a_horse/d_a_horse/__dt__8cM3dGAabFv.s" } @@ -3717,7 +3304,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::~dCcD_Cyl() { +// asm dCcD_Cyl::~dCcD_Cyl() { +extern "C" asm void __dt__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8dCcD_CylFv.s" } @@ -3727,7 +3315,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::dCcD_Cyl() { +// asm dCcD_Cyl::dCcD_Cyl() { +extern "C" asm void __ct__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__ct__8dCcD_CylFv.s" } @@ -3737,7 +3326,8 @@ asm dCcD_Cyl::dCcD_Cyl() { #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/d_a_horse/d_a_horse/__dt__10dCcD_GSttsFv.s" } @@ -3757,7 +3347,8 @@ asm dBgS_HorseAcch::~dBgS_HorseAcch() { #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/d_a_horse/d_a_horse/__dt__12dBgS_AcchCirFv.s" } @@ -3767,7 +3358,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daPy_frameCtrl_c::~daPy_frameCtrl_c() { +// asm daPy_frameCtrl_c::~daPy_frameCtrl_c() { +extern "C" asm void __dt__16daPy_frameCtrl_cFv() { nofralloc #include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__16daPy_frameCtrl_cFv.s" } @@ -3807,7 +3399,8 @@ asm mDoExt_AnmRatioPack::mDoExt_AnmRatioPack() { #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/d_a_horse/d_a_horse/__dt__12J3DFrameCtrlFv.s" } diff --git a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp index d2d9dfc92d..b149a30ec2 100644 --- a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp +++ b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp @@ -15,10 +15,6 @@ namespace std { /* 807E2350 */ void fabsf(f32); }; -struct request_of_phase_process_class {}; - -struct Vec {}; - struct mDoMtx_stack_c { /* 8000CD9C */ void transM(f32, f32, f32); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -28,8 +24,6 @@ struct mDoMtx_stack_c { static u8 now[48]; }; -struct _GXColor {}; - struct mDoGph_gInf_c { /* 80007FD8 */ void fadeOut(f32, _GXColor&); /* 807DFAB4 */ void fadeIn(f32, _GXColor&); @@ -37,14 +31,6 @@ struct mDoGph_gInf_c { struct mDoExt_McaMorfCallBack2_c {}; -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - struct mDoExt_McaMorfSO { /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, @@ -56,16 +42,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct dKy_tevstr_c {}; - struct mDoExt_3DlineMat1_c { /* 80013360 */ void init(u16, u16, ResTIMG*, int); /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); @@ -81,39 +57,6 @@ struct himo_s { /* 807E1D2C */ himo_s(); }; -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 807D2B48 */ ~cXyz(); - /* 807E27E8 */ cXyz(f32, f32, f32); - /* 807E24FC */ cXyz(); - /* 807E235C */ cXyz(cXyz const&); - /* 807E24C8 */ void set(f32, f32, f32); - /* 807E25EC */ void abs() const; - /* 807E2808 */ void operator=(cXyz const&); - /* 807E2824 */ void operator+=(Vec const&); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct e_wb_class {}; - -struct daPy_py_c { - /* 807E2318 */ void changeDemoPos0(cXyz const*); - /* 807E2334 */ void changeDemoMode(u32, int, int, s16); - /* 807E2348 */ void changeDemoParam2(s16); - /* 807E2404 */ void cancelOriginalDemo(); - /* 807E2444 */ void changeOriginalDemo(); -}; - struct daObjCRVSTEEL_c { /* 80BD5BFC */ void OpenSet(f32, f32); /* 80BD5C18 */ void CloseSet(f32); @@ -123,15 +66,6 @@ struct daObjCRVGATE_c { /* 80BD245C */ void SetB_Close(); }; -struct daHorse_c { - /* 807E27BC */ void cancelOriginalDemo(); - /* 807E27F8 */ void onDemoJumpDistance(f32, f32); - /* 807E28B8 */ void changeDemoPos0(cXyz const*); - /* 807E28D4 */ void changeDemoMode(u32, int); - /* 807E28E0 */ void setHorsePosAndAngle(cXyz const*, s16); - /* 807E2964 */ void changeOriginalDemo(); -}; - struct daE_WB_HIO_c { /* 807D248C */ daE_WB_HIO_c(); /* 807E20DC */ ~daE_WB_HIO_c(); @@ -148,35 +82,8 @@ struct dVibration_c { /* 8006FD94 */ void StopQuake(int); }; -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -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 { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - struct dPa_levelEcallBack {}; -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - /* 807E2090 */ csXyz(); - /* 807D79B0 */ ~csXyz(); - /* 807E24AC */ void operator=(csXyz const&); -}; - struct dPa_control_c { struct level_c { /* 8004B918 */ void getEmitter(u32); @@ -195,11 +102,6 @@ struct dMsgObject_c { /* 8023822C */ void getStatus(); }; -struct dEvt_info_c { - /* 807E24D8 */ void onCondition(u16); - /* 807E24E8 */ void checkCommandDemoAccrpt(); -}; - struct dEvt_control_c { /* 80042468 */ void reset(); /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); @@ -213,45 +115,12 @@ struct dEvent_manager_c { /* 8004817C */ void cutEnd(int); }; -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - struct dComIfG_play_c { /* 8002C97C */ void getLayerNo(int); }; struct dCcU_AtInfo {}; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 807E1E04 */ ~dCcD_Sph(); - /* 807E1ED0 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807E1F54 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -261,100 +130,12 @@ struct dCamera_c { /* 80180C18 */ void Reset(cXyz, cXyz); }; -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 807E1FB0 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807E2020 */ ~dBgS_AcchCir(); -}; - -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 camera_class {}; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807E1D74 */ ~cM3dGSph(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 807E1DBC */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_ObjTg { - /* 80264894 */ void SetGrp(u32); -}; - -struct cCcD_GStts { - /* 807E2094 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074618 */ void GetActorPointer(int) const; -}; - -struct actor_place { - /* 807E2468 */ void operator=(actor_place const&); -}; - -struct _GXTexObj {}; - struct Z2SeqMgr { /* 802AF010 */ void bgmStart(u32, u32, s32); /* 802AF408 */ void bgmStop(u32, s32); @@ -364,20 +145,11 @@ struct Z2SeqMgr { /* 802AFEDC */ void bgmStreamStop(u32); }; -struct JAISoundID { - /* 807E27D0 */ JAISoundID(u32); -}; - struct Z2SeMgr { /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); }; -struct Z2CreatureRide { - /* 802C4FFC */ Z2CreatureRide(); - /* 802C520C */ void init(Vec*, Vec*, u8, u8); -}; - struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; @@ -386,25 +158,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; - // // Forward References: // @@ -513,7 +266,7 @@ extern "C" void onCondition__11dEvt_info_cFUs(); extern "C" void checkCommandDemoAccrpt__11dEvt_info_cFv(); extern "C" void __ct__4cXyzFv(); extern "C" static void fopAcM_SearchByName__Fs(); -extern "C" static void fopAcM_SearchByID__FUi(); +extern "C" static void fopAcM_SearchByID__FUi(unsigned int); extern "C" static void dComIfGp_getHorseActor__Fv(); extern "C" static void dComIfGp_getPlayer__Fi(); extern "C" static void dComIfGp_getCamera__Fi(); @@ -692,12 +445,6 @@ extern "C" void init__14Z2CreatureRideFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); @@ -721,8 +468,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strcmp(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; @@ -737,12 +482,10 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_blackColor; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" extern u8 struct_80450C98[4]; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -1601,7 +1344,8 @@ static asm void himo_control1(e_wb_class* param_0, cXyz* param_1, int param_2, s #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/e/d_a_e_wb/d_a_e_wb/__dt__4cXyzFv.s" } @@ -2487,7 +2231,8 @@ static asm void e_wb_b_ikki(e_wb_class* param_0) { #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/e/d_a_e_wb/d_a_e_wb/__dt__5csXyzFv.s" } @@ -4739,7 +4484,8 @@ asm himo_s::himo_s() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__8cM3dGSphFv.s" } @@ -4749,7 +4495,8 @@ asm cM3dGSph::~cM3dGSph() { #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/e/d_a_e_wb/d_a_e_wb/__dt__8cM3dGAabFv.s" } @@ -4759,7 +4506,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__8dCcD_SphFv.s" } @@ -4769,7 +4517,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__ct__8dCcD_SphFv.s" } @@ -4779,7 +4528,8 @@ asm dCcD_Sph::dCcD_Sph() { #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/e/d_a_e_wb/d_a_e_wb/__dt__10dCcD_GSttsFv.s" } @@ -4789,7 +4539,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/e/d_a_e_wb/d_a_e_wb/__dt__12dBgS_ObjAcchFv.s" } @@ -4799,14 +4550,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/e/d_a_e_wb/d_a_e_wb/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 807E2090-807E2094 00FCF0 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" void __ct__5csXyzFv() { /* empty function */ } @@ -4814,7 +4567,8 @@ csXyz::csXyz() { #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/e/d_a_e_wb/d_a_e_wb/__dt__10cCcD_GSttsFv.s" } @@ -4945,7 +4699,8 @@ asm void std::fabsf(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::cXyz(cXyz const& param_0) { +// asm cXyz::cXyz(cXyz const& param_0) { +extern "C" asm void __ct__4cXyzFRC4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__ct__4cXyzFRC4cXyz.s" } @@ -5047,7 +4802,8 @@ asm void actor_place::operator=(actor_place const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void csXyz::operator=(csXyz const& param_0) { +// asm void csXyz::operator=(csXyz const& param_0) { +extern "C" asm void __as__5csXyzFRC5csXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__as__5csXyzFRC5csXyz.s" } @@ -5057,7 +4813,8 @@ asm void csXyz::operator=(csXyz const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) { +// asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) { +extern "C" asm void set__4cXyzFfff() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/set__4cXyzFfff.s" } @@ -5077,14 +4834,15 @@ asm void dEvt_info_c::onCondition(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_info_c::checkCommandDemoAccrpt() { +asm bool dEvt_info_c::checkCommandDemoAccrpt() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/checkCommandDemoAccrpt__11dEvt_info_cFv.s" } #pragma pop /* 807E24FC-807E2500 01015C 0004+00 4/4 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" void __ct__4cXyzFv() { /* empty function */ } @@ -5102,7 +4860,7 @@ static asm void fopAcM_SearchByName(s16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_SearchByID(unsigned int param_0) { +extern "C" static asm void fopAcM_SearchByID__FUi(unsigned int param_0) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/fopAcM_SearchByID__FUi.s" } @@ -5162,7 +4920,8 @@ static asm void dMsgObject_isTalkNowCheck() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::abs() const { +// asm void cXyz::abs() const { +extern "C" asm void abs__4cXyzCFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/abs__4cXyzCFv.s" } @@ -5229,7 +4988,8 @@ static asm void dComIfGp_getVibration() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) { +// asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) { +extern "C" asm void __ct__4cXyzFfff() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__ct__4cXyzFfff.s" } @@ -5250,7 +5010,8 @@ asm void daHorse_c::onDemoJumpDistance(f32 param_0, f32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::operator=(cXyz const& param_0) { +// asm void cXyz::operator=(cXyz const& param_0) { +extern "C" asm void __as__4cXyzFRC4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__as__4cXyzFRC4cXyz.s" } @@ -5260,7 +5021,8 @@ asm void cXyz::operator=(cXyz const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::operator+=(Vec const& param_0) { +// asm void cXyz::operator+=(Vec const& param_0) { +extern "C" asm void __apl__4cXyzFRC3Vec() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__apl__4cXyzFRC3Vec.s" } diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index dc78fc43d9..8c397548c8 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -20,6 +20,7 @@ #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_mtx.h" #include "rel/d/a/d_a_crod/d_a_crod.h" +#include "rel/d/a/d_a_horse/d_a_horse.h" #include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" // @@ -6429,46 +6430,41 @@ asm void daAlink_c::setNeckAngle() { /* 800A2160-800A2198 09CAA0 0038+00 1/0 0/0 0/0 .text getStickAngleFromPlayerShape__9daAlink_cCFPs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::getStickAngleFromPlayerShape(s16* param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/getStickAngleFromPlayerShape__9daAlink_cCFPs.s" +bool daAlink_c::getStickAngleFromPlayerShape(s16* param_0) const { + // inline uses literal + // if (checkInputOnR()) { + if (field_0x33ac > lit_6021) { + *param_0 = field_0x2fe2 - mCollisionRot.y; + return true; + } + *param_0 = 0; + return false; } -#pragma pop /* 800A2198-800A21E0 09CAD8 0048+00 42/42 0/0 0/0 .text commonLineCheck__9daAlink_cFP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/commonLineCheck__9daAlink_cFP4cXyzP4cXyz.s" +bool daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) { + mLinkLinChk.Set(param_0, param_1, this); + return dComIfG_Bgsp().LineCross(&mLinkLinChk); } -#pragma pop /* 800A21E0-800A2280 09CB20 00A0+00 18/18 0/0 2/2 .text * getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s16 daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi.s" +s16 daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) { + if ((param_1 != 0 || dComIfG_Bgsp().ChkPolySafe(param_0)) && + dComIfG_Bgsp().ChkMoveBG_NoDABg(param_0) && dComIfG_Bgsp().GetActorPointer(param_0)) { + return fopAcM_GetName(dComIfG_Bgsp().GetActorPointer(param_0)); + } + return 0xFD; } -#pragma pop /* 800A2280-800A22E8 09CBC0 0068+00 2/2 0/0 0/0 .text checkGoronRide__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGoronRide() { - nofralloc -#include "asm/d/a/d_a_alink/checkGoronRide__9daAlink_cFv.s" +fopAc_ac_c* daAlink_c::checkGoronRide() { + if (mLinkAcch.ChkGroundHit() && getMoveBGActorName(mLinkAcch.m_gnd, 0) == 0x21) { + return dComIfG_Bgsp().GetActorPointer(mLinkAcch.m_gnd); + } + return NULL; } -#pragma pop /* ############################################################################################## */ /* 80453224-80453228 001824 0004+00 1/1 0/0 0/0 .sdata2 @56018 */ @@ -8409,35 +8405,54 @@ asm void daAlink_c::handBgCheck() { #pragma pop /* 800A3C8C-800A3CE4 09E5CC 0058+00 11/11 0/0 0/0 .text setItemHeap__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JKRHeap* daAlink_c::setItemHeap() { - nofralloc -#include "asm/d/a/d_a_alink/setItemHeap__9daAlink_cFv.s" +JKRHeap* daAlink_c::setItemHeap() { + if (!i_checkResetFlg0(RFLG0_UNK_4000)) { + field_0x2fa0 ^= 1; + i_onResetFlg0(RFLG0_UNK_4000); + } + return mItemHeap[field_0x2fa0].setAnimeHeap(); } -#pragma pop /* 800A3CE4-800A3D0C 09E624 0028+00 4/4 0/0 0/0 .text setIdxMask__9daAlink_cFPUsPUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setIdxMask(u16* param_0, u16* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setIdxMask__9daAlink_cFPUsPUs.s" +void daAlink_c::setIdxMask(u16* param_0, u16* param_1) { + if (*param_0 == 0xFFFF) { + u16 tmp = (*param_1 >> 12) & 0xF; + *param_1 &= 0xFFF; + + if (tmp != 0) { + *param_0 = tmp; + } + } } -#pragma pop /* 800A3D0C-800A3D7C 09E64C 0070+00 5/5 0/0 0/0 .text * getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl */ +// setIdxMask param loads backwards +#ifdef NONMATCHING +void* daAlink_c::getAnimeResource(daPy_anmHeap_c* p_anmHeap, u16 param_1, u32 buf_size) { + p_anmHeap->setBufferSize(buf_size); + + u16 tmp2 = 0xFFFF; + u16* tmp1 = ¶m_1; + + setIdxMask(tmp1, &tmp2); + + if (tmp2 == 0xFFFF) { + return p_anmHeap->loadDataIdx(*tmp1); + } else { + return p_anmHeap->loadDataDemoRID(*tmp1, tmp2); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getAnimeResource(daPy_anmHeap_c* param_0, u16 param_1, u32 param_2) { +asm void* daAlink_c::getAnimeResource(daPy_anmHeap_c* param_0, u16 param_1, u32 param_2) { nofralloc #include "asm/d/a/d_a_alink/getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl.s" } #pragma pop +#endif /* 800A3D7C-800A3E30 09E6BC 00B4+00 16/16 0/0 0/0 .text initModel__9daAlink_cFP12J3DModelDataUlUl */ @@ -14470,7 +14485,7 @@ COMPILER_STRIP_GATE(0x80391FEC, &swimOffset); static u8 lit_4409[12]; /* 80425514-80425520 052234 000C+00 32/35 0/0 0/0 .bss l_waitBaseAnime */ -static f32 l_waitBaseAnime[3]; +static Vec l_waitBaseAnime; /* 80425520-8042552C 052240 000C+00 0/1 0/0 0/0 .bss @4410 */ #pragma push @@ -15548,8 +15563,55 @@ BOOL daAlink_c::checkSlope() const { return field_0x3174 != 8 && field_0x2ff0 < -field_0x3122; } +inline daHorse_c* i_dComIfGp_getHorseActor() { + return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1); +} + /* 800B221C-800B23FC 0ACB5C 01E0+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi */ +// need to figure out member function pointer calls +#ifdef NONMATCHING +void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2) { + if (checkEventRun() || param_2 != 0 || mSpecialMode != 0) { + if (p_pos != NULL) { + mCurrent.mPosition = *p_pos; + mNext.mPosition = mCurrent.mPosition; + field_0x3798 = mCurrent.mPosition; + i_onEndResetFlg0(ERFLG0_UNK_800000); + i_onEndResetFlg2(ERFLG2_UNK_100); + if (mDemo.getDemoMode() != 0x59) { + mSpeed.y = FLOAT_LABEL(lit_6108); + } + } + + mCollisionRot.y = param_1; + mCurrent.mAngle.y = param_1; + field_0x2fe6 = mCollisionRot.y; + if ((mActionID == 0x145 || mActionID == 0xE2) && !i_checkWolf()) { + if (field_0x3198 != 0) { + field_0x37c8.x = mCurrent.mPosition.x; + field_0x37c8.z = mCurrent.mPosition.z; + } + } + + if (i_checkMagneBootsOn() && cBgW_CheckBGround(mMagneBootsTopVec.y)) { + field_0x3118 = mCollisionRot.y; + } + + if (checkHorseRide() || checkSpinnerRide()) { + fopAc_ac_c* rideAc = mRideActor.getActor(); + rideAc->mCurrent.mPosition = mCurrent.mPosition; + rideAc->mCollisionRot.y = mCollisionRot.y; + rideAc->mCurrent.mAngle.y = mCollisionRot.y; + rideAc->mSpeed.y = FLOAT_LABEL(lit_6108); + } else { + i_dComIfGp_getHorseActor()->setHorsePosAndAngle(&mCurrent.mPosition, mCollisionRot.y); + } + + field_0x814.ClrCcMove(); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -15558,27 +15620,48 @@ asm void daAlink_c::setPlayerPosAndAngle(cXyz const* param_0, s16 param_1, int p #include "asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s" } #pragma pop +#endif /* 800B23FC-800B24F4 0ACD3C 00F8+00 1/0 0/0 0/0 .text * setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setPlayerPosAndAngle(cXyz const* param_0, csXyz const* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz.s" +void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { + if (checkEventRun() || mSpecialMode != 0) { + if (p_pos != NULL) { + mCurrent.mPosition = *p_pos; + mNext.mPosition = mCurrent.mPosition; + field_0x3798 = mCurrent.mPosition; + i_onEndResetFlg0(ERFLG0_UNK_800000); + i_onEndResetFlg2(ERFLG2_UNK_100); + mSpeed.y = FLOAT_LABEL(lit_6108); + } + + if (p_angle != NULL) { + mCollisionRot = *p_angle; + mCurrent.mAngle.y = mCollisionRot.y; + field_0x2fe6 = mCollisionRot.y; + } + + field_0x814.ClrCcMove(); + } } -#pragma pop /* 800B24F4-800B25CC 0ACE34 00D8+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPA4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setPlayerPosAndAngle(f32 (*param_0)[4]) { - nofralloc -#include "asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPA4_f.s" +void daAlink_c::setPlayerPosAndAngle(Mtx param_0) { + if (checkEventRun() || mSpecialMode != 0) { + mCurrent.mPosition.x = param_0[0][3]; + mCurrent.mPosition.y = param_0[1][3]; + mCurrent.mPosition.z = param_0[2][3]; + mNext.mPosition = mCurrent.mPosition; + field_0x3798 = mCurrent.mPosition; + i_onEndResetFlg0(ERFLG0_UNK_800000); + i_onEndResetFlg2(ERFLG2_UNK_100); + mDoMtx_MtxToRot(param_0, &mCollisionRot); + mCurrent.mAngle.y = mCollisionRot.y; + field_0x2fe6 = mCollisionRot.y; + mSpeed.y = FLOAT_LABEL(lit_6108); + field_0x814.ClrCcMove(); + } } -#pragma pop /* 800B25CC-800B25E8 0ACF0C 001C+00 16/16 0/0 0/0 .text itemTriggerCheck__9daAlink_cFUc */ @@ -16384,14 +16467,9 @@ asm void daAlink_c::itemUnequip(u16 param_0, f32 param_1) { #pragma pop /* 800B97EC-800B983C 0B412C 0050+00 2/2 0/0 0/0 .text checkFastUnequip__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkFastUnequip() { - nofralloc -#include "asm/d/a/d_a_alink/checkFastUnequip__9daAlink_cFv.s" +bool daAlink_c::checkFastUnequip() { + return mActionID == PREACTION_UNEQUIP || mActionID == HORSE_GETOFF || checkEventRun(); } -#pragma pop /* 800B983C-800B994C 0B417C 0110+00 10/10 0/0 0/0 .text allUnequip__9daAlink_cFi */ #pragma push @@ -16435,14 +16513,13 @@ asm BOOL daAlink_c::checkGroundSpecialMode() { /* 800BA09C-800BA0D0 0B49DC 0034+00 4/4 0/0 0/0 .text commonCheckNextAction__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::commonCheckNextAction(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/commonCheckNextAction__9daAlink_cFi.s" +void daAlink_c::commonCheckNextAction(int param_0) { + if (i_checkWolf()) { + checkNextActionWolf(param_0); + } else { + checkNextAction(param_0); + } } -#pragma pop /* 800BA0D0-800BA6A0 0B4A10 05D0+00 91/91 0/0 0/0 .text checkNextAction__9daAlink_cFi */ #pragma push @@ -16927,10 +17004,6 @@ asm void daAlink_c::returnKeepItemData() { } #pragma pop -inline daHorse_c* i_dComIfGp_getHorseActor() { - return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1); -} - /* 800BF8D0-800BF9F0 0BA210 0120+00 2/2 0/0 0/0 .text setItemModel__9daAlink_cFv */ #pragma push #pragma optimization_level 0 @@ -17963,9 +18036,7 @@ bool daAlink_c::procSlideLandInit(int param_0) { field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.field_0x10; field_0x3198 = 1; field_0x2f99 = 4; - field_0x3588.x = l_waitBaseAnime[0]; - field_0x3588.y = l_waitBaseAnime[1]; - field_0x3588.z = l_waitBaseAnime[2]; + field_0x3588 = l_waitBaseAnime; } else { setSingleAnimeParam(ANM_FORWARD_SLIDE_LAND, &daAlinkHIO_slide_c0::m.mBackwardLandAnm); field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.field_0x10; @@ -18411,9 +18482,132 @@ static u8 lit_4420[12]; #pragma pop /* 8042561C-80425628 05233C 000C+00 37/39 0/0 0/0 .bss l_wolfBaseAnime */ -static f32 l_wolfBaseAnime[3]; +static Vec l_wolfBaseAnime; + +inline dEvt_control_c& i_dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); +} + +bool daMidna_c::checkMidnaRealBody() { + return dKy_darkworld_check() == 1 || dComIfGs_isTransformLV(3); +} /* 800C77F4-800C7C64 0C2134 0470+00 4/2 0/0 0/0 .text procCoMetamorphoseInit__9daAlink_cFv */ +// 1 missing instruction, lots of regalloc. maybe related +#ifdef NONMATCHING +bool daAlink_c::procCoMetamorphoseInit() { + int svar8 = 0; + + if (i_dComIfGp_getEvent().i_isOrderOK()) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { + return 0; + } + mDemo.i_setSpecialDemoType(); + mDamageTimer = 0; + svar8 = 1; + } + + if (!commonProcInitNotSameProc(METAMORPHOSE)) { + return 1; + } + + field_0x3198 = svar8; + field_0x3008 = 0; + field_0x300e = 0; + field_0x3010 = 0; + field_0x347c = 1.0f; + mFallVoiceInit = 0; + + if ((i_checkWolf() && mDemo.getDemoMode() == 0x39) || + (!i_checkWolf() && mDemo.getDemoMode() == 0x3A)) { + field_0x300a = 1; + mSpeed.y = 0.0f; + mNormalSpeed = 0.0f; + if (i_checkWolf()) { + mCommonCounter = mCollisionRot.x; + } + } else { + deleteEquipItem(0, 1); + + if (i_checkEndResetFlg0(ERFLG0_UNK_2) && checkStageName("D_MN08")) { + field_0x3010 = 1; + } + field_0x300a = 0; + + if (i_checkWolf()) { + // Transform Wolf -> Human + setSingleAnimeWolfBase(ANM_TRANFORM_HUMAN); + field_0x3588 = l_wolfBaseAnime; + field_0x347c = 0.5f; + field_0x3480 = daAlinkHIO_basic_c0::m.mWolfLinkTransformSpeed; + mCommonCounter = mCollisionRot.x; + + daMidna_c* midna = getMidnaActor(); + if (i_checkMidnaRide() && midna->checkMidnaRealBody() && midna->checkDemoTypeNone()) { + midna->changeOriginalDemo(); + midna->changeDemoMode(15); + } + } else { + // Transform Human -> Wolf + if (mDemo.getDemoMode() == 0x39 && mDemo.getParam1() == 1) { + voiceStart(Z2SE_AL_V_TRANSFORM); + } + setSingleAnimeBase(ANM_TRANSFORM_WOLF); + setMetamorphoseModel(1); + field_0x3588 = l_waitBaseAnime; + field_0x3480 = daAlinkHIO_basic_c0::m.mLinkWolfTransformSpeed; + + cXyz pos(mCurrent.mPosition.x + (cM_ssin(mCollisionRot.y) * 100.0f), + mCurrent.mPosition.y + 300.0f, + mCurrent.mPosition.z + (cM_scos(mCollisionRot.y) * 100.0f)); + mLinkGndChk.SetPos(&pos); + + f32 gnd_cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + if (gnd_cross != -1000000000.0f) { + pos.y = -1000000000.0f; + cXyz tmp_4c = mCurrent.mPosition; + cXyz tmp_58 = pos; + BOOL check = false; + for (int i = 0; i < 4; i++) { + if (i == 3) { + tmp_4c.y = gnd_cross + 5.0f; + } else { + tmp_4c.y = mCurrent.mPosition.y + field_0x18B0[i].GetWallH(); + } + tmp_58.y = tmp_4c.y; + + if (commonLineCheck(&tmp_4c, &tmp_58) && dBgS_CheckBWallPoly(mLinkLinChk)) { + if (dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) { + check = true; + break; + } + } + } + + if (check) { + mCommonCounter = field_0x2ff0; + } else { + pos -= mCurrent.mPosition; + pos.atan2sY_XZ(); + mCommonCounter = svar8; + + if (cM_deg2s(70.0f) < abs(mCommonCounter)) { + mCommonCounter = field_0x2ff0; + } + } + } else { + mCommonCounter = 0; + } + } + mSpeed.y = 0.0f; + mNormalSpeed = 0.0f; + field_0x3012 = 0; + } + + field_0x3484 = mCurrent.mPosition.y; + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -18422,6 +18616,7 @@ asm bool daAlink_c::procCoMetamorphoseInit() { #include "asm/d/a/d_a_alink/procCoMetamorphoseInit__9daAlink_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80392070-8039207C 01E6D0 000C+00 0/1 0/0 0/0 .rodata @74273 */ @@ -19258,11 +19453,11 @@ u8 daAlink_c::getClothesChangeWaitTimer() const { /* 800D01A8-800D01E0 0CAAE8 0038+00 1/0 0/0 0/0 .text checkHorseStart__9daAlink_cFv */ u32 daPy_py_c::getLastSceneMode() { - return dComIfGs_getLastSceneMode(); + return dComIfGs_getLastSceneMode() & 0xF; } BOOL daAlink_c::checkHorseStart() { - return checkHorseStart(getLastSceneMode() & 0xF, getStartMode()); + return checkHorseStart(getLastSceneMode(), getStartMode()); } /* 800D01E0-800D0208 0CAB20 0028+00 1/0 0/0 0/0 .text checkCutTurnCharge__9daAlink_cCFv @@ -22110,7 +22305,7 @@ fopAc_ac_c* daAlink_c::getBoomerangActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkBoomerangChargeEnd() { +asm bool daAlink_c::checkBoomerangChargeEnd() { nofralloc #include "asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s" } @@ -29505,15 +29700,14 @@ asm void daAlink_c::procIronBallReturn() { } #pragma pop -/* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkEventRun() const { - nofralloc -#include "asm/d/a/d_a_alink/checkEventRun__9daAlink_cCFv.s" +inline BOOL i_dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); +} + +/* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */ +BOOL daAlink_c::checkEventRun() const { + return i_dComIfGp_event_runCheck() || checkPlayerDemoMode(); } -#pragma pop /* 80115C50-80115D08 110590 00B8+00 2/2 0/0 0/0 .text createNpcTks__9daAlink_cFP4cXyziUl */ @@ -31624,12 +31818,14 @@ BOOL daAlink_lockCursor_c::create() { } /* 80126350-80126354 120C90 0004+00 0/0 4/0 0/0 .text setAnimation__7J2DPaneFP15J2DAnmTevRegKey */ -void J2DPane::setAnimation(J2DAnmTevRegKey* param_0) { +// void J2DPane::setAnimation(J2DAnmTevRegKey* param_0) { +extern "C" void setAnimation__7J2DPaneFP15J2DAnmTevRegKey() { /* empty function */ } /* 80126354-80126358 120C94 0004+00 0/0 4/0 0/0 .text setAnimation__7J2DPaneFP11J2DAnmColor */ -void J2DPane::setAnimation(J2DAnmColor* param_0) { +// void J2DPane::setAnimation(J2DAnmColor* param_0) { +extern "C" void setAnimation__7J2DPaneFP11J2DAnmColor() { /* empty function */ } diff --git a/src/d/a/d_a_horse_static.cpp b/src/d/a/d_a_horse_static.cpp index 6b8db45607..8f7a8a18e9 100644 --- a/src/d/a/d_a_horse_static.cpp +++ b/src/d/a/d_a_horse_static.cpp @@ -8,58 +8,47 @@ #include "dolphin/types.h" BOOL e_wb_class::checkWait() { - return unk1460 == 0x2A; + return field_0x5b4 == 0x2A; } void e_wb_class::setPlayerRideNow() { - unk1680 = 0x67; - unk1460 = 0; - unk1726 |= 3; + field_0x690 = 0x67; + field_0x5b4 = 0; + field_0x6be |= 3; } void e_wb_class::setPlayerRide() { - unk1680 = 0x65; - unk1460 = 0; - unk1726 |= 3; + field_0x690 = 0x65; + field_0x5b4 = 0; + field_0x6be |= 3; mZ2Ride.setLinkRiding(true); } void e_wb_class::getOff() { - if (!checkDownDamage() || unk1680 == 0x67) { - unk1680 = 0; + if (!checkDownDamage() || field_0x690 == 0x67) { + field_0x690 = 0; } else { - unk1682 = 0; + field_0x692 = 0; } - unk1460 = 0; - unk1726 &= 0xfffc; + field_0x5b4 = 0; + field_0x6be &= 0xfffc; mZ2Ride.setLinkRiding(false); } BOOL e_wb_class::checkDownDamage() { - bool downDamage = false; - s16 tmp = unk1680; - - if (tmp != 0x65 && tmp != 0x66 && tmp != 0x15) { - downDamage = true; - } - return downDamage; + return field_0x690 != 0x65 && field_0x690 != 0x66 && field_0x690 != 0x15; } u8 e_wb_class::checkNormalRideMode() const { - bool normalRideMode = false; - - if (unk1680 != 0x66 || unk1460 < 1) { - normalRideMode = 1; - } - return normalRideMode; + return field_0x690 != 0x66 || field_0x5b4 < 1; } void e_wb_class::setRunRideMode() { - if (unk1680 == 0x65) { - unk1460 = 0; - unk1680 = 0x15; - unk1682 = 0x65; + if (field_0x690 == 0x65) { + field_0x5b4 = 0; + field_0x690 = 0x15; + field_0x692 = 0x65; } } diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index 9641162398..a09b46c0b7 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -4,6 +4,7 @@ // #include "d/a/d_a_player.h" +#include "JSystem/J3DGraphLoader/J3DAnmLoader.h" #include "SSystem/SComponent/c_math.h" #include "d/com/d_com_inf_game.h" #include "dol2asm.h" @@ -23,12 +24,6 @@ struct mDoMtx_stack_c { static u8 now[48]; }; -struct J3DAnmLoaderDataBaseFlag {}; - -struct J3DAnmLoaderDataBase { - /* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag); -}; - // // Forward References: // @@ -146,6 +141,10 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // Declarations: // +inline s8 dComIfGp_getPlayerCameraID(int idx) { + return g_dComIfG_gameInfo.play.getPlayerCameraID(idx); +} + /* ############################################################################################## */ /* 80453600-80453608 001C00 0004+04 6/6 0/0 0/0 .sdata2 @4215 */ SECTION_SDATA2 static f32 lit_4215[1 + 1 /* padding */] = { @@ -302,37 +301,15 @@ asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) { #endif /* 8015EA0C-8015EA20 15934C 0014+00 0/0 3/3 0/0 .text setParamData__9daPy_py_cFiiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s" +u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) { + return param_3 | (param_0 & 0x3F | (param_1 & 0x1F) << 0xC | param_2 << 0x18); } -#pragma pop /* 8015EA20-8015EA48 159360 0028+00 0/0 10/10 3/3 .text checkFishingRodItem__9daPy_py_cFi */ -#ifdef NONMATCHING -BOOL daPy_py_c::checkFishingRodItem(int i_item_id) { - bool is_fishing_item = false; - - if (i_item_id == FISHING_ROD_1 || i_item_id < BEE_ROD || i_item_id <= JEWEL_WORM_ROD) { - is_fishing_item = true; - } - - return is_fishing_item; +BOOL daPy_py_c::checkFishingRodItem(int i_itemNo) { + return i_itemNo == FISHING_ROD_1 || (i_itemNo >= BEE_ROD && i_itemNo <= JEWEL_WORM_ROD); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daPy_py_c::checkFishingRodItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkFishingRodItem__9daPy_py_cFi.s" -} -#pragma pop -#endif /* 8015EA48-8015EA88 159388 0040+00 0/0 3/3 0/0 .text checkBombItem__9daPy_py_cFi */ #pragma push @@ -345,25 +322,22 @@ asm BOOL daPy_py_c::checkBombItem(int param_0) { #pragma pop /* 8015EA88-8015EAD8 1593C8 0050+00 0/0 5/5 0/0 .text checkBottleItem__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daPy_py_c::checkBottleItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s" +// is there a way to write this with a switch? +BOOL daPy_py_c::checkBottleItem(int i_itemNo) { + return (i_itemNo >= EMPTY_BOTTLE && i_itemNo <= FAIRY) || i_itemNo == BEE_CHILD || + i_itemNo == WORM || i_itemNo == FAIRY_DROP || i_itemNo == CHUCHU_BLACK || + (i_itemNo >= CHUCHU_RARE && i_itemNo <= LV3_SOUP); } -#pragma pop /* 8015EAD8-8015EB40 159418 0068+00 0/0 3/3 0/0 .text checkDrinkBottleItem__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkDrinkBottleItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkDrinkBottleItem__9daPy_py_cFi.s" +// is there a way to write this with a switch? +BOOL daPy_py_c::checkDrinkBottleItem(int i_itemNo) { + return (i_itemNo >= RED_BOTTLE && i_itemNo <= HALF_MILK_BOTTLE) || i_itemNo == RED_BOTTLE_2 || + i_itemNo == UGLY_SOUP || i_itemNo == HOT_SPRING || i_itemNo == BEE_CHILD || + i_itemNo == CHUCHU_BLACK || i_itemNo == FAIRY_DROP || + (i_itemNo >= CHUCHU_RARE && i_itemNo != CHUCHU_YELLOW && i_itemNo <= LV3_SOUP); } -#pragma pop /* 8015EB40-8015EB68 159480 0028+00 0/0 4/4 0/0 .text checkOilBottleItem__9daPy_py_cFi */ BOOL daPy_py_c::checkOilBottleItem(int i_itemNo) { @@ -388,14 +362,11 @@ BOOL daPy_py_c::checkHookshotItem(int i_itemNo) { } /* 8015EBD8-8015EC28 159518 0050+00 0/0 3/3 0/0 .text checkTradeItem__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daPy_py_c::checkTradeItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkTradeItem__9daPy_py_cFi.s" +BOOL daPy_py_c::checkTradeItem(int i_itemNo) { + return (i_itemNo >= LETTER && i_itemNo <= IRIAS_PENDANT) || i_itemNo == ANCIENT_DOCUMENT || + i_itemNo == AIR_LETTER || i_itemNo == ANCIENT_DOCUMENT2 || i_itemNo == RAFRELS_MEMO || + i_itemNo == TKS_LETTER || i_itemNo == ASHS_SCRIBBLING; } -#pragma pop /* 8015EC28-8015EC48 159568 0020+00 0/0 2/2 0/0 .text checkDungeonWarpItem__9daPy_py_cFi */ @@ -450,33 +421,46 @@ void daPy_anmHeap_c::initData() { } /* 8015EDC4-8015EE00 159704 003C+00 0/0 1/1 1/1 .text mallocBuffer__14daPy_anmHeap_cFv */ -#ifdef NONMATCHING void* daPy_anmHeap_c::mallocBuffer() { - void* buf = new (0x20) void*[mBufferSize]; - mBuffer = buf; + mBuffer = new (0x20) char[mBufferSize]; return mBuffer; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* daPy_anmHeap_c::mallocBuffer() { - nofralloc -#include "asm/d/a/d_a_player/mallocBuffer__14daPy_anmHeap_cFv.s" -} -#pragma pop -#endif /* 8015EE00-8015EF84 159740 0184+00 0/0 1/1 1/1 .text * createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE param_0) { - nofralloc -#include "asm/d/a/d_a_player/createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE.s" +void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) { + u32 size; + + if (heap_type == 4) { + size = mBufferSize; + } else if (heap_type == 3) { + size = 0x50; + } else if (heap_type == 0) { + size = 0x40; + } else if (heap_type == 1) { + size = 0x40; + } else { + size = 0xA0; + } + + JKRHeap* tmp; + mAnimeHeap = mDoExt_createSolidHeapFromGameToCurrent(&tmp, size, 0x20); + + if (heap_type == 4) { + char* tmpWork = new char[size]; + } else if (heap_type == 3) { + mDoExt_transAnmBas* tmpTransBas = new mDoExt_transAnmBas(NULL); + } else if (heap_type == 0) { + J3DAnmTransformKey* tmpTrans = new J3DAnmTransformKey(); + } else if (heap_type == 1) { + J3DAnmTexPattern* tmpTp = new J3DAnmTexPattern(); + } else { + J3DAnmTextureSRTKey* tmpTk = new J3DAnmTextureSRTKey(); + } + + mDoExt_setCurrentHeap(tmp); + mDoExt_adjustSolidHeap(mAnimeHeap); } -#pragma pop /* ############################################################################################## */ /* 80453648-80453650 001C48 0008+00 1/0 0/0 0/0 .sdata2 sumouArcName$4614 */ @@ -519,59 +503,66 @@ SECTION_SDATA2 static char lastGanonArcName[8] = "B_gnd"; SECTION_SDATA2 static char pigGanonArcName[8] = "B_mgn"; /* 8015EF84-8015F068 1598C4 00E4+00 3/3 0/0 0/0 .text loadData__14daPy_anmHeap_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DAnmBase* daPy_anmHeap_c::loadData(u16 param_0) { - nofralloc -#include "asm/d/a/d_a_player/loadData__14daPy_anmHeap_cFUs.s" +void* daPy_anmHeap_c::loadData(u16 id) { + if (mArcNo == 0xFFFF) { + dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, id); + JKRHeap* heap = setAnimeHeap(); + void* data = J3DAnmLoaderDataBase::load(mBuffer, UNK_FLAG0); + mDoExt_setCurrentHeap(heap); + return data; + } + + if (mArcNo == 0) { + return dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), id); + } + + return dComIfG_getObjectRes(arcName[mArcNo - 1], id); } -#pragma pop /* 8015F068-8015F0D0 1599A8 0068+00 0/0 9/9 5/5 .text loadDataIdx__14daPy_anmHeap_cFUs */ -J3DAnmBase* daPy_anmHeap_c::loadDataIdx(u16 pID) { - J3DAnmBase* tmp; +void* daPy_anmHeap_c::loadDataIdx(u16 id) { + void* data; - if (pID == mIdx && mArcNo == 0xffff) { - tmp = NULL; + if (id == mIdx && mArcNo == 0xFFFF) { + data = NULL; } else { - mIdx = pID; - mArcNo = 0xffff; - if (mPriIdx == 0xffff) { - tmp = loadData(pID); + mIdx = id; + mArcNo = 0xFFFF; + if (mPriIdx == 0xFFFF) { + data = loadData(id); } else { - tmp = NULL; + data = NULL; } } - return tmp; + return data; } /* 8015F0D0-8015F118 159A10 0048+00 0/0 3/3 0/0 .text loadDataPriIdx__14daPy_anmHeap_cFUs */ -J3DAnmBase* daPy_anmHeap_c::loadDataPriIdx(u16 pID) { - J3DAnmBase* tmp; +void* daPy_anmHeap_c::loadDataPriIdx(u16 id) { + void* data; - if (pID == mPriIdx || mArcNo != 0xffff) { - tmp = NULL; + if (id == mPriIdx || mArcNo != 0xFFFF) { + data = NULL; } else { - mPriIdx = pID; - tmp = loadData(pID); + mPriIdx = id; + data = loadData(id); } - return tmp; + return data; } /* 8015F118-8015F168 159A58 0050+00 0/0 5/5 5/5 .text loadDataDemoRID__14daPy_anmHeap_cFUsUs */ -J3DAnmBase* daPy_anmHeap_c::loadDataDemoRID(u16 pID, u16 pArcNo) { - J3DAnmBase* tmp; +void* daPy_anmHeap_c::loadDataDemoRID(u16 id, u16 arc_no) { + void* data; - if (pID == mIdx && pArcNo == mArcNo) { - tmp = NULL; + if (id == mIdx && arc_no == mArcNo) { + data = NULL; } else { - mIdx = pID; - mArcNo = pArcNo; - tmp = loadData(pID); + mIdx = id; + mArcNo = arc_no; + data = loadData(id); } - return tmp; + return data; } /* 8015F168-8015F1A0 159AA8 0038+00 1/1 4/4 0/0 .text setAnimeHeap__14daPy_anmHeap_cFv */ @@ -582,148 +573,16 @@ JKRHeap* daPy_anmHeap_c::setAnimeHeap() { /* ############################################################################################## */ /* 803BA0C0-803BA14C 0171E0 0089+03 1/1 0/0 0/0 .data l_sightDL */ -SECTION_DATA static u8 l_sightDL[137 + 3 /* padding */] = { - 0x10, - 0x00, - 0x00, - 0x10, - 0x40, - 0xFF, - 0xFF, - 0x42, - 0x80, - 0x08, - 0x30, - 0x3C, - 0xF3, - 0xCF, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x18, - 0x3C, - 0xF3, - 0xCF, - 0x00, - 0x61, - 0x28, - 0x38, - 0x03, - 0xC0, - 0x61, - 0xC0, - 0x08, - 0x42, - 0x8F, - 0x61, - 0xC1, - 0x08, - 0xE6, - 0x70, - 0x61, - 0x43, - 0x00, - 0x00, - 0x01, - 0x61, - 0x40, - 0x00, - 0x00, - 0x06, - 0x61, - 0x41, - 0x00, - 0x04, - 0xAD, - 0x61, - 0xF3, - 0x64, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x01, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x00, - 0x61, - 0x00, - 0x00, - 0x00, - 0x01, - 0x98, - 0x00, - 0x04, - 0x01, - 0x01, - 0x00, - 0x01, - 0x01, - 0xFF, - 0x01, - 0x00, - 0x00, - 0x01, - 0x01, - 0xFF, - 0x00, - 0x01, - 0x00, - 0xFF, - 0xFF, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_sightDL[137] = { + 0x10, 0x00, 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, + 0x00, 0x00, 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0xC0, 0x08, + 0x42, 0x8F, 0x61, 0xC1, 0x08, 0xE6, 0x70, 0x61, 0x43, 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, + 0x06, 0x61, 0x41, 0x00, 0x04, 0xAD, 0x61, 0xF3, 0x64, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, + 0x00, 0x01, 0x98, 0x00, 0x04, 0x01, 0x01, 0x00, 0x01, 0x01, 0xFF, 0x01, 0x00, 0x00, 0x01, 0x01, + 0xFF, 0x00, 0x01, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80453678-8045367C 001C78 0004+00 1/1 0/0 0/0 .sdata2 @4668 */ @@ -759,14 +618,10 @@ asm void daPy_sightPacket_c::setSight() { /* 8015F384-8015F398 159CC4 0014+00 0/0 1/1 0/0 .text * setSightImage__18daPy_sightPacket_cFP7ResTIMG */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_sightPacket_c::setSightImage(ResTIMG* param_0) { - nofralloc -#include "asm/d/a/d_a_player/setSightImage__18daPy_sightPacket_cFP7ResTIMG.s" +void daPy_sightPacket_c::setSightImage(ResTIMG* p_img) { + mpImg = p_img; + mpData = (u8*)p_img + p_img->texDataOffset; } -#pragma pop /* 8015F398-8015F3C4 159CD8 002C+00 0/0 8/8 10/10 .text checkMasterSwordEquip__9daPy_py_cFv */ BOOL daPy_py_c::checkMasterSwordEquip() { @@ -811,72 +666,74 @@ s16 daPy_py_c::checkNowWolfEyeUp() { /* 8015F438-8015F478 159D78 0040+00 0/0 0/0 1/1 .text forceRestartRoom__9daPy_py_cFiUli */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::forceRestartRoom(int param_0, u32 param_1, int param_2) { - nofralloc -#include "asm/d/a/d_a_player/forceRestartRoom__9daPy_py_cFiUli.s" +// move these inlines? +inline BOOL i_dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); +} + +void daAlink_c::startRestartRoomFromOut(int param_0, u32 param_1, int param_2) { + startRestartRoom(param_1, param_2, param_0, i_dComIfGp_event_runCheck()); +} + +void daPy_py_c::forceRestartRoom(int param_0, u32 param_1, int param_2) { + daAlink_getAlinkActorClass()->startRestartRoomFromOut(param_0, param_1, param_2); } -#pragma pop /* 8015F478-8015F4B8 159DB8 0040+00 0/0 0/0 3/3 .text * setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi */ -#ifdef NONMATCHING void daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_2) { daAlink_getAlinkActorClass()->setFmChainPosFromOut(param_0, param_1, param_2); } + +/* 8015F4B8-8015F4F0 159DF8 0038+00 0/0 0/0 1/1 .text cancelFmChainGrab__9daPy_py_cFv */ +void daPy_py_c::cancelFmChainGrab() { + daAlink_getAlinkActorClass()->cancelFmChainGrabFromOut(); +} + +/* 8015F4F0-8015F520 159E30 0030+00 0/0 0/0 17/17 .text setLookPos__9daPy_py_cFP4cXyz */ +void daPy_py_c::setLookPos(cXyz* p_pos) { + daAlink_getAlinkActorClass()->setLookPosFromOut(p_pos); +} + +/* 8015F520-8015F55C 159E60 003C+00 0/0 0/0 4/4 .text setPlayerSe__9daPy_py_cFUl */ +void daPy_py_c::setPlayerSe(u32 se_id) { + daAlink_getAlinkActorClass()->seStartOnlyReverb(se_id); +} + +/* 8015F55C-8015F60C 159E9C 00B0+00 1/1 0/0 2/2 .text + * linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */ +// regalloc +#ifdef NONMATCHING +inline daPy_py_c* daPy_getPlayerActorClass() { + return (daPy_py_c*)dComIfGp_getPlayer(0); +} + +bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* p_ac) { + bool check_carry = false; + bool ret = false; + + if (fopAcM_checkCarryNow(p_ac)) { + if (daPy_getPlayerActorClass()->getGrabActorID() == fopAcM_GetID(p_ac)) { + check_carry = true; + } + } + + if (check_carry && dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 2) != 0) { + ret = true; + } + + return ret; +} #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_2) { - nofralloc -#include "asm/d/a/d_a_player/setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi.s" -} -#pragma pop -#endif - -/* 8015F4B8-8015F4F0 159DF8 0038+00 0/0 0/0 1/1 .text cancelFmChainGrab__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::cancelFmChainGrab() { - nofralloc -#include "asm/d/a/d_a_player/cancelFmChainGrab__9daPy_py_cFv.s" -} -#pragma pop - -/* 8015F4F0-8015F520 159E30 0030+00 0/0 0/0 17/17 .text setLookPos__9daPy_py_cFP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::setLookPos(cXyz* param_0) { - nofralloc -#include "asm/d/a/d_a_player/setLookPos__9daPy_py_cFP4cXyz.s" -} -#pragma pop - -/* 8015F520-8015F55C 159E60 003C+00 0/0 0/0 4/4 .text setPlayerSe__9daPy_py_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::setPlayerSe(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_player/setPlayerSe__9daPy_py_cFUl.s" -} -#pragma pop - -/* 8015F55C-8015F60C 159E9C 00B0+00 1/1 0/0 2/2 .text - * linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) { +asm bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_player/linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s" } #pragma pop +#endif /* 8015F60C-8015F660 159F4C 0054+00 0/0 0/0 2/2 .text * wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */ @@ -889,36 +746,47 @@ asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0) { } #pragma pop +u32 daPy_py_c::getLastSceneMode() { + return dComIfGs_getLastSceneMode() & 0xF; +} + /* 8015F660-8015F698 159FA0 0038+00 2/2 1/1 1/1 .text checkRoomRestartStart__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkRoomRestartStart() { - nofralloc -#include "asm/d/a/d_a_player/checkRoomRestartStart__9daPy_py_cFv.s" +bool daPy_py_c::checkRoomRestartStart() { + u8 mode = getLastSceneMode(); + + if (mode == 4 || mode == 8 || mode == 5) { + return true; + } else { + return false; + } +} + +inline dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); +} + +inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { + return param_0->field_0x09 >> 1 & 0x1f; } -#pragma pop /* 8015F698-8015F730 159FD8 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallA__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 daPy_py_c::checkCarryStartLightBallA() { - nofralloc -#include "asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s" +u32 daPy_py_c::checkCarryStartLightBallA() { + if (checkRoomRestartStart() || !dComIfGp_getStage() || !dComIfGp_getStage()->getStagInfo() || + dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17) { + return FALSE; + } + return dComIfGs_getLastSceneMode() & 0x100000; } -#pragma pop /* 8015F730-8015F7C8 15A070 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallB__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 daPy_py_c::checkCarryStartLightBallB() { - nofralloc -#include "asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s" +u32 daPy_py_c::checkCarryStartLightBallB() { + if (checkRoomRestartStart() || !dComIfGp_getStage() || !dComIfGp_getStage()->getStagInfo() || + dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17) { + return FALSE; + } + return dComIfGs_getLastSceneMode() & 0x80000; } -#pragma pop float daPy_py_c::getSpinnerRideSpeed() const { float rideSpeed; @@ -942,14 +810,9 @@ asm void daPy_py_c::checkSpinnerReflectEffect() { /* 8015F89C-8015F8C8 15A1DC 002C+00 0/0 0/0 7/7 .text checkBoomerangCharge__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkBoomerangCharge() { - nofralloc -#include "asm/d/a/d_a_player/checkBoomerangCharge__9daPy_py_cFv.s" +bool daPy_py_c::checkBoomerangCharge() { + return daAlink_getAlinkActorClass()->checkBoomerangChargeEnd(); } -#pragma pop /* 8015F8C8-8015F8D0 15A208 0008+00 0/0 0/0 1/1 .text checkBoomerangChargeTime__9daPy_py_cFv */ bool daPy_py_c::checkBoomerangChargeTime() { @@ -964,46 +827,74 @@ daBoomerang_c* daPy_py_c::getThrowBoomerangActor() { /* 8015F8E4-8015F914 15A224 0030+00 0/0 0/0 2/2 .text * cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_player/cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c.s" +void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* p_ac) { + daAlink_getAlinkActorClass()->cancelBoomerangLock(p_ac); } -#pragma pop /* 8015F914-8015F954 15A254 0040+00 0/0 0/0 2/2 .text setPlayerDamage__9daPy_py_cFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::setPlayerDamage(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_player/setPlayerDamage__9daPy_py_cFii.s" +void daPy_py_c::setPlayerDamage(int param_0, int param_1) { + daAlink_getAlinkActorClass()->setDamagePoint(param_0, 0, param_1, 0); } -#pragma pop /* 8015F954-8015F968 15A294 0014+00 0/0 3/3 0/0 .text setMidnaMotionNum__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::setMidnaMotionNum(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/setMidnaMotionNum__9daPy_py_cFi.s" +void daPy_py_c::setMidnaMotionNum(int motion_num) { + if (m_midnaActor != NULL) { + m_midnaActor->setMotionNum(motion_num); + } } -#pragma pop /* 8015F968-8015F97C 15A2A8 0014+00 0/0 3/3 0/0 .text setMidnaFaceNum__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::setMidnaFaceNum(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/setMidnaFaceNum__9daPy_py_cFi.s" +void daPy_py_c::setMidnaFaceNum(int face_num) { + if (m_midnaActor != NULL) { + m_midnaActor->setFaceNum(face_num); + } } -#pragma pop /* 8015F97C-8015FA2C 15A2BC 00B0+00 0/0 7/7 2/2 .text daPy_addCalcShort__FPsssss */ +// 1 instruction in wrong place +#ifdef NONMATCHING +int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) { + s16 temp_r0; + s16 temp_r0_2; + s16 temp_r8; + s16 temp_r9; + s32 temp_r10; + s32 temp_r4; + s32 temp_r5; + s32 phi_r4; + + temp_r8 = *param_0; + temp_r9 = (s16)param_1; + temp_r10 = temp_r9 - temp_r8; + + if (temp_r8 != temp_r9) { + temp_r5 = temp_r10 / param_2; + temp_r0 = (s16)param_4; + if (temp_r5 > temp_r0 || temp_r5 < -temp_r0) { + temp_r0_2 = param_3; + temp_r4 = -temp_r0_2; + phi_r4 = temp_r4; + if (temp_r5 < temp_r4) { + phi_r4 = temp_r5; + } else if (temp_r5 > temp_r0_2) { + phi_r4 = temp_r0_2; + } + *param_0 += phi_r4; + } else if (temp_r10 >= 0) { + *param_0 = temp_r8 + param_4; + if (temp_r9 - *param_0 <= 0) { + *param_0 = param_1; + } + } else { + *param_0 = temp_r8 - param_4; + if (temp_r9 - *param_0 >= 0) { + *param_0 = param_1; + } + } + } + return temp_r9 - *param_0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1012,6 +903,7 @@ asm void daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, #include "asm/d/a/d_a_player/daPy_addCalcShort__FPsssss.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803BA14C-803BA160 01726C 0010+04 0/0 4/4 0/0 .data __vt__18daPy_sightPacket_c */ diff --git a/src/d/bg/d_bg_s.cpp b/src/d/bg/d_bg_s.cpp index 6182b7c416..5516f14d1e 100644 --- a/src/d/bg/d_bg_s.cpp +++ b/src/d/bg/d_bg_s.cpp @@ -533,7 +533,7 @@ bool dBgS::GetUnderwaterRoofCode(cBgS_PolyInfo const& poly) { } /* 80074E00-80074E50 06F740 0050+00 0/0 13/13 5/5 .text GetWallCode__4dBgSFRC13cBgS_PolyInfo */ -bool dBgS::GetWallCode(cBgS_PolyInfo const& poly) { +s32 dBgS::GetWallCode(cBgS_PolyInfo const& poly) { int bg_index = poly.GetBgIndex(); if (m_chk_element[bg_index].ChkUsed()) { return m_chk_element[bg_index].m_bgw_base_ptr->GetWallCode(poly); diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp index 51cd65b8ba..ba90aee54a 100644 --- a/src/d/bg/d_bg_w.cpp +++ b/src/d/bg/d_bg_w.cpp @@ -1157,7 +1157,7 @@ asm void dBgW::GetLinkNo(cBgS_PolyInfo const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool dBgW::GetWallCode(cBgS_PolyInfo const& param_0) { +asm s32 dBgW::GetWallCode(cBgS_PolyInfo const& param_0) { nofralloc #include "asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s" } diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp index dbf04a7a1e..4332c70011 100644 --- a/src/d/bg/d_bg_w_kcol.cpp +++ b/src/d/bg/d_bg_w_kcol.cpp @@ -761,7 +761,7 @@ asm void dBgWKCol::GetLinkNo(cBgS_PolyInfo const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) { +asm s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) { nofralloc #include "asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s" } diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index d5cf762663..b98fe06074 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -28,10 +28,6 @@ struct dSmplMdl_draw_c { /* 80049058 */ void removeModel(J3DModelData*, int); }; -struct dMapInfo_n { - /* 8003EE5C */ void getMapPlayerPos(); -}; - struct dComIfG_resLoader_c { /* 8002F314 */ dComIfG_resLoader_c(); /* 8002F328 */ ~dComIfG_resLoader_c(); @@ -392,7 +388,7 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // Declarations: // -inline u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { +inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { return param_0->field_0x09 >> 1 & 0x1f; } diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 441c99ea92..e3e1ffb72c 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -2216,7 +2216,8 @@ asm void J2DPane::makeMatrix(f32 param_0, f32 param_1) { #pragma pop /* 80053C3C-80053C44 04E57C 0008+00 0/0 1/0 0/0 .text getTypeID__7J2DPaneCFv */ -s32 J2DPane::getTypeID() const { +// s32 J2DPane::getTypeID() const { +extern "C" s32 getTypeID__7J2DPaneCFv() { return 16; } @@ -3097,7 +3098,8 @@ s32 dDlst_shadowRealPoly_c::getTriMax() { /* 800569B0-800569B4 0512F0 0004+00 1/0 7/0 0/0 .text * searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen */ -void J2DAnmBase::searchUpdateMaterialID(J2DScreen* param_0) { +// void J2DAnmBase::searchUpdateMaterialID(J2DScreen* param_0) { +extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen() { /* empty function */ } diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index b03b1e7cca..1f1222830f 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -31,10 +31,6 @@ struct mDoGph_gInf_c { static u8 mZbufferTimg[4]; }; -struct mDoExt_transAnmBas { - /* 8003C784 */ ~mDoExt_transAnmBas(); -}; - struct dBgWKCol { /* 8007E7D0 */ void initKCollision(void*); }; @@ -996,8 +992,8 @@ asm void* dRes_control_c::getRes(char const* param_0, char const* param_1, dRes_ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dRes_control_c::getIDRes(char const* param_0, u16 param_1, dRes_info_c* param_2, - int param_3) { +asm void* dRes_control_c::getIDRes(char const* param_0, u16 param_1, dRes_info_c* param_2, + int param_3) { nofralloc #include "asm/d/d_resorce/getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci.s" } @@ -1096,7 +1092,8 @@ s32 J3DAnmTransform::getKind() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_transAnmBas::~mDoExt_transAnmBas() { +// asm mDoExt_transAnmBas::~mDoExt_transAnmBas() { +extern "C" asm void __dt__18mDoExt_transAnmBasFv() { nofralloc #include "asm/d/d_resorce/__dt__18mDoExt_transAnmBasFv.s" } diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index 4d2c6c29e7..f4c0f08351 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -4,6 +4,7 @@ // #include "d/d_stage.h" +#include "d/d_procname.h" #include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -19,25 +20,10 @@ struct daSus_c { /* 800315A4 */ void execute(); }; -struct dTres_c { - struct list_class {}; - - /* 8009BCB4 */ void addData(dTres_c::list_class*, s8); -}; - struct dSvBit_HIO_c { /* 8025C1F8 */ void init(); }; -struct dDrawPath_c { - struct room_class {}; -}; - -struct dMpath_c { - /* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*); - /* 8003FA40 */ void setPointer(s8, void*, int); -}; - struct cMl { /* 80263228 */ void memalignB(int, u32); }; @@ -433,8 +419,8 @@ extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; // Declarations: // -inline dStage_stageDt_c& dComIfGp_getStage() { - return g_dComIfG_gameInfo.play.getStage(); +inline dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); } void dStage_nextStage_c::set(const char* i_stage, s8 i_roomId, s16 i_point, s8 i_layer, s8 i_wipe, @@ -643,313 +629,922 @@ dStage_roomStatus_c* dStage_roomControl_c::getStatusRoomDt(int i_statusIdx) { return &mStatus[i_statusIdx]; } +#define OBJNAME(name, proc, sub) { name, proc, sub } + /* ############################################################################################## */ /* 803A3B18-803A65CC 000C38 2AB4+00 2/2 0/0 0/0 .data l_objectName */ static dStage_objectNameInf l_objectName[0x38F] = { - {"Grass", 0x0310, 0xFF}, {"kusax1", 0x0310, 0xFF}, {"kusax7", 0x0310, 0xFF}, - {"kusax21", 0x0310, 0xFF}, {"flower", 0x0310, 0xFF}, {"flwr7", 0x0310, 0xFF}, - {"flwr17", 0x0310, 0xFF}, {"pflower", 0x0310, 0xFF}, {"pflwrx7", 0x0310, 0xFF}, - {"door", 0x00E8, 0xFF}, {"kdoor", 0x0226, 0xFF}, {"ddoor", 0x0227, 0xFF}, - {"bdoor", 0x0228, 0xFF}, {"ndoor", 0x00E8, 0xFF}, {"tadoor", 0x00E8, 0xFF}, - {"yodoor", 0x00E8, 0xFF}, {"nadoor", 0x00E8, 0xFF}, {"l9door", 0x00E8, 0xFF}, - {"l7door", 0x00E8, 0xFF}, {"pdoor", 0x00BF, 0xFF}, {"bigdoor", 0x00E8, 0xFF}, - {"kshtr00", 0x0055, 0xFF}, {"vshuter", 0x0055, 0xFF}, {"IzmGate", 0x0157, 0xFF}, - {"NoneCam", 0x030D, 0xFF}, {"NormCam", 0x030D, 0xFF}, {"Link", 0x00FD, 0xFF}, - {"carry00", 0x02FC, 0xFF}, {"carry01", 0x02FC, 0xFF}, {"carry02", 0x02FC, 0xFF}, - {"carry04", 0x02FC, 0xFF}, {"carry05", 0x02FC, 0xFF}, {"carry06", 0x02FC, 0xFF}, - {"carry07", 0x02FC, 0xFF}, {"carry08", 0x02FC, 0xFF}, {"carry09", 0x02FC, 0xFF}, - {"ball1", 0x02FC, 0xFF}, {"ball2", 0x02FC, 0xFF}, {"ball3", 0x02FC, 0xFF}, - {"carry12", 0x02FC, 0xFF}, {"carry13", 0x02FC, 0xFF}, {"TagLite", 0x017C, 0xFF}, - {"InoBone", 0x015F, 0xFF}, {"osiBLK0", 0x001D, 0x00}, {"dmblk", 0x001D, 0x00}, - {"Kkiba", 0x001D, 0x02}, {"smblk", 0x001D, 0x02}, {"Lv4blk", 0x001D, 0xFF}, - {"Lv4blk2", 0x001D, 0xFF}, {"gstone", 0x001D, 0xFF}, {"TagAtt", 0x015A, 0xFF}, - {"mmvbg", 0x02DD, 0xFF}, {"Drop", 0x021F, 0xFF}, {"BkLeaf", 0x02C0, 0xFF}, - {"cylwind", 0x015B, 0xFF}, {"TagTrnd", 0x015C, 0xFF}, {"mvstair", 0x005C, 0xFF}, - {"UHDoor", 0x005D, 0xFF}, {"SwBoom", 0x005E, 0xFF}, {"Swboom", 0x005E, 0xFF}, - {"BoomSht", 0x005F, 0xFF}, {"haihai", 0x0061, 0xFF}, {"stopper", 0x0160, 0xFF}, - {"dstop", 0x00E7, 0xFF}, {"mhole", 0x0161, 0xFF}, {"mhole2", 0x0161, 0xFF}, - {"TagMag", 0x0162, 0xFF}, {"P_Warp", 0x0163, 0xFF}, {"fpillar", 0x015D, 0xFF}, - {"yfire", 0x015E, 0xFF}, {"pfire", 0x015E, 0xFF}, {"Huriko1", 0x0164, 0xFF}, - {"VolBall", 0x00E0, 0xFF}, {"VolBom", 0x00E0, 0xFF}, {"BigVolc", 0x00E1, 0xFF}, - {"geyser", 0x0167, 0xFF}, {"Cwall", 0x007F, 0xFF}, {"Tansu", 0x0083, 0xFF}, - {"Onsen", 0x0082, 0xFF}, {"Obj_bm", 0x0084, 0xFF}, {"lv6bm", 0x008D, 0xFF}, - {"E_bm6", 0x008E, 0xFF}, {"stone", 0x02FD, 0xFF}, {"stoneB", 0x02FD, 0xFF}, - {"TagSpin", 0x00C3, 0xFF}, {"L_RopeS", 0x0085, 0xFF}, {"L_RopeB", 0x0085, 0xFF}, - {"wcover", 0x0086, 0xFF}, {"rstair", 0x00C5, 0xFF}, {"marm", 0x00C6, 0xFF}, - {"turnSw", 0x001E, 0xFF}, {"chainSw", 0x016F, 0xFF}, {"wsword", 0x0170, 0xFF}, - {"iceblk", 0x00DF, 0xFF}, {"KkrSmk", 0x0176, 0xFF}, {"dmele", 0x0092, 0xFF}, - {"wfall", 0x0177, 0xFF}, {"izora", 0x0178, 0xFF}, {"smgdoor", 0x00AB, 0xFF}, - {"smkdoor", 0x00AB, 0xFF}, {"Obj_ava", 0x00AD, 0xFF}, {"thdoor", 0x00B4, 0xFF}, - {"mstrsrd", 0x0184, 0xFF}, {"wimage", 0x0185, 0xFF}, {"sword", 0x01AC, 0xFF}, - {"spring", 0x01AD, 0xFF}, {"BkDoorL", 0x0062, 0xFF}, {"BkDoorR", 0x0062, 0xFF}, - {"IGateL", 0x0064, 0xFF}, {"IGateR", 0x0064, 0xFF}, {"HGateL", 0x0064, 0xFF}, - {"HGateR", 0x0064, 0xFF}, {"K_Gate", 0x0080, 0xFF}, {"R_Gate", 0x0081, 0xFF}, - {"kkanban", 0x00E3, 0xFF}, {"Mhsg6", 0x0024, 0x00}, {"Mhsg9", 0x0024, 0x01}, - {"Mhsg12", 0x0024, 0x02}, {"Mhsg15", 0x0024, 0x03}, {"Mhsg4h", 0x0024, 0x04}, - {"Mhsg3", 0x0024, 0x05}, {"bonbori", 0x0105, 0xFF}, {"Cow", 0x0106, 0xFF}, - {"Peru", 0x0107, 0xFF}, {"Kago", 0x00F4, 0xFF}, {"TagFall", 0x01F8, 0xFF}, - {"Kbota_A", 0x0016, 0x00}, {"Kbota_B", 0x0016, 0x01}, {"KbotaC", 0x0016, 0x02}, - {"Swpush", 0x0016, 0x00}, {"Lv3bota", 0x0016, 0x00}, {"Ksw00_C", 0x0017, 0x02}, - {"hvySw", 0x0018, 0x00}, {"buraA", 0x00C4, 0x00}, {"buraB", 0x00C4, 0x00}, - {"buraA2", 0x00C4, 0x00}, {"buraB2", 0x00C4, 0x00}, {"bura7A", 0x00C4, 0x00}, - {"bura7B", 0x00C4, 0x00}, {"bura7C", 0x00C4, 0x00}, {"bura7D", 0x00C4, 0x00}, - {"bura7E", 0x00C4, 0x00}, {"tbox_sw", 0x016E, 0x00}, {"swLight", 0x00AC, 0x00}, - {"iceleaf", 0x0187, 0x00}, {"swHit", 0x02E7, 0x00}, {"swHit2", 0x02E7, 0x01}, - {"ObjTime", 0x030B, 0xFF}, {"AND_SW", 0x0230, 0xFF}, {"AND_SW2", 0x0231, 0xFF}, - {"ALLdie", 0x0014, 0xFF}, {"rvback", 0x0180, 0xFF}, {"kagoFal", 0x0181, 0xFF}, - {"CrvGate", 0x006F, 0xFF}, {"CrvSaku", 0x0070, 0xFF}, {"CrvWood", 0x0071, 0xFF}, - {"CrvStel", 0x0072, 0xFF}, {"CrvLH", 0x0074, 0xFF}, {"RvRock", 0x0075, 0xFF}, - {"P2a", 0x02A9, 0x00}, {"P2b", 0x02A9, 0x01}, {"P2c", 0x02A9, 0x02}, - {"Gnd", 0x0233, 0xFF}, {"grA", 0x0234, 0xFF}, {"Obj_grA", 0x0021, 0xFF}, - {"Tag_grA", 0x0022, 0xFF}, {"TagYami", 0x0023, 0xFF}, {"grC", 0x0235, 0xFF}, - {"grM", 0x0237, 0xFF}, {"grMC", 0x0238, 0xFF}, {"grS", 0x023B, 0xFF}, - {"grD1", 0x0236, 0xFF}, {"grD", 0x024B, 0x01}, {"grR", 0x023A, 0xFF}, - {"grO", 0x0239, 0xFF}, {"grZ", 0x023C, 0xFF}, {"grARock", 0x0089, 0xFF}, - {"grZRock", 0x008A, 0xFF}, {"osnFire", 0x008C, 0xFF}, {"yamiD", 0x023D, 0xFF}, - {"yamiT", 0x023E, 0xFF}, {"yamiS", 0x023F, 0xFF}, {"Blue_NS", 0x0240, 0xFF}, - {"Kakashi", 0x0241, 0x00}, {"Kdk", 0x0242, 0xFF}, {"Aru", 0x0243, 0xFF}, - {"Bans", 0x0244, 0xFF}, {"Besu", 0x0245, 0xFF}, {"Bou", 0x0246, 0xFF}, - {"BouS", 0x0247, 0x00}, {"clerkA", 0x0248, 0x00}, {"clerkB", 0x0249, 0x00}, - {"clerkT", 0x024A, 0x00}, {"Ash", 0x0298, 0xFF}, {"AshB", 0x0299, 0xFF}, - {"Shad", 0x029A, 0xFF}, {"Rafrel", 0x029B, 0xFF}, {"MoiR", 0x029C, 0xFF}, - {"impal", 0x029D, 0xFF}, {"Coach", 0x0056, 0xFF}, {"TheB", 0x0057, 0xFF}, - {"TgArena", 0x024C, 0xFF}, {"TagInst", 0x024D, 0xFF}, {"GWolf", 0x024F, 0xFF}, - {"Len", 0x0250, 0xFF}, {"Lud", 0x0251, 0xFF}, {"Doc", 0x024E, 0xFF}, - {"FSeirei", 0x0252, 0xFF}, {"Fairy", 0x0253, 0xFF}, {"Hanjo", 0x0254, 0xFF}, - {"Hoz", 0x0257, 0xFF}, {"Jagar", 0x0258, 0xFF}, {"Kkri", 0x0259, 0xFF}, - {"Kn", 0x025A, 0xFF}, {"KnBlt", 0x025B, 0xFF}, {"Knj", 0x025C, 0xFF}, - {"Kolin", 0x025D, 0xFF}, {"Kolinb", 0x025E, 0xFF}, {"Kyury", 0x025F, 0xFF}, - {"Maro", 0x0260, 0xFF}, {"midP", 0x0261, 0xFF}, {"Moi", 0x0262, 0xFF}, - {"Raca", 0x0263, 0xFF}, {"Post", 0x0291, 0xFF}, {"Pouya", 0x0292, 0xFF}, - {"Saru", 0x0264, 0xFF}, {"seiB", 0x0265, 0xFF}, {"seiC", 0x0266, 0xFF}, - {"seiD", 0x0267, 0xFF}, {"Seira", 0x0268, 0xFF}, {"Seira2", 0x0269, 0xFF}, - {"Seirei", 0x026A, 0xFF}, {"Sha", 0x026B, 0xFF}, {"sMaro", 0x026C, 0xFF}, - {"solA", 0x026D, 0xFF}, {"Taro", 0x026E, 0xFF}, {"PA_Besu", 0x026F, 0xFF}, - {"PA_Taro", 0x0270, 0xFF}, {"PA_Maro", 0x0271, 0xFF}, {"TagPati", 0x0272, 0xFF}, - {"The", 0x0273, 0xFF}, {"Tkj", 0x0274, 0xFF}, {"Tks", 0x0275, 0xFF}, - {"ObjTks", 0x0277, 0xFF}, {"Tkc", 0x0276, 0xFF}, {"Tkj2", 0x0109, 0xFF}, - {"Toby", 0x0278, 0xFF}, {"Uri", 0x0279, 0xFF}, {"Yelia", 0x027A, 0xFF}, - {"ykM", 0x027B, 0xFF}, {"ykW", 0x027C, 0xFF}, {"zanB", 0x027D, 0xFF}, - {"Zant", 0x027E, 0xFF}, {"Zelda", 0x027F, 0xFF}, {"ZelR", 0x0280, 0xFF}, - {"ZelRo", 0x0281, 0xFF}, {"zrA", 0x00E5, 0x00}, {"zrS", 0x00E5, 0x01}, - {"zrWF", 0x00E5, 0x02}, {"zrR", 0x00E5, 0x03}, {"zrD", 0x00E5, 0x04}, - {"zrSP", 0x00E5, 0x05}, {"zrSPA", 0x00E5, 0x06}, {"zrF", 0x0282, 0x00}, - {"zrF2", 0x0282, 0x01}, {"zrF3", 0x0282, 0x02}, {"zrC", 0x0283, 0xFF}, - {"zrZ", 0x0284, 0xFF}, {"GrvStn", 0x0087, 0xFF}, {"zrARock", 0x0088, 0xFF}, - {"StAndGl", 0x0306, 0xFF}, {"zrAMark", 0x0285, 0xFF}, {"myna2", 0x0286, 0xFF}, - {"myn2tag", 0x0287, 0xFF}, {"MAN_a", 0x0288, 0x00}, {"MAD_a", 0x0288, 0x01}, - {"MCN_a", 0x0288, 0x02}, {"MON_a", 0x0288, 0x03}, {"MAN_b", 0x0288, 0x04}, - {"MAN_c", 0x0288, 0x05}, {"MAS_a", 0x0288, 0x06}, {"MBN_a", 0x0288, 0x07}, - {"MAN_a2", 0x0288, 0x08}, {"MAD_a2", 0x0288, 0x09}, {"MCN_a2", 0x0288, 0x0A}, - {"MON_a2", 0x0288, 0x0B}, {"MAN_b2", 0x0288, 0x0C}, {"MAN_c2", 0x0288, 0x0D}, - {"MAS_a2", 0x0288, 0x0E}, {"MBN_a2", 0x0288, 0x0F}, {"WAN_a", 0x0288, 0x10}, - {"WAD_a", 0x0288, 0x11}, {"MAT_a", 0x0288, 0x12}, {"WCN_a", 0x0288, 0x13}, - {"WON_a", 0x0288, 0x14}, {"WGN_a", 0x0288, 0x15}, {"WAN_b", 0x0288, 0x16}, - {"WAN_a2", 0x0288, 0x17}, {"WAD_a2", 0x0288, 0x18}, {"MAT_a2", 0x0288, 0x19}, - {"WCN_a2", 0x0288, 0x1A}, {"WON_a2", 0x0288, 0x1B}, {"WGN_a2", 0x0288, 0x1C}, - {"WAN_b2", 0x0288, 0x1D}, {"shoe", 0x029E, 0xFF}, {"DoorBoy", 0x029F, 0xFF}, - {"prayer", 0x02A0, 0xFF}, {"km_Hana", 0x02A1, 0xFF}, {"km_Kyu", 0x02A2, 0xFF}, - {"km_Mich", 0x02A3, 0xFF}, {"NpcChat", 0x028B, 0xFF}, {"chtSolA", 0x028C, 0xFF}, - {"chtSolB", 0x028D, 0xFF}, {"DrSol1", 0x02A4, 0x00}, {"DrSol2", 0x02A4, 0x01}, - {"chin", 0x02A5, 0xFF}, {"ins", 0x02A6, 0xFF}, {"Shop0", 0x02A7, 0xFF}, - {"TagSch", 0x0289, 0xFF}, {"TagEsc", 0x028A, 0xFF}, {"passer", 0x028E, 0x00}, - {"passerL", 0x028E, 0x01}, {"fmtion", 0x0293, 0x00}, {"fmtionL", 0x0293, 0x01}, - {"guard", 0x0295, 0xFF}, {"TgGuard", 0x0296, 0xFF}, {"Mk", 0x02A8, 0xFF}, - {"Obj_Tbi", 0x014D, 0x00}, {"Obj_Uma", 0x014D, 0x01}, {"Obj_knk", 0x014E, 0xFF}, - {"Obj_nmp", 0x0150, 0xFF}, {"Obj_Tie", 0x0151, 0xFF}, {"Obj_Lrp", 0x0152, 0xFF}, - {"Obj_Sit", 0x0153, 0xFF}, {"Ikada", 0x0065, 0xFF}, {"Dust", 0x0076, 0xFF}, - {"Obj_Ita", 0x0077, 0xFF}, {"Ice_l", 0x0066, 0xFF}, {"Ice_s", 0x0067, 0xFF}, - {"E_Make", 0x0068, 0xFF}, {"Bhhashi", 0x0069, 0xFF}, {"Yousei", 0x013F, 0xFF}, - {"G_Kabe", 0x013E, 0xFF}, {"B_ling", 0x013A, 0xFF}, {"kab_o", 0x0140, 0xFF}, - {"I_Cho", 0x0141, 0xFF}, {"I_Kuw", 0x0142, 0xFF}, {"I_Nan", 0x0143, 0xFF}, - {"I_Dan", 0x0144, 0xFF}, {"I_Kam", 0x0145, 0xFF}, {"I_Ten", 0x0146, 0xFF}, - {"I_Ari", 0x0147, 0xFF}, {"I_Kag", 0x0148, 0xFF}, {"I_Tom", 0x014A, 0xFF}, - {"I_Bat", 0x0149, 0xFF}, {"I_Kat", 0x014B, 0xFF}, {"H_Saku", 0x014C, 0xFF}, - {"sm_door", 0x012B, 0xFF}, {"Kaisou", 0x006A, 0xFF}, {"Ni", 0x0108, 0xFF}, - {"Fr", 0x02E2, 0xFF}, {"Sq", 0x010A, 0xFF}, {"Bd", 0x0300, 0xFF}, - {"Obj_ki", 0x0111, 0xFF}, {"Do", 0x010C, 0xFF}, {"Lm", 0x0135, 0x00}, - {"Tr", 0x0135, 0x05}, {"Npc_tr", 0x010E, 0xFF}, {"Npc_lf", 0x010F, 0xFF}, - {"Fish", 0x0136, 0xFF}, {"NPC_TK", 0x0100, 0xFF}, {"Obj_fd", 0x0110, 0xFF}, - {"MYNA", 0x0232, 0xFF}, {"SSITEM", 0x0121, 0xFF}, {"SSDRINK", 0x0120, 0xFF}, - {"TGDRINK", 0x0122, 0xFF}, {"Tag_Btl", 0x0123, 0xFF}, {"lv5soup", 0x0124, 0xFF}, - {"TGMNLIG", 0x0125, 0xFF}, {"TGSPCAM", 0x0126, 0xFF}, {"TGSPITM", 0x0127, 0xFF}, - {"OilTubo", 0x011E, 0xFF}, {"Roten", 0x011F, 0xFF}, {"Pleaf", 0x02F5, 0xFF}, - {"KBacket", 0x02F6, 0xFF}, {"YBag", 0x02F7, 0xFF}, {"Pumpkin", 0x02F8, 0xFF}, - {"Obj_kg", 0x02FB, 0xFF}, {"BbKago", 0x02FB, 0x00}, {"OnKago", 0x02FB, 0x01}, - {"ObjHasi", 0x006B, 0xFF}, {"Thashi", 0x006E, 0xFF}, {"B_Hashi", 0x006C, 0xFF}, - {"E_MD", 0x01BC, 0xFF}, {"E_s1", 0x01B4, 0xFF}, {"E_wb", 0x00EF, 0xFF}, - {"E_rd", 0x01D4, 0xFF}, {"E_rdb", 0x01D5, 0xFF}, {"E_rdy", 0x01D6, 0xFF}, - {"E_fm", 0x01D7, 0xFF}, {"E_dn", 0x01B3, 0xFF}, {"E_mf", 0x01B5, 0xFF}, - {"TreeSh", 0x0031, 0xFF}, {"E_bug", 0x01EC, 0xFF}, {"E_bee", 0x01ED, 0xFF}, - {"E_nest", 0x01E8, 0xFF}, {"E_kr", 0x01F0, 0xFF}, {"E_st", 0x01BF, 0xFF}, - {"E_tk", 0x01D0, 0xFF}, {"E_tk2", 0x01D1, 0xFF}, {"E_th", 0x01C2, 0xFF}, - {"E_cr", 0x01C3, 0xFF}, {"E_df", 0x01BA, 0xFF}, {"E_ph", 0x00E4, 0xFF}, - {"E_fs", 0x01D8, 0xFF}, {"E_SB", 0x01C1, 0xFF}, {"E_HM", 0x01CF, 0xFF}, - {"E_fk", 0x01E6, 0xFF}, {"E_pm", 0x01D9, 0xFF}, {"Npc_ne", 0x010D, 0xFF}, - {"E_db", 0x01C5, 0xFF}, {"E_kg", 0x01EF, 0xFF}, {"E_sh", 0x01B9, 0xFF}, - {"E_sf", 0x01B8, 0xFF}, {"Obj_lb", 0x0027, 0xFF}, {"Obj_kb", 0x02EF, 0xFF}, - {"E_bs", 0x01B7, 0xFF}, {"Sekizoa", 0x0020, 0x00}, {"Sekizob", 0x0020, 0x01}, - {"E_sm", 0x01BD, 0xFF}, {"E_sm2", 0x01BE, 0xFF}, {"ky_tag0", 0x02AA, 0xFF}, - {"ky_tag1", 0x02AB, 0x00}, {"ky_tag2", 0x02AC, 0xFF}, {"ky_tag3", 0x02AB, 0x01}, - {"kytag3", 0x02AD, 0xFF}, {"DK_tag", 0x02AE, 0xFF}, {"PPHole", 0x02AF, 0xFF}, - {"KY_chg", 0x02B0, 0xFF}, {"Plight", 0x02B1, 0xFF}, {"KY_mk", 0x02B2, 0xFF}, - {"Bound", 0x02B3, 0xFF}, {"WC_tag", 0x02AB, 0x02}, {"Sparks", 0x02B4, 0xFF}, - {"Tcntrl", 0x02B5, 0xFF}, {"Drkmst", 0x02B6, 0xFF}, {"Blsnow", 0x02B7, 0xFF}, - {"Savmem", 0x02B8, 0xFF}, {"Zshake", 0x02B9, 0xFF}, {"Pikari", 0x02BA, 0xFF}, - {"Lmask", 0x02BB, 0xFF}, {"E_is", 0x01EE, 0xFF}, {"E_ai", 0x01AF, 0xFF}, - {"E_ba", 0x01EA, 0xFF}, {"E_bu", 0x01EB, 0xFF}, {"E_sw", 0x01F1, 0xFF}, - {"E_ge", 0x01F2, 0xFF}, {"TagGe", 0x01F3, 0xFF}, {"E_ym", 0x01F4, 0xFF}, - {"E_ymt", 0x01F5, 0xFF}, {"E_ymb", 0x01F6, 0xFF}, {"Fwall", 0x01F7, 0xFF}, - {"E_hz", 0x01FC, 0xFF}, {"E_ws", 0x01FD, 0xFF}, {"E_oc", 0x01FE, 0xFF}, - {"E_dt", 0x0200, 0xFF}, {"E_bg", 0x0201, 0xFF}, {"E_octbg", 0x0202, 0xFF}, - {"E_tt", 0x0206, 0xFF}, {"E_dk", 0x0207, 0xFF}, {"E_vt", 0x0208, 0xFF}, - {"E_ww", 0x0209, 0xFF}, {"E_gi", 0x020A, 0xFF}, {"E_mk", 0x01DC, 0xFF}, - {"B_gm", 0x020D, 0xFF}, {"E_gm", 0x01BB, 0xFF}, {"E_gs", 0x01B0, 0xFF}, - {"Npc_ne", 0x010D, 0xFF}, {"Obj_gm", 0x002E, 0xFF}, {"E_mm", 0x01DD, 0xFF}, - {"E_mm2", 0x01DD, 0x01}, {"E_fz", 0x01DE, 0xFF}, {"E_fb", 0x01E5, 0xFF}, - {"E_Zs", 0x01DF, 0xFF}, {"E_kk", 0x01E0, 0xFF}, {"E_hp", 0x01E1, 0xFF}, - {"E_zh", 0x01E2, 0xFF}, {"E_zm", 0x01E3, 0xFF}, {"E_zm2", 0x01E3, 0x01}, - {"E_pz", 0x01E4, 0xFF}, {"Kita", 0x0112, 0xFF}, {"E_nz", 0x01E9, 0xFF}, - {"E_po", 0x01DA, 0xFF}, {"Obj_w0", 0x0028, 0xFF}, {"Obj_w1", 0x0029, 0xFF}, - {"Obj_cb", 0x002A, 0xFF}, {"Obj_mak", 0x002B, 0xFF}, {"Obj_brg", 0x002C, 0xFF}, - {"E_rb", 0x01D3, 0xFF}, {"E_sg", 0x01B6, 0xFF}, {"Obj_tby", 0x002F, 0xFF}, - {"Obj_sw", 0x00F1, 0xFF}, {"Npc_ks", 0x0060, 0xFF}, {"Obj_so", 0x001C, 0xFF}, - {"E_bi", 0x0304, 0xFF}, {"Obj_key", 0x0113, 0xFF}, {"E_hb", 0x01C9, 0xFF}, - {"Obj_hb", 0x02FE, 0xFF}, {"B_bq", 0x020C, 0xFF}, {"B_bh", 0x020B, 0xFF}, - {"B_go", 0x020F, 0xFF}, {"Obj_fw", 0x02F0, 0xFF}, {"E_ga", 0x01C7, 0xFF}, - {"E_gb", 0x01C8, 0xFF}, {"E_wap", 0x0217, 0xFF}, {"Obj_sui", 0x011D, 0xFF}, - {"Obj_bal", 0x011C, 0xFF}, {"Obj_lp", 0x0116, 0xFF}, {"Obj_nd", 0x0128, 0xFF}, - {"Obj_ud", 0x0129, 0xFF}, {"Obj_us", 0x012A, 0xFF}, {"Obj_kn2", 0x011B, 0xFF}, - {"Obj_kyh", 0x0114, 0xFF}, {"Bed", 0x012C, 0xFF}, {"BouMato", 0x012D, 0xFF}, - {"AutoMt", 0x02F9, 0xFF}, {"Gadget", 0x02FA, 0xFF}, {"ItaMato", 0x012E, 0xFF}, - {"Nougu", 0x012F, 0xFF}, {"Stick", 0x0130, 0xFF}, {"Mie", 0x0131, 0xFF}, - {"SkDoor", 0x0132, 0xFF}, {"Sekizo", 0x0133, 0xFF}, {"SMTile", 0x0134, 0xFF}, - {"H_kage", 0x011A, 0xFF}, {"E_ms", 0x01E7, 0xFF}, {"Obj_tp", 0x0030, 0xFF}, - {"Obj_ms", 0x007B, 0xFF}, {"E_gob", 0x01B1, 0xFF}, {"E_yk", 0x01F9, 0xFF}, - {"E_yr", 0x01FA, 0xFF}, {"E_yg", 0x01FB, 0xFF}, {"Obj_fm", 0x0026, 0xFF}, - {"B_ob", 0x00F3, 0xFF}, {"OcHashi", 0x006D, 0xFF}, {"E_dd", 0x01B2, 0xFF}, - {"Obj_rw", 0x0220, 0xFF}, {"Obj_ih", 0x00DE, 0xFF}, {"E_yc", 0x00F5, 0xFF}, - {"B_ds", 0x00F6, 0xFF}, {"B_dr", 0x00F7, 0xFF}, {"B_gg", 0x0214, 0xFF}, - {"B_yo", 0x0211, 0xFF}, {"B_tn", 0x0213, 0xFF}, {"B_zant", 0x00F9, 0xFF}, - {"B_zntm", 0x00F8, 0xFF}, {"B_znts", 0x007D, 0xFF}, {"E_yd", 0x01CC, 0xFF}, - {"E_yh", 0x01CD, 0xFF}, {"Henna", 0x0255, 0xFF}, {"Henna0", 0x0256, 0xFF}, - {"Npc_du", 0x0138, 0x00}, {"Econt", 0x02E3, 0xFF}, {"B_mgn", 0x0216, 0xFF}, - {"Hzelda", 0x01CB, 0xFF}, {"Worm", 0x0101, 0xFF}, {"B_gnd", 0x020E, 0xFF}, - {"Obj_gb", 0x002D, 0xFF}, {"tboxA0", 0x00FB, 0xFF}, {"tboxA1", 0x00FB, 0xFF}, - {"tboxA2", 0x00FB, 0xFF}, {"tboxB0", 0x00FB, 0xFF}, {"tboxB1", 0x00FB, 0xFF}, - {"tboxB2", 0x00FB, 0xFF}, {"tboxJ0", 0x00FB, 0xFF}, {"tboxP0", 0x00FB, 0xFF}, - {"tboxB00", 0x00FB, 0xFF}, {"tboxB01", 0x00FB, 0xFF}, {"tboxW0", 0x00FB, 0xFF}, - {"tboxEL0", 0x00FC, 0xFF}, {"tboxEL1", 0x00FC, 0xFF}, {"l8warp", 0x0163, 0xFF}, - {"L1Bdoor", 0x0229, 0xFF}, {"L2Bdoor", 0x0229, 0xFF}, {"L3Bdoor", 0x0055, 0xFF}, - {"L4Bdoor", 0x0229, 0xFF}, {"L5Bdoor", 0x022B, 0xFF}, {"L6Bdoor", 0x0229, 0xFF}, - {"L7Bdoor", 0x0229, 0xFF}, {"L8Bdoor", 0x0229, 0xFF}, {"L9Bdoor", 0x0229, 0xFF}, - {"L1Mdoor", 0x022A, 0x01}, {"L2Mdoor", 0x022A, 0x02}, {"L3Mdoor", 0x022A, 0x03}, - {"L4Mdoor", 0x022A, 0x04}, {"L5Mdoor", 0x022A, 0x05}, {"L6Mdoor", 0x022A, 0x06}, - {"L7Mdoor", 0x022A, 0x07}, {"L8Mdoor", 0x022A, 0x08}, {"L7door", 0x022A, 0x0A}, - {"L5door", 0x022A, 0x0B}, {"Horse", 0x00EE, 0xFF}, {"Canoe", 0x00ED, 0xFF}, - {"Crope", 0x02BE, 0xFF}, {"Cstatue", 0x0198, 0xFF}, {"CstaF", 0x00BB, 0xFF}, - {"HoZelda", 0x0224, 0xFF}, {"Mhint", 0x02C1, 0xFF}, {"Mmsg", 0x02C2, 0xFF}, - {"Mwait", 0x02C3, 0xFF}, {"Mstop", 0x02C4, 0xFF}, {"MstopE", 0x02C4, 0xFF}, - {"Hinit", 0x00E9, 0xFF}, {"Hjump", 0x00EA, 0xFF}, {"Hstop", 0x00EC, 0xFF}, - {"AJnot", 0x00EB, 0xFF}, {"Wljump", 0x02C7, 0xFF}, {"Sppath", 0x02C6, 0xFF}, - {"Stream", 0x02C5, 0xFF}, {"Gstart", 0x0019, 0xFF}, {"TgTGate", 0x02C8, 0xFF}, - {"Lv6Gate", 0x02C9, 0xFF}, {"Lv7Gate", 0x02CA, 0xFF}, {"Lv8Gate", 0x02CB, 0xFF}, - {"TgTHint", 0x02CC, 0xFF}, {"TagAsst", 0x02CD, 0xFF}, {"Dmidna", 0x02D8, 0xFF}, - {"Fchain", 0x0158, 0xFF}, {"Wchain", 0x0159, 0xFF}, {"Cdoor", 0x0034, 0xFF}, - {"Cgate", 0x0034, 0xFF}, {"Water00", 0x0035, 0xFF}, {"Digpl", 0x0053, 0xFF}, - {"Digholl", 0x0052, 0xFF}, {"Bombf", 0x02BF, 0xFF}, {"hider", 0x030F, 0xFF}, - {"SwAreaC", 0x0225, 0xFF}, {"SwAreaS", 0x0225, 0xFF}, {"SwLBall", 0x017D, 0xFF}, - {"SwBall", 0x017E, 0xFF}, {"thouse", 0x00A7, 0xFF}, {"ironbox", 0x0079, 0xFF}, - {"l6swtrn", 0x001F, 0xFF}, {"l2bmtag", 0x0182, 0xFF}, {"swspin", 0x00B3, 0xFF}, - {"spnGear", 0x0183, 0xFF}, {"fan", 0x0186, 0xFF}, {"tgake", 0x00BA, 0xFF}, - {"tmoon", 0x0195, 0xFF}, {"gwall", 0x0196, 0xFF}, {"gwall2", 0x00C0, 0xFF}, - {"scnChg", 0x030C, 0xFF}, {"scnChg2", 0x01A7, 0xFF}, {"noChgRm", 0x001A, 0xFF}, - {"readRm", 0x001A, 0x00}, {"Tetd", 0x022C, 0xFF}, {"fence", 0x022C, 0xFF}, - {"lv7saku", 0x022C, 0xFF}, {"YkgrON", 0x02BC, 0xFF}, {"YkgrOFF", 0x02BC, 0xFF}, - {"TagEv", 0x02D1, 0xFF}, {"TagEvC", 0x02D1, 0xFF}, {"TagEvt", 0x02D2, 0x00}, - {"TagEvt1", 0x02D2, 0x01}, {"TagHowl", 0x02D4, 0x01}, {"Tag_ms", 0x02D5, 0x00}, - {"LntnTag", 0x02D6, 0xFF}, {"EvtArea", 0x02E9, 0xFF}, {"AllMato", 0x030A, 0xFF}, - {"EvtMsg", 0x02EA, 0xFF}, {"KMsg", 0x02EB, 0xFF}, {"Push", 0x02EC, 0xFF}, - {"Teloper", 0x02D3, 0xFF}, {"CamChg", 0x02CF, 0xFF}, {"CamArea", 0x02CF, 0xFF}, - {"CamAreC", 0x02CF, 0xFF}, {"ChkPntS", 0x02D0, 0xFF}, {"ChkPntC", 0x02D0, 0xFF}, - {"setball", 0x019F, 0xFF}, {"atkItem", 0x01AA, 0xFF}, {"TagStat", 0x01AE, 0xFF}, - {"zdoor", 0x0032, 0xFF}, {"rdoor", 0x0032, 0xFF}, {"STDoa", 0x0032, 0xFF}, - {"hasi00", 0x0033, 0xFF}, {"hasi01", 0x0033, 0xFF}, {"window", 0x0078, 0xFF}, - {"bbox", 0x007A, 0xFF}, {"spiralC", 0x00D4, 0xFF}, {"spiral2", 0x00D4, 0xFF}, - {"digsnow", 0x0090, 0xFF}, {"digsand", 0x00A9, 0xFF}, {"fallobj", 0x00AA, 0xFF}, - {"l7brg", 0x00B5, 0xFF}, {"dr", 0x0203, 0xFF}, {"L7lowDr", 0x0204, 0xFF}, - {"swTime", 0x01A1, 0xFF}, {"pdrobj", 0x00BE, 0xFF}, {"crystal", 0x01A4, 0xFF}, - {"WarpBrg", 0x00DA, 0xFF}, {"WarpB2", 0x00DA, 0xFF}, {"WarpOB1", 0x00DB, 0x00}, - {"WarpOB2", 0x00DB, 0x01}, {"VolcGnd", 0x00E2, 0xFF}, {"r09wtr", 0x017F, 0xFF}, - {"ballSw", 0x0199, 0xFF}, {"lballSw", 0x019A, 0xFF}, {"lbsw", 0x01A6, 0xFF}, - {"R50Sand", 0x00BD, 0xFF}, {"rwall", 0x00BC, 0xFF}, {"l4brg", 0x00C1, 0xFF}, - {"l4floor", 0x00C2, 0xFF}, {"item", 0x0218, 0xFF}, {"itemKey", 0x0219, 0xFF}, - {"kantera", 0x021A, 0xFF}, {"witem", 0x0218, 0xFF}, {"wshield", 0x021C, 0xFF}, - {"htPiece", 0x021B, 0xFF}, {"htCase", 0x021B, 0xFF}, {"Mbrid15", 0x0036, 0xFF}, - {"Mbrid9", 0x0036, 0xFF}, {"maglift", 0x0037, 0xFF}, {"Cldst00", 0x0039, 0xFF}, - {"Cldst01", 0x003A, 0xFF}, {"RMback0", 0x022F, 0xFF}, {"RMback1", 0x022E, 0xFF}, - {"Mist", 0x02D7, 0xFF}, {"magLifR", 0x0038, 0xFF}, {"TCdlst", 0x003B, 0xFF}, - {"wdstick", 0x0165, 0xFF}, {"stBlock", 0x0166, 0xFF}, {"hsMato", 0x003C, 0xFF}, - {"ktFire", 0x0168, 0xFF}, {"hswitch", 0x003D, 0xFF}, {"goGate", 0x003E, 0xFF}, - {"taAmi", 0x003F, 0xFF}, {"fireWd", 0x0169, 0xFF}, {"fireWd2", 0x016A, 0xFF}, - {"altar", 0x0040, 0xFF}, {"gpTaru", 0x016B, 0xFF}, {"spinLf", 0x0041, 0xFF}, - {"bmWin", 0x0042, 0xFF}, {"roofHl", 0x0043, 0xFF}, {"syRock", 0x0045, 0xFF}, - {"wColumn", 0x0044, 0xFF}, {"kpot", 0x016D, 0xFF}, {"bsGate", 0x0046, 0xFF}, - {"amiShut", 0x0047, 0xFF}, {"kwhel00", 0x00C7, 0xFF}, {"kwhel01", 0x00C8, 0xFF}, - {"PRElvtr", 0x00CA, 0xFF}, {"swhel00", 0x00C7, 0xFF}, {"M_hasu", 0x00CB, 0xFF}, - {"yiblltr", 0x00CC, 0xFF}, {"l6egate", 0x00CD, 0xFF}, {"l6eleva", 0x001B, 0xFF}, - {"wtGate", 0x0048, 0xFF}, {"candlL2", 0x0049, 0xFF}, {"togeTp", 0x004A, 0xFF}, - {"rotTrap", 0x004B, 0xFF}, {"klift00", 0x00D1, 0xFF}, {"l4chand", 0x00D3, 0xFF}, - {"Ychndlr", 0x00C9, 0xFF}, {"hbmbkoy", 0x00D8, 0xFF}, {"TagCsw", 0x0222, 0xFF}, - {"TagCswO", 0x0222, 0xFF}, {"P_Rwall", 0x00D0, 0xFF}, {"PDtile", 0x00CE, 0xFF}, - {"PDwall", 0x00CF, 0xFF}, {"Qs", 0x0223, 0xFF}, {"mirror", 0x02DF, 0xFF}, - {"rGate", 0x004C, 0xFF}, {"l3water", 0x00D5, 0xFF}, {"l3wat02", 0x00D6, 0xFF}, - {"l3watB", 0x00D7, 0xFF}, {"szbridg", 0x00D9, 0xFF}, {"kjgjs", 0x00DD, 0xFF}, - {"kjs", 0x00DD, 0xFF}, {"candlL3", 0x0172, 0xFF}, {"l5icewl", 0x004D, 0xFF}, - {"Turara", 0x0050, 0xFF}, {"twGate", 0x0051, 0xFF}, {"L4cdlTg", 0x0173, 0xFF}, - {"L4cddTg", 0x0174, 0xFF}, {"togeRol", 0x0093, 0xFF}, {"l6TogeT", 0x0094, 0xFF}, - {"Tenbin", 0x0095, 0xFF}, {"l6Lblk", 0x0097, 0xFF}, {"l6SwGt", 0x0096, 0xFF}, - {"l6ChBlk", 0x0098, 0xFF}, {"l6FuriT", 0x0099, 0xFF}, {"KHdesk", 0x008F, 0xFF}, - {"Ytaihou", 0x0091, 0xFF}, {"L4eShut", 0x009B, 0xFF}, {"pofire", 0x0179, 0xFF}, - {"pofiTg", 0x017A, 0xFF}, {"poCandl", 0x00A8, 0xFF}, {"L4Gate", 0x009C, 0xFF}, - {"L4Pgate", 0x009D, 0xFF}, {"L4SWall", 0x009E, 0xFF}, {"L4hmato", 0x009F, 0xFF}, - {"propy", 0x00A0, 0xFF}, {"L7BsGt", 0x00A1, 0xFF}, {"optLift", 0x00A2, 0xFF}, - {"kkiTrap", 0x00A3, 0xFF}, {"L8LiftX", 0x00A4, 0xFF}, {"swStep", 0x00A5, 0xFF}, - {"L9SwSht", 0x00A6, 0xFF}, {"L5SwIce", 0x004E, 0xFF}, {"glwSph", 0x017B, 0xFF}, - {"MR_Scrw", 0x00AE, 0xFF}, {"MR_Sand", 0x00AF, 0xFF}, {"MR_Tble", 0x00B0, 0xFF}, - {"MR_Chin", 0x00B1, 0xFF}, {"MR_Pole", 0x00B2, 0xFF}, {"PPolamp", 0x0102, 0xFF}, - {"l5hYuka", 0x004F, 0xFF}, {"BYRock", 0x0103, 0xFF}, {"zrDrock", 0x00B6, 0xFF}, - {"tkrDai", 0x00B7, 0xFF}, {"Table", 0x00B8, 0xFF}, {"CatDoor", 0x00B9, 0xFF}, - {"RetTag", 0x0189, 0xFF}, {"WdStone", 0x018A, 0xFF}, {"HwlWara", 0x018B, 0xFF}, - {"SCannon", 0x018C, 0xFF}, {"szGate", 0x009A, 0xFF}, {"onsTaru", 0x016C, 0xFF}, - {"WStoneF", 0x018D, 0xFF}, {"SCanCrs", 0x018E, 0xFF}, {"snwEfTg", 0x018F, 0xFF}, - {"tmFire", 0x0194, 0xFF}, {"L7Prop", 0x0197, 0xFF}, {"awaPlar", 0x0192, 0xFF}, - {"poTbox", 0x0193, 0xFF}, {"SnwSoup", 0x019B, 0xFF}, {"Nagaisu", 0x019C, 0xFF}, - {"RCircle", 0x019D, 0xFF}, {"L9Chand", 0x00E6, 0xFF}, {"L9Pictr", 0x019E, 0xFF}, - {"SmkEmt", 0x01A0, 0xFF}, {"HFtr", 0x01A2, 0xFF}, {"HBarrel", 0x01A3, 0xFF}, - {"SCanTen", 0x01A5, 0xFF}, {"cstaSw", 0x0190, 0xFF}, {"l6cstSw", 0x0191, 0xFF}, - {"Hata", 0x01A8, 0xFF}, {"RmbitSw", 0x01AB, 0xFF}, {"T_Maki", 0x01A9, 0xFF}, - {"d_act", 0x02CE, 0xFF}, {"d_act0", 0x02CE, 0x00}, {"d_act1", 0x02CE, 0x01}, - {"d_act2", 0x02CE, 0x02}, {"d_act3", 0x02CE, 0x03}, {"d_act4", 0x02CE, 0x04}, - {"d_act5", 0x02CE, 0x05}, {"d_act6", 0x02CE, 0x06}, {"d_act7", 0x02CE, 0x07}, - {"d_act8", 0x02CE, 0x08}, {"d_act9", 0x02CE, 0x09}, {"d_act10", 0x02CE, 0x0A}, - {"d_act11", 0x02CE, 0x0B}, {"d_act12", 0x02CE, 0x0C}, {"d_act13", 0x02CE, 0x0D}, - {"d_act14", 0x02CE, 0x0E}, {"d_act15", 0x02CE, 0x0F}, {"d_act16", 0x02CE, 0x10}, - {"d_act17", 0x02CE, 0x11}, {"d_act18", 0x02CE, 0x12}, {"d_act19", 0x02CE, 0x13}, - {"d_act20", 0x02CE, 0x14}, {"d_act21", 0x02CE, 0x15}, {"d_act22", 0x02CE, 0x16}, - {"d_act23", 0x02CE, 0x17}, {"d_act24", 0x02CE, 0x18}, {"d_act25", 0x02CE, 0x19}, - {"d_act26", 0x02CE, 0x1A}, {"d_act27", 0x02CE, 0x1B}, {"d_act28", 0x02CE, 0x1C}, - {"d_act29", 0x02CE, 0x1D}, {"d_act30", 0x02CE, 0x1E}, {"d_act31", 0x02CE, 0x1F}, - {"TLogo", 0x02E1, 0xFF}, {"ClearB", 0x0063, 0xFF}, {"Bg", 0x02DC, 0xFF}, - {"Boom", 0x00FE, 0xFF}, {"Nbomb", 0x0221, 0xFF}, {"Arrow", 0x0308, 0xFF}, - {"E_Arrow", 0x02E5, 0xFF}, {"Spinner", 0x00F2, 0xFF}, {"Crod", 0x02F4, 0xFF}, - {"Midna", 0x00FF, 0xFF}, {"Vrbox", 0x02DA, 0xFF}, {"Vrbox2", 0x02DB, 0xFF}, - {"mvbg_a", 0x02DE, 0xFF}, {"burnBox", 0x00DC, 0xFF}, {"stnMark", 0x0171, 0xFF}, - {"Passer", 0x028F, 0xFF}, {"Passer2", 0x0290, 0xFF}, {"ShopItm", 0x021E, 0xFF}, - {"E_yd_lf", 0x01CE, 0xFF}, {"E_db_lf", 0x01C6, 0xFF}, {"E_hb_lf", 0x01CA, 0xFF}, - {"E_bi_lf", 0x0305, 0xFF}, {"O_Mato", 0x013A, 0xFF}, {"O_Flag", 0x013B, 0xFF}, - {"O_Flag2", 0x013C, 0xFF}, {"O_Flag3", 0x013D, 0xFF}, {"CRVLH_U", 0x0073, 0xFF}, - {"DemoItm", 0x021D, 0xFF}, {"EndCode", 0x000B, 0xFF}, + OBJNAME("Grass", PROC_GRASS, 0xFF), + OBJNAME("kusax1", PROC_GRASS, 0xFF), + OBJNAME("kusax7", PROC_GRASS, 0xFF), + OBJNAME("kusax21", PROC_GRASS, 0xFF), + OBJNAME("flower", PROC_GRASS, 0xFF), + OBJNAME("flwr7", PROC_GRASS, 0xFF), + OBJNAME("flwr17", PROC_GRASS, 0xFF), + OBJNAME("pflower", PROC_GRASS, 0xFF), + OBJNAME("pflwrx7", PROC_GRASS, 0xFF), + OBJNAME("door", PROC_DOOR20, 0xFF), + OBJNAME("kdoor", PROC_KNOB20, 0xFF), + OBJNAME("ddoor", PROC_DBDOOR, 0xFF), + OBJNAME("bdoor", PROC_BOSS_DOOR, 0xFF), + OBJNAME("ndoor", PROC_DOOR20, 0xFF), + OBJNAME("tadoor", PROC_DOOR20, 0xFF), + OBJNAME("yodoor", PROC_DOOR20, 0xFF), + OBJNAME("nadoor", PROC_DOOR20, 0xFF), + OBJNAME("l9door", PROC_DOOR20, 0xFF), + OBJNAME("l7door", PROC_DOOR20, 0xFF), + OBJNAME("pdoor", PROC_PushDoor, 0xFF), + OBJNAME("bigdoor", PROC_DOOR20, 0xFF), + OBJNAME("kshtr00", PROC_Obj_Kshutter, 0xFF), + OBJNAME("vshuter", PROC_Obj_Kshutter, 0xFF), + OBJNAME("IzmGate", PROC_Izumi_Gate, 0xFF), + OBJNAME("NoneCam", PROC_CAMERA, 0xFF), + OBJNAME("NormCam", PROC_CAMERA, 0xFF), + OBJNAME("Link", PROC_ALINK, 0xFF), + OBJNAME("carry00", PROC_Obj_Carry, 0xFF), + OBJNAME("carry01", PROC_Obj_Carry, 0xFF), + OBJNAME("carry02", PROC_Obj_Carry, 0xFF), + OBJNAME("carry04", PROC_Obj_Carry, 0xFF), + OBJNAME("carry05", PROC_Obj_Carry, 0xFF), + OBJNAME("carry06", PROC_Obj_Carry, 0xFF), + OBJNAME("carry07", PROC_Obj_Carry, 0xFF), + OBJNAME("carry08", PROC_Obj_Carry, 0xFF), + OBJNAME("carry09", PROC_Obj_Carry, 0xFF), + OBJNAME("ball1", PROC_Obj_Carry, 0xFF), + OBJNAME("ball2", PROC_Obj_Carry, 0xFF), + OBJNAME("ball3", PROC_Obj_Carry, 0xFF), + OBJNAME("carry12", PROC_Obj_Carry, 0xFF), + OBJNAME("carry13", PROC_Obj_Carry, 0xFF), + OBJNAME("TagLite", PROC_Tag_LightBall, 0xFF), + OBJNAME("InoBone", PROC_Obj_InoBone, 0xFF), + OBJNAME("osiBLK0", PROC_Obj_Movebox, 0x00), + OBJNAME("dmblk", PROC_Obj_Movebox, 0x00), + OBJNAME("Kkiba", PROC_Obj_Movebox, 0x02), + OBJNAME("smblk", PROC_Obj_Movebox, 0x02), + OBJNAME("Lv4blk", PROC_Obj_Movebox, 0xFF), + OBJNAME("Lv4blk2", PROC_Obj_Movebox, 0xFF), + OBJNAME("gstone", PROC_Obj_Movebox, 0xFF), + OBJNAME("TagAtt", PROC_Tag_Attp, 0xFF), + OBJNAME("mmvbg", PROC_SET_BG_OBJ, 0xFF), + OBJNAME("Drop", PROC_Obj_Drop, 0xFF), + OBJNAME("BkLeaf", PROC_Obj_BkLeaf, 0xFF), + OBJNAME("cylwind", PROC_Obj_Tornado, 0xFF), + OBJNAME("TagTrnd", PROC_Obj_Tornado2, 0xFF), + OBJNAME("mvstair", PROC_Obj_MvStair, 0xFF), + OBJNAME("UHDoor", PROC_Obj_Cowdoor, 0xFF), + OBJNAME("SwBoom", PROC_Obj_Swpropeller, 0xFF), + OBJNAME("Swboom", PROC_Obj_Swpropeller, 0xFF), + OBJNAME("BoomSht", PROC_Obj_BoomShutter, 0xFF), + OBJNAME("haihai", PROC_Obj_Hfuta, 0xFF), + OBJNAME("stopper", PROC_Obj_Stopper, 0xFF), + OBJNAME("dstop", PROC_Obj_Stopper2, 0xFF), + OBJNAME("mhole", PROC_Obj_MHole, 0xFF), + OBJNAME("mhole2", PROC_Obj_MHole, 0xFF), + OBJNAME("TagMag", PROC_Tag_Magne, 0xFF), + OBJNAME("P_Warp", PROC_Obj_BossWarp, 0xFF), + OBJNAME("fpillar", PROC_Obj_FirePillar, 0xFF), + OBJNAME("yfire", PROC_Obj_FirePillar2, 0xFF), + OBJNAME("pfire", PROC_Obj_FirePillar2, 0xFF), + OBJNAME("Huriko1", PROC_Obj_WoodPendulum, 0xFF), + OBJNAME("VolBall", PROC_Obj_VolcanicBall, 0xFF), + OBJNAME("VolBom", PROC_Obj_VolcanicBall, 0xFF), + OBJNAME("BigVolc", PROC_Obj_VolcanicBomb, 0xFF), + OBJNAME("geyser", PROC_Obj_Geyser, 0xFF), + OBJNAME("Cwall", PROC_Obj_ChainWall, 0xFF), + OBJNAME("Tansu", PROC_Obj_Chest, 0xFF), + OBJNAME("Onsen", PROC_Obj_Onsen, 0xFF), + OBJNAME("Obj_bm", PROC_Obj_Bemos, 0xFF), + OBJNAME("lv6bm", PROC_Obj_Lv6bemos, 0xFF), + OBJNAME("E_bm6", PROC_Obj_Lv6bemos2, 0xFF), + OBJNAME("stone", PROC_Obj_Stone, 0xFF), + OBJNAME("stoneB", PROC_Obj_Stone, 0xFF), + OBJNAME("TagSpin", PROC_Tag_Spinner, 0xFF), + OBJNAME("L_RopeS", PROC_Obj_RopeBridge, 0xFF), + OBJNAME("L_RopeB", PROC_Obj_RopeBridge, 0xFF), + OBJNAME("wcover", PROC_Obj_WellCover, 0xFF), + OBJNAME("rstair", PROC_Obj_RotStair, 0xFF), + OBJNAME("marm", PROC_Obj_MagneArm, 0xFF), + OBJNAME("turnSw", PROC_Obj_SwTurn, 0xFF), + OBJNAME("chainSw", PROC_Obj_SwChain, 0xFF), + OBJNAME("wsword", PROC_Obj_WoodenSword, 0xFF), + OBJNAME("iceblk", PROC_Obj_IceBlock, 0xFF), + OBJNAME("KkrSmk", PROC_Obj_Smoke, 0xFF), + OBJNAME("dmele", PROC_Obj_Elevator, 0xFF), + OBJNAME("wfall", PROC_Obj_WaterFall, 0xFF), + OBJNAME("izora", PROC_Obj_ZoraCloth, 0xFF), + OBJNAME("smgdoor", PROC_Obj_SmgDoor, 0xFF), + OBJNAME("smkdoor", PROC_Obj_SmgDoor, 0xFF), + OBJNAME("Obj_ava", PROC_Obj_Avalanche, 0xFF), + OBJNAME("thdoor", PROC_Obj_TDoor, 0xFF), + OBJNAME("mstrsrd", PROC_Obj_MasterSword, 0xFF), + OBJNAME("wimage", PROC_Obj_WoodStatue, 0xFF), + OBJNAME("sword", PROC_Obj_Sword, 0xFF), + OBJNAME("spring", PROC_Tag_Spring, 0xFF), + OBJNAME("BkDoorL", PROC_Obj_BkDoor, 0xFF), + OBJNAME("BkDoorR", PROC_Obj_BkDoor, 0xFF), + OBJNAME("IGateL", PROC_Obj_MGate, 0xFF), + OBJNAME("IGateR", PROC_Obj_MGate, 0xFF), + OBJNAME("HGateL", PROC_Obj_MGate, 0xFF), + OBJNAME("HGateR", PROC_Obj_MGate, 0xFF), + OBJNAME("K_Gate", PROC_Obj_KkrGate, 0xFF), + OBJNAME("R_Gate", PROC_Obj_RiderGate, 0xFF), + OBJNAME("kkanban", PROC_Obj_KKanban, 0xFF), + OBJNAME("Mhsg6", PROC_Obj_Ladder, 0x00), + OBJNAME("Mhsg9", PROC_Obj_Ladder, 0x01), + OBJNAME("Mhsg12", PROC_Obj_Ladder, 0x02), + OBJNAME("Mhsg15", PROC_Obj_Ladder, 0x03), + OBJNAME("Mhsg4h", PROC_Obj_Ladder, 0x04), + OBJNAME("Mhsg3", PROC_Obj_Ladder, 0x05), + OBJNAME("bonbori", PROC_EP, 0xFF), + OBJNAME("Cow", PROC_COW, 0xFF), + OBJNAME("Peru", PROC_PERU, 0xFF), + OBJNAME("Kago", PROC_KAGO, 0xFF), + OBJNAME("TagFall", PROC_Tag_WaterFall, 0xFF), + OBJNAME("Kbota_A", PROC_Obj_Swpush, 0x00), + OBJNAME("Kbota_B", PROC_Obj_Swpush, 0x01), + OBJNAME("KbotaC", PROC_Obj_Swpush, 0x02), + OBJNAME("Swpush", PROC_Obj_Swpush, 0x00), + OBJNAME("Lv3bota", PROC_Obj_Swpush, 0x00), + OBJNAME("Ksw00_C", PROC_Obj_Swpush2, 0x02), + OBJNAME("hvySw", PROC_Obj_Swpush5, 0x00), + OBJNAME("buraA", PROC_Obj_SwHang, 0x00), + OBJNAME("buraB", PROC_Obj_SwHang, 0x00), + OBJNAME("buraA2", PROC_Obj_SwHang, 0x00), + OBJNAME("buraB2", PROC_Obj_SwHang, 0x00), + OBJNAME("bura7A", PROC_Obj_SwHang, 0x00), + OBJNAME("bura7B", PROC_Obj_SwHang, 0x00), + OBJNAME("bura7C", PROC_Obj_SwHang, 0x00), + OBJNAME("bura7D", PROC_Obj_SwHang, 0x00), + OBJNAME("bura7E", PROC_Obj_SwHang, 0x00), + OBJNAME("tbox_sw", PROC_TBOX_SW, 0x00), + OBJNAME("swLight", PROC_Obj_SwLight, 0x00), + OBJNAME("iceleaf", PROC_Obj_IceLeaf, 0x00), + OBJNAME("swHit", PROC_SWHIT0, 0x00), + OBJNAME("swHit2", PROC_SWHIT0, 0x01), + OBJNAME("ObjTime", PROC_Obj_Timer, 0xFF), + OBJNAME("AND_SW", PROC_ANDSW, 0xFF), + OBJNAME("AND_SW2", PROC_ANDSW2, 0xFF), + OBJNAME("ALLdie", PROC_ALLDIE, 0xFF), + OBJNAME("rvback", PROC_Tag_RiverBack, 0xFF), + OBJNAME("kagoFal", PROC_Tag_KagoFall, 0xFF), + OBJNAME("CrvGate", PROC_Obj_CRVGATE, 0xFF), + OBJNAME("CrvSaku", PROC_Obj_CRVFENCE, 0xFF), + OBJNAME("CrvWood", PROC_Obj_CRVHAHEN, 0xFF), + OBJNAME("CrvStel", PROC_Obj_CRVSTEEL, 0xFF), + OBJNAME("CrvLH", PROC_Obj_CRVLH_DW, 0xFF), + OBJNAME("RvRock", PROC_Obj_RIVERROCK, 0xFF), + OBJNAME("P2a", PROC_NPC_P2, 0x00), + OBJNAME("P2b", PROC_NPC_P2, 0x01), + OBJNAME("P2c", PROC_NPC_P2, 0x02), + OBJNAME("Gnd", PROC_NPC_GND, 0xFF), + OBJNAME("grA", PROC_NPC_GRA, 0xFF), + OBJNAME("Obj_grA", PROC_OBJ_GRA, 0xFF), + OBJNAME("Tag_grA", PROC_TAG_GRA, 0xFF), + OBJNAME("TagYami", PROC_TAG_YAMI, 0xFF), + OBJNAME("grC", PROC_NPC_GRC, 0xFF), + OBJNAME("grM", PROC_NPC_GRM, 0xFF), + OBJNAME("grMC", PROC_NPC_GRMC, 0xFF), + OBJNAME("grS", PROC_NPC_GRS, 0xFF), + OBJNAME("grD1", PROC_NPC_GRD, 0xFF), + OBJNAME("grD", PROC_NPC_WRESTLER, 0x01), + OBJNAME("grR", PROC_NPC_GRR, 0xFF), + OBJNAME("grO", PROC_NPC_GRO, 0xFF), + OBJNAME("grZ", PROC_NPC_GRZ, 0xFF), + OBJNAME("grARock", PROC_Obj_GraRock, 0xFF), + OBJNAME("grZRock", PROC_Obj_GrzRock, 0xFF), + OBJNAME("osnFire", PROC_OBJ_ONSEN_FIRE, 0xFF), + OBJNAME("yamiD", PROC_NPC_YAMID, 0xFF), + OBJNAME("yamiT", PROC_NPC_YAMIT, 0xFF), + OBJNAME("yamiS", PROC_NPC_YAMIS, 0xFF), + OBJNAME("Blue_NS", PROC_NPC_BLUENS, 0xFF), + OBJNAME("Kakashi", PROC_NPC_KAKASHI, 0x00), + OBJNAME("Kdk", PROC_NPC_KDK, 0xFF), + OBJNAME("Aru", PROC_NPC_ARU, 0xFF), + OBJNAME("Bans", PROC_NPC_BANS, 0xFF), + OBJNAME("Besu", PROC_NPC_BESU, 0xFF), + OBJNAME("Bou", PROC_NPC_BOU, 0xFF), + OBJNAME("BouS", PROC_NPC_BOU_S, 0x00), + OBJNAME("clerkA", PROC_NPC_CLERKA, 0x00), + OBJNAME("clerkB", PROC_NPC_CLERKB, 0x00), + OBJNAME("clerkT", PROC_NPC_CLERKT, 0x00), + OBJNAME("Ash", PROC_NPC_ASH, 0xFF), + OBJNAME("AshB", PROC_NPC_ASHB, 0xFF), + OBJNAME("Shad", PROC_NPC_SHAD, 0xFF), + OBJNAME("Rafrel", PROC_NPC_RAFREL, 0xFF), + OBJNAME("MoiR", PROC_NPC_MOIR, 0xFF), + OBJNAME("impal", PROC_NPC_IMPAL, 0xFF), + OBJNAME("Coach", PROC_NPC_COACH, 0xFF), + OBJNAME("TheB", PROC_NPC_THEB, 0xFF), + OBJNAME("TgArena", PROC_Tag_Arena, 0xFF), + OBJNAME("TagInst", PROC_Tag_Instruction, 0xFF), + OBJNAME("GWolf", PROC_NPC_GWOLF, 0xFF), + OBJNAME("Len", PROC_NPC_LEN, 0xFF), + OBJNAME("Lud", PROC_NPC_LUD, 0xFF), + OBJNAME("Doc", PROC_NPC_DOC, 0xFF), + OBJNAME("FSeirei", PROC_NPC_FAIRY_SEIREI, 0xFF), + OBJNAME("Fairy", PROC_NPC_FAIRY, 0xFF), + OBJNAME("Hanjo", PROC_NPC_HANJO, 0xFF), + OBJNAME("Hoz", PROC_NPC_HOZ, 0xFF), + OBJNAME("Jagar", PROC_NPC_JAGAR, 0xFF), + OBJNAME("Kkri", PROC_NPC_KKRI, 0xFF), + OBJNAME("Kn", PROC_NPC_KN, 0xFF), + OBJNAME("KnBlt", PROC_KN_BULLET, 0xFF), + OBJNAME("Knj", PROC_NPC_KNJ, 0xFF), + OBJNAME("Kolin", PROC_NPC_KOLIN, 0xFF), + OBJNAME("Kolinb", PROC_NPC_KOLINB, 0xFF), + OBJNAME("Kyury", PROC_NPC_KYURY, 0xFF), + OBJNAME("Maro", PROC_NPC_MARO, 0xFF), + OBJNAME("midP", PROC_NPC_MIDP, 0xFF), + OBJNAME("Moi", PROC_NPC_MOI, 0xFF), + OBJNAME("Raca", PROC_NPC_RACA, 0xFF), + OBJNAME("Post", PROC_NPC_POST, 0xFF), + OBJNAME("Pouya", PROC_NPC_POUYA, 0xFF), + OBJNAME("Saru", PROC_NPC_SARU, 0xFF), + OBJNAME("seiB", PROC_NPC_SEIB, 0xFF), + OBJNAME("seiC", PROC_NPC_SEIC, 0xFF), + OBJNAME("seiD", PROC_NPC_SEID, 0xFF), + OBJNAME("Seira", PROC_NPC_SEIRA, 0xFF), + OBJNAME("Seira2", PROC_NPC_SERA2, 0xFF), + OBJNAME("Seirei", PROC_NPC_SEIREI, 0xFF), + OBJNAME("Sha", PROC_NPC_SHAMAN, 0xFF), + OBJNAME("sMaro", PROC_NPC_SMARO, 0xFF), + OBJNAME("solA", PROC_NPC_SOLA, 0xFF), + OBJNAME("Taro", PROC_NPC_TARO, 0xFF), + OBJNAME("PA_Besu", PROC_NPC_PACHI_BESU, 0xFF), + OBJNAME("PA_Taro", PROC_NPC_PACHI_TARO, 0xFF), + OBJNAME("PA_Maro", PROC_NPC_PACHI_MARO, 0xFF), + OBJNAME("TagPati", PROC_TAG_PATI, 0xFF), + OBJNAME("The", PROC_NPC_THE, 0xFF), + OBJNAME("Tkj", PROC_NPC_TKJ, 0xFF), + OBJNAME("Tks", PROC_NPC_TKS, 0xFF), + OBJNAME("ObjTks", PROC_OBJ_TKS, 0xFF), + OBJNAME("Tkc", PROC_NPC_TKC, 0xFF), + OBJNAME("Tkj2", PROC_NPC_TKJ2, 0xFF), + OBJNAME("Toby", PROC_NPC_TOBY, 0xFF), + OBJNAME("Uri", PROC_NPC_URI, 0xFF), + OBJNAME("Yelia", PROC_NPC_YELIA, 0xFF), + OBJNAME("ykM", PROC_NPC_YKM, 0xFF), + OBJNAME("ykW", PROC_NPC_YKW, 0xFF), + OBJNAME("zanB", PROC_NPC_ZANB, 0xFF), + OBJNAME("Zant", PROC_NPC_ZANT, 0xFF), + OBJNAME("Zelda", PROC_NPC_ZELDA, 0xFF), + OBJNAME("ZelR", PROC_NPC_ZELR, 0xFF), + OBJNAME("ZelRo", PROC_NPC_ZELRO, 0xFF), + OBJNAME("zrA", PROC_NPC_ZRA, 0x00), + OBJNAME("zrS", PROC_NPC_ZRA, 0x01), + OBJNAME("zrWF", PROC_NPC_ZRA, 0x02), + OBJNAME("zrR", PROC_NPC_ZRA, 0x03), + OBJNAME("zrD", PROC_NPC_ZRA, 0x04), + OBJNAME("zrSP", PROC_NPC_ZRA, 0x05), + OBJNAME("zrSPA", PROC_NPC_ZRA, 0x06), + OBJNAME("zrF", PROC_OBJ_ZRAFREEZE, 0x00), + OBJNAME("zrF2", PROC_OBJ_ZRAFREEZE, 0x01), + OBJNAME("zrF3", PROC_OBJ_ZRAFREEZE, 0x02), + OBJNAME("zrC", PROC_NPC_ZRC, 0xFF), + OBJNAME("zrZ", PROC_NPC_ZRZ, 0xFF), + OBJNAME("GrvStn", PROC_Obj_GraveStone, 0xFF), + OBJNAME("zrARock", PROC_Obj_ZraRock, 0xFF), + OBJNAME("StAndGl", PROC_START_AND_GOAL, 0xFF), + OBJNAME("zrAMark", PROC_ZRA_MARK, 0xFF), + OBJNAME("myna2", PROC_MYNA2, 0xFF), + OBJNAME("myn2tag", PROC_TAG_MYNA2, 0xFF), + OBJNAME("MAN_a", PROC_NPC_CD3, 0x00), + OBJNAME("MAD_a", PROC_NPC_CD3, 0x01), + OBJNAME("MCN_a", PROC_NPC_CD3, 0x02), + OBJNAME("MON_a", PROC_NPC_CD3, 0x03), + OBJNAME("MAN_b", PROC_NPC_CD3, 0x04), + OBJNAME("MAN_c", PROC_NPC_CD3, 0x05), + OBJNAME("MAS_a", PROC_NPC_CD3, 0x06), + OBJNAME("MBN_a", PROC_NPC_CD3, 0x07), + OBJNAME("MAN_a2", PROC_NPC_CD3, 0x08), + OBJNAME("MAD_a2", PROC_NPC_CD3, 0x09), + OBJNAME("MCN_a2", PROC_NPC_CD3, 0x0A), + OBJNAME("MON_a2", PROC_NPC_CD3, 0x0B), + OBJNAME("MAN_b2", PROC_NPC_CD3, 0x0C), + OBJNAME("MAN_c2", PROC_NPC_CD3, 0x0D), + OBJNAME("MAS_a2", PROC_NPC_CD3, 0x0E), + OBJNAME("MBN_a2", PROC_NPC_CD3, 0x0F), + OBJNAME("WAN_a", PROC_NPC_CD3, 0x10), + OBJNAME("WAD_a", PROC_NPC_CD3, 0x11), + OBJNAME("MAT_a", PROC_NPC_CD3, 0x12), + OBJNAME("WCN_a", PROC_NPC_CD3, 0x13), + OBJNAME("WON_a", PROC_NPC_CD3, 0x14), + OBJNAME("WGN_a", PROC_NPC_CD3, 0x15), + OBJNAME("WAN_b", PROC_NPC_CD3, 0x16), + OBJNAME("WAN_a2", PROC_NPC_CD3, 0x17), + OBJNAME("WAD_a2", PROC_NPC_CD3, 0x18), + OBJNAME("MAT_a2", PROC_NPC_CD3, 0x19), + OBJNAME("WCN_a2", PROC_NPC_CD3, 0x1A), + OBJNAME("WON_a2", PROC_NPC_CD3, 0x1B), + OBJNAME("WGN_a2", PROC_NPC_CD3, 0x1C), + OBJNAME("WAN_b2", PROC_NPC_CD3, 0x1D), + OBJNAME("shoe", PROC_NPC_SHOE, 0xFF), + OBJNAME("DoorBoy", PROC_NPC_DOORBOY, 0xFF), + OBJNAME("prayer", PROC_NPC_PRAYER, 0xFF), + OBJNAME("km_Hana", PROC_NPC_KASIHANA, 0xFF), + OBJNAME("km_Kyu", PROC_NPC_KASIKYU, 0xFF), + OBJNAME("km_Mich", PROC_NPC_KASIMICH, 0xFF), + OBJNAME("NpcChat", PROC_NPC_CHAT, 0xFF), + OBJNAME("chtSolA", PROC_NPC_SOLDIERa, 0xFF), + OBJNAME("chtSolB", PROC_NPC_SOLDIERb, 0xFF), + OBJNAME("DrSol1", PROC_NPC_DRSOL, 0x00), + OBJNAME("DrSol2", PROC_NPC_DRSOL, 0x01), + OBJNAME("chin", PROC_NPC_CHIN, 0xFF), + OBJNAME("ins", PROC_NPC_INS, 0xFF), + OBJNAME("Shop0", PROC_NPC_SHOP0, 0xFF), + OBJNAME("TagSch", PROC_Tag_Schedule, 0xFF), + OBJNAME("TagEsc", PROC_Tag_Escape, 0xFF), + OBJNAME("passer", PROC_PASSER_MNG, 0x00), + OBJNAME("passerL", PROC_PASSER_MNG, 0x01), + OBJNAME("fmtion", PROC_FORMATION_MNG, 0x00), + OBJNAME("fmtionL", PROC_FORMATION_MNG, 0x01), + OBJNAME("guard", PROC_GUARD_MNG, 0xFF), + OBJNAME("TgGuard", PROC_TAG_GUARD, 0xFF), + OBJNAME("Mk", PROC_NPC_MK, 0xFF), + OBJNAME("Obj_Tbi", PROC_Obj_Yobikusa, 0x00), + OBJNAME("Obj_Uma", PROC_Obj_Yobikusa, 0x01), + OBJNAME("Obj_knk", PROC_Obj_KazeNeko, 0xFF), + OBJNAME("Obj_nmp", PROC_Obj_NamePlate, 0xFF), + OBJNAME("Obj_Tie", PROC_Obj_OnCloth, 0xFF), + OBJNAME("Obj_Lrp", PROC_Obj_LndRope, 0xFF), + OBJNAME("Obj_Sit", PROC_Obj_ItaRope, 0xFF), + OBJNAME("Ikada", PROC_Obj_Ikada, 0xFF), + OBJNAME("Dust", PROC_Obj_DUST, 0xFF), + OBJNAME("Obj_Ita", PROC_Obj_ITA, 0xFF), + OBJNAME("Ice_l", PROC_Obj_Ice_l, 0xFF), + OBJNAME("Ice_s", PROC_Obj_Ice_s, 0xFF), + OBJNAME("E_Make", PROC_Obj_E_CREATE, 0xFF), + OBJNAME("Bhhashi", PROC_Obj_Bhbridge, 0xFF), + OBJNAME("Yousei", PROC_Obj_Yousei, 0xFF), + OBJNAME("G_Kabe", PROC_Obj_GOMIKABE, 0xFF), + OBJNAME("B_ling", PROC_Obj_Mato, 0xFF), + OBJNAME("kab_o", PROC_Obj_Kabuto, 0xFF), + OBJNAME("I_Cho", PROC_Obj_Cho, 0xFF), + OBJNAME("I_Kuw", PROC_Obj_Kuw, 0xFF), + OBJNAME("I_Nan", PROC_Obj_Nan, 0xFF), + OBJNAME("I_Dan", PROC_Obj_Dan, 0xFF), + OBJNAME("I_Kam", PROC_Obj_Kam, 0xFF), + OBJNAME("I_Ten", PROC_Obj_Ten, 0xFF), + OBJNAME("I_Ari", PROC_Obj_Ari, 0xFF), + OBJNAME("I_Kag", PROC_Obj_Kag, 0xFF), + OBJNAME("I_Tom", PROC_Obj_Tombo, 0xFF), + OBJNAME("I_Bat", PROC_Obj_Batta, 0xFF), + OBJNAME("I_Kat", PROC_Obj_Kat, 0xFF), + OBJNAME("H_Saku", PROC_Obj_H_Saku, 0xFF), + OBJNAME("sm_door", PROC_Obj_SM_DOOR, 0xFF), + OBJNAME("Kaisou", PROC_Obj_Kaisou, 0xFF), + OBJNAME("Ni", PROC_NI, 0xFF), + OBJNAME("Fr", PROC_FR, 0xFF), + OBJNAME("Sq", PROC_SQ, 0xFF), + OBJNAME("Bd", PROC_BD, 0xFF), + OBJNAME("Obj_ki", PROC_OBJ_KI, 0xFF), + OBJNAME("Do", PROC_DO, 0xFF), + OBJNAME("Lm", PROC_NPC_FISH, 0x00), + OBJNAME("Tr", PROC_NPC_FISH, 0x05), + OBJNAME("Npc_tr", PROC_NPC_TR, 0xFF), + OBJNAME("Npc_lf", PROC_NPC_LF, 0xFF), + OBJNAME("Fish", PROC_MG_FISH, 0xFF), + OBJNAME("NPC_TK", PROC_NPC_TK, 0xFF), + OBJNAME("Obj_fd", PROC_OBJ_FOOD, 0xFF), + OBJNAME("MYNA", PROC_MYNA, 0xFF), + OBJNAME("SSITEM", PROC_OBJ_SSITEM, 0xFF), + OBJNAME("SSDRINK", PROC_OBJ_SSDRINK, 0xFF), + OBJNAME("TGDRINK", PROC_TAG_SSDRINK, 0xFF), + OBJNAME("Tag_Btl", PROC_TAG_BTLITM, 0xFF), + OBJNAME("lv5soup", PROC_TAG_LV5SOUP, 0xFF), + OBJNAME("TGMNLIG", PROC_TAG_MNLIGHT, 0xFF), + OBJNAME("TGSPCAM", PROC_TAG_SHOPCAM, 0xFF), + OBJNAME("TGSPITM", PROC_TAG_SHOPITM, 0xFF), + OBJNAME("OilTubo", PROC_OBJ_OILTUBO, 0xFF), + OBJNAME("Roten", PROC_OBJ_ROTEN, 0xFF), + OBJNAME("Pleaf", PROC_OBJ_PLEAF, 0xFF), + OBJNAME("KBacket", PROC_OBJ_KBACKET, 0xFF), + OBJNAME("YBag", PROC_OBJ_YBAG, 0xFF), + OBJNAME("Pumpkin", PROC_OBJ_PUMPKIN, 0xFF), + OBJNAME("Obj_kg", PROC_OBJ_KAGO, 0xFF), + OBJNAME("BbKago", PROC_OBJ_KAGO, 0x00), + OBJNAME("OnKago", PROC_OBJ_KAGO, 0x01), + OBJNAME("ObjHasi", PROC_Obj_HHASHI, 0xFF), + OBJNAME("Thashi", PROC_Obj_THASHI, 0xFF), + OBJNAME("B_Hashi", PROC_Obj_BHASHI, 0xFF), + OBJNAME("E_MD", PROC_E_MD, 0xFF), + OBJNAME("E_s1", PROC_E_S1, 0xFF), + OBJNAME("E_wb", PROC_E_WB, 0xFF), + OBJNAME("E_rd", PROC_E_RD, 0xFF), + OBJNAME("E_rdb", PROC_E_RDB, 0xFF), + OBJNAME("E_rdy", PROC_E_RDY, 0xFF), + OBJNAME("E_fm", PROC_E_FM, 0xFF), + OBJNAME("E_dn", PROC_E_DN, 0xFF), + OBJNAME("E_mf", PROC_E_MF, 0xFF), + OBJNAME("TreeSh", PROC_TREESH, 0xFF), + OBJNAME("E_bug", PROC_E_BUG, 0xFF), + OBJNAME("E_bee", PROC_E_BEE, 0xFF), + OBJNAME("E_nest", PROC_E_NEST, 0xFF), + OBJNAME("E_kr", PROC_E_KR, 0xFF), + OBJNAME("E_st", PROC_E_ST, 0xFF), + OBJNAME("E_tk", PROC_E_TK, 0xFF), + OBJNAME("E_tk2", PROC_E_TK2, 0xFF), + OBJNAME("E_th", PROC_E_TH, 0xFF), + OBJNAME("E_cr", PROC_E_CR, 0xFF), + OBJNAME("E_df", PROC_E_DF, 0xFF), + OBJNAME("E_ph", PROC_E_PH, 0xFF), + OBJNAME("E_fs", PROC_E_FS, 0xFF), + OBJNAME("E_SB", PROC_E_SB, 0xFF), + OBJNAME("E_HM", PROC_E_HM, 0xFF), + OBJNAME("E_fk", PROC_E_FK, 0xFF), + OBJNAME("E_pm", PROC_E_PM, 0xFF), + OBJNAME("Npc_ne", PROC_NPC_NE, 0xFF), + OBJNAME("E_db", PROC_E_DB, 0xFF), + OBJNAME("E_kg", PROC_E_KG, 0xFF), + OBJNAME("E_sh", PROC_E_SH, 0xFF), + OBJNAME("E_sf", PROC_E_SF, 0xFF), + OBJNAME("Obj_lb", PROC_OBJ_LBOX, 0xFF), + OBJNAME("Obj_kb", PROC_OBJ_KBOX, 0xFF), + OBJNAME("E_bs", PROC_E_BS, 0xFF), + OBJNAME("Sekizoa", PROC_OBJ_SEKIZOA, 0x00), + OBJNAME("Sekizob", PROC_OBJ_SEKIZOA, 0x01), + OBJNAME("E_sm", PROC_E_SM, 0xFF), + OBJNAME("E_sm2", PROC_E_SM2, 0xFF), + OBJNAME("ky_tag0", PROC_KYTAG00, 0xFF), + OBJNAME("ky_tag1", PROC_KYTAG01, 0x00), + OBJNAME("ky_tag2", PROC_KYTAG02, 0xFF), + OBJNAME("ky_tag3", PROC_KYTAG01, 0x01), + OBJNAME("kytag3", PROC_KYTAG03, 0xFF), + OBJNAME("DK_tag", PROC_KYTAG04, 0xFF), + OBJNAME("PPHole", PROC_KYTAG05, 0xFF), + OBJNAME("KY_chg", PROC_KYTAG06, 0xFF), + OBJNAME("Plight", PROC_KYTAG07, 0xFF), + OBJNAME("KY_mk", PROC_KYTAG08, 0xFF), + OBJNAME("Bound", PROC_KYTAG09, 0xFF), + OBJNAME("WC_tag", PROC_KYTAG01, 0x02), + OBJNAME("Sparks", PROC_KYTAG10, 0xFF), + OBJNAME("Tcntrl", PROC_KYTAG11, 0xFF), + OBJNAME("Drkmst", PROC_KYTAG12, 0xFF), + OBJNAME("Blsnow", PROC_KYTAG13, 0xFF), + OBJNAME("Savmem", PROC_KYTAG14, 0xFF), + OBJNAME("Zshake", PROC_KYTAG15, 0xFF), + OBJNAME("Pikari", PROC_KYTAG16, 0xFF), + OBJNAME("Lmask", PROC_KYTAG17, 0xFF), + OBJNAME("E_is", PROC_E_IS, 0xFF), + OBJNAME("E_ai", PROC_E_AI, 0xFF), + OBJNAME("E_ba", PROC_E_BA, 0xFF), + OBJNAME("E_bu", PROC_E_BU, 0xFF), + OBJNAME("E_sw", PROC_E_SW, 0xFF), + OBJNAME("E_ge", PROC_E_GE, 0xFF), + OBJNAME("TagGe", PROC_Tag_WatchGe, 0xFF), + OBJNAME("E_ym", PROC_E_YM, 0xFF), + OBJNAME("E_ymt", PROC_E_YM_TAG, 0xFF), + OBJNAME("E_ymb", PROC_E_YMB, 0xFF), + OBJNAME("Fwall", PROC_Tag_FWall, 0xFF), + OBJNAME("E_hz", PROC_E_HZ, 0xFF), + OBJNAME("E_ws", PROC_E_WS, 0xFF), + OBJNAME("E_oc", PROC_E_OC, 0xFF), + OBJNAME("E_dt", PROC_E_DT, 0xFF), + OBJNAME("E_bg", PROC_E_BG, 0xFF), + OBJNAME("E_octbg", PROC_E_OctBg, 0xFF), + OBJNAME("E_tt", PROC_E_TT, 0xFF), + OBJNAME("E_dk", PROC_E_DK, 0xFF), + OBJNAME("E_vt", PROC_E_VT, 0xFF), + OBJNAME("E_ww", PROC_E_WW, 0xFF), + OBJNAME("E_gi", PROC_E_GI, 0xFF), + OBJNAME("E_mk", PROC_E_MK, 0xFF), + OBJNAME("B_gm", PROC_B_GM, 0xFF), + OBJNAME("E_gm", PROC_E_GM, 0xFF), + OBJNAME("E_gs", PROC_E_GS, 0xFF), + OBJNAME("Npc_ne", PROC_NPC_NE, 0xFF), + OBJNAME("Obj_gm", PROC_OBJ_GM, 0xFF), + OBJNAME("E_mm", PROC_E_MM, 0xFF), + OBJNAME("E_mm2", PROC_E_MM, 0x01), + OBJNAME("E_fz", PROC_E_FZ, 0xFF), + OBJNAME("E_fb", PROC_E_FB, 0xFF), + OBJNAME("E_Zs", PROC_E_ZS, 0xFF), + OBJNAME("E_kk", PROC_E_KK, 0xFF), + OBJNAME("E_hp", PROC_E_HP, 0xFF), + OBJNAME("E_zh", PROC_E_ZH, 0xFF), + OBJNAME("E_zm", PROC_E_ZM, 0xFF), + OBJNAME("E_zm2", PROC_E_ZM, 0x01), + OBJNAME("E_pz", PROC_E_PZ, 0xFF), + OBJNAME("Kita", PROC_OBJ_KITA, 0xFF), + OBJNAME("E_nz", PROC_E_NZ, 0xFF), + OBJNAME("E_po", PROC_E_PO, 0xFF), + OBJNAME("Obj_w0", PROC_OBJ_WEB0, 0xFF), + OBJNAME("Obj_w1", PROC_OBJ_WEB1, 0xFF), + OBJNAME("Obj_cb", PROC_OBJ_CB, 0xFF), + OBJNAME("Obj_mak", PROC_OBJ_MAKI, 0xFF), + OBJNAME("Obj_brg", PROC_OBJ_BRG, 0xFF), + OBJNAME("E_rb", PROC_E_RB, 0xFF), + OBJNAME("E_sg", PROC_E_SG, 0xFF), + OBJNAME("Obj_tby", PROC_OBJ_TOBY, 0xFF), + OBJNAME("Obj_sw", PROC_OBJ_SW, 0xFF), + OBJNAME("Npc_ks", PROC_NPC_KS, 0xFF), + OBJNAME("Obj_so", PROC_OBJ_SO, 0xFF), + OBJNAME("E_bi", PROC_E_BI, 0xFF), + OBJNAME("Obj_key", PROC_OBJ_KEY, 0xFF), + OBJNAME("E_hb", PROC_E_HB, 0xFF), + OBJNAME("Obj_hb", PROC_OBJ_HB, 0xFF), + OBJNAME("B_bq", PROC_B_BQ, 0xFF), + OBJNAME("B_bh", PROC_B_BH, 0xFF), + OBJNAME("B_go", PROC_B_GO, 0xFF), + OBJNAME("Obj_fw", PROC_OBJ_FW, 0xFF), + OBJNAME("E_ga", PROC_E_GA, 0xFF), + OBJNAME("E_gb", PROC_E_GB, 0xFF), + OBJNAME("E_wap", PROC_E_WAP, 0xFF), + OBJNAME("Obj_sui", PROC_OBJ_SUISYA, 0xFF), + OBJNAME("Obj_bal", PROC_OBJ_BALLOON, 0xFF), + OBJNAME("Obj_lp", PROC_OBJ_LP, 0xFF), + OBJNAME("Obj_nd", PROC_OBJ_NDOOR, 0xFF), + OBJNAME("Obj_ud", PROC_OBJ_UDOOR, 0xFF), + OBJNAME("Obj_us", PROC_OBJ_USAKU, 0xFF), + OBJNAME("Obj_kn2", PROC_OBJ_KANBAN2, 0xFF), + OBJNAME("Obj_kyh", PROC_OBJ_KEYHOLE, 0xFF), + OBJNAME("Bed", PROC_OBJ_BED, 0xFF), + OBJNAME("BouMato", PROC_OBJ_BOUMATO, 0xFF), + OBJNAME("AutoMt", PROC_OBJ_AUTOMATA, 0xFF), + OBJNAME("Gadget", PROC_OBJ_GADGET, 0xFF), + OBJNAME("ItaMato", PROC_OBJ_ITAMATO, 0xFF), + OBJNAME("Nougu", PROC_OBJ_NOUGU, 0xFF), + OBJNAME("Stick", PROC_OBJ_STICK, 0xFF), + OBJNAME("Mie", PROC_OBJ_MIE, 0xFF), + OBJNAME("SkDoor", PROC_OBJ_SEKIDOOR, 0xFF), + OBJNAME("Sekizo", PROC_OBJ_SEKIZO, 0xFF), + OBJNAME("SMTile", PROC_OBJ_SMTILE, 0xFF), + OBJNAME("H_kage", PROC_OBJ_KAGE, 0xFF), + OBJNAME("E_ms", PROC_E_MS, 0xFF), + OBJNAME("Obj_tp", PROC_OBJ_TP, 0xFF), + OBJNAME("Obj_ms", PROC_OBJ_MSIMA, 0xFF), + OBJNAME("E_gob", PROC_E_GOB, 0xFF), + OBJNAME("E_yk", PROC_E_YK, 0xFF), + OBJNAME("E_yr", PROC_E_YR, 0xFF), + OBJNAME("E_yg", PROC_E_YG, 0xFF), + OBJNAME("Obj_fm", PROC_OBJ_FMOBJ, 0xFF), + OBJNAME("B_ob", PROC_B_OB, 0xFF), + OBJNAME("OcHashi", PROC_OCTHASHI, 0xFF), + OBJNAME("E_dd", PROC_E_DD, 0xFF), + OBJNAME("Obj_rw", PROC_OBJ_RW, 0xFF), + OBJNAME("Obj_ih", PROC_OBJ_IHASI, 0xFF), + OBJNAME("E_yc", PROC_E_YC, 0xFF), + OBJNAME("B_ds", PROC_B_DS, 0xFF), + OBJNAME("B_dr", PROC_B_DR, 0xFF), + OBJNAME("B_gg", PROC_B_GG, 0xFF), + OBJNAME("B_yo", PROC_B_YO, 0xFF), + OBJNAME("B_tn", PROC_B_TN, 0xFF), + OBJNAME("B_zant", PROC_B_ZANT, 0xFF), + OBJNAME("B_zntm", PROC_B_ZANTZ, 0xFF), + OBJNAME("B_znts", PROC_B_ZANTS, 0xFF), + OBJNAME("E_yd", PROC_E_YD, 0xFF), + OBJNAME("E_yh", PROC_E_YH, 0xFF), + OBJNAME("Henna", PROC_NPC_HENNA, 0xFF), + OBJNAME("Henna0", PROC_NPC_HENNA0, 0xFF), + OBJNAME("Npc_du", PROC_NPC_DU, 0x00), + OBJNAME("Econt", PROC_ECONT, 0xFF), + OBJNAME("B_mgn", PROC_B_MGN, 0xFF), + OBJNAME("Hzelda", PROC_E_HZELDA, 0xFF), + OBJNAME("Worm", PROC_NPC_WORM, 0xFF), + OBJNAME("B_gnd", PROC_B_GND, 0xFF), + OBJNAME("Obj_gb", PROC_OBJ_GB, 0xFF), + OBJNAME("tboxA0", PROC_TBOX, 0xFF), + OBJNAME("tboxA1", PROC_TBOX, 0xFF), + OBJNAME("tboxA2", PROC_TBOX, 0xFF), + OBJNAME("tboxB0", PROC_TBOX, 0xFF), + OBJNAME("tboxB1", PROC_TBOX, 0xFF), + OBJNAME("tboxB2", PROC_TBOX, 0xFF), + OBJNAME("tboxJ0", PROC_TBOX, 0xFF), + OBJNAME("tboxP0", PROC_TBOX, 0xFF), + OBJNAME("tboxB00", PROC_TBOX, 0xFF), + OBJNAME("tboxB01", PROC_TBOX, 0xFF), + OBJNAME("tboxW0", PROC_TBOX, 0xFF), + OBJNAME("tboxEL0", PROC_TBOX2, 0xFF), + OBJNAME("tboxEL1", PROC_TBOX2, 0xFF), + OBJNAME("l8warp", PROC_Obj_BossWarp, 0xFF), + OBJNAME("L1Bdoor", PROC_L1BOSS_DOOR, 0xFF), + OBJNAME("L2Bdoor", PROC_L1BOSS_DOOR, 0xFF), + OBJNAME("L3Bdoor", PROC_Obj_Kshutter, 0xFF), + OBJNAME("L4Bdoor", PROC_L1BOSS_DOOR, 0xFF), + OBJNAME("L5Bdoor", PROC_L5BOSS_DOOR, 0xFF), + OBJNAME("L6Bdoor", PROC_L1BOSS_DOOR, 0xFF), + OBJNAME("L7Bdoor", PROC_L1BOSS_DOOR, 0xFF), + OBJNAME("L8Bdoor", PROC_L1BOSS_DOOR, 0xFF), + OBJNAME("L9Bdoor", PROC_L1BOSS_DOOR, 0xFF), + OBJNAME("L1Mdoor", PROC_L1MBOSS_DOOR, 0x01), + OBJNAME("L2Mdoor", PROC_L1MBOSS_DOOR, 0x02), + OBJNAME("L3Mdoor", PROC_L1MBOSS_DOOR, 0x03), + OBJNAME("L4Mdoor", PROC_L1MBOSS_DOOR, 0x04), + OBJNAME("L5Mdoor", PROC_L1MBOSS_DOOR, 0x05), + OBJNAME("L6Mdoor", PROC_L1MBOSS_DOOR, 0x06), + OBJNAME("L7Mdoor", PROC_L1MBOSS_DOOR, 0x07), + OBJNAME("L8Mdoor", PROC_L1MBOSS_DOOR, 0x08), + OBJNAME("L7door", PROC_L1MBOSS_DOOR, 0x0A), + OBJNAME("L5door", PROC_L1MBOSS_DOOR, 0x0B), + OBJNAME("Horse", PROC_HORSE, 0xFF), + OBJNAME("Canoe", PROC_CANOE, 0xFF), + OBJNAME("Crope", PROC_Obj_Crope, 0xFF), + OBJNAME("Cstatue", PROC_CSTATUE, 0xFF), + OBJNAME("CstaF", PROC_CSTAF, 0xFF), + OBJNAME("HoZelda", PROC_HOZELDA, 0xFF), + OBJNAME("Mhint", PROC_Tag_Mhint, 0xFF), + OBJNAME("Mmsg", PROC_Tag_Mmsg, 0xFF), + OBJNAME("Mwait", PROC_Tag_Mwait, 0xFF), + OBJNAME("Mstop", PROC_Tag_Mstop, 0xFF), + OBJNAME("MstopE", PROC_Tag_Mstop, 0xFF), + OBJNAME("Hinit", PROC_Tag_Hinit, 0xFF), + OBJNAME("Hjump", PROC_Tag_Hjump, 0xFF), + OBJNAME("Hstop", PROC_Tag_Hstop, 0xFF), + OBJNAME("AJnot", PROC_Tag_AJnot, 0xFF), + OBJNAME("Wljump", PROC_Tag_Wljump, 0xFF), + OBJNAME("Sppath", PROC_Tag_Sppath, 0xFF), + OBJNAME("Stream", PROC_Tag_Stream, 0xFF), + OBJNAME("Gstart", PROC_Tag_Gstart, 0xFF), + OBJNAME("TgTGate", PROC_Tag_TWGate, 0xFF), + OBJNAME("Lv6Gate", PROC_Tag_Lv6Gate, 0xFF), + OBJNAME("Lv7Gate", PROC_Tag_Lv7Gate, 0xFF), + OBJNAME("Lv8Gate", PROC_Tag_Lv8Gate, 0xFF), + OBJNAME("TgTHint", PROC_Tag_TheBHint, 0xFF), + OBJNAME("TagAsst", PROC_Tag_Assist, 0xFF), + OBJNAME("Dmidna", PROC_DMIDNA, 0xFF), + OBJNAME("Fchain", PROC_Obj_Fchain, 0xFF), + OBJNAME("Wchain", PROC_Obj_Wchain, 0xFF), + OBJNAME("Cdoor", PROC_Obj_Cdoor, 0xFF), + OBJNAME("Cgate", PROC_Obj_Cdoor, 0xFF), + OBJNAME("Water00", PROC_GRDWATER, 0xFF), + OBJNAME("Digpl", PROC_Obj_Digpl, 0xFF), + OBJNAME("Digholl", PROC_Obj_Digholl, 0xFF), + OBJNAME("Bombf", PROC_Obj_Bombf, 0xFF), + OBJNAME("hider", PROC_SUSPEND, 0xFF), + OBJNAME("SwAreaC", PROC_SWC00, 0xFF), + OBJNAME("SwAreaS", PROC_SWC00, 0xFF), + OBJNAME("SwLBall", PROC_SwLBall, 0xFF), + OBJNAME("SwBall", PROC_SwBall, 0xFF), + OBJNAME("thouse", PROC_Obj_TobyHouse, 0xFF), + OBJNAME("ironbox", PROC_Obj_MetalBox, 0xFF), + OBJNAME("l6swtrn", PROC_Obj_Lv6SwTurn, 0xFF), + OBJNAME("l2bmtag", PROC_Tag_Lv2PrChk, 0xFF), + OBJNAME("swspin", PROC_Obj_SwSpinner, 0xFF), + OBJNAME("spnGear", PROC_Obj_Lv4Gear, 0xFF), + OBJNAME("fan", PROC_Obj_Fan, 0xFF), + OBJNAME("tgake", PROC_Obj_Gake, 0xFF), + OBJNAME("tmoon", PROC_Obj_TMoon, 0xFF), + OBJNAME("gwall", PROC_Obj_GanonWall, 0xFF), + OBJNAME("gwall2", PROC_Obj_GanonWall2, 0xFF), + OBJNAME("scnChg", PROC_SCENE_EXIT, 0xFF), + OBJNAME("scnChg2", PROC_SCENE_EXIT2, 0xFF), + OBJNAME("noChgRm", PROC_NO_CHG_ROOM, 0xFF), + OBJNAME("readRm", PROC_NO_CHG_ROOM, 0x00), + OBJNAME("Tetd", PROC_DSHUTTER, 0xFF), + OBJNAME("fence", PROC_DSHUTTER, 0xFF), + OBJNAME("lv7saku", PROC_DSHUTTER, 0xFF), + OBJNAME("YkgrON", PROC_Ykgr, 0xFF), + OBJNAME("YkgrOFF", PROC_Ykgr, 0xFF), + OBJNAME("TagEv", PROC_TAG_EVENT, 0xFF), + OBJNAME("TagEvC", PROC_TAG_EVENT, 0xFF), + OBJNAME("TagEvt", PROC_TAG_EVT, 0x00), + OBJNAME("TagEvt1", PROC_TAG_EVT, 0x01), + OBJNAME("TagHowl", PROC_TAG_HOWL, 0x01), + OBJNAME("Tag_ms", PROC_TAG_MSG, 0x00), + OBJNAME("LntnTag", PROC_TAG_LANTERN, 0xFF), + OBJNAME("EvtArea", PROC_TAG_EVTAREA, 0xFF), + OBJNAME("AllMato", PROC_TAG_ALLMATO, 0xFF), + OBJNAME("EvtMsg", PROC_TAG_EVTMSG, 0xFF), + OBJNAME("KMsg", PROC_TAG_KMSG, 0xFF), + OBJNAME("Push", PROC_TAG_PUSH, 0xFF), + OBJNAME("Teloper", PROC_TAG_TELOP, 0xFF), + OBJNAME("CamChg", PROC_TAG_CAMERA, 0xFF), + OBJNAME("CamArea", PROC_TAG_CAMERA, 0xFF), + OBJNAME("CamAreC", PROC_TAG_CAMERA, 0xFF), + OBJNAME("ChkPntS", PROC_TAG_CHKPOINT, 0xFF), + OBJNAME("ChkPntC", PROC_TAG_CHKPOINT, 0xFF), + OBJNAME("setball", PROC_Tag_SetBall, 0xFF), + OBJNAME("atkItem", PROC_Tag_AttackItem, 0xFF), + OBJNAME("TagStat", PROC_Tag_Statue, 0xFF), + OBJNAME("zdoor", PROC_Obj_ZDoor, 0xFF), + OBJNAME("rdoor", PROC_Obj_ZDoor, 0xFF), + OBJNAME("STDoa", PROC_Obj_ZDoor, 0xFF), + OBJNAME("hasi00", PROC_Obj_Pillar, 0xFF), + OBJNAME("hasi01", PROC_Obj_Pillar, 0xFF), + OBJNAME("window", PROC_Obj_Window, 0xFF), + OBJNAME("bbox", PROC_Obj_BBox, 0xFF), + OBJNAME("spiralC", PROC_Obj_Lv3R10Saka, 0xFF), + OBJNAME("spiral2", PROC_Obj_Lv3R10Saka, 0xFF), + OBJNAME("digsnow", PROC_Obj_DigSnow, 0xFF), + OBJNAME("digsand", PROC_Obj_Lv4DigSand, 0xFF), + OBJNAME("fallobj", PROC_Obj_FallObj, 0xFF), + OBJNAME("l7brg", PROC_Obj_Lv7Bridge, 0xFF), + OBJNAME("dr", PROC_DR, 0xFF), + OBJNAME("L7lowDr", PROC_L7lowDr, 0xFF), + OBJNAME("swTime", PROC_SwTime, 0xFF), + OBJNAME("pdrobj", PROC_Obj_PushDoor, 0xFF), + OBJNAME("crystal", PROC_Obj_Crystal, 0xFF), + OBJNAME("WarpBrg", PROC_Obj_KakarikoBrg, 0xFF), + OBJNAME("WarpB2", PROC_Obj_KakarikoBrg, 0xFF), + OBJNAME("WarpOB1", PROC_Obj_OrdinBrg, 0x00), + OBJNAME("WarpOB2", PROC_Obj_OrdinBrg, 0x01), + OBJNAME("VolcGnd", PROC_Obj_VolcGnd, 0xFF), + OBJNAME("r09wtr", PROC_Obj_WaterEff, 0xFF), + OBJNAME("ballSw", PROC_Obj_SwBallA, 0xFF), + OBJNAME("lballSw", PROC_Obj_SwBallB, 0xFF), + OBJNAME("lbsw", PROC_Obj_SwBallC, 0xFF), + OBJNAME("R50Sand", PROC_Obj_Lv4Sand, 0xFF), + OBJNAME("rwall", PROC_Obj_Lv4RailWall, 0xFF), + OBJNAME("l4brg", PROC_Obj_Lv4Bridge, 0xFF), + OBJNAME("l4floor", PROC_Obj_Lv4Floor, 0xFF), + OBJNAME("item", PROC_ITEM, 0xFF), + OBJNAME("itemKey", PROC_Obj_SmallKey, 0xFF), + OBJNAME("kantera", PROC_Obj_Kantera, 0xFF), + OBJNAME("witem", PROC_ITEM, 0xFF), + OBJNAME("wshield", PROC_Obj_Shield, 0xFF), + OBJNAME("htPiece", PROC_Obj_LifeContainer, 0xFF), + OBJNAME("htCase", PROC_Obj_LifeContainer, 0xFF), + OBJNAME("Mbrid15", PROC_Obj_RotBridge, 0xFF), + OBJNAME("Mbrid9", PROC_Obj_RotBridge, 0xFF), + OBJNAME("maglift", PROC_Obj_MagLift, 0xFF), + OBJNAME("Cldst00", PROC_Obj_Lv1Cdl00, 0xFF), + OBJNAME("Cldst01", PROC_Obj_Lv1Cdl01, 0xFF), + OBJNAME("RMback0", PROC_Tag_Restart, 0xFF), + OBJNAME("RMback1", PROC_Tag_ChgRestart, 0xFF), + OBJNAME("Mist", PROC_Tag_Mist, 0xFF), + OBJNAME("magLifR", PROC_Obj_MagLiftRot, 0xFF), + OBJNAME("TCdlst", PROC_Obj_TvCdlst, 0xFF), + OBJNAME("wdstick", PROC_Obj_WdStick, 0xFF), + OBJNAME("stBlock", PROC_Obj_StairBlock, 0xFF), + OBJNAME("hsMato", PROC_Obj_HsTarget, 0xFF), + OBJNAME("ktFire", PROC_Tag_KtOnFire, 0xFF), + OBJNAME("hswitch", PROC_Obj_HeavySw, 0xFF), + OBJNAME("goGate", PROC_Obj_GoGate, 0xFF), + OBJNAME("taAmi", PROC_Obj_TaFence, 0xFF), + OBJNAME("fireWd", PROC_Obj_FireWood, 0xFF), + OBJNAME("fireWd2", PROC_Obj_FireWood2, 0xFF), + OBJNAME("altar", PROC_Obj_Saidan, 0xFF), + OBJNAME("gpTaru", PROC_Obj_GpTaru, 0xFF), + OBJNAME("spinLf", PROC_Obj_SpinLift, 0xFF), + OBJNAME("bmWin", PROC_Obj_BmWindow, 0xFF), + OBJNAME("roofHl", PROC_Obj_RfHole, 0xFF), + OBJNAME("syRock", PROC_Obj_SyRock, 0xFF), + OBJNAME("wColumn", PROC_Obj_WaterPillar, 0xFF), + OBJNAME("kpot", PROC_Obj_KiPot, 0xFF), + OBJNAME("bsGate", PROC_Obj_BsGate, 0xFF), + OBJNAME("amiShut", PROC_Obj_AmiShutter, 0xFF), + OBJNAME("kwhel00", PROC_Obj_KWheel00, 0xFF), + OBJNAME("kwhel01", PROC_Obj_KWheel01, 0xFF), + OBJNAME("PRElvtr", PROC_Obj_PRElvtr, 0xFF), + OBJNAME("swhel00", PROC_Obj_KWheel00, 0xFF), + OBJNAME("M_hasu", PROC_Obj_MHasu, 0xFF), + OBJNAME("yiblltr", PROC_Obj_YIblltray, 0xFF), + OBJNAME("l6egate", PROC_Obj_Lv6EGate, 0xFF), + OBJNAME("l6eleva", PROC_Obj_Lv6ElevtA, 0xFF), + OBJNAME("wtGate", PROC_Obj_WtGate, 0xFF), + OBJNAME("candlL2", PROC_Obj_Lv2Candle, 0xFF), + OBJNAME("togeTp", PROC_Obj_TogeTrap, 0xFF), + OBJNAME("rotTrap", PROC_Obj_RotTrap, 0xFF), + OBJNAME("klift00", PROC_Obj_KLift00, 0xFF), + OBJNAME("l4chand", PROC_Obj_Lv4Chan, 0xFF), + OBJNAME("Ychndlr", PROC_Obj_Ychndlr, 0xFF), + OBJNAME("hbmbkoy", PROC_Obj_HBombkoya, 0xFF), + OBJNAME("TagCsw", PROC_TAG_CSW, 0xFF), + OBJNAME("TagCswO", PROC_TAG_CSW, 0xFF), + OBJNAME("P_Rwall", PROC_Obj_Lv4PRwall, 0xFF), + OBJNAME("PDtile", PROC_Obj_PDtile, 0xFF), + OBJNAME("PDwall", PROC_Obj_PDwall, 0xFF), + OBJNAME("Qs", PROC_TAG_QS, 0xFF), + OBJNAME("mirror", PROC_MIRROR, 0xFF), + OBJNAME("rGate", PROC_Obj_SwallShutter, 0xFF), + OBJNAME("l3water", PROC_Obj_Lv3Water, 0xFF), + OBJNAME("l3wat02", PROC_Obj_Lv3Water2, 0xFF), + OBJNAME("l3watB", PROC_OBJ_LV3WATERB, 0xFF), + OBJNAME("szbridg", PROC_Obj_SZbridge, 0xFF), + OBJNAME("kjgjs", PROC_Obj_KJgjs, 0xFF), + OBJNAME("kjs", PROC_Obj_KJgjs, 0xFF), + OBJNAME("candlL3", PROC_Obj_Lv3Candle, 0xFF), + OBJNAME("l5icewl", PROC_Obj_IceWall, 0xFF), + OBJNAME("Turara", PROC_Obj_Turara, 0xFF), + OBJNAME("twGate", PROC_Obj_TwGate, 0xFF), + OBJNAME("L4cdlTg", PROC_Tag_Lv4Candle, 0xFF), + OBJNAME("L4cddTg", PROC_Tag_Lv4CandleDm, 0xFF), + OBJNAME("togeRol", PROC_Obj_Lv6TogeRoll, 0xFF), + OBJNAME("l6TogeT", PROC_Obj_Lv6TogeTrap, 0xFF), + OBJNAME("Tenbin", PROC_Obj_Lv6Tenbin, 0xFF), + OBJNAME("l6Lblk", PROC_Obj_Lv6Lblock, 0xFF), + OBJNAME("l6SwGt", PROC_Obj_Lv6SwGate, 0xFF), + OBJNAME("l6ChBlk", PROC_Obj_Lv6ChgGate, 0xFF), + OBJNAME("l6FuriT", PROC_Obj_Lv6FuriTrap, 0xFF), + OBJNAME("KHdesk", PROC_Obj_BarDesk, 0xFF), + OBJNAME("Ytaihou", PROC_Obj_Ytaihou, 0xFF), + OBJNAME("L4eShut", PROC_Obj_Lv4EdShutter, 0xFF), + OBJNAME("pofire", PROC_Obj_poFire, 0xFF), + OBJNAME("pofiTg", PROC_Tag_poFire, 0xFF), + OBJNAME("poCandl", PROC_Obj_poCandle, 0xFF), + OBJNAME("L4Gate", PROC_Obj_Lv4Gate, 0xFF), + OBJNAME("L4Pgate", PROC_Obj_Lv4PoGate, 0xFF), + OBJNAME("L4SWall", PROC_Obj_Lv4SlideWall, 0xFF), + OBJNAME("L4hmato", PROC_Obj_Lv4HsTarget, 0xFF), + OBJNAME("propy", PROC_Obj_Lv7PropY, 0xFF), + OBJNAME("L7BsGt", PROC_Obj_Lv7BsGate, 0xFF), + OBJNAME("optLift", PROC_Obj_Lv8OptiLift, 0xFF), + OBJNAME("kkiTrap", PROC_Obj_Lv8KekkaiTrap, 0xFF), + OBJNAME("L8LiftX", PROC_Obj_Lv8Lift, 0xFF), + OBJNAME("swStep", PROC_Obj_Lv8UdFloor, 0xFF), + OBJNAME("L9SwSht", PROC_Obj_Lv9SwShutter, 0xFF), + OBJNAME("L5SwIce", PROC_Obj_Lv5SwIce, 0xFF), + OBJNAME("glwSph", PROC_Obj_glowSphere, 0xFF), + OBJNAME("MR_Scrw", PROC_Obj_MirrorScrew, 0xFF), + OBJNAME("MR_Sand", PROC_Obj_MirrorSand, 0xFF), + OBJNAME("MR_Tble", PROC_Obj_MirrorTable, 0xFF), + OBJNAME("MR_Chin", PROC_Obj_MirrorChain, 0xFF), + OBJNAME("MR_Pole", PROC_Obj_Mirror6Pole, 0xFF), + OBJNAME("PPolamp", PROC_PPolamp, 0xFF), + OBJNAME("l5hYuka", PROC_Obj_Lv5FBoard, 0xFF), + OBJNAME("BYRock", PROC_BkyRock, 0xFF), + OBJNAME("zrDrock", PROC_Obj_zrTurara, 0xFF), + OBJNAME("tkrDai", PROC_Obj_TakaraDai, 0xFF), + OBJNAME("Table", PROC_Obj_Table, 0xFF), + OBJNAME("CatDoor", PROC_Obj_CatDoor, 0xFF), + OBJNAME("RetTag", PROC_Tag_RetRoom, 0xFF), + OBJNAME("WdStone", PROC_Obj_WindStone, 0xFF), + OBJNAME("HwlWara", PROC_Tag_WaraHowl, 0xFF), + OBJNAME("SCannon", PROC_Obj_SCannon, 0xFF), + OBJNAME("szGate", PROC_Obj_Lv6SzGate, 0xFF), + OBJNAME("onsTaru", PROC_Obj_OnsenTaru, 0xFF), + OBJNAME("WStoneF", PROC_Obj_SmWStone, 0xFF), + OBJNAME("SCanCrs", PROC_Obj_SCannonCrs, 0xFF), + OBJNAME("snwEfTg", PROC_Tag_SnowEff, 0xFF), + OBJNAME("tmFire", PROC_Obj_TimeFire, 0xFF), + OBJNAME("L7Prop", PROC_Obj_Prop, 0xFF), + OBJNAME("awaPlar", PROC_Obj_awaPlar, 0xFF), + OBJNAME("poTbox", PROC_Obj_poTbox, 0xFF), + OBJNAME("SnwSoup", PROC_Obj_SnowSoup, 0xFF), + OBJNAME("Nagaisu", PROC_Obj_Nagaisu, 0xFF), + OBJNAME("RCircle", PROC_Obj_RCircle, 0xFF), + OBJNAME("L9Chand", PROC_Obj_Chandelier, 0xFF), + OBJNAME("L9Pictr", PROC_Obj_Picture, 0xFF), + OBJNAME("SmkEmt", PROC_Tag_SmkEmt, 0xFF), + OBJNAME("HFtr", PROC_Obj_HFtr, 0xFF), + OBJNAME("HBarrel", PROC_Obj_HBarrel, 0xFF), + OBJNAME("SCanTen", PROC_Obj_SCannonTen, 0xFF), + OBJNAME("cstaSw", PROC_Tag_CstaSw, 0xFF), + OBJNAME("l6cstSw", PROC_Tag_Lv6CstaSw, 0xFF), + OBJNAME("Hata", PROC_Obj_Hata, 0xFF), + OBJNAME("RmbitSw", PROC_Tag_RmbitSw, 0xFF), + OBJNAME("T_Maki", PROC_Obj_ToaruMaki, 0xFF), + OBJNAME("d_act", PROC_DEMO00, 0xFF), + OBJNAME("d_act0", PROC_DEMO00, 0x00), + OBJNAME("d_act1", PROC_DEMO00, 0x01), + OBJNAME("d_act2", PROC_DEMO00, 0x02), + OBJNAME("d_act3", PROC_DEMO00, 0x03), + OBJNAME("d_act4", PROC_DEMO00, 0x04), + OBJNAME("d_act5", PROC_DEMO00, 0x05), + OBJNAME("d_act6", PROC_DEMO00, 0x06), + OBJNAME("d_act7", PROC_DEMO00, 0x07), + OBJNAME("d_act8", PROC_DEMO00, 0x08), + OBJNAME("d_act9", PROC_DEMO00, 0x09), + OBJNAME("d_act10", PROC_DEMO00, 0x0A), + OBJNAME("d_act11", PROC_DEMO00, 0x0B), + OBJNAME("d_act12", PROC_DEMO00, 0x0C), + OBJNAME("d_act13", PROC_DEMO00, 0x0D), + OBJNAME("d_act14", PROC_DEMO00, 0x0E), + OBJNAME("d_act15", PROC_DEMO00, 0x0F), + OBJNAME("d_act16", PROC_DEMO00, 0x10), + OBJNAME("d_act17", PROC_DEMO00, 0x11), + OBJNAME("d_act18", PROC_DEMO00, 0x12), + OBJNAME("d_act19", PROC_DEMO00, 0x13), + OBJNAME("d_act20", PROC_DEMO00, 0x14), + OBJNAME("d_act21", PROC_DEMO00, 0x15), + OBJNAME("d_act22", PROC_DEMO00, 0x16), + OBJNAME("d_act23", PROC_DEMO00, 0x17), + OBJNAME("d_act24", PROC_DEMO00, 0x18), + OBJNAME("d_act25", PROC_DEMO00, 0x19), + OBJNAME("d_act26", PROC_DEMO00, 0x1A), + OBJNAME("d_act27", PROC_DEMO00, 0x1B), + OBJNAME("d_act28", PROC_DEMO00, 0x1C), + OBJNAME("d_act29", PROC_DEMO00, 0x1D), + OBJNAME("d_act30", PROC_DEMO00, 0x1E), + OBJNAME("d_act31", PROC_DEMO00, 0x1F), + OBJNAME("TLogo", PROC_TITLE, 0xFF), + OBJNAME("ClearB", PROC_Obj_Cboard, 0xFF), + OBJNAME("Bg", PROC_BG, 0xFF), + OBJNAME("Boom", PROC_BOOMERANG, 0xFF), + OBJNAME("Nbomb", PROC_NBOMB, 0xFF), + OBJNAME("Arrow", PROC_ARROW, 0xFF), + OBJNAME("E_Arrow", PROC_E_ARROW, 0xFF), + OBJNAME("Spinner", PROC_SPINNER, 0xFF), + OBJNAME("Crod", PROC_CROD, 0xFF), + OBJNAME("Midna", PROC_MIDNA, 0xFF), + OBJNAME("Vrbox", PROC_VRBOX, 0xFF), + OBJNAME("Vrbox2", PROC_VRBOX2, 0xFF), + OBJNAME("mvbg_a", PROC_BG_OBJ, 0xFF), + OBJNAME("burnBox", PROC_Obj_BurnBox, 0xFF), + OBJNAME("stnMark", PROC_Obj_StoneMark, 0xFF), + OBJNAME("Passer", PROC_NPC_PASSER, 0xFF), + OBJNAME("Passer2", PROC_NPC_PASSER2, 0xFF), + OBJNAME("ShopItm", PROC_ShopItem, 0xFF), + OBJNAME("E_yd_lf", PROC_E_YD_LEAF, 0xFF), + OBJNAME("E_db_lf", PROC_E_DB_LEAF, 0xFF), + OBJNAME("E_hb_lf", PROC_E_HB_LEAF, 0xFF), + OBJNAME("E_bi_lf", PROC_E_BI_LEAF, 0xFF), + OBJNAME("O_Mato", PROC_Obj_Mato, 0xFF), + OBJNAME("O_Flag", PROC_Obj_Flag, 0xFF), + OBJNAME("O_Flag2", PROC_Obj_Flag2, 0xFF), + OBJNAME("O_Flag3", PROC_Obj_Flag3, 0xFF), + OBJNAME("CRVLH_U", PROC_Obj_CRVLH_UP, 0xFF), + OBJNAME("DemoItm", PROC_Demo_Item, 0xFF), + OBJNAME("EndCode", PROC_PLAY_SCENE, 0xFF), }; /* 803A65CC-803A65FC -00001 0030+00 1/1 0/0 0/0 .data l_roomFuncTable$5052 */ @@ -2283,7 +2878,7 @@ void dStage_infoCreate() { void* stageRsrc = dComIfG_getStageRes("stage.dzs"); dComIfGp_roomControl_init(); - dStage_dt_c_stageInitLoader(stageRsrc, &dComIfGp_getStage()); + dStage_dt_c_stageInitLoader(stageRsrc, dComIfGp_getStage()); } /* ############################################################################################## */ @@ -2294,7 +2889,7 @@ SECTION_DEAD static char const* const stringBase_80378B73 = "vrbox_sora.bmd"; #pragma pop /* 80406194-804061A0 032EB4 000A+02 2/2 14/14 7/7 .bss mDemoArcName__20dStage_roomControl_c */ -u8 dStage_roomControl_c::mDemoArcName[10 + 2 /* padding */]; +char dStage_roomControl_c::mDemoArcName[10]; /* 80026D38-80026DF8 021678 00C0+00 0/0 1/1 0/0 .text dStage_Create__Fv */ #pragma push diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index b70262a10d..56fc46daa2 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -3177,7 +3177,7 @@ asm void dKy_depth_dist_set(void* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dKy_darkworld_check() { +asm bool dKy_darkworld_check() { nofralloc #include "asm/d/kankyo/d_kankyo/dKy_darkworld_check__Fv.s" } diff --git a/src/d/map/d_map_path.cpp b/src/d/map/d_map_path.cpp index ace4b86da7..b673a6283f 100644 --- a/src/d/map/d_map_path.cpp +++ b/src/d/map/d_map_path.cpp @@ -17,47 +17,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct ResTIMG {}; - -struct dRenderingMap_c { - /* 8003CD38 */ void makeResTIMG(ResTIMG*, u16, u16, u8*, u8*, u16) const; - /* 8003CDAC */ void renderingMap(); -}; - -struct dDrawPath_c { - struct line_class {}; - - struct poly_class {}; - - struct group_class {}; - - struct floor_class {}; - - struct room_class {}; - - /* 8002ABF0 */ bool isDrawType(int); - /* 8002AD3C */ ~dDrawPath_c(); - /* 8002AD84 */ void getLineColor(int, int); - /* 8003CA40 */ void rendering(dDrawPath_c::poly_class const*); - /* 8003CB00 */ void rendering(dDrawPath_c::group_class const*); - /* 8003CC24 */ void rendering(dDrawPath_c::room_class const*); - /* 8003C94C */ void rendering(dDrawPath_c::line_class const*); - /* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*); - /* 8003CCC4 */ void drawPath(); -}; - -struct dRenderingFDAmap_c { - /* 8002ABF8 */ ~dRenderingFDAmap_c(); - /* 8003CE78 */ void setTevSettingNonTextureDirectColor() const; - /* 8003CF40 */ void setTevSettingIntensityTextureToCI() const; - /* 8003D0AC */ void drawBack() const; - /* 8003D188 */ void preRenderingMap(); - /* 8003D320 */ void postRenderingMap(); - /* 8003D3C0 */ void renderingDecoration(dDrawPath_c::line_class const*); - /* 8003D68C */ void getDecoLineColor(int, int); - /* 8003D6B8 */ void getDecorationLineWidth(int); -}; - struct dMpath_n { struct dTexObjAggregate_c { /* 8003C85C */ void create(); @@ -68,14 +27,6 @@ struct dMpath_n { static u8 m_texObjAgg[28]; }; -struct dDlst_base_c { - /* 8002ABEC */ void draw(); -}; - -struct _GXTlutObj {}; - -struct _GXTexObj {}; - // // Forward References: // @@ -118,46 +69,8 @@ extern "C" void getLineColor__11dDrawPath_cFii(); extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void C_MTXOrtho(); -extern "C" void GXSetVtxDesc(); extern "C" void GXClearVtxDesc(); -extern "C" void GXSetVtxAttrFmt(); -extern "C" void GXSetArray(); -extern "C" void GXSetTexCoordGen2(); -extern "C" void GXSetNumTexGens(); extern "C" void GXPixModeSync(); -extern "C" void GXBegin(); -extern "C" void GXSetLineWidth(); -extern "C" void GXSetPointSize(); -extern "C" void GXSetCullMode(); -extern "C" void GXSetTexCopySrc(); -extern "C" void GXSetTexCopyDst(); -extern "C" void GXSetCopyFilter(); -extern "C" void GXCopyTex(); -extern "C" void GXSetNumChans(); -extern "C" void GXSetChanCtrl(); -extern "C" void GXLoadTexObj(); -extern "C" void GXSetNumIndStages(); -extern "C" void GXSetTevColorIn(); -extern "C" void GXSetTevAlphaIn(); -extern "C" void GXSetTevColorOp(); -extern "C" void GXSetTevAlphaOp(); -extern "C" void GXSetTevColor(); -extern "C" void GXSetTevKColorSel(); -extern "C" void GXSetAlphaCompare(); -extern "C" void GXSetTevOrder(); -extern "C" void GXSetNumTevStages(); -extern "C" void GXSetFog(); -extern "C" void GXSetBlendMode(); -extern "C" void GXSetZMode(); -extern "C" void GXSetZCompLoc(); -extern "C" void GXSetDither(); -extern "C" void GXSetProjection(); -extern "C" void GXLoadPosMtxImm(); -extern "C" void GXSetCurrentMtx(); -extern "C" void GXSetViewport(); -extern "C" void GXSetScissor(); -extern "C" void GXSetClipMode(); extern "C" void __register_global_object(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); diff --git a/src/d/map/d_map_path_dmap.cpp b/src/d/map/d_map_path_dmap.cpp index 3340fecdab..9ff7bf674f 100644 --- a/src/d/map/d_map_path_dmap.cpp +++ b/src/d/map/d_map_path_dmap.cpp @@ -11,122 +11,12 @@ // Types: // -struct stage_tgsc_data_class {}; - -struct renderingPlusDoor_c { - /* 8002B0B4 */ ~renderingPlusDoor_c(); - /* 80040518 */ void afterDrawPath(); - /* 80040574 */ void drawDoor1(); - /* 800405B8 */ void drawDoor2(); - /* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool); - /* 80040710 */ void checkDispDoorS(int, int, f32); - /* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool); - /* 8004145C */ void beforeDrawPath(); -}; - -struct dTres_c { - struct data_s {}; - - struct typeGroupData_c {}; - - /* 8009C360 */ void getFirstData(u8); - /* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*); - /* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*); - - static u8 mTypeGroupListAll[204 + 4 /* padding */]; -}; - -struct Vec {}; - -struct renderingPlusDoorAndCursor_c { - /* 8002B008 */ ~renderingPlusDoorAndCursor_c(); - /* 800402FC */ void afterDrawPath(); - /* 80040A94 */ void getFirstData(u8); - /* 80040AB8 */ void getNextData(dTres_c::typeGroupData_c*); - /* 80040ADC */ void getIconPosition(dTres_c::typeGroupData_c*) const; - /* 80040B00 */ void drawTreasure(); - /* 80040E84 */ void drawTreasureAfterPlayer(); - /* 80041208 */ void drawIconSingle(Vec const&, f32, f32); - /* 800412C0 */ void drawCursor(Vec const&, s16, int, f32); -}; - -struct dDrawPath_c { - struct room_class {}; - - struct group_class {}; - - struct line_class {}; - - struct poly_class {}; - - /* 8002ABF0 */ bool isDrawType(int); - /* 8002AD84 */ void getLineColor(int, int); - /* 8003CA40 */ void rendering(dDrawPath_c::poly_class const*); - /* 8003CC24 */ void rendering(dDrawPath_c::room_class const*); - /* 8003C94C */ void rendering(dDrawPath_c::line_class const*); - /* 8003CCC4 */ void drawPath(); -}; - -struct renderingDAmap_c { - /* 8002B150 */ ~renderingDAmap_c(); - /* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const; - /* 8003FCC8 */ void init(u8*, u16, u16, u16, u16); - /* 8003FD08 */ void entry(f32, f32, f32, int, s8); - /* 8003FD9C */ void isSwitch(dDrawPath_c::group_class const*); - /* 8003FE18 */ void draw(); - /* 8003FE4C */ void getBackColor() const; - /* 8003FE54 */ void isRenderingFloor(int); - /* 8003FE6C */ void setSingleRoomSetting(); - /* 8003FE70 */ void isDrawRoom(int, int) const; - /* 8003FF14 */ void preDrawPath(); - /* 8003FFC4 */ void postDrawPath(); - /* 8003FFEC */ void getRoomNoSingle(); - /* 8003FFF4 */ void getFirstDrawRoomNo(); - /* 80040094 */ void getNextDrawRoomNo(int); - /* 80040134 */ void getFirstRoomPointer(); - /* 800401E8 */ void getNextRoomPointer(); - /* 800402C0 */ void isDrawPath(); - /* 800402E0 */ bool getFirstDrawLayerNo(); - /* 800402E8 */ void getNextDrawLayerNo(int); - /* 800409B4 */ void isDrawRoomIcon(int, int) const; - /* 800409E0 */ void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool, - Vec const*) const; - /* 80040AE4 */ void getIconGroupNumber(u8) const; -}; - struct mDoMtx_stack_c { /* 8000CE38 */ void scaleM(f32, f32, f32); static u8 now[48]; }; -struct dSv_memBit_c { - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dStage_roomControl_c { - static u8 mStatus[65792]; -}; - -struct dStage_FileList2_dt_c {}; - -struct dRenderingMap_c { - /* 8003CDAC */ void renderingMap(); -}; - -struct dRenderingFDAmap_c { - /* 8003CE78 */ void setTevSettingNonTextureDirectColor() const; - /* 8003CF40 */ void setTevSettingIntensityTextureToCI() const; - /* 8003D188 */ void preRenderingMap(); - /* 8003D320 */ void postRenderingMap(); - /* 8003D68C */ void getDecoLineColor(int, int); - /* 8003D6B8 */ void getDecorationLineWidth(int); -}; - struct dMpath_n { struct dTexObjAggregate_c { /* 8003C85C */ void create(); @@ -136,44 +26,6 @@ struct dMpath_n { static u8 m_texObjAgg[28]; }; -struct dMpath_c { - /* 8003F758 */ u8 isExistMapPathData(); - /* 8003F760 */ void getTopBottomFloorNo(s8*, s8*); - /* 8003F7E8 */ void createWork(); - /* 8003FA40 */ void setPointer(s8, void*, int); - /* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*); - /* 8003FB70 */ void create(); - /* 8003FBD0 */ void reset(); - /* 8003FC70 */ void remove(); - - static u8 mLayerList[4]; - static f32 mMinX; - static f32 mMaxX; - static f32 mMinZ; - static f32 mMaxZ; - static f32 mAllCenterX; - static f32 mAllCenterZ; - static f32 mAllSizeX; - static f32 mAllSizeZ; -}; - -struct dMapInfo_n { - /* 8003ECA0 */ void chkGetCompass(); - /* 8003ECD8 */ void chkGetMap(); - /* 8003ED10 */ void isVisitedRoom(int); - /* 8003ED60 */ void correctionOriginPos(s8, Vec*); - /* 8003EDC0 */ void offsetPlus(dStage_FileList2_dt_c const*, Vec*); - /* 8003EDEC */ void rotAngle(dStage_FileList2_dt_c const*, Vec*); - /* 8003EE5C */ void getMapPlayerPos(); - /* 8003EF20 */ void getMapPlayerAngleY(); - /* 8003EF70 */ void getConstRestartIconPointer(); - /* 8003F02C */ void getMapRestartPos(); - /* 8003F0F8 */ void getMapRestartAngleY(); - /* 8003F19C */ void getRoomCenter(int, f32*, f32*); - /* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*); - /* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*); -}; - struct dMapInfo_c { /* 8003F40C */ void calcFloorNo(f32, bool, int); /* 8003F570 */ void calcNowStayFloorNo(f32, bool); @@ -187,12 +39,6 @@ struct dMapInfo_c { static u8 mNowStayRoomNo[4]; }; -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - // // Forward References: // @@ -316,19 +162,9 @@ extern "C" void getFirstData__7dTres_cFUc(); extern "C" void getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c(); extern "C" void getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c(); extern "C" void* __nw__FUl(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSMTXMultVecArray(); -extern "C" void GXSetVtxDesc(); extern "C" void GXClearVtxDesc(); -extern "C" void GXSetVtxAttrFmt(); -extern "C" void GXSetArray(); extern "C" void GXSetMisc(); -extern "C" void GXBegin(); -extern "C" void GXLoadTexObj(); extern "C" void GXInvalidateTexAll(); -extern "C" void GXSetTevColor(); -extern "C" void GXLoadPosMtxImm(); extern "C" void _savegpr_20(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -343,15 +179,12 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void floor(); extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mStatus__20dStage_roomControl_c[65792]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 m_texObjAgg__8dMpath_n[28]; extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */]; extern "C" extern u8 g_fmapHIO[1188]; -extern "C" extern u32 __float_max; -extern "C" extern u8 struct_80450D64[4]; // // Declarations: @@ -432,7 +265,7 @@ SECTION_SDATA2 static u8 lit_3796[4] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMapInfo_n::getMapPlayerPos() { +asm Vec dMapInfo_n::getMapPlayerPos() { nofralloc #include "asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s" } diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index 9d509772ea..0a94f88341 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -401,7 +401,7 @@ bool dMw_DOWN_TRIGGER() { return mDoCPd_c::getTrigDown(mDoCPd_c::PAD_0); } -bool dMw_LEFT_TRIGGER() { +BOOL dMw_LEFT_TRIGGER() { if (mDoCPd_c::getTrigLeft(mDoCPd_c::PAD_0) && !dMw_UP_TRIGGER()) { return true; } else { @@ -409,7 +409,7 @@ bool dMw_LEFT_TRIGGER() { } } -bool dMw_RIGHT_TRIGGER() { +BOOL dMw_RIGHT_TRIGGER() { if (mDoCPd_c::getTrigRight(mDoCPd_c::PAD_0) && !dMw_UP_TRIGGER()) { return true; } else { diff --git a/src/d/menu/d_menu_window_HIO.cpp b/src/d/menu/d_menu_window_HIO.cpp index 5fb138a27a..d92ca643fb 100644 --- a/src/d/menu/d_menu_window_HIO.cpp +++ b/src/d/menu/d_menu_window_HIO.cpp @@ -4,125 +4,160 @@ // #include "d/menu/d_menu_window_HIO.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dSv_player_get_item_c { - /* 80033EC8 */ void isFirstBit(u8) const; -}; - -struct dMw_HIO_c { - /* 801F9AFC */ dMw_HIO_c(); - /* 801F9B38 */ void init(); - /* 801F9E14 */ bool getBombFlag(); - /* 801F9E1C */ bool getArrowFlag(); - /* 801F9E24 */ bool getPachinkoFlag(); - /* 801F9EE0 */ ~dMw_HIO_c(); -}; - -struct dMw_DHIO_c { - /* 801F9E2C */ dMw_DHIO_c(); - /* 801F9E98 */ ~dMw_DHIO_c(); -}; - -// -// Forward References: -// - -extern "C" void __ct__9dMw_HIO_cFv(); -extern "C" void init__9dMw_HIO_cFv(); -extern "C" bool getBombFlag__9dMw_HIO_cFv(); -extern "C" bool getArrowFlag__9dMw_HIO_cFv(); -extern "C" bool getPachinkoFlag__9dMw_HIO_cFv(); -extern "C" void __ct__10dMw_DHIO_cFv(); -extern "C" void __dt__10dMw_DHIO_cFv(); -extern "C" void __dt__9dMw_HIO_cFv(); -extern "C" void __sinit_d_menu_window_HIO_cpp(); - -// -// External References: -// - -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void __dl__FPv(); -extern "C" void __register_global_object(); -extern "C" void _savegpr_26(); -extern "C" void _restgpr_26(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - // // Declarations: // -/* ############################################################################################## */ -/* 803BE8E0-803BE8EC 01BA00 000C+00 2/2 0/0 0/0 .data __vt__10dMw_DHIO_c */ -SECTION_DATA extern void* __vt__10dMw_DHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dMw_DHIO_cFv, -}; - -/* 803BE8EC-803BE8F8 01BA0C 000C+00 2/2 0/0 0/0 .data __vt__9dMw_HIO_c */ -SECTION_DATA extern void* __vt__9dMw_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__9dMw_HIO_cFv, -}; +inline int dComIfGs_isItemFirstBit(u8 i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getGetItem().isFirstBit(i_no); +} /* 801F9AFC-801F9B38 1F443C 003C+00 1/1 0/0 0/0 .text __ct__9dMw_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMw_HIO_c::dMw_HIO_c() { - nofralloc -#include "asm/d/menu/d_menu_window_HIO/__ct__9dMw_HIO_cFv.s" +dMw_HIO_c::dMw_HIO_c() { + init(); } -#pragma pop /* ############################################################################################## */ /* 80450748-8045074C 0001C8 0003+01 1/1 0/0 0/0 .sdata m_cloth_item$3797 */ -SECTION_SDATA static u8 m_cloth_item[3 + 1 /* padding */] = { - 0x2F, - 0x30, - 0x31, - /* padding */ - 0x00, +static u8 m_cloth_item[3] = { + WEAR_KOKIRI, + ARMOR, + WEAR_ZORA, }; /* 8045074C-80450750 0001CC 0004+00 1/1 0/0 0/0 .sdata m_sword_item$3798 */ -SECTION_SDATA static u8 m_sword_item[4] = { - 0x28, - 0x29, - 0x49, - 0x3F, +static u8 m_sword_item[4] = { + SWORD, + MASTER_SWORD, + LIGHT_SWORD, + WOOD_STICK, }; /* 80450750-80450758 0001D0 0003+05 1/1 0/0 0/0 .sdata m_shield_item$3799 */ -SECTION_SDATA static u8 m_shield_item[3 + 5 /* padding */] = { - 0x2B, - 0x2C, - 0x2A, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +static u8 m_shield_item[3] = { + SHIELD, + HYLIA_SHIELD, + WOOD_SHIELD, }; /* 801F9B38-801F9E14 1F4478 02DC+00 1/1 0/0 0/0 .text init__9dMw_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMw_HIO_c::init() { - nofralloc -#include "asm/d/menu/d_menu_window_HIO/init__9dMw_HIO_cFv.s" +void dMw_HIO_c::init() { + mArrowFlag = 0; + mBombFlag = 0; + mPachinkoFlag = 0; + + mLifeCopy = 0; + mLife = 0; + mMaxLifeCopy = 0; + mMaxLife = 0; + mMagicCopy = 0; + mMagic = 0; + mMaxMagicCopy = 0; + mMaxMagic = 0; + mOilCopy = 0; + mOil = 0; + mMaxOilCopy = 0; + mMaxOil = 0; + mOxygenCopy = 0; + mOxygen = 0; + mMaxOxygenCopy = 0; + mMaxOxygen = 0; + mEnableMagicCopy = false; + mEnableMagic = false; + mEnableArrowDropsCopy = false; + mEnableArrowDrops = false; + mRupeesCopy = 0; + mRupees = 0; + mWalletSizeCopy = WALLET; + mWalletSize = WALLET; + mKeysCopy = 0; + mKeys = 0; + field_0x47 = 0; + field_0x23 = 0; + mEnableOxygenMeterCopy = false; + mEnableOxygenMeter = false; + mPoesCopy = 0; + mPoes = 0; + mDonationAmountCopy = 0; + mDonationAmount = 0; + + for (int i = 0; i < 24; i++) { + mItemsCopy[i] = NO_ITEM; + mItems[i] = NO_ITEM; + field_0x7a[i] = 0; + } + + for (int i = 0; i < 4; i++) { + mBottleNumCopy[i] = 0; + mBottleNum[i] = 0; + } + + for (int i = 0; i < 3; i++) { + mBombNumCopy[i] = 0; + mBombNum[i] = 0; + } + + mScentCopy = NO_ITEM; + mScent = NO_ITEM; + field_0xa8 = 0; + field_0xf4 = 0; + field_0xea = 0; + + for (int i = 0; i < 4; i++) { + bool swordBit = dComIfGs_isItemFirstBit(m_sword_item[i]); + mSwordsCopy[i] = swordBit; + mSwords[i] = swordBit; + } + + for (int i = 0; i < 3; i++) { + bool shieldBit = dComIfGs_isItemFirstBit(m_shield_item[i]); + mShieldsCopy[i] = shieldBit; + mShields[i] = shieldBit; + + bool clothesBit = dComIfGs_isItemFirstBit(m_cloth_item[i]); + mClothesCopy[i] = clothesBit; + mClothes[i] = clothesBit; + } + + mBombBagLV2Copy = false; + mBombBagLV2 = false; + + for (int i = 0; i < 3; i++) { + mLV2KeyShardsCopy[i] = false; + mLV2KeyShards[i] = false; + } + + for (int i = 0; i < 2; i++) { + mLV5ItemCopy[i] = false; + mLV5Item[i] = false; + } + + for (int i = 0; i < 24; i++) { + mGoldBugCopy[i] = false; + mGoldBug[i] = false; + } + + for (int i = 0; i < 8; i++) { + field_0x101[i] = 0; + field_0xf9[i] = 0; + field_0x111[i] = 0; + field_0x109[i] = 0; + } + + for (int i = 0; i < 4; i++) { + mFusedShadowCopy[i] = false; + mFusedShadow[i] = false; + } + + for (int i = 0; i < 4; i++) { + mMirrorShardCopy[i] = false; + mMirrorShard[i] = false; + } } -#pragma pop /* 801F9E14-801F9E1C 1F4754 0008+00 0/0 1/1 0/0 .text getBombFlag__9dMw_HIO_cFv */ bool dMw_HIO_c::getBombFlag() { @@ -140,64 +175,29 @@ bool dMw_HIO_c::getPachinkoFlag() { } /* 801F9E2C-801F9E98 1F476C 006C+00 1/1 0/0 0/0 .text __ct__10dMw_DHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMw_DHIO_c::dMw_DHIO_c() { - nofralloc -#include "asm/d/menu/d_menu_window_HIO/__ct__10dMw_DHIO_cFv.s" +dMw_DHIO_c::dMw_DHIO_c() { + for (int i = 0; i < 32; i++) { + mMap[i] = false; + mCompass[i] = false; + mBossKey[i] = false; + mBossClear[i] = false; + mHeartContainer[i] = false; + mBossDemo[i] = false; + mPortal[i] = false; + mMidBossClear[i] = false; + mMapCopy[i] = false; + mCompassCopy[i] = false; + mBossKeyCopy[i] = false; + mBossClearCopy[i] = false; + mHeartContainerCopy[i] = false; + mBossDemoCopy[i] = false; + mPortalCopy[i] = false; + mMidBossClearCopy[i] = false; + } } -#pragma pop - -/* 801F9E98-801F9EE0 1F47D8 0048+00 2/1 0/0 0/0 .text __dt__10dMw_DHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMw_DHIO_c::~dMw_DHIO_c() { - nofralloc -#include "asm/d/menu/d_menu_window_HIO/__dt__10dMw_DHIO_cFv.s" -} -#pragma pop - -/* 801F9EE0-801F9F28 1F4820 0048+00 2/1 0/0 0/0 .text __dt__9dMw_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMw_HIO_c::~dMw_HIO_c() { - nofralloc -#include "asm/d/menu/d_menu_window_HIO/__dt__9dMw_HIO_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 8042E860-8042E86C 05B580 000C+00 1/1 0/0 0/0 .bss @3773 */ -static u8 lit_3773[12]; /* 8042E86C-8042E99C 05B58C 0130+00 0/1 4/4 0/0 .bss g_mwHIO */ -extern u8 g_mwHIO[304]; -u8 g_mwHIO[304]; - -/* 8042E99C-8042E9A8 05B6BC 000C+00 0/1 0/0 0/0 .bss @3774 */ -#pragma push -#pragma force_active on -static u8 lit_3774[12]; -#pragma pop +dMw_HIO_c g_mwHIO; /* 8042E9A8-8042EBB0 05B6C8 0208+00 0/1 1/1 0/0 .bss g_mwDHIO */ -extern u8 g_mwDHIO[520]; -u8 g_mwDHIO[520]; - -/* 801F9F28-801F9F84 1F4868 005C+00 0/0 1/0 0/0 .text __sinit_d_menu_window_HIO_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_menu_window_HIO_cpp() { - nofralloc -#include "asm/d/menu/d_menu_window_HIO/__sinit_d_menu_window_HIO_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x801F9F28, __sinit_d_menu_window_HIO_cpp); -#pragma pop +dMw_DHIO_c g_mwDHIO; diff --git a/src/d/meter/d_meter2.cpp b/src/d/meter/d_meter2.cpp index 5af6b8a96e..24b8d4a645 100644 --- a/src/d/meter/d_meter2.cpp +++ b/src/d/meter/d_meter2.cpp @@ -290,13 +290,6 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // Declarations: // -/* ############################################################################################## */ -/* 80399338-80399338 025998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399338 = "F_SP00"; -#pragma pop - /* 804549C8-804549CC 002FC8 0004+00 9/9 0/0 0/0 .sdata2 @4662 */ SECTION_SDATA2 static u8 lit_4662[4] = { 0x00, @@ -308,31 +301,332 @@ SECTION_SDATA2 static u8 lit_4662[4] = { /* 804549CC-804549D0 002FCC 0004+00 13/13 0/0 0/0 .sdata2 @4663 */ SECTION_SDATA2 static f32 lit_4663 = 1.0f; -/* 8021EA14-8021F128 219354 0714+00 1/1 0/0 0/0 .text _create__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::_create() { - nofralloc -#include "asm/d/meter/d_meter2/_create__9dMeter2_cFv.s" +inline u16 dComIfGs_getLife() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife(); +} + +inline u16 i_dComIfGs_getRupee() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupee(); +} + +inline u8 dComIfGp_getRStatus() { + return g_dComIfG_gameInfo.play.getRStatus(); +} + +inline void dComIfGp_setBottleStatus(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.play.setBottleStatus(param_0, param_1); +} + +inline u8 dComIfGp_getDoStatus() { + return g_dComIfG_gameInfo.play.getDoStatus(); +} + +inline void dMeter2Info_offUseButton(int flag) { + g_meter2_info.offUseButton(flag); +} + +/* 8021EA14-8021F128 219354 0714+00 1/1 0/0 0/0 .text _create__9dMeter2_cFv */ +// this can be cleaned up with float literals when everything else is decompiled +int dMeter2_c::_create() { + stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); + if (dStage_stagInfo_GetUpButton(stag_info) == 1) { + mpHeap = fopMsgM_createExpHeap(0x5A400, NULL); + } else { + mpHeap = fopMsgM_createExpHeap(0x60800, NULL); + } + + JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap); + mpHeap->getTotalFreeSize(); + + if (!strcmp(dComIfGp_getStartStageName(), "F_SP00")) { + dMeter2Info_setNowCount(0); + dMeter2Info_setMaxCount(0); + } + + field_0x128 = 0; + field_0x12c = field_0x128; + field_0x124 = 0; + mSubContents = 0; + mSubContentsStringType = 0; + field_0x1e6 = 0; + field_0x1e7 = 0; + + mItemMaxNum[2] = dComIfGs_getArrowMax(); + mArrowNum = dComIfGs_getArrowNum(); + mItemMaxNum[3] = dComIfGs_getPachinkoMax(); + mPachinkoNum = dComIfGs_getPachinkoNum(); + + for (int i = 0; i < 3; i++) { + mBombMax[i] = dComIfGs_getBombMax(dComIfGs_getItem((u8)(i + SLOT_15), 1)); + mBombNum[i] = dComIfGs_getBombNum(i); + } + + for (int i = 0; i < 2; i++) { + mItemMaxNum[i] = dComIfGs_getSelectItemIndex(i); + } + + for (int i = 0; i < 4; i++) { + mBottleNum[i] = dComIfGs_getBottleNum(i); + } + + field_0x1e8 = 0; + field_0x1e9 = 0; + field_0x1ea = 0; + field_0x1eb = 0; + + for (int i = 0; i < 5; i++) { + field_0x1b8[i] = 0; + } + + field_0x1ec = 0; + field_0x1ed = 0; + field_0x1ee = 0; + + mNowLifeGauge = dComIfGs_getLife(); + dComIfGp_setItemNowLife((u8)mNowLifeGauge); + + mMaxLife = dComIfGs_getMaxLife(); + + mNowMagic = dComIfGs_getMagic(); + dComIfGp_setItemNowMagic(mNowMagic); + + mMaxMagic = dComIfGs_getMaxMagic(); + + mNowOil = dComIfGs_getOil(); + dComIfGp_setItemNowOil(mNowOil); + + mMaxOil = dComIfGs_getMaxOil(); + + mNowOxygen = dComIfGp_getOxygen(); + dComIfGp_setNowOxygen(mNowOxygen); + + mMaxOxygen = dComIfGp_getMaxOxygen(); + + field_0x130 = FLOAT_LABEL(lit_4662); + + u8 dark_area = dComIfGp_getStartStageDarkArea(); + mLightDropNum = dComIfGs_getLightDropNum(dark_area); + + mNeedLightDropNum = dComIfGp_getNeedLightDropNum(); + + mRupeeNum = i_dComIfGs_getRupee(); + mKeyNum = dComIfGs_getKeyNum(); + + field_0x1c4 = dComIfGp_getDoStatus(); + field_0x1dc = dComIfGp_isDoSetFlag(2); + + int i = 0; + f32 temp0 = FLOAT_LABEL(lit_4662); + for (; i < 2; i++) { + field_0x134[i] = temp0; + field_0x13c[i] = temp0; + } + field_0x144 = lit_4663; + + field_0x1c5 = dComIfGp_getAStatus(); + field_0x1c6 = 0; + field_0x1dd = dComIfGp_isASetFlag(2); + + i = 0; + f32 temp1 = FLOAT_LABEL(lit_4662); + for (; i < 2; i++) { + field_0x148[i] = temp1; + field_0x150[i] = temp1; + } + field_0x158 = lit_4663; + + field_0x1e4 = 0; + field_0x1e2 = dComIfGs_getSelectEquipSword(); + field_0x1e3 = 0; + + field_0x1fe = 0; + field_0x1fd = 0; + field_0x1ff = 0; + field_0x200 = 0; + field_0x201 = 0; + + field_0x1c7 = dComIfGs_getCollectSmell(); + field_0x1c8 = dComIfGp_getRStatus(); + field_0x1de = dComIfGp_isRSetFlag(2); + field_0x1df = dComIfGp_isXSetFlag(2); + field_0x1e0 = dComIfGp_isYSetFlag(2); + + for (int i = 0; i < 2; i++) { + dComIfGp_setSelectItem(i); + } + + field_0x1d2[0] = dComIfGp_getSelectItem(0); + field_0x1d2[2] = dComIfGp_getSelectItem(1); + field_0x1d2[1] = dComIfGp_getXStatus(); + field_0x1d2[3] = dComIfGp_getYStatus(); + f32 temp2 = FLOAT_LABEL(lit_4662); + field_0x188 = temp2; + field_0x18c = temp2; + + for (int i = 0; i < 2; i++) { + field_0x1d6[i] = dMeter2Info_isDirectUseItem(i); + field_0x1d8[i] = dComIfGp_getSelectItemNum(i); + } + + field_0x1e1 = 0; + field_0x1b4 = 0; + + f32 temp3 = FLOAT_LABEL(lit_4662); + field_0x15c = temp3; + + for (int i = 0; i < 4; i++) { + field_0x160[i] = temp3; + field_0x174[i] = temp3; + } + field_0x190 = 0; + + field_0x1c9 = dComIfGp_getZStatus(); + field_0x1ca = dComIfGp_get3DStatus(); + field_0x1cb = dComIfGp_getCStickStatus(); + field_0x1cc = dComIfGp_getSButtonStatus(); + field_0x1cd = dComIfGp_getNunStatus(); + field_0x1ce = dComIfGp_getRemoConStatus(); + field_0x1cf = dComIfGp_getNunZStatus(); + field_0x1d0 = dComIfGp_getNunCStatus(); + field_0x1d1 = dComIfGp_getBottleStatus(); + + field_0x1ac = dMeter2Info_isUseButton(16); + field_0x19a = 0; + + mpMeterDraw = new dMeter2Draw_c(mpHeap); + + field_0x130 = mpMeterDraw->getNowLightDropRateCalc(); + mpHeap->getTotalFreeSize(); + + for (int i = 0; i < 2; i++) { + if (field_0x128 == 0) { + if (field_0x1d2[i * 2] == BOMB_BAG_LV1 || field_0x1d2[i * 2] == NORMAL_BOMB || + field_0x1d2[i * 2] == WATER_BOMB || field_0x1d2[i * 2] == POKE_BOMB) { + mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), + dComIfGp_getSelectItemMaxNum(i)); + } else if (field_0x1d2[i * 2] == BEE_CHILD) { + mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), + dComIfGp_getSelectItemMaxNum(i)); + } else if (field_0x1d2[i * 2] == BOW || field_0x1d2[i * 2] == LIGHT_ARROW || + field_0x1d2[i * 2] == ARROW_LV1 || field_0x1d2[i * 2] == ARROW_LV2 || + field_0x1d2[i * 2] == ARROW_LV3 || field_0x1d2[i * 2] == HAWK_ARROW) { + mpMeterDraw->setItemNum(i, mArrowNum, dComIfGs_getArrowMax()); + } else if (field_0x1d2[i * 2] == PACHINKO) { + mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax()); + } else if (field_0x1d2[i * 2] == BOMB_ARROW) { + u8 item_num = dComIfGp_getSelectItemNum(i); + u8 item_max = dComIfGp_getSelectItemMaxNum(i); + if (item_num > mArrowNum) { + item_num = mArrowNum; + } + u8 temp = dComIfGs_getArrowMax() & 0xFF; + if (item_max < temp) { + item_max = temp; + } + mpMeterDraw->setItemNum(i, item_num, item_max); + } + } + } + + mpMap = NULL; + if (dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo()) { + mpMap = new dMeterMap_c(mpMeterDraw->getMainScreenPtr()); + } else { + if (g_meter2_info.mMapStatus == 2) { + g_meter2_info.mMapStatus = 0; + } + } + dMeter2Info_setMeterMapClass(mpMap); + + mpHeap->getTotalFreeSize(); + mpSubHeap = fopMsgM_createExpHeap(0x5000, mpHeap); + field_0x108 = NULL; + field_0x110 = NULL; + field_0x114 = NULL; + field_0x118 = NULL; + + mpHeap->getTotalFreeSize(); + field_0x11c = NULL; + mDoExt_setCurrentHeap(heap); + return 4; +} + +inline BOOL dComIfGs_isEventBit(u16 id) { + return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(id); +} + +inline BOOL dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); } -#pragma pop /* 8021F128-8021F370 219A68 0248+00 1/1 0/0 0/0 .text _execute__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::_execute() { - nofralloc -#include "asm/d/meter/d_meter2/_execute__9dMeter2_cFv.s" +int dMeter2_c::_execute() { + JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap); + + if (!dComIfGs_isCollectMirror(0) && dComIfGs_isEventBit(0x5420)) { + dComIfGs_onCollectMirror(0); + } + + if (!dComIfGs_isCollectCrystal(3) && dComIfGs_isEventBit(0x5410)) { + dComIfGs_onCollectCrystal(3); + } + + checkStatus(); + mpMeterDraw->exec(field_0x124); + + moveLife(); + moveKantera(); + moveOxygen(); + moveLightDrop(); + moveRupee(); + moveKey(); + moveButtonXY(); + moveButtonA(); + moveButtonB(); + moveButtonR(); + moveButtonZ(); + moveButton3D(); + moveButtonC(); + moveButtonS(); + moveButtonCross(); + moveTouchSubMenu(); + moveBombNum(); + moveArrowNum(); + movePachinkoNum(); + moveBottleNum(); + + if (mpMap != NULL) { + mpMap->_move(field_0x124); + } else { + dMeterMap_c::meter_map_move(field_0x124); + } + + moveSubContents(); + move2DContents(); + + if (!dComIfGp_isPauseFlag() && !dComIfGp_event_runCheck()) { + dMeter2Info_decHotSpringTimer(); + } + + dMeter2Info_allUseButton(); + dMeter2Info_offUseButton(0x800); + dMeter2Info_resetGameStatus(); + dComIfGp_setNunStatus(0, 0, 0); + dComIfGp_setRemoConStatus(0, 0, 0); + dComIfGp_setNunZStatus(0, 0); + dComIfGp_setNunCStatus(0, 0); + dComIfGp_setBottleStatus(0, 0); + dComIfGp_setCStickStatus(0, 0, 0); + + mDoExt_setCurrentHeap(heap); + return 1; } -#pragma pop /* 8021F370-8021F49C 219CB0 012C+00 1/1 0/0 0/0 .text _draw__9dMeter2_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeter2_c::_draw() { +asm int dMeter2_c::_draw() { nofralloc #include "asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s" } @@ -350,7 +644,7 @@ SECTION_SDATA2 static f32 lit_4837[1 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeter2_c::_delete() { +asm int dMeter2_c::_delete() { nofralloc #include "asm/d/meter/d_meter2/_delete__9dMeter2_cFv.s" } @@ -367,15 +661,16 @@ asm void dMeter2_c::emphasisButtonDelete() { } #pragma pop -/* 8021F780-8021F7B0 21A0C0 0030+00 0/0 0/0 1/1 .text setLifeZero__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::setLifeZero() { - nofralloc -#include "asm/d/meter/d_meter2/setLifeZero__9dMeter2_cFv.s" +inline void i_dComIfGp_setItemLifeCount(f32 amount, u8 type) { + g_dComIfG_gameInfo.play.setItemLifeCount(amount, type); +} + +/* 8021F780-8021F7B0 21A0C0 0030+00 0/0 0/0 1/1 .text setLifeZero__9dMeter2_cFv */ +void dMeter2_c::setLifeZero() { + dComIfGs_setLife(1); + setNowLifeGauge(1); + i_dComIfGp_setItemLifeCount(lit_4837[0], 0); } -#pragma pop /* ############################################################################################## */ /* 803BFA28-803BFA54 -00001 002C+00 1/1 0/0 0/0 .data @5038 */ @@ -831,45 +1126,30 @@ asm void dMeter2_c::isPachinkoEquip() { #pragma pop /* 80225AA0-80225AC0 2203E0 0020+00 1/0 0/0 0/0 .text dMeter2_Draw__FP9dMeter2_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dMeter2_Draw(dMeter2_c* param_0) { - nofralloc -#include "asm/d/meter/d_meter2/dMeter2_Draw__FP9dMeter2_c.s" +static int dMeter2_Draw(dMeter2_c* p_meter) { + return p_meter->_draw(); } -#pragma pop /* 80225AC0-80225AE0 220400 0020+00 1/0 0/0 0/0 .text dMeter2_Execute__FP9dMeter2_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dMeter2_Execute(dMeter2_c* param_0) { - nofralloc -#include "asm/d/meter/d_meter2/dMeter2_Execute__FP9dMeter2_c.s" +static int dMeter2_Execute(dMeter2_c* p_meter) { + return p_meter->_execute(); } -#pragma pop /* 80225AE0-80225AE8 220420 0008+00 1/0 0/0 0/0 .text dMeter2_IsDelete__FP9dMeter2_c */ -static bool dMeter2_IsDelete(dMeter2_c* param_0) { - return true; +static int dMeter2_IsDelete(dMeter2_c* p_meter) { + return 1; } /* 80225AE8-80225B08 220428 0020+00 1/0 0/0 0/0 .text dMeter2_Delete__FP9dMeter2_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dMeter2_Delete(dMeter2_c* param_0) { - nofralloc -#include "asm/d/meter/d_meter2/dMeter2_Delete__FP9dMeter2_c.s" +static int dMeter2_Delete(dMeter2_c* p_meter) { + return p_meter->_delete(); } -#pragma pop /* 80225B08-80225BB8 220448 00B0+00 1/0 0/0 0/0 .text dMeter2_Create__FP9msg_class */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dMeter2_Create(msg_class* param_0) { +static asm int dMeter2_Create(msg_class* param_0) { nofralloc #include "asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s" } @@ -877,10 +1157,8 @@ static asm void dMeter2_Create(msg_class* param_0) { /* ############################################################################################## */ /* 803BFA54-803BFA68 -00001 0014+00 1/0 0/0 0/0 .data l_dMeter2_Method */ -SECTION_DATA static void* l_dMeter2_Method[5] = { - (void*)dMeter2_Create__FP9msg_class, (void*)dMeter2_Delete__FP9dMeter2_c, - (void*)dMeter2_Execute__FP9dMeter2_c, (void*)dMeter2_IsDelete__FP9dMeter2_c, - (void*)dMeter2_Draw__FP9dMeter2_c, +SECTION_DATA static dMeter2_Method l_dMeter2_Method[5] = { + (dMeter2_Method)dMeter2_Create, dMeter2_Delete, dMeter2_Execute, dMeter2_IsDelete, dMeter2_Draw, }; /* 803BFA68-803BFA90 -00001 0028+00 0/0 0/0 1/0 .data g_profile_METER2 */ diff --git a/src/d/meter/d_meter2_draw.cpp b/src/d/meter/d_meter2_draw.cpp index 4c6cfff35b..85392410c6 100644 --- a/src/d/meter/d_meter2_draw.cpp +++ b/src/d/meter/d_meter2_draw.cpp @@ -4,6 +4,9 @@ // #include "d/meter/d_meter2_draw.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" +#include "d/com/d_com_inf_game.h" +#include "d/meter/d_meter_HIO.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,35 +14,6 @@ // Types: // -struct dSv_player_item_c { - /* 80033030 */ void getItem(int, bool) const; -}; - -struct dSv_light_drop_c { - /* 80034340 */ void getLightDropNum(u8) const; - /* 8003439C */ void isLightDropGetFlag(u8) const; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dMsgObject_c { - /* 802370E8 */ void isHowlMessage(); - /* 8023822C */ void getStatus(); -}; - -struct JMSMesgEntry_c {}; - -struct dMeter2Info_c { - /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*); - /* 8021C370 */ void getStringKana(u32, char*, JMSMesgEntry_c*); - /* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*); - /* 8021C950 */ void isDirectUseItem(int); - /* 8021CF08 */ void readItemTexture(u8, void*, J2DPicture*, void*, J2DPicture*, void*, - J2DPicture*, void*, J2DPicture*, int); -}; - struct dKantera_icon_c { /* 801AE938 */ dKantera_icon_c(); /* 801AEB7C */ void setAlphaRate(f32); @@ -48,12 +22,6 @@ struct dKantera_icon_c { /* 801AEC44 */ void setNowGauge(u16, u16); }; -struct dItem_data { - static void* item_resource[1530]; -}; - -struct JAISoundID {}; - struct Z2SeMgr { /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); @@ -63,10 +31,6 @@ struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; -struct J2DAnmLoaderDataBase { - /* 80308A6C */ void load(void const*); -}; - // // Forward References: // @@ -258,13 +222,8 @@ 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 strcpy(); extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" void* item_resource__10dItem_data[1530]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_drawHIO[3880]; -extern "C" extern u8 g_meter2_info[248]; extern "C" extern u8 g_MsgObject_HIO_c[1040]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -745,6 +704,60 @@ SECTION_DEAD static char const* const stringBase_80398A0A = "zelda_game_image_sa #pragma pop /* 80211E64-80212190 20C7A4 032C+00 1/1 0/0 0/0 .text initMagic__13dMeter2Draw_cFv */ +#ifdef NONMATCHING +void dMeter2Draw_c::initMagic() { + field_0x550 = 0.0f; + field_0x554 = 0.0f; + + mpMagicParent = new CPaneMgr(mpKanteraScreen, 'magic_n', 2, NULL); + mpMagicBase = new CPaneMgr(mpKanteraScreen, 'mm_base', 0, NULL); + mpMagicFrameL = new CPaneMgr(mpKanteraScreen, 'm_w_l_n', 2, NULL); + mpMagicFrameR = new CPaneMgr(mpKanteraScreen, 'm_w_r_n', 2, NULL); + mpMagicMeter = new CPaneMgr(mpKanteraScreen, 'mm_00', 0, NULL); + + void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk", + dComIfGp_getMain2DArchive()); + field_0x53c = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + field_0x53c->searchUpdateMaterialID(mpKanteraScreen); + + res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk", + dComIfGp_getMain2DArchive()); + field_0x540 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + field_0x540->searchUpdateMaterialID(mpKanteraScreen); + + res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk", + dComIfGp_getMain2DArchive()); + field_0x544 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + field_0x544->searchUpdateMaterialID(mpKanteraScreen); + + field_0x558 = 0.0f; + mpMagicParent->setAlphaRate(0.0f); + + f32 offsetX = g_drawHIO.mLifeTopPosX; + f32 offsetY = 0.0f; + + if (dComIfGs_getMaxLife() <= 50) { + offsetY = g_drawHIO.mLifeTopPosY; + } + + for (int i = 0; i < 3; i++) { + field_0x5fc[i] = 0.0f; + field_0x742[i] = 0; + } + + u8 magic = dComIfGs_getMagic(); + u8 max_magic = dComIfGs_getMaxMagic(); + drawMagic(max_magic, magic, g_drawHIO.mMagicMeterPosX + offsetX, + g_drawHIO.mMagicMeterPosY + offsetY); + setAlphaMagicChange(true); + + u16 oil = dComIfGs_getOil(); + u16 max_oil = dComIfGs_getMaxOil(); + drawKantera(max_oil, oil, g_drawHIO.mLanternMeterPosX + offsetX, + g_drawHIO.mLanternMeterPosY + (g_drawHIO.mNoMagicPosY + offsetY)); + setAlphaKanteraChange(true); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -753,6 +766,7 @@ asm void dMeter2Draw_c::initMagic() { #include "asm/d/meter/d_meter2_draw/initMagic__13dMeter2Draw_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80398640-803986C0 024CA0 0080+00 0/1 0/0 0/0 .rodata tuta_0$5094 */ @@ -1072,6 +1086,26 @@ asm void dMeter2Draw_c::drawKanteraScreen(u8 param_0) { SECTION_SDATA2 static f32 lit_6175 = 0.03125f; /* 80215290-80215380 20FBD0 00F0+00 1/1 0/0 0/0 .text drawMagic__13dMeter2Draw_cFssff */ +#ifdef NONMATCHING +void dMeter2Draw_c::drawMagic(s16 max_count, s16 now_count, f32 x_pos, f32 y_pos) { + f32 x_diff = mpMagicFrameR->getInitPosX() - mpMagicFrameL->getInitPosX(); + + field_0x584 = mpMagicMeter->getInitSizeX() * (lit_6175 * now_count); + field_0x590 = mpMagicMeter->getInitSizeY(); + + field_0x59c = mpMagicFrameL->getInitPosX() * x_diff * (max_count * lit_6175); + field_0x5a8 = mpMagicFrameL->getInitPosY(); + + field_0x5b4 = mpMagicBase->getInitSizeX() * (max_count * lit_6175); + field_0x5c0 = mpMagicBase->getInitSizeY(); + + field_0x5cc = g_drawHIO.mMagicMeterScale; + field_0x5d8 = g_drawHIO.mMagicMeterScale; + + field_0x5e4 = x_pos; + field_0x5f0 = y_pos; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1080,6 +1114,7 @@ asm void dMeter2Draw_c::drawMagic(s16 param_0, s16 param_1, f32 param_2, f32 par #include "asm/d/meter/d_meter2_draw/drawMagic__13dMeter2Draw_cFssff.s" } #pragma pop +#endif /* 80215380-802154A8 20FCC0 0128+00 2/2 0/0 0/0 .text setAlphaMagicChange__13dMeter2Draw_cFb */ #pragma push @@ -1207,7 +1242,7 @@ void dMeter2Draw_c::setAlphaLightDropChange(bool param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeter2Draw_c::getNowLightDropRateCalc() { +asm f32 dMeter2Draw_c::getNowLightDropRateCalc() { nofralloc #include "asm/d/meter/d_meter2_draw/getNowLightDropRateCalc__13dMeter2Draw_cFv.s" } diff --git a/src/d/meter/d_meter2_info.cpp b/src/d/meter/d_meter2_info.cpp index 3b89e0070a..d4b84b17fd 100644 --- a/src/d/meter/d_meter2_info.cpp +++ b/src/d/meter/d_meter2_info.cpp @@ -5,6 +5,7 @@ #include "d/meter/d_meter2_info.h" #include "d/com/d_com_inf_game.h" +#include "d/msg/d_msg_object.h" #include "d/save/d_save.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/src/d/meter/d_meter_HIO.cpp b/src/d/meter/d_meter_HIO.cpp index 34e51d8e75..1974afaff4 100644 --- a/src/d/meter/d_meter_HIO.cpp +++ b/src/d/meter/d_meter_HIO.cpp @@ -1685,6 +1685,27 @@ dMeter_fmapHIO_c::dMeter_fmapHIO_c() { } /* 80200BCC-80200CD4 1FB50C 0108+00 2/1 0/0 0/0 .text __dt__16dMeter_fmapHIO_cFv */ +#ifdef NONMATCHING +dMeter_fmapHIO_c::~dMeter_fmapHIO_c() { + if (field_0xc != NULL) { + mDoExt_getGameHeap()->free(field_0xc); + field_0xc = NULL; + } + + if (field_0x10 != NULL) { + mDoExt_getGameHeap()->free(field_0x10); + field_0x10 = NULL; + } + + if (field_0x8 != NULL) { + field_0x8->unmount(); + delete field_0x8; + field_0x8 = NULL; + } + + delete mMapIconHIO; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1694,6 +1715,7 @@ extern "C" asm void __dt__16dMeter_fmapHIO_cFv() { #include "asm/d/meter/d_meter_HIO/__dt__16dMeter_fmapHIO_cFv.s" } #pragma pop +#endif /* 80200CD4-80200D58 1FB614 0084+00 1/1 0/0 0/0 .text __ct__18dMeter_cursorHIO_cFv */ dMeter_cursorHIO_c::dMeter_cursorHIO_c() { @@ -1875,65 +1897,17 @@ extern "C" asm void __dt__16dMeter_drawHIO_cFv() { /* 8020123C-80201284 1FBB7C 0048+00 2/1 0/0 0/0 .text __dt__16dMeter_menuHIO_cFv */ dMeter_menuHIO_c::~dMeter_menuHIO_c() {} -/* ############################################################################################## */ -/* 8042EBB0-8042EBBC 05B8D0 000C+00 1/1 0/0 0/0 .bss @3766 */ -static u8 lit_3766[12]; - -/* 8042EBBC-8042EBC8 05B8DC 000C+00 0/1 0/0 0/0 .bss @3767 */ -#pragma push -#pragma force_active on -static u8 lit_3767[12]; -#pragma pop +/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */ +dMeter_menuHIO_c g_menuHIO; /* 8042EBC8-8042FAF0 05B8E8 0F28+00 0/1 157/157 0/0 .bss g_drawHIO */ -extern u8 g_drawHIO[3880]; -u8 g_drawHIO[3880]; - -/* 8042FAF0-8042FAFC 05C810 000C+00 0/1 0/0 0/0 .bss @3768 */ -#pragma push -#pragma force_active on -static u8 lit_3768[12]; -#pragma pop +dMeter_drawHIO_c g_drawHIO; /* 8042FAFC-8042FC54 05C81C 0158+00 0/1 19/19 0/0 .bss g_ringHIO */ -extern u8 g_ringHIO[344]; -u8 g_ringHIO[344]; - -/* 8042FC54-8042FC60 05C974 000C+00 0/1 0/0 0/0 .bss @3769 */ -#pragma push -#pragma force_active on -static u8 lit_3769[12]; -#pragma pop +dMeter_ringHIO_c g_ringHIO; /* 8042FC60-80430104 05C980 04A4+00 0/1 54/54 0/0 .bss g_fmapHIO */ -extern u8 g_fmapHIO[1188]; -u8 g_fmapHIO[1188]; - -/* 80430104-80430110 05CE24 000C+00 0/1 0/0 0/0 .bss @3770 */ -#pragma push -#pragma force_active on -static u8 lit_3770[12]; -#pragma pop +dMeter_fmapHIO_c g_fmapHIO; /* 80430110-80430158 05CE30 0044+04 0/1 6/6 1/1 .bss g_cursorHIO */ -extern u8 g_cursorHIO[68 + 4 /* padding */]; -u8 g_cursorHIO[68 + 4 /* padding */]; - -/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */ -extern u8 g_menuHIO[8]; -u8 g_menuHIO[8]; - -/* 80201284-80201328 1FBBC4 00A4+00 0/0 1/0 0/0 .text __sinit_d_meter_HIO_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_meter_HIO_cpp() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__sinit_d_meter_HIO_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80201284, __sinit_d_meter_HIO_cpp); -#pragma pop +dMeter_cursorHIO_c g_cursorHIO; diff --git a/src/d/meter/d_meter_map.cpp b/src/d/meter/d_meter_map.cpp index f19625aff0..e333a537ab 100644 --- a/src/d/meter/d_meter_map.cpp +++ b/src/d/meter/d_meter_map.cpp @@ -4,67 +4,13 @@ // #include "d/meter/d_meter_map.h" +#include "Z2AudioLib/Z2AudioMgr.h" +#include "d/com/d_com_inf_game.h" +#include "d/menu/d_menu_window.h" +#include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct dSv_memBit_c { - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dStage_roomControl_c { - /* 80024384 */ void getStatusRoomDt(int); -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - -struct dMap_c { - /* 80029874 */ dMap_c(int, int, int, int); - /* 8002A32C */ void _move(f32, f32, int, f32); - /* 8002AB54 */ void _draw(); -}; - -struct dMapInfo_n { - /* 8003EE5C */ void getMapPlayerPos(); -}; - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct J2DPicture { - /* 802FC708 */ J2DPicture(ResTIMG const*); -}; +#include "f_op/f_op_overlap_mng.h" // // Forward References: @@ -132,78 +78,156 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; -extern "C" extern u8 struct_80450D64[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // // Declarations: // -/* 8020D49C-8020D528 207DDC 008C+00 1/1 0/0 0/0 .text isEnableDispMap__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::isEnableDispMap() { - nofralloc -#include "asm/d/meter/d_meter_map/isEnableDispMap__11dMeterMap_cFv.s" +inline BOOL dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); +} + +inline u16 dComIfGp_event_checkHind(u16 flag) { + if (!dComIfGp_event_runCheck()) { + return false; + } + return g_dComIfG_gameInfo.play.getEvent().checkHind(flag); +} + +inline u16 dComIfGp_event_chkEventFlag(u16 flag) { + return g_dComIfG_gameInfo.play.getEvent().chkEventFlag(flag); +} + +inline dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); +} + +inline daPy_py_c* daPy_getPlayerActorClass() { + return (daPy_py_c*)dComIfGp_getPlayer(0); +} + +inline BOOL dComIfGs_isEventBit(u16 id) { + return g_dComIfG_gameInfo.info.getEvent().isEventBit(id); +} + +/* 8020D49C-8020D528 207DDC 008C+00 1/1 0/0 0/0 .text isEnableDispMap__11dMeterMap_cFv */ +bool dMeterMap_c::isEnableDispMap() { + bool minimapEnable = false; + stage_stag_info_class* pstag = dComIfGp_getStage()->getStagInfo(); + + if (pstag != NULL && getMapDispSizeTypeNo() != 0) { + minimapEnable = dStage_stagInfo_GetMiniMap(pstag) != 0; + } + + bool enableMap = false; + if (minimapEnable && dMpath_c::isExistMapPathData()) { + enableMap = true; + } + return enableMap; } -#pragma pop /* 8020D528-8020D650 207E68 0128+00 3/3 0/0 0/0 .text getMapDispSizeTypeNo__11dMeterMap_cFv */ +// stayNo load block in wrong order +#ifdef NONMATCHING +int dMeterMap_c::getMapDispSizeTypeNo() { + int uvar6 = 7; + int stayNo = dComIfGp_roomControl_getStayNo(); + + dStage_FileList_dt_c* fList = + dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo(); + if (fList != NULL) { + uvar6 = dStage_FileList_dt_getMiniMap(fList); + } + + u32 stageMapSizeTypeNo = dStage_stagInfo_GetMiniMap(dComIfGp_getStage()->getStagInfo()); + s32 mapDispType = dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()); + + if (mapDispType == 1) { + uvar6 = 1; + } else if (uvar6 == 7) { + uvar6 = stageMapSizeTypeNo; + } + + int mapDispSizeType = 0; + switch (uvar6) { + case 0: + break; + case 1: + if (mapDispType == 1) { + mapDispSizeType = 4; + } else { + mapDispSizeType = 1; + } + break; + case 2: + if (mapDispType != 1) { + mapDispSizeType = 2; + } + break; + case 3: + if (mapDispType == 1) { + mapDispSizeType = 5; + } else { + mapDispSizeType = 3; + } + break; + } + + return mapDispSizeType; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeterMap_c::getMapDispSizeTypeNo() { +asm int dMeterMap_c::getMapDispSizeTypeNo() { nofralloc #include "asm/d/meter/d_meter_map/getMapDispSizeTypeNo__11dMeterMap_cFv.s" } #pragma pop +#endif /* 8020D650-8020D690 207F90 0040+00 5/5 3/3 0/0 .text * isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() { - nofralloc -#include "asm/d/meter/d_meter_map/isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv.s" -} -#pragma pop +bool dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() { + if (isEnableDispMap() && getMapDispSizeTypeNo()) { + return true; + } -/* ############################################################################################## */ -/* 80454820-80454828 002E20 0004+04 1/1 0/0 0/0 .sdata2 @4076 */ -SECTION_SDATA2 static f32 lit_4076[1 + 1 /* padding */] = { - 421.0f, - /* padding */ - 0.0f, -}; + return false; +} /* 8020D690-8020D698 207FD0 0008+00 2/2 0/0 0/0 .text * getMapDispEdgeBottomY_Layout__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::getMapDispEdgeBottomY_Layout() { - nofralloc -#include "asm/d/meter/d_meter_map/getMapDispEdgeBottomY_Layout__11dMeterMap_cFv.s" +f32 dMeterMap_c::getMapDispEdgeBottomY_Layout() { + return 421.0f; } -#pragma pop /* 8020D698-8020D72C 207FD8 0094+00 2/2 0/0 0/0 .text isEventRunCheck__11dMeterMap_cFv */ +// missing gameinfo load +#ifdef NONMATCHING +bool dMeterMap_c::isEventRunCheck() { + if (dComIfGp_event_runCheck()) { + return true; + } else if (dMsgObject_isTalkNowCheck()) { + return true; + } + + return dComIfGp_event_runCheck() != field_0x30 ? 1 : 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeterMap_c::isEventRunCheck() { +asm bool dMeterMap_c::isEventRunCheck() { nofralloc #include "asm/d/meter/d_meter_map/isEventRunCheck__11dMeterMap_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454828-80454830 002E28 0008+00 3/3 0/0 0/0 .sdata2 @4100 */ @@ -211,14 +235,21 @@ SECTION_SDATA2 static f64 lit_4100 = 4503601774854144.0 /* cast s32 to float */; /* 8020D72C-8020D75C 20806C 0030+00 2/2 0/0 0/0 .text getMapDispEdgeLeftX_Layout__11dMeterMap_cFv */ +#ifdef NONMATCHING +// matches with literal +f32 dMeterMap_c::getMapDispEdgeLeftX_Layout() { + return field_0x28 + 35; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeterMap_c::getMapDispEdgeLeftX_Layout() { +asm f32 dMeterMap_c::getMapDispEdgeLeftX_Layout() { nofralloc #include "asm/d/meter/d_meter_map/getMapDispEdgeLeftX_Layout__11dMeterMap_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454830-80454834 002E30 0004+00 2/2 0/0 0/0 .sdata2 @4128 */ @@ -237,18 +268,31 @@ SECTION_SDATA2 static f64 lit_4131 = 4503599627370496.0 /* cast u32 to float */; /* 8020D75C-8020D7E4 20809C 0088+00 0/0 1/1 0/0 .text getMapDispEdgeTop__11dMeterMap_cFv */ +// matches with literals +#ifdef NONMATCHING +f32 dMeterMap_c::getMapDispEdgeTop() { + f32 tmp = 0.0f; + if (mMap != NULL) { + tmp = mMap->getTexSizeY() - + mMap->getTexelPerCm() * (mMap->getPackZ() - mMap->getPackPlusZ()) - + mMap->getTopEdgePlus(); + } + return getMapDispEdgeBottomY_Layout() - tmp; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeterMap_c::getMapDispEdgeTop() { +asm f32 dMeterMap_c::getMapDispEdgeTop() { nofralloc #include "asm/d/meter/d_meter_map/getMapDispEdgeTop__11dMeterMap_cFv.s" } #pragma pop +#endif /* 8020D7E4-8020D7EC 208124 0008+00 2/2 0/0 0/0 .text getDispPosInside_OffsetX__11dMeterMap_cFv */ -bool dMeterMap_c::getDispPosInside_OffsetX() { - return false; +s16 dMeterMap_c::getDispPosInside_OffsetX() { + return 0; } /* ############################################################################################## */ @@ -257,51 +301,56 @@ SECTION_SDATA2 static f32 lit_4159 = -36.0f; /* 8020D7EC-8020D874 20812C 0088+00 2/2 0/0 0/0 .text getDispPosOutSide_OffsetX__11dMeterMap_cFv */ +// calculation order is wrong +#ifdef NONMATCHING +s16 dMeterMap_c::getDispPosOutSide_OffsetX() { + f32 dvar3 = -36.0f - mSizeW; + f32 tmp = 0.0f; + if (mMap != NULL) { + tmp = (mMap->getTexelPerCm() * mMap->getPackX()) + + (mMap->getRightEdgePlus() + (mMap->getTexelPerCm() * mMap->getPackPlusZ())); + tmp += dvar3; + } + return tmp - getMapDispEdgeLeftX_Layout(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeterMap_c::getDispPosOutSide_OffsetX() { +asm s16 dMeterMap_c::getDispPosOutSide_OffsetX() { nofralloc #include "asm/d/meter/d_meter_map/getDispPosOutSide_OffsetX__11dMeterMap_cFv.s" } #pragma pop +#endif /* 8020D874-8020D8BC 2081B4 0048+00 2/2 2/2 0/0 .text setDispPosInsideFlg_SE_On__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::setDispPosInsideFlg_SE_On() { - nofralloc -#include "asm/d/meter/d_meter_map/setDispPosInsideFlg_SE_On__11dMeterMap_cFv.s" +void dMeterMap_c::setDispPosInsideFlg_SE_On() { + if (isEnableDispMapAndMapDispSizeTypeNo()) { + dComIfGp_mapShow(); + field_0x2d = 1; + field_0x2e = 7; + } } -#pragma pop /* 8020D8BC-8020D8F8 2081FC 003C+00 1/1 2/2 0/0 .text setDispPosOutsideFlg_SE_On__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::setDispPosOutsideFlg_SE_On() { - nofralloc -#include "asm/d/meter/d_meter_map/setDispPosOutsideFlg_SE_On__11dMeterMap_cFv.s" +void dMeterMap_c::setDispPosOutsideFlg_SE_On() { + dComIfGp_mapHide(); + field_0x2d = 0; + field_0x2e = 7; } -#pragma pop /* 8020D8F8-8020D900 -00001 0008+00 0/0 0/0 0/0 .text setMapAlpha__11dMeterMap_cFUc */ -void dMeterMap_c::setMapAlpha(u8 param_0) { - *(u8*)(((u8*)this) + 44) /* this->field_0x2c */ = (u8)(param_0); +void dMeterMap_c::setMapAlpha(u8 alpha) { + mMapAlpha = alpha; } /* 8020D900-8020D948 208240 0048+00 3/3 1/1 0/0 .text isMapOpenCheck__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMeterMap_c::isMapOpenCheck() { - nofralloc -#include "asm/d/meter/d_meter_map/isMapOpenCheck__11dMeterMap_cFv.s" +bool dMeterMap_c::isMapOpenCheck() { + return dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 7 ? false : true; } -#pragma pop /* ############################################################################################## */ /* 803BF2D8-803BF2F8 -00001 0020+00 1/1 0/0 0/0 .data @4516 */ @@ -316,36 +365,102 @@ SECTION_DATA static void* lit_4516[8] = { (void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x190), }; -/* 803BF2F8-803BF308 01C418 0010+00 2/2 0/0 0/0 .data __vt__11dMeterMap_c */ -SECTION_DATA extern void* __vt__11dMeterMap_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__11dMeterMap_cFv, - (void*)__dt__11dMeterMap_cFv, -}; - /* 8020D948-8020D990 208288 0048+00 0/0 1/1 0/0 .text __ct__11dMeterMap_cFP9J2DScreen */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeterMap_c::dMeterMap_c(J2DScreen* param_0) { - nofralloc -#include "asm/d/meter/d_meter_map/__ct__11dMeterMap_cFP9J2DScreen.s" +dMeterMap_c::dMeterMap_c(J2DScreen* p_scrn) { + _create(p_scrn); } -#pragma pop /* 8020D990-8020D9EC 2082D0 005C+00 1/0 0/0 0/0 .text __dt__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeterMap_c::~dMeterMap_c() { - nofralloc -#include "asm/d/meter/d_meter_map/__dt__11dMeterMap_cFv.s" +dMeterMap_c::~dMeterMap_c() { + _delete(); } -#pragma pop /* 8020D9EC-8020DC50 20832C 0264+00 1/1 0/0 0/0 .text _create__11dMeterMap_cFP9J2DScreen */ +// matches with auto gen literals +#ifdef NONMATCHING +void dMeterMap_c::_create(J2DScreen* param_0) { + s32 sizeX; + s32 sizeY; + s32 dispSizeW; + s32 dispSizeH; + + getMapDispSizeTypeNo(); + switch (getMapDispSizeTypeNo()) { + case 1: + dispSizeW = 216; + dispSizeH = 216; + sizeX = 144; + sizeY = 144; + break; + case 2: + dispSizeW = 216; + dispSizeH = 216; + sizeX = 216; + sizeY = 216; + break; + case 3: + dispSizeW = 216; + dispSizeH = 216; + sizeX = 96; + sizeY = 96; + break; + case 0: + case 4: + dispSizeW = 144; + dispSizeH = 144; + sizeX = 144; + sizeY = 144; + break; + case 5: + dispSizeW = 144; + dispSizeH = 144; + sizeX = 96; + sizeY = 96; + break; + } + + mSizeW = (s16)sizeX; + mSizeH = (s16)sizeY; + + mMap = new dMap_c(sizeX, sizeY, dispSizeW, dispSizeH); + mMapJ2DPicture = new J2DPicture(mMap->getResTIMGPointer()); + + mIsCompass = dComIfGs_isDungeonItemCompass(); + mIsMap = dComIfGs_isDungeonItemMap(); + field_0x14 = 0; + field_0x2a = 0; + + if (dComIfGp_checkMapShow()) { + field_0x2d = 1; + + if (!isEnableDispMapAndMapDispSizeTypeNo()) { + field_0x2d = 0; + } + + if (!isMapOpenCheck()) { + field_0x2d = 0; + } + } else { + field_0x2d = 0; + } + + if (field_0x2d != 0) { + field_0x2d = 1; + field_0x28 = getDispPosInside_OffsetX(); + dMeter2Info_setMapStatus(1); + } else { + field_0x2d = 0; + field_0x28 = getDispPosOutSide_OffsetX(); + dMeter2Info_setMapStatus(0); + } + + field_0x2e = 0; + field_0x28 = 0; + field_0x30 = 0; + field_0x2b = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118]); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -354,16 +469,26 @@ asm void dMeterMap_c::_create(J2DScreen* param_0) { #include "asm/d/meter/d_meter_map/_create__11dMeterMap_cFP9J2DScreen.s" } #pragma pop +#endif /* 8020DC50-8020DCE4 208590 0094+00 1/1 0/0 0/0 .text _delete__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::_delete() { - nofralloc -#include "asm/d/meter/d_meter_map/_delete__11dMeterMap_cFv.s" +void dMeterMap_c::_delete() { + if (mMapJ2DPicture != NULL) { + delete mMapJ2DPicture; + } + + if (mMap != NULL) { + delete mMap; + } + + if (isEnableDispMapAndMapDispSizeTypeNo()) { + if (field_0x2d != 0) { + dComIfGp_mapShow(); + } else { + dComIfGp_mapHide(); + } + } } -#pragma pop /* ############################################################################################## */ /* 80398208-80398208 024868 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -373,6 +498,46 @@ SECTION_DEAD static char const* const stringBase_80398208 = "F_SP115"; #pragma pop /* 8020DCE4-8020DF1C 208624 0238+00 0/0 1/1 0/0 .text _move__11dMeterMap_cFUl */ +// just regalloc +#ifdef NONMATCHING +void dMeterMap_c::_move(u32 param_0) { + if (!field_0x2b && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118])) { + if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0) { + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[119]); + } else { + field_0x2b = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118]); + dMeter2Info_setPauseStatus(2); + } + } + int stayNo = dComIfGp_roomControl_getStayNo(); + + field_0x14 = param_0; + field_0x2a = checkMoveStatus(); + + if (field_0x2a == 1 || field_0x2a == 2 || field_0x2a == 3 || + dMeter2Info_getPauseStatus() == 7 || dMeter2Info_getPauseStatus() == 2 || + dMeter2Info_getPauseStatus() == 6 || dMeter2Info_getPauseStatus() == 4 || + dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5) { + ctrlShowMap(); + } + + if (field_0x2d != 0) { + if (field_0x28 != getDispPosInside_OffsetX()) { + cLib_addCalcAngleS(&field_0x28, getDispPosInside_OffsetX(), 2, 60, 10); + } + } else { + cLib_addCalcAngleS(&field_0x28, getDispPosOutSide_OffsetX(), 2, 60, 10); + } + + Vec map_pos = dMapInfo_n::getMapPlayerPos(); + + field_0x18 = field_0x28 + getMapDispEdgeLeftX_Layout(); + field_0x1c = getMapDispEdgeBottomY_Layout() - mSizeH; + + mMap->_move(map_pos.x, map_pos.z, stayNo, map_pos.y); + field_0x30 = dComIfGp_event_runCheck(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -381,32 +546,127 @@ asm void dMeterMap_c::_move(u32 param_0) { #include "asm/d/meter/d_meter_map/_move__11dMeterMap_cFUl.s" } #pragma pop +#endif /* 8020DF1C-8020DF68 20885C 004C+00 0/0 1/1 0/0 .text _draw__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::_draw() { - nofralloc -#include "asm/d/meter/d_meter_map/_draw__11dMeterMap_cFv.s" +void dMeterMap_c::_draw() { + mMap->_draw(); + dComIfGd_set2DOpa(this); } -#pragma pop /* 8020DF68-8020E070 2088A8 0108+00 1/0 0/0 0/0 .text draw__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::draw() { - nofralloc -#include "asm/d/meter/d_meter_map/draw__11dMeterMap_cFv.s" +void dMeterMap_c::draw() { + if (mMap != NULL && mMap->isDraw()) { + dComIfGp_getCurrentGrafPort()->setup2D(); + f32 sizeX = mSizeW; + f32 sizeY = mSizeH; + f32 tmp2 = field_0x18; + f32 tmp3 = field_0x1c; + + mMapJ2DPicture->setAlpha(mMapAlpha); + mMapJ2DPicture->draw(tmp2, tmp3, sizeX, sizeY, false, false, false); + mMapJ2DPicture->calcMtx(); + } } -#pragma pop /* ############################################################################################## */ /* 80454844-80454848 002E44 0004+00 3/3 0/0 0/0 .sdata2 @4515 */ SECTION_SDATA2 static f32 lit_4515 = -1.0f; /* 8020E070-8020E45C 2089B0 03EC+00 2/1 0/0 0/0 .text ctrlShowMap__11dMeterMap_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMeterMap_c::ctrlShowMap() { + if (!dMeter2Info_isGameStatus(1)) { + if (!isMapOpenCheck() && !isEventRunCheck()) { + if (dMw_LEFT_TRIGGER() || dMw_RIGHT_TRIGGER()) { + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + } + } else { + if (dMeter2Info_getPauseStatus() == 1 || dMeter2Info_getPauseStatus() == 7 || + dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5 || + dMeter2Info_getPauseStatus() == 2 || dMeter2Info_getPauseStatus() == 6) { + if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) { + setDispPosInsideFlg_SE_On(); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + dMeter2Info_setMapStatus(1); + } + + if (dMeter2Info_getMapStatus() == 1 && field_0x2d != 0 && isFmapScreen()) { + switch (dMeter2Info_getPauseStatus()) { + case 1: + dMeter2Info_setMapStatus(4); + break; + case 2: + dMeter2Info_setMapStatus(7); + break; + case 3: + dMeter2Info_setMapStatus(8); + break; + case 5: + dMeter2Info_setMapStatus(9); + break; + case 6: + dMeter2Info_setMapStatus(5); + break; + case 7: + dMeter2Info_setMapStatus(3); + break; + } + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + dMeter2Info_resetPauseStatus(); + } else { + if (dMeter2Info_getPauseStatus() == 4) { + dMeter2Info_resetPauseStatus(); + if (isDmapScreen()) { + if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) { + setDispPosInsideFlg_SE_On(); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, + 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + dMeter2Info_setMapStatus(1); + } + + if (dMeter2Info_getMapStatus() == 1 && field_0x2d != 0) { + dMeter2Info_setMapStatus(6); + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, + 1.0f, -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + } + + } else if (!mDoCPd_c::getTrigUp(0) && !mDoCPd_c::getTrigDown(0)) { + keyCheck(); + } + } + + if (mIsCompass != dComIfGs_isDungeonItemCompass()) { + if (!isDispPosInsideFlg()) { + setDispPosInsideFlg_SE_On(); + dMeter2Info_setMapStatus(1); + } + mIsCompass = dComIfGs_isDungeonItemCompass(); + } + + if (mIsMap != dComIfGs_isDungeonItemMap()) { + if (!isDispPosInsideFlg()) { + setDispPosInsideFlg_SE_On(); + dMeter2Info_setMapStatus(1); + } + mIsMap = dComIfGs_isDungeonItemMap(); + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -415,48 +675,122 @@ asm void dMeterMap_c::ctrlShowMap() { #include "asm/d/meter/d_meter_map/ctrlShowMap__11dMeterMap_cFv.s" } #pragma pop +#endif /* 8020E45C-8020E4C8 208D9C 006C+00 1/1 0/0 0/0 .text checkMoveStatus__11dMeterMap_cFv */ +// field_0x2d compare is weird +#ifdef NONMATCHING +u8 dMeterMap_c::checkMoveStatus() { + if (isShow(field_0x14)) { + if (isEnableDispMapAndMapDispSizeTypeNo()) { + if (isDispPosInsideFlg()) { + return 1; + } + return 2; + } + return 3; + } + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeterMap_c::checkMoveStatus() { +asm u8 dMeterMap_c::checkMoveStatus() { nofralloc #include "asm/d/meter/d_meter_map/checkMoveStatus__11dMeterMap_cFv.s" } #pragma pop +#endif /* 8020E4C8-8020E620 208E08 0158+00 2/2 0/0 0/0 .text isShow__11dMeterMap_cFUl */ +// extra gameinfo label load for dComIfGp_event_checkHind +#ifdef NONMATCHING +bool dMeterMap_c::isShow(u32 param_0) { + if ((param_0 & 0x4000) || fopOvlpM_IsDoingReq() || + ((param_0 & 0x40) && dComIfGp_event_checkHind(0x100) && + !dComIfGp_event_chkEventFlag(0x40)) || + daPy_getPlayerActorClass()->i_getSumouMode() || (param_0 & 0x200000) || (param_0 & 0x100) || + (param_0 & 0x80) || (param_0 & 0x40000000) || (param_0 & 0x1000) || (param_0 & 0x100000) || + (param_0 & 0x20000) || (param_0 & 8) || (param_0 & 0x10) || (param_0 & 0x1000000) || + (param_0 & 0x800000) || (param_0 & 0x20) || (param_0 & 0x4000000) || + (param_0 & 0x10000000) || (param_0 & 0x800) || (param_0 & 0x20000000) || + daPy_getPlayerActorClass()->checkEnemyAttentionLock() || dMeter2Info_isGameStatus(2)) { + return false; + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeterMap_c::isShow(u32 param_0) { +asm bool dMeterMap_c::isShow(u32 param_0) { nofralloc #include "asm/d/meter/d_meter_map/isShow__11dMeterMap_cFUl.s" } #pragma pop +#endif /* 8020E620-8020E70C 208F60 00EC+00 3/3 0/0 0/0 .text isFmapScreen__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::isFmapScreen() { - nofralloc -#include "asm/d/meter/d_meter_map/isFmapScreen__11dMeterMap_cFv.s" +bool dMeterMap_c::isFmapScreen() { + if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 0 || + dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 5 || + dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 3 || + dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 4 || + dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 6) { + return true; + } + return false; } -#pragma pop /* 8020E70C-8020E754 20904C 0048+00 3/3 0/0 0/0 .text isDmapScreen__11dMeterMap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeterMap_c::isDmapScreen() { - nofralloc -#include "asm/d/meter/d_meter_map/isDmapScreen__11dMeterMap_cFv.s" +bool dMeterMap_c::isDmapScreen() { + return dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 1 ? 1 : 0; } -#pragma pop /* 8020E754-8020E9CC 209094 0278+00 0/0 1/1 0/0 .text meter_map_move__11dMeterMap_cFUl */ +// matches with literals +#ifdef NONMATCHING +void dMeterMap_c::meter_map_move(u32 param_0) { + if (isShow(param_0) && isMapOpenCheck()) { + if (dMeter2Info_getPauseStatus() == 6) { + if (!dMeter2Info_isSub2DStatus(1) && isFmapScreen()) { + dMeter2Info_setMapStatus(3); + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); + } + dMeter2Info_resetPauseStatus(); + } else { + if (dMw_LEFT_TRIGGER() && !dComIfGp_event_runCheck() && !dMsgObject_isTalkNowCheck() && + (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) { + if (dMeter2Info_getMapStatus() == 0 && !dMeter2Info_isSub2DStatus(1)) { + if (isFmapScreen() || isDmapScreen()) { + dMeter2Info_setMapStatus(2); + dMeter2Info_setMapKeyDirection(0x200); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + } + } else if (dMw_RIGHT_TRIGGER() && !dComIfGp_event_runCheck() && + !dMsgObject_isTalkNowCheck() && + (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) { + if (!dMeter2Info_isSub2DStatus(1)) { + if (isFmapScreen() || isDmapScreen()) { + dMeter2Info_setMapStatus(2); + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + } + } + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -465,8 +799,71 @@ asm void dMeterMap_c::meter_map_move(u32 param_0) { #include "asm/d/meter/d_meter_map/meter_map_move__11dMeterMap_cFUl.s" } #pragma pop +#endif /* 8020E9CC-8020ED60 20930C 0394+00 1/1 0/0 0/0 .text keyCheck__11dMeterMap_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMeterMap_c::keyCheck() { + if (dMw_LEFT_TRIGGER() && !isEventRunCheck() && + (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) { + if (dMeter2Info_getMapStatus() == 1) { + if (isDispPosInsideFlg()) { + setDispPosOutsideFlg_SE_On(); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_setMapStatus(0); + } + } else if (dMeter2Info_getMapStatus() == 0) { + if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) { + dMeter2Info_setMapStatus(2); + dMeter2Info_setMapKeyDirection(0x200); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); + } else { + setDispPosInsideFlg_SE_On(); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); + dMeter2Info_setMapStatus(1); + } + } + } else if (dMw_RIGHT_TRIGGER() && !isEventRunCheck() && + (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) { + if (dMeter2Info_getMapStatus() == 0) { + if (isEnableDispMapAndMapDispSizeTypeNo()) { + if (!isDispPosInsideFlg()) { + setDispPosInsideFlg_SE_On(); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); + dMeter2Info_set2DVibration(); + dMeter2Info_setMapStatus(1); + } + } else if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) { + dMeter2Info_setMapStatus(2); + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); + } + } else if (dMeter2Info_getMapStatus() == 1 && isDispPosInsideFlg()) { + if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) { + dMeter2Info_setMapStatus(2); + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); + } else { + setDispPosOutsideFlg_SE_On(); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_setMapStatus(0); + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -475,5 +872,6 @@ asm void dMeterMap_c::keyCheck() { #include "asm/d/meter/d_meter_map/keyCheck__11dMeterMap_cFv.s" } #pragma pop +#endif /* 80398208-80398208 024868 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index b5f7e8dc75..e9603f2726 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -12,32 +12,8 @@ // Types: // -struct msg_class {}; - -struct JKRHeap { - /* 802CE784 */ void getTotalFreeSize(); -}; - -struct JKRArchive { - struct EMountMode {}; -}; - -struct mDoDvdThd_mountXArchive_c { - /* 800161E0 */ void create(char const*, u8, JKRArchive::EMountMode, JKRHeap*); -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - struct jmessage_tControl {}; -struct Vec {}; - -struct cXyz { - /* 8026702C */ bool operator==(Vec const&) const; -}; - struct jmessage_tReference { /* 80228B04 */ jmessage_tReference(); /* 80229034 */ void pageSend(); @@ -58,49 +34,11 @@ struct jmessage_tRenderingProcessor { /* 8022E12C */ void resetRendering(); }; -struct fopAc_ac_c {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct dSv_player_item_record_c { - /* 80033F7C */ void getBombNum(u8) const; -}; - -struct dSv_player_item_c { - /* 80033030 */ void getItem(int, bool) const; -}; - -struct dSv_player_get_item_c { - /* 80033E60 */ void onFirstBit(u8); -}; - -struct dSv_event_tmp_flag_c { - static u8 const tempBitLabels[370 + 2 /* padding */]; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349A4 */ void offEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; - /* 800349E0 */ void setEventReg(u16, u8); - /* 80034A04 */ void getEventReg(u16) const; -}; - struct dMsgString_c { /* 80249C20 */ dMsgString_c(); /* 80249D28 */ ~dMsgString_c(); }; -struct JUTFont {}; - -struct JKRExpHeap {}; - struct dMsgScrnTree_c { /* 80248954 */ dMsgScrnTree_c(JUTFont*, JKRExpHeap*); }; @@ -155,154 +93,10 @@ struct dMsgScrnBase_c { /* 8023C3EC */ void setRubyString(char*); }; -struct J2DTextBox {}; - struct COutFont_c { /* 80225C94 */ COutFont_c(u8); }; -struct dMsgObject_c { - /* 80233284 */ void _create(msg_class*); - /* 80233590 */ void _execute(); - /* 802339BC */ void _draw(); - /* 80233AE8 */ void _delete(); - /* 80233D04 */ void setMessageIndex(u32, u32, bool); - /* 80233E70 */ void setMessageIndexDemo(u32, bool); - /* 80233F84 */ void getMessageIndex(u32); - /* 80233FD8 */ void getRevoMessageIndex(u32); - /* 802340D4 */ void getMessageIndexAlways(u32); - /* 80234128 */ void getMessageIDAlways(u32); - /* 8023413C */ void getMessageGroup(u32); - /* 80234150 */ void waitProc(); - /* 80234318 */ void openProc(); - /* 802349D8 */ void outnowProc(); - /* 80234CCC */ void outwaitProc(); - /* 80234FF0 */ void stopProc(); - /* 80234FF4 */ void continueProc(); - /* 8023531C */ void selectProc(); - /* 8023587C */ void selectEndProc(); - /* 802358D4 */ void inputProc(); - /* 80235AD4 */ void finishProc(); - /* 80235CC0 */ void endProc(); - /* 80235EBC */ void deleteProc(); - /* 8023609C */ void textmodeProc(); - /* 802360A0 */ void talkStartInit(); - /* 8023670C */ void fukiPosCalc(bool); - /* 802368E4 */ void setStatusLocal(u16); - /* 802368F8 */ void getStatusLocal(); - /* 8023690C */ void delete_screen(bool); - /* 802369D8 */ void isSend(); - /* 80236BF8 */ void readMessageGroupLocal(mDoDvdThd_mountXArchive_c**); - /* 80236C90 */ void changeFlowGroupLocal(s32); - /* 80236CD4 */ void demoMessageGroupLocal(); - /* 80236D00 */ void endFlowGroupLocal(); - /* 80236D0C */ void changeGroupLocal(s16); - /* 80236DE4 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, - char*, char*, s16*); - /* 802370A8 */ void isGetItemMessage(); - /* 802370BC */ void isKanbanMessage(); - /* 802370E8 */ void isHowlMessage(); - /* 802370FC */ void isMidonaMessage(); - /* 80237138 */ void isMidonaNormalTalkWait(); - /* 802371B0 */ void isMidonaTalkWait(); - /* 802371E4 */ void isPlaceMessage(); - /* 802371F8 */ void isBossMessage(); - /* 8023720C */ bool isBookMessage(); - /* 80237214 */ void isStaffMessage(); - /* 80237228 */ void isSaveMessage(); - /* 8023723C */ void isTalkMessage(); - /* 802372CC */ void getSmellName(); - /* 80237334 */ void getPortalName(); - /* 8023738C */ void getBombName(); - /* 8023741C */ void getInsectName(); - /* 80237478 */ void getLetterName(); - /* 802374D0 */ void getSelectBombNum(); - /* 80237520 */ void onMsgSendControlLocal(); - /* 80237530 */ void offMsgSendControlLocal(); - /* 80237550 */ void isMsgSendControlLocal(); - /* 8023755C */ void onMsgSendLocal(); - /* 8023756C */ void offMsgSendLocal(); - /* 8023757C */ void isMsgSendLocal(); - /* 80237588 */ void isMouthCheckLocal(); - /* 8023759C */ void getBombBuyPriceLocal(u8); - /* 802375E4 */ void addSelectBomBag(u8); - /* 80237610 */ void resetSelectBomBag(); - /* 8023763C */ void getSelectBombBagIDLocal(); - /* 8023768C */ void getSelectBombPriceLocal(); - /* 8023773C */ void setEquipBombInfoLocal(); - /* 80237748 */ void updateEquipBombInfoLocal(); - /* 802378B8 */ void setShopWaitTimer(u8); - /* 802378CC */ void setSelectWordFlagLocal(u8); - /* 802378D4 */ void isHowlHearingModeLocal(); - /* 80237934 */ void isCameraCancelFlag(); - /* 80237950 */ void onCameraCancelFlag(); - /* 80237968 */ void offCameraCancelFlag(); - /* 80237980 */ void isKillMessageFlag(); - /* 80237994 */ void onKillMessageFlag(); - /* 802379AC */ void setKillMessageFlag(); - /* 802379D8 */ void setKillMessageFlagLocal(); - /* 80237A74 */ void setTalkPartner(fopAc_ac_c*); - /* 80237A88 */ void setNowTalkFlowNo(s16); - /* 80237A9C */ void getNowTalkFlowNo(); - /* 80237AB0 */ void setDemoMessage(u32); - /* 80237AE0 */ void setTalkHeap(void*); - /* 80237B10 */ void setTalkHeapLocal(void*); - /* 80237B54 */ void getTalkHeap(); - /* 80237B68 */ void isDraw(); - /* 80237BFC */ void setButtonStatusLocal(); - /* 80237D88 */ void setDemoMessageLocal(u32); - /* 80237DD8 */ void getSmellTypeMessageIDLocal(); - /* 80237E04 */ void setSmellTypeLocal(u8); - /* 80237E58 */ void getSelectCursorPosLocal(); - /* 80237E68 */ void setSelectCursorPosLocal(u8); - /* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*); - /* 8023800C */ void readMessageGroup(mDoDvdThd_mountXArchive_c**); - /* 8023803C */ void changeFlowGroup(s32); - /* 8023806C */ void demoMessageGroup(); - /* 80238098 */ void endFlowGroup(); - /* 802380C4 */ void changeGroup(s16); - /* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, - char*, char*, s16*); - /* 80238174 */ void getMsgDtPtr(); - /* 80238188 */ void setProcessID(unsigned int); - /* 8023819C */ void getActor(); - /* 802381C0 */ void getpTalkActor(); - /* 802381D4 */ void getIdx(); - /* 802381E8 */ void getNodeIdx(); - /* 802381FC */ void setStatus(u16); - /* 8023822C */ void getStatus(); - /* 80238258 */ void getScrnDrawPtr(); - /* 8023826C */ void setTalkActor(fopAc_ac_c*); - /* 8023829C */ void onMsgSendControl(); - /* 802382C8 */ void offMsgSendControl(); - /* 802382F4 */ void isMsgSendControl(); - /* 80238320 */ void onMsgSend(); - /* 8023834C */ void offMsgSend(); - /* 80238378 */ void isMsgSend(); - /* 802383A4 */ void isMouthCheck(); - /* 802383D0 */ void getMessageID(); - /* 802383E4 */ void getSmellTypeMessageID(); - /* 80238410 */ void setSmellType(u8); - /* 80238440 */ void getSelectCursorPos(); - /* 8023846C */ void setSelectCursorPos(u8); - /* 8023849C */ void setPortalMessageID(u16); - /* 802384B0 */ void setInsectItemNo(u8); - /* 802384C4 */ void setLetterNameID(u16); - /* 802384D8 */ void setArrowNum(u8); - /* 802384EC */ void setMsgOutputType(u8); - /* 80238500 */ void getMsgOutputType(); - /* 80238514 */ void getWord(); - /* 80238528 */ void getSelectWord(int); - /* 80238544 */ void setSelectWordFlag(u8); - /* 80238574 */ void getSelectWordFlag(); - /* 80238588 */ void isHowlHearingMode(); - /* 802385B4 */ void getSelectBombBagID(); - /* 802385E0 */ void getSelectBombPrice(); - /* 8023860C */ void setEquipBombInfo(); - /* 80238638 */ void getItemEquipButton(); - /* 8023864C */ void setSelectCancelPos(u8); -}; - struct dMsgObject_HowlHIO_c { /* 80232AEC */ dMsgObject_HowlHIO_c(); /* 80238B94 */ ~dMsgObject_HowlHIO_c(); @@ -313,26 +107,6 @@ struct dMsgObject_HIO_c { /* 80238BDC */ ~dMsgObject_HIO_c(); }; -struct dMeter2_c { - /* 8021F6EC */ void emphasisButtonDelete(); -}; - -struct dMeter2Info_c { - /* 8021C1DC */ void isFloatingMessageVisible(); - /* 8021C218 */ void resetFloatingMessage(); - /* 8021C238 */ void decMsgKeyWaitTimer(); -}; - -struct dEvt_control_c { - /* 8004368C */ void setPtT(void*); -}; - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - struct dDemo_c { static u8 m_control[4]; static u8 m_mesgControl[4]; @@ -351,8 +125,6 @@ struct Z2SeqMgr { /* 802AFF8C */ void changeBgmStatus(s32); }; -struct JAISoundID {}; - struct Z2SeMgr { /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); }; @@ -361,12 +133,6 @@ struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; -struct JUtility { - struct TColor { - /* 80193960 */ TColor(); - }; -}; - struct JMessage { struct TControl { /* 802A75D4 */ void reset(); @@ -661,15 +427,11 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void sprintf(); -extern "C" void strcpy(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; extern "C" extern u8 data_80450B70[4]; extern "C" u8 m_control__7dDemo_c[4]; extern "C" u8 m_mesgControl__7dDemo_c[4]; @@ -2090,7 +1852,7 @@ asm void dMsgObject_c::setStatus(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::getStatus() { +asm u16 dMsgObject_c::getStatus() { nofralloc #include "asm/d/msg/d_msg_object/getStatus__12dMsgObject_cFv.s" } diff --git a/src/d/save/d_save.cpp b/src/d/save/d_save.cpp index 43a7a57c25..8d93c8b4cd 100644 --- a/src/d/save/d_save.cpp +++ b/src/d/save/d_save.cpp @@ -1970,20 +1970,22 @@ SECTION_DEAD static char const* const pad_80379296 = "\0"; /* 80035BD0-80035C88 030510 00B8+00 0/0 3/3 0/0 .text initdata_to_card__10dSv_info_cFPci */ #ifdef NONMATCHING -void dSv_info_c::initdata_to_card(char* param_0, int fileNo) { +int dSv_info_c::initdata_to_card(char* param_0, int fileNo) { + char* ptr = param_0 + (fileNo * 0xa94); dSv_save_c tmp; tmp.init(); tmp.getPlayer().getPlayerInfo().setPlayerName(""); tmp.getPlayer().getPlayerInfo().setHorseName(""); - memcpy(¶m_0 + fileNo * 0xa94, &tmp, 0x958); + memcpy(&ptr, &tmp, 0x958); printf("INIT size:%d\n", 0x958); + return 0; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dSv_info_c::initdata_to_card(char* param_0, int param_1) { +asm int dSv_info_c::initdata_to_card(char* param_0, int param_1) { nofralloc #include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s" } diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 31214dd964..56737dfb56 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -553,7 +553,7 @@ s32 fopAcM_create(s16 procName, u16 enemyNo, u32 parameter, const cXyz* pPos, in fopAcM_prm_class* params = createAppend(enemyNo, parameter, pPos, roomNo, pRot, pScale, subType, 0xFFFFFFFF); if (params == NULL) { - return 0xFFFFFFFF; + return -1; } else { return fpcSCtRq_Request(fpcLy_CurrentLayer(), procName, (stdCreateFunc)pCreateFunc, NULL, params); diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 9cf71a65d8..9bed0c4814 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -40,8 +40,6 @@ struct dMeter2Info_c { /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*); }; -struct cXyz {}; - struct cMl { /* 80263228 */ void memalignB(int, u32); }; diff --git a/src/f_pc/f_pc_leaf.cpp b/src/f_pc/f_pc_leaf.cpp index 3cbb59348b..3acfcaf771 100644 --- a/src/f_pc/f_pc_leaf.cpp +++ b/src/f_pc/f_pc_leaf.cpp @@ -60,7 +60,7 @@ s32 fpcLf_Create(leafdraw_class* pLeaf) { profDef = (leaf_process_profile_definition*)pLeaf->mBase.mpProf; pLeaf->mpDrawMtd = profDef->mLfDrwMth; pLeaf->mBase.mSubType = fpcBs_MakeOfType(&g_fpcLf_type); - fpcDwPi_Init(&pLeaf->mDwPi, profDef->unk20); + fpcDwPi_Init(&pLeaf->mDwPi, profDef->mPriority); pLeaf->mbUnk0 = 0; } return fpcMtd_Create(&pLeaf->mpDrawMtd->mBase, pLeaf); diff --git a/src/m_Do/m_Do_mtx.cpp b/src/m_Do/m_Do_mtx.cpp index 1dca9d11b9..8f9b9f025c 100644 --- a/src/m_Do/m_Do_mtx.cpp +++ b/src/m_Do/m_Do_mtx.cpp @@ -287,7 +287,7 @@ asm void mDoMtx_QuatConcat(Quaternion const* param_0, Quaternion const* param_1, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoMtx_MtxToRot(f32 const (*param_0)[4], csXyz* param_1) { +asm void mDoMtx_MtxToRot(MtxP param_0, csXyz* param_1) { nofralloc #include "asm/m_Do/m_Do_mtx/mDoMtx_MtxToRot__FPA4_CfP5csXyz.s" } diff --git a/tools/clang-format-all.sh b/tools/clang-format-all.sh deleted file mode 100755 index 000a3b605a..0000000000 --- a/tools/clang-format-all.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -if [[ -z "${CLANG_FORMAT_EXE}" ]]; then - CF="clang-format-10" -else - CF="${CLANG_FORMAT_EXE}" -fi - -echo "formatting src/*" -find ./src -iname "*.h" -o -iname "*.cpp" | xargs $CF -i -echo "formatting libs/*" -find ./libs -iname "*.h" -o -iname "*.cpp" | xargs $CF -i -echo "formatting include/*" -find ./include -iname "*.h" -o -iname "*.cpp" | xargs $CF -i -echo "done" diff --git a/tools/clang-format-check.sh b/tools/clang-format-check.sh deleted file mode 100755 index e6279d268d..0000000000 --- a/tools/clang-format-check.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -clangFormatTargets=$(find . -type f -regex '.*\.\(cpp\|hpp\|h\|cc\|cxx\)') - -for inputFile in $clangFormatTargets -do - clang-format-10 --dry-run --Werror -style=file $inputFile - if [ $? != 0 ] ; then - exit 1 - fi -done diff --git a/tools/tp.py b/tools/tp.py index bc94d11ea2..ff70a71a41 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -741,51 +741,6 @@ def remove_unused_asm(check): return len(unused_files) -# -# Format -# -@tp.command(name="format") -@click.option("--debug/--no-debug") -@click.option( - "--thread-count", - "-j", - "thread_count", - help="This option is passed forward to all 'make' commands.", - default=4, -) -@click.option( - "--game-path", - type=PathPath(file_okay=False, dir_okay=True), - default=DEFAULT_GAME_PATH, - required=True, -) -@click.option( - "--build-path", - type=PathPath(file_okay=False, dir_okay=True), - default=DEFAULT_BUILD_PATH, - required=True, -) -def format(debug, thread_count, game_path, build_path): - """Format all .cpp/.h files using clang-format""" - - if debug: - LOG.setLevel(logging.DEBUG) - - text = Text("--- Clang-Format") - text.stylize("bold magenta") - CONSOLE.print(text) - - if clang_format(thread_count): - text = Text(" OK") - text.stylize("bold green") - CONSOLE.print(text) - else: - text = Text(" ERR") - text.stylize("bold red") - CONSOLE.print(text) - sys.exit(1) - - # # Pull-Request # @@ -833,21 +788,6 @@ def pull_request(debug, rels, thread_count, game_path, build_path): remove_unused_asm(False) - # - text = Text("--- Clang-Format") - text.stylize("bold magenta") - CONSOLE.print(text) - - if clang_format(thread_count): - text = Text(" OK") - text.stylize("bold green") - CONSOLE.print(text) - else: - text = Text(" ERR") - text.stylize("bold red") - CONSOLE.print(text) - sys.exit(1) - # text = Text("--- Full Rebuild") text.stylize("bold magenta") @@ -1045,41 +985,6 @@ def find_used_asm_files(non_matching, use_progress_bar=True): return includes -def clang_format_impl(file): - cmd = ["clang-format-10", "-i", str(file)] - cf = subprocess.run(args=cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - - -def clang_format(thread_count): - - cpp_files = find_all_cpp_files() - h_files = find_all_header_files() - files = cpp_files | h_files - - with mp.Pool(processes=2 * thread_count) as pool: - result = pool.map_async(clang_format_impl, files) - jobs_left = len(files) - with Progress( - console=CONSOLE, transient=True, refresh_per_second=5 - ) as progress: - task = progress.add_task(f"clang-formating...", total=len(files)) - - while result._number_left > 0: - left = result._number_left * result._chunksize - change = jobs_left - left - jobs_left = left - progress.update( - task, - description=f"clang-formating... ({left} left)", - advance=change, - ) - time.sleep(1 / 5) - - progress.update(task, advance=jobs_left) - - return True - - def rebuild(thread_count, include_rels): LOG.debug("make clean") with Progress(console=CONSOLE, transient=True, refresh_per_second=5) as progress: