diff --git a/Progress.md b/Progress.md index 6b73032ee9..bdb3ac9fb9 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 43.718414% | 1572352 | 3596544 +.text | 44.112237% | 1586516 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 49.650606% | 1996288 | 4020672 +Total | 50.002885% | 2010452 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 49.650606% | 1996288 | 4020672 +main.dol | 50.002885% | 2010452 | 4020672 RELs | 35.505434% | 4083240 | 11500324 -Total | 39.169703% | 6079528 | 15520996 +Total | 39.260960% | 6093692 | 15520996 ## RELs diff --git a/asm/JSystem/J3DGraphAnimator/J3DModel/createMatPacket__8J3DModelFP12J3DModelDataUl.s b/asm/JSystem/J3DGraphAnimator/J3DModel/createMatPacket__8J3DModelFP12J3DModelDataUl.s deleted file mode 100644 index 95fae70382..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DModel/createMatPacket__8J3DModelFP12J3DModelDataUl.s +++ /dev/null @@ -1,157 +0,0 @@ -lbl_803273CC: -/* 803273CC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803273D0 7C 08 02 A6 */ mflr r0 -/* 803273D4 90 01 00 34 */ stw r0, 0x34(r1) -/* 803273D8 39 61 00 30 */ addi r11, r1, 0x30 -/* 803273DC 48 03 AD E9 */ bl _savegpr_23 -/* 803273E0 7C 78 1B 78 */ mr r24, r3 -/* 803273E4 7C 99 23 78 */ mr r25, r4 -/* 803273E8 7C BA 2B 78 */ mr r26, r5 -/* 803273EC A0 04 00 5C */ lhz r0, 0x5c(r4) -/* 803273F0 28 00 00 00 */ cmplwi r0, 0 -/* 803273F4 41 82 00 48 */ beq lbl_8032743C -/* 803273F8 54 17 04 3E */ clrlwi r23, r0, 0x10 -/* 803273FC 54 03 32 B2 */ rlwinm r3, r0, 6, 0xa, 0x19 -/* 80327400 38 63 00 10 */ addi r3, r3, 0x10 -/* 80327404 4B FA 78 C1 */ bl __nwa__FUl -/* 80327408 3C 80 80 31 */ lis r4, __ct__12J3DMatPacketFv@ha /* 0x80312948@ha */ -/* 8032740C 38 84 29 48 */ addi r4, r4, __ct__12J3DMatPacketFv@l /* 0x80312948@l */ -/* 80327410 3C A0 80 31 */ lis r5, __dt__12J3DMatPacketFv@ha /* 0x803129A4@ha */ -/* 80327414 38 A5 29 A4 */ addi r5, r5, __dt__12J3DMatPacketFv@l /* 0x803129A4@l */ -/* 80327418 38 C0 00 40 */ li r6, 0x40 -/* 8032741C 7E E7 BB 78 */ mr r7, r23 -/* 80327420 48 03 AA F5 */ bl __construct_new_array -/* 80327424 90 78 00 C0 */ stw r3, 0xc0(r24) -/* 80327428 80 18 00 C0 */ lwz r0, 0xc0(r24) -/* 8032742C 28 00 00 00 */ cmplwi r0, 0 -/* 80327430 40 82 00 0C */ bne lbl_8032743C -/* 80327434 38 60 00 04 */ li r3, 4 -/* 80327438 48 00 01 AC */ b lbl_803275E4 -lbl_8032743C: -/* 8032743C A2 F9 00 5C */ lhz r23, 0x5c(r25) -/* 80327440 3B 60 00 00 */ li r27, 0 -/* 80327444 57 5E 03 18 */ rlwinm r30, r26, 0, 0xc, 0xc -/* 80327448 57 5D 03 5A */ rlwinm r29, r26, 0, 0xd, 0xd -/* 8032744C 57 5C 03 9C */ rlwinm r28, r26, 0, 0xe, 0xe -/* 80327450 48 00 01 84 */ b lbl_803275D4 -lbl_80327454: -/* 80327454 80 79 00 60 */ lwz r3, 0x60(r25) -/* 80327458 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d -/* 8032745C 7F E3 00 2E */ lwzx r31, r3, r0 -/* 80327460 80 78 00 C0 */ lwz r3, 0xc0(r24) -/* 80327464 57 60 32 B2 */ rlwinm r0, r27, 6, 0xa, 0x19 -/* 80327468 7F 43 02 14 */ add r26, r3, r0 -/* 8032746C 80 7F 00 08 */ lwz r3, 8(r31) -/* 80327470 A0 03 00 08 */ lhz r0, 8(r3) -/* 80327474 80 78 00 C4 */ lwz r3, 0xc4(r24) -/* 80327478 1C 00 00 3C */ mulli r0, r0, 0x3c -/* 8032747C 7C 83 02 14 */ add r4, r3, r0 -/* 80327480 93 FA 00 30 */ stw r31, 0x30(r26) -/* 80327484 90 9A 00 28 */ stw r4, 0x28(r26) -/* 80327488 7F 43 D3 78 */ mr r3, r26 -/* 8032748C 4B FE B5 79 */ bl addShapePacket__12J3DMatPacketFP14J3DShapePacket -/* 80327490 80 19 00 6C */ lwz r0, 0x6c(r25) -/* 80327494 90 1A 00 38 */ stw r0, 0x38(r26) -/* 80327498 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 8032749C 90 1A 00 34 */ stw r0, 0x34(r26) -/* 803274A0 80 19 00 1C */ lwz r0, 0x1c(r25) -/* 803274A4 28 00 00 01 */ cmplwi r0, 1 -/* 803274A8 40 82 00 10 */ bne lbl_803274B8 -/* 803274AC 80 1A 00 10 */ lwz r0, 0x10(r26) -/* 803274B0 60 00 00 01 */ ori r0, r0, 1 -/* 803274B4 90 1A 00 10 */ stw r0, 0x10(r26) -lbl_803274B8: -/* 803274B8 28 1E 00 00 */ cmplwi r30, 0 -/* 803274BC 41 82 00 10 */ beq lbl_803274CC -/* 803274C0 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 803274C4 90 1A 00 20 */ stw r0, 0x20(r26) -/* 803274C8 48 00 01 08 */ b lbl_803275D0 -lbl_803274CC: -/* 803274CC 80 19 00 1C */ lwz r0, 0x1c(r25) -/* 803274D0 28 00 00 01 */ cmplwi r0, 1 -/* 803274D4 40 82 00 38 */ bne lbl_8032750C -/* 803274D8 28 1D 00 00 */ cmplwi r29, 0 -/* 803274DC 41 82 00 10 */ beq lbl_803274EC -/* 803274E0 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 803274E4 90 1A 00 20 */ stw r0, 0x20(r26) -/* 803274E8 48 00 00 E8 */ b lbl_803275D0 -lbl_803274EC: -/* 803274EC 83 FF 00 48 */ lwz r31, 0x48(r31) -/* 803274F0 7F E3 FB 78 */ mr r3, r31 -/* 803274F4 4B FE B0 79 */ bl single_To_Double__17J3DDisplayListObjFv -/* 803274F8 2C 03 00 00 */ cmpwi r3, 0 -/* 803274FC 41 82 00 08 */ beq lbl_80327504 -/* 80327500 48 00 00 E4 */ b lbl_803275E4 -lbl_80327504: -/* 80327504 93 FA 00 20 */ stw r31, 0x20(r26) -/* 80327508 48 00 00 C8 */ b lbl_803275D0 -lbl_8032750C: -/* 8032750C 28 1C 00 00 */ cmplwi r28, 0 -/* 80327510 41 82 00 78 */ beq lbl_80327588 -/* 80327514 28 1D 00 00 */ cmplwi r29, 0 -/* 80327518 41 82 00 30 */ beq lbl_80327548 -/* 8032751C 7F E3 FB 78 */ mr r3, r31 -/* 80327520 4B FE ED 71 */ bl countDLSize__11J3DMaterialFv -/* 80327524 7C 64 1B 78 */ mr r4, r3 -/* 80327528 7F E3 FB 78 */ mr r3, r31 -/* 8032752C 4B FE F9 F9 */ bl newSingleSharedDisplayList__11J3DMaterialFUl -/* 80327530 2C 03 00 00 */ cmpwi r3, 0 -/* 80327534 41 82 00 08 */ beq lbl_8032753C -/* 80327538 48 00 00 AC */ b lbl_803275E4 -lbl_8032753C: -/* 8032753C 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80327540 90 1A 00 20 */ stw r0, 0x20(r26) -/* 80327544 48 00 00 8C */ b lbl_803275D0 -lbl_80327548: -/* 80327548 7F E3 FB 78 */ mr r3, r31 -/* 8032754C 4B FE ED 45 */ bl countDLSize__11J3DMaterialFv -/* 80327550 7C 64 1B 78 */ mr r4, r3 -/* 80327554 7F E3 FB 78 */ mr r3, r31 -/* 80327558 4B FE F9 39 */ bl newSharedDisplayList__11J3DMaterialFUl -/* 8032755C 2C 03 00 00 */ cmpwi r3, 0 -/* 80327560 41 82 00 08 */ beq lbl_80327568 -/* 80327564 48 00 00 80 */ b lbl_803275E4 -lbl_80327568: -/* 80327568 83 FF 00 48 */ lwz r31, 0x48(r31) -/* 8032756C 7F E3 FB 78 */ mr r3, r31 -/* 80327570 4B FE AF FD */ bl single_To_Double__17J3DDisplayListObjFv -/* 80327574 2C 03 00 00 */ cmpwi r3, 0 -/* 80327578 41 82 00 08 */ beq lbl_80327580 -/* 8032757C 48 00 00 68 */ b lbl_803275E4 -lbl_80327580: -/* 80327580 93 FA 00 20 */ stw r31, 0x20(r26) -/* 80327584 48 00 00 4C */ b lbl_803275D0 -lbl_80327588: -/* 80327588 28 1D 00 00 */ cmplwi r29, 0 -/* 8032758C 41 82 00 24 */ beq lbl_803275B0 -/* 80327590 7F E3 FB 78 */ mr r3, r31 -/* 80327594 4B FE EC FD */ bl countDLSize__11J3DMaterialFv -/* 80327598 7C 64 1B 78 */ mr r4, r3 -/* 8032759C 7F 43 D3 78 */ mr r3, r26 -/* 803275A0 4B FE B2 F9 */ bl newSingleDisplayList__13J3DDrawPacketFUl -/* 803275A4 2C 03 00 00 */ cmpwi r3, 0 -/* 803275A8 41 82 00 28 */ beq lbl_803275D0 -/* 803275AC 48 00 00 38 */ b lbl_803275E4 -lbl_803275B0: -/* 803275B0 7F E3 FB 78 */ mr r3, r31 -/* 803275B4 4B FE EC DD */ bl countDLSize__11J3DMaterialFv -/* 803275B8 7C 64 1B 78 */ mr r4, r3 -/* 803275BC 7F 43 D3 78 */ mr r3, r26 -/* 803275C0 4B FE B2 4D */ bl newDisplayList__13J3DDrawPacketFUl -/* 803275C4 2C 03 00 00 */ cmpwi r3, 0 -/* 803275C8 41 82 00 08 */ beq lbl_803275D0 -/* 803275CC 48 00 00 18 */ b lbl_803275E4 -lbl_803275D0: -/* 803275D0 3B 7B 00 01 */ addi r27, r27, 1 -lbl_803275D4: -/* 803275D4 57 60 04 3E */ clrlwi r0, r27, 0x10 -/* 803275D8 7C 00 B8 40 */ cmplw r0, r23 -/* 803275DC 41 80 FE 78 */ blt lbl_80327454 -/* 803275E0 38 60 00 00 */ li r3, 0 -lbl_803275E4: -/* 803275E4 39 61 00 30 */ addi r11, r1, 0x30 -/* 803275E8 48 03 AC 29 */ bl _restgpr_23 -/* 803275EC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803275F0 7C 08 03 A6 */ mtlr r0 -/* 803275F4 38 21 00 30 */ addi r1, r1, 0x30 -/* 803275F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc.s b/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc.s deleted file mode 100644 index f870903d38..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc.s +++ /dev/null @@ -1,192 +0,0 @@ -lbl_8030EB30: -/* 8030EB30 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8030EB34 7C 08 02 A6 */ mflr r0 -/* 8030EB38 90 01 00 64 */ stw r0, 0x64(r1) -/* 8030EB3C 39 61 00 60 */ addi r11, r1, 0x60 -/* 8030EB40 48 05 36 89 */ bl _savegpr_24 -/* 8030EB44 7C B8 2B 78 */ mr r24, r5 -/* 8030EB48 2C 03 00 08 */ cmpwi r3, 8 -/* 8030EB4C 41 82 00 44 */ beq lbl_8030EB90 -/* 8030EB50 40 80 00 1C */ bge lbl_8030EB6C -/* 8030EB54 2C 03 00 04 */ cmpwi r3, 4 -/* 8030EB58 41 82 00 38 */ beq lbl_8030EB90 -/* 8030EB5C 40 80 00 24 */ bge lbl_8030EB80 -/* 8030EB60 2C 03 00 01 */ cmpwi r3, 1 -/* 8030EB64 40 80 00 14 */ bge lbl_8030EB78 -/* 8030EB68 48 00 00 28 */ b lbl_8030EB90 -lbl_8030EB6C: -/* 8030EB6C 2C 03 00 0C */ cmpwi r3, 0xc -/* 8030EB70 40 80 00 20 */ bge lbl_8030EB90 -/* 8030EB74 48 00 00 14 */ b lbl_8030EB88 -lbl_8030EB78: -/* 8030EB78 3B 23 FF FF */ addi r25, r3, -1 -/* 8030EB7C 48 00 00 18 */ b lbl_8030EB94 -lbl_8030EB80: -/* 8030EB80 3B 23 FF FB */ addi r25, r3, -5 -/* 8030EB84 48 00 00 10 */ b lbl_8030EB94 -lbl_8030EB88: -/* 8030EB88 3B 23 FF F7 */ addi r25, r3, -9 -/* 8030EB8C 48 00 00 08 */ b lbl_8030EB94 -lbl_8030EB90: -/* 8030EB90 3B 20 00 00 */ li r25, 0 -lbl_8030EB94: -/* 8030EB94 C0 22 C9 30 */ lfs f1, lit_1233(r2) -/* 8030EB98 C0 04 00 00 */ lfs f0, 0(r4) -/* 8030EB9C EC 01 00 32 */ fmuls f0, f1, f0 -/* 8030EBA0 FC 00 00 1E */ fctiwz f0, f0 -/* 8030EBA4 D8 01 00 08 */ stfd f0, 8(r1) -/* 8030EBA8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8030EBAC 54 1F 05 7E */ clrlwi r31, r0, 0x15 -/* 8030EBB0 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 8030EBB4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8030EBB8 FC 00 00 1E */ fctiwz f0, f0 -/* 8030EBBC D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8030EBC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030EBC4 54 1E 05 7E */ clrlwi r30, r0, 0x15 -/* 8030EBC8 C0 04 00 04 */ lfs f0, 4(r4) -/* 8030EBCC EC 01 00 32 */ fmuls f0, f1, f0 -/* 8030EBD0 FC 00 00 1E */ fctiwz f0, f0 -/* 8030EBD4 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8030EBD8 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8030EBDC 54 1D 05 7E */ clrlwi r29, r0, 0x15 -/* 8030EBE0 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 8030EBE4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8030EBE8 FC 00 00 1E */ fctiwz f0, f0 -/* 8030EBEC D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8030EBF0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030EBF4 54 1C 05 7E */ clrlwi r28, r0, 0x15 -/* 8030EBF8 C0 04 00 08 */ lfs f0, 8(r4) -/* 8030EBFC EC 01 00 32 */ fmuls f0, f1, f0 -/* 8030EC00 FC 00 00 1E */ fctiwz f0, f0 -/* 8030EC04 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 8030EC08 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8030EC0C 54 1B 05 7E */ clrlwi r27, r0, 0x15 -/* 8030EC10 C0 04 00 14 */ lfs f0, 0x14(r4) -/* 8030EC14 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8030EC18 FC 00 00 1E */ fctiwz f0, f0 -/* 8030EC1C D8 01 00 30 */ stfd f0, 0x30(r1) -/* 8030EC20 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030EC24 54 1A 05 7E */ clrlwi r26, r0, 0x15 -/* 8030EC28 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030EC2C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030EC30 38 63 00 0F */ addi r3, r3, 0xf -/* 8030EC34 80 04 00 0C */ lwz r0, 0xc(r4) -/* 8030EC38 7C 03 00 40 */ cmplw r3, r0 -/* 8030EC3C 40 81 00 08 */ ble lbl_8030EC44 -/* 8030EC40 48 05 24 95 */ bl GDOverflowed -lbl_8030EC44: -/* 8030EC44 38 18 00 11 */ addi r0, r24, 0x11 -/* 8030EC48 7C 03 07 74 */ extsb r3, r0 -/* 8030EC4C 54 64 B2 12 */ rlwinm r4, r3, 0x16, 8, 9 -/* 8030EC50 57 C0 58 28 */ slwi r0, r30, 0xb -/* 8030EC54 7F E0 03 78 */ or r0, r31, r0 -/* 8030EC58 7C 85 03 78 */ or r5, r4, r0 -/* 8030EC5C 1C 99 00 03 */ mulli r4, r25, 3 -/* 8030EC60 38 04 00 06 */ addi r0, r4, 6 -/* 8030EC64 54 00 C0 0E */ slwi r0, r0, 0x18 -/* 8030EC68 7C A9 03 78 */ or r9, r5, r0 -/* 8030EC6C 38 00 00 61 */ li r0, 0x61 -/* 8030EC70 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030EC74 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030EC78 38 A6 00 01 */ addi r5, r6, 1 -/* 8030EC7C 90 A7 00 08 */ stw r5, 8(r7) -/* 8030EC80 98 06 00 00 */ stb r0, 0(r6) -/* 8030EC84 55 28 46 3E */ srwi r8, r9, 0x18 -/* 8030EC88 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030EC8C 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030EC90 38 A6 00 01 */ addi r5, r6, 1 -/* 8030EC94 90 A7 00 08 */ stw r5, 8(r7) -/* 8030EC98 99 06 00 00 */ stb r8, 0(r6) -/* 8030EC9C 55 28 86 3E */ rlwinm r8, r9, 0x10, 0x18, 0x1f -/* 8030ECA0 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ECA4 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ECA8 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ECAC 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ECB0 99 06 00 00 */ stb r8, 0(r6) -/* 8030ECB4 55 28 C6 3E */ rlwinm r8, r9, 0x18, 0x18, 0x1f -/* 8030ECB8 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ECBC 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ECC0 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ECC4 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ECC8 99 06 00 00 */ stb r8, 0(r6) -/* 8030ECCC 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ECD0 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ECD4 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ECD8 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ECDC 99 26 00 00 */ stb r9, 0(r6) -/* 8030ECE0 54 66 A2 12 */ rlwinm r6, r3, 0x14, 8, 9 -/* 8030ECE4 57 85 58 28 */ slwi r5, r28, 0xb -/* 8030ECE8 7F A5 2B 78 */ or r5, r29, r5 -/* 8030ECEC 7C C6 2B 78 */ or r6, r6, r5 -/* 8030ECF0 38 A4 00 07 */ addi r5, r4, 7 -/* 8030ECF4 54 A5 C0 0E */ slwi r5, r5, 0x18 -/* 8030ECF8 7C C9 2B 78 */ or r9, r6, r5 -/* 8030ECFC 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ED00 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ED04 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ED08 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ED0C 98 06 00 00 */ stb r0, 0(r6) -/* 8030ED10 55 28 46 3E */ srwi r8, r9, 0x18 -/* 8030ED14 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ED18 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ED1C 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ED20 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ED24 99 06 00 00 */ stb r8, 0(r6) -/* 8030ED28 55 28 86 3E */ rlwinm r8, r9, 0x10, 0x18, 0x1f -/* 8030ED2C 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ED30 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ED34 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ED38 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ED3C 99 06 00 00 */ stb r8, 0(r6) -/* 8030ED40 55 28 C6 3E */ rlwinm r8, r9, 0x18, 0x18, 0x1f -/* 8030ED44 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ED48 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ED4C 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ED50 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ED54 99 06 00 00 */ stb r8, 0(r6) -/* 8030ED58 80 ED 94 00 */ lwz r7, __GDCurrentDL(r13) -/* 8030ED5C 80 C7 00 08 */ lwz r6, 8(r7) -/* 8030ED60 38 A6 00 01 */ addi r5, r6, 1 -/* 8030ED64 90 A7 00 08 */ stw r5, 8(r7) -/* 8030ED68 99 26 00 00 */ stb r9, 0(r6) -/* 8030ED6C 54 65 92 12 */ rlwinm r5, r3, 0x12, 8, 9 -/* 8030ED70 57 43 58 28 */ slwi r3, r26, 0xb -/* 8030ED74 7F 63 1B 78 */ or r3, r27, r3 -/* 8030ED78 7C A5 1B 78 */ or r5, r5, r3 -/* 8030ED7C 38 64 00 08 */ addi r3, r4, 8 -/* 8030ED80 54 63 C0 0E */ slwi r3, r3, 0x18 -/* 8030ED84 7C A6 1B 78 */ or r6, r5, r3 -/* 8030ED88 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030ED8C 80 85 00 08 */ lwz r4, 8(r5) -/* 8030ED90 38 64 00 01 */ addi r3, r4, 1 -/* 8030ED94 90 65 00 08 */ stw r3, 8(r5) -/* 8030ED98 98 04 00 00 */ stb r0, 0(r4) -/* 8030ED9C 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030EDA0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030EDA4 80 64 00 08 */ lwz r3, 8(r4) -/* 8030EDA8 38 03 00 01 */ addi r0, r3, 1 -/* 8030EDAC 90 04 00 08 */ stw r0, 8(r4) -/* 8030EDB0 98 A3 00 00 */ stb r5, 0(r3) -/* 8030EDB4 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030EDB8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030EDBC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030EDC0 38 03 00 01 */ addi r0, r3, 1 -/* 8030EDC4 90 04 00 08 */ stw r0, 8(r4) -/* 8030EDC8 98 A3 00 00 */ stb r5, 0(r3) -/* 8030EDCC 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030EDD0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030EDD4 80 64 00 08 */ lwz r3, 8(r4) -/* 8030EDD8 38 03 00 01 */ addi r0, r3, 1 -/* 8030EDDC 90 04 00 08 */ stw r0, 8(r4) -/* 8030EDE0 98 A3 00 00 */ stb r5, 0(r3) -/* 8030EDE4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030EDE8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030EDEC 38 03 00 01 */ addi r0, r3, 1 -/* 8030EDF0 90 04 00 08 */ stw r0, 8(r4) -/* 8030EDF4 98 C3 00 00 */ stb r6, 0(r3) -/* 8030EDF8 39 61 00 60 */ addi r11, r1, 0x60 -/* 8030EDFC 48 05 34 19 */ bl _restgpr_24 -/* 8030EE00 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8030EE04 7C 08 03 A6 */ mtlr r0 -/* 8030EE08 38 21 00 60 */ addi r1, r1, 0x60 -/* 8030EE0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightAttn__F10_GXLightIDffffff.s b/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightAttn__F10_GXLightIDffffff.s deleted file mode 100644 index 2e154e254f..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightAttn__F10_GXLightIDffffff.s +++ /dev/null @@ -1,192 +0,0 @@ -lbl_8030D364: -/* 8030D364 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030D368 7C 60 00 34 */ cntlzw r0, r3 -/* 8030D36C 20 00 00 1F */ subfic r0, r0, 0x1f -/* 8030D370 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8030D374 28 00 00 07 */ cmplwi r0, 7 -/* 8030D378 40 81 00 08 */ ble lbl_8030D380 -/* 8030D37C 38 00 00 00 */ li r0, 0 -lbl_8030D380: -/* 8030D380 54 03 24 36 */ rlwinm r3, r0, 4, 0x10, 0x1b -/* 8030D384 38 C3 06 04 */ addi r6, r3, 0x604 -/* 8030D388 38 A0 00 10 */ li r5, 0x10 -/* 8030D38C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D390 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D394 38 03 00 01 */ addi r0, r3, 1 -/* 8030D398 90 04 00 08 */ stw r0, 8(r4) -/* 8030D39C 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D3A0 38 A0 00 00 */ li r5, 0 -/* 8030D3A4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D3A8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D3AC 38 03 00 01 */ addi r0, r3, 1 -/* 8030D3B0 90 04 00 08 */ stw r0, 8(r4) -/* 8030D3B4 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D3B8 38 A0 00 05 */ li r5, 5 -/* 8030D3BC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D3C0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D3C4 38 03 00 01 */ addi r0, r3, 1 -/* 8030D3C8 90 04 00 08 */ stw r0, 8(r4) -/* 8030D3CC 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D3D0 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D3D4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D3D8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D3DC 38 03 00 01 */ addi r0, r3, 1 -/* 8030D3E0 90 04 00 08 */ stw r0, 8(r4) -/* 8030D3E4 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D3E8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D3EC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D3F0 38 03 00 01 */ addi r0, r3, 1 -/* 8030D3F4 90 04 00 08 */ stw r0, 8(r4) -/* 8030D3F8 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D3FC D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 8030D400 80 C1 00 1C */ lwz r6, 0x1c(r1) -/* 8030D404 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D408 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D40C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D410 38 03 00 01 */ addi r0, r3, 1 -/* 8030D414 90 04 00 08 */ stw r0, 8(r4) -/* 8030D418 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D41C 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D420 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D424 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D428 38 03 00 01 */ addi r0, r3, 1 -/* 8030D42C 90 04 00 08 */ stw r0, 8(r4) -/* 8030D430 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D434 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D438 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D43C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D440 38 03 00 01 */ addi r0, r3, 1 -/* 8030D444 90 04 00 08 */ stw r0, 8(r4) -/* 8030D448 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D44C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D450 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D454 38 03 00 01 */ addi r0, r3, 1 -/* 8030D458 90 04 00 08 */ stw r0, 8(r4) -/* 8030D45C 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D460 D0 41 00 18 */ stfs f2, 0x18(r1) -/* 8030D464 80 C1 00 18 */ lwz r6, 0x18(r1) -/* 8030D468 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D46C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D470 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D474 38 03 00 01 */ addi r0, r3, 1 -/* 8030D478 90 04 00 08 */ stw r0, 8(r4) -/* 8030D47C 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D480 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D484 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D488 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D48C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D490 90 04 00 08 */ stw r0, 8(r4) -/* 8030D494 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D498 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D49C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D4A0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D4A4 38 03 00 01 */ addi r0, r3, 1 -/* 8030D4A8 90 04 00 08 */ stw r0, 8(r4) -/* 8030D4AC 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D4B0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D4B4 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D4B8 38 03 00 01 */ addi r0, r3, 1 -/* 8030D4BC 90 04 00 08 */ stw r0, 8(r4) -/* 8030D4C0 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D4C4 D0 61 00 14 */ stfs f3, 0x14(r1) -/* 8030D4C8 80 C1 00 14 */ lwz r6, 0x14(r1) -/* 8030D4CC 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D4D0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D4D4 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D4D8 38 03 00 01 */ addi r0, r3, 1 -/* 8030D4DC 90 04 00 08 */ stw r0, 8(r4) -/* 8030D4E0 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D4E4 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D4E8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D4EC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D4F0 38 03 00 01 */ addi r0, r3, 1 -/* 8030D4F4 90 04 00 08 */ stw r0, 8(r4) -/* 8030D4F8 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D4FC 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D500 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D504 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D508 38 03 00 01 */ addi r0, r3, 1 -/* 8030D50C 90 04 00 08 */ stw r0, 8(r4) -/* 8030D510 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D514 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D518 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D51C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D520 90 04 00 08 */ stw r0, 8(r4) -/* 8030D524 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D528 D0 81 00 10 */ stfs f4, 0x10(r1) -/* 8030D52C 80 C1 00 10 */ lwz r6, 0x10(r1) -/* 8030D530 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D534 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D538 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D53C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D540 90 04 00 08 */ stw r0, 8(r4) -/* 8030D544 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D548 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D54C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D550 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D554 38 03 00 01 */ addi r0, r3, 1 -/* 8030D558 90 04 00 08 */ stw r0, 8(r4) -/* 8030D55C 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D560 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D564 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D568 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D56C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D570 90 04 00 08 */ stw r0, 8(r4) -/* 8030D574 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D578 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D57C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D580 38 03 00 01 */ addi r0, r3, 1 -/* 8030D584 90 04 00 08 */ stw r0, 8(r4) -/* 8030D588 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D58C D0 A1 00 0C */ stfs f5, 0xc(r1) -/* 8030D590 80 C1 00 0C */ lwz r6, 0xc(r1) -/* 8030D594 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D598 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D59C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D5A0 38 03 00 01 */ addi r0, r3, 1 -/* 8030D5A4 90 04 00 08 */ stw r0, 8(r4) -/* 8030D5A8 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D5AC 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D5B0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D5B4 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D5B8 38 03 00 01 */ addi r0, r3, 1 -/* 8030D5BC 90 04 00 08 */ stw r0, 8(r4) -/* 8030D5C0 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D5C4 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D5C8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D5CC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D5D0 38 03 00 01 */ addi r0, r3, 1 -/* 8030D5D4 90 04 00 08 */ stw r0, 8(r4) -/* 8030D5D8 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D5DC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D5E0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D5E4 38 03 00 01 */ addi r0, r3, 1 -/* 8030D5E8 90 04 00 08 */ stw r0, 8(r4) -/* 8030D5EC 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D5F0 D0 C1 00 08 */ stfs f6, 8(r1) -/* 8030D5F4 80 C1 00 08 */ lwz r6, 8(r1) -/* 8030D5F8 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D5FC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D600 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D604 38 03 00 01 */ addi r0, r3, 1 -/* 8030D608 90 04 00 08 */ stw r0, 8(r4) -/* 8030D60C 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D610 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D614 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D618 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D61C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D620 90 04 00 08 */ stw r0, 8(r4) -/* 8030D624 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D628 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D62C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D630 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D634 38 03 00 01 */ addi r0, r3, 1 -/* 8030D638 90 04 00 08 */ stw r0, 8(r4) -/* 8030D63C 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D640 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D644 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D648 38 03 00 01 */ addi r0, r3, 1 -/* 8030D64C 90 04 00 08 */ stw r0, 8(r4) -/* 8030D650 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D654 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030D658 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightColor__F10_GXLightID8_GXColor.s b/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightColor__F10_GXLightID8_GXColor.s deleted file mode 100644 index c85a69d3fd..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightColor__F10_GXLightID8_GXColor.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_8030D65C: -/* 8030D65C 88 E4 00 03 */ lbz r7, 3(r4) -/* 8030D660 88 C4 00 02 */ lbz r6, 2(r4) -/* 8030D664 88 A4 00 00 */ lbz r5, 0(r4) -/* 8030D668 88 04 00 01 */ lbz r0, 1(r4) -/* 8030D66C 54 00 80 1E */ slwi r0, r0, 0x10 -/* 8030D670 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 -/* 8030D674 50 C0 44 2E */ rlwimi r0, r6, 8, 0x10, 0x17 -/* 8030D678 7C E0 03 78 */ or r0, r7, r0 -/* 8030D67C 7C 63 00 34 */ cntlzw r3, r3 -/* 8030D680 20 63 00 1F */ subfic r3, r3, 0x1f -/* 8030D684 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 8030D688 28 03 00 07 */ cmplwi r3, 7 -/* 8030D68C 40 81 00 08 */ ble lbl_8030D694 -/* 8030D690 38 60 00 00 */ li r3, 0 -lbl_8030D694: -/* 8030D694 54 63 24 36 */ rlwinm r3, r3, 4, 0x10, 0x1b -/* 8030D698 38 E3 06 03 */ addi r7, r3, 0x603 -/* 8030D69C 38 C0 00 10 */ li r6, 0x10 -/* 8030D6A0 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D6A4 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D6A8 38 64 00 01 */ addi r3, r4, 1 -/* 8030D6AC 90 65 00 08 */ stw r3, 8(r5) -/* 8030D6B0 98 C4 00 00 */ stb r6, 0(r4) -/* 8030D6B4 38 C0 00 00 */ li r6, 0 -/* 8030D6B8 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D6BC 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D6C0 38 64 00 01 */ addi r3, r4, 1 -/* 8030D6C4 90 65 00 08 */ stw r3, 8(r5) -/* 8030D6C8 98 C4 00 00 */ stb r6, 0(r4) -/* 8030D6CC 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D6D0 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D6D4 38 64 00 01 */ addi r3, r4, 1 -/* 8030D6D8 90 65 00 08 */ stw r3, 8(r5) -/* 8030D6DC 98 C4 00 00 */ stb r6, 0(r4) -/* 8030D6E0 54 E6 C6 3E */ rlwinm r6, r7, 0x18, 0x18, 0x1f -/* 8030D6E4 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D6E8 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D6EC 38 64 00 01 */ addi r3, r4, 1 -/* 8030D6F0 90 65 00 08 */ stw r3, 8(r5) -/* 8030D6F4 98 C4 00 00 */ stb r6, 0(r4) -/* 8030D6F8 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D6FC 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D700 38 64 00 01 */ addi r3, r4, 1 -/* 8030D704 90 65 00 08 */ stw r3, 8(r5) -/* 8030D708 98 E4 00 00 */ stb r7, 0(r4) -/* 8030D70C 54 06 46 3E */ srwi r6, r0, 0x18 -/* 8030D710 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D714 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D718 38 64 00 01 */ addi r3, r4, 1 -/* 8030D71C 90 65 00 08 */ stw r3, 8(r5) -/* 8030D720 98 C4 00 00 */ stb r6, 0(r4) -/* 8030D724 54 06 86 3E */ rlwinm r6, r0, 0x10, 0x18, 0x1f -/* 8030D728 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D72C 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D730 38 64 00 01 */ addi r3, r4, 1 -/* 8030D734 90 65 00 08 */ stw r3, 8(r5) -/* 8030D738 98 C4 00 00 */ stb r6, 0(r4) -/* 8030D73C 54 06 C6 3E */ rlwinm r6, r0, 0x18, 0x18, 0x1f -/* 8030D740 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D744 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D748 38 64 00 01 */ addi r3, r4, 1 -/* 8030D74C 90 65 00 08 */ stw r3, 8(r5) -/* 8030D750 98 C4 00 00 */ stb r6, 0(r4) -/* 8030D754 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8030D758 80 85 00 08 */ lwz r4, 8(r5) -/* 8030D75C 38 64 00 01 */ addi r3, r4, 1 -/* 8030D760 90 65 00 08 */ stw r3, 8(r5) -/* 8030D764 98 04 00 00 */ stb r0, 0(r4) -/* 8030D768 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightDir__F10_GXLightIDfff.s b/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightDir__F10_GXLightIDfff.s deleted file mode 100644 index ee0fa5c61b..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightDir__F10_GXLightIDfff.s +++ /dev/null @@ -1,117 +0,0 @@ -lbl_8030D938: -/* 8030D938 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030D93C 7C 60 00 34 */ cntlzw r0, r3 -/* 8030D940 20 00 00 1F */ subfic r0, r0, 0x1f -/* 8030D944 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8030D948 28 00 00 07 */ cmplwi r0, 7 -/* 8030D94C 40 81 00 08 */ ble lbl_8030D954 -/* 8030D950 38 00 00 00 */ li r0, 0 -lbl_8030D954: -/* 8030D954 54 03 24 36 */ rlwinm r3, r0, 4, 0x10, 0x1b -/* 8030D958 38 C3 06 0D */ addi r6, r3, 0x60d -/* 8030D95C 38 A0 00 10 */ li r5, 0x10 -/* 8030D960 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D964 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D968 38 03 00 01 */ addi r0, r3, 1 -/* 8030D96C 90 04 00 08 */ stw r0, 8(r4) -/* 8030D970 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D974 38 A0 00 00 */ li r5, 0 -/* 8030D978 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D97C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D980 38 03 00 01 */ addi r0, r3, 1 -/* 8030D984 90 04 00 08 */ stw r0, 8(r4) -/* 8030D988 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D98C 38 A0 00 02 */ li r5, 2 -/* 8030D990 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D994 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D998 38 03 00 01 */ addi r0, r3, 1 -/* 8030D99C 90 04 00 08 */ stw r0, 8(r4) -/* 8030D9A0 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D9A4 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D9A8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D9AC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D9B0 38 03 00 01 */ addi r0, r3, 1 -/* 8030D9B4 90 04 00 08 */ stw r0, 8(r4) -/* 8030D9B8 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D9BC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D9C0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D9C4 38 03 00 01 */ addi r0, r3, 1 -/* 8030D9C8 90 04 00 08 */ stw r0, 8(r4) -/* 8030D9CC 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D9D0 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8030D9D4 80 C1 00 10 */ lwz r6, 0x10(r1) -/* 8030D9D8 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D9DC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D9E0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D9E4 38 03 00 01 */ addi r0, r3, 1 -/* 8030D9E8 90 04 00 08 */ stw r0, 8(r4) -/* 8030D9EC 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D9F0 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D9F4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D9F8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D9FC 38 03 00 01 */ addi r0, r3, 1 -/* 8030DA00 90 04 00 08 */ stw r0, 8(r4) -/* 8030DA04 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DA08 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030DA0C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DA10 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DA14 38 03 00 01 */ addi r0, r3, 1 -/* 8030DA18 90 04 00 08 */ stw r0, 8(r4) -/* 8030DA1C 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DA20 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DA24 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DA28 38 03 00 01 */ addi r0, r3, 1 -/* 8030DA2C 90 04 00 08 */ stw r0, 8(r4) -/* 8030DA30 98 C3 00 00 */ stb r6, 0(r3) -/* 8030DA34 D0 41 00 0C */ stfs f2, 0xc(r1) -/* 8030DA38 80 C1 00 0C */ lwz r6, 0xc(r1) -/* 8030DA3C 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030DA40 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DA44 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DA48 38 03 00 01 */ addi r0, r3, 1 -/* 8030DA4C 90 04 00 08 */ stw r0, 8(r4) -/* 8030DA50 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DA54 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030DA58 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DA5C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DA60 38 03 00 01 */ addi r0, r3, 1 -/* 8030DA64 90 04 00 08 */ stw r0, 8(r4) -/* 8030DA68 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DA6C 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030DA70 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DA74 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DA78 38 03 00 01 */ addi r0, r3, 1 -/* 8030DA7C 90 04 00 08 */ stw r0, 8(r4) -/* 8030DA80 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DA84 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DA88 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DA8C 38 03 00 01 */ addi r0, r3, 1 -/* 8030DA90 90 04 00 08 */ stw r0, 8(r4) -/* 8030DA94 98 C3 00 00 */ stb r6, 0(r3) -/* 8030DA98 D0 61 00 08 */ stfs f3, 8(r1) -/* 8030DA9C 80 C1 00 08 */ lwz r6, 8(r1) -/* 8030DAA0 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030DAA4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DAA8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DAAC 38 03 00 01 */ addi r0, r3, 1 -/* 8030DAB0 90 04 00 08 */ stw r0, 8(r4) -/* 8030DAB4 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DAB8 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030DABC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DAC0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DAC4 38 03 00 01 */ addi r0, r3, 1 -/* 8030DAC8 90 04 00 08 */ stw r0, 8(r4) -/* 8030DACC 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DAD0 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030DAD4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DAD8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DADC 38 03 00 01 */ addi r0, r3, 1 -/* 8030DAE0 90 04 00 08 */ stw r0, 8(r4) -/* 8030DAE4 98 A3 00 00 */ stb r5, 0(r3) -/* 8030DAE8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030DAEC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030DAF0 38 03 00 01 */ addi r0, r3, 1 -/* 8030DAF4 90 04 00 08 */ stw r0, 8(r4) -/* 8030DAF8 98 C3 00 00 */ stb r6, 0(r3) -/* 8030DAFC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030DB00 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightPos__F10_GXLightIDfff.s b/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightPos__F10_GXLightIDfff.s deleted file mode 100644 index e0999e282f..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightPos__F10_GXLightIDfff.s +++ /dev/null @@ -1,117 +0,0 @@ -lbl_8030D76C: -/* 8030D76C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030D770 7C 60 00 34 */ cntlzw r0, r3 -/* 8030D774 20 00 00 1F */ subfic r0, r0, 0x1f -/* 8030D778 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8030D77C 28 00 00 07 */ cmplwi r0, 7 -/* 8030D780 40 81 00 08 */ ble lbl_8030D788 -/* 8030D784 38 00 00 00 */ li r0, 0 -lbl_8030D788: -/* 8030D788 54 03 24 36 */ rlwinm r3, r0, 4, 0x10, 0x1b -/* 8030D78C 38 C3 06 0A */ addi r6, r3, 0x60a -/* 8030D790 38 A0 00 10 */ li r5, 0x10 -/* 8030D794 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D798 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D79C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D7A0 90 04 00 08 */ stw r0, 8(r4) -/* 8030D7A4 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D7A8 38 A0 00 00 */ li r5, 0 -/* 8030D7AC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D7B0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D7B4 38 03 00 01 */ addi r0, r3, 1 -/* 8030D7B8 90 04 00 08 */ stw r0, 8(r4) -/* 8030D7BC 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D7C0 38 A0 00 02 */ li r5, 2 -/* 8030D7C4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D7C8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D7CC 38 03 00 01 */ addi r0, r3, 1 -/* 8030D7D0 90 04 00 08 */ stw r0, 8(r4) -/* 8030D7D4 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D7D8 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D7DC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D7E0 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D7E4 38 03 00 01 */ addi r0, r3, 1 -/* 8030D7E8 90 04 00 08 */ stw r0, 8(r4) -/* 8030D7EC 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D7F0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D7F4 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D7F8 38 03 00 01 */ addi r0, r3, 1 -/* 8030D7FC 90 04 00 08 */ stw r0, 8(r4) -/* 8030D800 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D804 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8030D808 80 C1 00 10 */ lwz r6, 0x10(r1) -/* 8030D80C 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D810 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D814 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D818 38 03 00 01 */ addi r0, r3, 1 -/* 8030D81C 90 04 00 08 */ stw r0, 8(r4) -/* 8030D820 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D824 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D828 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D82C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D830 38 03 00 01 */ addi r0, r3, 1 -/* 8030D834 90 04 00 08 */ stw r0, 8(r4) -/* 8030D838 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D83C 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D840 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D844 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D848 38 03 00 01 */ addi r0, r3, 1 -/* 8030D84C 90 04 00 08 */ stw r0, 8(r4) -/* 8030D850 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D854 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D858 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D85C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D860 90 04 00 08 */ stw r0, 8(r4) -/* 8030D864 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D868 D0 41 00 0C */ stfs f2, 0xc(r1) -/* 8030D86C 80 C1 00 0C */ lwz r6, 0xc(r1) -/* 8030D870 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D874 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D878 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D87C 38 03 00 01 */ addi r0, r3, 1 -/* 8030D880 90 04 00 08 */ stw r0, 8(r4) -/* 8030D884 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D888 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D88C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D890 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D894 38 03 00 01 */ addi r0, r3, 1 -/* 8030D898 90 04 00 08 */ stw r0, 8(r4) -/* 8030D89C 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D8A0 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D8A4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D8A8 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D8AC 38 03 00 01 */ addi r0, r3, 1 -/* 8030D8B0 90 04 00 08 */ stw r0, 8(r4) -/* 8030D8B4 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D8B8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D8BC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D8C0 38 03 00 01 */ addi r0, r3, 1 -/* 8030D8C4 90 04 00 08 */ stw r0, 8(r4) -/* 8030D8C8 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D8CC D0 61 00 08 */ stfs f3, 8(r1) -/* 8030D8D0 80 C1 00 08 */ lwz r6, 8(r1) -/* 8030D8D4 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8030D8D8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D8DC 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D8E0 38 03 00 01 */ addi r0, r3, 1 -/* 8030D8E4 90 04 00 08 */ stw r0, 8(r4) -/* 8030D8E8 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D8EC 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8030D8F0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D8F4 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D8F8 38 03 00 01 */ addi r0, r3, 1 -/* 8030D8FC 90 04 00 08 */ stw r0, 8(r4) -/* 8030D900 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D904 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8030D908 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D90C 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D910 38 03 00 01 */ addi r0, r3, 1 -/* 8030D914 90 04 00 08 */ stw r0, 8(r4) -/* 8030D918 98 A3 00 00 */ stb r5, 0(r3) -/* 8030D91C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8030D920 80 64 00 08 */ lwz r3, 8(r4) -/* 8030D924 38 03 00 01 */ addi r0, r3, 1 -/* 8030D928 90 04 00 08 */ stw r0, 8(r4) -/* 8030D92C 98 C3 00 00 */ stb r6, 0(r3) -/* 8030D930 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030D934 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/diffAmbColor__20J3DColorBlockLightOnFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/diffAmbColor__20J3DColorBlockLightOnFv.s deleted file mode 100644 index 0aed6f252a..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/diffAmbColor__20J3DColorBlockLightOnFv.s +++ /dev/null @@ -1,97 +0,0 @@ -lbl_8031A1DC: -/* 8031A1DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031A1E0 7C 08 02 A6 */ mflr r0 -/* 8031A1E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8031A1E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8031A1EC 7C 7F 1B 78 */ mr r31, r3 -/* 8031A1F0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A1F4 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A1F8 80 0D 83 E4 */ lwz r0, SizeOfLoadAmbColors(r13) -/* 8031A1FC 7C 63 02 14 */ add r3, r3, r0 -/* 8031A200 80 04 00 0C */ lwz r0, 0xc(r4) -/* 8031A204 7C 03 00 40 */ cmplw r3, r0 -/* 8031A208 40 81 00 08 */ ble lbl_8031A210 -/* 8031A20C 48 04 6E C9 */ bl GDOverflowed -lbl_8031A210: -/* 8031A210 38 C0 00 10 */ li r6, 0x10 -/* 8031A214 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A218 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A21C 38 03 00 01 */ addi r0, r3, 1 -/* 8031A220 90 04 00 08 */ stw r0, 8(r4) -/* 8031A224 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A228 38 A0 00 00 */ li r5, 0 -/* 8031A22C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A230 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A234 38 03 00 01 */ addi r0, r3, 1 -/* 8031A238 90 04 00 08 */ stw r0, 8(r4) -/* 8031A23C 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A240 38 A0 00 01 */ li r5, 1 -/* 8031A244 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A248 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A24C 38 03 00 01 */ addi r0, r3, 1 -/* 8031A250 90 04 00 08 */ stw r0, 8(r4) -/* 8031A254 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A258 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A25C 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A260 38 03 00 01 */ addi r0, r3, 1 -/* 8031A264 90 04 00 08 */ stw r0, 8(r4) -/* 8031A268 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A26C 38 A0 00 0A */ li r5, 0xa -/* 8031A270 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A274 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A278 38 03 00 01 */ addi r0, r3, 1 -/* 8031A27C 90 04 00 08 */ stw r0, 8(r4) -/* 8031A280 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A284 80 DF 00 0C */ lwz r6, 0xc(r31) -/* 8031A288 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8031A28C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A290 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A294 38 03 00 01 */ addi r0, r3, 1 -/* 8031A298 90 04 00 08 */ stw r0, 8(r4) -/* 8031A29C 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A2A0 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8031A2A4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A2A8 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A2AC 38 03 00 01 */ addi r0, r3, 1 -/* 8031A2B0 90 04 00 08 */ stw r0, 8(r4) -/* 8031A2B4 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A2B8 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8031A2BC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A2C0 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A2C4 38 03 00 01 */ addi r0, r3, 1 -/* 8031A2C8 90 04 00 08 */ stw r0, 8(r4) -/* 8031A2CC 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A2D0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A2D4 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A2D8 38 03 00 01 */ addi r0, r3, 1 -/* 8031A2DC 90 04 00 08 */ stw r0, 8(r4) -/* 8031A2E0 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A2E4 80 DF 00 10 */ lwz r6, 0x10(r31) -/* 8031A2E8 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8031A2EC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A2F0 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A2F4 38 03 00 01 */ addi r0, r3, 1 -/* 8031A2F8 90 04 00 08 */ stw r0, 8(r4) -/* 8031A2FC 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A300 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8031A304 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A308 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A30C 38 03 00 01 */ addi r0, r3, 1 -/* 8031A310 90 04 00 08 */ stw r0, 8(r4) -/* 8031A314 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A318 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8031A31C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A320 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A324 38 03 00 01 */ addi r0, r3, 1 -/* 8031A328 90 04 00 08 */ stw r0, 8(r4) -/* 8031A32C 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A330 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A334 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A338 38 03 00 01 */ addi r0, r3, 1 -/* 8031A33C 90 04 00 08 */ stw r0, 8(r4) -/* 8031A340 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A344 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8031A348 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8031A34C 7C 08 03 A6 */ mtlr r0 -/* 8031A350 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031A354 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__20J3DColorBlockLightOnFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__20J3DColorBlockLightOnFv.s deleted file mode 100644 index 45001ff9d1..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__20J3DColorBlockLightOnFv.s +++ /dev/null @@ -1,97 +0,0 @@ -lbl_8031A358: -/* 8031A358 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031A35C 7C 08 02 A6 */ mflr r0 -/* 8031A360 90 01 00 14 */ stw r0, 0x14(r1) -/* 8031A364 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8031A368 7C 7F 1B 78 */ mr r31, r3 -/* 8031A36C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A370 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A374 80 0D 83 E0 */ lwz r0, SizeOfLoadMatColors(r13) -/* 8031A378 7C 63 02 14 */ add r3, r3, r0 -/* 8031A37C 80 04 00 0C */ lwz r0, 0xc(r4) -/* 8031A380 7C 03 00 40 */ cmplw r3, r0 -/* 8031A384 40 81 00 08 */ ble lbl_8031A38C -/* 8031A388 48 04 6D 4D */ bl GDOverflowed -lbl_8031A38C: -/* 8031A38C 38 C0 00 10 */ li r6, 0x10 -/* 8031A390 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A394 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A398 38 03 00 01 */ addi r0, r3, 1 -/* 8031A39C 90 04 00 08 */ stw r0, 8(r4) -/* 8031A3A0 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A3A4 38 A0 00 00 */ li r5, 0 -/* 8031A3A8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A3AC 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A3B0 38 03 00 01 */ addi r0, r3, 1 -/* 8031A3B4 90 04 00 08 */ stw r0, 8(r4) -/* 8031A3B8 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A3BC 38 A0 00 01 */ li r5, 1 -/* 8031A3C0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A3C4 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A3C8 38 03 00 01 */ addi r0, r3, 1 -/* 8031A3CC 90 04 00 08 */ stw r0, 8(r4) -/* 8031A3D0 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A3D4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A3D8 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A3DC 38 03 00 01 */ addi r0, r3, 1 -/* 8031A3E0 90 04 00 08 */ stw r0, 8(r4) -/* 8031A3E4 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A3E8 38 A0 00 0C */ li r5, 0xc -/* 8031A3EC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A3F0 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A3F4 38 03 00 01 */ addi r0, r3, 1 -/* 8031A3F8 90 04 00 08 */ stw r0, 8(r4) -/* 8031A3FC 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A400 80 DF 00 04 */ lwz r6, 4(r31) -/* 8031A404 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8031A408 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A40C 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A410 38 03 00 01 */ addi r0, r3, 1 -/* 8031A414 90 04 00 08 */ stw r0, 8(r4) -/* 8031A418 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A41C 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8031A420 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A424 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A428 38 03 00 01 */ addi r0, r3, 1 -/* 8031A42C 90 04 00 08 */ stw r0, 8(r4) -/* 8031A430 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A434 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8031A438 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A43C 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A440 38 03 00 01 */ addi r0, r3, 1 -/* 8031A444 90 04 00 08 */ stw r0, 8(r4) -/* 8031A448 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A44C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A450 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A454 38 03 00 01 */ addi r0, r3, 1 -/* 8031A458 90 04 00 08 */ stw r0, 8(r4) -/* 8031A45C 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A460 80 DF 00 08 */ lwz r6, 8(r31) -/* 8031A464 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8031A468 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A46C 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A470 38 03 00 01 */ addi r0, r3, 1 -/* 8031A474 90 04 00 08 */ stw r0, 8(r4) -/* 8031A478 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A47C 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 8031A480 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A484 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A488 38 03 00 01 */ addi r0, r3, 1 -/* 8031A48C 90 04 00 08 */ stw r0, 8(r4) -/* 8031A490 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A494 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8031A498 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A49C 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A4A0 38 03 00 01 */ addi r0, r3, 1 -/* 8031A4A4 90 04 00 08 */ stw r0, 8(r4) -/* 8031A4A8 98 A3 00 00 */ stb r5, 0(r3) -/* 8031A4AC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A4B0 80 64 00 08 */ lwz r3, 8(r4) -/* 8031A4B4 38 03 00 01 */ addi r0, r3, 1 -/* 8031A4B8 90 04 00 08 */ stw r0, 8(r4) -/* 8031A4BC 98 C3 00 00 */ stb r6, 0(r3) -/* 8031A4C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8031A4C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8031A4C8 7C 08 03 A6 */ mtlr r0 -/* 8031A4CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031A4D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__21J3DColorBlockLightOffFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__21J3DColorBlockLightOffFv.s deleted file mode 100644 index 23a5a7c926..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__21J3DColorBlockLightOffFv.s +++ /dev/null @@ -1,97 +0,0 @@ -lbl_80319BB4: -/* 80319BB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80319BB8 7C 08 02 A6 */ mflr r0 -/* 80319BBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80319BC0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80319BC4 7C 7F 1B 78 */ mr r31, r3 -/* 80319BC8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319BCC 80 64 00 08 */ lwz r3, 8(r4) -/* 80319BD0 80 0D 83 E0 */ lwz r0, SizeOfLoadMatColors(r13) -/* 80319BD4 7C 63 02 14 */ add r3, r3, r0 -/* 80319BD8 80 04 00 0C */ lwz r0, 0xc(r4) -/* 80319BDC 7C 03 00 40 */ cmplw r3, r0 -/* 80319BE0 40 81 00 08 */ ble lbl_80319BE8 -/* 80319BE4 48 04 74 F1 */ bl GDOverflowed -lbl_80319BE8: -/* 80319BE8 38 C0 00 10 */ li r6, 0x10 -/* 80319BEC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319BF0 80 64 00 08 */ lwz r3, 8(r4) -/* 80319BF4 38 03 00 01 */ addi r0, r3, 1 -/* 80319BF8 90 04 00 08 */ stw r0, 8(r4) -/* 80319BFC 98 C3 00 00 */ stb r6, 0(r3) -/* 80319C00 38 A0 00 00 */ li r5, 0 -/* 80319C04 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319C08 80 64 00 08 */ lwz r3, 8(r4) -/* 80319C0C 38 03 00 01 */ addi r0, r3, 1 -/* 80319C10 90 04 00 08 */ stw r0, 8(r4) -/* 80319C14 98 A3 00 00 */ stb r5, 0(r3) -/* 80319C18 38 A0 00 01 */ li r5, 1 -/* 80319C1C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319C20 80 64 00 08 */ lwz r3, 8(r4) -/* 80319C24 38 03 00 01 */ addi r0, r3, 1 -/* 80319C28 90 04 00 08 */ stw r0, 8(r4) -/* 80319C2C 98 A3 00 00 */ stb r5, 0(r3) -/* 80319C30 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319C34 80 64 00 08 */ lwz r3, 8(r4) -/* 80319C38 38 03 00 01 */ addi r0, r3, 1 -/* 80319C3C 90 04 00 08 */ stw r0, 8(r4) -/* 80319C40 98 C3 00 00 */ stb r6, 0(r3) -/* 80319C44 38 A0 00 0C */ li r5, 0xc -/* 80319C48 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319C4C 80 64 00 08 */ lwz r3, 8(r4) -/* 80319C50 38 03 00 01 */ addi r0, r3, 1 -/* 80319C54 90 04 00 08 */ stw r0, 8(r4) -/* 80319C58 98 A3 00 00 */ stb r5, 0(r3) -/* 80319C5C 80 DF 00 04 */ lwz r6, 4(r31) -/* 80319C60 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 80319C64 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319C68 80 64 00 08 */ lwz r3, 8(r4) -/* 80319C6C 38 03 00 01 */ addi r0, r3, 1 -/* 80319C70 90 04 00 08 */ stw r0, 8(r4) -/* 80319C74 98 A3 00 00 */ stb r5, 0(r3) -/* 80319C78 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 80319C7C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319C80 80 64 00 08 */ lwz r3, 8(r4) -/* 80319C84 38 03 00 01 */ addi r0, r3, 1 -/* 80319C88 90 04 00 08 */ stw r0, 8(r4) -/* 80319C8C 98 A3 00 00 */ stb r5, 0(r3) -/* 80319C90 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 80319C94 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319C98 80 64 00 08 */ lwz r3, 8(r4) -/* 80319C9C 38 03 00 01 */ addi r0, r3, 1 -/* 80319CA0 90 04 00 08 */ stw r0, 8(r4) -/* 80319CA4 98 A3 00 00 */ stb r5, 0(r3) -/* 80319CA8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319CAC 80 64 00 08 */ lwz r3, 8(r4) -/* 80319CB0 38 03 00 01 */ addi r0, r3, 1 -/* 80319CB4 90 04 00 08 */ stw r0, 8(r4) -/* 80319CB8 98 C3 00 00 */ stb r6, 0(r3) -/* 80319CBC 80 DF 00 08 */ lwz r6, 8(r31) -/* 80319CC0 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 80319CC4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319CC8 80 64 00 08 */ lwz r3, 8(r4) -/* 80319CCC 38 03 00 01 */ addi r0, r3, 1 -/* 80319CD0 90 04 00 08 */ stw r0, 8(r4) -/* 80319CD4 98 A3 00 00 */ stb r5, 0(r3) -/* 80319CD8 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 80319CDC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319CE0 80 64 00 08 */ lwz r3, 8(r4) -/* 80319CE4 38 03 00 01 */ addi r0, r3, 1 -/* 80319CE8 90 04 00 08 */ stw r0, 8(r4) -/* 80319CEC 98 A3 00 00 */ stb r5, 0(r3) -/* 80319CF0 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 80319CF4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319CF8 80 64 00 08 */ lwz r3, 8(r4) -/* 80319CFC 38 03 00 01 */ addi r0, r3, 1 -/* 80319D00 90 04 00 08 */ stw r0, 8(r4) -/* 80319D04 98 A3 00 00 */ stb r5, 0(r3) -/* 80319D08 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319D0C 80 64 00 08 */ lwz r3, 8(r4) -/* 80319D10 38 03 00 01 */ addi r0, r3, 1 -/* 80319D14 90 04 00 08 */ stw r0, 8(r4) -/* 80319D18 98 C3 00 00 */ stb r6, 0(r3) -/* 80319D1C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80319D20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80319D24 7C 08 03 A6 */ mtlr r0 -/* 80319D28 38 21 00 10 */ addi r1, r1, 0x10 -/* 80319D2C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/diff__20J3DColorBlockLightOnFUl.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/diff__20J3DColorBlockLightOnFUl.s deleted file mode 100644 index 7509ad03db..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/diff__20J3DColorBlockLightOnFUl.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8031A13C: -/* 8031A13C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031A140 7C 08 02 A6 */ mflr r0 -/* 8031A144 90 01 00 14 */ stw r0, 0x14(r1) -/* 8031A148 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8031A14C 93 C1 00 08 */ stw r30, 8(r1) -/* 8031A150 7C 7E 1B 78 */ mr r30, r3 -/* 8031A154 7C 9F 23 78 */ mr r31, r4 -/* 8031A158 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 8031A15C 41 82 00 14 */ beq lbl_8031A170 -/* 8031A160 81 83 00 00 */ lwz r12, 0(r3) -/* 8031A164 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8031A168 7D 89 03 A6 */ mtctr r12 -/* 8031A16C 4E 80 04 21 */ bctrl -lbl_8031A170: -/* 8031A170 57 E0 07 FF */ clrlwi. r0, r31, 0x1f -/* 8031A174 41 82 00 18 */ beq lbl_8031A18C -/* 8031A178 7F C3 F3 78 */ mr r3, r30 -/* 8031A17C 81 9E 00 00 */ lwz r12, 0(r30) -/* 8031A180 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8031A184 7D 89 03 A6 */ mtctr r12 -/* 8031A188 4E 80 04 21 */ bctrl -lbl_8031A18C: -/* 8031A18C 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e -/* 8031A190 41 82 00 18 */ beq lbl_8031A1A8 -/* 8031A194 7F C3 F3 78 */ mr r3, r30 -/* 8031A198 81 9E 00 00 */ lwz r12, 0(r30) -/* 8031A19C 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 8031A1A0 7D 89 03 A6 */ mtctr r12 -/* 8031A1A4 4E 80 04 21 */ bctrl -lbl_8031A1A8: -/* 8031A1A8 57 E4 E7 3F */ rlwinm. r4, r31, 0x1c, 0x1c, 0x1f -/* 8031A1AC 41 82 00 18 */ beq lbl_8031A1C4 -/* 8031A1B0 7F C3 F3 78 */ mr r3, r30 -/* 8031A1B4 81 9E 00 00 */ lwz r12, 0(r30) -/* 8031A1B8 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8031A1BC 7D 89 03 A6 */ mtctr r12 -/* 8031A1C0 4E 80 04 21 */ bctrl -lbl_8031A1C4: -/* 8031A1C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8031A1C8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8031A1CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8031A1D0 7C 08 03 A6 */ mtlr r0 -/* 8031A1D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031A1D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/diff__21J3DColorBlockLightOffFUl.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/diff__21J3DColorBlockLightOffFUl.s deleted file mode 100644 index 63414f3991..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/diff__21J3DColorBlockLightOffFUl.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80319B4C: -/* 80319B4C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80319B50 7C 08 02 A6 */ mflr r0 -/* 80319B54 90 01 00 14 */ stw r0, 0x14(r1) -/* 80319B58 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80319B5C 93 C1 00 08 */ stw r30, 8(r1) -/* 80319B60 7C 7E 1B 78 */ mr r30, r3 -/* 80319B64 7C 9F 23 78 */ mr r31, r4 -/* 80319B68 54 80 07 FF */ clrlwi. r0, r4, 0x1f -/* 80319B6C 41 82 00 14 */ beq lbl_80319B80 -/* 80319B70 81 83 00 00 */ lwz r12, 0(r3) -/* 80319B74 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80319B78 7D 89 03 A6 */ mtctr r12 -/* 80319B7C 4E 80 04 21 */ bctrl -lbl_80319B80: -/* 80319B80 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e -/* 80319B84 41 82 00 18 */ beq lbl_80319B9C -/* 80319B88 7F C3 F3 78 */ mr r3, r30 -/* 80319B8C 81 9E 00 00 */ lwz r12, 0(r30) -/* 80319B90 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 80319B94 7D 89 03 A6 */ mtctr r12 -/* 80319B98 4E 80 04 21 */ bctrl -lbl_80319B9C: -/* 80319B9C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80319BA0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80319BA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80319BA8 7C 08 03 A6 */ mtlr r0 -/* 80319BAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80319BB0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__12J3DTevBlock1Fv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__12J3DTevBlock1Fv.s deleted file mode 100644 index 395dbeeb57..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__12J3DTevBlock1Fv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_803177E8: -/* 803177E8 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 803177EC 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 803177F0 B0 03 00 08 */ sth r0, 8(r3) -/* 803177F4 38 00 00 C0 */ li r0, 0xc0 -/* 803177F8 98 03 00 0E */ stb r0, 0xe(r3) -/* 803177FC 38 00 00 C1 */ li r0, 0xc1 -/* 80317800 98 03 00 12 */ stb r0, 0x12(r3) -/* 80317804 38 00 00 00 */ li r0, 0 -/* 80317808 90 03 00 04 */ stw r0, 4(r3) -/* 8031780C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__14J3DPEBlockFullFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__14J3DPEBlockFullFv.s deleted file mode 100644 index 0b64b833cb..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__14J3DPEBlockFullFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80317B58: -/* 80317B58 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 80317B5C 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 80317B60 B0 03 00 30 */ sth r0, 0x30(r3) -/* 80317B64 B0 03 00 38 */ sth r0, 0x38(r3) -/* 80317B68 38 00 00 FF */ li r0, 0xff -/* 80317B6C 98 03 00 3A */ stb r0, 0x3a(r3) -/* 80317B70 38 00 00 01 */ li r0, 1 -/* 80317B74 98 03 00 3B */ stb r0, 0x3b(r3) -/* 80317B78 38 00 00 00 */ li r0, 0 -/* 80317B7C 90 03 00 3C */ stw r0, 0x3c(r3) -/* 80317B80 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DIndBlockFullFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DIndBlockFullFv.s deleted file mode 100644 index 4b616bde5b..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DIndBlockFullFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80317B28: -/* 80317B28 38 00 00 00 */ li r0, 0 -/* 80317B2C 98 03 00 04 */ stb r0, 4(r3) -/* 80317B30 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTevBlockNullFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTevBlockNullFv.s deleted file mode 100644 index 6c99892f8d..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTevBlockNullFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_803176D4: -/* 803176D4 38 00 00 00 */ li r0, 0 -/* 803176D8 90 03 00 04 */ stw r0, 4(r3) -/* 803176DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTexGenBlock4Fv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTexGenBlock4Fv.s deleted file mode 100644 index 4394739e3d..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTexGenBlock4Fv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80317674: -/* 80317674 38 A0 00 00 */ li r5, 0 -/* 80317678 90 A3 00 04 */ stw r5, 4(r3) -/* 8031767C 7C A4 2B 78 */ mr r4, r5 -/* 80317680 38 00 00 04 */ li r0, 4 -/* 80317684 7C 09 03 A6 */ mtctr r0 -lbl_80317688: -/* 80317688 38 04 00 38 */ addi r0, r4, 0x38 -/* 8031768C 7C A3 01 2E */ stwx r5, r3, r0 -/* 80317690 38 84 00 04 */ addi r4, r4, 4 -/* 80317694 42 00 FF F4 */ bdnz lbl_80317688 -/* 80317698 38 00 00 00 */ li r0, 0 -/* 8031769C 90 03 00 58 */ stw r0, 0x58(r3) -/* 803176A0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__16J3DPEBlockFogOffFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__16J3DPEBlockFogOffFv.s deleted file mode 100644 index f4255dd6e5..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__16J3DPEBlockFogOffFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80317B34: -/* 80317B34 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 80317B38 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 80317B3C B0 03 00 04 */ sth r0, 4(r3) -/* 80317B40 B0 03 00 0C */ sth r0, 0xc(r3) -/* 80317B44 38 00 00 FF */ li r0, 0xff -/* 80317B48 98 03 00 0E */ stb r0, 0xe(r3) -/* 80317B4C 38 00 00 01 */ li r0, 1 -/* 80317B50 98 03 00 0F */ stb r0, 0xf(r3) -/* 80317B54 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__19J3DTexGenBlockBasicFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__19J3DTexGenBlockBasicFv.s deleted file mode 100644 index 45a2d0d41c..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__19J3DTexGenBlockBasicFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_803176A4: -/* 803176A4 38 A0 00 00 */ li r5, 0 -/* 803176A8 90 A3 00 04 */ stw r5, 4(r3) -/* 803176AC 7C A4 2B 78 */ mr r4, r5 -/* 803176B0 38 00 00 08 */ li r0, 8 -/* 803176B4 7C 09 03 A6 */ mtctr r0 -lbl_803176B8: -/* 803176B8 38 04 00 38 */ addi r0, r4, 0x38 -/* 803176BC 7C A3 01 2E */ stwx r5, r3, r0 -/* 803176C0 38 84 00 04 */ addi r4, r4, 4 -/* 803176C4 42 00 FF F4 */ bdnz lbl_803176B8 -/* 803176C8 38 00 00 00 */ li r0, 0 -/* 803176CC 90 03 00 58 */ stw r0, 0x58(r3) -/* 803176D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__21J3DTexGenBlockPatchedFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__21J3DTexGenBlockPatchedFv.s deleted file mode 100644 index 66b34ee820..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__21J3DTexGenBlockPatchedFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80317644: -/* 80317644 38 A0 00 00 */ li r5, 0 -/* 80317648 90 A3 00 04 */ stw r5, 4(r3) -/* 8031764C 7C A4 2B 78 */ mr r4, r5 -/* 80317650 38 00 00 08 */ li r0, 8 -/* 80317654 7C 09 03 A6 */ mtctr r0 -lbl_80317658: -/* 80317658 38 04 00 38 */ addi r0, r4, 0x38 -/* 8031765C 7C A3 01 2E */ stwx r5, r3, r0 -/* 80317660 38 84 00 04 */ addi r4, r4, 4 -/* 80317664 42 00 FF F4 */ bdnz lbl_80317658 -/* 80317668 38 00 00 00 */ li r0, 0 -/* 8031766C 90 03 00 58 */ stw r0, 0x58(r3) -/* 80317670 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/load__15J3DTexGenBlock4Fv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/load__15J3DTexGenBlock4Fv.s deleted file mode 100644 index 368a21ef6b..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/load__15J3DTexGenBlock4Fv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8031A948: -/* 8031A948 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8031A94C 7C 08 02 A6 */ mflr r0 -/* 8031A950 90 01 00 24 */ stw r0, 0x24(r1) -/* 8031A954 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031A958 48 04 78 81 */ bl _savegpr_28 -/* 8031A95C 7C 7C 1B 78 */ mr r28, r3 -/* 8031A960 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031A964 80 64 00 00 */ lwz r3, 0(r4) -/* 8031A968 80 04 00 08 */ lwz r0, 8(r4) -/* 8031A96C 7C 03 00 50 */ subf r0, r3, r0 -/* 8031A970 90 1C 00 58 */ stw r0, 0x58(r28) -/* 8031A974 3B A0 00 00 */ li r29, 0 -/* 8031A978 3B E0 00 00 */ li r31, 0 -/* 8031A97C 3B C0 00 00 */ li r30, 0 -lbl_8031A980: -/* 8031A980 38 1E 00 38 */ addi r0, r30, 0x38 -/* 8031A984 7C 7C 00 2E */ lwzx r3, r28, r0 -/* 8031A988 28 03 00 00 */ cmplwi r3, 0 -/* 8031A98C 41 82 00 1C */ beq lbl_8031A9A8 -/* 8031A990 38 1F 00 0A */ addi r0, r31, 0xa -/* 8031A994 7C 1C 00 AE */ lbzx r0, r28, r0 -/* 8031A998 28 00 00 3C */ cmplwi r0, 0x3c -/* 8031A99C 41 82 00 0C */ beq lbl_8031A9A8 -/* 8031A9A0 7F A4 EB 78 */ mr r4, r29 -/* 8031A9A4 48 00 8F 21 */ bl load__9J3DTexMtxCFUl -lbl_8031A9A8: -/* 8031A9A8 3B BD 00 01 */ addi r29, r29, 1 -/* 8031A9AC 28 1D 00 04 */ cmplwi r29, 4 -/* 8031A9B0 3B FF 00 06 */ addi r31, r31, 6 -/* 8031A9B4 3B DE 00 04 */ addi r30, r30, 4 -/* 8031A9B8 41 80 FF C8 */ blt lbl_8031A980 -/* 8031A9BC 80 7C 00 04 */ lwz r3, 4(r28) -/* 8031A9C0 28 03 00 00 */ cmplwi r3, 0 -/* 8031A9C4 41 82 00 0C */ beq lbl_8031A9D0 -/* 8031A9C8 38 9C 00 08 */ addi r4, r28, 8 -/* 8031A9CC 48 00 8C 79 */ bl loadTexCoordGens__FUlP11J3DTexCoord -lbl_8031A9D0: -/* 8031A9D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031A9D4 48 04 78 51 */ bl _restgpr_28 -/* 8031A9D8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8031A9DC 7C 08 03 A6 */ mtlr r0 -/* 8031A9E0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8031A9E4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/load__19J3DTexGenBlockBasicFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/load__19J3DTexGenBlockBasicFv.s deleted file mode 100644 index b9fbaf19e9..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/load__19J3DTexGenBlockBasicFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8031A9E8: -/* 8031A9E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8031A9EC 7C 08 02 A6 */ mflr r0 -/* 8031A9F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8031A9F4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031A9F8 48 04 77 E1 */ bl _savegpr_28 -/* 8031A9FC 7C 7C 1B 78 */ mr r28, r3 -/* 8031AA00 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031AA04 80 64 00 00 */ lwz r3, 0(r4) -/* 8031AA08 80 04 00 08 */ lwz r0, 8(r4) -/* 8031AA0C 7C 03 00 50 */ subf r0, r3, r0 -/* 8031AA10 90 1C 00 58 */ stw r0, 0x58(r28) -/* 8031AA14 3B A0 00 00 */ li r29, 0 -/* 8031AA18 3B E0 00 00 */ li r31, 0 -/* 8031AA1C 3B C0 00 00 */ li r30, 0 -lbl_8031AA20: -/* 8031AA20 38 1E 00 38 */ addi r0, r30, 0x38 -/* 8031AA24 7C 7C 00 2E */ lwzx r3, r28, r0 -/* 8031AA28 28 03 00 00 */ cmplwi r3, 0 -/* 8031AA2C 41 82 00 1C */ beq lbl_8031AA48 -/* 8031AA30 38 1F 00 0A */ addi r0, r31, 0xa -/* 8031AA34 7C 1C 00 AE */ lbzx r0, r28, r0 -/* 8031AA38 28 00 00 3C */ cmplwi r0, 0x3c -/* 8031AA3C 41 82 00 0C */ beq lbl_8031AA48 -/* 8031AA40 7F A4 EB 78 */ mr r4, r29 -/* 8031AA44 48 00 8E 81 */ bl load__9J3DTexMtxCFUl -lbl_8031AA48: -/* 8031AA48 3B BD 00 01 */ addi r29, r29, 1 -/* 8031AA4C 28 1D 00 08 */ cmplwi r29, 8 -/* 8031AA50 3B FF 00 06 */ addi r31, r31, 6 -/* 8031AA54 3B DE 00 04 */ addi r30, r30, 4 -/* 8031AA58 41 80 FF C8 */ blt lbl_8031AA20 -/* 8031AA5C 80 7C 00 04 */ lwz r3, 4(r28) -/* 8031AA60 28 03 00 00 */ cmplwi r3, 0 -/* 8031AA64 41 82 00 0C */ beq lbl_8031AA70 -/* 8031AA68 38 9C 00 08 */ addi r4, r28, 8 -/* 8031AA6C 48 00 8B D9 */ bl loadTexCoordGens__FUlP11J3DTexCoord -lbl_8031AA70: -/* 8031AA70 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031AA74 48 04 77 B1 */ bl _restgpr_28 -/* 8031AA78 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8031AA7C 7C 08 03 A6 */ mtlr r0 -/* 8031AA80 38 21 00 20 */ addi r1, r1, 0x20 -/* 8031AA84 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__20J3DColorBlockLightOnFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__20J3DColorBlockLightOnFv.s deleted file mode 100644 index b0cee9239b..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__20J3DColorBlockLightOnFv.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_80319534: -/* 80319534 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80319538 7C 08 02 A6 */ mflr r0 -/* 8031953C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80319540 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80319544 93 C1 00 08 */ stw r30, 8(r1) -/* 80319548 7C 7E 1B 78 */ mr r30, r3 -/* 8031954C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319550 80 64 00 00 */ lwz r3, 0(r4) -/* 80319554 80 1E 00 44 */ lwz r0, 0x44(r30) -/* 80319558 7C 03 02 14 */ add r0, r3, r0 -/* 8031955C 90 04 00 08 */ stw r0, 8(r4) -/* 80319560 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319564 83 E4 00 08 */ lwz r31, 8(r4) -/* 80319568 80 0D 83 E0 */ lwz r0, SizeOfLoadMatColors(r13) -/* 8031956C 7C 7F 02 14 */ add r3, r31, r0 -/* 80319570 80 04 00 0C */ lwz r0, 0xc(r4) -/* 80319574 7C 03 00 40 */ cmplw r3, r0 -/* 80319578 40 81 00 08 */ ble lbl_80319580 -/* 8031957C 48 04 7B 59 */ bl GDOverflowed -lbl_80319580: -/* 80319580 38 C0 00 10 */ li r6, 0x10 -/* 80319584 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319588 80 64 00 08 */ lwz r3, 8(r4) -/* 8031958C 38 03 00 01 */ addi r0, r3, 1 -/* 80319590 90 04 00 08 */ stw r0, 8(r4) -/* 80319594 98 C3 00 00 */ stb r6, 0(r3) -/* 80319598 38 A0 00 00 */ li r5, 0 -/* 8031959C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 803195A0 80 64 00 08 */ lwz r3, 8(r4) -/* 803195A4 38 03 00 01 */ addi r0, r3, 1 -/* 803195A8 90 04 00 08 */ stw r0, 8(r4) -/* 803195AC 98 A3 00 00 */ stb r5, 0(r3) -/* 803195B0 38 A0 00 01 */ li r5, 1 -/* 803195B4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 803195B8 80 64 00 08 */ lwz r3, 8(r4) -/* 803195BC 38 03 00 01 */ addi r0, r3, 1 -/* 803195C0 90 04 00 08 */ stw r0, 8(r4) -/* 803195C4 98 A3 00 00 */ stb r5, 0(r3) -/* 803195C8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 803195CC 80 64 00 08 */ lwz r3, 8(r4) -/* 803195D0 38 03 00 01 */ addi r0, r3, 1 -/* 803195D4 90 04 00 08 */ stw r0, 8(r4) -/* 803195D8 98 C3 00 00 */ stb r6, 0(r3) -/* 803195DC 38 A0 00 0C */ li r5, 0xc -/* 803195E0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 803195E4 80 64 00 08 */ lwz r3, 8(r4) -/* 803195E8 38 03 00 01 */ addi r0, r3, 1 -/* 803195EC 90 04 00 08 */ stw r0, 8(r4) -/* 803195F0 98 A3 00 00 */ stb r5, 0(r3) -/* 803195F4 80 DE 00 04 */ lwz r6, 4(r30) -/* 803195F8 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 803195FC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319600 80 64 00 08 */ lwz r3, 8(r4) -/* 80319604 38 03 00 01 */ addi r0, r3, 1 -/* 80319608 90 04 00 08 */ stw r0, 8(r4) -/* 8031960C 98 A3 00 00 */ stb r5, 0(r3) -/* 80319610 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 80319614 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319618 80 64 00 08 */ lwz r3, 8(r4) -/* 8031961C 38 03 00 01 */ addi r0, r3, 1 -/* 80319620 90 04 00 08 */ stw r0, 8(r4) -/* 80319624 98 A3 00 00 */ stb r5, 0(r3) -/* 80319628 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8031962C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319630 80 64 00 08 */ lwz r3, 8(r4) -/* 80319634 38 03 00 01 */ addi r0, r3, 1 -/* 80319638 90 04 00 08 */ stw r0, 8(r4) -/* 8031963C 98 A3 00 00 */ stb r5, 0(r3) -/* 80319640 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319644 80 64 00 08 */ lwz r3, 8(r4) -/* 80319648 38 03 00 01 */ addi r0, r3, 1 -/* 8031964C 90 04 00 08 */ stw r0, 8(r4) -/* 80319650 98 C3 00 00 */ stb r6, 0(r3) -/* 80319654 80 DE 00 08 */ lwz r6, 8(r30) -/* 80319658 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 8031965C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319660 80 64 00 08 */ lwz r3, 8(r4) -/* 80319664 38 03 00 01 */ addi r0, r3, 1 -/* 80319668 90 04 00 08 */ stw r0, 8(r4) -/* 8031966C 98 A3 00 00 */ stb r5, 0(r3) -/* 80319670 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 80319674 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319678 80 64 00 08 */ lwz r3, 8(r4) -/* 8031967C 38 03 00 01 */ addi r0, r3, 1 -/* 80319680 90 04 00 08 */ stw r0, 8(r4) -/* 80319684 98 A3 00 00 */ stb r5, 0(r3) -/* 80319688 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 8031968C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319690 80 64 00 08 */ lwz r3, 8(r4) -/* 80319694 38 03 00 01 */ addi r0, r3, 1 -/* 80319698 90 04 00 08 */ stw r0, 8(r4) -/* 8031969C 98 A3 00 00 */ stb r5, 0(r3) -/* 803196A0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 803196A4 80 64 00 08 */ lwz r3, 8(r4) -/* 803196A8 38 03 00 01 */ addi r0, r3, 1 -/* 803196AC 90 04 00 08 */ stw r0, 8(r4) -/* 803196B0 98 C3 00 00 */ stb r6, 0(r3) -/* 803196B4 80 6D 94 00 */ lwz r3, __GDCurrentDL(r13) -/* 803196B8 80 03 00 08 */ lwz r0, 8(r3) -/* 803196BC 7F E3 FB 78 */ mr r3, r31 -/* 803196C0 7C 9F 00 50 */ subf r4, r31, r0 -/* 803196C4 48 02 1F 19 */ bl DCStoreRange -/* 803196C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803196CC 83 C1 00 08 */ lwz r30, 8(r1) -/* 803196D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803196D4 7C 08 03 A6 */ mtlr r0 -/* 803196D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 803196DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__21J3DColorBlockLightOffFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__21J3DColorBlockLightOffFv.s deleted file mode 100644 index d2002262ea..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__21J3DColorBlockLightOffFv.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_80318F00: -/* 80318F00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80318F04 7C 08 02 A6 */ mflr r0 -/* 80318F08 90 01 00 14 */ stw r0, 0x14(r1) -/* 80318F0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80318F10 93 C1 00 08 */ stw r30, 8(r1) -/* 80318F14 7C 7E 1B 78 */ mr r30, r3 -/* 80318F18 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318F1C 80 64 00 00 */ lwz r3, 0(r4) -/* 80318F20 80 1E 00 18 */ lwz r0, 0x18(r30) -/* 80318F24 7C 03 02 14 */ add r0, r3, r0 -/* 80318F28 90 04 00 08 */ stw r0, 8(r4) -/* 80318F2C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318F30 83 E4 00 08 */ lwz r31, 8(r4) -/* 80318F34 80 0D 83 E0 */ lwz r0, SizeOfLoadMatColors(r13) -/* 80318F38 7C 7F 02 14 */ add r3, r31, r0 -/* 80318F3C 80 04 00 0C */ lwz r0, 0xc(r4) -/* 80318F40 7C 03 00 40 */ cmplw r3, r0 -/* 80318F44 40 81 00 08 */ ble lbl_80318F4C -/* 80318F48 48 04 81 8D */ bl GDOverflowed -lbl_80318F4C: -/* 80318F4C 38 C0 00 10 */ li r6, 0x10 -/* 80318F50 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318F54 80 64 00 08 */ lwz r3, 8(r4) -/* 80318F58 38 03 00 01 */ addi r0, r3, 1 -/* 80318F5C 90 04 00 08 */ stw r0, 8(r4) -/* 80318F60 98 C3 00 00 */ stb r6, 0(r3) -/* 80318F64 38 A0 00 00 */ li r5, 0 -/* 80318F68 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318F6C 80 64 00 08 */ lwz r3, 8(r4) -/* 80318F70 38 03 00 01 */ addi r0, r3, 1 -/* 80318F74 90 04 00 08 */ stw r0, 8(r4) -/* 80318F78 98 A3 00 00 */ stb r5, 0(r3) -/* 80318F7C 38 A0 00 01 */ li r5, 1 -/* 80318F80 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318F84 80 64 00 08 */ lwz r3, 8(r4) -/* 80318F88 38 03 00 01 */ addi r0, r3, 1 -/* 80318F8C 90 04 00 08 */ stw r0, 8(r4) -/* 80318F90 98 A3 00 00 */ stb r5, 0(r3) -/* 80318F94 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318F98 80 64 00 08 */ lwz r3, 8(r4) -/* 80318F9C 38 03 00 01 */ addi r0, r3, 1 -/* 80318FA0 90 04 00 08 */ stw r0, 8(r4) -/* 80318FA4 98 C3 00 00 */ stb r6, 0(r3) -/* 80318FA8 38 A0 00 0C */ li r5, 0xc -/* 80318FAC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318FB0 80 64 00 08 */ lwz r3, 8(r4) -/* 80318FB4 38 03 00 01 */ addi r0, r3, 1 -/* 80318FB8 90 04 00 08 */ stw r0, 8(r4) -/* 80318FBC 98 A3 00 00 */ stb r5, 0(r3) -/* 80318FC0 80 DE 00 04 */ lwz r6, 4(r30) -/* 80318FC4 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 80318FC8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318FCC 80 64 00 08 */ lwz r3, 8(r4) -/* 80318FD0 38 03 00 01 */ addi r0, r3, 1 -/* 80318FD4 90 04 00 08 */ stw r0, 8(r4) -/* 80318FD8 98 A3 00 00 */ stb r5, 0(r3) -/* 80318FDC 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 80318FE0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318FE4 80 64 00 08 */ lwz r3, 8(r4) -/* 80318FE8 38 03 00 01 */ addi r0, r3, 1 -/* 80318FEC 90 04 00 08 */ stw r0, 8(r4) -/* 80318FF0 98 A3 00 00 */ stb r5, 0(r3) -/* 80318FF4 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 80318FF8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80318FFC 80 64 00 08 */ lwz r3, 8(r4) -/* 80319000 38 03 00 01 */ addi r0, r3, 1 -/* 80319004 90 04 00 08 */ stw r0, 8(r4) -/* 80319008 98 A3 00 00 */ stb r5, 0(r3) -/* 8031900C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319010 80 64 00 08 */ lwz r3, 8(r4) -/* 80319014 38 03 00 01 */ addi r0, r3, 1 -/* 80319018 90 04 00 08 */ stw r0, 8(r4) -/* 8031901C 98 C3 00 00 */ stb r6, 0(r3) -/* 80319020 80 DE 00 08 */ lwz r6, 8(r30) -/* 80319024 54 C5 46 3E */ srwi r5, r6, 0x18 -/* 80319028 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031902C 80 64 00 08 */ lwz r3, 8(r4) -/* 80319030 38 03 00 01 */ addi r0, r3, 1 -/* 80319034 90 04 00 08 */ stw r0, 8(r4) -/* 80319038 98 A3 00 00 */ stb r5, 0(r3) -/* 8031903C 54 C5 86 3E */ rlwinm r5, r6, 0x10, 0x18, 0x1f -/* 80319040 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319044 80 64 00 08 */ lwz r3, 8(r4) -/* 80319048 38 03 00 01 */ addi r0, r3, 1 -/* 8031904C 90 04 00 08 */ stw r0, 8(r4) -/* 80319050 98 A3 00 00 */ stb r5, 0(r3) -/* 80319054 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f -/* 80319058 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031905C 80 64 00 08 */ lwz r3, 8(r4) -/* 80319060 38 03 00 01 */ addi r0, r3, 1 -/* 80319064 90 04 00 08 */ stw r0, 8(r4) -/* 80319068 98 A3 00 00 */ stb r5, 0(r3) -/* 8031906C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80319070 80 64 00 08 */ lwz r3, 8(r4) -/* 80319074 38 03 00 01 */ addi r0, r3, 1 -/* 80319078 90 04 00 08 */ stw r0, 8(r4) -/* 8031907C 98 C3 00 00 */ stb r6, 0(r3) -/* 80319080 80 6D 94 00 */ lwz r3, __GDCurrentDL(r13) -/* 80319084 80 03 00 08 */ lwz r0, 8(r3) -/* 80319088 7F E3 FB 78 */ mr r3, r31 -/* 8031908C 7C 9F 00 50 */ subf r4, r31, r0 -/* 80319090 48 02 25 4D */ bl DCStoreRange -/* 80319094 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80319098 83 C1 00 08 */ lwz r30, 8(r1) -/* 8031909C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803190A0 7C 08 03 A6 */ mtlr r0 -/* 803190A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 803190A8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/patch__20J3DColorBlockLightOnFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/patch__20J3DColorBlockLightOnFv.s deleted file mode 100644 index 13f1be49c7..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/patch__20J3DColorBlockLightOnFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_803194E8: -/* 803194E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803194EC 7C 08 02 A6 */ mflr r0 -/* 803194F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 803194F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803194F8 7C 7F 1B 78 */ mr r31, r3 -/* 803194FC 81 83 00 00 */ lwz r12, 0(r3) -/* 80319500 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80319504 7D 89 03 A6 */ mtctr r12 -/* 80319508 4E 80 04 21 */ bctrl -/* 8031950C 7F E3 FB 78 */ mr r3, r31 -/* 80319510 81 9F 00 00 */ lwz r12, 0(r31) -/* 80319514 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80319518 7D 89 03 A6 */ mtctr r12 -/* 8031951C 4E 80 04 21 */ bctrl -/* 80319520 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80319524 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80319528 7C 08 03 A6 */ mtlr r0 -/* 8031952C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80319530 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMatBlock/patch__21J3DTexGenBlockPatchedFv.s b/asm/JSystem/J3DGraphBase/J3DMatBlock/patch__21J3DTexGenBlockPatchedFv.s deleted file mode 100644 index 9a43e3c8c8..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMatBlock/patch__21J3DTexGenBlockPatchedFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8031AA88: -/* 8031AA88 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8031AA8C 7C 08 02 A6 */ mflr r0 -/* 8031AA90 90 01 00 24 */ stw r0, 0x24(r1) -/* 8031AA94 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031AA98 48 04 77 41 */ bl _savegpr_28 -/* 8031AA9C 7C 7C 1B 78 */ mr r28, r3 -/* 8031AAA0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 8031AAA4 80 64 00 00 */ lwz r3, 0(r4) -/* 8031AAA8 80 1C 00 58 */ lwz r0, 0x58(r28) -/* 8031AAAC 7C 03 02 14 */ add r0, r3, r0 -/* 8031AAB0 90 04 00 08 */ stw r0, 8(r4) -/* 8031AAB4 80 6D 94 00 */ lwz r3, __GDCurrentDL(r13) -/* 8031AAB8 83 C3 00 08 */ lwz r30, 8(r3) -/* 8031AABC 3B A0 00 00 */ li r29, 0 -/* 8031AAC0 3B E0 00 00 */ li r31, 0 -lbl_8031AAC4: -/* 8031AAC4 38 1F 00 38 */ addi r0, r31, 0x38 -/* 8031AAC8 7C 7C 00 2E */ lwzx r3, r28, r0 -/* 8031AACC 28 03 00 00 */ cmplwi r3, 0 -/* 8031AAD0 41 82 00 0C */ beq lbl_8031AADC -/* 8031AAD4 7F A4 EB 78 */ mr r4, r29 -/* 8031AAD8 48 00 8D ED */ bl load__9J3DTexMtxCFUl -lbl_8031AADC: -/* 8031AADC 3B BD 00 01 */ addi r29, r29, 1 -/* 8031AAE0 28 1D 00 08 */ cmplwi r29, 8 -/* 8031AAE4 3B FF 00 04 */ addi r31, r31, 4 -/* 8031AAE8 41 80 FF DC */ blt lbl_8031AAC4 -/* 8031AAEC 80 6D 94 00 */ lwz r3, __GDCurrentDL(r13) -/* 8031AAF0 80 03 00 08 */ lwz r0, 8(r3) -/* 8031AAF4 7F C3 F3 78 */ mr r3, r30 -/* 8031AAF8 7C 9E 00 50 */ subf r4, r30, r0 -/* 8031AAFC 48 02 0A E1 */ bl DCStoreRange -/* 8031AB00 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031AB04 48 04 77 21 */ bl _restgpr_28 -/* 8031AB08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8031AB0C 7C 08 03 A6 */ mtlr r0 -/* 8031AB10 38 21 00 20 */ addi r1, r1, 0x20 -/* 8031AB14 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/createPEBlock__11J3DMaterialFUlUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/createPEBlock__11J3DMaterialFUlUl.s deleted file mode 100644 index 0c951e490e..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/createPEBlock__11J3DMaterialFUlUl.s +++ /dev/null @@ -1,111 +0,0 @@ -lbl_80315F60: -/* 80315F60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80315F64 7C 08 02 A6 */ mflr r0 -/* 80315F68 90 01 00 14 */ stw r0, 0x14(r1) -/* 80315F6C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80315F70 3B E0 00 00 */ li r31, 0 -/* 80315F74 28 03 00 00 */ cmplwi r3, 0 -/* 80315F78 40 82 00 A0 */ bne lbl_80316018 -/* 80315F7C 54 80 07 FF */ clrlwi. r0, r4, 0x1f -/* 80315F80 41 82 00 30 */ beq lbl_80315FB0 -/* 80315F84 38 60 00 04 */ li r3, 4 -/* 80315F88 4B FB 8C C5 */ bl __nw__FUl -/* 80315F8C 28 03 00 00 */ cmplwi r3, 0 -/* 80315F90 41 82 01 5C */ beq lbl_803160EC -/* 80315F94 3C 80 80 3D */ lis r4, __vt__10J3DPEBlock@ha /* 0x803CDD20@ha */ -/* 80315F98 38 04 DD 20 */ addi r0, r4, __vt__10J3DPEBlock@l /* 0x803CDD20@l */ -/* 80315F9C 90 03 00 00 */ stw r0, 0(r3) -/* 80315FA0 3C 80 80 3D */ lis r4, __vt__13J3DPEBlockOpa@ha /* 0x803CE890@ha */ -/* 80315FA4 38 04 E8 90 */ addi r0, r4, __vt__13J3DPEBlockOpa@l /* 0x803CE890@l */ -/* 80315FA8 90 03 00 00 */ stw r0, 0(r3) -/* 80315FAC 48 00 01 40 */ b lbl_803160EC -lbl_80315FB0: -/* 80315FB0 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e -/* 80315FB4 41 82 00 30 */ beq lbl_80315FE4 -/* 80315FB8 38 60 00 04 */ li r3, 4 -/* 80315FBC 4B FB 8C 91 */ bl __nw__FUl -/* 80315FC0 28 03 00 00 */ cmplwi r3, 0 -/* 80315FC4 41 82 01 28 */ beq lbl_803160EC -/* 80315FC8 3C 80 80 3D */ lis r4, __vt__10J3DPEBlock@ha /* 0x803CDD20@ha */ -/* 80315FCC 38 04 DD 20 */ addi r0, r4, __vt__10J3DPEBlock@l /* 0x803CDD20@l */ -/* 80315FD0 90 03 00 00 */ stw r0, 0(r3) -/* 80315FD4 3C 80 80 3D */ lis r4, __vt__17J3DPEBlockTexEdge@ha /* 0x803CE814@ha */ -/* 80315FD8 38 04 E8 14 */ addi r0, r4, __vt__17J3DPEBlockTexEdge@l /* 0x803CE814@l */ -/* 80315FDC 90 03 00 00 */ stw r0, 0(r3) -/* 80315FE0 48 00 01 0C */ b lbl_803160EC -lbl_80315FE4: -/* 80315FE4 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 80315FE8 41 82 00 30 */ beq lbl_80316018 -/* 80315FEC 38 60 00 04 */ li r3, 4 -/* 80315FF0 4B FB 8C 5D */ bl __nw__FUl -/* 80315FF4 28 03 00 00 */ cmplwi r3, 0 -/* 80315FF8 41 82 00 F4 */ beq lbl_803160EC -/* 80315FFC 3C 80 80 3D */ lis r4, __vt__10J3DPEBlock@ha /* 0x803CDD20@ha */ -/* 80316000 38 04 DD 20 */ addi r0, r4, __vt__10J3DPEBlock@l /* 0x803CDD20@l */ -/* 80316004 90 03 00 00 */ stw r0, 0(r3) -/* 80316008 3C 80 80 3D */ lis r4, __vt__13J3DPEBlockXlu@ha /* 0x803CE798@ha */ -/* 8031600C 38 04 E7 98 */ addi r0, r4, __vt__13J3DPEBlockXlu@l /* 0x803CE798@l */ -/* 80316010 90 03 00 00 */ stw r0, 0(r3) -/* 80316014 48 00 00 D8 */ b lbl_803160EC -lbl_80316018: -/* 80316018 3C 03 F0 00 */ addis r0, r3, 0xf000 -/* 8031601C 28 00 00 00 */ cmplwi r0, 0 -/* 80316020 40 82 00 6C */ bne lbl_8031608C -/* 80316024 38 60 00 40 */ li r3, 0x40 -/* 80316028 4B FB 8C 25 */ bl __nw__FUl -/* 8031602C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80316030 41 82 00 B8 */ beq lbl_803160E8 -/* 80316034 3C 60 80 3D */ lis r3, __vt__10J3DPEBlock@ha /* 0x803CDD20@ha */ -/* 80316038 38 03 DD 20 */ addi r0, r3, __vt__10J3DPEBlock@l /* 0x803CDD20@l */ -/* 8031603C 90 1F 00 00 */ stw r0, 0(r31) -/* 80316040 3C 60 80 3D */ lis r3, __vt__14J3DPEBlockFull@ha /* 0x803CDFF0@ha */ -/* 80316044 38 03 DF F0 */ addi r0, r3, __vt__14J3DPEBlockFull@l /* 0x803CDFF0@l */ -/* 80316048 90 1F 00 00 */ stw r0, 0(r31) -/* 8031604C 38 7F 00 04 */ addi r3, r31, 4 -/* 80316050 3C 80 80 3A */ lis r4, j3dDefaultFogInfo@ha /* 0x803A1FBC@ha */ -/* 80316054 38 84 1F BC */ addi r4, r4, j3dDefaultFogInfo@l /* 0x803A1FBC@l */ -/* 80316058 48 00 F7 A9 */ bl __as__10J3DFogInfoFRC10J3DFogInfo -/* 8031605C A0 02 C9 FA */ lhz r0, j3dDefaultAlphaCmpID(r2) -/* 80316060 B0 1F 00 30 */ sth r0, 0x30(r31) -/* 80316064 38 00 00 00 */ li r0, 0 -/* 80316068 98 1F 00 32 */ stb r0, 0x32(r31) -/* 8031606C 98 1F 00 33 */ stb r0, 0x33(r31) -/* 80316070 80 02 C9 EC */ lwz r0, j3dDefaultBlendInfo(r2) -/* 80316074 90 1F 00 34 */ stw r0, 0x34(r31) -/* 80316078 A0 02 C9 FC */ lhz r0, j3dDefaultZModeID(r2) -/* 8031607C B0 1F 00 38 */ sth r0, 0x38(r31) -/* 80316080 7F E3 FB 78 */ mr r3, r31 -/* 80316084 48 00 1A D5 */ bl initialize__14J3DPEBlockFullFv -/* 80316088 48 00 00 60 */ b lbl_803160E8 -lbl_8031608C: -/* 8031608C 3C 03 E0 00 */ addis r0, r3, 0xe000 -/* 80316090 28 00 00 00 */ cmplwi r0, 0 -/* 80316094 40 82 00 54 */ bne lbl_803160E8 -/* 80316098 38 60 00 10 */ li r3, 0x10 -/* 8031609C 4B FB 8B B1 */ bl __nw__FUl -/* 803160A0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 803160A4 41 82 00 44 */ beq lbl_803160E8 -/* 803160A8 3C 80 80 3D */ lis r4, __vt__10J3DPEBlock@ha /* 0x803CDD20@ha */ -/* 803160AC 38 04 DD 20 */ addi r0, r4, __vt__10J3DPEBlock@l /* 0x803CDD20@l */ -/* 803160B0 90 1F 00 00 */ stw r0, 0(r31) -/* 803160B4 3C 80 80 3D */ lis r4, __vt__16J3DPEBlockFogOff@ha /* 0x803CE06C@ha */ -/* 803160B8 38 04 E0 6C */ addi r0, r4, __vt__16J3DPEBlockFogOff@l /* 0x803CE06C@l */ -/* 803160BC 90 1F 00 00 */ stw r0, 0(r31) -/* 803160C0 A0 02 C9 FA */ lhz r0, j3dDefaultAlphaCmpID(r2) -/* 803160C4 B0 1F 00 04 */ sth r0, 4(r31) -/* 803160C8 38 00 00 00 */ li r0, 0 -/* 803160CC 98 1F 00 06 */ stb r0, 6(r31) -/* 803160D0 98 1F 00 07 */ stb r0, 7(r31) -/* 803160D4 80 02 C9 EC */ lwz r0, j3dDefaultBlendInfo(r2) -/* 803160D8 90 1F 00 08 */ stw r0, 8(r31) -/* 803160DC A0 02 C9 FC */ lhz r0, j3dDefaultZModeID(r2) -/* 803160E0 B0 1F 00 0C */ sth r0, 0xc(r31) -/* 803160E4 48 00 1A 51 */ bl initialize__16J3DPEBlockFogOffFv -lbl_803160E8: -/* 803160E8 7F E3 FB 78 */ mr r3, r31 -lbl_803160EC: -/* 803160EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803160F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803160F4 7C 08 03 A6 */ mtlr r0 -/* 803160F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 803160FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DTevs/load__11J3DLightObjCFUl.s b/asm/JSystem/J3DGraphBase/J3DTevs/load__11J3DLightObjCFUl.s deleted file mode 100644 index 057b25d31e..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DTevs/load__11J3DLightObjCFUl.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_80323590: -/* 80323590 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80323594 7C 08 02 A6 */ mflr r0 -/* 80323598 90 01 00 24 */ stw r0, 0x24(r1) -/* 8032359C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803235A0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803235A4 7C 7E 1B 78 */ mr r30, r3 -/* 803235A8 7C 9F 23 78 */ mr r31, r4 -/* 803235AC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 803235B0 80 64 00 08 */ lwz r3, 8(r4) -/* 803235B4 38 63 00 48 */ addi r3, r3, 0x48 -/* 803235B8 80 04 00 0C */ lwz r0, 0xc(r4) -/* 803235BC 7C 03 00 40 */ cmplw r3, r0 -/* 803235C0 40 81 00 08 */ ble lbl_803235C8 -/* 803235C4 48 03 DB 11 */ bl GDOverflowed -lbl_803235C8: -/* 803235C8 38 00 00 01 */ li r0, 1 -/* 803235CC 7C 1F F8 30 */ slw r31, r0, r31 -/* 803235D0 7F E3 FB 78 */ mr r3, r31 -/* 803235D4 C0 3E 00 00 */ lfs f1, 0(r30) -/* 803235D8 C0 5E 00 04 */ lfs f2, 4(r30) -/* 803235DC C0 7E 00 08 */ lfs f3, 8(r30) -/* 803235E0 4B FE A1 8D */ bl J3DGDSetLightPos__F10_GXLightIDfff -/* 803235E4 7F E3 FB 78 */ mr r3, r31 -/* 803235E8 C0 3E 00 1C */ lfs f1, 0x1c(r30) -/* 803235EC C0 5E 00 20 */ lfs f2, 0x20(r30) -/* 803235F0 C0 7E 00 24 */ lfs f3, 0x24(r30) -/* 803235F4 C0 9E 00 28 */ lfs f4, 0x28(r30) -/* 803235F8 C0 BE 00 2C */ lfs f5, 0x2c(r30) -/* 803235FC C0 DE 00 30 */ lfs f6, 0x30(r30) -/* 80323600 4B FE 9D 65 */ bl J3DGDSetLightAttn__F10_GXLightIDffffff -/* 80323604 80 1E 00 18 */ lwz r0, 0x18(r30) -/* 80323608 90 01 00 08 */ stw r0, 8(r1) -/* 8032360C 7F E3 FB 78 */ mr r3, r31 -/* 80323610 38 81 00 08 */ addi r4, r1, 8 -/* 80323614 4B FE A0 49 */ bl J3DGDSetLightColor__F10_GXLightID8_GXColor -/* 80323618 7F E3 FB 78 */ mr r3, r31 -/* 8032361C C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 80323620 C0 5E 00 10 */ lfs f2, 0x10(r30) -/* 80323624 C0 7E 00 14 */ lfs f3, 0x14(r30) -/* 80323628 4B FE A3 11 */ bl J3DGDSetLightDir__F10_GXLightIDfff -/* 8032362C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80323630 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80323634 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80323638 7C 08 03 A6 */ mtlr r0 -/* 8032363C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80323640 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DTevs/makeTexCoordTable__Fv.s b/asm/JSystem/J3DGraphBase/J3DTevs/makeTexCoordTable__Fv.s deleted file mode 100644 index 40eb271804..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DTevs/makeTexCoordTable__Fv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80324194: -/* 80324194 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80324198 3C 60 80 3A */ lis r3, lit_1197@ha /* 0x803A1FF8@ha */ -/* 8032419C 38 83 1F F8 */ addi r4, r3, lit_1197@l /* 0x803A1FF8@l */ -/* 803241A0 80 64 00 00 */ lwz r3, 0(r4) -/* 803241A4 80 04 00 04 */ lwz r0, 4(r4) -/* 803241A8 90 61 00 08 */ stw r3, 8(r1) -/* 803241AC 90 01 00 0C */ stw r0, 0xc(r1) -/* 803241B0 A0 04 00 08 */ lhz r0, 8(r4) -/* 803241B4 B0 01 00 10 */ sth r0, 0x10(r1) -/* 803241B8 88 04 00 0A */ lbz r0, 0xa(r4) -/* 803241BC 98 01 00 12 */ stb r0, 0x12(r1) -/* 803241C0 3C 60 80 43 */ lis r3, j3dTexCoordTable@ha /* 0x80434C98@ha */ -/* 803241C4 38 C3 4C 98 */ addi r6, r3, j3dTexCoordTable@l /* 0x80434C98@l */ -/* 803241C8 39 20 00 00 */ li r9, 0 -/* 803241CC 38 60 00 00 */ li r3, 0 -lbl_803241D0: -/* 803241D0 39 40 00 00 */ li r10, 0 -/* 803241D4 38 80 00 00 */ li r4, 0 -lbl_803241D8: -/* 803241D8 39 60 00 00 */ li r11, 0 -/* 803241DC 7C E4 1A 14 */ add r7, r4, r3 -/* 803241E0 38 A1 00 08 */ addi r5, r1, 8 -/* 803241E4 38 00 00 0B */ li r0, 0xb -/* 803241E8 7C 09 03 A6 */ mtctr r0 -lbl_803241EC: -/* 803241EC 7C 0B 3A 14 */ add r0, r11, r7 -/* 803241F0 1C 00 00 03 */ mulli r0, r0, 3 -/* 803241F4 7D 06 02 14 */ add r8, r6, r0 -/* 803241F8 99 28 00 00 */ stb r9, 0(r8) -/* 803241FC 99 48 00 01 */ stb r10, 1(r8) -/* 80324200 88 05 00 00 */ lbz r0, 0(r5) -/* 80324204 98 08 00 02 */ stb r0, 2(r8) -/* 80324208 39 6B 00 01 */ addi r11, r11, 1 -/* 8032420C 38 A5 00 01 */ addi r5, r5, 1 -/* 80324210 42 00 FF DC */ bdnz lbl_803241EC -/* 80324214 39 4A 00 01 */ addi r10, r10, 1 -/* 80324218 28 0A 00 15 */ cmplwi r10, 0x15 -/* 8032421C 38 84 00 0B */ addi r4, r4, 0xb -/* 80324220 41 80 FF B8 */ blt lbl_803241D8 -/* 80324224 39 29 00 01 */ addi r9, r9, 1 -/* 80324228 28 09 00 0B */ cmplwi r9, 0xb -/* 8032422C 38 63 00 E7 */ addi r3, r3, 0xe7 -/* 80324230 41 80 FF A0 */ blt lbl_803241D0 -/* 80324234 38 21 00 20 */ addi r1, r1, 0x20 -/* 80324238 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DTevs/makeZModeTable__Fv.s b/asm/JSystem/J3DGraphBase/J3DTevs/makeZModeTable__Fv.s deleted file mode 100644 index 0c0e94ad24..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DTevs/makeZModeTable__Fv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_803242A8: -/* 803242A8 3C 60 80 43 */ lis r3, j3dZModeTable@ha /* 0x80437160@ha */ -/* 803242AC 38 A3 71 60 */ addi r5, r3, j3dZModeTable@l /* 0x80437160@l */ -/* 803242B0 39 00 00 00 */ li r8, 0 -/* 803242B4 38 60 00 00 */ li r3, 0 -lbl_803242B8: -/* 803242B8 39 20 00 00 */ li r9, 0 -/* 803242BC 38 80 00 00 */ li r4, 0 -lbl_803242C0: -/* 803242C0 39 40 00 00 */ li r10, 0 -/* 803242C4 7C C4 1A 14 */ add r6, r4, r3 -/* 803242C8 38 00 00 02 */ li r0, 2 -/* 803242CC 7C 09 03 A6 */ mtctr r0 -lbl_803242D0: -/* 803242D0 7C 0A 32 14 */ add r0, r10, r6 -/* 803242D4 1C 00 00 03 */ mulli r0, r0, 3 -/* 803242D8 7C E5 02 14 */ add r7, r5, r0 -/* 803242DC 99 07 00 00 */ stb r8, 0(r7) -/* 803242E0 99 27 00 01 */ stb r9, 1(r7) -/* 803242E4 99 47 00 02 */ stb r10, 2(r7) -/* 803242E8 39 4A 00 01 */ addi r10, r10, 1 -/* 803242EC 42 00 FF E4 */ bdnz lbl_803242D0 -/* 803242F0 39 29 00 01 */ addi r9, r9, 1 -/* 803242F4 28 09 00 08 */ cmplwi r9, 8 -/* 803242F8 38 84 00 02 */ addi r4, r4, 2 -/* 803242FC 41 80 FF C4 */ blt lbl_803242C0 -/* 80324300 39 08 00 01 */ addi r8, r8, 1 -/* 80324304 2C 08 00 02 */ cmpwi r8, 2 -/* 80324308 38 63 00 10 */ addi r3, r3, 0x10 -/* 8032430C 41 80 FF AC */ blt lbl_803242B8 -/* 80324310 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DTransform/J3DGQRSetup7__FUlUlUlUl.s b/asm/JSystem/J3DGraphBase/J3DTransform/J3DGQRSetup7__FUlUlUlUl.s deleted file mode 100644 index fa62347aef..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DTransform/J3DGQRSetup7__FUlUlUlUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80311638: -/* 80311638 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031163C 7C 08 02 A6 */ mflr r0 -/* 80311640 90 01 00 14 */ stw r0, 0x14(r1) -/* 80311644 54 60 40 2E */ slwi r0, r3, 8 -/* 80311648 7C 00 22 14 */ add r0, r0, r4 -/* 8031164C 54 03 80 1E */ slwi r3, r0, 0x10 -/* 80311650 54 A0 40 2E */ slwi r0, r5, 8 -/* 80311654 7C 00 32 14 */ add r0, r0, r6 -/* 80311658 7C 63 03 78 */ or r3, r3, r0 -/* 8031165C 4B FF FF D5 */ bl __MTGQR7__FUl -/* 80311660 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80311664 7C 08 03 A6 */ mtlr r0 -/* 80311668 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031166C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f.s b/asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f.s deleted file mode 100644 index 367ae1869b..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80311964: -/* 80311964 A8 03 00 0C */ lha r0, 0xc(r3) -/* 80311968 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8031196C 3C A0 80 44 */ lis r5, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80311970 38 A5 9A 20 */ addi r5, r5, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80311974 7C 25 04 2E */ lfsx f1, r5, r0 -/* 80311978 38 C5 00 04 */ addi r6, r5, 4 -/* 8031197C 7C 46 04 2E */ lfsx f2, r6, r0 -/* 80311980 A8 03 00 0E */ lha r0, 0xe(r3) -/* 80311984 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80311988 7C 65 04 2E */ lfsx f3, r5, r0 -/* 8031198C 7C 86 04 2E */ lfsx f4, r6, r0 -/* 80311990 A8 03 00 10 */ lha r0, 0x10(r3) -/* 80311994 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80311998 7C A5 04 2E */ lfsx f5, r5, r0 -/* 8031199C 7C C6 04 2E */ lfsx f6, r6, r0 -/* 803119A0 FC 00 18 50 */ fneg f0, f3 -/* 803119A4 D0 04 00 20 */ stfs f0, 0x20(r4) -/* 803119A8 EC 06 01 32 */ fmuls f0, f6, f4 -/* 803119AC D0 04 00 00 */ stfs f0, 0(r4) -/* 803119B0 EC 05 01 32 */ fmuls f0, f5, f4 -/* 803119B4 D0 04 00 10 */ stfs f0, 0x10(r4) -/* 803119B8 EC 04 00 72 */ fmuls f0, f4, f1 -/* 803119BC D0 04 00 24 */ stfs f0, 0x24(r4) -/* 803119C0 EC 04 00 B2 */ fmuls f0, f4, f2 -/* 803119C4 D0 04 00 28 */ stfs f0, 0x28(r4) -/* 803119C8 EC 82 01 72 */ fmuls f4, f2, f5 -/* 803119CC EC E1 01 B2 */ fmuls f7, f1, f6 -/* 803119D0 EC 07 00 F2 */ fmuls f0, f7, f3 -/* 803119D4 EC 00 20 28 */ fsubs f0, f0, f4 -/* 803119D8 D0 04 00 04 */ stfs f0, 4(r4) -/* 803119DC EC 04 00 F2 */ fmuls f0, f4, f3 -/* 803119E0 EC 00 38 28 */ fsubs f0, f0, f7 -/* 803119E4 D0 04 00 18 */ stfs f0, 0x18(r4) -/* 803119E8 EC 21 01 72 */ fmuls f1, f1, f5 -/* 803119EC EC 42 01 B2 */ fmuls f2, f2, f6 -/* 803119F0 EC 02 00 F2 */ fmuls f0, f2, f3 -/* 803119F4 EC 01 00 2A */ fadds f0, f1, f0 -/* 803119F8 D0 04 00 08 */ stfs f0, 8(r4) -/* 803119FC EC 01 00 F2 */ fmuls f0, f1, f3 -/* 80311A00 EC 02 00 2A */ fadds f0, f2, f0 -/* 80311A04 D0 04 00 14 */ stfs f0, 0x14(r4) -/* 80311A08 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 80311A0C D0 04 00 0C */ stfs f0, 0xc(r4) -/* 80311A10 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 80311A14 D0 04 00 1C */ stfs f0, 0x1c(r4) -/* 80311A18 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80311A1C D0 04 00 2C */ stfs f0, 0x2c(r4) -/* 80311A20 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FsssfffPA4_f.s b/asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FsssfffPA4_f.s deleted file mode 100644 index 13368af4d1..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FsssfffPA4_f.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80311A24: -/* 80311A24 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c -/* 80311A28 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80311A2C 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80311A30 7C 83 04 2E */ lfsx f4, r3, r0 -/* 80311A34 38 E3 00 04 */ addi r7, r3, 4 -/* 80311A38 7C A7 04 2E */ lfsx f5, r7, r0 -/* 80311A3C 54 80 04 38 */ rlwinm r0, r4, 0, 0x10, 0x1c -/* 80311A40 7C C3 04 2E */ lfsx f6, r3, r0 -/* 80311A44 7C E7 04 2E */ lfsx f7, r7, r0 -/* 80311A48 54 A0 04 38 */ rlwinm r0, r5, 0, 0x10, 0x1c -/* 80311A4C 7D 03 04 2E */ lfsx f8, r3, r0 -/* 80311A50 7D 27 04 2E */ lfsx f9, r7, r0 -/* 80311A54 FC 00 30 50 */ fneg f0, f6 -/* 80311A58 D0 06 00 20 */ stfs f0, 0x20(r6) -/* 80311A5C EC 09 01 F2 */ fmuls f0, f9, f7 -/* 80311A60 D0 06 00 00 */ stfs f0, 0(r6) -/* 80311A64 EC 08 01 F2 */ fmuls f0, f8, f7 -/* 80311A68 D0 06 00 10 */ stfs f0, 0x10(r6) -/* 80311A6C EC 07 01 32 */ fmuls f0, f7, f4 -/* 80311A70 D0 06 00 24 */ stfs f0, 0x24(r6) -/* 80311A74 EC 07 01 72 */ fmuls f0, f7, f5 -/* 80311A78 D0 06 00 28 */ stfs f0, 0x28(r6) -/* 80311A7C EC E5 02 32 */ fmuls f7, f5, f8 -/* 80311A80 ED 44 02 72 */ fmuls f10, f4, f9 -/* 80311A84 EC 0A 01 B2 */ fmuls f0, f10, f6 -/* 80311A88 EC 00 38 28 */ fsubs f0, f0, f7 -/* 80311A8C D0 06 00 04 */ stfs f0, 4(r6) -/* 80311A90 EC 07 01 B2 */ fmuls f0, f7, f6 -/* 80311A94 EC 00 50 28 */ fsubs f0, f0, f10 -/* 80311A98 D0 06 00 18 */ stfs f0, 0x18(r6) -/* 80311A9C EC 84 02 32 */ fmuls f4, f4, f8 -/* 80311AA0 EC A5 02 72 */ fmuls f5, f5, f9 -/* 80311AA4 EC 05 01 B2 */ fmuls f0, f5, f6 -/* 80311AA8 EC 04 00 2A */ fadds f0, f4, f0 -/* 80311AAC D0 06 00 08 */ stfs f0, 8(r6) -/* 80311AB0 EC 04 01 B2 */ fmuls f0, f4, f6 -/* 80311AB4 EC 05 00 2A */ fadds f0, f5, f0 -/* 80311AB8 D0 06 00 14 */ stfs f0, 0x14(r6) -/* 80311ABC D0 26 00 0C */ stfs f1, 0xc(r6) -/* 80311AC0 D0 46 00 1C */ stfs f2, 0x1c(r6) -/* 80311AC4 D0 66 00 2C */ stfs f3, 0x2c(r6) -/* 80311AC8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData.s deleted file mode 100644 index 69a2a8b580..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_803393C4: -/* 803393C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803393C8 7C 08 02 A6 */ mflr r0 -/* 803393CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 803393D0 7C 85 23 78 */ mr r5, r4 -/* 803393D4 80 83 00 04 */ lwz r4, 4(r3) -/* 803393D8 48 00 00 15 */ bl setAnmCluster__19J3DAnmKeyLoader_v15FP16J3DAnmClusterKeyPC20J3DAnmClusterKeyData -/* 803393DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803393E0 7C 08 03 A6 */ mtlr r0 -/* 803393E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 803393E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData.s deleted file mode 100644 index 1a7a98c8fe..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80338B20: -/* 80338B20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80338B24 7C 08 02 A6 */ mflr r0 -/* 80338B28 90 01 00 14 */ stw r0, 0x14(r1) -/* 80338B2C 7C 85 23 78 */ mr r5, r4 -/* 80338B30 80 83 00 04 */ lwz r4, 4(r3) -/* 80338B34 48 00 00 15 */ bl setAnmCluster__20J3DAnmFullLoader_v15FP17J3DAnmClusterFullPC21J3DAnmClusterFullData -/* 80338B38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80338B3C 7C 08 03 A6 */ mtlr r0 -/* 80338B40 38 21 00 10 */ addi r1, r1, 0x10 -/* 80338B44 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData.s deleted file mode 100644 index 4241141a5f..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_803392B0: -/* 803392B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803392B4 7C 08 02 A6 */ mflr r0 -/* 803392B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803392BC 7C 85 23 78 */ mr r5, r4 -/* 803392C0 80 83 00 04 */ lwz r4, 4(r3) -/* 803392C4 48 00 00 15 */ bl setAnmColor__19J3DAnmKeyLoader_v15FP14J3DAnmColorKeyPC18J3DAnmColorKeyData -/* 803392C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803392CC 7C 08 03 A6 */ mtlr r0 -/* 803392D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 803392D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData.s deleted file mode 100644 index 6660d8f69e..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_803388BC: -/* 803388BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803388C0 7C 08 02 A6 */ mflr r0 -/* 803388C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 803388C8 7C 85 23 78 */ mr r5, r4 -/* 803388CC 80 83 00 04 */ lwz r4, 4(r3) -/* 803388D0 48 00 00 15 */ bl setAnmColor__20J3DAnmFullLoader_v15FP15J3DAnmColorFullPC19J3DAnmColorFullData -/* 803388D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803388D8 7C 08 03 A6 */ mtlr r0 -/* 803388DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 803388E0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData.s deleted file mode 100644 index 9331af0639..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80339458: -/* 80339458 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8033945C 7C 08 02 A6 */ mflr r0 -/* 80339460 90 01 00 14 */ stw r0, 0x14(r1) -/* 80339464 7C 85 23 78 */ mr r5, r4 -/* 80339468 80 83 00 04 */ lwz r4, 4(r3) -/* 8033946C 48 00 00 15 */ bl setAnmTevReg__19J3DAnmKeyLoader_v15FP15J3DAnmTevRegKeyPC19J3DAnmTevRegKeyData -/* 80339470 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80339474 7C 08 03 A6 */ mtlr r0 -/* 80339478 38 21 00 10 */ addi r1, r1, 0x10 -/* 8033947C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData.s deleted file mode 100644 index 1976dc150e..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_803389B0: -/* 803389B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803389B4 7C 08 02 A6 */ mflr r0 -/* 803389B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803389BC 7C 85 23 78 */ mr r5, r4 -/* 803389C0 80 83 00 04 */ lwz r4, 4(r3) -/* 803389C4 48 00 00 15 */ bl setAnmTexPattern__20J3DAnmFullLoader_v15FP16J3DAnmTexPatternPC24J3DAnmTexPatternFullData -/* 803389C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803389CC 7C 08 03 A6 */ mtlr r0 -/* 803389D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 803389D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData.s deleted file mode 100644 index 713c67a806..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_803390B0: -/* 803390B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803390B4 7C 08 02 A6 */ mflr r0 -/* 803390B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803390BC 7C 85 23 78 */ mr r5, r4 -/* 803390C0 80 83 00 04 */ lwz r4, 4(r3) -/* 803390C4 48 00 00 15 */ bl setAnmTextureSRT__19J3DAnmKeyLoader_v15FP19J3DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData -/* 803390C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803390CC 7C 08 03 A6 */ mtlr r0 -/* 803390D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 803390D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData.s deleted file mode 100644 index def6e68026..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80338FEC: -/* 80338FEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80338FF0 7C 08 02 A6 */ mflr r0 -/* 80338FF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80338FF8 7C 85 23 78 */ mr r5, r4 -/* 80338FFC 80 83 00 04 */ lwz r4, 4(r3) -/* 80339000 48 00 00 15 */ bl setAnmTransform__19J3DAnmKeyLoader_v15FP18J3DAnmTransformKeyPC22J3DAnmTransformKeyData -/* 80339004 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80339008 7C 08 03 A6 */ mtlr r0 -/* 8033900C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80339010 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData.s deleted file mode 100644 index 541d8ed21c..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80338800: -/* 80338800 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80338804 7C 08 02 A6 */ mflr r0 -/* 80338808 90 01 00 14 */ stw r0, 0x14(r1) -/* 8033880C 7C 85 23 78 */ mr r5, r4 -/* 80338810 80 83 00 04 */ lwz r4, 4(r3) -/* 80338814 48 00 00 15 */ bl setAnmTransform__20J3DAnmFullLoader_v15FP19J3DAnmTransformFullPC23J3DAnmTransformFullData -/* 80338818 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8033881C 7C 08 03 A6 */ mtlr r0 -/* 80338820 38 21 00 10 */ addi r1, r1, 0x10 -/* 80338824 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData.s deleted file mode 100644 index a50f9b241d..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80338A7C: -/* 80338A7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80338A80 7C 08 02 A6 */ mflr r0 -/* 80338A84 90 01 00 14 */ stw r0, 0x14(r1) -/* 80338A88 7C 85 23 78 */ mr r5, r4 -/* 80338A8C 80 83 00 04 */ lwz r4, 4(r3) -/* 80338A90 48 00 00 15 */ bl setAnmVisibility__20J3DAnmFullLoader_v15FP20J3DAnmVisibilityFullPC24J3DAnmVisibilityFullData -/* 80338A94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80338A98 7C 08 03 A6 */ mtlr r0 -/* 80338A9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80338AA0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData.s deleted file mode 100644 index a5c95559d1..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8033960C: -/* 8033960C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80339610 7C 08 02 A6 */ mflr r0 -/* 80339614 90 01 00 14 */ stw r0, 0x14(r1) -/* 80339618 7C 85 23 78 */ mr r5, r4 -/* 8033961C 80 83 00 04 */ lwz r4, 4(r3) -/* 80339620 48 00 00 15 */ bl setAnmVtxColor__19J3DAnmKeyLoader_v15FP17J3DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData -/* 80339624 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80339628 7C 08 03 A6 */ mtlr r0 -/* 8033962C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80339630 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData.s deleted file mode 100644 index 5e7db44615..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80338BB4: -/* 80338BB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80338BB8 7C 08 02 A6 */ mflr r0 -/* 80338BBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80338BC0 7C 85 23 78 */ mr r5, r4 -/* 80338BC4 80 83 00 04 */ lwz r4, 4(r3) -/* 80338BC8 48 00 00 15 */ bl setAnmVtxColor__20J3DAnmFullLoader_v15FP18J3DAnmVtxColorFullPC22J3DAnmVtxColorFullData -/* 80338BCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80338BD0 7C 08 03 A6 */ mtlr r0 -/* 80338BD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80338BD8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv.s deleted file mode 100644 index 42e8d0caf5..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_80338E8C: -/* 80338E8C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80338E90 7C 08 02 A6 */ mflr r0 -/* 80338E94 90 01 00 24 */ stw r0, 0x24(r1) -/* 80338E98 39 61 00 20 */ addi r11, r1, 0x20 -/* 80338E9C 48 02 93 35 */ bl _savegpr_26 -/* 80338EA0 7C 7B 1B 78 */ mr r27, r3 -/* 80338EA4 7C 9C 23 78 */ mr r28, r4 -/* 80338EA8 3B C5 00 20 */ addi r30, r5, 0x20 -/* 80338EAC 3B A0 00 00 */ li r29, 0 -/* 80338EB0 3C 60 54 52 */ lis r3, 0x5452 /* 0x54524B31@ha */ -/* 80338EB4 3B E3 4B 31 */ addi r31, r3, 0x4B31 /* 0x54524B31@l */ -/* 80338EB8 83 45 00 0C */ lwz r26, 0xc(r5) -/* 80338EBC 48 00 01 10 */ b lbl_80338FCC -lbl_80338EC0: -/* 80338EC0 80 9E 00 00 */ lwz r4, 0(r30) -/* 80338EC4 7C 04 F8 00 */ cmpw r4, r31 -/* 80338EC8 41 82 00 BC */ beq lbl_80338F84 -/* 80338ECC 40 80 00 40 */ bge lbl_80338F0C -/* 80338ED0 3C 60 43 4C */ lis r3, 0x434C /* 0x434C4B31@ha */ -/* 80338ED4 38 03 4B 31 */ addi r0, r3, 0x4B31 /* 0x434C4B31@l */ -/* 80338ED8 7C 04 00 00 */ cmpw r4, r0 -/* 80338EDC 41 82 00 80 */ beq lbl_80338F5C -/* 80338EE0 40 80 00 18 */ bge lbl_80338EF8 -/* 80338EE4 3C 60 41 4E */ lis r3, 0x414E /* 0x414E4B31@ha */ -/* 80338EE8 38 03 4B 31 */ addi r0, r3, 0x4B31 /* 0x414E4B31@l */ -/* 80338EEC 7C 04 00 00 */ cmpw r4, r0 -/* 80338EF0 41 82 00 44 */ beq lbl_80338F34 -/* 80338EF4 48 00 00 B8 */ b lbl_80338FAC -lbl_80338EF8: -/* 80338EF8 3C 60 50 41 */ lis r3, 0x5041 /* 0x50414B31@ha */ -/* 80338EFC 38 03 4B 31 */ addi r0, r3, 0x4B31 /* 0x50414B31@l */ -/* 80338F00 7C 04 00 00 */ cmpw r4, r0 -/* 80338F04 41 82 00 44 */ beq lbl_80338F48 -/* 80338F08 48 00 00 A4 */ b lbl_80338FAC -lbl_80338F0C: -/* 80338F0C 3C 60 56 43 */ lis r3, 0x5643 /* 0x56434B31@ha */ -/* 80338F10 38 03 4B 31 */ addi r0, r3, 0x4B31 /* 0x56434B31@l */ -/* 80338F14 7C 04 00 00 */ cmpw r4, r0 -/* 80338F18 41 82 00 80 */ beq lbl_80338F98 -/* 80338F1C 40 80 00 90 */ bge lbl_80338FAC -/* 80338F20 3C 60 54 54 */ lis r3, 0x5454 /* 0x54544B31@ha */ -/* 80338F24 38 03 4B 31 */ addi r0, r3, 0x4B31 /* 0x54544B31@l */ -/* 80338F28 7C 04 00 00 */ cmpw r4, r0 -/* 80338F2C 41 82 00 44 */ beq lbl_80338F70 -/* 80338F30 48 00 00 7C */ b lbl_80338FAC -lbl_80338F34: -/* 80338F34 7F 63 DB 78 */ mr r3, r27 -/* 80338F38 7F 84 E3 78 */ mr r4, r28 -/* 80338F3C 7F C5 F3 78 */ mr r5, r30 -/* 80338F40 48 00 00 D5 */ bl setAnmTransform__19J3DAnmKeyLoader_v15FP18J3DAnmTransformKeyPC22J3DAnmTransformKeyData -/* 80338F44 48 00 00 7C */ b lbl_80338FC0 -lbl_80338F48: -/* 80338F48 7F 63 DB 78 */ mr r3, r27 -/* 80338F4C 7F 84 E3 78 */ mr r4, r28 -/* 80338F50 7F C5 F3 78 */ mr r5, r30 -/* 80338F54 48 00 03 85 */ bl setAnmColor__19J3DAnmKeyLoader_v15FP14J3DAnmColorKeyPC18J3DAnmColorKeyData -/* 80338F58 48 00 00 68 */ b lbl_80338FC0 -lbl_80338F5C: -/* 80338F5C 7F 63 DB 78 */ mr r3, r27 -/* 80338F60 7F 84 E3 78 */ mr r4, r28 -/* 80338F64 7F C5 F3 78 */ mr r5, r30 -/* 80338F68 48 00 04 85 */ bl setAnmCluster__19J3DAnmKeyLoader_v15FP16J3DAnmClusterKeyPC20J3DAnmClusterKeyData -/* 80338F6C 48 00 00 54 */ b lbl_80338FC0 -lbl_80338F70: -/* 80338F70 7F 63 DB 78 */ mr r3, r27 -/* 80338F74 7F 84 E3 78 */ mr r4, r28 -/* 80338F78 7F C5 F3 78 */ mr r5, r30 -/* 80338F7C 48 00 01 5D */ bl setAnmTextureSRT__19J3DAnmKeyLoader_v15FP19J3DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData -/* 80338F80 48 00 00 40 */ b lbl_80338FC0 -lbl_80338F84: -/* 80338F84 7F 63 DB 78 */ mr r3, r27 -/* 80338F88 7F 84 E3 78 */ mr r4, r28 -/* 80338F8C 7F C5 F3 78 */ mr r5, r30 -/* 80338F90 48 00 04 F1 */ bl setAnmTevReg__19J3DAnmKeyLoader_v15FP15J3DAnmTevRegKeyPC19J3DAnmTevRegKeyData -/* 80338F94 48 00 00 2C */ b lbl_80338FC0 -lbl_80338F98: -/* 80338F98 7F 63 DB 78 */ mr r3, r27 -/* 80338F9C 7F 84 E3 78 */ mr r4, r28 -/* 80338FA0 7F C5 F3 78 */ mr r5, r30 -/* 80338FA4 48 00 06 91 */ bl setAnmVtxColor__19J3DAnmKeyLoader_v15FP17J3DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData -/* 80338FA8 48 00 00 18 */ b lbl_80338FC0 -lbl_80338FAC: -/* 80338FAC 3C 60 80 3A */ lis r3, J3DAnmLoader__stringBase0@ha /* 0x803A2130@ha */ -/* 80338FB0 38 63 21 30 */ addi r3, r3, J3DAnmLoader__stringBase0@l /* 0x803A2130@l */ -/* 80338FB4 38 63 00 29 */ addi r3, r3, 0x29 -/* 80338FB8 4C C6 31 82 */ crclr 6 -/* 80338FBC 4B CC DB 01 */ bl OSReport -lbl_80338FC0: -/* 80338FC0 80 1E 00 04 */ lwz r0, 4(r30) -/* 80338FC4 7F DE 02 14 */ add r30, r30, r0 -/* 80338FC8 3B BD 00 01 */ addi r29, r29, 1 -lbl_80338FCC: -/* 80338FCC 7C 1D D0 40 */ cmplw r29, r26 -/* 80338FD0 41 80 FE F0 */ blt lbl_80338EC0 -/* 80338FD4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80338FD8 48 02 92 45 */ bl _restgpr_26 -/* 80338FDC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80338FE0 7C 08 03 A6 */ mtlr r0 -/* 80338FE4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80338FE8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv.s deleted file mode 100644 index 536f2a31d9..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_803386A0: -/* 803386A0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803386A4 7C 08 02 A6 */ mflr r0 -/* 803386A8 90 01 00 24 */ stw r0, 0x24(r1) -/* 803386AC 39 61 00 20 */ addi r11, r1, 0x20 -/* 803386B0 48 02 9B 21 */ bl _savegpr_26 -/* 803386B4 7C 7B 1B 78 */ mr r27, r3 -/* 803386B8 7C 9C 23 78 */ mr r28, r4 -/* 803386BC 3B C5 00 20 */ addi r30, r5, 0x20 -/* 803386C0 3B A0 00 00 */ li r29, 0 -/* 803386C4 3C 60 54 50 */ lis r3, 0x5450 /* 0x54505431@ha */ -/* 803386C8 3B E3 54 31 */ addi r31, r3, 0x5431 /* 0x54505431@l */ -/* 803386CC 83 45 00 0C */ lwz r26, 0xc(r5) -/* 803386D0 48 00 01 10 */ b lbl_803387E0 -lbl_803386D4: -/* 803386D4 80 9E 00 00 */ lwz r4, 0(r30) -/* 803386D8 7C 04 F8 00 */ cmpw r4, r31 -/* 803386DC 41 82 00 94 */ beq lbl_80338770 -/* 803386E0 40 80 00 40 */ bge lbl_80338720 -/* 803386E4 3C 60 43 4C */ lis r3, 0x434C /* 0x434C4631@ha */ -/* 803386E8 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x434C4631@l */ -/* 803386EC 7C 04 00 00 */ cmpw r4, r0 -/* 803386F0 41 82 00 94 */ beq lbl_80338784 -/* 803386F4 40 80 00 18 */ bge lbl_8033870C -/* 803386F8 3C 60 41 4E */ lis r3, 0x414E /* 0x414E4631@ha */ -/* 803386FC 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x414E4631@l */ -/* 80338700 7C 04 00 00 */ cmpw r4, r0 -/* 80338704 41 82 00 44 */ beq lbl_80338748 -/* 80338708 48 00 00 B8 */ b lbl_803387C0 -lbl_8033870C: -/* 8033870C 3C 60 50 41 */ lis r3, 0x5041 /* 0x50414631@ha */ -/* 80338710 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x50414631@l */ -/* 80338714 7C 04 00 00 */ cmpw r4, r0 -/* 80338718 41 82 00 44 */ beq lbl_8033875C -/* 8033871C 48 00 00 A4 */ b lbl_803387C0 -lbl_80338720: -/* 80338720 3C 60 56 43 */ lis r3, 0x5643 /* 0x56434631@ha */ -/* 80338724 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x56434631@l */ -/* 80338728 7C 04 00 00 */ cmpw r4, r0 -/* 8033872C 41 82 00 80 */ beq lbl_803387AC -/* 80338730 40 80 00 90 */ bge lbl_803387C0 -/* 80338734 3C 60 56 41 */ lis r3, 0x5641 /* 0x56414631@ha */ -/* 80338738 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x56414631@l */ -/* 8033873C 7C 04 00 00 */ cmpw r4, r0 -/* 80338740 41 82 00 58 */ beq lbl_80338798 -/* 80338744 48 00 00 7C */ b lbl_803387C0 -lbl_80338748: -/* 80338748 7F 63 DB 78 */ mr r3, r27 -/* 8033874C 7F 84 E3 78 */ mr r4, r28 -/* 80338750 7F C5 F3 78 */ mr r5, r30 -/* 80338754 48 00 00 D5 */ bl setAnmTransform__20J3DAnmFullLoader_v15FP19J3DAnmTransformFullPC23J3DAnmTransformFullData -/* 80338758 48 00 00 7C */ b lbl_803387D4 -lbl_8033875C: -/* 8033875C 7F 63 DB 78 */ mr r3, r27 -/* 80338760 7F 84 E3 78 */ mr r4, r28 -/* 80338764 7F C5 F3 78 */ mr r5, r30 -/* 80338768 48 00 01 7D */ bl setAnmColor__20J3DAnmFullLoader_v15FP15J3DAnmColorFullPC19J3DAnmColorFullData -/* 8033876C 48 00 00 68 */ b lbl_803387D4 -lbl_80338770: -/* 80338770 7F 63 DB 78 */ mr r3, r27 -/* 80338774 7F 84 E3 78 */ mr r4, r28 -/* 80338778 7F C5 F3 78 */ mr r5, r30 -/* 8033877C 48 00 02 5D */ bl setAnmTexPattern__20J3DAnmFullLoader_v15FP16J3DAnmTexPatternPC24J3DAnmTexPatternFullData -/* 80338780 48 00 00 54 */ b lbl_803387D4 -lbl_80338784: -/* 80338784 7F 63 DB 78 */ mr r3, r27 -/* 80338788 7F 84 E3 78 */ mr r4, r28 -/* 8033878C 7F C5 F3 78 */ mr r5, r30 -/* 80338790 48 00 03 B9 */ bl setAnmCluster__20J3DAnmFullLoader_v15FP17J3DAnmClusterFullPC21J3DAnmClusterFullData -/* 80338794 48 00 00 40 */ b lbl_803387D4 -lbl_80338798: -/* 80338798 7F 63 DB 78 */ mr r3, r27 -/* 8033879C 7F 84 E3 78 */ mr r4, r28 -/* 803387A0 7F C5 F3 78 */ mr r5, r30 -/* 803387A4 48 00 03 01 */ bl setAnmVisibility__20J3DAnmFullLoader_v15FP20J3DAnmVisibilityFullPC24J3DAnmVisibilityFullData -/* 803387A8 48 00 00 2C */ b lbl_803387D4 -lbl_803387AC: -/* 803387AC 7F 63 DB 78 */ mr r3, r27 -/* 803387B0 7F 84 E3 78 */ mr r4, r28 -/* 803387B4 7F C5 F3 78 */ mr r5, r30 -/* 803387B8 48 00 04 25 */ bl setAnmVtxColor__20J3DAnmFullLoader_v15FP18J3DAnmVtxColorFullPC22J3DAnmVtxColorFullData -/* 803387BC 48 00 00 18 */ b lbl_803387D4 -lbl_803387C0: -/* 803387C0 3C 60 80 3A */ lis r3, J3DAnmLoader__stringBase0@ha /* 0x803A2130@ha */ -/* 803387C4 38 63 21 30 */ addi r3, r3, J3DAnmLoader__stringBase0@l /* 0x803A2130@l */ -/* 803387C8 38 63 00 29 */ addi r3, r3, 0x29 -/* 803387CC 4C C6 31 82 */ crclr 6 -/* 803387D0 4B CC E2 ED */ bl OSReport -lbl_803387D4: -/* 803387D4 80 1E 00 04 */ lwz r0, 4(r30) -/* 803387D8 7F DE 02 14 */ add r30, r30, r0 -/* 803387DC 3B BD 00 01 */ addi r29, r29, 1 -lbl_803387E0: -/* 803387E0 7C 1D D0 40 */ cmplw r29, r26 -/* 803387E4 41 80 FE F0 */ blt lbl_803386D4 -/* 803387E8 39 61 00 20 */ addi r11, r1, 0x20 -/* 803387EC 48 02 9A 31 */ bl _restgpr_26 -/* 803387F0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803387F4 7C 08 03 A6 */ mtlr r0 -/* 803387F8 38 21 00 20 */ addi r1, r1, 0x20 -/* 803387FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv.s b/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv.s deleted file mode 100644 index ca052e5b11..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv.s +++ /dev/null @@ -1,225 +0,0 @@ -lbl_80338134: -/* 80338134 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 80338138 7C 08 02 A6 */ mflr r0 -/* 8033813C 90 01 00 74 */ stw r0, 0x74(r1) -/* 80338140 93 E1 00 6C */ stw r31, 0x6c(r1) -/* 80338144 93 C1 00 68 */ stw r30, 0x68(r1) -/* 80338148 7C 7E 1B 78 */ mr r30, r3 -/* 8033814C 7C 9F 23 79 */ or. r31, r4, r4 -/* 80338150 41 82 03 00 */ beq lbl_80338450 -/* 80338154 80 7F 00 00 */ lwz r3, 0(r31) -/* 80338158 3C 03 B5 CD */ addis r0, r3, 0xb5cd -/* 8033815C 28 00 44 31 */ cmplwi r0, 0x4431 -/* 80338160 40 82 02 F0 */ bne lbl_80338450 -/* 80338164 80 BF 00 04 */ lwz r5, 4(r31) -/* 80338168 3C 60 62 72 */ lis r3, 0x6272 /* 0x62726B31@ha */ -/* 8033816C 38 03 6B 31 */ addi r0, r3, 0x6B31 /* 0x62726B31@l */ -/* 80338170 7C 05 00 00 */ cmpw r5, r0 -/* 80338174 41 82 01 70 */ beq lbl_803382E4 -/* 80338178 40 80 00 70 */ bge lbl_803381E8 -/* 8033817C 3C 80 62 6C */ lis r4, 0x626C /* 0x626C6B31@ha */ -/* 80338180 38 04 6B 31 */ addi r0, r4, 0x6B31 /* 0x626C6B31@l */ -/* 80338184 7C 05 00 00 */ cmpw r5, r0 -/* 80338188 41 82 01 0C */ beq lbl_80338294 -/* 8033818C 40 80 00 38 */ bge lbl_803381C4 -/* 80338190 3C 60 62 63 */ lis r3, 0x6263 /* 0x62636B31@ha */ -/* 80338194 38 03 6B 31 */ addi r0, r3, 0x6B31 /* 0x62636B31@l */ -/* 80338198 7C 05 00 00 */ cmpw r5, r0 -/* 8033819C 41 82 00 A8 */ beq lbl_80338244 -/* 803381A0 40 80 00 14 */ bge lbl_803381B4 -/* 803381A4 38 03 61 31 */ addi r0, r3, 0x6131 -/* 803381A8 7C 05 00 00 */ cmpw r5, r0 -/* 803381AC 41 82 01 A4 */ beq lbl_80338350 -/* 803381B0 48 00 02 90 */ b lbl_80338440 -lbl_803381B4: -/* 803381B4 38 04 61 31 */ addi r0, r4, 0x6131 -/* 803381B8 7C 05 00 00 */ cmpw r5, r0 -/* 803381BC 41 82 02 0C */ beq lbl_803383C8 -/* 803381C0 48 00 02 80 */ b lbl_80338440 -lbl_803381C4: -/* 803381C4 3C 60 62 70 */ lis r3, 0x6270 /* 0x62706B31@ha */ -/* 803381C8 38 03 6B 31 */ addi r0, r3, 0x6B31 /* 0x62706B31@l */ -/* 803381CC 7C 05 00 00 */ cmpw r5, r0 -/* 803381D0 41 82 00 9C */ beq lbl_8033826C -/* 803381D4 40 80 02 6C */ bge lbl_80338440 -/* 803381D8 38 03 61 31 */ addi r0, r3, 0x6131 -/* 803381DC 7C 05 00 00 */ cmpw r5, r0 -/* 803381E0 41 82 01 98 */ beq lbl_80338378 -/* 803381E4 48 00 02 5C */ b lbl_80338440 -lbl_803381E8: -/* 803381E8 3C 60 62 76 */ lis r3, 0x6276 /* 0x62766131@ha */ -/* 803381EC 38 03 61 31 */ addi r0, r3, 0x6131 /* 0x62766131@l */ -/* 803381F0 7C 05 00 00 */ cmpw r5, r0 -/* 803381F4 41 82 02 24 */ beq lbl_80338418 -/* 803381F8 40 80 00 28 */ bge lbl_80338220 -/* 803381FC 3C 60 62 74 */ lis r3, 0x6274 /* 0x62747031@ha */ -/* 80338200 38 03 70 31 */ addi r0, r3, 0x7031 /* 0x62747031@l */ -/* 80338204 7C 05 00 00 */ cmpw r5, r0 -/* 80338208 41 82 01 98 */ beq lbl_803383A0 -/* 8033820C 40 80 02 34 */ bge lbl_80338440 -/* 80338210 38 03 6B 31 */ addi r0, r3, 0x6b31 -/* 80338214 7C 05 00 00 */ cmpw r5, r0 -/* 80338218 41 82 00 A4 */ beq lbl_803382BC -/* 8033821C 48 00 02 24 */ b lbl_80338440 -lbl_80338220: -/* 80338220 3C 60 62 78 */ lis r3, 0x6278 /* 0x62786B31@ha */ -/* 80338224 38 03 6B 31 */ addi r0, r3, 0x6B31 /* 0x62786B31@l */ -/* 80338228 7C 05 00 00 */ cmpw r5, r0 -/* 8033822C 41 82 00 FC */ beq lbl_80338328 -/* 80338230 40 80 02 10 */ bge lbl_80338440 -/* 80338234 38 03 61 31 */ addi r0, r3, 0x6131 -/* 80338238 7C 05 00 00 */ cmpw r5, r0 -/* 8033823C 41 82 01 B4 */ beq lbl_803383F0 -/* 80338240 48 00 02 00 */ b lbl_80338440 -lbl_80338244: -/* 80338244 38 61 00 60 */ addi r3, r1, 0x60 -/* 80338248 48 00 02 99 */ bl __ct__19J3DAnmKeyLoader_v15Fv -/* 8033824C 38 61 00 60 */ addi r3, r1, 0x60 -/* 80338250 7F C4 F3 78 */ mr r4, r30 -/* 80338254 7F E5 FB 78 */ mr r5, r31 -/* 80338258 48 00 0C 35 */ bl setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv -/* 8033825C 38 61 00 60 */ addi r3, r1, 0x60 -/* 80338260 38 80 FF FF */ li r4, -1 -/* 80338264 48 00 02 99 */ bl __dt__19J3DAnmKeyLoader_v15Fv -/* 80338268 48 00 01 E8 */ b lbl_80338450 -lbl_8033826C: -/* 8033826C 38 61 00 58 */ addi r3, r1, 0x58 -/* 80338270 48 00 02 71 */ bl __ct__19J3DAnmKeyLoader_v15Fv -/* 80338274 38 61 00 58 */ addi r3, r1, 0x58 -/* 80338278 7F C4 F3 78 */ mr r4, r30 -/* 8033827C 7F E5 FB 78 */ mr r5, r31 -/* 80338280 48 00 0C 0D */ bl setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv -/* 80338284 38 61 00 58 */ addi r3, r1, 0x58 -/* 80338288 38 80 FF FF */ li r4, -1 -/* 8033828C 48 00 02 71 */ bl __dt__19J3DAnmKeyLoader_v15Fv -/* 80338290 48 00 01 C0 */ b lbl_80338450 -lbl_80338294: -/* 80338294 38 61 00 50 */ addi r3, r1, 0x50 -/* 80338298 48 00 02 49 */ bl __ct__19J3DAnmKeyLoader_v15Fv -/* 8033829C 38 61 00 50 */ addi r3, r1, 0x50 -/* 803382A0 7F C4 F3 78 */ mr r4, r30 -/* 803382A4 7F E5 FB 78 */ mr r5, r31 -/* 803382A8 48 00 0B E5 */ bl setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv -/* 803382AC 38 61 00 50 */ addi r3, r1, 0x50 -/* 803382B0 38 80 FF FF */ li r4, -1 -/* 803382B4 48 00 02 49 */ bl __dt__19J3DAnmKeyLoader_v15Fv -/* 803382B8 48 00 01 98 */ b lbl_80338450 -lbl_803382BC: -/* 803382BC 38 61 00 48 */ addi r3, r1, 0x48 -/* 803382C0 48 00 02 21 */ bl __ct__19J3DAnmKeyLoader_v15Fv -/* 803382C4 38 61 00 48 */ addi r3, r1, 0x48 -/* 803382C8 7F C4 F3 78 */ mr r4, r30 -/* 803382CC 7F E5 FB 78 */ mr r5, r31 -/* 803382D0 48 00 0B BD */ bl setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv -/* 803382D4 38 61 00 48 */ addi r3, r1, 0x48 -/* 803382D8 38 80 FF FF */ li r4, -1 -/* 803382DC 48 00 02 21 */ bl __dt__19J3DAnmKeyLoader_v15Fv -/* 803382E0 48 00 01 70 */ b lbl_80338450 -lbl_803382E4: -/* 803382E4 38 61 00 40 */ addi r3, r1, 0x40 -/* 803382E8 48 00 01 F9 */ bl __ct__19J3DAnmKeyLoader_v15Fv -/* 803382EC 7F C3 F3 78 */ mr r3, r30 -/* 803382F0 81 9E 00 00 */ lwz r12, 0(r30) -/* 803382F4 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 803382F8 7D 89 03 A6 */ mtctr r12 -/* 803382FC 4E 80 04 21 */ bctrl -/* 80338300 2C 03 00 05 */ cmpwi r3, 5 -/* 80338304 40 82 00 14 */ bne lbl_80338318 -/* 80338308 38 61 00 40 */ addi r3, r1, 0x40 -/* 8033830C 7F C4 F3 78 */ mr r4, r30 -/* 80338310 7F E5 FB 78 */ mr r5, r31 -/* 80338314 48 00 0B 79 */ bl setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv -lbl_80338318: -/* 80338318 38 61 00 40 */ addi r3, r1, 0x40 -/* 8033831C 38 80 FF FF */ li r4, -1 -/* 80338320 48 00 01 DD */ bl __dt__19J3DAnmKeyLoader_v15Fv -/* 80338324 48 00 01 2C */ b lbl_80338450 -lbl_80338328: -/* 80338328 38 61 00 38 */ addi r3, r1, 0x38 -/* 8033832C 48 00 01 B5 */ bl __ct__19J3DAnmKeyLoader_v15Fv -/* 80338330 38 61 00 38 */ addi r3, r1, 0x38 -/* 80338334 7F C4 F3 78 */ mr r4, r30 -/* 80338338 7F E5 FB 78 */ mr r5, r31 -/* 8033833C 48 00 0B 51 */ bl setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv -/* 80338340 38 61 00 38 */ addi r3, r1, 0x38 -/* 80338344 38 80 FF FF */ li r4, -1 -/* 80338348 48 00 01 B5 */ bl __dt__19J3DAnmKeyLoader_v15Fv -/* 8033834C 48 00 01 04 */ b lbl_80338450 -lbl_80338350: -/* 80338350 38 61 00 30 */ addi r3, r1, 0x30 -/* 80338354 48 00 01 15 */ bl __ct__20J3DAnmFullLoader_v15Fv -/* 80338358 38 61 00 30 */ addi r3, r1, 0x30 -/* 8033835C 7F C4 F3 78 */ mr r4, r30 -/* 80338360 7F E5 FB 78 */ mr r5, r31 -/* 80338364 48 00 03 3D */ bl setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv -/* 80338368 38 61 00 30 */ addi r3, r1, 0x30 -/* 8033836C 38 80 FF FF */ li r4, -1 -/* 80338370 48 00 01 15 */ bl __dt__20J3DAnmFullLoader_v15Fv -/* 80338374 48 00 00 DC */ b lbl_80338450 -lbl_80338378: -/* 80338378 38 61 00 28 */ addi r3, r1, 0x28 -/* 8033837C 48 00 00 ED */ bl __ct__20J3DAnmFullLoader_v15Fv -/* 80338380 38 61 00 28 */ addi r3, r1, 0x28 -/* 80338384 7F C4 F3 78 */ mr r4, r30 -/* 80338388 7F E5 FB 78 */ mr r5, r31 -/* 8033838C 48 00 03 15 */ bl setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv -/* 80338390 38 61 00 28 */ addi r3, r1, 0x28 -/* 80338394 38 80 FF FF */ li r4, -1 -/* 80338398 48 00 00 ED */ bl __dt__20J3DAnmFullLoader_v15Fv -/* 8033839C 48 00 00 B4 */ b lbl_80338450 -lbl_803383A0: -/* 803383A0 38 61 00 20 */ addi r3, r1, 0x20 -/* 803383A4 48 00 00 C5 */ bl __ct__20J3DAnmFullLoader_v15Fv -/* 803383A8 38 61 00 20 */ addi r3, r1, 0x20 -/* 803383AC 7F C4 F3 78 */ mr r4, r30 -/* 803383B0 7F E5 FB 78 */ mr r5, r31 -/* 803383B4 48 00 02 ED */ bl setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv -/* 803383B8 38 61 00 20 */ addi r3, r1, 0x20 -/* 803383BC 38 80 FF FF */ li r4, -1 -/* 803383C0 48 00 00 C5 */ bl __dt__20J3DAnmFullLoader_v15Fv -/* 803383C4 48 00 00 8C */ b lbl_80338450 -lbl_803383C8: -/* 803383C8 38 61 00 18 */ addi r3, r1, 0x18 -/* 803383CC 48 00 00 9D */ bl __ct__20J3DAnmFullLoader_v15Fv -/* 803383D0 38 61 00 18 */ addi r3, r1, 0x18 -/* 803383D4 7F C4 F3 78 */ mr r4, r30 -/* 803383D8 7F E5 FB 78 */ mr r5, r31 -/* 803383DC 48 00 02 C5 */ bl setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv -/* 803383E0 38 61 00 18 */ addi r3, r1, 0x18 -/* 803383E4 38 80 FF FF */ li r4, -1 -/* 803383E8 48 00 00 9D */ bl __dt__20J3DAnmFullLoader_v15Fv -/* 803383EC 48 00 00 64 */ b lbl_80338450 -lbl_803383F0: -/* 803383F0 38 61 00 10 */ addi r3, r1, 0x10 -/* 803383F4 48 00 00 75 */ bl __ct__20J3DAnmFullLoader_v15Fv -/* 803383F8 38 61 00 10 */ addi r3, r1, 0x10 -/* 803383FC 7F C4 F3 78 */ mr r4, r30 -/* 80338400 7F E5 FB 78 */ mr r5, r31 -/* 80338404 48 00 02 9D */ bl setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv -/* 80338408 38 61 00 10 */ addi r3, r1, 0x10 -/* 8033840C 38 80 FF FF */ li r4, -1 -/* 80338410 48 00 00 75 */ bl __dt__20J3DAnmFullLoader_v15Fv -/* 80338414 48 00 00 3C */ b lbl_80338450 -lbl_80338418: -/* 80338418 38 61 00 08 */ addi r3, r1, 8 -/* 8033841C 48 00 00 4D */ bl __ct__20J3DAnmFullLoader_v15Fv -/* 80338420 38 61 00 08 */ addi r3, r1, 8 -/* 80338424 7F C4 F3 78 */ mr r4, r30 -/* 80338428 7F E5 FB 78 */ mr r5, r31 -/* 8033842C 48 00 02 75 */ bl setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv -/* 80338430 38 61 00 08 */ addi r3, r1, 8 -/* 80338434 38 80 FF FF */ li r4, -1 -/* 80338438 48 00 00 4D */ bl __dt__20J3DAnmFullLoader_v15Fv -/* 8033843C 48 00 00 14 */ b lbl_80338450 -lbl_80338440: -/* 80338440 3C 60 80 3A */ lis r3, J3DAnmLoader__stringBase0@ha /* 0x803A2130@ha */ -/* 80338444 38 63 21 30 */ addi r3, r3, J3DAnmLoader__stringBase0@l /* 0x803A2130@l */ -/* 80338448 4C C6 31 82 */ crclr 6 -/* 8033844C 4B CC E6 71 */ bl OSReport -lbl_80338450: -/* 80338450 83 E1 00 6C */ lwz r31, 0x6c(r1) -/* 80338454 83 C1 00 68 */ lwz r30, 0x68(r1) -/* 80338458 80 01 00 74 */ lwz r0, 0x74(r1) -/* 8033845C 7C 08 03 A6 */ mtlr r0 -/* 80338460 38 21 00 70 */ addi r1, r1, 0x70 -/* 80338464 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DClusterLoader/load__24J3DClusterLoaderDataBaseFPCv.s b/asm/JSystem/J3DGraphLoader/J3DClusterLoader/load__24J3DClusterLoaderDataBaseFPCv.s deleted file mode 100644 index 4c3b96e1aa..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DClusterLoader/load__24J3DClusterLoaderDataBaseFPCv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80334130: -/* 80334130 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80334134 7C 08 02 A6 */ mflr r0 -/* 80334138 90 01 00 24 */ stw r0, 0x24(r1) -/* 8033413C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80334140 7C 7F 1B 78 */ mr r31, r3 -/* 80334144 80 83 00 00 */ lwz r4, 0(r3) -/* 80334148 3C 04 B5 CD */ addis r0, r4, 0xb5cd -/* 8033414C 28 00 44 31 */ cmplwi r0, 0x4431 -/* 80334150 40 82 00 40 */ bne lbl_80334190 -/* 80334154 80 7F 00 04 */ lwz r3, 4(r31) -/* 80334158 3C 03 9D 94 */ addis r0, r3, 0x9d94 -/* 8033415C 28 00 73 31 */ cmplwi r0, 0x7331 -/* 80334160 40 82 00 30 */ bne lbl_80334190 -/* 80334164 38 61 00 08 */ addi r3, r1, 8 -/* 80334168 48 00 00 65 */ bl __ct__20J3DClusterLoader_v15Fv -/* 8033416C 38 61 00 08 */ addi r3, r1, 8 -/* 80334170 7F E4 FB 78 */ mr r4, r31 -/* 80334174 48 00 00 D1 */ bl load__20J3DClusterLoader_v15FPCv -/* 80334178 7C 7F 1B 78 */ mr r31, r3 -/* 8033417C 38 61 00 08 */ addi r3, r1, 8 -/* 80334180 38 80 FF FF */ li r4, -1 -/* 80334184 48 00 00 65 */ bl __dt__20J3DClusterLoader_v15Fv -/* 80334188 7F E3 FB 78 */ mr r3, r31 -/* 8033418C 48 00 00 2C */ b lbl_803341B8 -lbl_80334190: -/* 80334190 3C 04 B5 CD */ addis r0, r4, 0xb5cd -/* 80334194 28 00 44 32 */ cmplwi r0, 0x4432 -/* 80334198 40 82 00 1C */ bne lbl_803341B4 -/* 8033419C 80 7F 00 04 */ lwz r3, 4(r31) -/* 803341A0 3C 03 9D 94 */ addis r0, r3, 0x9d94 -/* 803341A4 28 00 73 32 */ cmplwi r0, 0x7332 -/* 803341A8 40 82 00 0C */ bne lbl_803341B4 -/* 803341AC 38 60 00 00 */ li r3, 0 -/* 803341B0 48 00 00 08 */ b lbl_803341B8 -lbl_803341B4: -/* 803341B4 38 60 00 00 */ li r3, 0 -lbl_803341B8: -/* 803341B8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803341BC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803341C0 7C 08 03 A6 */ mtlr r0 -/* 803341C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 803341C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JGadget/linklist/func_802DCB08.s b/asm/JSystem/JGadget/linklist/func_802DCB08.s deleted file mode 100644 index a0d90129fc..0000000000 --- a/asm/JSystem/JGadget/linklist/func_802DCB08.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_802DCB08: -/* 802DCB08 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802DCB0C 7C 08 02 A6 */ mflr r0 -/* 802DCB10 90 01 00 44 */ stw r0, 0x44(r1) -/* 802DCB14 39 61 00 40 */ addi r11, r1, 0x40 -/* 802DCB18 48 08 56 C5 */ bl _savegpr_29 -/* 802DCB1C 7C 7D 1B 78 */ mr r29, r3 -/* 802DCB20 7C 9E 23 78 */ mr r30, r4 -/* 802DCB24 80 C6 00 00 */ lwz r6, 0(r6) -/* 802DCB28 90 C1 00 2C */ stw r6, 0x2c(r1) -/* 802DCB2C 80 66 00 00 */ lwz r3, 0(r6) -/* 802DCB30 90 61 00 08 */ stw r3, 8(r1) -/* 802DCB34 90 C1 00 24 */ stw r6, 0x24(r1) -/* 802DCB38 80 04 00 00 */ lwz r0, 0(r4) -/* 802DCB3C 90 01 00 0C */ stw r0, 0xc(r1) -/* 802DCB40 90 01 00 28 */ stw r0, 0x28(r1) -/* 802DCB44 7C 00 30 40 */ cmplw r0, r6 -/* 802DCB48 41 82 00 48 */ beq lbl_802DCB90 -/* 802DCB4C 90 61 00 1C */ stw r3, 0x1c(r1) -/* 802DCB50 90 01 00 20 */ stw r0, 0x20(r1) -/* 802DCB54 7C 00 18 40 */ cmplw r0, r3 -/* 802DCB58 40 82 00 08 */ bne lbl_802DCB60 -/* 802DCB5C 48 00 00 34 */ b lbl_802DCB90 -lbl_802DCB60: -/* 802DCB60 7C DF 33 78 */ mr r31, r6 -/* 802DCB64 38 61 00 18 */ addi r3, r1, 0x18 -/* 802DCB68 7C A4 2B 78 */ mr r4, r5 -/* 802DCB6C 7C C5 33 78 */ mr r5, r6 -/* 802DCB70 48 00 00 65 */ bl Erase__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode -/* 802DCB74 80 1E 00 00 */ lwz r0, 0(r30) -/* 802DCB78 90 01 00 10 */ stw r0, 0x10(r1) -/* 802DCB7C 38 61 00 14 */ addi r3, r1, 0x14 -/* 802DCB80 7F A4 EB 78 */ mr r4, r29 -/* 802DCB84 38 A1 00 10 */ addi r5, r1, 0x10 -/* 802DCB88 7F E6 FB 78 */ mr r6, r31 -/* 802DCB8C 48 00 00 1D */ bl Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode -lbl_802DCB90: -/* 802DCB90 39 61 00 40 */ addi r11, r1, 0x40 -/* 802DCB94 48 08 56 95 */ bl _restgpr_29 -/* 802DCB98 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802DCB9C 7C 08 03 A6 */ mtlr r0 -/* 802DCBA0 38 21 00 40 */ addi r1, r1, 0x40 -/* 802DCBA4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRAramArchive/fetchResource__14JKRAramArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s b/asm/JSystem/JKernel/JKRAramArchive/fetchResource__14JKRAramArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s deleted file mode 100644 index e9c1f12ee1..0000000000 --- a/asm/JSystem/JKernel/JKRAramArchive/fetchResource__14JKRAramArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_802D76F4: -/* 802D76F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D76F8 7C 08 02 A6 */ mflr r0 -/* 802D76FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D7700 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D7704 48 08 AA D1 */ bl _savegpr_27 -/* 802D7708 7C 9B 23 78 */ mr r27, r4 -/* 802D770C 7C BC 2B 78 */ mr r28, r5 -/* 802D7710 7C DD 33 78 */ mr r29, r6 -/* 802D7714 7C FE 3B 78 */ mr r30, r7 -/* 802D7718 83 E6 00 0C */ lwz r31, 0xc(r6) -/* 802D771C 7C 1F E0 40 */ cmplw r31, r28 -/* 802D7720 40 81 00 08 */ ble lbl_802D7728 -/* 802D7724 7F 9F E3 78 */ mr r31, r28 -lbl_802D7728: -/* 802D7728 80 1D 00 04 */ lwz r0, 4(r29) -/* 802D772C 54 04 46 3E */ srwi r4, r0, 0x18 -/* 802D7730 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d -/* 802D7734 40 82 00 0C */ bne lbl_802D7740 -/* 802D7738 38 E0 00 00 */ li r7, 0 -/* 802D773C 48 00 00 18 */ b lbl_802D7754 -lbl_802D7740: -/* 802D7740 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 -/* 802D7744 41 82 00 0C */ beq lbl_802D7750 -/* 802D7748 38 E0 00 02 */ li r7, 2 -/* 802D774C 48 00 00 08 */ b lbl_802D7754 -lbl_802D7750: -/* 802D7750 38 E0 00 01 */ li r7, 1 -lbl_802D7754: -/* 802D7754 80 1D 00 10 */ lwz r0, 0x10(r29) -/* 802D7758 28 00 00 00 */ cmplwi r0, 0 -/* 802D775C 40 82 00 30 */ bne lbl_802D778C -/* 802D7760 57 9C 00 34 */ rlwinm r28, r28, 0, 0, 0x1a -/* 802D7764 80 63 00 64 */ lwz r3, 0x64(r3) -/* 802D7768 80 63 00 14 */ lwz r3, 0x14(r3) -/* 802D776C 80 1D 00 08 */ lwz r0, 8(r29) -/* 802D7770 7C 60 1A 14 */ add r3, r0, r3 -/* 802D7774 7F E4 FB 78 */ mr r4, r31 -/* 802D7778 7F 65 DB 78 */ mr r5, r27 -/* 802D777C 7F 86 E3 78 */ mr r6, r28 -/* 802D7780 48 00 00 D9 */ bl fetchResource_subroutine__14JKRAramArchiveFUlUlPUcUli -/* 802D7784 7C 7F 1B 78 */ mr r31, r3 -/* 802D7788 48 00 00 48 */ b lbl_802D77D0 -lbl_802D778C: -/* 802D778C 2C 07 00 02 */ cmpwi r7, 2 -/* 802D7790 40 82 00 24 */ bne lbl_802D77B4 -/* 802D7794 7F A4 EB 78 */ mr r4, r29 -/* 802D7798 81 83 00 00 */ lwz r12, 0(r3) -/* 802D779C 81 8C 00 4C */ lwz r12, 0x4c(r12) -/* 802D77A0 7D 89 03 A6 */ mtctr r12 -/* 802D77A4 4E 80 04 21 */ bctrl -/* 802D77A8 28 03 00 00 */ cmplwi r3, 0 -/* 802D77AC 41 82 00 08 */ beq lbl_802D77B4 -/* 802D77B0 7C 7F 1B 78 */ mr r31, r3 -lbl_802D77B4: -/* 802D77B4 7C 1F E0 40 */ cmplw r31, r28 -/* 802D77B8 40 81 00 08 */ ble lbl_802D77C0 -/* 802D77BC 7F 9F E3 78 */ mr r31, r28 -lbl_802D77C0: -/* 802D77C0 7F 63 DB 78 */ mr r3, r27 -/* 802D77C4 80 9D 00 10 */ lwz r4, 0x10(r29) -/* 802D77C8 7F E5 FB 78 */ mr r5, r31 -/* 802D77CC 4B FF 73 4D */ bl copyMemory__7JKRHeapFPvPvUl -lbl_802D77D0: -/* 802D77D0 28 1E 00 00 */ cmplwi r30, 0 -/* 802D77D4 41 82 00 08 */ beq lbl_802D77DC -/* 802D77D8 93 FE 00 00 */ stw r31, 0(r30) -lbl_802D77DC: -/* 802D77DC 7F 63 DB 78 */ mr r3, r27 -/* 802D77E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D77E4 48 08 AA 3D */ bl _restgpr_27 -/* 802D77E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D77EC 7C 08 03 A6 */ mtlr r0 -/* 802D77F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D77F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRAramArchive/fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc.s b/asm/JSystem/JKernel/JKRAramArchive/fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc.s deleted file mode 100644 index fd205b39c7..0000000000 --- a/asm/JSystem/JKernel/JKRAramArchive/fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_802D7914: -/* 802D7914 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 802D7918 7C 08 02 A6 */ mflr r0 -/* 802D791C 90 01 00 74 */ stw r0, 0x74(r1) -/* 802D7920 39 61 00 70 */ addi r11, r1, 0x70 -/* 802D7924 48 08 A8 AD */ bl _savegpr_26 -/* 802D7928 7C 7C 1B 78 */ mr r28, r3 -/* 802D792C 7C 9A 23 78 */ mr r26, r4 -/* 802D7930 7C BD 2B 78 */ mr r29, r5 -/* 802D7934 7C FE 3B 78 */ mr r30, r7 -/* 802D7938 38 1A 00 1F */ addi r0, r26, 0x1f -/* 802D793C 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a -/* 802D7940 2C 06 00 00 */ cmpwi r6, 0 -/* 802D7944 41 82 00 14 */ beq lbl_802D7958 -/* 802D7948 41 80 00 E4 */ blt lbl_802D7A2C -/* 802D794C 2C 06 00 03 */ cmpwi r6, 3 -/* 802D7950 40 80 00 DC */ bge lbl_802D7A2C -/* 802D7954 48 00 00 44 */ b lbl_802D7998 -lbl_802D7958: -/* 802D7958 7F E3 FB 78 */ mr r3, r31 -/* 802D795C 38 80 00 20 */ li r4, 0x20 -/* 802D7960 4B FF 6B 15 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D7964 7C 7B 1B 78 */ mr r27, r3 -/* 802D7968 7F 83 E3 78 */ mr r3, r28 -/* 802D796C 7F 64 DB 78 */ mr r4, r27 -/* 802D7970 7F E5 FB 78 */ mr r5, r31 -/* 802D7974 38 C0 00 00 */ li r6, 0 -/* 802D7978 7F E7 FB 78 */ mr r7, r31 -/* 802D797C 39 00 00 00 */ li r8, 0 -/* 802D7980 39 20 FF FF */ li r9, -1 -/* 802D7984 39 40 00 00 */ li r10, 0 -/* 802D7988 4B FF AC 2D */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl -/* 802D798C 93 7E 00 00 */ stw r27, 0(r30) -/* 802D7990 7F 43 D3 78 */ mr r3, r26 -/* 802D7994 48 00 00 B8 */ b lbl_802D7A4C -lbl_802D7998: -/* 802D7998 38 01 00 2B */ addi r0, r1, 0x2b -/* 802D799C 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a -/* 802D79A0 7F 64 DB 78 */ mr r4, r27 -/* 802D79A4 38 A0 00 20 */ li r5, 0x20 -/* 802D79A8 38 C0 00 00 */ li r6, 0 -/* 802D79AC 38 E0 00 00 */ li r7, 0 -/* 802D79B0 39 00 00 00 */ li r8, 0 -/* 802D79B4 39 20 FF FF */ li r9, -1 -/* 802D79B8 39 40 00 00 */ li r10, 0 -/* 802D79BC 4B FF AB F9 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl -/* 802D79C0 88 BB 00 07 */ lbz r5, 7(r27) -/* 802D79C4 88 9B 00 06 */ lbz r4, 6(r27) -/* 802D79C8 88 7B 00 04 */ lbz r3, 4(r27) -/* 802D79CC 88 1B 00 05 */ lbz r0, 5(r27) -/* 802D79D0 54 00 80 1E */ slwi r0, r0, 0x10 -/* 802D79D4 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 802D79D8 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 -/* 802D79DC 7C A3 03 78 */ or r3, r5, r0 -/* 802D79E0 38 03 00 1F */ addi r0, r3, 0x1f -/* 802D79E4 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a -/* 802D79E8 7F 43 D3 78 */ mr r3, r26 -/* 802D79EC 38 80 00 20 */ li r4, 0x20 -/* 802D79F0 7F A5 EB 78 */ mr r5, r29 -/* 802D79F4 4B FF 6A 81 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D79F8 7C 7B 1B 78 */ mr r27, r3 -/* 802D79FC 7F 83 E3 78 */ mr r3, r28 -/* 802D7A00 7F 64 DB 78 */ mr r4, r27 -/* 802D7A04 7F E5 FB 78 */ mr r5, r31 -/* 802D7A08 38 C0 00 01 */ li r6, 1 -/* 802D7A0C 7F 47 D3 78 */ mr r7, r26 -/* 802D7A10 7F A8 EB 78 */ mr r8, r29 -/* 802D7A14 39 20 FF FF */ li r9, -1 -/* 802D7A18 39 41 00 08 */ addi r10, r1, 8 -/* 802D7A1C 4B FF AB 99 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl -/* 802D7A20 93 7E 00 00 */ stw r27, 0(r30) -/* 802D7A24 80 61 00 08 */ lwz r3, 8(r1) -/* 802D7A28 48 00 00 24 */ b lbl_802D7A4C -lbl_802D7A2C: -/* 802D7A2C 3C 60 80 3A */ lis r3, JKRAramArchive__stringBase0@ha /* 0x8039D188@ha */ -/* 802D7A30 38 63 D1 88 */ addi r3, r3, JKRAramArchive__stringBase0@l /* 0x8039D188@l */ -/* 802D7A34 38 80 02 C9 */ li r4, 0x2c9 -/* 802D7A38 38 A3 00 13 */ addi r5, r3, 0x13 -/* 802D7A3C 38 C3 00 16 */ addi r6, r3, 0x16 -/* 802D7A40 4C C6 31 82 */ crclr 6 -/* 802D7A44 48 00 A7 B9 */ bl panic_f__12JUTExceptionFPCciPCce -/* 802D7A48 38 60 00 00 */ li r3, 0 -lbl_802D7A4C: -/* 802D7A4C 39 61 00 70 */ addi r11, r1, 0x70 -/* 802D7A50 48 08 A7 CD */ bl _restgpr_26 -/* 802D7A54 80 01 00 74 */ lwz r0, 0x74(r1) -/* 802D7A58 7C 08 03 A6 */ mtlr r0 -/* 802D7A5C 38 21 00 70 */ addi r1, r1, 0x70 -/* 802D7A60 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/__sinit_JKRDvdAramRipper_cpp.s b/asm/JSystem/JKernel/JKRDvdAramRipper/__sinit_JKRDvdAramRipper_cpp.s deleted file mode 100644 index 9ea1a5c831..0000000000 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/__sinit_JKRDvdAramRipper_cpp.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802DB5E8: -/* 802DB5E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DB5EC 7C 08 02 A6 */ mflr r0 -/* 802DB5F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DB5F4 3C 60 80 43 */ lis r3, sDvdAramAsyncList__16JKRDvdAramRipper@ha /* 0x804343B4@ha */ -/* 802DB5F8 38 63 43 B4 */ addi r3, r3, sDvdAramAsyncList__16JKRDvdAramRipper@l /* 0x804343B4@l */ -/* 802DB5FC 48 00 09 19 */ bl initiate__10JSUPtrListFv -/* 802DB600 3C 60 80 43 */ lis r3, sDvdAramAsyncList__16JKRDvdAramRipper@ha /* 0x804343B4@ha */ -/* 802DB604 38 63 43 B4 */ addi r3, r3, sDvdAramAsyncList__16JKRDvdAramRipper@l /* 0x804343B4@l */ -/* 802DB608 3C 80 80 2E */ lis r4, func_802DB62C@ha /* 0x802DB62C@ha */ -/* 802DB60C 38 84 B6 2C */ addi r4, r4, func_802DB62C@l /* 0x802DB62C@l */ -/* 802DB610 3C A0 80 43 */ lis r5, lit_301@ha /* 0x804343A8@ha */ -/* 802DB614 38 A5 43 A8 */ addi r5, r5, lit_301@l /* 0x804343A8@l */ -/* 802DB618 48 08 66 0D */ bl __register_global_object -/* 802DB61C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DB620 7C 08 03 A6 */ mtlr r0 -/* 802DB624 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DB628 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand.s b/asm/JSystem/JKernel/JKRDvdAramRipper/callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand.s deleted file mode 100644 index 2cf86fd9ec..0000000000 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand.s +++ /dev/null @@ -1,243 +0,0 @@ -lbl_802DAA74: -/* 802DAA74 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 802DAA78 7C 08 02 A6 */ mflr r0 -/* 802DAA7C 90 01 00 74 */ stw r0, 0x74(r1) -/* 802DAA80 39 61 00 70 */ addi r11, r1, 0x70 -/* 802DAA84 48 08 77 49 */ bl _savegpr_25 -/* 802DAA88 7C 7D 1B 78 */ mr r29, r3 -/* 802DAA8C 3B E0 00 01 */ li r31, 1 -/* 802DAA90 83 C3 00 28 */ lwz r30, 0x28(r3) -/* 802DAA94 3B 40 00 00 */ li r26, 0 -/* 802DAA98 38 7E 00 34 */ addi r3, r30, 0x34 -/* 802DAA9C 48 06 45 A5 */ bl OSLockMutex -/* 802DAAA0 80 7D 00 44 */ lwz r3, 0x44(r29) -/* 802DAAA4 28 03 00 00 */ cmplwi r3, 0 -/* 802DAAA8 41 82 00 0C */ beq lbl_802DAAB4 -/* 802DAAAC 38 00 00 00 */ li r0, 0 -/* 802DAAB0 90 03 00 00 */ stw r0, 0(r3) -lbl_802DAAB4: -/* 802DAAB4 80 1E 00 50 */ lwz r0, 0x50(r30) -/* 802DAAB8 28 00 00 00 */ cmplwi r0, 0 -/* 802DAABC 41 82 00 0C */ beq lbl_802DAAC8 -/* 802DAAC0 3B E0 00 00 */ li r31, 0 -/* 802DAAC4 48 00 02 DC */ b lbl_802DADA0 -lbl_802DAAC8: -/* 802DAAC8 48 06 61 BD */ bl OSGetCurrentThread -/* 802DAACC 90 7E 00 50 */ stw r3, 0x50(r30) -/* 802DAAD0 38 60 00 10 */ li r3, 0x10 -/* 802DAAD4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13) -/* 802DAAD8 38 A0 FF FC */ li r5, -4 -/* 802DAADC 4B FF 41 BD */ bl __nw__FUlP7JKRHeapi -/* 802DAAE0 7C 7C 1B 79 */ or. r28, r3, r3 -/* 802DAAE4 41 82 00 10 */ beq lbl_802DAAF4 -/* 802DAAE8 7F C4 F3 78 */ mr r4, r30 -/* 802DAAEC 48 00 1B 4D */ bl __ct__18JSUFileInputStreamFP7JKRFile -/* 802DAAF0 7C 7C 1B 78 */ mr r28, r3 -lbl_802DAAF4: -/* 802DAAF4 93 9E 00 54 */ stw r28, 0x54(r30) -/* 802DAAF8 7F C3 F3 78 */ mr r3, r30 -/* 802DAAFC 81 9E 00 00 */ lwz r12, 0(r30) -/* 802DAB00 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802DAB04 7D 89 03 A6 */ mtctr r12 -/* 802DAB08 4E 80 04 21 */ bctrl -/* 802DAB0C 80 1D 00 40 */ lwz r0, 0x40(r29) -/* 802DAB10 28 00 00 00 */ cmplwi r0, 0 -/* 802DAB14 41 82 00 10 */ beq lbl_802DAB24 -/* 802DAB18 7C 03 00 40 */ cmplw r3, r0 -/* 802DAB1C 40 81 00 08 */ ble lbl_802DAB24 -/* 802DAB20 7C 03 03 78 */ mr r3, r0 -lbl_802DAB24: -/* 802DAB24 38 03 00 1F */ addi r0, r3, 0x1f -/* 802DAB28 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a -/* 802DAB2C 80 1D 00 34 */ lwz r0, 0x34(r29) -/* 802DAB30 2C 00 00 01 */ cmpwi r0, 1 -/* 802DAB34 40 82 00 C8 */ bne lbl_802DABFC -/* 802DAB38 38 01 00 27 */ addi r0, r1, 0x27 -/* 802DAB3C 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a -lbl_802DAB40: -/* 802DAB40 38 7E 00 5C */ addi r3, r30, 0x5c -/* 802DAB44 7F 24 CB 78 */ mr r4, r25 -/* 802DAB48 38 A0 00 20 */ li r5, 0x20 -/* 802DAB4C 38 C0 00 00 */ li r6, 0 -/* 802DAB50 38 E0 00 02 */ li r7, 2 -/* 802DAB54 48 06 E2 F1 */ bl DVDReadPrio -/* 802DAB58 2C 03 00 00 */ cmpwi r3, 0 -/* 802DAB5C 40 80 00 40 */ bge lbl_802DAB9C -/* 802DAB60 88 0D 83 50 */ lbz r0, data_804508D0(r13) -/* 802DAB64 28 00 00 00 */ cmplwi r0, 0 -/* 802DAB68 40 82 00 2C */ bne lbl_802DAB94 -/* 802DAB6C 28 1C 00 00 */ cmplwi r28, 0 -/* 802DAB70 41 82 00 1C */ beq lbl_802DAB8C -/* 802DAB74 7F 83 E3 78 */ mr r3, r28 -/* 802DAB78 38 80 00 01 */ li r4, 1 -/* 802DAB7C 81 9C 00 00 */ lwz r12, 0(r28) -/* 802DAB80 81 8C 00 08 */ lwz r12, 8(r12) -/* 802DAB84 7D 89 03 A6 */ mtctr r12 -/* 802DAB88 4E 80 04 21 */ bctrl -lbl_802DAB8C: -/* 802DAB8C 38 60 00 00 */ li r3, 0 -/* 802DAB90 48 00 02 30 */ b lbl_802DADC0 -lbl_802DAB94: -/* 802DAB94 48 07 1E 31 */ bl VIWaitForRetrace -/* 802DAB98 4B FF FF A8 */ b lbl_802DAB40 -lbl_802DAB9C: -/* 802DAB9C 7F 23 CB 78 */ mr r3, r25 -/* 802DABA0 38 80 00 20 */ li r4, 0x20 -/* 802DABA4 48 06 09 DD */ bl DCInvalidateRange -/* 802DABA8 7F 23 CB 78 */ mr r3, r25 -/* 802DABAC 48 00 11 4D */ bl checkCompressed__9JKRDecompFPUc -/* 802DABB0 2C 03 00 03 */ cmpwi r3, 3 -/* 802DABB4 40 82 00 08 */ bne lbl_802DABBC -/* 802DABB8 38 60 00 00 */ li r3, 0 -lbl_802DABBC: -/* 802DABBC 7C 7A 1B 78 */ mr r26, r3 -/* 802DABC0 88 B9 00 07 */ lbz r5, 7(r25) -/* 802DABC4 88 99 00 06 */ lbz r4, 6(r25) -/* 802DABC8 88 79 00 04 */ lbz r3, 4(r25) -/* 802DABCC 88 19 00 05 */ lbz r0, 5(r25) -/* 802DABD0 54 00 80 1E */ slwi r0, r0, 0x10 -/* 802DABD4 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 802DABD8 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 -/* 802DABDC 7C A0 03 78 */ or r0, r5, r0 -/* 802DABE0 7C 19 03 78 */ mr r25, r0 -/* 802DABE4 80 7D 00 40 */ lwz r3, 0x40(r29) -/* 802DABE8 28 03 00 00 */ cmplwi r3, 0 -/* 802DABEC 41 82 00 10 */ beq lbl_802DABFC -/* 802DABF0 7C 00 18 40 */ cmplw r0, r3 -/* 802DABF4 40 81 00 08 */ ble lbl_802DABFC -/* 802DABF8 7C 79 1B 78 */ mr r25, r3 -lbl_802DABFC: -/* 802DABFC 2C 1A 00 00 */ cmpwi r26, 0 -/* 802DAC00 40 82 00 0C */ bne lbl_802DAC0C -/* 802DAC04 38 00 00 00 */ li r0, 0 -/* 802DAC08 90 1D 00 34 */ stw r0, 0x34(r29) -lbl_802DAC0C: -/* 802DAC0C 80 1D 00 34 */ lwz r0, 0x34(r29) -/* 802DAC10 2C 00 00 01 */ cmpwi r0, 1 -/* 802DAC14 40 82 00 80 */ bne lbl_802DAC94 -/* 802DAC18 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 802DAC1C 28 00 00 00 */ cmplwi r0, 0 -/* 802DAC20 40 82 00 44 */ bne lbl_802DAC64 -/* 802DAC24 80 1D 00 30 */ lwz r0, 0x30(r29) -/* 802DAC28 28 00 00 00 */ cmplwi r0, 0 -/* 802DAC2C 40 82 00 38 */ bne lbl_802DAC64 -/* 802DAC30 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram(r13) -/* 802DAC34 80 63 00 94 */ lwz r3, 0x94(r3) -/* 802DAC38 7F 24 CB 78 */ mr r4, r25 -/* 802DAC3C 38 A0 00 00 */ li r5, 0 -/* 802DAC40 4B FF 83 7D */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode -/* 802DAC44 90 7D 00 30 */ stw r3, 0x30(r29) -/* 802DAC48 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 802DAC4C 28 03 00 00 */ cmplwi r3, 0 -/* 802DAC50 41 82 00 0C */ beq lbl_802DAC5C -/* 802DAC54 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802DAC58 90 1D 00 2C */ stw r0, 0x2c(r29) -lbl_802DAC5C: -/* 802DAC5C 80 1D 00 30 */ lwz r0, 0x30(r29) -/* 802DAC60 90 1E 00 4C */ stw r0, 0x4c(r30) -lbl_802DAC64: -/* 802DAC64 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 802DAC68 28 03 00 00 */ cmplwi r3, 0 -/* 802DAC6C 41 82 00 0C */ beq lbl_802DAC78 -/* 802DAC70 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802DAC74 90 1D 00 2C */ stw r0, 0x2c(r29) -lbl_802DAC78: -/* 802DAC78 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 802DAC7C 28 00 00 00 */ cmplwi r0, 0 -/* 802DAC80 40 82 00 74 */ bne lbl_802DACF4 -/* 802DAC84 38 00 00 00 */ li r0, 0 -/* 802DAC88 90 1E 00 50 */ stw r0, 0x50(r30) -/* 802DAC8C 38 60 00 00 */ li r3, 0 -/* 802DAC90 48 00 01 30 */ b lbl_802DADC0 -lbl_802DAC94: -/* 802DAC94 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 802DAC98 28 00 00 00 */ cmplwi r0, 0 -/* 802DAC9C 40 82 00 28 */ bne lbl_802DACC4 -/* 802DACA0 80 1D 00 30 */ lwz r0, 0x30(r29) -/* 802DACA4 28 00 00 00 */ cmplwi r0, 0 -/* 802DACA8 40 82 00 1C */ bne lbl_802DACC4 -/* 802DACAC 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram(r13) -/* 802DACB0 80 63 00 94 */ lwz r3, 0x94(r3) -/* 802DACB4 7F 64 DB 78 */ mr r4, r27 -/* 802DACB8 38 A0 00 00 */ li r5, 0 -/* 802DACBC 4B FF 83 01 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode -/* 802DACC0 90 7D 00 30 */ stw r3, 0x30(r29) -lbl_802DACC4: -/* 802DACC4 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 802DACC8 28 03 00 00 */ cmplwi r3, 0 -/* 802DACCC 41 82 00 0C */ beq lbl_802DACD8 -/* 802DACD0 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802DACD4 90 1D 00 2C */ stw r0, 0x2c(r29) -lbl_802DACD8: -/* 802DACD8 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 802DACDC 28 00 00 00 */ cmplwi r0, 0 -/* 802DACE0 40 82 00 14 */ bne lbl_802DACF4 -/* 802DACE4 38 00 00 00 */ li r0, 0 -/* 802DACE8 90 1E 00 50 */ stw r0, 0x50(r30) -/* 802DACEC 38 60 00 00 */ li r3, 0 -/* 802DACF0 48 00 00 D0 */ b lbl_802DADC0 -lbl_802DACF4: -/* 802DACF4 2C 1A 00 00 */ cmpwi r26, 0 -/* 802DACF8 40 82 00 24 */ bne lbl_802DAD1C -/* 802DACFC 80 9D 00 2C */ lwz r4, 0x2c(r29) -/* 802DAD00 80 DD 00 3C */ lwz r6, 0x3c(r29) -/* 802DAD04 7F 83 E3 78 */ mr r3, r28 -/* 802DAD08 7C A6 D8 50 */ subf r5, r6, r27 -/* 802DAD0C 80 FD 00 44 */ lwz r7, 0x44(r29) -/* 802DAD10 4B FF 91 C1 */ bl write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl -/* 802DAD14 90 7D 00 50 */ stw r3, 0x50(r29) -/* 802DAD18 48 00 00 5C */ b lbl_802DAD74 -lbl_802DAD1C: -/* 802DAD1C 2C 1A 00 01 */ cmpwi r26, 1 -/* 802DAD20 40 82 00 24 */ bne lbl_802DAD44 -/* 802DAD24 80 9D 00 2C */ lwz r4, 0x2c(r29) -/* 802DAD28 80 DD 00 3C */ lwz r6, 0x3c(r29) -/* 802DAD2C 7F 83 E3 78 */ mr r3, r28 -/* 802DAD30 7C A6 D8 50 */ subf r5, r6, r27 -/* 802DAD34 80 FD 00 44 */ lwz r7, 0x44(r29) -/* 802DAD38 4B FF 91 99 */ bl write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl -/* 802DAD3C 90 7D 00 50 */ stw r3, 0x50(r29) -/* 802DAD40 48 00 00 34 */ b lbl_802DAD74 -lbl_802DAD44: -/* 802DAD44 2C 1A 00 02 */ cmpwi r26, 2 -/* 802DAD48 40 82 00 2C */ bne lbl_802DAD74 -/* 802DAD4C 38 00 00 00 */ li r0, 0 -/* 802DAD50 90 1D 00 50 */ stw r0, 0x50(r29) -/* 802DAD54 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 802DAD58 80 9D 00 2C */ lwz r4, 0x2c(r29) -/* 802DAD5C 7F 65 DB 78 */ mr r5, r27 -/* 802DAD60 7F 26 CB 78 */ mr r6, r25 -/* 802DAD64 80 FD 00 3C */ lwz r7, 0x3c(r29) -/* 802DAD68 39 00 00 00 */ li r8, 0 -/* 802DAD6C 81 3D 00 44 */ lwz r9, 0x44(r29) -/* 802DAD70 48 00 02 79 */ bl JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl -lbl_802DAD74: -/* 802DAD74 81 9D 00 38 */ lwz r12, 0x38(r29) -/* 802DAD78 28 0C 00 00 */ cmplwi r12, 0 -/* 802DAD7C 40 82 00 18 */ bne lbl_802DAD94 -/* 802DAD80 3C 60 80 43 */ lis r3, sDvdAramAsyncList__16JKRDvdAramRipper@ha /* 0x804343B4@ha */ -/* 802DAD84 38 63 43 B4 */ addi r3, r3, sDvdAramAsyncList__16JKRDvdAramRipper@l /* 0x804343B4@l */ -/* 802DAD88 7F A4 EB 78 */ mr r4, r29 -/* 802DAD8C 48 00 11 C1 */ bl append__10JSUPtrListFP10JSUPtrLink -/* 802DAD90 48 00 00 10 */ b lbl_802DADA0 -lbl_802DAD94: -/* 802DAD94 7F A3 EB 78 */ mr r3, r29 -/* 802DAD98 7D 89 03 A6 */ mtctr r12 -/* 802DAD9C 4E 80 04 21 */ bctrl -lbl_802DADA0: -/* 802DADA0 38 7E 00 34 */ addi r3, r30, 0x34 -/* 802DADA4 48 06 43 79 */ bl OSUnlockMutex -/* 802DADA8 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 802DADAC 28 00 00 01 */ cmplwi r0, 1 -/* 802DADB0 40 82 00 0C */ bne lbl_802DADBC -/* 802DADB4 7F A3 EB 78 */ mr r3, r29 -/* 802DADB8 48 00 00 08 */ b lbl_802DADC0 -lbl_802DADBC: -/* 802DADBC 38 60 00 00 */ li r3, 0 -lbl_802DADC0: -/* 802DADC0 39 61 00 70 */ addi r11, r1, 0x70 -/* 802DADC4 48 08 74 55 */ bl _restgpr_25 -/* 802DADC8 80 01 00 74 */ lwz r0, 0x74(r1) -/* 802DADCC 7C 08 03 A6 */ mtlr r0 -/* 802DADD0 38 21 00 70 */ addi r1, r1, 0x70 -/* 802DADD4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/decompSZS_subroutine__FPUcUl.s b/asm/JSystem/JKernel/JKRDvdAramRipper/decompSZS_subroutine__FPUcUl.s deleted file mode 100644 index b3d912c404..0000000000 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/decompSZS_subroutine__FPUcUl.s +++ /dev/null @@ -1,183 +0,0 @@ -lbl_802DB160: -/* 802DB160 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802DB164 7C 08 02 A6 */ mflr r0 -/* 802DB168 90 01 00 34 */ stw r0, 0x34(r1) -/* 802DB16C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802DB170 48 08 70 55 */ bl _savegpr_23 -/* 802DB174 7C 98 23 78 */ mr r24, r4 -/* 802DB178 3B A0 00 00 */ li r29, 0 -/* 802DB17C 3B 80 00 00 */ li r28, 0 -/* 802DB180 3B 40 00 00 */ li r26, 0 -/* 802DB184 7F 19 C3 78 */ mr r25, r24 -/* 802DB188 88 03 00 00 */ lbz r0, 0(r3) -/* 802DB18C 2C 00 00 59 */ cmpwi r0, 0x59 -/* 802DB190 40 82 00 28 */ bne lbl_802DB1B8 -/* 802DB194 88 03 00 01 */ lbz r0, 1(r3) -/* 802DB198 2C 00 00 61 */ cmpwi r0, 0x61 -/* 802DB19C 40 82 00 1C */ bne lbl_802DB1B8 -/* 802DB1A0 88 03 00 02 */ lbz r0, 2(r3) -/* 802DB1A4 2C 00 00 7A */ cmpwi r0, 0x7a -/* 802DB1A8 40 82 00 10 */ bne lbl_802DB1B8 -/* 802DB1AC 88 03 00 03 */ lbz r0, 3(r3) -/* 802DB1B0 2C 00 00 30 */ cmpwi r0, 0x30 -/* 802DB1B4 41 82 00 0C */ beq lbl_802DB1C0 -lbl_802DB1B8: -/* 802DB1B8 38 60 FF FF */ li r3, -1 -/* 802DB1BC 48 00 02 14 */ b lbl_802DB3D0 -lbl_802DB1C0: -/* 802DB1C0 80 8D 8F 18 */ lwz r4, fileOffset(r13) -/* 802DB1C4 80 03 00 04 */ lwz r0, 4(r3) -/* 802DB1C8 7C 04 00 50 */ subf r0, r4, r0 -/* 802DB1CC 7F F8 02 14 */ add r31, r24, r0 -/* 802DB1D0 80 0D 8F 20 */ lwz r0, maxDest(r13) -/* 802DB1D4 7C 18 02 14 */ add r0, r24, r0 -/* 802DB1D8 7C 1F 00 40 */ cmplw r31, r0 -/* 802DB1DC 40 81 00 08 */ ble lbl_802DB1E4 -/* 802DB1E0 7C 1F 03 78 */ mr r31, r0 -lbl_802DB1E4: -/* 802DB1E4 3A E3 00 10 */ addi r23, r3, 0x10 -lbl_802DB1E8: -/* 802DB1E8 2C 1D 00 00 */ cmpwi r29, 0 -/* 802DB1EC 40 82 00 34 */ bne lbl_802DB220 -/* 802DB1F0 80 0D 8F 10 */ lwz r0, srcLimit(r13) -/* 802DB1F4 7C 17 00 40 */ cmplw r23, r0 -/* 802DB1F8 40 81 00 1C */ ble lbl_802DB214 -/* 802DB1FC 80 0D 8F 0C */ lwz r0, transLeft(r13) -/* 802DB200 28 00 00 00 */ cmplwi r0, 0 -/* 802DB204 41 82 00 10 */ beq lbl_802DB214 -/* 802DB208 7E E3 BB 78 */ mr r3, r23 -/* 802DB20C 48 00 02 91 */ bl nextSrcData__FPUc -/* 802DB210 7C 77 1B 78 */ mr r23, r3 -lbl_802DB214: -/* 802DB214 8B 97 00 00 */ lbz r28, 0(r23) -/* 802DB218 3B A0 00 08 */ li r29, 8 -/* 802DB21C 3A F7 00 01 */ addi r23, r23, 1 -lbl_802DB220: -/* 802DB220 57 80 06 31 */ rlwinm. r0, r28, 0, 0x18, 0x18 -/* 802DB224 41 82 00 94 */ beq lbl_802DB2B8 -/* 802DB228 80 6D 8F 1C */ lwz r3, readCount(r13) -/* 802DB22C 80 0D 8F 18 */ lwz r0, fileOffset(r13) -/* 802DB230 7C 03 00 40 */ cmplw r3, r0 -/* 802DB234 41 80 00 44 */ blt lbl_802DB278 -/* 802DB238 88 97 00 00 */ lbz r4, 0(r23) -/* 802DB23C 80 6D 8F 04 */ lwz r3, dmaCurrent(r13) -/* 802DB240 38 03 00 01 */ addi r0, r3, 1 -/* 802DB244 90 0D 8F 04 */ stw r0, dmaCurrent(r13) -/* 802DB248 98 83 00 00 */ stb r4, 0(r3) -/* 802DB24C 80 6D 8F 04 */ lwz r3, dmaCurrent(r13) -/* 802DB250 80 0D 8F 00 */ lwz r0, dmaEnd(r13) -/* 802DB254 7C 03 00 40 */ cmplw r3, r0 -/* 802DB258 3B 18 00 01 */ addi r24, r24, 1 -/* 802DB25C 3B 5A 00 01 */ addi r26, r26, 1 -/* 802DB260 40 82 00 10 */ bne lbl_802DB270 -/* 802DB264 7F 23 CB 78 */ mr r3, r25 -/* 802DB268 48 00 03 19 */ bl dmaBufferFlush__FUl -/* 802DB26C 7F 39 1A 14 */ add r25, r25, r3 -lbl_802DB270: -/* 802DB270 7C 18 F8 40 */ cmplw r24, r31 -/* 802DB274 41 82 01 48 */ beq lbl_802DB3BC -lbl_802DB278: -/* 802DB278 88 97 00 00 */ lbz r4, 0(r23) -/* 802DB27C 80 6D 8E F8 */ lwz r3, refCurrent(r13) -/* 802DB280 38 03 00 01 */ addi r0, r3, 1 -/* 802DB284 90 0D 8E F8 */ stw r0, refCurrent(r13) -/* 802DB288 98 83 00 00 */ stb r4, 0(r3) -/* 802DB28C 80 6D 8E F8 */ lwz r3, refCurrent(r13) -/* 802DB290 80 0D 8E F4 */ lwz r0, refEnd(r13) -/* 802DB294 7C 03 00 40 */ cmplw r3, r0 -/* 802DB298 40 82 00 0C */ bne lbl_802DB2A4 -/* 802DB29C 80 0D 8E F0 */ lwz r0, refBuf(r13) -/* 802DB2A0 90 0D 8E F8 */ stw r0, refCurrent(r13) -lbl_802DB2A4: -/* 802DB2A4 80 6D 8F 1C */ lwz r3, readCount(r13) -/* 802DB2A8 38 03 00 01 */ addi r0, r3, 1 -/* 802DB2AC 90 0D 8F 1C */ stw r0, readCount(r13) -/* 802DB2B0 3A F7 00 01 */ addi r23, r23, 1 -/* 802DB2B4 48 00 00 F8 */ b lbl_802DB3AC -lbl_802DB2B8: -/* 802DB2B8 88 77 00 00 */ lbz r3, 0(r23) -/* 802DB2BC 88 97 00 01 */ lbz r4, 1(r23) -/* 802DB2C0 50 64 45 2E */ rlwimi r4, r3, 8, 0x14, 0x17 -/* 802DB2C4 7C 7B 26 70 */ srawi r27, r3, 4 -/* 802DB2C8 80 0D 8E F8 */ lwz r0, refCurrent(r13) -/* 802DB2CC 7C 64 00 50 */ subf r3, r4, r0 -/* 802DB2D0 3B C3 FF FF */ addi r30, r3, -1 -/* 802DB2D4 80 6D 8E F0 */ lwz r3, refBuf(r13) -/* 802DB2D8 7C 1E 18 40 */ cmplw r30, r3 -/* 802DB2DC 3A F7 00 02 */ addi r23, r23, 2 -/* 802DB2E0 40 80 00 10 */ bge lbl_802DB2F0 -/* 802DB2E4 80 0D 8E F4 */ lwz r0, refEnd(r13) -/* 802DB2E8 7C 03 00 50 */ subf r0, r3, r0 -/* 802DB2EC 7F DE 02 14 */ add r30, r30, r0 -lbl_802DB2F0: -/* 802DB2F0 2C 1B 00 00 */ cmpwi r27, 0 -/* 802DB2F4 40 82 00 14 */ bne lbl_802DB308 -/* 802DB2F8 88 77 00 00 */ lbz r3, 0(r23) -/* 802DB2FC 3B 63 00 12 */ addi r27, r3, 0x12 -/* 802DB300 3A F7 00 01 */ addi r23, r23, 1 -/* 802DB304 48 00 00 08 */ b lbl_802DB30C -lbl_802DB308: -/* 802DB308 3B 7B 00 02 */ addi r27, r27, 2 -lbl_802DB30C: -/* 802DB30C 80 6D 8F 1C */ lwz r3, readCount(r13) -/* 802DB310 80 0D 8F 18 */ lwz r0, fileOffset(r13) -/* 802DB314 7C 03 00 40 */ cmplw r3, r0 -/* 802DB318 41 80 00 44 */ blt lbl_802DB35C -/* 802DB31C 88 9E 00 00 */ lbz r4, 0(r30) -/* 802DB320 80 6D 8F 04 */ lwz r3, dmaCurrent(r13) -/* 802DB324 38 03 00 01 */ addi r0, r3, 1 -/* 802DB328 90 0D 8F 04 */ stw r0, dmaCurrent(r13) -/* 802DB32C 98 83 00 00 */ stb r4, 0(r3) -/* 802DB330 80 6D 8F 04 */ lwz r3, dmaCurrent(r13) -/* 802DB334 80 0D 8F 00 */ lwz r0, dmaEnd(r13) -/* 802DB338 7C 03 00 40 */ cmplw r3, r0 -/* 802DB33C 3B 18 00 01 */ addi r24, r24, 1 -/* 802DB340 3B 5A 00 01 */ addi r26, r26, 1 -/* 802DB344 40 82 00 10 */ bne lbl_802DB354 -/* 802DB348 7F 23 CB 78 */ mr r3, r25 -/* 802DB34C 48 00 02 35 */ bl dmaBufferFlush__FUl -/* 802DB350 7F 39 1A 14 */ add r25, r25, r3 -lbl_802DB354: -/* 802DB354 7C 18 F8 40 */ cmplw r24, r31 -/* 802DB358 41 82 00 54 */ beq lbl_802DB3AC -lbl_802DB35C: -/* 802DB35C 88 9E 00 00 */ lbz r4, 0(r30) -/* 802DB360 80 6D 8E F8 */ lwz r3, refCurrent(r13) -/* 802DB364 38 03 00 01 */ addi r0, r3, 1 -/* 802DB368 90 0D 8E F8 */ stw r0, refCurrent(r13) -/* 802DB36C 98 83 00 00 */ stb r4, 0(r3) -/* 802DB370 80 0D 8E F8 */ lwz r0, refCurrent(r13) -/* 802DB374 80 6D 8E F4 */ lwz r3, refEnd(r13) -/* 802DB378 7C 00 18 40 */ cmplw r0, r3 -/* 802DB37C 40 82 00 0C */ bne lbl_802DB388 -/* 802DB380 80 0D 8E F0 */ lwz r0, refBuf(r13) -/* 802DB384 90 0D 8E F8 */ stw r0, refCurrent(r13) -lbl_802DB388: -/* 802DB388 3B DE 00 01 */ addi r30, r30, 1 -/* 802DB38C 7C 1E 18 40 */ cmplw r30, r3 -/* 802DB390 40 82 00 08 */ bne lbl_802DB398 -/* 802DB394 83 CD 8E F0 */ lwz r30, refBuf(r13) -lbl_802DB398: -/* 802DB398 80 6D 8F 1C */ lwz r3, readCount(r13) -/* 802DB39C 38 03 00 01 */ addi r0, r3, 1 -/* 802DB3A0 90 0D 8F 1C */ stw r0, readCount(r13) -/* 802DB3A4 37 7B FF FF */ addic. r27, r27, -1 -/* 802DB3A8 40 82 FF 64 */ bne lbl_802DB30C -lbl_802DB3AC: -/* 802DB3AC 57 9C 08 3C */ slwi r28, r28, 1 -/* 802DB3B0 7C 18 F8 40 */ cmplw r24, r31 -/* 802DB3B4 3B BD FF FF */ addi r29, r29, -1 -/* 802DB3B8 41 80 FE 30 */ blt lbl_802DB1E8 -lbl_802DB3BC: -/* 802DB3BC 7F 23 CB 78 */ mr r3, r25 -/* 802DB3C0 48 00 01 C1 */ bl dmaBufferFlush__FUl -/* 802DB3C4 80 6D 8F 28 */ lwz r3, tsPtr(r13) -/* 802DB3C8 93 43 00 00 */ stw r26, 0(r3) -/* 802DB3CC 38 60 00 00 */ li r3, 0 -lbl_802DB3D0: -/* 802DB3D0 39 61 00 30 */ addi r11, r1, 0x30 -/* 802DB3D4 48 08 6E 3D */ bl _restgpr_23 -/* 802DB3D8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802DB3DC 7C 08 03 A6 */ mtlr r0 -/* 802DB3E0 38 21 00 30 */ addi r1, r1, 0x30 -/* 802DB3E4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/dmaBufferFlush__FUl.s b/asm/JSystem/JKernel/JKRDvdAramRipper/dmaBufferFlush__FUl.s deleted file mode 100644 index 4e40382e6e..0000000000 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/dmaBufferFlush__FUl.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802DB580: -/* 802DB580 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DB584 7C 08 02 A6 */ mflr r0 -/* 802DB588 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DB58C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DB590 7C 65 1B 78 */ mr r5, r3 -/* 802DB594 80 0D 8F 04 */ lwz r0, dmaCurrent(r13) -/* 802DB598 80 8D 8E FC */ lwz r4, dmaBuf(r13) -/* 802DB59C 7C 00 20 40 */ cmplw r0, r4 -/* 802DB5A0 40 82 00 0C */ bne lbl_802DB5AC -/* 802DB5A4 38 60 00 00 */ li r3, 0 -/* 802DB5A8 48 00 00 2C */ b lbl_802DB5D4 -lbl_802DB5AC: -/* 802DB5AC 7C 64 00 50 */ subf r3, r4, r0 -/* 802DB5B0 38 03 00 1F */ addi r0, r3, 0x1f -/* 802DB5B4 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a -/* 802DB5B8 38 60 00 00 */ li r3, 0 -/* 802DB5BC 7F E6 FB 78 */ mr r6, r31 -/* 802DB5C0 38 E0 00 00 */ li r7, 0 -/* 802DB5C4 4B FF 82 75 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock -/* 802DB5C8 80 0D 8E FC */ lwz r0, dmaBuf(r13) -/* 802DB5CC 90 0D 8F 04 */ stw r0, dmaCurrent(r13) -/* 802DB5D0 7F E3 FB 78 */ mr r3, r31 -lbl_802DB5D4: -/* 802DB5D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DB5D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DB5DC 7C 08 03 A6 */ mtlr r0 -/* 802DB5E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DB5E4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/firstSrcData__Fv.s b/asm/JSystem/JKernel/JKRDvdAramRipper/firstSrcData__Fv.s deleted file mode 100644 index a0bad31599..0000000000 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/firstSrcData__Fv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_802DB3E8: -/* 802DB3E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DB3EC 7C 08 02 A6 */ mflr r0 -/* 802DB3F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DB3F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DB3F8 93 C1 00 08 */ stw r30, 8(r1) -/* 802DB3FC 80 6D 8E EC */ lwz r3, szpEnd(r13) -/* 802DB400 38 03 FF E7 */ addi r0, r3, -25 -/* 802DB404 90 0D 8F 10 */ stw r0, srcLimit(r13) -/* 802DB408 80 0D 8E E8 */ lwz r0, szpBuf(r13) -/* 802DB40C 7C 1E 03 78 */ mr r30, r0 -/* 802DB410 7C 60 18 50 */ subf r3, r0, r3 -/* 802DB414 80 0D 8F 0C */ lwz r0, transLeft(r13) -/* 802DB418 7C 00 18 40 */ cmplw r0, r3 -/* 802DB41C 7C 7F 1B 78 */ mr r31, r3 -/* 802DB420 40 80 00 08 */ bge lbl_802DB428 -/* 802DB424 7C 1F 03 78 */ mr r31, r0 -lbl_802DB428: -/* 802DB428 80 6D 8F 14 */ lwz r3, srcFile(r13) -/* 802DB42C 38 63 00 5C */ addi r3, r3, 0x5c -/* 802DB430 7F C4 F3 78 */ mr r4, r30 -/* 802DB434 7F E5 FB 78 */ mr r5, r31 -/* 802DB438 38 C0 00 00 */ li r6, 0 -/* 802DB43C 38 E0 00 02 */ li r7, 2 -/* 802DB440 48 06 DA 05 */ bl DVDReadPrio -/* 802DB444 2C 03 00 00 */ cmpwi r3, 0 -/* 802DB448 40 80 00 20 */ bge lbl_802DB468 -/* 802DB44C 88 0D 83 50 */ lbz r0, data_804508D0(r13) -/* 802DB450 28 00 00 00 */ cmplwi r0, 0 -/* 802DB454 40 82 00 0C */ bne lbl_802DB460 -/* 802DB458 38 60 00 00 */ li r3, 0 -/* 802DB45C 48 00 00 28 */ b lbl_802DB484 -lbl_802DB460: -/* 802DB460 48 07 15 65 */ bl VIWaitForRetrace -/* 802DB464 4B FF FF C4 */ b lbl_802DB428 -lbl_802DB468: -/* 802DB468 80 0D 8F 08 */ lwz r0, srcOffset(r13) -/* 802DB46C 7C 00 FA 14 */ add r0, r0, r31 -/* 802DB470 90 0D 8F 08 */ stw r0, srcOffset(r13) -/* 802DB474 80 0D 8F 0C */ lwz r0, transLeft(r13) -/* 802DB478 7C 1F 00 50 */ subf r0, r31, r0 -/* 802DB47C 90 0D 8F 0C */ stw r0, transLeft(r13) -/* 802DB480 7F C3 F3 78 */ mr r3, r30 -lbl_802DB484: -/* 802DB484 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DB488 83 C1 00 08 */ lwz r30, 8(r1) -/* 802DB48C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DB490 7C 08 03 A6 */ mtlr r0 -/* 802DB494 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DB498 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/func_802DB62C.s b/asm/JSystem/JKernel/JKRDvdAramRipper/func_802DB62C.s deleted file mode 100644 index df3b97b929..0000000000 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/func_802DB62C.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802DB62C: -/* 802DB62C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DB630 7C 08 02 A6 */ mflr r0 -/* 802DB634 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DB638 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DB63C 93 C1 00 08 */ stw r30, 8(r1) -/* 802DB640 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802DB644 7C 9F 23 78 */ mr r31, r4 -/* 802DB648 41 82 00 1C */ beq lbl_802DB664 -/* 802DB64C 38 80 00 00 */ li r4, 0 -/* 802DB650 48 00 08 5D */ bl __dt__10JSUPtrListFv -/* 802DB654 7F E0 07 35 */ extsh. r0, r31 -/* 802DB658 40 81 00 0C */ ble lbl_802DB664 -/* 802DB65C 7F C3 F3 78 */ mr r3, r30 -/* 802DB660 4B FF 36 DD */ bl __dl__FPv -lbl_802DB664: -/* 802DB664 7F C3 F3 78 */ mr r3, r30 -/* 802DB668 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DB66C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802DB670 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DB674 7C 08 03 A6 */ mtlr r0 -/* 802DB678 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DB67C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/nextSrcData__FPUc.s b/asm/JSystem/JKernel/JKRDvdAramRipper/nextSrcData__FPUc.s index 6ea3cb933d..091d6dda89 100644 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/nextSrcData__FPUc.s +++ b/asm/JSystem/JKernel/JKRDvdAramRipper/nextSrcData__FPUc.s @@ -36,7 +36,7 @@ lbl_802DB500: /* 802DB518 48 06 D9 2D */ bl DVDReadPrio /* 802DB51C 2C 03 00 00 */ cmpwi r3, 0 /* 802DB520 40 80 00 20 */ bge lbl_802DB540 -/* 802DB524 88 0D 83 50 */ lbz r0, data_804508D0(r13) +/* 802DB524 88 0D 83 50 */ lbz r0, errorRetry__16JKRDvdAramRipper(r13) /* 802DB528 28 00 00 00 */ cmplwi r0, 0 /* 802DB52C 40 82 00 0C */ bne lbl_802DB538 /* 802DB530 38 60 00 00 */ li r3, 0 diff --git a/asm/JSystem/JKernel/JKRDvdAramRipper/syncAram__16JKRDvdAramRipperFP12JKRADCommandi.s b/asm/JSystem/JKernel/JKRDvdAramRipper/syncAram__16JKRDvdAramRipperFP12JKRADCommandi.s deleted file mode 100644 index 166efcfda8..0000000000 --- a/asm/JSystem/JKernel/JKRDvdAramRipper/syncAram__16JKRDvdAramRipperFP12JKRADCommandi.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_802DAE48: -/* 802DAE48 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802DAE4C 7C 08 02 A6 */ mflr r0 -/* 802DAE50 90 01 00 24 */ stw r0, 0x24(r1) -/* 802DAE54 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DAE58 48 08 73 85 */ bl _savegpr_29 -/* 802DAE5C 7C 7D 1B 78 */ mr r29, r3 -/* 802DAE60 7C 9E 23 78 */ mr r30, r4 -/* 802DAE64 83 E3 00 28 */ lwz r31, 0x28(r3) -/* 802DAE68 38 7F 00 34 */ addi r3, r31, 0x34 -/* 802DAE6C 48 06 41 D5 */ bl OSLockMutex -/* 802DAE70 80 7D 00 50 */ lwz r3, 0x50(r29) -/* 802DAE74 28 03 00 00 */ cmplwi r3, 0 -/* 802DAE78 41 82 00 38 */ beq lbl_802DAEB0 -/* 802DAE7C 7F C4 F3 78 */ mr r4, r30 -/* 802DAE80 4B FF 91 21 */ bl sync__13JKRAramStreamFP20JKRAramStreamCommandi -/* 802DAE84 30 03 FF FF */ addic r0, r3, -1 -/* 802DAE88 7C 00 01 10 */ subfe r0, r0, r0 -/* 802DAE8C 90 1D 00 48 */ stw r0, 0x48(r29) -/* 802DAE90 2C 1E 00 00 */ cmpwi r30, 0 -/* 802DAE94 41 82 00 1C */ beq lbl_802DAEB0 -/* 802DAE98 28 03 00 00 */ cmplwi r3, 0 -/* 802DAE9C 40 82 00 14 */ bne lbl_802DAEB0 -/* 802DAEA0 38 7F 00 34 */ addi r3, r31, 0x34 -/* 802DAEA4 48 06 42 79 */ bl OSUnlockMutex -/* 802DAEA8 38 60 00 00 */ li r3, 0 -/* 802DAEAC 48 00 00 58 */ b lbl_802DAF04 -lbl_802DAEB0: -/* 802DAEB0 3C 60 80 43 */ lis r3, sDvdAramAsyncList__16JKRDvdAramRipper@ha /* 0x804343B4@ha */ -/* 802DAEB4 38 63 43 B4 */ addi r3, r3, sDvdAramAsyncList__16JKRDvdAramRipper@l /* 0x804343B4@l */ -/* 802DAEB8 7F A4 EB 78 */ mr r4, r29 -/* 802DAEBC 48 00 12 A1 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802DAEC0 80 7D 00 50 */ lwz r3, 0x50(r29) -/* 802DAEC4 28 03 00 00 */ cmplwi r3, 0 -/* 802DAEC8 41 82 00 08 */ beq lbl_802DAED0 -/* 802DAECC 4B FF 3E 71 */ bl __dl__FPv -lbl_802DAED0: -/* 802DAED0 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 802DAED4 28 03 00 00 */ cmplwi r3, 0 -/* 802DAED8 41 82 00 18 */ beq lbl_802DAEF0 -/* 802DAEDC 38 80 00 01 */ li r4, 1 -/* 802DAEE0 81 83 00 00 */ lwz r12, 0(r3) -/* 802DAEE4 81 8C 00 08 */ lwz r12, 8(r12) -/* 802DAEE8 7D 89 03 A6 */ mtctr r12 -/* 802DAEEC 4E 80 04 21 */ bctrl -lbl_802DAEF0: -/* 802DAEF0 38 00 00 00 */ li r0, 0 -/* 802DAEF4 90 1F 00 50 */ stw r0, 0x50(r31) -/* 802DAEF8 38 7F 00 34 */ addi r3, r31, 0x34 -/* 802DAEFC 48 06 42 21 */ bl OSUnlockMutex -/* 802DAF00 38 60 00 01 */ li r3, 1 -lbl_802DAF04: -/* 802DAF04 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DAF08 48 08 73 21 */ bl _restgpr_29 -/* 802DAF0C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802DAF10 7C 08 03 A6 */ mtlr r0 -/* 802DAF14 38 21 00 20 */ addi r1, r1, 0x20 -/* 802DAF18 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRDvdArchive/fetchResource__13JKRDvdArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s b/asm/JSystem/JKernel/JKRDvdArchive/fetchResource__13JKRDvdArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s deleted file mode 100644 index df6ae3aa95..0000000000 --- a/asm/JSystem/JKernel/JKRDvdArchive/fetchResource__13JKRDvdArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_802D8168: -/* 802D8168 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D816C 7C 08 02 A6 */ mflr r0 -/* 802D8170 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D8174 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D8178 48 08 A0 5D */ bl _savegpr_27 -/* 802D817C 7C 69 1B 78 */ mr r9, r3 -/* 802D8180 7C 9B 23 78 */ mr r27, r4 -/* 802D8184 7C BC 2B 78 */ mr r28, r5 -/* 802D8188 7C DD 33 78 */ mr r29, r6 -/* 802D818C 7C FE 3B 78 */ mr r30, r7 -/* 802D8190 80 A6 00 0C */ lwz r5, 0xc(r6) -/* 802D8194 7C BF 2B 78 */ mr r31, r5 -/* 802D8198 80 06 00 04 */ lwz r0, 4(r6) -/* 802D819C 54 03 46 3E */ srwi r3, r0, 0x18 -/* 802D81A0 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d -/* 802D81A4 40 82 00 0C */ bne lbl_802D81B0 -/* 802D81A8 39 00 00 00 */ li r8, 0 -/* 802D81AC 48 00 00 18 */ b lbl_802D81C4 -lbl_802D81B0: -/* 802D81B0 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 -/* 802D81B4 41 82 00 0C */ beq lbl_802D81C0 -/* 802D81B8 39 00 00 02 */ li r8, 2 -/* 802D81BC 48 00 00 08 */ b lbl_802D81C4 -lbl_802D81C0: -/* 802D81C0 39 00 00 01 */ li r8, 1 -lbl_802D81C4: -/* 802D81C4 80 1D 00 10 */ lwz r0, 0x10(r29) -/* 802D81C8 28 00 00 00 */ cmplwi r0, 0 -/* 802D81CC 40 82 00 30 */ bne lbl_802D81FC -/* 802D81D0 57 9C 00 34 */ rlwinm r28, r28, 0, 0, 0x1a -/* 802D81D4 80 69 00 40 */ lwz r3, 0x40(r9) -/* 802D81D8 80 89 00 64 */ lwz r4, 0x64(r9) -/* 802D81DC 80 1D 00 08 */ lwz r0, 8(r29) -/* 802D81E0 7C 84 02 14 */ add r4, r4, r0 -/* 802D81E4 7F 66 DB 78 */ mr r6, r27 -/* 802D81E8 7F 87 E3 78 */ mr r7, r28 -/* 802D81EC 81 29 00 5C */ lwz r9, 0x5c(r9) -/* 802D81F0 48 00 00 7D */ bl fetchResource_subroutine__13JKRDvdArchiveFlUlUlPUcUlii -/* 802D81F4 7C 7F 1B 78 */ mr r31, r3 -/* 802D81F8 48 00 00 4C */ b lbl_802D8244 -lbl_802D81FC: -/* 802D81FC 2C 08 00 02 */ cmpwi r8, 2 -/* 802D8200 40 82 00 28 */ bne lbl_802D8228 -/* 802D8204 7D 23 4B 78 */ mr r3, r9 -/* 802D8208 7F A4 EB 78 */ mr r4, r29 -/* 802D820C 81 89 00 00 */ lwz r12, 0(r9) -/* 802D8210 81 8C 00 4C */ lwz r12, 0x4c(r12) -/* 802D8214 7D 89 03 A6 */ mtctr r12 -/* 802D8218 4E 80 04 21 */ bctrl -/* 802D821C 28 03 00 00 */ cmplwi r3, 0 -/* 802D8220 41 82 00 08 */ beq lbl_802D8228 -/* 802D8224 7C 7F 1B 78 */ mr r31, r3 -lbl_802D8228: -/* 802D8228 7C 1F E0 40 */ cmplw r31, r28 -/* 802D822C 40 81 00 08 */ ble lbl_802D8234 -/* 802D8230 7F 9F E3 78 */ mr r31, r28 -lbl_802D8234: -/* 802D8234 7F 63 DB 78 */ mr r3, r27 -/* 802D8238 80 9D 00 10 */ lwz r4, 0x10(r29) -/* 802D823C 7F E5 FB 78 */ mr r5, r31 -/* 802D8240 4B FF 68 D9 */ bl copyMemory__7JKRHeapFPvPvUl -lbl_802D8244: -/* 802D8244 28 1E 00 00 */ cmplwi r30, 0 -/* 802D8248 41 82 00 08 */ beq lbl_802D8250 -/* 802D824C 93 FE 00 00 */ stw r31, 0(r30) -lbl_802D8250: -/* 802D8250 7F 63 DB 78 */ mr r3, r27 -/* 802D8254 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D8258 48 08 9F C9 */ bl _restgpr_27 -/* 802D825C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D8260 7C 08 03 A6 */ mtlr r0 -/* 802D8264 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D8268 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTConsole/appendConsole__17JUTConsoleManagerFP10JUTConsole.s b/asm/JSystem/JUtility/JUTConsole/appendConsole__17JUTConsoleManagerFP10JUTConsole.s deleted file mode 100644 index 9972c356ec..0000000000 --- a/asm/JSystem/JUtility/JUTConsole/appendConsole__17JUTConsoleManagerFP10JUTConsole.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_802E8240: -/* 802E8240 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802E8244 7C 08 02 A6 */ mflr r0 -/* 802E8248 90 01 00 34 */ stw r0, 0x34(r1) -/* 802E824C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 802E8250 93 C1 00 28 */ stw r30, 0x28(r1) -/* 802E8254 7C 7E 1B 78 */ mr r30, r3 -/* 802E8258 7C 9F 23 78 */ mr r31, r4 -/* 802E825C 38 1E 00 04 */ addi r0, r30, 4 -/* 802E8260 90 01 00 0C */ stw r0, 0xc(r1) -/* 802E8264 90 01 00 08 */ stw r0, 8(r1) -/* 802E8268 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802E826C 90 01 00 18 */ stw r0, 0x18(r1) -/* 802E8270 38 DF 00 18 */ addi r6, r31, 0x18 -/* 802E8274 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E8278 38 61 00 10 */ addi r3, r1, 0x10 -/* 802E827C 7F C4 F3 78 */ mr r4, r30 -/* 802E8280 38 A1 00 14 */ addi r5, r1, 0x14 -/* 802E8284 4B FF 49 25 */ bl Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode -/* 802E8288 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 802E828C 28 00 00 00 */ cmplwi r0, 0 -/* 802E8290 40 82 00 08 */ bne lbl_802E8298 -/* 802E8294 93 FE 00 0C */ stw r31, 0xc(r30) -lbl_802E8298: -/* 802E8298 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 802E829C 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 802E82A0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802E82A4 7C 08 03 A6 */ mtlr r0 -/* 802E82A8 38 21 00 30 */ addi r1, r1, 0x30 -/* 802E82AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTConsole/removeConsole__17JUTConsoleManagerFP10JUTConsole.s b/asm/JSystem/JUtility/JUTConsole/removeConsole__17JUTConsoleManagerFP10JUTConsole.s deleted file mode 100644 index 42eaa2db75..0000000000 --- a/asm/JSystem/JUtility/JUTConsole/removeConsole__17JUTConsoleManagerFP10JUTConsole.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_802E82B0: -/* 802E82B0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802E82B4 7C 08 02 A6 */ mflr r0 -/* 802E82B8 90 01 00 34 */ stw r0, 0x34(r1) -/* 802E82BC 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 802E82C0 93 C1 00 28 */ stw r30, 0x28(r1) -/* 802E82C4 7C 7E 1B 78 */ mr r30, r3 -/* 802E82C8 7C 9F 23 78 */ mr r31, r4 -/* 802E82CC 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802E82D0 7C 00 F8 40 */ cmplw r0, r31 -/* 802E82D4 40 82 00 64 */ bne lbl_802E8338 -/* 802E82D8 80 1E 00 00 */ lwz r0, 0(r30) -/* 802E82DC 28 00 00 01 */ cmplwi r0, 1 -/* 802E82E0 41 81 00 10 */ bgt lbl_802E82F0 -/* 802E82E4 38 00 00 00 */ li r0, 0 -/* 802E82E8 90 1E 00 0C */ stw r0, 0xc(r30) -/* 802E82EC 48 00 00 4C */ b lbl_802E8338 -lbl_802E82F0: -/* 802E82F0 38 7E 00 04 */ addi r3, r30, 4 -/* 802E82F4 90 61 00 18 */ stw r3, 0x18(r1) -/* 802E82F8 90 61 00 14 */ stw r3, 0x14(r1) -/* 802E82FC 90 61 00 20 */ stw r3, 0x20(r1) -/* 802E8300 80 63 00 04 */ lwz r3, 4(r3) -/* 802E8304 90 61 00 08 */ stw r3, 8(r1) -/* 802E8308 38 03 FF E8 */ addi r0, r3, -24 -/* 802E830C 7C 1F 00 40 */ cmplw r31, r0 -/* 802E8310 41 82 00 10 */ beq lbl_802E8320 -/* 802E8314 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802E8318 38 03 FF E8 */ addi r0, r3, -24 -/* 802E831C 48 00 00 18 */ b lbl_802E8334 -lbl_802E8320: -/* 802E8320 80 7E 00 04 */ lwz r3, 4(r30) -/* 802E8324 90 61 00 10 */ stw r3, 0x10(r1) -/* 802E8328 90 61 00 0C */ stw r3, 0xc(r1) -/* 802E832C 90 61 00 1C */ stw r3, 0x1c(r1) -/* 802E8330 38 03 FF E8 */ addi r0, r3, -24 -lbl_802E8334: -/* 802E8334 90 1E 00 0C */ stw r0, 0xc(r30) -lbl_802E8338: -/* 802E8338 48 00 02 01 */ bl JUTGetWarningConsole -/* 802E833C 7C 03 F8 40 */ cmplw r3, r31 -/* 802E8340 40 82 00 0C */ bne lbl_802E834C -/* 802E8344 38 60 00 00 */ li r3, 0 -/* 802E8348 48 00 01 E9 */ bl JUTSetWarningConsole -lbl_802E834C: -/* 802E834C 48 00 01 DD */ bl JUTGetReportConsole -/* 802E8350 7C 03 F8 40 */ cmplw r3, r31 -/* 802E8354 40 82 00 0C */ bne lbl_802E8360 -/* 802E8358 38 60 00 00 */ li r3, 0 -/* 802E835C 48 00 01 C5 */ bl JUTSetReportConsole -lbl_802E8360: -/* 802E8360 38 9F 00 18 */ addi r4, r31, 0x18 -/* 802E8364 7F C3 F3 78 */ mr r3, r30 -/* 802E8368 4B FF 48 91 */ bl Remove__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode -/* 802E836C 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 802E8370 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 802E8374 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802E8378 7C 08 03 A6 */ mtlr r0 -/* 802E837C 38 21 00 30 */ addi r1, r1, 0x30 -/* 802E8380 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index 1e3f84653b..b2ab398cee 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -56,7 +56,7 @@ public: /* 8030A358 */ virtual ~J2DAnmVtxColor() {} /* 8030363C */ virtual void getColor(u8, u16, _GXColor*) const; u16 getAnmTableNum(u8 param_0) const { return mAnmTableNum[param_0]; } - J3DAnmVtxColorIndexDataItem* getAnmVtxColorIndexData(u8 param_0, u16 param_1) const { return mVtxColorIndexData[param_0]->field_0x0 + param_1; } + J3DAnmVtxColorIndexData* getAnmVtxColorIndexData(u8 param_0, u16 param_1) const { return &mVtxColorIndexData[param_0][param_1]; } u16* getVtxColorIndexPointer(u8 param_0) const { return mVtxColorIndexPointer[param_0]; } /* 0x10 */ u16 mAnmTableNum[2]; diff --git a/include/JSystem/J2DGraph/J2DAnmLoader.h b/include/JSystem/J2DGraph/J2DAnmLoader.h index c135b48320..73d000fcca 100644 --- a/include/JSystem/J2DGraph/J2DAnmLoader.h +++ b/include/JSystem/J2DGraph/J2DAnmLoader.h @@ -16,18 +16,6 @@ public: void* mpResource; }; -struct J3DAnmTransformKeyData { - /* 0x00 */ u8 _0[0x8]; - /* 0x08 */ u8 _8; - /* 0x09 */ u8 _9; - /* 0x0A */ s16 mFrameMax; - /* 0x0C */ u16 _C; - /* 0x0E */ u8 _E[0x14 - 0xE]; - /* 0x14 */ s32 mTableOffset; - /* 0x18 */ s32 mScaleOffset; - /* 0x1C */ s32 mRotationOffset; - /* 0x20 */ s32 mTranslateOffset; -}; struct J3DAnmTextureSRTKeyData; struct J3DAnmColorKeyData; struct J3DAnmVtxColorKeyData; @@ -37,6 +25,7 @@ struct J3DAnmColorFullData; struct J3DAnmTexPatternFullData; struct J3DAnmVisibilityFullData; struct J3DAnmVtxColorFullData; +struct J3DAnmTransformKeyData; class J2DAnmKeyLoader_v15 : public J2DAnmLoader { public: diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h index b3ff43f6ee..40570ca8d4 100644 --- a/include/JSystem/J2DGraph/J2DPicture.h +++ b/include/JSystem/J2DGraph/J2DPicture.h @@ -12,10 +12,17 @@ struct ResTIMG; struct ResTLUT; enum J2DMirror { - /* 0x0 */ MIRROR0, // temp, figure out later + /* 0 */ MIRROR0, // temp, figure out later + /* 1 */ J2DMirror_Y = (1 << 0), + /* 2 */ J2DMirror_X = (1 << 1), }; enum J2DBinding { + /* 1 */ J2DBind_Bottom = (1 << 0), + /* 2 */ J2DBind_Top = (1 << 1), + /* 4 */ J2DBind_Right = (1 << 2), + /* 8 */ J2DBind_Left = (1 << 3), + /* 0xF */ BIND15 = 15, // temp, figure out later }; diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index a35eed551d..be944dd686 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -5,6 +5,26 @@ #include "JSystem/JUtility/JUTNameTab.h" #include "global.h" +struct JUTDataBlockHeader { + /* 0x0 */ u32 mType; + /* 0x4 */ u32 mSize; + + const JUTDataBlockHeader* getNext() const { // fake inline + return reinterpret_cast(reinterpret_cast(this) + + mSize); + } +}; + +struct JUTDataFileHeader { // actual struct name unknown + /* 0x00 */ u32 mMagic; + /* 0x04 */ u32 mType; + /* 0x08 */ u32 mFileSize; + /* 0x0C */ u32 mBlockNum; + /* 0x10 */ u8 _10[0x1C - 0x10]; + /* 0x1C */ u32 mSeAnmOffset; // Only exists for some BCKs + /* 0x20 */ JUTDataBlockHeader mFirstBlock; +}; + typedef struct _GXColor GXColor; typedef struct _GXColorS10 GXColorS10; @@ -21,13 +41,9 @@ struct J3DAnmColorKeyTable { J3DAnmKeyTableBase mAInfo; }; // Size = 0x18 -struct J3DAnmVtxColorIndexDataItem { - u16 count; - u32 offset; -}; - struct J3DAnmVtxColorIndexData { - J3DAnmVtxColorIndexDataItem field_0x0[4]; + /* 0x00 */ u16 mNum; + /* 0x04 */ void* mpData; }; struct J3DAnmColorFullTable { @@ -285,8 +301,55 @@ struct J3DAnmColorFullData { /* PlaceHolder Structure */ STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34); +struct J3DAnmClusterKeyTable { + /* 0x00 */ J3DAnmKeyTableBase mWeightTable; +}; + +struct J3DAnmTransformKeyData { + /* 0x00 */ JUTDataBlockHeader mHeader; + /* 0x08 */ u8 field_0x8; + /* 0x09 */ u8 field_0x9; + /* 0x0A */ s16 mFrameMax; + /* 0x0C */ u16 field_0xc; + /* 0x10 */ int field_0x10; + /* 0x14 */ s32 mTableOffset; + /* 0x18 */ s32 field_0x18; + /* 0x1c */ s32 field_0x1c; + /* 0x20 */ s32 field_0x20; +}; + +struct J3DAnmClusterKeyData { + /* 0x00 */ JUTDataBlockHeader mHeader; + /* 0x08 */ u8 field_0x8; + /* 0x0A */ s16 mFrameMax; + /* 0x0C */ s32 field_0xc; + /* 0x10 */ s32 mTableOffset; + /* 0x14 */ s32 mWeightOffset; +}; + +struct J3DAnmClusterFullData { + /* 0x00 */ JUTDataBlockHeader mHeader; + /* 0x08 */ u8 field_0x8; + /* 0x0A */ s16 mFrameMax; + /* 0x0C */ s32 field_0xc; + /* 0x10 */ s32 mTableOffset; + /* 0x14 */ s32 mWeightOffset; +}; + +struct J3DAnmClusterFullTable { + u16 mMaxFrame; + u16 mOffset; +}; + class J3DAnmBase { public: + J3DAnmBase() { + mAttribute = 0; + field_0x5 = 0; + mFrameMax = 0; + mFrame = 0.0f; + } + J3DAnmBase(s16 i_frameMax) { mAttribute = 0; field_0x5 = 0; @@ -295,13 +358,13 @@ public: } virtual ~J3DAnmBase(); + virtual s32 getKind() const = 0; u8 getAttribute() const { return mAttribute; } s16 getFrameMax() const { return mFrameMax; } f32 getFrame() const { return mFrame; } void setFrame(f32 frame) { mFrame = frame; } -private: /* 0x4 */ u8 mAttribute; /* 0x5 */ u8 field_0x5; /* 0x6 */ s16 mFrameMax; @@ -316,21 +379,20 @@ public: /* 8003C77C */ virtual s32 getKind() const; virtual void getTransform(u16, J3DTransformInfo*) const = 0; -private: - /* 0x0C */ f32* field_0xc; - /* 0x10 */ s16* field_0x10; - /* 0x14 */ f32* field_0x14; + /* 0x0C */ f32* mScaleData; + /* 0x10 */ s16* mRotData; + /* 0x14 */ f32* mTransData; /* 0x18 */ s16 field_0x18; /* 0x1A */ s16 field_0x1a; - /* 0x1C */ s16 field_0x1c; + /* 0x1C */ u16 field_0x1c; /* 0x1E */ s16 field_0x1e; }; // Size: 0x20 class J3DAnmTransformKey : public J3DAnmTransform { public: J3DAnmTransformKey() : J3DAnmTransform(0, NULL, NULL, NULL) { - field_0x20 = 0; - field_0x24 = 0; + mDecShift = 0; + mAnmTable = 0; } /* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const; @@ -339,19 +401,19 @@ public: /* 8003C800 */ virtual s32 getKind() const; /* 8003C808 */ virtual void getTransform(u16, J3DTransformInfo*) const; -private: - /* 0x20 */ int field_0x20; - /* 0x24 */ int field_0x24; + /* 0x20 */ int mDecShift; + /* 0x24 */ J3DAnmTransformKeyTable* mAnmTable; }; // Size: 0x28 class J3DAnmTransformFull : public J3DAnmTransform { public: + J3DAnmTransformFull() : J3DAnmTransform(0, NULL, NULL, NULL) { mAnmTable = NULL; } + /* 8032C2AC */ virtual ~J3DAnmTransformFull(); /* 8032C318 */ virtual s32 getKind() const; /* 80328E90 */ virtual void getTransform(u16, J3DTransformInfo*) const; -private: - /* 0x20 */ int field_0x20; + /* 0x20 */ J3DAnmTransformFullTable* mAnmTable; }; // Size: 0x24 class J3DAnmTransformFullWithLerp : public J3DAnmTransformFull { @@ -380,34 +442,33 @@ public: } u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; } - u16 getUpdateMaterialNum() const { return field_0x14 / 3; } + u16 getUpdateMaterialNum() const { return mTrackNum / 3; } -private: - /* 0x0C */ int field_0xc; - /* 0x10 */ int field_0x10; - /* 0x14 */ u16 field_0x14; - /* 0x16 */ u16 field_0x16; - /* 0x18 */ u16 field_0x18; - /* 0x1A */ u16 field_0x1a; - /* 0x1C */ int field_0x1c; - /* 0x20 */ int field_0x20; - /* 0x24 */ int field_0x24; - /* 0x28 */ u8 mUpdateTexMtxID[4]; + /* 0x0C */ int mDecShift; + /* 0x10 */ J3DAnmTransformKeyTable* mAnmTable; + /* 0x14 */ u16 mTrackNum; + /* 0x16 */ u16 mScaleNum; + /* 0x18 */ u16 mRotNum; + /* 0x1A */ u16 mTransNum; + /* 0x1C */ f32* mScaleData; + /* 0x20 */ s16* mRotData; + /* 0x24 */ f32* mTransData; + /* 0x28 */ u8* mUpdateTexMtxID; /* 0x2C */ u16* mUpdateMaterialID; - /* 0x30 */ JUTNameTab field_0x30; - /* 0x40 */ int field_0x40; + /* 0x30 */ JUTNameTab mUpdateMaterialName; + /* 0x40 */ Vec* mSRTCenter; /* 0x44 */ u16 field_0x44; /* 0x46 */ u16 field_0x46; /* 0x48 */ u16 field_0x48; /* 0x4A */ u16 field_0x4a; - /* 0x4C */ int field_0x4c; - /* 0x50 */ int field_0x50; - /* 0x54 */ int field_0x54; - /* 0x58 */ int field_0x58; - /* 0x5C */ u8 field_0x5c[4]; - /* 0x60 */ u16* field_0x60; - /* 0x64 */ JUTNameTab field_0x64; - /* 0x74 */ u8 field_0x74[4]; + /* 0x4C */ void* field_0x4c; + /* 0x50 */ void* field_0x50; + /* 0x54 */ void* field_0x54; + /* 0x58 */ void* field_0x58; + /* 0x5C */ u8* mPostUpdateTexMtxID; + /* 0x60 */ u16* mPostUpdateMaterialID; + /* 0x64 */ JUTNameTab mPostUpdateMaterialName; + /* 0x74 */ Vec* mPostSRTCenter; /* 0x78 */ u32 mTexMtxCalcType; }; // Size: 0x7C @@ -426,8 +487,7 @@ public: bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; } J3DAnmTexPatternFullTable* getAnmTable() { return mAnmTable; } -private: - /* 0x0C */ void* field_0xc; + /* 0x0C */ u16* mTextureIndex; /* 0x10 */ J3DAnmTexPatternFullTable* mAnmTable; /* 0x14 */ u16 field_0x14; /* 0x16 */ u16 mUpdateMaterialNum; @@ -452,31 +512,30 @@ public: u16 getCRegUpdateMaterialID(u16 idx) const { return mCRegUpdateMaterialID[idx]; } u16 getKRegUpdateMaterialID(u16 idx) const { return mKRegUpdateMaterialID[idx]; } -private: /* 0x0C */ u16 mCRegUpdateMaterialNum; /* 0x0E */ u16 mKRegUpdateMaterialNum; - /* 0x10 */ u16 field_0x10; - /* 0x12 */ u16 field_0x12; - /* 0x14 */ u16 field_0x14; - /* 0x16 */ u16 field_0x16; - /* 0x18 */ u16 field_0x18; - /* 0x1A */ u16 field_0x1a; - /* 0x1C */ u16 field_0x1c; - /* 0x1E */ u16 field_0x1e; + /* 0x10 */ u16 mCRegDataCountR; + /* 0x12 */ u16 mCRegDataCountG; + /* 0x14 */ u16 mCRegDataCountB; + /* 0x16 */ u16 mCRegDataCountA; + /* 0x18 */ u16 mKRegDataCountR; + /* 0x1A */ u16 mKRegDataCountG; + /* 0x1C */ u16 mKRegDataCountB; + /* 0x1E */ u16 mKRegDataCountA; /* 0x20 */ u16* mCRegUpdateMaterialID; - /* 0x24 */ JUTNameTab field_0x24; + /* 0x24 */ JUTNameTab mCRegUpdateMaterialName; /* 0x34 */ u16* mKRegUpdateMaterialID; - /* 0x38 */ JUTNameTab field_0x38; - /* 0x48 */ void* field_0x48; - /* 0x4C */ void* field_0x4c; - /* 0x50 */ int field_0x50; - /* 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; + /* 0x38 */ JUTNameTab mKRegUpdateMaterialName; + /* 0x48 */ J3DAnmCRegKeyTable* mAnmCRegKeyTable; + /* 0x4C */ J3DAnmKRegKeyTable* mAnmKRegKeyTable; + /* 0x50 */ s16* mAnmCRegDataR; + /* 0x54 */ s16* mAnmCRegDataG; + /* 0x58 */ s16* mAnmCRegDataB; + /* 0x5C */ s16* mAnmCRegDataA; + /* 0x60 */ s16* mAnmKRegDataR; + /* 0x64 */ s16* mAnmKRegDataG; + /* 0x68 */ s16* mAnmKRegDataB; + /* 0x6C */ s16* mAnmKRegDataA; }; // Size: 0x70 class J3DAnmColor : public J3DAnmBase { @@ -492,14 +551,13 @@ public: bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; } u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; } -private: /* 0x0C */ u16 field_0xc; /* 0x0E */ u16 field_0xe; /* 0x10 */ u16 field_0x10; /* 0x12 */ u16 field_0x12; /* 0x14 */ u16 mUpdateMaterialNum; /* 0x18 */ u16* mUpdateMaterialID; - /* 0x1C */ JUTNameTab field_0x1c; + /* 0x1C */ JUTNameTab mUpdateMaterialName; }; // Size: 0x2C class J3DAnmColorKey : public J3DAnmColor { @@ -510,12 +568,11 @@ public: /* 8032BEB0 */ virtual s32 getKind() const; /* 8032AB54 */ virtual void getColor(u16, _GXColor*) const; -private: - /* 0x2C */ int field_0x2c; - /* 0x30 */ int field_0x30; - /* 0x34 */ int field_0x34; - /* 0x38 */ int field_0x38; - /* 0x3C */ int field_0x3c; + /* 0x2C */ s16* field_0x2c; + /* 0x30 */ s16* field_0x30; + /* 0x34 */ s16* field_0x34; + /* 0x38 */ s16* field_0x38; + /* 0x3C */ J3DAnmColorKeyTable* field_0x3c; }; class J3DAnmColorFull : public J3DAnmColor { @@ -526,12 +583,11 @@ public: /* 8032BEB0 */ virtual s32 getKind() const; /* 8032AB54 */ virtual void getColor(u16, _GXColor*) const; -private: - /* 0x2C */ int field_0x2c; - /* 0x30 */ int field_0x30; - /* 0x34 */ int field_0x34; - /* 0x38 */ int field_0x38; - /* 0x3C */ int field_0x3c; + /* 0x2C */ u8* mColorR; + /* 0x30 */ u8* mColorG; + /* 0x34 */ u8* mColorB; + /* 0x38 */ u8* mColorA; + /* 0x3C */ J3DAnmColorFullTable* mAnmTable; }; class J3DAnmVtxColor : public J3DAnmBase { @@ -542,9 +598,8 @@ public: virtual s32 getKind() const; virtual void getColor(u8, u16, _GXColor*) const; -private: - /* 0x0C */ s16 mAnmTableNum[2]; - /* 0x10 */ int mAnmVtxColorIndexData[2]; + /* 0x0C */ u16 mAnmTableNum[2]; + /* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2]; }; // Size: 0x18 class J3DAnmVtxColorKey : public J3DAnmVtxColor { @@ -555,49 +610,77 @@ public: /* 8032BFBC */ virtual s32 getKind() const; /* 8032A53C */ virtual void getColor(u8, u16, _GXColor*) const; -private: - /* 0x18 */ int field_0x18[2]; + /* 0x1C */ J3DAnmColorKeyTable* mpTable[2]; + /* 0x24 */ s16* mColorR; + /* 0x28 */ s16* mColorG; + /* 0x2C */ s16* mColorB; + /* 0x30 */ s16* mColorA; }; class J3DAnmVtxColorFull : public J3DAnmVtxColor { +public: /* 8032A30C */ J3DAnmVtxColorFull(); /* 8032BFC4 */ virtual ~J3DAnmVtxColorFull(); /* 8032C030 */ virtual s32 getKind() const; /* 8032A368 */ virtual void getColor(u8, u16, _GXColor*) const; -private: - /* 0x18 */ int field_0x18[2]; + /* 0x1C */ J3DAnmColorFullTable* mpTable[2]; + /* 0x24 */ u8* mColorR; + /* 0x28 */ u8* mColorG; + /* 0x2C */ u8* mColorB; + /* 0x30 */ u8* mColorA; }; class J3DAnmCluster : public J3DAnmBase { public: + J3DAnmCluster(s16 param_1, f32* param_2) : J3DAnmBase(param_1) { mWeight = param_2; } + /* 8032BCAC */ virtual ~J3DAnmCluster(); /* 8032BF44 */ virtual s32 getKind() const; /* 8032BF4C */ virtual f32 getWeight(u16) const; -private: - /* 0x0C */ f32* field_0xc; + /* 0x0C */ f32* mWeight; }; // Size: 0x10 class J3DAnmClusterFull : public J3DAnmCluster { public: + J3DAnmClusterFull() : J3DAnmCluster(0, 0) { mAnmTable = NULL; } + /* 8032BCAC */ virtual ~J3DAnmClusterFull(); /* 8032BF44 */ virtual s32 getKind() const; /* 8032BF4C */ virtual f32 getWeight(u16) const; -private: - /* 0x10 */ int field_0x10; + /* 0x10 */ J3DAnmClusterFullTable* mAnmTable; }; class J3DAnmClusterKey : public J3DAnmCluster { public: + J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; } + /* 8032C044 */ virtual ~J3DAnmClusterKey(); /* 8032C0B0 */ virtual s32 getKind() const; /* 8032A218 */ virtual f32 getWeight(u16) const; -private: - /* 0x10 */ int field_0x10; + /* 0x10 */ J3DAnmClusterKeyTable* mAnmTable; +}; + +class J3DAnmVisibilityFull : public J3DAnmBase { +public: + J3DAnmVisibilityFull() : J3DAnmBase(0) { + mUpdateMaterialNum = 0; + field_0xe = 0; + mAnmTable = NULL; + mVisibility = NULL; + } + + /* 8033979C */ virtual ~J3DAnmVisibilityFull(); + /* 803397F8 */ virtual s32 getKind() const; + + /* 0x0C */ u16 mUpdateMaterialNum; + /* 0x0E */ u16 field_0xe; + /* 0x10 */ J3DAnmVisibilityFullTable* mAnmTable; + /* 0x14 */ u8* mVisibility; }; class J3DFrameCtrl { @@ -639,7 +722,6 @@ public: mState = 0; } -private: /* 0x04 */ u8 mAttribute; /* 0x05 */ u8 mState; /* 0x06 */ s16 mStart; diff --git a/include/JSystem/J3DGraphAnimator/J3DCluster.h b/include/JSystem/J3DGraphAnimator/J3DCluster.h index 4db7189f2d..221fd98d99 100644 --- a/include/JSystem/J3DGraphAnimator/J3DCluster.h +++ b/include/JSystem/J3DGraphAnimator/J3DCluster.h @@ -13,6 +13,20 @@ class JUTNameTab; class J3DCluster { public: + void operator=(const J3DCluster& other) { + mMaxAngle = other.mMaxAngle; + mMinAngle = other.mMinAngle; + mClusterKey = other.mClusterKey; + mFlags = other.mFlags; + mKeyNum = other.mKeyNum; + mPosNum = other.mPosNum; + field_0x14 = other.field_0x14; + field_0x16 = other.field_0x16; + field_0x18 = other.field_0x18; + mClusterVertex = other.mClusterVertex; + mDeformer = other.mDeformer; + } + J3DDeformer* getDeformer() { return mDeformer; } void setDeformer(J3DDeformer* deformer) { mDeformer = deformer; } @@ -30,7 +44,20 @@ public: /* 0x20 */ J3DDeformer* mDeformer; }; -struct J3DClusterKey {}; +class J3DClusterKey { +public: + void operator=(const J3DClusterKey& other) { + mPosNum = other.mPosNum; + mNrmNum = other.mNrmNum; + field_0x4 = other.field_0x4; + field_0x8 = other.field_0x8; + } + + /* 0x00 */ u16 mPosNum; + /* 0x02 */ u16 mNrmNum; + /* 0x04 */ void* field_0x4; + /* 0x08 */ void* field_0x8; +}; // Size: 0x0C class J3DDeformData { public: @@ -40,11 +67,13 @@ public: /* 8032E274 */ void deform(J3DModel*); /* 8032E364 */ void setAnm(J3DAnmCluster*); - J3DCluster* getClusterPointer(u16 index) { - return &mClusterPointer[index]; - } + J3DCluster* getClusterPointer(u16 index) { return &mClusterPointer[index]; } + u16 getClusterNum() const { return mClusterNum; } + u16 getClusterKeyNum() const { return mClusterKeyNum; } + J3DClusterKey* getClusterKeyPointer(u16 i) { return &mClusterKeyPointer[i]; } + f32* getVtxPos() { return mVtxPos; } + f32* getVtxNrm() { return mVtxNrm; } -private: /* 0x00 */ u16 mClusterNum; /* 0x02 */ u16 mClusterKeyNum; /* 0x04 */ u16 mClusterVertexNum; @@ -59,4 +88,17 @@ private: /* 0x24 */ JUTNameTab* mClusterKeyName; }; // Size: 0x28 +class J3DClusterVertex { +public: + void operator=(const J3DClusterVertex& other) { + mNum = other.mNum; + field_0x4 = other.field_0x4; + field_0x8 = other.field_0x8; + } + + /* 0x00 */ u16 mNum; + /* 0x04 */ u16* field_0x4; + /* 0x08 */ u16* field_0x8; +}; // Size: 0x0C + #endif /* J3DCLUSTER_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h index ac68a97489..6adf2c350e 100644 --- a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h +++ b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h @@ -80,7 +80,6 @@ public: void offFlag(u32 i_flag) { mFlags &= ~i_flag; } void setAnmCluster(J3DAnmCluster* anm) { mAnmCluster = anm; } -private: /* 0x00 */ J3DDeformData* mDeformData; /* 0x04 */ J3DAnmCluster* mAnmCluster; /* 0x08 */ f32* field_0x8; diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 46f5dc49f7..4f8e8bf0aa 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -102,7 +102,6 @@ public: /* 80322DA0 */ virtual void setTexMtxOffset(u32); /* 80317180 */ virtual ~J3DTexGenBlockPatched(); -private: /* 0x04 */ u32 mTexGenNum; /* 0x08 */ J3DTexCoord mTexCoord[8]; /* 0x38 */ J3DTexMtx* mTexMtx[8]; @@ -126,7 +125,6 @@ public: /* 80322CC0 */ virtual J3DNBTScale* getNBTScale(); /* 80322CC8 */ virtual ~J3DTexGenBlockBasic(); -private: /* 0x5C */ J3DNBTScale mNBTScale; }; // Size: 0x6C @@ -147,7 +145,6 @@ public: /* 80322DFC */ virtual J3DNBTScale* getNBTScale(); /* 80322E04 */ virtual ~J3DTexGenBlock4(); -private: /* 0x5C */ J3DNBTScale mNBTScale; }; // Size: 0x6C @@ -275,7 +272,6 @@ public: /* 80322C08 */ virtual void setTevRegOffset(u32); /* 80322C10 */ virtual ~J3DTevBlockPatched(); -private: /* 0x08 */ u16 mTexNo[8]; /* 0x18 */ J3DTevOrder mTevOrder[8]; /* 0x38 */ J3DTevStage mTevStage[8]; @@ -346,7 +342,6 @@ public: /* 80322348 */ virtual void setTevRegOffset(u32); /* 80322350 */ virtual ~J3DTevBlock4(); -private: /* 0x08 */ u16 mTexNo[4]; /* 0x10 */ J3DTevOrder mTevOrder[4]; /* 0x20 */ u8 mTevStageNum; @@ -419,7 +414,6 @@ public: /* 8032270C */ virtual void setTevRegOffset(u32); /* 80322714 */ virtual ~J3DTevBlock2(); -private: /* 0x08 */ u16 mTexNo[2]; /* 0x0C */ J3DTevOrder mTevOrder[2]; /* 0x14 */ J3DGXColorS10 mTevColor[4]; @@ -492,7 +486,6 @@ public: /* 80321F7C */ virtual void setTevRegOffset(u32); /* 80321F84 */ virtual ~J3DTevBlock16(); -private: /* 0x008 */ u16 mTexNo[8]; /* 0x018 */ J3DTevOrder mTevOrder[16]; /* 0x058 */ u8 mTevStageNum; @@ -546,7 +539,6 @@ public: /* 803228EC */ virtual bool getTexNoOffset() const; /* 803228F4 */ virtual ~J3DTevBlock1(); -private: /* 0x08 */ u16 mTexNo[1]; /* 0x0A */ J3DTevOrder mTevOrder[1]; /* 0x0E */ J3DTevStage mTevStage[1]; @@ -749,7 +741,6 @@ public: /* 80321A68 */ virtual void setFogOffset(u32); /* 80321A70 */ virtual ~J3DPEBlockFull(); -private: /* 0x04 */ J3DFog mFog; /* 0x30 */ J3DAlphaComp mAlphaComp; /* 0x34 */ J3DBlend mBlend; @@ -789,7 +780,6 @@ public: /* 80321BBC */ virtual bool getDither() const; /* 80321BC4 */ virtual ~J3DPEBlockFogOff(); -private: /* 0x04 */ J3DAlphaComp mAlphaComp; /* 0x08 */ J3DBlend mBlend; /* 0x0C */ J3DZMode mZMode; @@ -889,7 +879,6 @@ public: /* 8032348C */ virtual bool getIndTexCoordScale(u32); /* 803234A0 */ virtual ~J3DIndBlockFull(); -private: /* 0x04 */ u8 mIndTexStageNum; /* 0x05 */ J3DIndTexOrder mIndTexOrder[4]; /* 0x18 */ J3DIndTexMtx mIndTexMtx[3]; @@ -908,6 +897,10 @@ struct J3DColorChanInfo { extern J3DColorChanInfo j3dDefaultColorChanInfo; +/* static inline u32 setChanCtrlMacro(u8 param_0, GXColorSrc param_1, GXColorSrc param_2, u32 param_3, GXDiffuseFn param_4, GXAttnFn param_5) { + +} */ + struct J3DColorChan { /* 8000E47C */ J3DColorChan() { setColorChanInfo(j3dDefaultColorChanInfo); @@ -1032,7 +1025,6 @@ public: /* 80323010 */ virtual void setColorChanOffset(u32); /* 80323018 */ virtual ~J3DColorBlockLightOn(); -private: /* 0x04 */ J3DGXColor mMatColor[2]; /* 0x0C */ J3DGXColor mAmbColor[2]; /* 0x14 */ u8 mColorChanNum; @@ -1078,7 +1070,6 @@ public: /* 80323250 */ virtual void setColorChanOffset(u32); /* 803170DC */ virtual ~J3DColorBlockLightOff(); -private: /* 0x04 */ J3DGXColor mMatColor[2]; /* 0x0C */ u8 mColorChanNum; /* 0x0E */ J3DColorChan mColorChan[4]; @@ -1103,7 +1094,6 @@ public: /* 803230D8 */ virtual bool getAmbColor(u32); /* 803230EC */ virtual ~J3DColorBlockAmbientOn(); -private: /* 0x20 */ J3DGXColor mAmbColor[2]; }; // Size: 0x28 diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 00827b8969..cb853c9c74 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -194,7 +194,10 @@ public: J3DMaterial* getMaterial() const { return mpMaterial; } J3DShapePacket* getShapePacket() const { return mpShapePacket; } void setShapePacket(J3DShapePacket* packet) { mpShapePacket = packet; } + void setMaterial(J3DMaterial* pMaterial) { mpMaterial = pMaterial; } + void setTexture(J3DTexture* pTexture) { mpTexture = pTexture; } void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; } + void setMaterialID(u32 id) { mDiffFlag = id; } void setMaterialAnmID(J3DMaterialAnm* materialAnm) { mpMaterialAnm = materialAnm; } bool isChanged() const { return mDiffFlag & 0x80000000; } bool isEnabled_Diff() const { return mpInitShapePacket->getDisplayListObj() != NULL; } diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index 8d63bd4d92..35bfd28691 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -126,6 +126,8 @@ struct J3DTevSwapModeInfo { }; // Size: 0x4 struct J3DNBTScale; +struct J3DTexCoord; void loadNBTScale(J3DNBTScale& param_0); +void loadTexCoordGens(u32 param_0, J3DTexCoord* param_1); #endif /* J3DTEVS_H */ diff --git a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h index 9378663410..15df300e0f 100644 --- a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h @@ -3,15 +3,18 @@ #include "dolphin/types.h" -enum J3DAnmLoaderDataBaseFlag { J3DLOADER_UNK_FLAG0 }; +enum J3DAnmLoaderDataBaseFlag { + J3DLOADER_UNK_FLAG0, + J3DLOADER_UNK_FLAG1, +}; class J3DAnmBase; struct J3DAnmLoaderDataBase { - /* 80337B40 */ static void* load(void const*, J3DAnmLoaderDataBaseFlag); + /* 80337B40 */ static J3DAnmBase* load(void const*, J3DAnmLoaderDataBaseFlag); /* 80338134 */ static void setResource(J3DAnmBase*, void const*); - static void* load(void const* param_0) { return load(param_0, J3DLOADER_UNK_FLAG0); } + static J3DAnmBase* load(void const* param_0) { return load(param_0, J3DLOADER_UNK_FLAG0); } }; #endif /* J3DANMLOADER_H */ diff --git a/include/JSystem/JGadget/linklist.h b/include/JSystem/JGadget/linklist.h index 6c89cbeb75..8e8e9178bc 100644 --- a/include/JSystem/JGadget/linklist.h +++ b/include/JSystem/JGadget/linklist.h @@ -2,7 +2,6 @@ #define LINKLIST_H #include "dolphin/types.h" -#include "JSystem/JUtility/JUTAssert.h" namespace JGadget { struct TLinkListNode { @@ -11,46 +10,84 @@ struct TLinkListNode { mPrev = NULL; } - TLinkListNode* getNext() { return mNext; } - TLinkListNode* getPrev() { return mPrev; } + TLinkListNode* getNext() const { return mNext; } + TLinkListNode* getPrev() const { return mPrev; } +public: /* 0x0 */ TLinkListNode* mNext; /* 0x4 */ TLinkListNode* mPrev; }; // Size: 0x8 struct TNodeLinkList { struct iterator { - iterator(TLinkListNode* pNode) { node = pNode; } - iterator(const iterator& iter) { *this = iter; } + explicit iterator(TLinkListNode* pNode) { node = pNode; } + iterator& operator++() { node = node->getNext(); - return *this; + return *this; } iterator& operator--() { node = node->getPrev(); - return *this; + return *this; } - TLinkListNode* operator->() { return node; } + iterator operator++(int) { + const iterator old(*this); + (void)++*this; + return old; + } + iterator operator--(int) { + const iterator old(*this); + (void)--*this; + return old; + } + friend bool operator==(iterator a, iterator b) { return a.node == b.node; } + friend bool operator!=(iterator a, iterator b) { return !(a == b); } - inline friend bool operator==(iterator a, iterator b) { return a.node == b.node; } + TLinkListNode* operator->() const { return node; } + TLinkListNode& operator*() const { return *node; } - TLinkListNode* node; + public: + /* 0x00 */ TLinkListNode* node; }; struct const_iterator { - const_iterator(TLinkListNode* pNode) { node = pNode; } + explicit const_iterator(TLinkListNode* pNode) { node = pNode; } const_iterator(const const_iterator& iter) { *this = iter; } - const_iterator(iterator iter) { *this = iter; } - TLinkListNode* operator->() const { return node; } + explicit const_iterator(iterator it) { node = it.node; } + const_iterator& operator++() { node = node->getNext(); - return *this; + return *this; } + const_iterator& operator--() { + node = node->getPrev(); + return *this; + } + const_iterator operator++(int) { + const const_iterator old(*this); + (void)++*this; + return old; + } + const_iterator operator--(int) { + const const_iterator old(*this); + (void)--*this; + return old; + } + friend bool operator==(const_iterator a, const_iterator b) { return a.node == b.node; } + friend bool operator!=(const_iterator a, const_iterator b) { return !(a == b); } - TLinkListNode* node; + friend bool operator==(const_iterator a, iterator b) { return a.node == b.node; } + friend bool operator!=(const_iterator a, iterator b) { return !(a == b); } + + const TLinkListNode* operator->() const { return node; } + const TLinkListNode& operator*() const { return *node; } + + public: + /* 0x00 */ TLinkListNode* node; }; TNodeLinkList() : ocObject_() { Initialize_(); } + ~TNodeLinkList(); void Initialize_() { count = 0; @@ -58,31 +95,47 @@ struct TNodeLinkList { ocObject_.mPrev = &ocObject_; } - iterator end() { - iterator iter(&ocObject_); - return iter; - } - - iterator begin() { - return iterator(ocObject_.getNext()); - } - + iterator begin() { return iterator(ocObject_.getNext()); } + const_iterator begin() const { return const_iterator(ocObject_.getNext()); } + iterator end() { return iterator(&ocObject_); } + const_iterator end() const { return const_iterator((TLinkListNode*)(&ocObject_)); } u32 size() { return count; } bool empty() { return size() == 0; } - iterator pop_front() { - return erase(begin()); + iterator pop_front() { return erase(begin()); } + + iterator erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator); + iterator erase(JGadget::TNodeLinkList::iterator); + void splice(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList&, + JGadget::TNodeLinkList::iterator); + iterator Find(const JGadget::TLinkListNode*); + iterator Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*); + iterator Erase(JGadget::TLinkListNode*); + void Remove(JGadget::TLinkListNode*); + + bool Iterator_isEnd_(const_iterator it) const { return it.node == &ocObject_; } + template + void Remove_if(Predicate predicate, TNodeLinkList& tList) { + iterator it = begin(); + + while (!Iterator_isEnd_(const_iterator(it))) { + if (predicate(*it)) { + iterator itPrev = it; + ++it; + tList.splice(tList.end(), *this, itPrev); + } else { + ++it; + } + } } - /* 802DCA1C */ ~TNodeLinkList(); - /* 802DCAA0 */ iterator erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator); - /* 802DCA58 */ iterator erase(JGadget::TNodeLinkList::iterator); - /* 802DCB08 */ void splice(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList&, - JGadget::TNodeLinkList::iterator); - /* 802DCBA8 */ iterator Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*); - /* 802DCBD4 */ iterator Erase(JGadget::TLinkListNode*); - /* 802DCBF8 */ void Remove(JGadget::TLinkListNode*); + template + void remove_if(Predicate predicate) { + TNodeLinkList list; + Remove_if(predicate, list); + } - /* 0x00 */ int count; +public: + /* 0x00 */ u32 count; /* 0x04 */ TLinkListNode ocObject_; }; // Size: 0xC @@ -90,108 +143,105 @@ template struct TLinkList : public TNodeLinkList { TLinkList() : TNodeLinkList() {} - struct iterator : TNodeLinkList::iterator { - iterator(TNodeLinkList::iterator iter) : TNodeLinkList::iterator(iter) {} - T& operator*() { return *operator->(); } - T* operator->() { - TLinkListNode* node = TNodeLinkList::iterator::operator->(); - JUT_ASSERT(541, node != 0); - return Element_toValue(node); + struct iterator { + explicit iterator(TNodeLinkList::iterator iter) : base(iter) {} + + iterator& operator++() { + ++base; + return *this; } iterator& operator--() { - TNodeLinkList::iterator::operator--(); + --base; return *this; } - // Stack issues. See JStudio::ctb::TControl::getObject - inline friend bool operator==(iterator a, iterator b) { - TNodeLinkList::iterator ita = a; - TNodeLinkList::iterator itb = b; - return operator==(ita,itb); + iterator operator++(int) { + const iterator old(*this); + ++*this; + return old; } - inline friend bool operator!=(iterator a, iterator b) { return !(a == b); } + iterator operator--(int) { + const iterator old(*this); + --*this; + return old; + } + friend bool operator==(iterator a, iterator b) { return a.base == b.base; } + friend bool operator!=(iterator a, iterator b) { return !(a == b); } + + T* operator->() const { return Element_toValue(base.operator->()); } + T& operator*() const { return *operator->(); } + + public: + /* 0x00 */ TNodeLinkList::iterator base; }; - struct const_iterator : TNodeLinkList::const_iterator { - const_iterator(TNodeLinkList::const_iterator iter) : TNodeLinkList::const_iterator(iter) {} - const_iterator(iterator iter) : TNodeLinkList::const_iterator(iter) {} - const T* operator->() const { - return Element_toValue(TNodeLinkList::const_iterator::operator->()); - } - const T& operator*() const { return *operator->(); } + struct const_iterator { + explicit const_iterator(TNodeLinkList::const_iterator iter) : base(iter) {} + explicit const_iterator(iterator iter) : base(iter.base) {} + const_iterator& operator++() { - TNodeLinkList::const_iterator::operator++(); + ++base; return *this; } - - friend bool operator==(const_iterator a, const_iterator b) { return a == b; } + const_iterator& operator--() { + --base; + return *this; + } + const_iterator operator++(int) { + const const_iterator old(*this); + ++*this; + return old; + } + const_iterator operator--(int) { + const const_iterator old(*this); + --*this; + return old; + } + friend bool operator==(const_iterator a, const_iterator b) { return a.base == b.base; } friend bool operator!=(const_iterator a, const_iterator b) { return !(a == b); } + + const T* operator->() const { return Element_toValue(base.operator->()); } + const T& operator*() const { return *operator->(); } + + public: + /* 0x00 */ TNodeLinkList::const_iterator base; }; - TLinkListNode* Element_toNode(T* element) const { return &element->ocObject_; } - static T* Element_toValue(TLinkListNode* node) { return (T*)((char*)node - offsetof(T, ocObject_)); } - - iterator Insert(TLinkList::iterator iter, T* element) { - TLinkListNode* node = Element_toNode(element); - return TNodeLinkList::Insert(iter, node); + static const TLinkListNode* Element_toNode(const T* element) { + (void)element; // Debug-only assert + return reinterpret_cast(reinterpret_cast(element) - I); + } + static TLinkListNode* Element_toNode(T* element) { + (void)element; // Debug-only assert + return reinterpret_cast(reinterpret_cast(element) - I); + } + static const T* Element_toValue(const TLinkListNode* node) { + (void)node; // Debug-only assert + return reinterpret_cast(reinterpret_cast(node) + I); + } + static T* Element_toValue(TLinkListNode* node) { + (void)node; // Debug-only assert + return reinterpret_cast(reinterpret_cast(node) + I); } - iterator Erase(T* element) { - TLinkListNode* node = Element_toNode(element); - return ((TNodeLinkList*)this)->Erase(node); + iterator Insert(iterator iter, T* element) { + return iterator(TNodeLinkList::Insert(iter.base, Element_toNode(element))); } + iterator Erase(T* element) { return iterator(TNodeLinkList::Erase(Element_toNode(element))); } - TLinkList::iterator end() { - return iterator(TNodeLinkList::end()); - } - - TLinkList::const_iterator end() const { - return TLinkList::const_iterator(((TLinkList*)this)->end()); - } - - TLinkList::iterator begin() { - return iterator(TNodeLinkList::begin()); - } - - TLinkList::const_iterator begin() const { - return TLinkList::const_iterator(((TLinkList*)this)->begin()); - } - - void Push_back(T* element) { - TLinkList::iterator iter = TLinkList::end(); - this->Insert(iter, element); - } - - T& front() { - JUT_ASSERT(642, !empty()); - return *begin(); - } - - T& back() { - JUT_ASSERT(652, !empty()); - return *--TLinkList::end(); + iterator begin() { return iterator(TNodeLinkList::begin()); } + const_iterator begin() const { return const_iterator(const_cast(this)->begin()); } + iterator end() { return iterator(TNodeLinkList::end()); } + const_iterator end() const { return const_iterator(const_cast(this)->end()); } + T& front() { return *begin(); } + T& back() { return *--end(); } + void Push_front(T* element) { Insert(begin(), element); } + void Push_back(T* element) { Insert(end(), element); } + iterator Find(const T* element) { + return iterator(TNodeLinkList::Find(Element_toNode(element))); } + void Remove(T* element) { TNodeLinkList::Remove(Element_toNode(element)); } }; -template -bool operator==(const typename TLinkList::const_iterator iter1, const typename TLinkList::const_iterator iter2) { - return iter1->node == iter2->node; -} - -template -bool operator!=(const typename TLinkList::const_iterator iter1, const typename TLinkList::const_iterator iter2) { - return !(iter1 == iter2); -} - -// template -// inline bool operator==(typename TLinkList::iterator iter1, typename TLinkList::iterator iter2) { -// return iter1->node == iter2->node; -// } - -// template -// inline bool operator!=(typename TLinkList::iterator iter1, typename TLinkList::iterator iter2) { -// return !(iter1 == iter2); -// } - template struct TLinkList_factory : public TLinkList { virtual ~TLinkList_factory() {} @@ -208,14 +258,14 @@ struct TLinkList_factory : public TLinkList { template struct TEnumerator { - inline TEnumerator(typename TLinkList::const_iterator _current, typename TLinkList::const_iterator _end) : - current(_current), end(_end) - {} + inline TEnumerator(typename TLinkList::const_iterator _current, + typename TLinkList::const_iterator _end) + : current(_current), end(_end) {} bool isEnd() const { return current.node == end.node; } operator bool() const { return isEnd(); } T& operator*() { - T& rv = (T&)*current; + T& rv = (T&)*current; ++current; return rv; } @@ -226,8 +276,8 @@ struct TEnumerator { template struct TContainerEnumerator_const : public TEnumerator { - inline TContainerEnumerator_const(const T* param_0) : TEnumerator(param_0->begin(), param_0->end()) - {} + inline TContainerEnumerator_const(const T* param_0) + : TEnumerator(param_0->begin(), param_0->end()) {} }; }; // namespace JGadget diff --git a/include/JSystem/JKernel/JKRDvdAramRipper.h b/include/JSystem/JKernel/JKRDvdAramRipper.h index 15d133e58f..29e62f94eb 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper.h +++ b/include/JSystem/JKernel/JKRDvdAramRipper.h @@ -45,8 +45,9 @@ public: static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; } // TODO: fix type - static u8 sDvdAramAsyncList[12]; + static JSUList sDvdAramAsyncList; static u32 sSZSBufferSize; + static bool errorRetry; }; inline JKRAramBlock *JKRDvdToAram(s32 entrynum, u32 p2, JKRExpandSwitch expSwitch, u32 p4, u32 p5, u32 *p6) { diff --git a/include/JSystem/JKernel/JKRDvdArchive.h b/include/JSystem/JKernel/JKRDvdArchive.h index fe72cd8f3a..83333ad96d 100644 --- a/include/JSystem/JKernel/JKRDvdArchive.h +++ b/include/JSystem/JKernel/JKRDvdArchive.h @@ -23,7 +23,7 @@ public: private: /* 0x00 */ // vtable /* 0x04 */ // JKRArchive - /* 0x64 */ s32 field_0x64; + /* 0x64 */ s32 mDataOffset; /* 0x68 */ JKRDvdFile* mDvdFile; }; diff --git a/include/JSystem/JStudio/JStudio/ctb.h b/include/JSystem/JStudio/JStudio/ctb.h index 85caa0d2cd..a3ea31c3fd 100644 --- a/include/JSystem/JStudio/JStudio/ctb.h +++ b/include/JSystem/JStudio/JStudio/ctb.h @@ -4,6 +4,7 @@ #include "JSystem/JGadget/binary.h" #include "JSystem/JGadget/linklist.h" #include "JSystem/JStudio/JStudio/object-id.h" +#include "JSystem/JUtility/JUTAssert.h" namespace JStudio { namespace ctb { @@ -134,7 +135,7 @@ struct TControl { TFactory* getFactory() { return pFactory_; } /* 0x4 */ TFactory* pFactory_; - /* 0x8 */ JGadget::TLinkList mList; + /* 0x8 */ JGadget::TLinkList mList; }; struct TParse : public JGadget::binary::TParse_header_block { diff --git a/include/JSystem/JStudio/JStudio/stb.h b/include/JSystem/JStudio/JStudio/stb.h index ec5dfbb2e8..0e68ccbf76 100644 --- a/include/JSystem/JStudio/JStudio/stb.h +++ b/include/JSystem/JStudio/JStudio/stb.h @@ -146,7 +146,7 @@ private: /* 0x04 */ u32 _4; /* 0x08 */ u32 _8; /* 0x0C */ TFactory* pFactory; - /* 0x10 */ JGadget::TLinkList mObjectContainer; + /* 0x10 */ JGadget::TLinkList mObjectContainer; /* 0x1C */ u32 mStatus; /* 0x20 */ TObject_control mObject_control; /* 0x54 */ s32 _54; diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index e45bde9ddc..c2633d7088 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -89,10 +89,7 @@ public: void scrollToLastLine() { scroll(mMaxLines); } void scrollToFirstLine() { scroll(-mMaxLines); } -private: /* 0x18 */ JGadget::TLinkListNode mListNode; - -private: /* 0x20 */ u32 field_0x20; /* 0x24 */ int mMaxLines; /* 0x28 */ u8* mBuf; @@ -133,8 +130,10 @@ public: static JUTConsoleManager* sManager; + typedef JGadget::TLinkList ConsoleList; + private: - /* 0x00 */ JGadget::TLinkList mLinkList; + /* 0x00 */ ConsoleList soLink_; /* 0x0C */ JUTConsole* mActiveConsole; /* 0x10 */ JUTConsole* mDirectConsole; }; // Size: 0x14 diff --git a/include/SSystem/SComponent/c_m3d_g_lin.h b/include/SSystem/SComponent/c_m3d_g_lin.h index 640c872f5b..fe5b0dbec2 100644 --- a/include/SSystem/SComponent/c_m3d_g_lin.h +++ b/include/SSystem/SComponent/c_m3d_g_lin.h @@ -27,6 +27,7 @@ public: const cXyz& GetEndP(void) const { return mEnd; } cXyz& GetEndP(void) { return mEnd; } cXyz& GetEnd() { return mEnd; } + const cXyz& GetEnd() const { return mEnd; } }; // Size = 0x1C STATIC_ASSERT(0x1C == sizeof(cM3dGLin)); diff --git a/include/dolphin/gd.h b/include/dolphin/gd.h index 246f0fdbb7..a35a19b8ac 100644 --- a/include/dolphin/gd.h +++ b/include/dolphin/gd.h @@ -4,4 +4,23 @@ #include "dolphin/gd/GDBase.h" #include "dolphin/gd/GDGeometry.h" +#ifdef __cplusplus +extern "C" { +#endif + +static inline u16 __GDLightID2Index(GXLightID id) { + u16 lightIdx = (31 - __cntlzw(id)); + if (lightIdx > 7) + lightIdx = 0; + return lightIdx; +} + +static inline u16 __GDLightID2Offset(GXLightID id) { + return __GDLightID2Index(id) * 0x10; +} + +#ifdef __cplusplus +}; +#endif + #endif /* GD_H */ diff --git a/libs/JSystem/J2DGraph/J2DPicture.cpp b/libs/JSystem/J2DGraph/J2DPicture.cpp index 4d71f60c50..02249a0454 100644 --- a/libs/JSystem/J2DGraph/J2DPicture.cpp +++ b/libs/JSystem/J2DGraph/J2DPicture.cpp @@ -1392,110 +1392,113 @@ SECTION_SDATA2 static f32 lit_2933 = 0.5f; /* 802FED84-802FF09C 2F96C4 0318+00 2/2 0/0 0/0 .text * setTexCoord__10J2DPictureFPQ29JGeometry8TVec2PC10JUTTexture10J2DBinding9J2DMirrorb */ +// matches with literals #ifdef NONMATCHING void J2DPicture::setTexCoord(JGeometry::TVec2* param_0, JUTTexture const* param_1, - J2DBinding param_2, J2DMirror param_3, bool param_4) { - u8 var_r0; - u8 var_r4; - u8 var_r7; - u8 var_r9; + J2DBinding binding, J2DMirror mirror, bool rotate90) { + bool bindLeft; + bool bindRight; + bool bindTop; + bool bindBottom; - f32 sp14; - f32 sp10; - f32 spC; - f32 sp8; + if (!rotate90) { + if (mirror & J2DMirror_X) + bindLeft = binding & J2DBind_Right; + else + bindLeft = binding & J2DBind_Left; - f32 var_f0; - f32 var_f2; - f32 var_f3; - f32 var_f4; - f32 var_f5; + if (mirror & J2DMirror_X) + bindRight = binding & J2DBind_Left; + else + bindRight = binding & J2DBind_Right; - if (!param_4) { - var_r0 = (param_3 & 2) ? (param_2 & 4) : (param_2 & 8); - var_r4 = (param_3 & 2) ? (param_2 & 8) : (param_2 & 4); - var_r7 = (param_3 & 1) ? (param_2 & 1) : (param_2 & 2); - var_r9 = (param_3 & 1) ? (param_2 & 1) : (param_2 & 2); + if (mirror & J2DMirror_Y) + bindTop = binding & J2DBind_Bottom; + else + bindTop = binding & J2DBind_Top; + + if (mirror & J2DMirror_Y) + bindBottom = binding & J2DBind_Top; + else + bindBottom = binding & J2DBind_Bottom; } else { - var_r0 = (param_3 & 2) ? (param_2 & 1) : (param_2 & 2); - var_r4 = (param_3 & 2) ? (param_2 & 2) : (param_2 & 1); - var_r7 = (param_3 & 1) ? (param_2 & 8) : (param_2 & 4); - var_r9 = (param_3 & 1) ? (param_2 & 4) : (param_2 & 8); + if (mirror & J2DMirror_X) + bindLeft = binding & J2DBind_Bottom; + else + bindLeft = binding & J2DBind_Top; + + if (mirror & J2DMirror_X) + bindRight = binding & J2DBind_Top; + else + bindRight = binding & J2DBind_Bottom; + + if (mirror & J2DMirror_Y) + bindTop = binding & J2DBind_Left; + else + bindTop = binding & J2DBind_Right; + + if (mirror & J2DMirror_Y) + bindBottom = binding & J2DBind_Right; + else + bindBottom = binding & J2DBind_Left; } - if (!param_4) { - var_f2 = getHeight(); - } else { - var_f2 = getWidth(); - } + f32 rectWidth; + f32 rectHeight; - if (!param_4) { - var_f3 = getWidth(); - } else { - var_f3 = getHeight(); - } + rectWidth = !rotate90 ? getWidth() : getHeight(); + rectHeight = !rotate90 ? getHeight() : getWidth(); + f32 texWidth; + f32 texHeight; if (param_1 == NULL) { - var_f4 = var_f2; - var_f5 = var_f3; + texWidth = rectWidth; + texHeight = rectHeight; } else { - var_f4 = param_1->getWidth(); - var_f5 = param_1->getHeight(); + texWidth = param_1->getWidth(); + texHeight = param_1->getHeight(); } - if (var_r0 != 0) { - sp14 = 0.0f; - if (var_r4 != 0) { - var_f0 = 1.0f; - } else { - var_f0 = var_f2 / var_f4; - } - spC = var_f0; - } else if (var_r4 != 0) { - sp14 = 1.0f - (var_f2 / var_f4); - spC = 1.0f; + f32 s0, t0, s1, t1; + if (bindLeft) { + s0 = 0.0f; + s1 = bindRight ? 1.0f : (rectWidth / texWidth); + } else if (bindRight) { + s0 = 1.0f - (rectWidth / texWidth); + s1 = 1.0f; } else { - sp14 = 0.5f - ((var_f2 / var_f4) * 0.5f); - spC = 0.5f + ((var_f2 / var_f4) * 0.5f); + s0 = 0.5f - (rectWidth / texWidth) / 2.0f; + s1 = 0.5f + (rectWidth / texWidth) / 2.0f; } - if (var_r7 != 0) { - sp10 = 0.0f; - - f32 var_f0_2; - if (var_r9 != 0) { - var_f0_2 = 1.0f; - } else { - var_f0_2 = var_f3 / var_f5; - } - - sp8 = var_f0_2; - } else if (var_r9 != 0) { - sp10 = 1.0f - (var_f3 / var_f5); - sp8 = 1.0f; + if (bindTop) { + t0 = 0.0f; + t1 = bindBottom ? 1.0f : (rectHeight / texHeight); + } else if (bindBottom) { + t0 = 1.0f - (rectHeight / texHeight); + t1 = 1.0f; } else { - sp10 = 0.5f - ((var_f3 / var_f5) * 0.5f); - sp8 = 0.5f + ((var_f3 / var_f5) * 0.5f); + t0 = 0.5f - (rectHeight / texHeight) / 2.0f; + t1 = 0.5f + (rectHeight / texHeight) / 2.0f; } - if (param_3 & 2) { - swap(sp14, spC); + if (mirror & J2DMirror_X) { + swap(s0, s1); + } + if (mirror & J2DMirror_Y) { + swap(t0, t1); } - if (param_3 & 1) { - swap(sp10, sp8); - } + s16 temp_r27 = J2DCast_F32_to_S16(s0, 8); + s16 temp_r28 = J2DCast_F32_to_S16(s1, 8); + s16 temp_r30 = J2DCast_F32_to_S16(t0, 8); + s16 temp_r31 = J2DCast_F32_to_S16(t1, 8); - s16 temp_r27 = J2DCast_F32_to_S16(sp14, 8); - s16 temp_r28 = J2DCast_F32_to_S16(spC, 8); - s16 temp_r30 = J2DCast_F32_to_S16(sp10, 8); - s16 temp_r31 = J2DCast_F32_to_S16(sp8, 8); - - if (!param_4) { + if (!rotate90) { param_0[0].set(temp_r27, temp_r30); param_0[1].set(temp_r28, temp_r30); - param_0[2].set(temp_r28, temp_r31); - param_0[3].set(temp_r27, temp_r31); + param_0[2].set(temp_r27, temp_r31); + param_0[3].set(temp_r28, temp_r31); } else { param_0[0].set(temp_r27, temp_r31); param_0[1].set(temp_r27, temp_r30); diff --git a/libs/JSystem/J2DGraph/J2DWindowEx.cpp b/libs/JSystem/J2DGraph/J2DWindowEx.cpp index 2020a53d88..8a825f5b75 100644 --- a/libs/JSystem/J2DGraph/J2DWindowEx.cpp +++ b/libs/JSystem/J2DGraph/J2DWindowEx.cpp @@ -965,10 +965,10 @@ void J2DWindowEx::setAnimation(J2DAnmVtxColor* param_0) { for (u8 i = 0; i < 4; i++) { if (field_0x168[i] != 0xffff) { for (u16 j = 0; j < uVar3; j++) { - J3DAnmVtxColorIndexDataItem* puVar1 = param_0->getAnmVtxColorIndexData(0, j); + J3DAnmVtxColorIndexData* puVar1 = param_0->getAnmVtxColorIndexData(0, j); u16* indexPointer = param_0->getVtxColorIndexPointer(0); - u16* indexPointer2 = indexPointer + puVar1->offset; - for (u16 k = 0; k < puVar1->count; k++) { + u16* indexPointer2 = indexPointer + (u32)puVar1->mpData; + for (u16 k = 0; k < puVar1->mNum; k++) { if (indexPointer2[k] == field_0x168[i]) { mAnmVtxColor = param_0; field_0x17c |= 1 << i; @@ -1143,10 +1143,10 @@ const J2DAnmTransform* J2DWindowEx::animationPane(J2DAnmTransform const* param_0 for (u8 i = 0; i < 4; i++) { if ((field_0x17c & (1 << i))) { for (u16 j = 0; j < uVar3; j++) { - J3DAnmVtxColorIndexDataItem* puVar1 = mAnmVtxColor->getAnmVtxColorIndexData(0, j); + J3DAnmVtxColorIndexData* puVar1 = mAnmVtxColor->getAnmVtxColorIndexData(0, j); u16* indexPointer = mAnmVtxColor->getVtxColorIndexPointer(0); - u16* indexPointer2 = indexPointer + puVar1->offset; - for (u16 k = 0; k < puVar1->count; k++) { + u16* indexPointer2 = indexPointer + (u32)puVar1->mpData; + for (u16 k = 0; k < puVar1->mNum; k++) { if (indexPointer2[k] == field_0x168[i]) { mAnmVtxColor->getColor(0, j, local_38[i]); goto nexti; diff --git a/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp b/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp index c3163f36d5..a04693760a 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp @@ -620,7 +620,7 @@ asm J3DAnmVtxColor::J3DAnmVtxColor() { /* 8032A30C-8032A368 324C4C 005C+00 0/0 1/1 0/0 .text __ct__18J3DAnmVtxColorFullFv */ J3DAnmVtxColorFull::J3DAnmVtxColorFull() { for (int i = 0; i < 2; i++) { - field_0x18[i] = 0; + mpTable[i] = 0; } } @@ -638,7 +638,7 @@ asm void J3DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* param_2 /* 8032A4E0-8032A53C 324E20 005C+00 0/0 1/1 0/0 .text __ct__17J3DAnmVtxColorKeyFv */ J3DAnmVtxColorKey::J3DAnmVtxColorKey() { for (int i = 0; i < 2; i++) { - field_0x18[i] = 0; + mpTable[i] = 0; } } @@ -685,11 +685,11 @@ asm void J3DAnmColor::searchUpdateMaterialID(J3DMaterialTable* param_0) { /* 8032A93C-8032A990 32527C 0054+00 0/0 1/1 0/0 .text __ct__15J3DAnmColorFullFv */ J3DAnmColorFull::J3DAnmColorFull() { - field_0x2c = 0; - field_0x30 = 0; - field_0x34 = 0; - field_0x38 = 0; - field_0x3c = 0; + mColorR = 0; + mColorG = 0; + mColorB = 0; + mColorA = 0; + mAnmTable = 0; } /* 8032A990-8032AB00 3252D0 0170+00 1/0 0/0 0/0 .text getColor__15J3DAnmColorFullCFUsP8_GXColor */ @@ -804,8 +804,8 @@ void J3DAnmTexPattern::searchUpdateMaterialID(J3DModelData* param_0) { /* 8032B0C0-8032B1D4 325A00 0114+00 1/1 1/1 0/0 .text * searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP16J3DMaterialTable */ void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DMaterialTable* param_0) { - for (u16 i = 0; i < u16(field_0x14 / 3); i++) { - s32 r3 = param_0->getMaterialName()->getIndex(field_0x30.getName(i)); + for (u16 i = 0; i < u16(mTrackNum / 3); i++) { + s32 r3 = param_0->getMaterialName()->getIndex(mUpdateMaterialName.getName(i)); if (r3 != -1) { mUpdateMaterialID[i] = r3; } else { @@ -813,11 +813,11 @@ void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DMaterialTable* param_0) { } } for (u16 i = 0; i < u16(field_0x4a / 3); i++) { - s32 r3 = param_0->getMaterialName()->getIndex(field_0x64.getName(i)); + s32 r3 = param_0->getMaterialName()->getIndex(mPostUpdateMaterialName.getName(i)); if (r3 != -1) { - field_0x60[i] = r3; + mPostUpdateMaterialID[i] = r3; } else { - field_0x60[i] = -1; + mPostUpdateMaterialID[i] = -1; } } } diff --git a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp index 1de91a4eae..90a387b42f 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp @@ -230,9 +230,7 @@ s32 J3DModel::createShapePacket(J3DModelData* p_modelData) { /* 803273CC-803275FC 321D0C 0230+00 1/1 0/0 0/0 .text createMatPacket__8J3DModelFP12J3DModelDataUl */ -#if defined NON_MATCHING s32 J3DModel::createMatPacket(J3DModelData* p_modelData, u32 flag) { - // regalloc if (p_modelData->getMaterialNum() != 0) { mMatPacket = new J3DMatPacket[p_modelData->getMaterialNum()]; @@ -243,19 +241,20 @@ s32 J3DModel::createMatPacket(J3DModelData* p_modelData, u32 flag) { s32 ret; u16 matNum = p_modelData->getMaterialNum(); - u16 i = 0; u32 singleDLFlag = flag & 0x40000; - for (; i < matNum; i++) { + for (u16 i = 0; i < matNum; i++) { J3DMaterial* materialNode = p_modelData->getMaterialNodePointer(i); - J3DMatPacket* pkt = getMatPacket(i); + J3DMatPacket* pkt = mMatPacket + i; + u16 shapeIndex = materialNode->getShape()->getIndex(); - J3DShapePacket* shapePacket = getShapePacket(shapeIndex); - pkt->mpMaterial = materialNode; - pkt->mpInitShapePacket = shapePacket; + J3DShapePacket* shapePacket = mShapePacket + shapeIndex; + + pkt->setMaterial(materialNode); + pkt->setInitShapePacket(shapePacket); pkt->addShapePacket(shapePacket); - pkt->mpTexture = p_modelData->getMaterialTable().getTexture(); - pkt->mDiffFlag = materialNode->mDiffFlag; + pkt->setTexture(p_modelData->getTexture()); + pkt->setMaterialID(materialNode->mDiffFlag); if (p_modelData->getModelDataType() == 1) { pkt->mFlags |= 0x01; @@ -310,16 +309,6 @@ s32 J3DModel::createMatPacket(J3DModelData* p_modelData, u32 flag) { return kJ3DError_Success; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 J3DModel::createMatPacket(J3DModelData* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DModel/createMatPacket__8J3DModelFP12J3DModelDataUl.s" -} -#pragma pop -#endif /* 803275FC-8032767C 321F3C 0080+00 0/0 1/1 0/0 .text newDifferedDisplayList__8J3DModelFUl */ s32 J3DModel::newDifferedDisplayList(u32 flag) { @@ -373,7 +362,7 @@ void J3DModel::calcMaterial() { u16 matNum = mModelData->getMaterialNum(); for (u16 i = 0; i < matNum; i++) { j3dSys.setMatPacket(&mMatPacket[i]); - + J3DMaterial* material = mModelData->getMaterialNodePointer(i); if (material->getMaterialAnm() != NULL) { material->getMaterialAnm()->calc(material); @@ -401,7 +390,8 @@ void J3DModel::calcDiffTexMtx() { num = getModelData()->getShapeNum(); for (u16 i = 0; i < num; i++) { J3DShapePacket* shapePacket = getShapePacket(i); - J3DTexGenBlock* texGenBlock = getModelData()->getShapeNodePointer(i)->getMaterial()->getTexGenBlock(); + J3DTexGenBlock* texGenBlock = + getModelData()->getShapeNodePointer(i)->getMaterial()->getTexGenBlock(); for (u16 j = 0; (int)j < 8; j++) { J3DTexMtx* texMtxNode = texGenBlock->getTexMtx(j); J3DTexMtxObj* texMtxObj = shapePacket->getTexMtxObj(); @@ -620,11 +610,13 @@ void J3DModel::viewCalc() { if (mModelData->checkFlag(0x10)) { if (getMtxCalcMode() == 2) { - J3DCalcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, (MtxP)&mInternalView); + J3DCalcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, + (MtxP)&mInternalView); } } else if (isCpuSkinningOn()) { if (getMtxCalcMode() == 2) { - J3DCalcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, (MtxP)&mInternalView); + J3DCalcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, + (MtxP)&mInternalView); } } else if (checkFlag(J3DMdlFlag_SkinPosCpu)) { mMtxBuffer->calcDrawMtx(getMtxCalcMode(), mBaseScale, mBaseTransformMtx); @@ -663,7 +655,8 @@ void J3DModel::calcBumpMtx() { for (; i < materialNum; i++) { J3DMaterial* material = getModelData()->getMaterialNodePointer(i); if (material->getNBTScale()->mbHasScale == 1) { - material->getShape()->calcNBTScale(*material->getNBTScale()->getScale(), getNrmMtxPtr(), getBumpMtxPtr(bumpMtxIdx)); + material->getShape()->calcNBTScale(*material->getNBTScale()->getScale(), + getNrmMtxPtr(), getBumpMtxPtr(bumpMtxIdx)); DCStoreRange(getBumpMtxPtr(bumpMtxIdx), getModelData()->getDrawMtxNum() * 0x24); bumpMtxIdx++; } diff --git a/libs/JSystem/J3DGraphBase/J3DGD.cpp b/libs/JSystem/J3DGraphBase/J3DGD.cpp index 927cd214c1..7f65db79a5 100644 --- a/libs/JSystem/J3DGraphBase/J3DGD.cpp +++ b/libs/JSystem/J3DGraphBase/J3DGD.cpp @@ -5,6 +5,7 @@ #include "JSystem/J3DGraphBase/J3DGD.h" #include "dol2asm.h" +#include "dolphin/gd.h" #include "dolphin/os.h" // @@ -74,8 +75,8 @@ void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 indTexSta GDOverflowCheck(0xa); J3DGDWriteBPCmd(0xfe07fc3f); static u8 cm2hw[4] = {0, 2, 1, 3}; - J3DGDWriteBPCmd(texGenNum | colorChanNum << 4 | (tevStageNum - 1) << 0xa - | cm2hw[cullMode] << 0xe | indTexStageNum << 0x10); + J3DGDWriteBPCmd(texGenNum | colorChanNum << 4 | (tevStageNum - 1) << 0xa | + cm2hw[cullMode] << 0xe | indTexStageNum << 0x10); } /* 8030D210-8030D364 307B50 0154+00 0/0 1/1 0/0 .text J3DGDSetGenMode_3Param__FUcUcUc */ @@ -86,48 +87,40 @@ void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum) { } /* 8030D364-8030D65C 307CA4 02F8+00 0/0 1/1 0/0 .text J3DGDSetLightAttn__F10_GXLightIDffffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGDSetLightAttn(_GXLightID param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - f32 param_5, f32 param_6) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightAttn__F10_GXLightIDffffff.s" +void J3DGDSetLightAttn(GXLightID id, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2) { + J3DGDWriteXFCmdHdr(0x0604 + __GDLightID2Offset(id), 6); + J3DGDWrite_f32(a0); + J3DGDWrite_f32(a1); + J3DGDWrite_f32(a2); + J3DGDWrite_f32(k0); + J3DGDWrite_f32(k1); + J3DGDWrite_f32(k2); } -#pragma pop /* 8030D65C-8030D76C 307F9C 0110+00 0/0 1/1 0/0 .text J3DGDSetLightColor__F10_GXLightID8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGDSetLightColor(_GXLightID param_0, _GXColor param_1) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightColor__F10_GXLightID8_GXColor.s" +void J3DGDSetLightColor(GXLightID id, GXColor color) { + J3DGDWriteXFCmd(0x0603 + __GDLightID2Offset(id), + (color.r << 24) | (color.g << 16) | (color.b << 8) | (color.a << 0)); } -#pragma pop /* 8030D76C-8030D938 3080AC 01CC+00 0/0 1/1 0/0 .text J3DGDSetLightPos__F10_GXLightIDfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGDSetLightPos(_GXLightID param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightPos__F10_GXLightIDfff.s" +void J3DGDSetLightPos(GXLightID id, f32 x, f32 y, f32 z) { + J3DGDWriteXFCmdHdr(0x060A + __GDLightID2Offset(id), 3); + J3DGDWrite_f32(x); + J3DGDWrite_f32(y); + J3DGDWrite_f32(z); } -#pragma pop /* 8030D938-8030DB04 308278 01CC+00 0/0 1/1 0/0 .text J3DGDSetLightDir__F10_GXLightIDfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGDSetLightDir(_GXLightID param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetLightDir__F10_GXLightIDfff.s" +void J3DGDSetLightDir(GXLightID id, f32 x, f32 y, f32 z) { + J3DGDWriteXFCmdHdr(0x060D + __GDLightID2Offset(id), 3); + J3DGDWrite_f32(x); + J3DGDWrite_f32(y); + J3DGDWrite_f32(z); } -#pragma pop /* 8030DB04-8030E064 308444 0560+00 1/0 1/1 0/0 .text * J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb */ @@ -239,17 +232,19 @@ void J3DGDSetVtxAttrFmtv(GXVtxFmt fmt, GXVtxAttrFmtList const* fmtList, bool par } } GDOverflowCheck(0x12); - J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP0 + fmt, pos_cnt | pos_type << 1 | pos_shift << 4 - | nrm_cnt << 9 | nrm_type << 0xa | clr0_cnt << 0xd | clr0_type << 0xe | clr1_cnt << 0x11 - | clr1_type << 0x12 | tex0_cnt << 0x15 | tex0_type << 0x16 | tex0_shift << 0x19 - | 0x40000000 | local_34 << 0x1f); - J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP1 + fmt, tex1_cnt | tex1_type << 1 | tex1_shift << 4 - | tex2_cnt << 9 | tex2_type << 0xa | tex2_shift << 0xd | tex3_cnt << 0x12 - | tex3_type << 0x13 | tex3_shift << 0x16 | tex4_cnt << 0x1b | tex4_type << 0x1c - | 0x80000000); - J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP2 + fmt, tex4_shift | tex5_cnt << 5 | tex5_type << 6 - | tex5_shift << 9 | tex6_cnt << 0xe | tex6_type << 0xf | tex6_shift << 0x12 - | tex7_cnt << 0x17 | tex7_type << 0x18 | tex7_shift << 0x1b); + J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP0 + fmt, + pos_cnt | pos_type << 1 | pos_shift << 4 | nrm_cnt << 9 | nrm_type << 0xa | + clr0_cnt << 0xd | clr0_type << 0xe | clr1_cnt << 0x11 | clr1_type << 0x12 | + tex0_cnt << 0x15 | tex0_type << 0x16 | tex0_shift << 0x19 | 0x40000000 | + local_34 << 0x1f); + J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP1 + fmt, + tex1_cnt | tex1_type << 1 | tex1_shift << 4 | tex2_cnt << 9 | tex2_type << 0xa | + tex2_shift << 0xd | tex3_cnt << 0x12 | tex3_type << 0x13 | + tex3_shift << 0x16 | tex4_cnt << 0x1b | tex4_type << 0x1c | 0x80000000); + J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP2 + fmt, + tex4_shift | tex5_cnt << 5 | tex5_type << 6 | tex5_shift << 9 | + tex6_cnt << 0xe | tex6_type << 0xf | tex6_shift << 0x12 | tex7_cnt << 0x17 | + tex7_type << 0x18 | tex7_shift << 0x1b); } /* 8030E064-8030E234 3089A4 01D0+00 1/0 1/1 0/0 .text @@ -358,23 +353,22 @@ void J3DGDSetTexCoordGen(GXTexGenType texGenType, GXTexGenSrc texGenSrc) { break; } J3DGDWrite_u32( - proj_type << (31 - GX_XF_TEX_PROJTYPE_END) - | input_form << (31 - GX_XF_TEX_INPUTFORM_END) - | texgen_type << (31 - GX_XF_TEX_TEXGENTYPE_END) - | src_row << (31 - GX_XF_TEX_SRCROW_END) - | bump_src_tex << (31 - GX_XF_TEX_BUMPSRCTEX_END) - | bump_src_light << (31 - GX_XF_TEX_BUMPSRCLIGHT_END) - ); + proj_type << (31 - GX_XF_TEX_PROJTYPE_END) | input_form << (31 - GX_XF_TEX_INPUTFORM_END) | + texgen_type << (31 - GX_XF_TEX_TEXGENTYPE_END) | src_row << (31 - GX_XF_TEX_SRCROW_END) | + bump_src_tex << (31 - GX_XF_TEX_BUMPSRCTEX_END) | + bump_src_light << (31 - GX_XF_TEX_BUMPSRCLIGHT_END)); } /* 8030E234-8030E438 308B74 0204+00 0/0 16/16 0/0 .text * J3DGDSetTexCoordScale2__F13_GXTexCoordIDUsUcUcUsUcUc */ -void J3DGDSetTexCoordScale2(GXTexCoordID param_0, u16 param_1, u8 param_2, u8 param_3, - u16 param_4, u8 param_5, u8 param_6) { +void J3DGDSetTexCoordScale2(GXTexCoordID param_0, u16 param_1, u8 param_2, u8 param_3, u16 param_4, + u8 param_5, u8 param_6) { GDOverflowCheck(0xf); J3DGDWriteBPCmd(0xfe03ffff); - J3DGDWriteBPCmd((param_1 - 1) | param_2 << 0x10 | param_3 << 0x11 | (param_0 * 2 + 0x30) << 0x18); - J3DGDWriteBPCmd((param_4 - 1) | param_5 << 0x10 | param_6 << 0x11 | (param_0 * 2 + 0x31) << 0x18); + J3DGDWriteBPCmd((param_1 - 1) | param_2 << 0x10 | param_3 << 0x11 | + (param_0 * 2 + 0x30) << 0x18); + J3DGDWriteBPCmd((param_4 - 1) | param_5 << 0x10 | param_6 << 0x11 | + (param_0 * 2 + 0x31) << 0x18); } /* 8045090C-80450914 00038C 0008+00 1/1 0/0 0/0 .sdata J3DGDTexMode0Ids */ @@ -413,18 +407,19 @@ static u8 GX2HWFiltConv[6] = { void J3DGDSetTexLookupMode(GXTexMapID param_0, GXTexWrapMode param_1, GXTexWrapMode param_2, GXTexFilter param_3, GXTexFilter param_4, f32 param_5, f32 param_6, f32 param_7, u8 param_8, u8 param_9, GXAnisotropy param_10) { - J3DGDWriteBPCmd(param_1 | param_2 << 2 | (param_4 == GX_LINEAR) << 4 - | GX2HWFiltConv[param_3] << 5 | (param_9 == 0) << 8 | ((int)(param_7 * 32.0f) & 0xff) << 9 - | param_10 << 0x13 | param_8 << 0x15 | J3DGDTexMode0Ids[param_0] << 0x18); - J3DGDWriteBPCmd(((int)(param_5 * 16.0f) & 0xff) | ((int)(param_6 * 16.0f) & 0xff) << 8 - | J3DGDTexMode1Ids[param_0] << 0x18); + J3DGDWriteBPCmd(param_1 | param_2 << 2 | (param_4 == GX_LINEAR) << 4 | + GX2HWFiltConv[param_3] << 5 | (param_9 == 0) << 8 | + ((int)(param_7 * 32.0f) & 0xff) << 9 | param_10 << 0x13 | param_8 << 0x15 | + J3DGDTexMode0Ids[param_0] << 0x18); + J3DGDWriteBPCmd(((int)(param_5 * 16.0f) & 0xff) | ((int)(param_6 * 16.0f) & 0xff) << 8 | + J3DGDTexMode1Ids[param_0] << 0x18); } /* 8030E5D4-8030E67C 308F14 00A8+00 0/0 1/1 0/0 .text * J3DGDSetTexImgAttr__F11_GXTexMapIDUsUs9_GXTexFmt */ void J3DGDSetTexImgAttr(GXTexMapID param_0, u16 param_1, u16 param_2, GXTexFmt param_3) { - J3DGDWriteBPCmd((param_1 - 1) | (param_2 - 1) << 0xa | param_3 << 0x14 - | J3DGDTexImage0Ids[param_0] << 0x18); + J3DGDWriteBPCmd((param_1 - 1) | (param_2 - 1) << 0xa | param_3 << 0x14 | + J3DGDTexImage0Ids[param_0] << 0x18); } /* 8030E67C-8030E70C 308FBC 0090+00 0/0 1/1 0/0 .text J3DGDSetTexImgPtr__F11_GXTexMapIDPv @@ -456,58 +451,53 @@ void J3DGDLoadTlut(void* param_0, u32 param_1, GXTlutSize param_2) { J3DGDWriteBPCmd(0x0f000000); } -/* ############################################################################################## */ -/* 80456330-80456334 004930 0004+00 1/1 0/0 0/0 .sdata2 @1233 */ -SECTION_SDATA2 static f32 lit_1233 = 1024.0f; - /* 8030EB30-8030EE10 309470 02E0+00 0/0 2/2 0/0 .text J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc */ -#ifdef NONMATCHING -void J3DGDSetIndTexMtx(GXIndTexMtxID mtxID, Mtx3P mtx, s8 param_2) { +void J3DGDSetIndTexMtx(GXIndTexMtxID id, Mtx3P mtx, s8 exp) { + s32 mtx32[6]; u32 idx; - switch (mtxID) { + + switch (id) { case GX_ITM_0: case GX_ITM_1: case GX_ITM_2: - idx = mtxID - GX_ITM_0; + idx = (u32)(id - GX_ITM_0); break; case GX_ITM_S0: case GX_ITM_S1: case GX_ITM_S2: - idx = mtxID - GX_ITM_S0; + idx = (u32)(id - GX_ITM_S0); break; case GX_ITM_T0: case GX_ITM_T1: case GX_ITM_T2: - idx = mtxID - GX_ITM_T0; + idx = (u32)(id - GX_ITM_T0); break; - case GX_ITM_3: - case GX_ITM_S3: default: idx = 0; break; } - u32 m00 = (int)(mtx[0][0] * 1024.0f) & 0x7ff; - u32 m10 = (int)(mtx[1][0] * 1024.0f) & 0x7ff; - u32 m01 = (int)(mtx[0][1] * 1024.0f) & 0x7ff; - u32 m11 = (int)(mtx[1][1] * 1024.0f) & 0x7ff; - u32 m02 = (int)(mtx[0][2] * 1024.0f) & 0x7ff; - u32 m12 = (int)(mtx[1][2] * 1024.0f) & 0x7ff; - GDOverflowCheck(0xf); - J3DGDWriteBPCmd(m00 | m10 << 0xb | ((param_2 + 0x11) & 3) << 0x16 | (idx * 3 + GX_BP_REG_INDMTX0A) << 0x18); - J3DGDWriteBPCmd(m01 | m11 << 0xb | ((param_2 + 0x11) >> 2 & 3) << 0x16 | (idx * 3 + GX_BP_REG_INDMTX0B) << 0x18); - J3DGDWriteBPCmd(m02 | m12 << 0xb | ((param_2 + 0x11) >> 4 & 3) << 0x16 | (idx * 3 + GX_BP_REG_INDMTX0C) << 0x18); + + exp += 17; + + mtx32[0] = (s32)(mtx[0][0] * 1024.0f) & 0x7FF; + mtx32[1] = (s32)(mtx[1][0] * 1024.0f) & 0x7FF; + + mtx32[2] = (s32)(mtx[0][1] * 1024.0f) & 0x7FF; + mtx32[3] = (s32)(mtx[1][1] * 1024.0f) & 0x7FF; + + mtx32[4] = (s32)(mtx[0][2] * 1024.0f) & 0x7FF; + mtx32[5] = (s32)(mtx[1][2] * 1024.0f) & 0x7FF; + + GDOverflowCheck(15); + + J3DGDWriteBPCmd((mtx32[0] << 0) | (mtx32[1] << 11) | (((exp >> 0) & 0x03) << 22) | + (0x06 + idx * 3) << 24); + J3DGDWriteBPCmd((mtx32[2] << 0) | (mtx32[3] << 11) | (((exp >> 2) & 0x03) << 22) | + (0x07 + idx * 3) << 24); + J3DGDWriteBPCmd((mtx32[4] << 0) | (mtx32[5] << 11) | (((exp >> 4) & 0x03) << 22) | + (0x08 + idx * 3) << 24); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGDSetIndTexMtx(_GXIndTexMtxID param_0, f32 (*param_1)[3], s8 param_2) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc.s" -} -#pragma pop -#endif /* 8030EE10-8030EF08 309750 00F8+00 0/0 2/2 0/0 .text * J3DGDSetIndTexCoordScale__F16_GXIndTexStageID14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale @@ -515,20 +505,20 @@ asm void J3DGDSetIndTexMtx(_GXIndTexMtxID param_0, f32 (*param_1)[3], s8 param_2 void J3DGDSetIndTexCoordScale(GXIndTexStageID stage, GXIndTexScale scale0, GXIndTexScale scale1, GXIndTexScale scale2, GXIndTexScale scale3) { GDOverflowCheck(5); - J3DGDWriteBPCmd(scale0 | scale1 << 4 | scale2 << 8 | scale3 << 0xc - | ((stage >> 1) + GX_BP_REG_RAS1_SS0) << 0x18); + J3DGDWriteBPCmd(scale0 | scale1 << 4 | scale2 << 8 | scale3 << 0xc | + ((stage >> 1) + GX_BP_REG_RAS1_SS0) << 0x18); } /* 8030EF08-8030F108 309848 0200+00 0/0 2/2 0/0 .text * J3DGDSetIndTexOrder__FUl13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID */ -void J3DGDSetIndTexOrder(u32 count, GXTexCoordID coord0, GXTexMapID map0, - GXTexCoordID coord1, GXTexMapID map1, GXTexCoordID coord2, - GXTexMapID map2, GXTexCoordID coord3, GXTexMapID map3) { +void J3DGDSetIndTexOrder(u32 count, GXTexCoordID coord0, GXTexMapID map0, GXTexCoordID coord1, + GXTexMapID map1, GXTexCoordID coord2, GXTexMapID map2, GXTexCoordID coord3, + GXTexMapID map3) { GDOverflowCheck(0xa); - J3DGDWriteBPCmd(map0 & 7 | (coord0 & 7) << 3 | (map1 & 7) << 6 | (coord1 & 7) << 9 - | (map2 & 7) << 0xc | (coord2 & 7) << 0xf | (map3 & 7) << 0x12 | (coord3 & 7) << 0x15 - | GX_BP_REG_RAS1_IREF << 0x18); + J3DGDWriteBPCmd(map0 & 7 | (coord0 & 7) << 3 | (map1 & 7) << 6 | (coord1 & 7) << 9 | + (map2 & 7) << 0xc | (coord2 & 7) << 0xf | (map3 & 7) << 0x12 | + (coord3 & 7) << 0x15 | GX_BP_REG_RAS1_IREF << 0x18); u32 imask = 0; for (u32 i = 0; i < count; i++) { switch (i) { @@ -559,12 +549,12 @@ void J3DGDSetTevOrder(GXTevStageID stage, GXTexCoordID coord0, GXTexMapID map0, coord1 = coord1 >= GX_MAXCOORD ? GX_TEXCOORD0 : coord1; GDOverflowCheck(5); static u8 c2r[32] = {0, 1, 0, 1, 0, 1, 7, 5, 6, 0, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - J3DGDWriteBPCmd((map0 & 7) | coord0 << 3 - | (map0 != GX_TEXMAP_NULL && !(map0 & GX_TEXMAP_DISABLE)) << 6 | c2r[channel0 & 0xf] << 7 - | (map1 & 7) << 0xc | coord1 << 0xf - | (map1 != GX_TEXMAP_NULL && !(map1 & GX_TEXMAP_DISABLE)) << 0x12 - | c2r[channel1 & 0xf] << 0x13 | (stage / 2 + GX_BP_REG_RAS1_TREF0) << 0x18); + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + J3DGDWriteBPCmd((map0 & 7) | coord0 << 3 | + (map0 != GX_TEXMAP_NULL && !(map0 & GX_TEXMAP_DISABLE)) << 6 | + c2r[channel0 & 0xf] << 7 | (map1 & 7) << 0xc | coord1 << 0xf | + (map1 != GX_TEXMAP_NULL && !(map1 & GX_TEXMAP_DISABLE)) << 0x12 | + c2r[channel1 & 0xf] << 0x13 | (stage / 2 + GX_BP_REG_RAS1_TREF0) << 0x18); } /* 8030F294-8030F3FC 309BD4 0168+00 0/0 11/11 0/0 .text @@ -580,10 +570,10 @@ void J3DGDSetTevKColor(GXTevKColorID id, GXColor color) { /* 8030F3FC-8030F630 309D3C 0234+00 0/0 11/11 0/0 .text * J3DGDSetTevColorS10__F11_GXTevRegID11_GXColorS10 */ void J3DGDSetTevColorS10(GXTevRegID id, GXColorS10 color) { - u32 cmd0 = (color.r & 0x7ff) | (color.a & 0x7ff) << 0xc - | (id * 2 + GX_BP_REG_TEVREG0LO) << 0x18; - u32 cmd1 = (color.b & 0x7ff) | (color.g & 0x7ff) << 0xc - | (id * 2 + GX_BP_REG_TEVREG0HI) << 0x18; + u32 cmd0 = + (color.r & 0x7ff) | (color.a & 0x7ff) << 0xc | (id * 2 + GX_BP_REG_TEVREG0LO) << 0x18; + u32 cmd1 = + (color.b & 0x7ff) | (color.g & 0x7ff) << 0xc | (id * 2 + GX_BP_REG_TEVREG0HI) << 0x18; GDOverflowCheck(0x14); J3DGDWriteBPCmd(cmd0); J3DGDWriteBPCmd(cmd1); @@ -626,8 +616,8 @@ void J3DGDSetFog(GXFogType fogType, f32 param_1, f32 param_2, f32 nearZ, f32 far void J3DGDSetFogRangeAdj(u8 param_0, u16 param_1, GXFogAdjTable* table) { if (param_0 != 0) { for (int i = 0; i < 0xa; i += 2) { - J3DGDWriteBPCmd((i / 2 + GX_BP_REG_FOGRANGEK0) << 0x18 - | table->fogVals[i + 1] << 0xc | table->fogVals[i]); + J3DGDWriteBPCmd((i / 2 + GX_BP_REG_FOGRANGEK0) << 0x18 | table->fogVals[i + 1] << 0xc | + table->fogVals[i]); } } u32 cmd = GX_BP_REG_FOGRANGE << 0x18 | (param_1 + 0x156) | param_0 << 0xa; @@ -728,13 +718,13 @@ SECTION_SDATA static u8 J3DTexImage2Ids[8] = { /* 8030FD68-8030FDE8 30A6A8 0080+00 0/0 1/1 0/0 .text * J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTexCacheSize */ #ifdef NONMATCHING -void J3DFifoLoadTexCached(GXTexMapID id, u32 param_1, GXTexCacheSize param_2, - u32 param_3, GXTexCacheSize param_4) { - J3DFifoLoadBPCmd(param_1 >> 5 | (param_2 + 3) << 0xf | (param_2 + 3) << 0x12 - | J3DTexImage1Ids[id] << 0x18); +void J3DFifoLoadTexCached(GXTexMapID id, u32 param_1, GXTexCacheSize param_2, u32 param_3, + GXTexCacheSize param_4) { + J3DFifoLoadBPCmd(param_1 >> 5 | (param_2 + 3) << 0xf | (param_2 + 3) << 0x12 | + J3DTexImage1Ids[id] << 0x18); if (param_4 != GX_TEXCACHE_NONE && param_3 < 0x100000) { - J3DFifoLoadBPCmd(param_3 >> 5 | (param_4 + 3) << 0xf | (param_4 + 3) << 0x12 - | J3DTexImage2Ids[id] << 0x18); + J3DFifoLoadBPCmd(param_3 >> 5 | (param_4 + 3) << 0xf | (param_4 + 3) << 0x12 | + J3DTexImage2Ids[id] << 0x18); } } #else diff --git a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp index 8d6b960332..1754afff5e 100644 --- a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp +++ b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp @@ -4,16 +4,35 @@ // #include "JSystem/J3DGraphBase/J3DMatBlock.h" +#include "dolphin/gd.h" +#include "JSystem/J3DGraphBase/J3DGD.h" +#include "JSystem/J3DGraphBase/J3DSys.h" #include "dol2asm.h" #include "dolphin/os.h" -// -// Types: -// +inline void loadMatColors(const J3DGXColor* color) { + J3DGDWriteXFCmdHdr(0x100C, 2); + J3DGDWrite_u32(*(u32*)color); + J3DGDWrite_u32(*(u32*)(color + 1)); +} -struct J3DSys { - static u8 sTexCoordScaleTable[64 + 4 /* padding */]; -}; +inline void loadAmbColors(const J3DGXColor* color) { + J3DGDWriteXFCmdHdr(0x100A, 2); + J3DGDWrite_u32(*(u32*)color); + J3DGDWrite_u32(*(u32*)(color + 1)); +} + +inline void loadTexCoordScale(GXTexCoordID coord, const J3DTexCoordScaleInfo& info) { + J3DGDSetTexCoordScale2(coord, info.field_0x00, info.field_0x04 == 1, 0, info.field_0x02, info.field_0x06 == 1, 0); +} + +inline void loadTevColor(u32 reg, const J3DGXColorS10& color) { + J3DGDSetTevColorS10(GXTevRegID(reg + 1), color); +} + +inline void loadTevKColor(u32 reg, const J3DGXColor& color) { + J3DGDSetTevKColor(GXTevKColorID(reg), color); +} // // Forward References: @@ -591,12 +610,10 @@ extern "C" extern void* __vt__10J3DPEBlock[31]; extern "C" extern void* __vt__11J3DIndBlock[19]; extern "C" extern void* __vt__14J3DTexGenBlock[27]; extern "C" extern void* __vt__13J3DColorBlock[36]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sTexCoordScaleTable__6J3DSys[64 + 4 /* padding */]; extern "C" extern u8 j3dTevSwapTableTable[1024]; extern "C" extern u8 j3dAlphaCmpTable[768]; extern "C" extern u8 j3dZModeTable[96]; -extern "C" extern u8 __GDCurrentDL[4]; extern "C" extern GXColor j3dDefaultColInfo; extern "C" extern u32 j3dDefaultAmbInfo; extern "C" extern GXColorS10 j3dDefaultTevColor; @@ -637,45 +654,34 @@ asm void J3DColorBlockLightOn::initialize() { #pragma pop /* 80317644-80317674 311F84 0030+00 0/0 2/2 0/0 .text initialize__21J3DTexGenBlockPatchedFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTexGenBlockPatched::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__21J3DTexGenBlockPatchedFv.s" +void J3DTexGenBlockPatched::initialize() { + mTexGenNum = 0; + for (u32 i = 0; i < 8; i++) + mTexMtx[i] = NULL; + mTexMtxOffset = 0; } -#pragma pop /* 80317674-803176A4 311FB4 0030+00 0/0 1/1 0/0 .text initialize__15J3DTexGenBlock4Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTexGenBlock4::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTexGenBlock4Fv.s" +void J3DTexGenBlock4::initialize() { + mTexGenNum = 0; + for (u32 i = 0; i < 4; i++) + mTexMtx[i] = NULL; + mTexMtxOffset = 0; } -#pragma pop /* 803176A4-803176D4 311FE4 0030+00 0/0 1/1 0/0 .text initialize__19J3DTexGenBlockBasicFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTexGenBlockBasic::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__19J3DTexGenBlockBasicFv.s" +void J3DTexGenBlockBasic::initialize() { + mTexGenNum = 0; + for (u32 i = 0; i < 8; i++) + mTexMtx[i] = NULL; + mTexMtxOffset = 0; } -#pragma pop /* 803176D4-803176E0 312014 000C+00 0/0 1/1 0/0 .text initialize__15J3DTevBlockNullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTevBlockNull::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DTevBlockNullFv.s" +void J3DTevBlockNull::initialize() { + mTexNoOffset = 0; } -#pragma pop /* 803176E0-803177E8 312020 0108+00 0/0 1/1 0/0 .text initialize__18J3DTevBlockPatchedFv */ @@ -689,14 +695,12 @@ asm void J3DTevBlockPatched::initialize() { #pragma pop /* 803177E8-80317810 312128 0028+00 0/0 1/1 0/0 .text initialize__12J3DTevBlock1Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTevBlock1::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__12J3DTevBlock1Fv.s" +void J3DTevBlock1::initialize() { + mTexNo[0] = 0xFFFF; + mTevStage[0].field_0x0 = 0xC0; + mTevStage[0].field_0x4 = 0xC1; + mTexNoOffset = 0; } -#pragma pop /* 80317810-803178EC 312150 00DC+00 0/0 1/1 0/0 .text initialize__12J3DTevBlock2Fv */ #pragma push @@ -729,34 +733,26 @@ asm void J3DTevBlock16::initialize() { #pragma pop /* 80317B28-80317B34 312468 000C+00 0/0 1/1 0/0 .text initialize__15J3DIndBlockFullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DIndBlockFull::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__15J3DIndBlockFullFv.s" +void J3DIndBlockFull::initialize() { + mIndTexStageNum = 0; } -#pragma pop /* 80317B34-80317B58 312474 0024+00 0/0 1/1 0/0 .text initialize__16J3DPEBlockFogOffFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DPEBlockFogOff::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__16J3DPEBlockFogOffFv.s" +void J3DPEBlockFogOff::initialize() { + mAlphaComp.mID = 0xFFFF; + mZMode.mZModeID = 0xFFFF; + mZCompLoc = 0xFF; + mDither = 1; } -#pragma pop /* 80317B58-80317B84 312498 002C+00 0/0 1/1 0/0 .text initialize__14J3DPEBlockFullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DPEBlockFull::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/initialize__14J3DPEBlockFullFv.s" +void J3DPEBlockFull::initialize() { + mAlphaComp.mID = 0xFFFF; + mZMode.mZModeID = 0xFFFF; + mZCompLoc = 0xFF; + mDither = 1; + mFogOffset = 0; } -#pragma pop /* 80317B84-80317B8C 3124C4 0008+00 1/0 0/0 0/0 .text countDLSize__21J3DColorBlockLightOffFv */ s32 J3DColorBlockLightOff::countDLSize() { @@ -905,14 +901,14 @@ asm void J3DColorBlockLightOff::patch() { SECTION_SDATA static u32 SizeOfLoadMatColors = 0x0000000D; /* 80318F00-803190AC 313840 01AC+00 2/0 0/0 0/0 .text patchMatColor__21J3DColorBlockLightOffFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOff::patchMatColor() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__21J3DColorBlockLightOffFv.s" +void J3DColorBlockLightOff::patchMatColor() { + GDSetCurrOffset(mMatColorOffset); + u8* start = GDGetCurrPointer(); + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); + u8* end = GDGetCurrPointer(); + DCStoreRange(start, end - start); } -#pragma pop /* ############################################################################################## */ /* 80450964-80450968 0003E4 0004+00 2/2 0/0 0/0 .sdata SizeOfLoadAmbColors */ @@ -936,24 +932,20 @@ asm void J3DColorBlockLightOff::patchLight() { #pragma pop /* 803194E8-80319534 313E28 004C+00 1/0 0/0 0/0 .text patch__20J3DColorBlockLightOnFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOn::patch() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/patch__20J3DColorBlockLightOnFv.s" +void J3DColorBlockLightOn::patch() { + patchMatColor(); + patchLight(); } -#pragma pop /* 80319534-803196E0 313E74 01AC+00 1/0 0/0 0/0 .text patchMatColor__20J3DColorBlockLightOnFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOn::patchMatColor() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/patchMatColor__20J3DColorBlockLightOnFv.s" +void J3DColorBlockLightOn::patchMatColor() { + GDSetCurrOffset(mMatColorOffset); + u8* start = GDGetCurrPointer(); + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); + u8* end = GDGetCurrPointer(); + DCStoreRange(start, end - start); } -#pragma pop /* 803196E0-80319B4C 314020 046C+00 1/0 0/0 0/0 .text patchLight__20J3DColorBlockLightOnFv */ #pragma push @@ -966,24 +958,18 @@ asm void J3DColorBlockLightOn::patchLight() { #pragma pop /* 80319B4C-80319BB4 31448C 0068+00 2/0 0/0 0/0 .text diff__21J3DColorBlockLightOffFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOff::diff(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/diff__21J3DColorBlockLightOffFUl.s" +void J3DColorBlockLightOff::diff(u32 flag) { + if (flag & 0x1) + diffMatColor(); + if (flag & 0x2) + diffColorChan(); } -#pragma pop /* 80319BB4-80319D30 3144F4 017C+00 2/0 0/0 0/0 .text diffMatColor__21J3DColorBlockLightOffFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOff::diffMatColor() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__21J3DColorBlockLightOffFv.s" +void J3DColorBlockLightOff::diffMatColor() { + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); } -#pragma pop /* 80319D30-8031A13C 314670 040C+00 2/0 0/0 0/0 .text diffColorChan__21J3DColorBlockLightOffFv */ #pragma push @@ -996,34 +982,31 @@ asm void J3DColorBlockLightOff::diffColorChan() { #pragma pop /* 8031A13C-8031A1DC 314A7C 00A0+00 1/0 0/0 0/0 .text diff__20J3DColorBlockLightOnFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOn::diff(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/diff__20J3DColorBlockLightOnFUl.s" +void J3DColorBlockLightOn::diff(u32 flag) { + if (flag & 4) + diffAmbColor(); + + if (flag & 1) + diffMatColor(); + + if (flag & 2) + diffColorChan(); + + if ((flag >> 4) & 0x0f) + diffLightObj((flag >> 4) & 0x0f); } -#pragma pop /* 8031A1DC-8031A358 314B1C 017C+00 1/0 0/0 0/0 .text diffAmbColor__20J3DColorBlockLightOnFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOn::diffAmbColor() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/diffAmbColor__20J3DColorBlockLightOnFv.s" +void J3DColorBlockLightOn::diffAmbColor() { + GDOverflowCheck(SizeOfLoadAmbColors); + loadAmbColors(mAmbColor); } -#pragma pop /* 8031A358-8031A4D4 314C98 017C+00 1/0 0/0 0/0 .text diffMatColor__20J3DColorBlockLightOnFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DColorBlockLightOn::diffMatColor() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/diffMatColor__20J3DColorBlockLightOnFv.s" +void J3DColorBlockLightOn::diffMatColor() { + GDOverflowCheck(SizeOfLoadMatColors); + loadMatColors(mMatColor); } -#pragma pop /* 8031A4D4-8031A8E0 314E14 040C+00 1/0 0/0 0/0 .text diffColorChan__20J3DColorBlockLightOnFv */ #pragma push @@ -1046,34 +1029,43 @@ asm void J3DColorBlockLightOn::diffLightObj(u32 param_0) { #pragma pop /* 8031A948-8031A9E8 315288 00A0+00 1/0 0/0 0/0 .text load__15J3DTexGenBlock4Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTexGenBlock4::load() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/load__15J3DTexGenBlock4Fv.s" +void J3DTexGenBlock4::load() { + mTexMtxOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 4; i++) { + if (mTexMtx[i] && mTexCoord[i].getTexGenMtx() != GX_IDENTITY) { + mTexMtx[i]->load(i); + } + } + if (mTexGenNum != 0) { + loadTexCoordGens(mTexGenNum, mTexCoord); + } } -#pragma pop /* 8031A9E8-8031AA88 315328 00A0+00 1/0 0/0 0/0 .text load__19J3DTexGenBlockBasicFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTexGenBlockBasic::load() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/load__19J3DTexGenBlockBasicFv.s" +void J3DTexGenBlockBasic::load() { + mTexMtxOffset = GDGetCurrOffset(); + for (u32 i = 0; i < 8; i++) { + if (mTexMtx[i] && mTexCoord[i].getTexGenMtx() != GX_IDENTITY) { + mTexMtx[i]->load(i); + } + } + if (mTexGenNum != 0) { + loadTexCoordGens(mTexGenNum, mTexCoord); + } } -#pragma pop /* 8031AA88-8031AB18 3153C8 0090+00 1/0 0/0 0/0 .text patch__21J3DTexGenBlockPatchedFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTexGenBlockPatched::patch() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMatBlock/patch__21J3DTexGenBlockPatchedFv.s" +void J3DTexGenBlockPatched::patch() { + GDSetCurrOffset(mTexMtxOffset); + u8* start = GDGetCurrPointer(); + for (u32 i = 0; i < 8; i++) { + if (mTexMtx[i]) { + mTexMtx[i]->load(i); + } + } + u8* end = GDGetCurrPointer(); + DCStoreRange(start, end - start); } -#pragma pop /* 8031AB18-8031ABC0 315458 00A8+00 1/0 0/0 0/0 .text patch__15J3DTexGenBlock4Fv */ #pragma push diff --git a/libs/JSystem/J3DGraphBase/J3DMaterial.cpp b/libs/JSystem/J3DGraphBase/J3DMaterial.cpp index 04e1367dac..ad853d22e0 100644 --- a/libs/JSystem/J3DGraphBase/J3DMaterial.cpp +++ b/libs/JSystem/J3DGraphBase/J3DMaterial.cpp @@ -491,37 +491,30 @@ J3DIndBlock* J3DMaterial::createIndBlock(int param_0) { /* 80315F60-80316100 3108A0 01A0+00 0/0 3/3 0/0 .text createPEBlock__11J3DMaterialFUlUl */ -// rv is in r5 for some reason -#ifdef NONMATCHING -J3DPEBlock* J3DMaterial::createPEBlock(u32 param_0, u32 param_1) { +J3DPEBlock* J3DMaterial::createPEBlock(u32 createFlag, u32 materialMode) { J3DPEBlock* rv = NULL; - if (param_0 == 0) { - if (param_1 & 1) { - return new J3DPEBlockOpa(); - } else if (param_1 & 2) { - return new J3DPEBlockTexEdge(); - } else if (param_1 & 4) { - return new J3DPEBlockXlu(); + + if (createFlag == 0) { + if (materialMode & 1) { + rv = new J3DPEBlockOpa(); + return rv; + } else if (materialMode & 2) { + rv = new J3DPEBlockTexEdge(); + return rv; + } else if (materialMode & 4) { + rv = new J3DPEBlockXlu(); + return rv; } } - if (param_0 == 0x10000000) { + if (createFlag == 0x10000000) { rv = new J3DPEBlockFull(); - } else if (param_0 == 0x20000000) { + } else if (createFlag == 0x20000000) { rv = new J3DPEBlockFogOff(); } + return rv; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DPEBlock* J3DMaterial::createPEBlock(u32 param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/createPEBlock__11J3DMaterialFUlUl.s" -} -#pragma pop -#endif /* 80316100-80316150 310A40 0050+00 0/0 2/2 0/0 .text calcSizeColorBlock__11J3DMaterialFUl */ u32 J3DMaterial::calcSizeColorBlock(u32 param_0) { diff --git a/libs/JSystem/J3DGraphBase/J3DPacket.cpp b/libs/JSystem/J3DGraphBase/J3DPacket.cpp index efb578acc3..79c510b0c0 100644 --- a/libs/JSystem/J3DGraphBase/J3DPacket.cpp +++ b/libs/JSystem/J3DGraphBase/J3DPacket.cpp @@ -1,31 +1,11 @@ -// -// Generated By: dol2asm -// Translation Unit: J3DPacket -// - #include "JSystem/J3DGraphBase/J3DPacket.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" #include "JSystem/J3DGraphBase/J3DDrawBuffer.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "JSystem/JKernel/JKRHeap.h" -#include "string.h" -#include "dol2asm.h" #include "dolphin/os/OSCache.h" #include "dolphin/os/OSInterrupt.h" -#include "dolphin/types.h" -#include "global.h" - -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// +#include "string.h" J3DError J3DDisplayListObj::newDisplayList(u32 capacity) { mCapacity = ALIGN_NEXT(capacity, 0x20); @@ -138,12 +118,12 @@ void J3DPacket::addChildPacket(J3DPacket* pPacket) { /* ############################################################################################## */ /* 803CD900-803CD920 02AA20 0020+00 1/1 0/0 0/0 .data sDifferedRegister */ -SECTION_DATA static u32 sDifferedRegister[8] = { +static u32 sDifferedRegister[8] = { 0x00000004, 0x00000001, 0x00000002, 0x01000000, 0x10000000, 0x20000000, 0x02000000, 0x08000000, }; /* 803CD920-803CD940 02AA40 0020+00 1/1 0/0 0/0 .data sSizeOfDiffered */ -SECTION_DATA static s32 sSizeOfDiffered[8] = { +static s32 sSizeOfDiffered[8] = { 13, 13, 21, 120, 55, 15, 19, 45, }; @@ -353,7 +333,9 @@ void J3DShapePacket::prepareDraw() const { mpShape->offFlag(J3DShpFlag_SkinPosCpu); } - if (mpModel->checkFlag(J3DMdlFlag_SkinNrmCpu) && mpShape->checkFlag(J3DShpFlag_EnableLod) == false) { + if (mpModel->checkFlag(J3DMdlFlag_SkinNrmCpu) && + mpShape->checkFlag(J3DShpFlag_EnableLod) == false) + { mpShape->onFlag(J3DShpFlag_SkinNrmCpu); } else { mpShape->offFlag(J3DShpFlag_SkinNrmCpu); diff --git a/libs/JSystem/J3DGraphBase/J3DShape.cpp b/libs/JSystem/J3DGraphBase/J3DShape.cpp index ee1981e32e..59ec27c645 100644 --- a/libs/JSystem/J3DGraphBase/J3DShape.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShape.cpp @@ -1,30 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: J3DShape -// - #include "JSystem/J3DGraphBase/J3DShape.h" #include "JSystem/J3DGraphBase/J3DPacket.h" #include "JSystem/J3DGraphBase/J3DVertex.h" -#include "dolphin/gd/GDGeometry.h" +#include "dolphin/gd.h" #include "dolphin/os.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -// -// External References: -// void J3DGDSetVtxAttrFmtv(_GXVtxFmt, GXVtxAttrFmtList const*, bool); void J3DFifoLoadPosMtxImm(Mtx, u32); void J3DFifoLoadNrmMtxImm(Mtx, u32); -// -// Declarations: -// enum { kVcdVatDLSize = 0xC0, diff --git a/libs/JSystem/J3DGraphBase/J3DTevs.cpp b/libs/JSystem/J3DGraphBase/J3DTevs.cpp index e8196589b0..040d734260 100644 --- a/libs/JSystem/J3DGraphBase/J3DTevs.cpp +++ b/libs/JSystem/J3DGraphBase/J3DTevs.cpp @@ -80,25 +80,13 @@ extern "C" u8 sTexCoordScaleTable__6J3DSys[64 + 4 /* padding */]; // /* 80323590-80323644 31DED0 00B4+00 0/0 3/3 0/0 .text load__11J3DLightObjCFUl */ -// missing instruction -#ifdef NONMATCHING -void J3DLightObj::load(u32 param_0) const { +void J3DLightObj::load(u32 lightIdx) const { GDOverflowCheck(0x48); - J3DGDSetLightPos(GXLightID(param_0 * 2), mInfo.mLightPosition.x, mInfo.mLightPosition.y, mInfo.mLightPosition.z); - J3DGDSetLightAttn(GXLightID(param_0 * 2), mInfo.mCosAtten.x, mInfo.mCosAtten.y, mInfo.mCosAtten.z, mInfo.mDistAtten.x, mInfo.mDistAtten.y, mInfo.mDistAtten.z); - J3DGDSetLightColor(GXLightID(param_0 * 2), mInfo.mColor); - J3DGDSetLightDir(GXLightID(param_0 * 2), mInfo.mLightDirection.x, mInfo.mLightDirection.y, mInfo.mLightDirection.z); + J3DGDSetLightPos(GXLightID(1 << lightIdx), mInfo.mLightPosition.x, mInfo.mLightPosition.y, mInfo.mLightPosition.z); + J3DGDSetLightAttn(GXLightID(1 << lightIdx), mInfo.mCosAtten.x, mInfo.mCosAtten.y, mInfo.mCosAtten.z, mInfo.mDistAtten.x, mInfo.mDistAtten.y, mInfo.mDistAtten.z); + J3DGDSetLightColor(GXLightID(1 << lightIdx), mInfo.mColor); + J3DGDSetLightDir(GXLightID(1 << lightIdx), mInfo.mLightDirection.x, mInfo.mLightDirection.y, mInfo.mLightDirection.z); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DLightObj::load(u32 param_0) const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DTevs/load__11J3DLightObjCFUl.s" -} -#pragma pop -#endif /* 80323644-803238C4 31DF84 0280+00 0/0 3/3 0/0 .text loadTexCoordGens__FUlP11J3DTexCoord */ @@ -489,33 +477,33 @@ COMPILER_STRIP_GATE(0x803A1FF8, &lit_1197); static u8 j3dTexCoordTable[7623 + 1 /* padding */]; /* 80324194-8032423C 31EAD4 00A8+00 0/0 1/1 0/0 .text makeTexCoordTable__Fv */ -// regswap -#ifdef NONMATCHING void makeTexCoordTable() { - u8 bytes[] = { 0x1e, 0x21, 0x24, 0x27, 0x2a, 0x2d, 0x30, 0x33, 0x36, 0x39, 0x3c }; + u8 texMtx[] = { + GX_TEXMTX0, + GX_TEXMTX1, + GX_TEXMTX2, + GX_TEXMTX3, + GX_TEXMTX4, + GX_TEXMTX5, + GX_TEXMTX6, + GX_TEXMTX7, + GX_TEXMTX8, + GX_TEXMTX9, + GX_IDENTITY, + }; u8* table = j3dTexCoordTable; for (u32 i = 0; i < 11; i++) { for (u32 j = 0; j < 21; j++) { - for (int k = 0; k < 11; k++) { - u32 idx = i * 0xe7 + j * 11 + k; - table[idx * 3] = i; + for (int k = 0; k < ARRAY_SIZE(texMtx); k++) { + u32 idx = j * 11 + i * 0xe7 + k; + table[idx * 3 + 0] = i; table[idx * 3 + 1] = j; - table[idx * 3 + 2] = bytes[k]; + table[idx * 3 + 2] = texMtx[k]; } } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void makeTexCoordTable() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DTevs/makeTexCoordTable__Fv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80436A60-80436E60 063780 0400+00 1/1 3/3 0/0 .bss j3dTevSwapTableTable */ @@ -547,31 +535,19 @@ extern u8 j3dZModeTable[96]; u8 j3dZModeTable[96]; /* 803242A8-80324314 31EBE8 006C+00 0/0 1/1 0/0 .text makeZModeTable__Fv */ -// regswap -#ifdef NONMATCHING void makeZModeTable() { u8* table = j3dZModeTable; for (int i = 0; i < 2; i++) { for (u32 j = 0; j < 8; j++) { for (int k = 0; k < 2; k++) { - u32 idx = i * 16 + j * 2 + k; - table[idx * 3] = i; + u32 idx = j * 2 + i * 16 + k; + table[idx * 3 + 0] = i; table[idx * 3 + 1] = j; table[idx * 3 + 2] = k; } } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void makeZModeTable() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DTevs/makeZModeTable__Fv.s" -} -#pragma pop -#endif /* 80324314-80324358 31EC54 0044+00 0/0 1/1 0/0 .text makeTevSwapTable__Fv */ void makeTevSwapTable() { diff --git a/libs/JSystem/J3DGraphBase/J3DTransform.cpp b/libs/JSystem/J3DGraphBase/J3DTransform.cpp index 520e90bb05..2d8ddc9977 100644 --- a/libs/JSystem/J3DGraphBase/J3DTransform.cpp +++ b/libs/JSystem/J3DGraphBase/J3DTransform.cpp @@ -4,13 +4,10 @@ // #include "JSystem/J3DGraphBase/J3DTransform.h" +#include "JSystem/J3DGraphBase/J3DStruct.h" +#include "JSystem/JMath/JMATrigonometric.h" #include "dol2asm.h" - -// -// Types: -// - -struct J3DTextureSRTInfo {}; +#include "dolphin/base/PPCArch.h" // // Forward References: @@ -44,23 +41,19 @@ extern "C" u8 sincosTable___5JMath[65536]; // /* 80311630-80311638 -00001 0008+00 0/0 0/0 0/0 .text __MTGQR7__FUl */ -asm void __MTGQR7(u32 param_0) { +void __MTGQR7(register u32 v) { // clang-format off - nofralloc - mtspr 0x397, r3 - blr + asm { + mtspr GQR7, v + } // clang-format on } /* 80311638-80311670 30BF78 0038+00 0/0 2/2 0/0 .text J3DGQRSetup7__FUlUlUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGQRSetup7(u32 param_0, u32 param_1, u32 param_2, u32 param_3) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DTransform/J3DGQRSetup7__FUlUlUlUl.s" +void J3DGQRSetup7(u32 r0, u32 r1, u32 r2, u32 r3) { + u32 v = (((r0 << 8) + r1) << 16) | ((r2 << 8) + r3); + __MTGQR7(v); } -#pragma pop /* ############################################################################################## */ /* 80456378-8045637C 004978 0004+00 6/6 0/0 0/0 .sdata2 @435 */ @@ -72,6 +65,44 @@ SECTION_SDATA2 static u8 lit_435[4] = { }; /* 80311670-80311760 30BFB0 00F0+00 0/0 2/2 0/0 .text J3DCalcBBoardMtx__FPA4_f */ +// this uses a non-standard sqrtf, not sure why or how its supposed to be setup +#ifdef NONMATCHING +static inline f32 sqrtf2(f32 x) { + if (x > 0.0f) { + f32 guess = (f32)__frsqrte(x); + return (f32)(x * guess); + } + return x; +} + +void J3DCalcBBoardMtx(Mtx mtx) { + f32 x = (mtx[0][0] * mtx[0][0]) + (mtx[1][0] * mtx[1][0]) + (mtx[2][0] * mtx[2][0]); + f32 y = (mtx[0][1] * mtx[0][1]) + (mtx[1][1] * mtx[1][1]) + (mtx[2][1] * mtx[2][1]); + f32 z = (mtx[0][2] * mtx[0][2]) + (mtx[1][2] * mtx[1][2]) + (mtx[2][2] * mtx[2][2]); + + if (x > 0.0f) { + x *= sqrtf2(x); + } + if (y > 0.0f) { + y *= sqrtf2(y); + } + if (z > 0.0f) { + z *= sqrtf2(z); + } + + mtx[0][0] = x; + mtx[0][1] = 0.0f; + mtx[0][2] = 0.0f; + + mtx[1][0] = 0.0f; + mtx[1][1] = y; + mtx[1][2] = 0.0f; + + mtx[2][0] = 0.0f; + mtx[2][1] = 0.0f; + mtx[2][2] = z; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -80,6 +111,7 @@ asm void J3DCalcBBoardMtx(f32 (*param_0)[4]) { #include "asm/JSystem/J3DGraphBase/J3DTransform/J3DCalcBBoardMtx__FPA4_f.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803A1E30-803A1E50 02E490 0020+00 0/0 1/1 0/0 .rodata j3dDefaultTransformInfo */ @@ -121,25 +153,58 @@ asm void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]) { /* 80311964-80311A24 30C2A4 00C0+00 0/0 2/2 2/2 .text * J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGetTranslateRotateMtx(J3DTransformInfo const& param_0, f32 (*param_1)[4]) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f.s" +void J3DGetTranslateRotateMtx(const J3DTransformInfo& tx, Mtx dst) { + f32 sx = JMASSin(tx.mRotation.x), cx = JMASCos(tx.mRotation.x); + f32 sy = JMASSin(tx.mRotation.y), cy = JMASCos(tx.mRotation.y); + f32 sz = JMASSin(tx.mRotation.z), cz = JMASCos(tx.mRotation.z); + + dst[2][0] = -sy; + dst[0][0] = cz * cy; + dst[1][0] = sz * cy; + dst[2][1] = cy * sx; + dst[2][2] = cy * cx; + + f32 cxsz = cx * sz; + f32 sxcz = sx * cz; + dst[0][1] = sxcz * sy - cxsz; + dst[1][2] = cxsz * sy - sxcz; + + f32 sxsz = sx * sz; + f32 cxcz = cx * cz; + dst[0][2] = cxcz * sy + sxsz; + dst[1][1] = sxsz * sy + cxcz; + + dst[0][3] = tx.mTranslate.x; + dst[1][3] = tx.mTranslate.y; + dst[2][3] = tx.mTranslate.z; } -#pragma pop /* 80311A24-80311ACC 30C364 00A8+00 0/0 1/1 0/0 .text J3DGetTranslateRotateMtx__FsssfffPA4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DGetTranslateRotateMtx(s16 param_0, s16 param_1, s16 param_2, f32 param_3, f32 param_4, - f32 param_5, f32 (*param_6)[4]) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTranslateRotateMtx__FsssfffPA4_f.s" +void J3DGetTranslateRotateMtx(s16 rx, s16 ry, s16 rz, f32 tx, f32 ty, f32 tz, Mtx dst) { + f32 sx = JMASSin(rx), cx = JMASCos(rx); + f32 sy = JMASSin(ry), cy = JMASCos(ry); + f32 sz = JMASSin(rz), cz = JMASCos(rz); + + dst[2][0] = -sy; + dst[0][0] = cz * cy; + dst[1][0] = sz * cy; + dst[2][1] = cy * sx; + dst[2][2] = cy * cx; + + f32 cxsz = cx * sz; + f32 sxcz = sx * cz; + dst[0][1] = sxcz * sy - cxsz; + dst[1][2] = cxsz * sy - sxcz; + + f32 sxsz = sx * sz; + f32 cxcz = cx * cz; + dst[0][2] = cxcz * sy + sxsz; + dst[1][1] = sxsz * sy + cxcz; + + dst[0][3] = tx; + dst[1][3] = ty; + dst[2][3] = tz; } -#pragma pop /* ############################################################################################## */ /* 8045637C-80456380 00497C 0004+00 4/4 0/0 0/0 .sdata2 @526 */ @@ -147,6 +212,32 @@ SECTION_SDATA2 static f32 lit_526 = 1.0f; /* 80311ACC-80311B80 30C40C 00B4+00 0/0 3/3 0/0 .text * J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f */ +// matches with literals +#ifdef NONMATCHING +void J3DGetTextureMtx(const J3DTextureSRTInfo& srt, const Vec& center, Mtx dst) { + f32 sr = JMASSin(srt.mRotation), cr = JMASCos(srt.mRotation); + + f32 cx = srt.mScaleX * cr; + f32 sx = srt.mScaleX * sr; + f32 sy = srt.mScaleY * sr; + f32 cy = srt.mScaleY * cr; + + dst[0][0] = cx; + dst[0][1] = -sx; + dst[0][2] = (-cx * center.x + sx * center.y) + center.x + srt.mTranslationX; + + dst[1][0] = sy; + dst[1][1] = cy; + dst[1][2] = (-sy * center.x - cy * center.y) + center.y + srt.mTranslationY; + + dst[2][3] = 0.0f; + dst[2][1] = 0.0f; + dst[2][0] = 0.0f; + dst[1][3] = 0.0f; + dst[0][3] = 0.0f; + dst[2][2] = 1.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -155,9 +246,36 @@ asm void J3DGetTextureMtx(J3DTextureSRTInfo const& param_0, Vec const& param_1, #include "asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f.s" } #pragma pop +#endif /* 80311B80-80311C34 30C4C0 00B4+00 0/0 3/3 0/0 .text * J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f */ +// matches with literals +#ifdef NONMATCHING +void J3DGetTextureMtxOld(const J3DTextureSRTInfo& srt, const Vec& center, Mtx dst) { + f32 sr = JMASSin(srt.mRotation), cr = JMASCos(srt.mRotation); + + f32 cx = srt.mScaleX * cr; + f32 sx = srt.mScaleX * sr; + f32 sy = srt.mScaleY * sr; + f32 cy = srt.mScaleY * cr; + + dst[0][0] = cx; + dst[0][1] = -sx; + dst[0][3] = (-cx * center.x + sx * center.y) + center.x + srt.mTranslationX; + + dst[1][0] = sy; + dst[1][1] = cy; + dst[1][3] = (-sy * center.x - cy * center.y) + center.y + srt.mTranslationY; + + dst[2][3] = 0.0f; + dst[2][1] = 0.0f; + dst[2][0] = 0.0f; + dst[1][2] = 0.0f; + dst[0][2] = 0.0f; + dst[2][2] = 1.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -167,6 +285,7 @@ asm void J3DGetTextureMtxOld(J3DTextureSRTInfo const& param_0, Vec const& param_ #include "asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80456380-80456388 004980 0004+04 2/2 0/0 0/0 .sdata2 @557 */ @@ -178,6 +297,29 @@ SECTION_SDATA2 static f32 lit_557[1 + 1 /* padding */] = { /* 80311C34-80311CE4 30C574 00B0+00 0/0 3/3 0/0 .text * J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f */ +// matches with literals +#ifdef NONMATCHING +void J3DGetTextureMtxMaya(const J3DTextureSRTInfo& srt, Mtx dst) { + f32 sr = JMASSin(srt.mRotation), cr = JMASCos(srt.mRotation); + f32 tx = srt.mTranslationX - 0.5f; + f32 ty = srt.mTranslationY - 0.5f; + + dst[0][0] = srt.mScaleX * cr; + dst[0][1] = srt.mScaleY * sr; + dst[0][2] = tx * cr - sr * (ty + srt.mScaleY) + 0.5f; + + dst[1][0] = -srt.mScaleX * sr; + dst[1][1] = srt.mScaleY * cr; + dst[1][2] = -tx * sr - cr * (ty + srt.mScaleY) + 0.5f; + + dst[2][3] = 0.0f; + dst[2][1] = 0.0f; + dst[2][0] = 0.0f; + dst[1][3] = 0.0f; + dst[0][3] = 0.0f; + dst[2][2] = 1.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -186,9 +328,33 @@ asm void J3DGetTextureMtxMaya(J3DTextureSRTInfo const& param_0, f32 (*param_1)[4 #include "asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f.s" } #pragma pop +#endif /* 80311CE4-80311D94 30C624 00B0+00 0/0 3/3 0/0 .text * J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f */ +// matches with literals +#ifdef NONMATCHING +void J3DGetTextureMtxMayaOld(const J3DTextureSRTInfo& srt, Mtx dst) { + f32 sr = JMASSin(srt.mRotation), cr = JMASCos(srt.mRotation); + f32 tx = srt.mTranslationX - 0.5f; + f32 ty = srt.mTranslationY - 0.5f; + + dst[0][0] = srt.mScaleX * cr; + dst[0][1] = srt.mScaleY * sr; + dst[0][3] = tx * cr - sr * (ty + srt.mScaleY) + 0.5f; + + dst[1][0] = -srt.mScaleX * sr; + dst[1][1] = srt.mScaleY * cr; + dst[1][3] = -tx * sr - cr * (ty + srt.mScaleY) + 0.5f; + + dst[2][3] = 0.0f; + dst[2][1] = 0.0f; + dst[2][0] = 0.0f; + dst[1][2] = 0.0f; + dst[0][2] = 0.0f; + dst[2][2] = 1.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -197,8 +363,46 @@ asm void J3DGetTextureMtxMayaOld(J3DTextureSRTInfo const& param_0, f32 (*param_1 #include "asm/JSystem/J3DGraphBase/J3DTransform/J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f.s" } #pragma pop +#endif /* 80311D94-80311DF8 30C6D4 0064+00 0/0 2/2 0/0 .text J3DScaleNrmMtx__FPA4_fRC3Vec */ +#ifdef NONMATCHING +void J3DScaleNrmMtx(register Mtx mtx, const register Vec& scl) { + register f32 mtx_xy, mtx_z_, scl_xy, scl_z_; + + asm { + /* Row 0 */ + psq_l scl_xy, 0(scl), 0, 0 + psq_l mtx_xy, 0(mtx), 0, 0 + lfs scl_z_, 8(scl) + lfs mtx_z_, 8(mtx) + ps_mul f4, mtx_xy, scl_xy + psq_st f4, 0(mtx), 0, 0 + fmuls f4, mtx_z_, scl_z_ + stfs f4, 8(mtx) + + /* Row 1 */ + psq_l scl_xy, 0(scl), 0, 0 + psq_l mtx_xy, 16(mtx), 0, 0 + lfs scl_z_, 8(scl) + lfs mtx_z_, 24(mtx) + ps_mul f4, mtx_xy, scl_xy + psq_st f4, 16(mtx), 0, 0 + fmuls f4, mtx_z_, scl_z_ + stfs f4, 24(mtx) + + /* Row 2 */ + psq_l scl_xy, 0(scl), 0, 0 + psq_l mtx_xy, 32(mtx), 0, 0 + lfs scl_z_, 8(scl) + lfs mtx_z_, 40(mtx) + ps_mul f4, mtx_xy, scl_xy + psq_st f4, 32(mtx), 0, 0 + fmuls f4, mtx_z_, scl_z_ + stfs f4, 40(mtx) + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -207,6 +411,7 @@ asm void J3DScaleNrmMtx(f32 (*param_0)[4], Vec const& param_1) { #include "asm/JSystem/J3DGraphBase/J3DTransform/J3DScaleNrmMtx__FPA4_fRC3Vec.s" } #pragma pop +#endif /* 80311DF8-80311E4C 30C738 0054+00 0/0 5/5 0/0 .text J3DScaleNrmMtx33__FPA3_fRC3Vec */ #pragma push @@ -248,5 +453,6 @@ asm void J3DPSMtxArrayConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2 /* ############################################################################################## */ /* 803CD8F8-803CD900 02AA18 0008+00 0/0 2/2 0/0 .data PSMulUnit01 */ SECTION_DATA extern f32 PSMulUnit01[2] = { - 0.0f, -1.0f, + 0.0f, + -1.0f, }; diff --git a/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp index 55c70f9e20..81439fab8d 100644 --- a/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp @@ -4,86 +4,25 @@ // #include "JSystem/J3DGraphLoader/J3DAnmLoader.h" +#include "JSystem/J3DGraphAnimator/J3DAnimation.h" +#include "JSystem/JSupport/JSupport.h" #include "dol2asm.h" +#include "dolphin/os.h" // // Types: // -struct ResNTAB {}; - -struct JUTNameTab { - /* 802DEA1C */ void setResource(ResNTAB const*); +class J3DAnmLoader { +public: + virtual J3DAnmBase* load(const void*) = 0; + virtual void setResource(J3DAnmBase*, const void*) = 0; + /* 80339800 */ virtual ~J3DAnmLoader() {} }; -struct J3DAnmVtxColorKeyData {}; - -struct J3DAnmVtxColorKey { - /* 8032A4E0 */ J3DAnmVtxColorKey(); -}; - -struct J3DAnmVtxColorFullData {}; - -struct J3DAnmVtxColorFull { - /* 8032A30C */ J3DAnmVtxColorFull(); -}; - -struct J3DAnmVisibilityFullData {}; - -struct J3DAnmVisibilityFull { - /* 8033979C */ ~J3DAnmVisibilityFull(); - /* 803397F8 */ s32 getKind() const; -}; - -struct J3DAnmTransformKeyData {}; - -struct J3DAnmTransformKey {}; - -struct J3DAnmTransformFullData {}; - -struct J3DAnmTransformFull {}; - -struct J3DAnmTransform { - /* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*); -}; - -struct J3DAnmTextureSRTKeyData {}; - -struct J3DAnmTextureSRTKey { - /* 80329E5C */ J3DAnmTextureSRTKey(); -}; - -struct J3DAnmTexPatternFullData {}; - -struct J3DAnmTexPattern { - /* 8032AED8 */ J3DAnmTexPattern(); -}; - -struct J3DAnmTevRegKeyData {}; - -struct J3DAnmTevRegKey { - /* 8032AE18 */ J3DAnmTevRegKey(); -}; - -struct J3DAnmLoader { - /* 80339800 */ ~J3DAnmLoader(); -}; - -struct J3DAnmClusterKey {}; - -struct J3DAnmColorKey { - /* 8032AB00 */ J3DAnmColorKey(); -}; - -struct J3DAnmColorKeyData {}; - -struct J3DAnmClusterKeyData {}; - -struct J3DAnmKeyLoader_v15 { +class J3DAnmKeyLoader_v15 : public J3DAnmLoader { +public: /* 803384E0 */ J3DAnmKeyLoader_v15(); - /* 803384FC */ ~J3DAnmKeyLoader_v15(); - /* 80338D44 */ void load(void const*); - /* 80338E8C */ void setResource(J3DAnmBase*, void const*); /* 80338FEC */ void readAnmTransform(J3DAnmTransformKeyData const*); /* 80339014 */ void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*); /* 803390B0 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*); @@ -96,23 +35,17 @@ struct J3DAnmKeyLoader_v15 { /* 80339480 */ void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*); /* 8033960C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*); /* 80339634 */ void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*); + + /* 80338D44 */ virtual J3DAnmBase* load(void const*); + /* 80338E8C */ virtual void setResource(J3DAnmBase*, void const*); + /* 803384FC */ virtual ~J3DAnmKeyLoader_v15(); + + /* 0x4 */ J3DAnmBase* mAnm; }; -struct J3DAnmClusterFullData {}; - -struct J3DAnmClusterFull {}; - -struct J3DAnmColorFull { - /* 8032A93C */ J3DAnmColorFull(); -}; - -struct J3DAnmColorFullData {}; - -struct J3DAnmFullLoader_v15 { +class J3DAnmFullLoader_v15 : public J3DAnmLoader { +public: /* 80338468 */ J3DAnmFullLoader_v15(); - /* 80338484 */ ~J3DAnmFullLoader_v15(); - /* 80338558 */ void load(void const*); - /* 803386A0 */ void setResource(J3DAnmBase*, void const*); /* 80338800 */ void readAnmTransform(J3DAnmTransformFullData const*); /* 80338828 */ void setAnmTransform(J3DAnmTransformFull*, J3DAnmTransformFullData const*); /* 803388BC */ void readAnmColor(J3DAnmColorFullData const*); @@ -125,6 +58,12 @@ struct J3DAnmFullLoader_v15 { /* 80338B48 */ void setAnmCluster(J3DAnmClusterFull*, J3DAnmClusterFullData const*); /* 80338BB4 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*); /* 80338BDC */ void setAnmVtxColor(J3DAnmVtxColorFull*, J3DAnmVtxColorFullData const*); + + /* 80338558 */ virtual J3DAnmBase* load(void const*); + /* 803386A0 */ virtual void setResource(J3DAnmBase*, void const*); + /* 80338484 */ virtual ~J3DAnmFullLoader_v15(); + + /* 0x4 */ J3DAnmBase* mAnm; }; // @@ -184,7 +123,6 @@ extern "C" extern char const* const J3DAnmLoader__stringBase0; // External References: // -extern "C" void OSReport(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void setResource__10JUTNameTabFPC7ResNTAB(); @@ -279,27 +217,184 @@ SECTION_SDATA2 static f32 lit_889[1 + 1 /* padding */] = { /* 80337B40-80338134 332480 05F4+00 0/0 7/7 1/1 .text * load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag */ +// matches with literals +#ifdef NONMATCHING +J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseFlag flag) { + if (!i_data) { + return NULL; + } + const JUTDataFileHeader* header = (const JUTDataFileHeader*)i_data; + if (header->mMagic == 'J3D1') { + switch (header->mType) { + case 'bck1': { + J3DAnmKeyLoader_v15 loader; + loader.mAnm = new J3DAnmTransformKey(); + return loader.load(i_data); + } + case 'bpk1': { + J3DAnmKeyLoader_v15 loader; + loader.mAnm = new J3DAnmColorKey(); + return loader.load(i_data); + } + case 'blk1': { + J3DAnmKeyLoader_v15 loader; + loader.mAnm = new J3DAnmClusterKey(); + return loader.load(i_data); + } + case 'btk1': { + J3DAnmKeyLoader_v15 loader; + loader.mAnm = new J3DAnmTextureSRTKey(); + return loader.load(i_data); + } + case 'brk1': { + J3DAnmKeyLoader_v15 loader; + loader.mAnm = new J3DAnmTevRegKey(); + return loader.load(i_data); + } + case 'bxk1': { + J3DAnmKeyLoader_v15 loader; + loader.mAnm = new J3DAnmVtxColorKey(); + return loader.load(i_data); + } + case 'bca1': { + J3DAnmFullLoader_v15 loader; + + if (flag & J3DLOADER_UNK_FLAG1) { + loader.mAnm = new J3DAnmTransformFullWithLerp(); + } else { + loader.mAnm = new J3DAnmTransformFull(); + } + + return loader.load(i_data); + } + case 'bpa1': { + J3DAnmFullLoader_v15 loader; + loader.mAnm = new J3DAnmColorFull(); + return loader.load(i_data); + } + case 'btp1': { + J3DAnmFullLoader_v15 loader; + loader.mAnm = new J3DAnmTexPattern(); + return loader.load(i_data); + } + case 'bva1': { + J3DAnmFullLoader_v15 loader; + loader.mAnm = new J3DAnmVisibilityFull(); + return loader.load(i_data); + } + case 'bla1': { + J3DAnmFullLoader_v15 loader; + loader.mAnm = new J3DAnmClusterFull(); + return loader.load(i_data); + } + case 'bxa1': { + J3DAnmFullLoader_v15 loader; + loader.mAnm = new J3DAnmVtxColorFull(); + return loader.load(i_data); + } + default: + OSReport("J3DAnmLoader: this is not a J3D Binary.\n"); + return NULL; + } + } + return NULL; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void* J3DAnmLoaderDataBase::load(void const* param_0, J3DAnmLoaderDataBaseFlag param_1) { +asm J3DAnmBase* J3DAnmLoaderDataBase::load(void const* param_0, J3DAnmLoaderDataBaseFlag param_1) { nofralloc #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag.s" } #pragma pop +#endif /* 80338134-80338468 332A74 0334+00 0/0 1/1 0/0 .text * setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv.s" +void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_1, const void* param_2) { + const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_2; + if (!header) { + return; + } + if (header->mMagic != 'J3D1') { + return; + } + switch (header->mType) { + case 'bck1': { + J3DAnmKeyLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'bpk1': { + J3DAnmKeyLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'blk1': { + J3DAnmKeyLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'btk1': { + J3DAnmKeyLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'brk1': { + J3DAnmKeyLoader_v15 loader; + if (param_1->getKind() == 5) { + loader.setResource(param_1, param_2); + } + break; + } + case 'bxk1': { + J3DAnmKeyLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'bca1': { + J3DAnmFullLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'bpa1': { + J3DAnmFullLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'btp1': { + J3DAnmFullLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'bla1': { + J3DAnmFullLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'bxa1': { + J3DAnmFullLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + case 'bva1': { + J3DAnmFullLoader_v15 loader; + loader.setResource(param_1, param_2); + break; + } + default: { + OSReport("J3DAnmLoader: this is not a J3D Binary.\n"); + break; + } + } } -#pragma pop /* 80338468-80338484 332DA8 001C+00 2/2 0/0 0/0 .text __ct__20J3DAnmFullLoader_v15Fv */ +// matches with vtable data +#ifdef NONMATCHING +J3DAnmFullLoader_v15::J3DAnmFullLoader_v15() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -308,8 +403,13 @@ asm J3DAnmFullLoader_v15::J3DAnmFullLoader_v15() { #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/__ct__20J3DAnmFullLoader_v15Fv.s" } #pragma pop +#endif /* 80338484-803384E0 332DC4 005C+00 3/2 0/0 0/0 .text __dt__20J3DAnmFullLoader_v15Fv */ +// matches with vtable data +#ifdef NONMATCHING +J3DAnmFullLoader_v15::~J3DAnmFullLoader_v15() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -318,8 +418,13 @@ asm J3DAnmFullLoader_v15::~J3DAnmFullLoader_v15() { #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/__dt__20J3DAnmFullLoader_v15Fv.s" } #pragma pop +#endif /* 803384E0-803384FC 332E20 001C+00 2/2 0/0 0/0 .text __ct__19J3DAnmKeyLoader_v15Fv */ +// matches with vtable data +#ifdef NONMATCHING +J3DAnmKeyLoader_v15::J3DAnmKeyLoader_v15() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -328,8 +433,13 @@ asm J3DAnmKeyLoader_v15::J3DAnmKeyLoader_v15() { #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/__ct__19J3DAnmKeyLoader_v15Fv.s" } #pragma pop +#endif /* 803384FC-80338558 332E3C 005C+00 3/2 0/0 0/0 .text __dt__19J3DAnmKeyLoader_v15Fv */ +// matches with vtable data +#ifdef NONMATCHING +J3DAnmKeyLoader_v15::~J3DAnmKeyLoader_v15() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -338,6 +448,7 @@ asm J3DAnmKeyLoader_v15::~J3DAnmKeyLoader_v15() { #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/__dt__19J3DAnmKeyLoader_v15Fv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -349,39 +460,108 @@ SECTION_DEAD static char const* const pad_803A216D = "\0\0"; #pragma pop /* 80338558-803386A0 332E98 0148+00 2/1 0/0 0/0 .text load__20J3DAnmFullLoader_v15FPCv */ +// matches with vtable data +#ifdef NONMATCHING +J3DAnmBase* J3DAnmFullLoader_v15::load(const void* param_1) { + const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1; + const JUTDataBlockHeader* block = &header->mFirstBlock; + for (int i = 0; i < header->mBlockNum; i++) { + switch (block->mType) { + case 'ANF1': + readAnmTransform((J3DAnmTransformFullData*)block); + break; + case 'PAF1': + readAnmColor((J3DAnmColorFullData*)block); + break; + case 'TPT1': + readAnmTexPattern((J3DAnmTexPatternFullData*)block); + break; + case 'CLF1': + readAnmCluster((J3DAnmClusterFullData*)block); + break; + case 'VAF1': + readAnmVisibility((J3DAnmVisibilityFullData*)block); + break; + case 'VCF1': + readAnmVtxColor((J3DAnmVtxColorFullData*)block); + break; + default: + OSReport("Unknown data block\n"); + break; + } + block = block->getNext(); + } + return mAnm; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::load(void const* param_0) { +// asm void J3DAnmFullLoader_v15::load(void const* param_0) { +extern "C" asm void load__20J3DAnmFullLoader_v15FPCv() { nofralloc #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/load__20J3DAnmFullLoader_v15FPCv.s" } #pragma pop +#endif /* 803386A0-80338800 332FE0 0160+00 2/1 0/0 0/0 .text * setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::setResource(J3DAnmBase* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv.s" +void J3DAnmFullLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) { + const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_2; + const JUTDataBlockHeader* block = &header->mFirstBlock; + for (int i = 0; i < header->mBlockNum; i++) { + switch (block->mType) { + case 'ANF1': + setAnmTransform((J3DAnmTransformFull*)param_1, (const J3DAnmTransformFullData*)block); + break; + case 'PAF1': + setAnmColor((J3DAnmColorFull*)param_1, (const J3DAnmColorFullData*)block); + break; + case 'TPT1': + setAnmTexPattern((J3DAnmTexPattern*)param_1, (const J3DAnmTexPatternFullData*)block); + break; + case 'CLF1': + setAnmCluster((J3DAnmClusterFull*)param_1, (const J3DAnmClusterFullData*)block); + break; + case 'VAF1': + setAnmVisibility((J3DAnmVisibilityFull*)param_1, + (const J3DAnmVisibilityFullData*)block); + break; + case 'VCF1': + setAnmVtxColor((J3DAnmVtxColorFull*)param_1, (const J3DAnmVtxColorFullData*)block); + break; + default: + OSReport("Unknown data block\n"); + break; + } + block = block->getNext(); + } } -#pragma pop /* 80338800-80338828 333140 0028+00 1/1 0/0 0/0 .text * readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData.s" +void J3DAnmFullLoader_v15::readAnmTransform(const J3DAnmTransformFullData* param_1) { + setAnmTransform((J3DAnmTransformFull*)mAnm, param_1); } -#pragma pop /* 80338828-803388BC 333168 0094+00 2/2 0/0 0/0 .text * setAnmTransform__20J3DAnmFullLoader_v15FP19J3DAnmTransformFullPC23J3DAnmTransformFullData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmFullLoader_v15::setAnmTransform(J3DAnmTransformFull* param_1, + const J3DAnmTransformFullData* param_2) { + param_1->field_0x1e = param_2->field_0xc; + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->field_0xc = JSUConvertOffsetToPtr(param_2, (void*)param_2->mScaleValOffset); + param_1->field_0x10 = JSUConvertOffsetToPtr(param_2, (void*)param_2->mRotValOffset); + param_1->field_0x14 = JSUConvertOffsetToPtr(param_2, (void*)param_2->mTransValOffset); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -391,20 +571,36 @@ asm void J3DAnmFullLoader_v15::setAnmTransform(J3DAnmTransformFull* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_80338828.s" } #pragma pop +#endif /* 803388BC-803388E4 3331FC 0028+00 1/1 0/0 0/0 .text * readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData.s" +void J3DAnmFullLoader_v15::readAnmColor(const J3DAnmColorFullData* param_1) { + setAnmColor((J3DAnmColorFull*)mAnm, param_1); } -#pragma pop /* 803388E4-803389B0 333224 00CC+00 2/2 0/0 0/0 .text * setAnmColor__20J3DAnmFullLoader_v15FP15J3DAnmColorFullPC19J3DAnmColorFullData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmFullLoader_v15::setAnmColor(J3DAnmColorFull* param_1, + const J3DAnmColorFullData* param_2) { + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mUpdateMaterialNum = param_2->mUpdateMaterialNum; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->mColorR = JSUConvertOffsetToPtr(param_2, (void*)param_2->mRValuesOffset); + param_1->mColorG = JSUConvertOffsetToPtr(param_2, (void*)param_2->mGValuesOffset); + param_1->mColorB = JSUConvertOffsetToPtr(param_2, (void*)param_2->mBValuesOffset); + param_1->mColorA = JSUConvertOffsetToPtr(param_2, (void*)param_2->mAValuesOffset); + param_1->mUpdateMaterialID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMaterialIDOffset); + param_1->mUpdateMaterialName.setResource( + JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTabOffset)); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -414,20 +610,34 @@ asm void J3DAnmFullLoader_v15::setAnmColor(J3DAnmColorFull* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/setAnmColor__20J3DAnmFullLoader_v15FP15J3DAnmColorFullPC19J3DAnmColorFullData.s" } #pragma pop +#endif /* 803389B0-803389D8 3332F0 0028+00 1/1 0/0 0/0 .text * readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData.s" +void J3DAnmFullLoader_v15::readAnmTexPattern(const J3DAnmTexPatternFullData* param_1) { + setAnmTexPattern((J3DAnmTexPattern*)mAnm, param_1); } -#pragma pop /* 803389D8-80338A7C 333318 00A4+00 2/2 0/0 0/0 .text * setAnmTexPattern__20J3DAnmFullLoader_v15FP16J3DAnmTexPatternPC24J3DAnmTexPatternFullData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmFullLoader_v15::setAnmTexPattern(J3DAnmTexPattern* param_1, + const J3DAnmTexPatternFullData* param_2) { + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mUpdateMaterialNum = param_2->field_0xc; + param_1->field_0x14 = param_2->field_0xe; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->mTextureIndex = JSUConvertOffsetToPtr(param_2, (void*)param_2->mValuesOffset); + param_1->mUpdateMaterialID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMaterialIDOffset); + param_1->mUpdateMaterialName.setResource( + JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTabOffset)); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -437,20 +647,30 @@ asm void J3DAnmFullLoader_v15::setAnmTexPattern(J3DAnmTexPattern* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_803389D8.s" } #pragma pop +#endif /* 80338A7C-80338AA4 3333BC 0028+00 1/1 0/0 0/0 .text * readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData.s" +void J3DAnmFullLoader_v15::readAnmVisibility(const J3DAnmVisibilityFullData* param_1) { + setAnmVisibility((J3DAnmVisibilityFull*)mAnm, param_1); } -#pragma pop /* 80338AA4-80338B20 3333E4 007C+00 2/2 0/0 0/0 .text * setAnmVisibility__20J3DAnmFullLoader_v15FP20J3DAnmVisibilityFullPC24J3DAnmVisibilityFullData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmFullLoader_v15::setAnmVisibility(J3DAnmVisibilityFull* param_1, + const J3DAnmVisibilityFullData* param_2) { + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mUpdateMaterialNum = param_2->field_0xc; + param_1->field_0xe = param_2->field_0xe; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->mVisibility = JSUConvertOffsetToPtr(param_2, (void*)param_2->mValuesOffset); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -460,20 +680,28 @@ asm void J3DAnmFullLoader_v15::setAnmVisibility(J3DAnmVisibilityFull* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_80338AA4.s" } #pragma pop +#endif /* 80338B20-80338B48 333460 0028+00 1/1 0/0 0/0 .text * readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::readAnmCluster(J3DAnmClusterFullData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData.s" +void J3DAnmFullLoader_v15::readAnmCluster(const J3DAnmClusterFullData* param_1) { + setAnmCluster((J3DAnmClusterFull*)mAnm, param_1); } -#pragma pop /* 80338B48-80338BB4 333488 006C+00 2/2 0/0 0/0 .text * setAnmCluster__20J3DAnmFullLoader_v15FP17J3DAnmClusterFullPC21J3DAnmClusterFullData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmFullLoader_v15::setAnmCluster(J3DAnmClusterFull* param_1, + const J3DAnmClusterFullData* param_2) { + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->mWeight = JSUConvertOffsetToPtr(param_2, (void*)param_2->mWeightOffset); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -483,20 +711,51 @@ asm void J3DAnmFullLoader_v15::setAnmCluster(J3DAnmClusterFull* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_80338B48.s" } #pragma pop +#endif /* 80338BB4-80338BDC 3334F4 0028+00 1/1 0/0 0/0 .text * readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData.s" +void J3DAnmFullLoader_v15::readAnmVtxColor(const J3DAnmVtxColorFullData* param_1) { + setAnmVtxColor((J3DAnmVtxColorFull*)mAnm, param_1); } -#pragma pop /* 80338BDC-80338D44 33351C 0168+00 2/2 0/0 0/0 .text * setAnmVtxColor__20J3DAnmFullLoader_v15FP18J3DAnmVtxColorFullPC22J3DAnmVtxColorFullData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst, + const J3DAnmVtxColorFullData* data) { + dst->mFrameMax = data->mFrameMax; + dst->mAttribute = data->field_0x8; + dst->mFrame = 0.0f; + dst->mAnmTableNum[0] = data->mAnmTableNum[0]; + dst->mAnmTableNum[1] = data->mAnmTableNum[1]; + dst->mpTable[0] = + JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[0]); + dst->mpTable[1] = + JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[1]); + dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr( + data, (void*)data->mVtxColorIndexDataOffsets[0]); + dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr( + data, (void*)data->mVtxColorIndexDataOffsets[1]); + void* indexPtr0 = + JSUConvertOffsetToPtr(data, (void*)data->mVtxColorIndexPointerOffsets[0]); + void* indexPtr1 = + JSUConvertOffsetToPtr(data, (void*)data->mVtxColorIndexPointerOffsets[1]); + + for (s32 i = 0; i < dst->mAnmTableNum[0]; i++) + dst->mAnmVtxColorIndexData[0][i].mpData = + (void*)((s32)indexPtr0 + (s32)dst->mAnmVtxColorIndexData[0][i].mpData * 2); + for (s32 i = 0; i < dst->mAnmTableNum[1]; i++) + dst->mAnmVtxColorIndexData[1][i].mpData = + (void*)((s32)indexPtr1 + (s32)dst->mAnmVtxColorIndexData[1][i].mpData * 2); + + dst->mColorR = JSUConvertOffsetToPtr(data, (void*)data->mRValuesOffset); + dst->mColorG = JSUConvertOffsetToPtr(data, (void*)data->mGValuesOffset); + dst->mColorB = JSUConvertOffsetToPtr(data, (void*)data->mBValuesOffset); + dst->mColorA = JSUConvertOffsetToPtr(data, (void*)data->mAValuesOffset); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -506,41 +765,111 @@ asm void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_80338BDC.s" } #pragma pop +#endif /* 80338D44-80338E8C 333684 0148+00 2/1 0/0 0/0 .text load__19J3DAnmKeyLoader_v15FPCv */ +// matches with literals +#ifdef NONMATCHING +J3DAnmBase* J3DAnmKeyLoader_v15::load(const void* param_1) { + const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1; + const JUTDataBlockHeader* block = &header->mFirstBlock; + for (int i = 0; i < header->mBlockNum; i++) { + switch (block->mType) { + case 'ANK1': + readAnmTransform((J3DAnmTransformKeyData*)block); + break; + case 'PAK1': + readAnmColor((J3DAnmColorKeyData*)block); + break; + case 'CLK1': + readAnmCluster((J3DAnmClusterKeyData*)block); + break; + case 'TTK1': + readAnmTextureSRT((J3DAnmTextureSRTKeyData*)block); + break; + case 'TRK1': + readAnmTevReg((J3DAnmTevRegKeyData*)block); + break; + case 'VCK1': + readAnmVtxColor((J3DAnmVtxColorKeyData*)block); + break; + default: + OSReport("Unknown data block\n"); + break; + } + block = block->getNext(); + } + return mAnm; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::load(void const* param_0) { +// asm J3DAnmBase* J3DAnmKeyLoader_v15::load(void const* param_0) { +extern "C" asm void load__19J3DAnmKeyLoader_v15FPCv() { nofralloc #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/load__19J3DAnmKeyLoader_v15FPCv.s" } #pragma pop +#endif /* 80338E8C-80338FEC 3337CC 0160+00 2/1 0/0 0/0 .text * setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::setResource(J3DAnmBase* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv.s" +void J3DAnmKeyLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) { + const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_2; + const JUTDataBlockHeader* block = &header->mFirstBlock; + for (int i = 0; i < header->mBlockNum; i++) { + switch (block->mType) { + case 'ANK1': + setAnmTransform((J3DAnmTransformKey*)param_1, (const J3DAnmTransformKeyData*)block); + break; + case 'PAK1': + setAnmColor((J3DAnmColorKey*)param_1, (const J3DAnmColorKeyData*)block); + break; + case 'CLK1': + setAnmCluster((J3DAnmClusterKey*)param_1, (const J3DAnmClusterKeyData*)block); + break; + case 'TTK1': + setAnmTextureSRT((J3DAnmTextureSRTKey*)param_1, (const J3DAnmTextureSRTKeyData*)block); + break; + case 'TRK1': + setAnmTevReg((J3DAnmTevRegKey*)param_1, (const J3DAnmTevRegKeyData*)block); + break; + case 'VCK1': + setAnmVtxColor((J3DAnmVtxColorKey*)param_1, (const J3DAnmVtxColorKeyData*)block); + break; + default: + OSReport("Unknown data block\n"); + break; + } + block = block->getNext(); + } } -#pragma pop /* 80338FEC-80339014 33392C 0028+00 1/1 0/0 0/0 .text * readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData.s" +void J3DAnmKeyLoader_v15::readAnmTransform(const J3DAnmTransformKeyData* param_1) { + setAnmTransform((J3DAnmTransformKey*)mAnm, param_1); } -#pragma pop /* 80339014-803390B0 333954 009C+00 2/2 0/0 0/0 .text * setAnmTransform__19J3DAnmKeyLoader_v15FP18J3DAnmTransformKeyPC22J3DAnmTransformKeyData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmKeyLoader_v15::setAnmTransform(J3DAnmTransformKey* param_1, + const J3DAnmTransformKeyData* param_2) { + param_1->field_0x1e = param_2->field_0xc; + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mDecShift = param_2->field_0x9; + param_1->mFrame = 0.0f; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->mScaleData = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x18); + param_1->mRotData = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x1c); + param_1->mTransData = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x20); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -550,20 +879,69 @@ asm void J3DAnmKeyLoader_v15::setAnmTransform(J3DAnmTransformKey* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_80339014.s" } #pragma pop +#endif /* 803390B0-803390D8 3339F0 0028+00 1/1 0/0 0/0 .text * readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData.s" +void J3DAnmKeyLoader_v15::readAnmTextureSRT(const J3DAnmTextureSRTKeyData* param_1) { + setAnmTextureSRT((J3DAnmTextureSRTKey*)mAnm, param_1); } -#pragma pop /* 803390D8-803392B0 333A18 01D8+00 2/2 0/0 0/0 .text * setAnmTextureSRT__19J3DAnmKeyLoader_v15FP19J3DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmKeyLoader_v15::setAnmTextureSRT(J3DAnmTextureSRTKey* param_1, + const J3DAnmTextureSRTKeyData* param_2) { + param_1->mTrackNum = param_2->field_0xc; + param_1->mFrameMax = param_2->field_0xa; + param_1->mAttribute = param_2->field_0x8; + param_1->mDecShift = param_2->field_0x9; + param_1->mFrame = 0.0f; + param_1->mTrackNum = param_2->field_0xc; + param_1->mScaleNum = param_2->field_0xe; + param_1->mRotNum = param_2->field_0x10; + param_1->mTransNum = param_2->field_0x12; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->mUpdateMaterialID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMatIDOffset); + param_1->mUpdateMaterialName.setResource( + JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTab1Offset)); + param_1->mUpdateTexMtxID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateTexMtxIDOffset); + param_1->mSRTCenter = JSUConvertOffsetToPtr(param_2, (void*)param_2->unkOffset); + param_1->mScaleData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mScaleValOffset); + param_1->mRotData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mRotValOffset); + param_1->mTransData = JSUConvertOffsetToPtr(param_2, (void*)param_2->mTransValOffset); + if (param_2->mNameTab2Offset) { + param_1->mPostUpdateMaterialName.setResource( + JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTab2Offset)); + } + param_1->field_0x4a = param_2->field_0x34; + param_1->field_0x44 = param_2->field_0x36; + param_1->field_0x46 = param_2->field_0x38; + param_1->field_0x48 = param_2->field_0x3a; + param_1->field_0x58 = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mInfoTable2Offset); + param_1->mPostUpdateMaterialID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x40); + param_1->mPostUpdateTexMtxID = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x48); + param_1->mPostSRTCenter = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x4c); + param_1->field_0x4c = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x50); + param_1->field_0x50 = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x54); + param_1->field_0x54 = JSUConvertOffsetToPtr(param_2, (void*)param_2->field_0x58); + switch (param_2->field_0x5c) { + case 0: + case 1: + param_1->mTexMtxCalcType = param_2->field_0x5c; + break; + default: + param_1->mTexMtxCalcType = 0; + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -573,20 +951,39 @@ asm void J3DAnmKeyLoader_v15::setAnmTextureSRT(J3DAnmTextureSRTKey* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_803390D8.s" } #pragma pop +#endif /* 803392B0-803392D8 333BF0 0028+00 1/1 0/0 0/0 .text * readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData.s" +void J3DAnmKeyLoader_v15::readAnmColor(const J3DAnmColorKeyData* param_1) { + setAnmColor((J3DAnmColorKey*)mAnm, param_1); } -#pragma pop /* 803392D8-803393C4 333C18 00EC+00 2/2 0/0 0/0 .text * setAnmColor__19J3DAnmKeyLoader_v15FP14J3DAnmColorKeyPC18J3DAnmColorKeyData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmKeyLoader_v15::setAnmColor(J3DAnmColorKey* param_1, const J3DAnmColorKeyData* param_2) { + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mUpdateMaterialNum = param_2->mUpdateMaterialNum; + param_1->field_0xc = param_2->field_0x10; + param_1->field_0xe = param_2->field_0x12; + param_1->field_0x10 = param_2->field_0x14; + param_1->field_0x12 = param_2->field_0x16; + param_1->field_0x3c = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->field_0x2c = JSUConvertOffsetToPtr(param_2, (void*)param_2->mRValOffset); + param_1->field_0x30 = JSUConvertOffsetToPtr(param_2, (void*)param_2->mGValOffset); + param_1->field_0x34 = JSUConvertOffsetToPtr(param_2, (void*)param_2->mBValOffset); + param_1->field_0x38 = JSUConvertOffsetToPtr(param_2, (void*)param_2->mAValOffset); + param_1->mUpdateMaterialID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mUpdateMaterialIDOffset); + param_1->mUpdateMaterialName.setResource( + JSUConvertOffsetToPtr(param_2, (void*)param_2->mNameTabOffset)); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -596,20 +993,28 @@ asm void J3DAnmKeyLoader_v15::setAnmColor(J3DAnmColorKey* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/setAnmColor__19J3DAnmKeyLoader_v15FP14J3DAnmColorKeyPC18J3DAnmColorKeyData.s" } #pragma pop +#endif /* 803393C4-803393EC 333D04 0028+00 1/1 0/0 0/0 .text * readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::readAnmCluster(J3DAnmClusterKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData.s" +void J3DAnmKeyLoader_v15::readAnmCluster(const J3DAnmClusterKeyData* param_1) { + setAnmCluster((J3DAnmClusterKey*)mAnm, param_1); } -#pragma pop /* 803393EC-80339458 333D2C 006C+00 2/2 0/0 0/0 .text * setAnmCluster__19J3DAnmKeyLoader_v15FP16J3DAnmClusterKeyPC20J3DAnmClusterKeyData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmKeyLoader_v15::setAnmCluster(J3DAnmClusterKey* param_1, + const J3DAnmClusterKeyData* param_2) { + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mAnmTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mTableOffset); + param_1->mWeight = JSUConvertOffsetToPtr(param_2, (void*)param_2->mWeightOffset); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -619,20 +1024,55 @@ asm void J3DAnmKeyLoader_v15::setAnmCluster(J3DAnmClusterKey* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_803393EC.s" } #pragma pop +#endif /* 80339458-80339480 333D98 0028+00 1/1 0/0 0/0 .text * readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData.s" +void J3DAnmKeyLoader_v15::readAnmTevReg(const J3DAnmTevRegKeyData* param_1) { + setAnmTevReg((J3DAnmTevRegKey*)mAnm, param_1); } -#pragma pop /* 80339480-8033960C 333DC0 018C+00 2/2 0/0 0/0 .text * setAnmTevReg__19J3DAnmKeyLoader_v15FP15J3DAnmTevRegKeyPC19J3DAnmTevRegKeyData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmKeyLoader_v15::setAnmTevReg(J3DAnmTevRegKey* param_1, + const J3DAnmTevRegKeyData* param_2) { + param_1->mFrameMax = param_2->mFrameMax; + param_1->mAttribute = param_2->field_0x8; + param_1->mFrame = 0.0f; + param_1->mCRegUpdateMaterialNum = param_2->mCRegUpdateMaterialNum; + param_1->mAnmCRegKeyTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRegTableOffset); + param_1->mCRegUpdateMaterialID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRegUpdateMaterialIDOffset); + param_1->mCRegUpdateMaterialName.setResource( + JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRegNameTabOffset)); + param_1->mKRegUpdateMaterialNum = param_2->mKRegUpdateMaterialNum; + param_1->mAnmKRegKeyTable = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRegTableOffset); + param_1->mKRegUpdateMaterialID = + JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRegUpdateMaterialIDOffset); + param_1->mKRegUpdateMaterialName.setResource( + JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRegNameTabOffset)); + param_1->mCRegDataCountR = param_2->field_0x10; + param_1->mCRegDataCountG = param_2->field_0x12; + param_1->mCRegDataCountB = param_2->field_0x14; + param_1->mCRegDataCountA = param_2->field_0x16; + param_1->mAnmCRegDataR = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCRValuesOffset); + param_1->mAnmCRegDataG = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCGValuesOffset); + param_1->mAnmCRegDataB = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCBValuesOffset); + param_1->mAnmCRegDataA = JSUConvertOffsetToPtr(param_2, (void*)param_2->mCAValuesOffset); + param_1->mKRegDataCountR = param_2->field_0x18; + param_1->mKRegDataCountG = param_2->field_0x1a; + param_1->mKRegDataCountB = param_2->field_0x1c; + param_1->mKRegDataCountA = param_2->field_0x1e; + param_1->mAnmKRegDataR = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKRValuesOffset); + param_1->mAnmKRegDataG = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKGValuesOffset); + param_1->mAnmKRegDataB = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKBValuesOffset); + param_1->mAnmKRegDataA = JSUConvertOffsetToPtr(param_2, (void*)param_2->mKAValuesOffset); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -642,20 +1082,49 @@ asm void J3DAnmKeyLoader_v15::setAnmTevReg(J3DAnmTevRegKey* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/setAnmTevReg__19J3DAnmKeyLoader_v15FP15J3DAnmTevRegKeyPC19J3DAnmTevRegKeyData.s" } #pragma pop +#endif /* 8033960C-80339634 333F4C 0028+00 1/1 0/0 0/0 .text * readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData.s" +void J3DAnmKeyLoader_v15::readAnmVtxColor(const J3DAnmVtxColorKeyData* param_1) { + setAnmVtxColor((J3DAnmVtxColorKey*)mAnm, param_1); } -#pragma pop /* 80339634-8033979C 333F74 0168+00 2/2 0/0 0/0 .text * setAnmVtxColor__19J3DAnmKeyLoader_v15FP17J3DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData */ +// matches with literals / weaks +#ifdef NONMATCHING +void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst, + const J3DAnmVtxColorKeyData* data) { + dst->mFrameMax = data->mFrameMax; + dst->mAttribute = data->field_0x8; + dst->mFrame = 0.0f; + dst->mAnmTableNum[0] = data->mAnmTableNum[0]; + dst->mAnmTableNum[1] = data->mAnmTableNum[1]; + dst->mpTable[0] = + JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[0]); + dst->mpTable[1] = + JSUConvertOffsetToPtr(data, (void*)data->mTableOffsets[1]); + dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr( + data, (void*)data->mVtxColoIndexDataOffset[0]); + dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr( + data, (void*)data->mVtxColoIndexDataOffset[1]); + void* indexPtr0 = JSUConvertOffsetToPtr(data, (void*)data->mVtxColoIndexPointerOffset[0]); + void* indexPtr1 = JSUConvertOffsetToPtr(data, (void*)data->mVtxColoIndexPointerOffset[1]); + + for (s32 i = 0; i < dst->mAnmTableNum[0]; i++) + dst->mAnmVtxColorIndexData[0][i].mpData = + (void*)((s32)indexPtr0 + (s32)dst->mAnmVtxColorIndexData[0][i].mpData * 2); + for (s32 i = 0; i < dst->mAnmTableNum[1]; i++) + dst->mAnmVtxColorIndexData[1][i].mpData = + (void*)((s32)indexPtr1 + (s32)dst->mAnmVtxColorIndexData[1][i].mpData * 2); + + dst->mColorR = JSUConvertOffsetToPtr(data, (void*)data->mRValOffset); + dst->mColorG = JSUConvertOffsetToPtr(data, (void*)data->mGValOffset); + dst->mColorB = JSUConvertOffsetToPtr(data, (void*)data->mBValOffset); + dst->mColorA = JSUConvertOffsetToPtr(data, (void*)data->mAValOffset); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -665,6 +1134,7 @@ asm void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* param_0, #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/func_80339634.s" } #pragma pop +#endif /* 8033979C-803397F8 3340DC 005C+00 1/0 0/0 0/0 .text __dt__20J3DAnmVisibilityFullFv */ #pragma push @@ -686,7 +1156,8 @@ s32 J3DAnmVisibilityFull::getKind() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DAnmLoader::~J3DAnmLoader() { +// asm J3DAnmLoader::~J3DAnmLoader() { +extern "C" asm void __dt__12J3DAnmLoaderFv() { nofralloc #include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/__dt__12J3DAnmLoaderFv.s" } diff --git a/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp index 2bff68389b..b7408f61f0 100644 --- a/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp @@ -4,6 +4,11 @@ // #include "JSystem/J3DGraphLoader/J3DClusterLoader.h" +#include "JSystem/J3DGraphAnimator/J3DAnimation.h" +#include "JSystem/J3DGraphAnimator/J3DCluster.h" +#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h" +#include "JSystem/JSupport/JSupport.h" +#include "JSystem/JUtility/JUTNameTab.h" #include "dol2asm.h" #include "dolphin/os.h" @@ -11,31 +16,37 @@ // Types: // -struct ResNTAB {}; - -struct JUTNameTab { - /* 802DE9E0 */ JUTNameTab(ResNTAB const*); +class J3DClusterBlock : public JUTDataBlockHeader { +public: + /* 0x08 */ u16 mClusterNum; + /* 0x0A */ u16 mClusterKeyNum; + /* 0x0C */ u16 mClusterVertexNum; + /* 0x0E */ u16 mVtxPosNum; + /* 0x10 */ u16 mVtxNrmNum; + /* 0x14 */ void* mClusterPointer; + /* 0x18 */ void* mClusterKeyPointer; + /* 0x1C */ void* mClusterVertex; + /* 0x20 */ void* mVtxPos; + /* 0x24 */ void* mVtxNrm; + /* 0x28 */ void* mClusterName; + /* 0x2C */ void* mClusterKeyName; }; -struct J3DDeformData { - /* 8032E1F8 */ J3DDeformData(); +class J3DClusterLoader { +public: + virtual void* load(const void*) = 0; + /* 803345FC */ virtual ~J3DClusterLoader(); }; -struct J3DDeformer { - /* 8032E39C */ J3DDeformer(J3DDeformData*); -}; - -struct J3DClusterBlock {}; - -struct J3DClusterLoader_v15 { +class J3DClusterLoader_v15 : public J3DClusterLoader { +public: /* 803341CC */ J3DClusterLoader_v15(); - /* 803341E8 */ ~J3DClusterLoader_v15(); - /* 80334244 */ void load(void const*); /* 803342F8 */ void readCluster(J3DClusterBlock const*); -}; -struct J3DClusterLoader { - /* 803345FC */ ~J3DClusterLoader(); + /* 80334244 */ virtual void* load(void const*); + /* 803341E8 */ virtual ~J3DClusterLoader_v15(); + + /* 0x04 */ J3DDeformData* mpDeformData; }; // @@ -78,14 +89,16 @@ extern "C" void _restgpr_26(); // /* 80334130-803341CC 32EA70 009C+00 0/0 1/1 0/0 .text load__24J3DClusterLoaderDataBaseFPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* J3DClusterLoaderDataBase::load(void const* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DClusterLoader/load__24J3DClusterLoaderDataBaseFPCv.s" +void* J3DClusterLoaderDataBase::load(const void* i_data) { + const JUTDataFileHeader* fileHeader = (JUTDataFileHeader*)i_data; + if (fileHeader->mMagic == 'J3D1' && fileHeader->mType == 'bls1') { + J3DClusterLoader_v15 loader; + return loader.load(i_data); + } else if (fileHeader->mMagic == 'J3D2' && fileHeader->mType == 'bls2') { + return NULL; + } + return NULL; } -#pragma pop /* ############################################################################################## */ /* 803CF0E8-803CF0F8 02C208 0010+00 2/2 0/0 0/0 .data __vt__20J3DClusterLoader_v15 */ @@ -105,6 +118,10 @@ SECTION_DATA extern void* __vt__16J3DClusterLoader[4] = { }; /* 803341CC-803341E8 32EB0C 001C+00 1/1 0/0 0/0 .text __ct__20J3DClusterLoader_v15Fv */ +// matches with weak order +#ifdef NONMATCHING +J3DClusterLoader_v15::J3DClusterLoader_v15() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -113,8 +130,13 @@ asm J3DClusterLoader_v15::J3DClusterLoader_v15() { #include "asm/JSystem/J3DGraphLoader/J3DClusterLoader/__ct__20J3DClusterLoader_v15Fv.s" } #pragma pop +#endif /* 803341E8-80334244 32EB28 005C+00 2/1 0/0 0/0 .text __dt__20J3DClusterLoader_v15Fv */ +// matches with weak order +#ifdef NONMATCHING +J3DClusterLoader_v15::~J3DClusterLoader_v15() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -123,6 +145,7 @@ asm J3DClusterLoader_v15::~J3DClusterLoader_v15() { #include "asm/JSystem/J3DGraphLoader/J3DClusterLoader/__dt__20J3DClusterLoader_v15Fv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -134,17 +157,117 @@ SECTION_DEAD static char const* const pad_803A20AC = "\0\0\0"; #pragma pop /* 80334244-803342F8 32EB84 00B4+00 2/1 0/0 0/0 .text load__20J3DClusterLoader_v15FPCv */ +// matches with vtable data +#ifdef NONMATCHING +void* J3DClusterLoader_v15::load(const void* i_data) { + mpDeformData = new J3DDeformData(); + + const JUTDataFileHeader* fileHeader = (JUTDataFileHeader*)i_data; + const JUTDataBlockHeader* block = &fileHeader->mFirstBlock; + for (int i = 0; i < fileHeader->mBlockNum; i++) { + switch (block->mType) { + case 'CLS1': + readCluster((J3DClusterBlock*)block); + break; + default: + OSReport("Unknown data block\n"); + break; + } + block = block->getNext(); + } + + return mpDeformData; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DClusterLoader_v15::load(void const* param_0) { +// asm void* J3DClusterLoader_v15::load(void const* param_0) { +extern "C" asm void load__20J3DClusterLoader_v15FPCv() { nofralloc #include "asm/JSystem/J3DGraphLoader/J3DClusterLoader/load__20J3DClusterLoader_v15FPCv.s" } #pragma pop +#endif /* 803342F8-803345FC 32EC38 0304+00 1/1 0/0 0/0 .text * readCluster__20J3DClusterLoader_v15FPC15J3DClusterBlock */ +#ifdef NONMATCHING +void J3DClusterLoader_v15::readCluster(const J3DClusterBlock* block) { + mpDeformData->mClusterNum = block->mClusterNum; + mpDeformData->mClusterKeyNum = block->mClusterKeyNum; + mpDeformData->mVtxPosNum = block->mVtxPosNum; + mpDeformData->mVtxNrmNum = block->mVtxNrmNum; + mpDeformData->mClusterVertexNum = block->mClusterVertexNum; + + if (block->mClusterName != NULL) { + mpDeformData->mClusterName = + new JUTNameTab(JSUConvertOffsetToPtr(block, block->mClusterName)); + } else { + mpDeformData->mClusterName = NULL; + } + if (block->mClusterKeyName != NULL) { + mpDeformData->mClusterKeyName = + new JUTNameTab(JSUConvertOffsetToPtr(block, block->mClusterKeyName)); + } else { + mpDeformData->mClusterKeyName = NULL; + } + + mpDeformData->mVtxPos = JSUConvertOffsetToPtr(block, block->mVtxPos); + mpDeformData->mVtxNrm = JSUConvertOffsetToPtr(block, block->mVtxNrm); + + mpDeformData->mClusterPointer = new J3DCluster[mpDeformData->getClusterNum()]; + J3DCluster* blockCluster = JSUConvertOffsetToPtr(block, block->mClusterPointer); + for (int i = 0; i < mpDeformData->getClusterNum(); i++) { + mpDeformData->mClusterPointer[i] = blockCluster[i]; + } + + mpDeformData->mClusterKeyPointer = new J3DClusterKey[mpDeformData->getClusterKeyNum()]; + J3DClusterKey* blockClusterKey = + JSUConvertOffsetToPtr(block, block->mClusterKeyPointer); + for (int i = 0; i < mpDeformData->getClusterKeyNum(); i++) { + mpDeformData->mClusterKeyPointer[i] = blockClusterKey[i]; + } + + mpDeformData->mClusterVertex = new J3DClusterVertex[mpDeformData->mClusterVertexNum]; + J3DClusterVertex* blockClusterVertex = + JSUConvertOffsetToPtr(block, block->mClusterVertex); + for (int i = 0; i < mpDeformData->mClusterVertexNum; i++) { + mpDeformData->mClusterVertex[i] = blockClusterVertex[i]; + } + + for (int i = 0; i < mpDeformData->getClusterNum(); i++) { + J3DCluster* cluster = &mpDeformData->mClusterPointer[i]; + cluster->mClusterKey = JSUConvertOffsetToPtr(block, cluster->mClusterKey); + cluster->field_0x18 = JSUConvertOffsetToPtr(block, cluster->field_0x18); + J3DClusterVertex* clusterVertex = + JSUConvertOffsetToPtr(block, cluster->mClusterVertex); + u32 vertexIdx = (clusterVertex - blockClusterVertex) / sizeof(J3DClusterVertex); + cluster->mClusterVertex = &mpDeformData->mClusterVertex[vertexIdx]; + J3DDeformer* deformer = new J3DDeformer(mpDeformData); + if (cluster->field_0x14 != 0) { + deformer->field_0xc = new f32[cluster->field_0x14 * 3]; + } else { + deformer->field_0xc = NULL; + } + deformer->mFlags = cluster->mFlags; + deformer->field_0x8 = new f32[cluster->mKeyNum]; + cluster->setDeformer(deformer); + } + + for (int i = 0; i < mpDeformData->getClusterKeyNum(); i++) { + J3DClusterKey* clusterKey = &mpDeformData->mClusterKeyPointer[i]; + clusterKey->field_0x4 = JSUConvertOffsetToPtr(block, clusterKey->field_0x4); + clusterKey->field_0x8 = JSUConvertOffsetToPtr(block, clusterKey->field_0x8); + } + + for (int i = 0; i < mpDeformData->mClusterVertexNum; i++) { + J3DClusterVertex* clusterVertex = &mpDeformData->mClusterVertex[i]; + clusterVertex->field_0x4 = JSUConvertOffsetToPtr(block, clusterVertex->field_0x4); + clusterVertex->field_0x8 = JSUConvertOffsetToPtr(block, clusterVertex->field_0x8); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -153,6 +276,7 @@ asm void J3DClusterLoader_v15::readCluster(J3DClusterBlock const* param_0) { #include "asm/JSystem/J3DGraphLoader/J3DClusterLoader/readCluster__20J3DClusterLoader_v15FPC15J3DClusterBlock.s" } #pragma pop +#endif /* 803345FC-80334644 32EF3C 0048+00 1/0 0/0 0/0 .text __dt__16J3DClusterLoaderFv */ #pragma push diff --git a/libs/JSystem/JFramework/JFWDisplay.cpp b/libs/JSystem/JFramework/JFWDisplay.cpp index 128571889e..4be1ff58d0 100644 --- a/libs/JSystem/JFramework/JFWDisplay.cpp +++ b/libs/JSystem/JFramework/JFWDisplay.cpp @@ -1,30 +1,11 @@ -// -// Generated By: dol2asm -// Translation Unit: JFWDisplay -// - #include "JSystem/JFramework/JFWDisplay.h" #include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JUtility/JUTDbPrint.h" #include "JSystem/JUtility/JUTProcBar.h" -#include "dol2asm.h" #include "dolphin/gx.h" #include "dolphin/os.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// /* 80272040-802720F8 26C980 00B8+00 1/1 0/0 0/0 .text ctor_subroutine__10JFWDisplayFb */ void JFWDisplay::ctor_subroutine(bool enableAlpha) { @@ -637,5 +618,3 @@ static void diagnoseGpHang() { OSReport("GP is in unknown state.\n"); } } - -/* 8039A878-8039A878 026ED8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/JGadget/linklist.cpp b/libs/JSystem/JGadget/linklist.cpp index e040b3fce2..fefe1eeae5 100644 --- a/libs/JSystem/JGadget/linklist.cpp +++ b/libs/JSystem/JGadget/linklist.cpp @@ -6,6 +6,17 @@ #include "JSystem/JGadget/linklist.h" #include "dolphin/types.h" +template +class TPRIsEqual_pointer_ { +public: + TPRIsEqual_pointer_(const T* p) { this->p_ = p; } + + bool operator()(const T& rSrc) const { return &rSrc == this->p_; } + +private: + const T* p_; +}; + // // Forward References: // @@ -39,85 +50,80 @@ extern "C" void _restgpr_29(); /* 802DCA1C-802DCA58 2D735C 003C+00 1/1 6/6 0/0 .text __dt__Q27JGadget13TNodeLinkListFv */ -JGadget::TNodeLinkList::~TNodeLinkList() { -} +JGadget::TNodeLinkList::~TNodeLinkList() {} /* 802DCA58-802DCAA0 2D7398 0048+00 0/0 2/2 0/0 .text * erase__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iterator */ JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(JGadget::TNodeLinkList::iterator it) { - iterator it2 = JGadget::TNodeLinkList::iterator(it); - iterator next = ++it2; + iterator next = it; + ++next; return erase(it, next); } /* 802DCAA0-802DCB08 2D73E0 0068+00 1/1 0/0 0/0 .text * erase__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorQ37JGadget13TNodeLinkList8iterator */ -JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(iterator start, iterator end) { - TLinkListNode* startNode = start.node; - TLinkListNode* endNode = end.node; - while (startNode != endNode) { - TLinkListNode* nextNode = startNode->mNext; - Erase(startNode); - startNode = nextNode; +JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(iterator a, iterator b) { + TLinkListNode* cur = a.node; + TLinkListNode* end = b.node; + TLinkListNode* next; + + for (; cur != end; cur = next) { + next = cur->mNext; + Erase(cur); } - return iterator(end.node); + + return b; } /* 802DCB08-802DCBA8 2D7448 00A0+00 1/1 0/0 0/0 .text * splice__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorRQ27JGadget13TNodeLinkListQ37JGadget13TNodeLinkList8iterator */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JGadget::TNodeLinkList::splice(JGadget::TNodeLinkList::iterator param_0, - JGadget::TNodeLinkList& param_1, - JGadget::TNodeLinkList::iterator param_2) { - nofralloc -#include "asm/JSystem/JGadget/linklist/func_802DCB08.s" +void JGadget::TNodeLinkList::splice(iterator it, TNodeLinkList& rSrc, iterator itSrc) { + iterator itSrcNext = itSrc; + ++itSrcNext; + + if ((it == itSrc) || (it == itSrcNext)) { + return; + } else { + TLinkListNode* const node = &(*itSrc); + rSrc.Erase(node); + Insert(it, node); + } } -#pragma pop /* 802DCBA8-802DCBD4 2D74E8 002C+00 1/1 7/7 0/0 .text * Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode */ -JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Insert(iterator it, TLinkListNode* node) { - TLinkListNode* itNode = it.node; - TLinkListNode* prev = itNode->mPrev; - node->mNext = itNode; - node->mPrev = prev; - itNode->mPrev = node; - prev->mNext = node; - this->count++; - return iterator(node); +JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Insert(iterator it, TLinkListNode* p) { + TLinkListNode* pIt = it.node; + TLinkListNode* pItPrev = pIt->mPrev; + + p->mNext = pIt; + p->mPrev = pItPrev; + pIt->mPrev = p; + pItPrev->mNext = p; + count++; + return iterator(p); } /* 802DCBD4-802DCBF8 2D7514 0024+00 2/2 4/4 0/0 .text * Erase__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode */ -JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Erase(TLinkListNode* node) { - TLinkListNode* next = node->mNext; - TLinkListNode* prev = node->mPrev; - next->mPrev = prev; - prev->mNext = next; - this->count--; - return iterator(next); +JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Erase(TLinkListNode* p) { + TLinkListNode* pNext = p->mNext; + TLinkListNode* pPrev = p->mPrev; + pNext->mPrev = pPrev; + pPrev->mNext = pNext; + count--; + return iterator(pNext); } /* 802DCBF8-802DCCC8 2D7538 00D0+00 0/0 2/2 0/0 .text * Remove__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode */ +// missing stack #ifdef NONMATCHING -void JGadget::TNodeLinkList::Remove(TLinkListNode* node) { - TNodeLinkList trashList; - TLinkListNode* myNode = this->ocObject_.mNext; - while (myNode != end().node) { - if (myNode == node) { - TLinkListNode* next = myNode->mNext; - trashList.splice(&trashList.ocObject_, *this, myNode); - myNode = next; - } else { - myNode = myNode->mNext; - } - } +void JGadget::TNodeLinkList::Remove(TLinkListNode* p) { + remove_if(TPRIsEqual_pointer_(p)); } #else #pragma push diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp index 4a8e1746a6..40583f4e50 100644 --- a/libs/JSystem/JKernel/JKRAram.cpp +++ b/libs/JSystem/JKernel/JKRAram.cpp @@ -1,46 +1,27 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRAram -// - #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JKernel/JKRAramPiece.h" #include "JSystem/JKernel/JKRAramStream.h" #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JUtility/JUTException.h" -#include "string.h" #include "dolphin/ar.h" #include "dolphin/os/OSCache.h" #include "dolphin/os/OSInterrupt.h" #include "global.h" - -// -// Forward References: -// +#include "string.h" static u8* firstSrcData(); static u8* nextSrcData(u8* param_0); -static int JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLength, u32 offset, - u32* resourceSize); -int decompSZS_subroutine(u8 *src, u8 *dest); +static int JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLength, + u32 offset, u32* resourceSize); +int decompSZS_subroutine(u8* src, u8* dest); -// -// External References: -// - - -// -// Declarations: -// - -/* ############################################################################################## */ /* 804513C8-804513CC 0008C8 0004+00 3/3 9/9 0/0 .sbss sAramObject__7JKRAram */ JKRAram* JKRAram::sAramObject; /* 802D1FA4-802D2040 2CC8E4 009C+00 0/0 1/1 0/0 .text create__7JKRAramFUlUllll */ -JKRAram* JKRAram::create(u32 aram_audio_buffer_size, u32 aram_audio_graph_size, - s32 stream_priority, s32 decomp_priority, s32 piece_priority) { +JKRAram* JKRAram::create(u32 aram_audio_buffer_size, u32 aram_audio_graph_size, s32 stream_priority, + s32 decomp_priority, s32 piece_priority) { if (!sAramObject) { sAramObject = new (JKRHeap::getSystemHeap(), 0) JKRAram(aram_audio_buffer_size, aram_audio_graph_size, piece_priority); @@ -144,11 +125,15 @@ void JKRAram::changeGroupIdIfNeed(u8* data, int groupId) { /* 802D233C-802D25B4 2CCC7C 0278+00 0/0 3/3 0/0 .text * mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl */ -JKRAramBlock *JKRAram::mainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRExpandSwitch expandSwitch, u32 fileSize, JKRHeap *heap, int id, u32 *pSize) { - JKRAramBlock *block = NULL; +JKRAramBlock* JKRAram::mainRamToAram(u8* buf, u32 bufSize, u32 alignedSize, + JKRExpandSwitch expandSwitch, u32 fileSize, JKRHeap* heap, + int id, u32* pSize) { + JKRAramBlock* block = NULL; checkOkAddress(buf, bufSize, NULL, 0); if (expandSwitch == EXPAND_SWITCH_UNKNOWN1) { - expandSwitch = (JKRCheckCompressed_noASR(buf) == COMPRESSION_NONE) ? EXPAND_SWITCH_UNKNOWN0 : EXPAND_SWITCH_UNKNOWN1; + expandSwitch = (JKRCheckCompressed_noASR(buf) == COMPRESSION_NONE) ? + EXPAND_SWITCH_UNKNOWN0 : + EXPAND_SWITCH_UNKNOWN1; } if (expandSwitch == EXPAND_SWITCH_UNKNOWN1) { u32 expandSize = JKRDecompExpandSize(buf); @@ -156,7 +141,8 @@ JKRAramBlock *JKRAram::mainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRE fileSize = ALIGN_NEXT(expandSize, 32); } if (bufSize == 0) { - JKRAramBlock* allocatedBlock = (JKRAramBlock*)JKRAllocFromAram(fileSize, JKRAramHeap::HEAD); + JKRAramBlock* allocatedBlock = + (JKRAramBlock*)JKRAllocFromAram(fileSize, JKRAramHeap::HEAD); block = (JKRAramBlock*)allocatedBlock; if (allocatedBlock == NULL) return NULL; @@ -170,29 +156,27 @@ JKRAramBlock *JKRAram::mainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRE if (alignedSize > fileSize) alignedSize = fileSize; - void *allocatedMem = JKRAllocFromHeap(heap, fileSize, -32); + void* allocatedMem = JKRAllocFromHeap(heap, fileSize, -32); if (allocatedMem == NULL) { if (block != NULL) { JKRFreeToAram(block); } block = NULL; - } - else { - JKRDecompress(buf, (u8 *)allocatedMem, fileSize, 0); + } else { + JKRDecompress(buf, (u8*)allocatedMem, fileSize, 0); JKRAramPcs(0, (u32)allocatedMem, bufSize, alignedSize, block); JKRFreeToHeap(heap, allocatedMem); - block = block == NULL ? (JKRAramBlock *)-1 : block; + block = block == NULL ? (JKRAramBlock*)-1 : block; if (pSize != NULL) { *pSize = alignedSize; } } - } - else { + } else { if (fileSize != 0 && alignedSize > fileSize) alignedSize = fileSize; if (bufSize == 0) { - - JKRAramBlock* allocatedBlock = (JKRAramBlock*)JKRAllocFromAram(alignedSize, JKRAramHeap::HEAD); + JKRAramBlock* allocatedBlock = + (JKRAramBlock*)JKRAllocFromAram(alignedSize, JKRAramHeap::HEAD); block = allocatedBlock; block->newGroupID(decideAramGroupId(id)); if (block == NULL) @@ -202,7 +186,7 @@ JKRAramBlock *JKRAram::mainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRE } JKRAramPcs(0, (u32)buf, bufSize, alignedSize, block); - block = block == NULL ? (JKRAramBlock *)-1 : block; + block = block == NULL ? (JKRAramBlock*)-1 : block; if (pSize != NULL) *pSize = alignedSize; } @@ -211,7 +195,8 @@ JKRAramBlock *JKRAram::mainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRE /* 802D25B4-802D2830 2CCEF4 027C+00 0/0 6/6 0/0 .text * aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl */ -u8 *JKRAram::aramToMainRam(u32 address, u8 *buf, u32 p3, JKRExpandSwitch expandSwitch, u32 p5, JKRHeap *heap, int id, u32 *pSize) { +u8* JKRAram::aramToMainRam(u32 address, u8* buf, u32 p3, JKRExpandSwitch expandSwitch, u32 p5, + JKRHeap* heap, int id, u32* pSize) { JKRCompression compression = COMPRESSION_NONE; if (pSize != NULL) *pSize = 0; @@ -221,18 +206,19 @@ u8 *JKRAram::aramToMainRam(u32 address, u8 *buf, u32 p3, JKRExpandSwitch expandS u32 expandSize; if (expandSwitch == EXPAND_SWITCH_UNKNOWN1) { u8 buffer[64]; - u8 *bufPtr = (u8 *)ALIGN_NEXT((u32)buffer, 32); - JKRAramPcs(1, address, (u32)bufPtr, sizeof(buffer) / 2, NULL); // probably change sizeof(buffer) / 2 to 32 + u8* bufPtr = (u8*)ALIGN_NEXT((u32)buffer, 32); + JKRAramPcs(1, address, (u32)bufPtr, sizeof(buffer) / 2, + NULL); // probably change sizeof(buffer) / 2 to 32 compression = JKRCheckCompressed_noASR(bufPtr); expandSize = JKRDecompExpandSize(bufPtr); } - if (compression == COMPRESSION_YAZ0) { // SZS + if (compression == COMPRESSION_YAZ0) { // SZS if (p5 != 0 && p5 < expandSize) expandSize = p5; if (buf == NULL) - buf = (u8 *)JKRAllocFromHeap(heap, expandSize, 32); + buf = (u8*)JKRAllocFromHeap(heap, expandSize, 32); if (buf == NULL) return NULL; else { @@ -240,20 +226,18 @@ u8 *JKRAram::aramToMainRam(u32 address, u8 *buf, u32 p3, JKRExpandSwitch expandS JKRDecompressFromAramToMainRam(address, buf, p3, expandSize, 0, pSize); return buf; } - } - else if (compression == COMPRESSION_YAY0) { // SZP - u8 *szpSpace = (u8 *)JKRAllocFromHeap(heap, p3, -32); + } else if (compression == COMPRESSION_YAY0) { // SZP + u8* szpSpace = (u8*)JKRAllocFromHeap(heap, p3, -32); if (szpSpace == NULL) { return NULL; - } - else { + } else { JKRAramPcs(1, address, (u32)szpSpace, p3, NULL); if (p5 != 0 && p5 < expandSize) expandSize = p5; u8* rv; if (buf == NULL) { - rv = (u8 *)JKRAllocFromHeap(heap, expandSize, 32); + rv = (u8*)JKRAllocFromHeap(heap, expandSize, 32); } else { rv = buf; } @@ -261,8 +245,7 @@ u8 *JKRAram::aramToMainRam(u32 address, u8 *buf, u32 p3, JKRExpandSwitch expandS if (rv == NULL) { i_JKRFree(szpSpace); return NULL; - } - else { + } else { changeGroupIdIfNeed(rv, id); JKRDecompress(szpSpace, rv, expandSize, 0); JKRFreeToHeap(heap, szpSpace); @@ -272,14 +255,12 @@ u8 *JKRAram::aramToMainRam(u32 address, u8 *buf, u32 p3, JKRExpandSwitch expandS return rv; } } - } - else { // Not compressed or ASR + } else { // Not compressed or ASR if (buf == NULL) - buf = (u8 *)JKRAllocFromHeap(heap, p3, 32); + buf = (u8*)JKRAllocFromHeap(heap, p3, 32); if (buf == NULL) { return NULL; - } - else { + } else { changeGroupIdIfNeed(buf, id); JKRAramPcs(1, address, (u32)buf, p3, NULL); if (pSize != NULL) { @@ -346,8 +327,8 @@ static u32 tsArea; /* 802D2830-802D29A0 2CD170 0170+00 1/1 0/0 0/0 .text * JKRDecompressFromAramToMainRam__FUlPvUlUlUlPUl */ -static int JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLength, u32 offset, - u32* resourceSize) { +static int JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLength, + u32 offset, u32* resourceSize) { BOOL interrupts = OSDisableInterrupts(); if (s_is_decompress_mutex_initialized == false) { OSInitMutex(&decompMutex); @@ -357,15 +338,14 @@ static int JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 OSLockMutex(&decompMutex); u32 szsBufferSize = JKRAram::getSZSBufferSize(); - szpBuf = (u8 *)JKRAllocFromSysHeap(szsBufferSize, 32); + szpBuf = (u8*)JKRAllocFromSysHeap(szsBufferSize, 32); szpEnd = szpBuf + szsBufferSize; if (offset != 0) { - refBuf = (u8 *)JKRAllocFromSysHeap(0x1120, 0); + refBuf = (u8*)JKRAllocFromSysHeap(0x1120, 0); refEnd = refBuf + 0x1120; refCurrent = refBuf; - } - else { + } else { refBuf = NULL; } srcAddress = src; @@ -377,7 +357,7 @@ static int JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 tsPtr = (resourceSize != 0) ? resourceSize : &tsArea; *tsPtr = 0; - decompSZS_subroutine(firstSrcData(), (u8 *)dst); + decompSZS_subroutine(firstSrcData(), (u8*)dst); i_JKRFree(szpBuf); if (refBuf) { i_JKRFree(refBuf); @@ -390,8 +370,8 @@ static int JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 } /* 802D29A0-802D2C40 2CD2E0 02A0+00 1/1 0/0 0/0 .text decompSZS_subroutine__FPUcPUc */ -int decompSZS_subroutine(u8 *src, u8 *dest) { - u8 *endPtr; +int decompSZS_subroutine(u8* src, u8* dest) { + u8* endPtr; s32 validBitCount = 0; s32 currCodeByte = 0; u32 ts = 0; @@ -400,7 +380,7 @@ int decompSZS_subroutine(u8 *src, u8 *dest) { return -1; } - SYaz0Header *header = (SYaz0Header *)src; + SYaz0Header* header = (SYaz0Header*)src; endPtr = dest + (header->length - fileOffset); if (endPtr > dest + maxDest) { endPtr = dest + maxDest; @@ -422,8 +402,7 @@ int decompSZS_subroutine(u8 *src, u8 *dest) { *dest = *src; dest++; ts++; - if (dest == endPtr) - { + if (dest == endPtr) { break; } } @@ -432,8 +411,7 @@ int decompSZS_subroutine(u8 *src, u8 *dest) { refCurrent = refBuf; } src++; - } - else { + } else { *dest = *src; dest++; src++; @@ -443,26 +421,23 @@ int decompSZS_subroutine(u8 *src, u8 *dest) { } } readCount++; - } - else { + } else { u32 dist = ((src[0] & 0x0f) << 8) | src[1]; s32 numBytes = src[0] >> 4; src += 2; - u8 *copySource; + u8* copySource; if (fileOffset != 0) { copySource = refCurrent - dist - 1; if (copySource < refBuf) { copySource += refEnd - refBuf; } - } - else { + } else { copySource = dest - dist - 1; } if (numBytes == 0) { numBytes = *src + 0x12; src += 1; - } - else { + } else { numBytes += 2; } if (fileOffset != 0) { @@ -486,8 +461,7 @@ int decompSZS_subroutine(u8 *src, u8 *dest) { readCount++; numBytes--; } while (numBytes != 0); - } - else { + } else { do { *dest = *copySource; dest++; @@ -536,8 +510,8 @@ static u8* firstSrcData() { } /* 802D2CE4-802D2DAC 2CD624 00C8+00 1/1 0/0 0/0 .text nextSrcData__FPUc */ -static u8 *nextSrcData(u8 *current) { - u8 *dest; +static u8* nextSrcData(u8* current) { + u8* dest; u32 left = (u32)(szpEnd - current); if (IS_NOT_ALIGNED(left, 0x20)) dest = szpBuf + 0x20 - (left & (0x20 - 1)); diff --git a/libs/JSystem/JKernel/JKRAramArchive.cpp b/libs/JSystem/JKernel/JKRAramArchive.cpp index 262b6407f1..8bb19ff135 100644 --- a/libs/JSystem/JKernel/JKRAramArchive.cpp +++ b/libs/JSystem/JKernel/JKRAramArchive.cpp @@ -10,11 +10,11 @@ #include "JSystem/JKernel/JKRDvdFile.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTException.h" -#include "math.h" -#include "string.h" #include "dol2asm.h" #include "dolphin/os/OSCache.h" #include "global.h" +#include "math.h" +#include "string.h" // // Forward References: @@ -162,54 +162,52 @@ bool JKRAramArchive::open(s32 entryNum) { mStringTable = NULL; mBlock = NULL; - mDvdFile = new (JKRGetSystemHeap(), mMountDirection == MOUNT_DIRECTION_HEAD ? 4 : -4) JKRDvdFile(entryNum); - if (mDvdFile == NULL) - { + mDvdFile = new (JKRGetSystemHeap(), mMountDirection == MOUNT_DIRECTION_HEAD ? 4 : -4) + JKRDvdFile(entryNum); + if (mDvdFile == NULL) { mMountMode = 0; return 0; } - // NOTE: a different struct is used here for sure, unfortunately i can't get any hits on this address, so gonna leave it like this for now - SArcHeader *mem = (SArcHeader *)JKRAllocFromSysHeap(32, -32); - if (mem == NULL) { + // NOTE: a different struct is used here for sure, unfortunately i can't get any hits on this + // address, so gonna leave it like this for now + SArcHeader* mem = (SArcHeader*)JKRAllocFromSysHeap(32, -32); + if (mem == NULL) { mMountMode = 0; - } - else { - JKRDvdToMainRam(entryNum, (u8 *)mem, EXPAND_SWITCH_UNKNOWN1, 32, NULL, JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, &mCompression, NULL); + } else { + JKRDvdToMainRam(entryNum, (u8*)mem, EXPAND_SWITCH_UNKNOWN1, 32, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, &mCompression, NULL); DCInvalidateRange(mem, 32); int alignment = mMountDirection == MOUNT_DIRECTION_HEAD ? 32 : -32; u32 alignedSize = ALIGN_NEXT(mem->file_data_offset, 32); - mArcInfoBlock = (SArcDataInfo *)JKRAllocFromHeap(mHeap, alignedSize, alignment); + mArcInfoBlock = (SArcDataInfo*)JKRAllocFromHeap(mHeap, alignedSize, alignment); if (mArcInfoBlock == NULL) { mMountMode = 0; - } - else { - JKRDvdToMainRam(entryNum, (u8 *)mArcInfoBlock, EXPAND_SWITCH_UNKNOWN1, alignedSize, NULL, JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 32, NULL, NULL); + } else { + JKRDvdToMainRam(entryNum, (u8*)mArcInfoBlock, EXPAND_SWITCH_UNKNOWN1, alignedSize, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 32, NULL, NULL); DCInvalidateRange(mArcInfoBlock, alignedSize); - mNodes = (SDIDirEntry *)((u8 *)mArcInfoBlock + mArcInfoBlock->node_offset); - mFiles = (SDIFileEntry *)((u8 *)mArcInfoBlock + mArcInfoBlock->file_entry_offset); - mStringTable = (char *)((u8 *)mArcInfoBlock + mArcInfoBlock->string_table_offset); + mNodes = (SDIDirEntry*)((u8*)mArcInfoBlock + mArcInfoBlock->node_offset); + mFiles = (SDIFileEntry*)((u8*)mArcInfoBlock + mArcInfoBlock->file_entry_offset); + mStringTable = (char*)((u8*)mArcInfoBlock + mArcInfoBlock->string_table_offset); mExpandedSize = NULL; - u8 compressedFiles = 0; // maybe a check for if the last file is compressed? + u8 compressedFiles = 0; // maybe a check for if the last file is compressed? - SDIFileEntry *fileEntry = mFiles; - for (int i = 0; i < mArcInfoBlock->num_file_entries; i++) - { + SDIFileEntry* fileEntry = mFiles; + for (int i = 0; i < mArcInfoBlock->num_file_entries; i++) { u8 flag = fileEntry->type_flags_and_name_offset >> 24; - if ((flag & 1)) - { + if ((flag & 1)) { compressedFiles |= (flag & JKRARCHIVE_ATTR_COMPRESSION); } fileEntry++; } - if (compressedFiles != 0) - { - mExpandedSize = (s32 *)JKRAllocFromHeap(mHeap, mArcInfoBlock->num_file_entries << 2, abs(alignment)); - if (mExpandedSize == NULL) - { + if (compressedFiles != 0) { + mExpandedSize = (s32*)JKRAllocFromHeap(mHeap, mArcInfoBlock->num_file_entries << 2, + abs(alignment)); + if (mExpandedSize == NULL) { i_JKRFree(mArcInfoBlock); mMountMode = 0; goto cleanup; @@ -218,34 +216,32 @@ bool JKRAramArchive::open(s32 entryNum) { } u32 aramSize = ALIGN_NEXT(mem->file_data_length, 32); - mBlock = (JKRAramBlock*) JKRAllocFromAram(aramSize, mMountDirection == MOUNT_DIRECTION_HEAD ? JKRAramHeap::HEAD : JKRAramHeap::TAIL); - if(mBlock == NULL) { + mBlock = (JKRAramBlock*)JKRAllocFromAram( + aramSize, + mMountDirection == MOUNT_DIRECTION_HEAD ? JKRAramHeap::HEAD : JKRAramHeap::TAIL); + if (mBlock == NULL) { if (mArcInfoBlock) { i_JKRFree(mArcInfoBlock); } - if(mExpandedSize) { + if (mExpandedSize) { i_JKRFree(mExpandedSize); } mMountMode = 0; + } else { + JKRDvdToAram(entryNum, mBlock->getAddress(), EXPAND_SWITCH_UNKNOWN1, + mem->header_length + mem->file_data_offset, 0, NULL); } - else { - JKRDvdToAram(entryNum, mBlock->getAddress(), EXPAND_SWITCH_UNKNOWN1, mem->header_length + mem->file_data_offset, 0, NULL); - } - } } cleanup: - if (mem != NULL) - { + if (mem != NULL) { JKRFreeToSysHeap(mem); } - if (mMountMode == 0) - { + if (mMountMode == 0) { #ifdef DEBUG OSReport(":::[%s: %d] Cannot alloc memory\n", __FILE__, 415); #endif - if (mDvdFile != NULL) - { + if (mDvdFile != NULL) { delete mDvdFile; } return false; @@ -291,7 +287,6 @@ void* JKRAramArchive::fetchResource(SDIFileEntry* pEntry, u32* pOutSize) { /* 802D76F4-802D77F8 2D2034 0104+00 1/0 0/0 0/0 .text * fetchResource__14JKRAramArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl */ -#ifdef NONMATCHING void* JKRAramArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* pEntry, u32* resourceSize) { JUT_ASSERT(515, isMounted()); @@ -299,10 +294,10 @@ void* JKRAramArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* if (size > bufferSize) { size = bufferSize; } + JKRCompression compression = JKRConvertAttrToCompressionType(pEntry->getFlags()); if (pEntry->data == NULL) { - // can't get it to store the result in r28 - bufferSize &= ~(0x20 - 1); + bufferSize = (s32)ALIGN_PREV(bufferSize, 0x20); size = JKRAramArchive::fetchResource_subroutine(pEntry->data_offset + mBlock->getAddress(), size, (u8*)buffer, bufferSize, compression); } else { @@ -317,22 +312,12 @@ void* JKRAramArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* } JKRHeap::copyMemory(buffer, pEntry->data, size); } + if (resourceSize != NULL) { *resourceSize = size; } return buffer; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* JKRAramArchive::fetchResource(void* param_0, u32 param_1, - JKRArchive::SDIFileEntry* param_2, u32* param_3) { - nofralloc -#include "asm/JSystem/JKernel/JKRAramArchive/fetchResource__14JKRAramArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s" -} -#pragma pop -#endif /* 802D77F8-802D781C 2D2138 0024+00 1/1 0/0 0/0 .text * getAramAddress_Entry__14JKRAramArchiveFPQ210JKRArchive12SDIFileEntry */ @@ -354,7 +339,7 @@ u32 JKRAramArchive::getAramAddress(char const* name) { * fetchResource_subroutine__14JKRAramArchiveFUlUlPUcUli */ u32 JKRAramArchive::fetchResource_subroutine(u32 srcAram, u32 srcLength, u8* dst, u32 dstLength, int compression) { - JUT_ASSERT(628, ( srcAram & 0x1f ) == 0); + JUT_ASSERT(628, (srcAram & 0x1f) == 0); u32 outLen; u32 srcSize = ALIGN_NEXT(srcLength, 0x20); u32 dstSize = ALIGN_PREV(dstLength, 0x20); @@ -364,13 +349,11 @@ u32 JKRAramArchive::fetchResource_subroutine(u32 srcAram, u32 srcLength, u8* dst if (srcSize > dstSize) { srcSize = dstSize; } - JKRAramToMainRam(srcAram, dst, srcSize, EXPAND_SWITCH_UNKNOWN0, dstSize, NULL, -1, - &outLen); + JKRAramToMainRam(srcAram, dst, srcSize, EXPAND_SWITCH_UNKNOWN0, dstSize, NULL, -1, &outLen); return outLen; case COMPRESSION_YAY0: case COMPRESSION_YAZ0: - JKRAramToMainRam(srcAram, dst, srcSize, EXPAND_SWITCH_UNKNOWN1, dstSize, NULL, -1, - &outLen); + JKRAramToMainRam(srcAram, dst, srcSize, EXPAND_SWITCH_UNKNOWN1, dstSize, NULL, -1, &outLen); return outLen; default: JUTException::panic(__FILE__, 655, "??? bad sequence\n"); @@ -380,50 +363,39 @@ u32 JKRAramArchive::fetchResource_subroutine(u32 srcAram, u32 srcLength, u8* dst /* 802D7914-802D7A64 2D2254 0150+00 1/1 1/1 0/0 .text * fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc */ -#ifdef NONMATCHING u32 JKRAramArchive::fetchResource_subroutine(u32 entryNum, u32 length, JKRHeap* pHeap, int compression, u8** out) { - // r28 -> r29, r29 -> r30, r30 -> r31, r31 -> r28 - u32 readLen; - u32 alignedLen = alignNext(length, 0x20); + u32 alignedLen = ALIGN_NEXT(length, 0x20); + u8* buffer; switch (compression) { case COMPRESSION_NONE: - buffer = static_cast(JKRAllocFromHeap(pHeap, alignedLen, 0x20)); - JUT_ASSERT(677, buffer != 0); - JKRAramToMainRam(entryNum, buffer, alignedLen, EXPAND_SWITCH_UNKNOWN0, alignedLen, - NULL, -1, NULL); - *out = buffer; - return length; + { + buffer = (u8*)(JKRAllocFromHeap(pHeap, alignedLen, 0x20)); + JUT_ASSERT(677, buffer != 0); + JKRAramToMainRam(entryNum, buffer, alignedLen, EXPAND_SWITCH_UNKNOWN0, alignedLen, NULL, -1, NULL); + *out = buffer; + return length; + } case COMPRESSION_YAY0: case COMPRESSION_YAZ0: - u8 tmpBuf[0x40]; - u8* buf = (u8*)ALIGN_PREV((s32)&tmpBuf[0x1F], sizeof(SArcHeader)); - JKRAramToMainRam(entryNum, buf, sizeof(SArcHeader), EXPAND_SWITCH_UNKNOWN0, 0, NULL, -1, NULL); - length = alignNext(JKRDecompExpandSize(buf), sizeof(SArcHeader)); - buffer = static_cast(JKRAllocFromHeap(pHeap, length, sizeof(SArcHeader))); - JUT_ASSERT(703, buffer); - - JKRAramToMainRam(entryNum, buffer, alignedLen, EXPAND_SWITCH_UNKNOWN1, length, pHeap, - -1, &readLen); - *out = buffer; - return readLen; + { + u8 headerBuf[0x40]; + u8* alignHeader = (u8*)ALIGN_NEXT((s32)&headerBuf[0], sizeof(SArcHeader)); + JKRAramToMainRam(entryNum, alignHeader, sizeof(SArcHeader), EXPAND_SWITCH_UNKNOWN0, 0, NULL, -1, NULL); + u32 decompressedLen = ALIGN_NEXT(JKRDecompExpandSize(alignHeader), sizeof(SArcHeader)); + buffer = (u8*)(JKRAllocFromHeap(pHeap, decompressedLen, sizeof(SArcHeader))); + JUT_ASSERT(703, buffer); + u32 readLen; + JKRAramToMainRam(entryNum, buffer, alignedLen, EXPAND_SWITCH_UNKNOWN1, decompressedLen, pHeap, -1, &readLen); + *out = buffer; + return readLen; + } default: JUTException::panic(__FILE__, 713, "??? bad sequence\n"); return 0; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 JKRAramArchive::fetchResource_subroutine(u32 param_0, u32 param_1, JKRHeap* param_2, - int param_3, u8** param_4) { - nofralloc -#include "asm/JSystem/JKernel/JKRAramArchive/fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc.s" -} -#pragma pop -#endif /* 802D7A64-802D7B90 2D23A4 012C+00 1/0 0/0 0/0 .text getExpandedResSize__14JKRAramArchiveCFPCv */ u32 JKRAramArchive::getExpandedResSize(const void* ptr) const { @@ -447,8 +419,8 @@ u32 JKRAramArchive::getExpandedResSize(const void* ptr) const { u8 tmpBuf[0x40]; u8* buf = (u8*)ALIGN_PREV((s32)&tmpBuf[0x1F], 0x20); - JKRAramToMainRam(entry->data_offset + mBlock->getAddress(), buf, 0x20, - EXPAND_SWITCH_UNKNOWN0, 0, NULL, -1, NULL); + JKRAramToMainRam(entry->data_offset + mBlock->getAddress(), buf, 0x20, EXPAND_SWITCH_UNKNOWN0, + 0, NULL, -1, NULL); expandSize = JKRDecompExpandSize(buf); // ??? casting away const? ((JKRArchive*)this)->setExpandSize(entry, expandSize); diff --git a/libs/JSystem/JKernel/JKRAramBlock.cpp b/libs/JSystem/JKernel/JKRAramBlock.cpp index 58a3919ee3..b9a6e1e181 100644 --- a/libs/JSystem/JKernel/JKRAramBlock.cpp +++ b/libs/JSystem/JKernel/JKRAramBlock.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRAramBlock -// - #include "JSystem/JKernel/JKRAramBlock.h" #include "JSystem/JKernel/JKRAramHeap.h" #include "JSystem/JKernel/JKRHeap.h" diff --git a/libs/JSystem/JKernel/JKRAramHeap.cpp b/libs/JSystem/JKernel/JKRAramHeap.cpp index a652d019a8..9442772a69 100644 --- a/libs/JSystem/JKernel/JKRAramHeap.cpp +++ b/libs/JSystem/JKernel/JKRAramHeap.cpp @@ -1,24 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRAramHeap -// - #include "JSystem/JKernel/JKRAramHeap.h" #include "JSystem/JKernel/JKRHeap.h" #include "global.h" -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - /* 8043430C-80434318 06102C 000C+00 8/8 0/0 0/0 .bss sAramList__11JKRAramHeap */ JSUList JKRAramHeap::sAramList; diff --git a/libs/JSystem/JKernel/JKRAramPiece.cpp b/libs/JSystem/JKernel/JKRAramPiece.cpp index fcd86c9332..8a32f641ea 100644 --- a/libs/JSystem/JKernel/JKRAramPiece.cpp +++ b/libs/JSystem/JKernel/JKRAramPiece.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRAramPiece -// - #include "JSystem/JKernel/JKRAramPiece.h" #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JKernel/JKRDecomp.h" diff --git a/libs/JSystem/JKernel/JKRAramStream.cpp b/libs/JSystem/JKernel/JKRAramStream.cpp index 13a126be59..d58a87e91e 100644 --- a/libs/JSystem/JKernel/JKRAramStream.cpp +++ b/libs/JSystem/JKernel/JKRAramStream.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRAramStream -// - #include "JSystem/JKernel/JKRAramStream.h" #include "JSystem/JKernel/JKRAramPiece.h" #include "JSystem/JSupport/JSUFileStream.h" diff --git a/libs/JSystem/JKernel/JKRArchivePri.cpp b/libs/JSystem/JKernel/JKRArchivePri.cpp index e2f6557cc4..cf647d5dcd 100644 --- a/libs/JSystem/JKernel/JKRArchivePri.cpp +++ b/libs/JSystem/JKernel/JKRArchivePri.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRArchivePri -// - #include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JKernel/JKRHeap.h" #include "ctype.h" diff --git a/libs/JSystem/JKernel/JKRArchivePub.cpp b/libs/JSystem/JKernel/JKRArchivePub.cpp index eb3fb287a9..36e18f97de 100644 --- a/libs/JSystem/JKernel/JKRArchivePub.cpp +++ b/libs/JSystem/JKernel/JKRArchivePub.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRArchivePub -// - #include "JSystem/JKernel/JKRAramArchive.h" #include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JKernel/JKRCompArchive.h" diff --git a/libs/JSystem/JKernel/JKRAssertHeap.cpp b/libs/JSystem/JKernel/JKRAssertHeap.cpp index 21ebb2226b..7a773ac38e 100644 --- a/libs/JSystem/JKernel/JKRAssertHeap.cpp +++ b/libs/JSystem/JKernel/JKRAssertHeap.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRAssertHeap -// - #include "JSystem/JKernel/JKRAssertHeap.h" /* 802D12C4-802D1300 2CBC04 003C+00 1/1 0/0 0/0 .text __ct__13JKRAssertHeapFPvUlP7JKRHeapb */ diff --git a/libs/JSystem/JKernel/JKRCompArchive.cpp b/libs/JSystem/JKernel/JKRCompArchive.cpp index b7933468e6..088dbd5e70 100644 --- a/libs/JSystem/JKernel/JKRCompArchive.cpp +++ b/libs/JSystem/JKernel/JKRCompArchive.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRCompArchive -// - #include "JSystem/JKernel/JKRCompArchive.h" #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JKernel/JKRAramArchive.h" @@ -17,18 +12,6 @@ #include "string.h" #include "dolphin/os/OSCache.h" -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - /* 802D87D4-802D887C 2D3114 00A8+00 0/0 1/1 0/0 .text * __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection */ JKRCompArchive::JKRCompArchive(s32 entryNum, JKRArchive::EMountDirection eMountDirection) @@ -411,4 +394,3 @@ u32 JKRCompArchive::getExpandedResSize(const void *resource) const return expandSize; } -/* 8039D220-8039D220 029880 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/JKernel/JKRDecomp.cpp b/libs/JSystem/JKernel/JKRDecomp.cpp index ab654c38f3..cfb022a29c 100644 --- a/libs/JSystem/JKernel/JKRDecomp.cpp +++ b/libs/JSystem/JKernel/JKRDecomp.cpp @@ -1,15 +1,6 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRDecomp -// - #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JKernel/JKRAramPiece.h" -// -// Declarations: -// - /* ############################################################################################## */ /* 804514B0-804514B8 0009B0 0004+04 1/1 0/0 0/0 .sbss sDecompObject__9JKRDecomp */ JKRDecomp* JKRDecomp::sDecompObject; diff --git a/libs/JSystem/JKernel/JKRDisposer.cpp b/libs/JSystem/JKernel/JKRDisposer.cpp index ddacb95443..171946f54c 100644 --- a/libs/JSystem/JKernel/JKRDisposer.cpp +++ b/libs/JSystem/JKernel/JKRDisposer.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRDisposer -// - #include "JSystem/JKernel/JKRDisposer.h" #include "JSystem/JKernel/JKRHeap.h" diff --git a/libs/JSystem/JKernel/JKRDvdAramRipper.cpp b/libs/JSystem/JKernel/JKRDvdAramRipper.cpp index 4b67c84dfa..6ea385362c 100644 --- a/libs/JSystem/JKernel/JKRDvdAramRipper.cpp +++ b/libs/JSystem/JKernel/JKRDvdAramRipper.cpp @@ -1,42 +1,21 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRDvdAramRipper -// - #include "JSystem/JKernel/JKRDvdAramRipper.h" #include "JSystem/JKernel/JKRAram.h" +#include "JSystem/JKernel/JKRAramPiece.h" #include "JSystem/JKernel/JKRAramStream.h" #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JKernel/JKRDvdFile.h" #include "JSystem/JSupport/JSUFileStream.h" -#include "dol2asm.h" #include "dolphin/os/OSCache.h" #include "dolphin/os/OSInterrupt.h" #include "dolphin/vi.h" #include "global.h" - -// -// Types: -// - -/* JSUList */ -struct JSUList__template10 { - /* 802DB62C */ void func_802DB62C(void* _this); -}; - -struct JKRAramPiece { - /* 802D3838 */ void orderSync(int, u32, u32, u32, JKRAramBlock*); -}; - -// -// Forward References: -// +#include "string.h" static int JKRDecompressFromDVDToAram(JKRDvdFile*, u32, u32, u32, u32, u32, u32*); static int decompSZS_subroutine(u8*, u32); static u8* firstSrcData(); static u8* nextSrcData(u8*); -static int dmaBufferFlush(u32); +static u32 dmaBufferFlush(u32); extern "C" void __dt__18JSUFileInputStreamFv(); extern "C" static int JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl(); @@ -53,7 +32,6 @@ extern "C" u32 sSZSBufferSize__16JKRDvdAramRipper; // External References: // -SECTION_INIT void memcpy(); extern "C" void alloc__7JKRHeapFUli(); extern "C" void free__7JKRHeapFPvP7JKRHeap(); extern "C" void* __nw__FUlP7JKRHeapi(); @@ -86,6 +64,7 @@ extern "C" extern void* __vt__20JSURandomInputStream[9]; extern "C" extern void* __vt__18JSUFileInputStream[9 + 1 /* padding */]; extern "C" u8 sSystemHeap__7JKRHeap[4]; extern "C" u8 sAramObject__7JKRAram[4]; +extern "C" bool errorRetry__16JKRDvdAramRipper; // // Declarations: @@ -93,8 +72,9 @@ extern "C" u8 sAramObject__7JKRAram[4]; /* 802DA874-802DA918 2D51B4 00A4+00 0/0 3/3 0/0 .text * loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl */ -JKRAramBlock* JKRDvdAramRipper::loadToAram(s32 entryNumber, u32 address, JKRExpandSwitch expandSwitch, - u32 param_3, u32 param_4, u32* param_5) { +JKRAramBlock* JKRDvdAramRipper::loadToAram(s32 entryNumber, u32 address, + JKRExpandSwitch expandSwitch, u32 param_3, u32 param_4, + u32* param_5) { JKRDvdFile dvdFile; if (!dvdFile.open(entryNumber)) { return NULL; @@ -130,8 +110,9 @@ JKRAramBlock* JKRDvdAramRipper::loadToAram(JKRDvdFile* dvdFile, u32 address, /* 802DA9C0-802DAA74 2D5300 00B4+00 1/1 0/0 0/0 .text * loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl */ JKRADCommand* JKRDvdAramRipper::loadToAram_Async(JKRDvdFile* dvdFile, u32 address, - JKRExpandSwitch expandSwitch, void (*callback)(u32), - u32 param_4, u32 param_5, u32* param_6) { + JKRExpandSwitch expandSwitch, + void (*callback)(u32), u32 param_4, u32 param_5, + u32* param_6) { JKRADCommand* command = new (JKRHeap::sSystemHeap, -4) JKRADCommand(); command->mDvdFile = dvdFile; command->mAddress = address; @@ -150,19 +131,14 @@ JKRADCommand* JKRDvdAramRipper::loadToAram_Async(JKRDvdFile* dvdFile, u32 addres return command; } -/* ############################################################################################## */ -/* 804343A8-804343B4 0610C8 000C+00 1/1 0/0 0/0 .bss @301 */ -static u8 lit_301[12]; - /* 804343B4-804343C0 0610D4 000C+00 3/3 0/0 0/0 .bss sDvdAramAsyncList__16JKRDvdAramRipper */ -u8 JKRDvdAramRipper::sDvdAramAsyncList[12]; +JSUList JKRDvdAramRipper::sDvdAramAsyncList; /* 804508D0-804508D4 000350 0004+00 3/3 0/0 0/0 .sdata None */ -SECTION_SDATA static u8 data_804508D0 = 0x01; +bool JKRDvdAramRipper::errorRetry = true; /* 802DAA74-802DADD8 2D53B4 0364+00 1/1 0/0 0/0 .text * callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand */ -#ifdef NONMATCHING JKRADCommand* JKRDvdAramRipper::callCommand_Async(JKRADCommand* command) { s32 compression; s32 uncompressedSize; @@ -193,7 +169,7 @@ JKRADCommand* JKRDvdAramRipper::callCommand_Async(JKRADCommand* command) { break; } - if (data_804508D0 == 0) { + if (JKRDvdAramRipper::errorRetry == 0) { delete stream; return NULL; } @@ -201,8 +177,11 @@ JKRADCommand* JKRDvdAramRipper::callCommand_Async(JKRADCommand* command) { VIWaitForRetrace(); } DCInvalidateRange(bufPtr, 0x20); + compression = JKRCheckCompressed_noASR(bufPtr); - uncompressedSize = JKRDecompExpandSize(bufPtr); + + u32 expandSize = JKRDecompExpandSize(bufPtr); + uncompressedSize = expandSize; if (command->field_0x40 && uncompressedSize > command->field_0x40) { uncompressedSize = command->field_0x40; } @@ -269,16 +248,6 @@ JKRADCommand* JKRDvdAramRipper::callCommand_Async(JKRADCommand* command) { OSUnlockMutex(&dvdFile->mMutex2); return bVar1 == true ? command : NULL; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JKRADCommand* JKRDvdAramRipper::callCommand_Async(JKRADCommand* command) { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdAramRipper/callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand.s" -} -#pragma pop -#endif /* 802DADD8-802DAE48 2D5718 0070+00 0/0 1/0 0/0 .text __dt__18JSUFileInputStreamFv */ #pragma push @@ -293,8 +262,6 @@ extern "C" asm void __dt__18JSUFileInputStreamFv() { /* 802DAE48-802DAF1C 2D5788 00D4+00 1/1 0/0 0/0 .text * syncAram__16JKRDvdAramRipperFP12JKRADCommandi */ -// should match when other functions using sDvdAramAsyncList are decompiled -#ifdef NONMATCHING bool JKRDvdAramRipper::syncAram(JKRADCommand* command, int param_1) { JKRDvdFile* dvdFile = command->mDvdFile; OSLockMutex(&dvdFile->mMutex2); @@ -319,16 +286,6 @@ bool JKRDvdAramRipper::syncAram(JKRADCommand* command, int param_1) { OSUnlockMutex(&dvdFile->mMutex2); return true; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JKRDvdAramRipper::syncAram(JKRADCommand* param_0, int param_1) { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdAramRipper/syncAram__16JKRDvdAramRipperFP12JKRADCommandi.s" -} -#pragma pop -#endif /* 802DAF1C-802DAF5C 2D585C 0040+00 1/1 0/0 0/0 .text __ct__12JKRADCommandFv */ JKRADCommand::JKRADCommand() : mLink(this) { @@ -349,7 +306,7 @@ static OSMutex decompMutex; /* 804508D4-804508D8 000354 0004+00 1/1 1/1 0/0 .sdata sSZSBufferSize__16JKRDvdAramRipper */ -SECTION_SDATA u32 JKRDvdAramRipper::sSZSBufferSize = 0x00000400; +u32 JKRDvdAramRipper::sSZSBufferSize = 0x00000400; /* 80451468-8045146C 000968 0004+00 3/3 0/0 0/0 .sbss szpBuf */ static u8* szpBuf; @@ -382,7 +339,7 @@ static u32 srcOffset; static u32 transLeft; /* 80451490-80451494 000990 0004+00 3/3 0/0 0/0 .sbss srcLimit */ -static int srcLimit; +static u8* srcLimit; /* 80451494-80451498 000994 0004+00 3/3 0/0 0/0 .sbss srcFile */ static JKRDvdFile* srcFile; @@ -445,26 +402,157 @@ int JKRDecompressFromDVDToAram(JKRDvdFile* dvdFile, u32 param_1, u32 fileSize, u } /* 802DB160-802DB3E8 2D5AA0 0288+00 1/1 0/0 0/0 .text decompSZS_subroutine__FPUcUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int decompSZS_subroutine(u8* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdAramRipper/decompSZS_subroutine__FPUcUl.s" +static int decompSZS_subroutine(u8* src, u32 dest) { + u32 endAddr; + u8* copySource; + s32 validBitCount; + u32 currCodeByte; + s32 numBytes; + u32 var_r26; + u32 startDest; + + validBitCount = 0; + currCodeByte = 0; + var_r26 = 0; + startDest = dest; + + if (src[0] != 'Y' || src[1] != 'a' || src[2] != 'z' || src[3] != '0') { + return -1; + } + + SYaz0Header* header = (SYaz0Header*)src; + endAddr = dest + (header->length - fileOffset); + if (endAddr > dest + maxDest) { + endAddr = dest + maxDest; + } + + src += 0x10; + do { + if (validBitCount == 0) { + if ((src > srcLimit) && transLeft) { + src = nextSrcData(src); + } + currCodeByte = *src; + validBitCount = 8; + src++; + } + if (currCodeByte & 0x80) { + if (readCount >= fileOffset) { + *(dmaCurrent++) = *src; + dest++; + var_r26++; + if (dmaCurrent == dmaEnd) { + startDest += dmaBufferFlush(startDest); + } + if (dest == endAddr) { + break; + } + } + *(refCurrent++) = *src; + if (refCurrent == refEnd) { + refCurrent = refBuf; + } + src++; + readCount++; + } else { + u32 dist = ((src[0] & 0x0F) << 8) | src[1]; + numBytes = src[0] >> 4; + src += 2; + copySource = refCurrent - dist - 1; + if (copySource < refBuf) { + copySource += refEnd - refBuf; + } + if (numBytes == 0) { + numBytes = *(src++); + numBytes += 0x12; + } else { + numBytes += 2; + } + do { + if (readCount >= fileOffset) { + *(dmaCurrent++) = *copySource; + dest++; + var_r26++; + if (dmaCurrent == dmaEnd) { + startDest += dmaBufferFlush(startDest); + } + if (dest == endAddr) { + break; + } + } + *(refCurrent++) = *copySource; + if (refCurrent == refEnd) { + refCurrent = refBuf; + } + copySource++; + if (copySource == refEnd) { + copySource = refBuf; + } + readCount++; + numBytes--; + } while (numBytes != 0); + } + currCodeByte <<= 1; + validBitCount--; + } while (dest < endAddr); + + dmaBufferFlush(startDest); + *tsPtr = var_r26; + return 0; } -#pragma pop /* 802DB3E8-802DB49C 2D5D28 00B4+00 1/1 0/0 0/0 .text firstSrcData__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm u8* firstSrcData() { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdAramRipper/firstSrcData__Fv.s" +static u8* firstSrcData() { + srcLimit = szpEnd - 0x19; + u8* buffer = szpBuf; + u32 bufSize = szpEnd - buffer; + u32 length = transLeft < bufSize ? transLeft : bufSize; + while (true) { + int result = DVDReadPrio(&srcFile->mFileInfo, buffer, length, 0, 2); + if (result >= 0) { + break; + } + if (JKRDvdAramRipper::errorRetry == 0) { + return NULL; + } + VIWaitForRetrace(); + } + srcOffset += length; + transLeft -= length; + return buffer; } -#pragma pop /* 802DB49C-802DB580 2D5DDC 00E4+00 1/1 0/0 0/0 .text nextSrcData__FPUc */ +// regalloc +#ifdef NONMATCHING +static u8* nextSrcData(u8* src) { + u8* dest; + u32 size = szpEnd - src; + dest = IS_NOT_ALIGNED(size, 0x20) ? szpBuf + 0x20 - (size & (0x20 - 1)) : szpBuf; + memcpy(dest, src, size); + u32 transSize = szpEnd - (dest + size); + if (transSize > transLeft) { + transSize = transLeft; + } + + while (true) { + s32 result = DVDReadPrio(&srcFile->mFileInfo, dest + size, transSize, srcOffset, 2); + if (result >= 0) { + break; + } + if (JKRDvdAramRipper::errorRetry == 0) { + return NULL; + } + VIWaitForRetrace(); + } + srcOffset += transSize; + transLeft -= transSize; + if (transLeft == 0) { + srcLimit = dest + size + transSize; + } + return dest; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -473,38 +561,15 @@ static asm u8* nextSrcData(u8* param_0) { #include "asm/JSystem/JKernel/JKRDvdAramRipper/nextSrcData__FPUc.s" } #pragma pop +#endif /* 802DB580-802DB5E8 2D5EC0 0068+00 1/1 0/0 0/0 .text dmaBufferFlush__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int dmaBufferFlush(u32 param_0) { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdAramRipper/dmaBufferFlush__FUl.s" +static u32 dmaBufferFlush(u32 param_1) { + if (dmaCurrent == dmaBuf) { + return 0; + } + u32 size = ALIGN_NEXT(dmaCurrent - dmaBuf, 0x20); + JKRAramPiece::orderSync(0, (u32)dmaBuf, param_1, size, NULL); + dmaCurrent = dmaBuf; + return size; } -#pragma pop - -/* 802DB5E8-802DB62C 2D5F28 0044+00 0/0 1/0 0/0 .text __sinit_JKRDvdAramRipper_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_JKRDvdAramRipper_cpp(){nofralloc -#include "asm/JSystem/JKernel/JKRDvdAramRipper/__sinit_JKRDvdAramRipper_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x802DB5E8, __sinit_JKRDvdAramRipper_cpp); -#pragma pop - -/* 802DB62C-802DB680 2D5F6C 0054+00 1/1 0/0 0/0 .text __dt__23JSUList<12JKRADCommand>Fv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_802DB62C(void* _this) { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdAramRipper/func_802DB62C.s" -} -#pragma pop diff --git a/libs/JSystem/JKernel/JKRDvdArchive.cpp b/libs/JSystem/JKernel/JKRDvdArchive.cpp index 0ea59d56f6..8588410630 100644 --- a/libs/JSystem/JKernel/JKRDvdArchive.cpp +++ b/libs/JSystem/JKernel/JKRDvdArchive.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRDvdArchive -// - #include "JSystem/JKernel/JKRDvdArchive.h" #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JKernel/JKRDvdFile.h" @@ -14,71 +9,6 @@ #include "dolphin/os.h" #include "global.h" -// -// Forward References: -// - -extern "C" void __ct__13JKRDvdArchiveFlQ210JKRArchive15EMountDirection(); -extern "C" void __dt__13JKRDvdArchiveFv(); -extern "C" void open__13JKRDvdArchiveFl(); -extern "C" void fetchResource__13JKRDvdArchiveFPQ210JKRArchive12SDIFileEntryPUl(); -extern "C" void fetchResource__13JKRDvdArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl(); -extern "C" void fetchResource_subroutine__13JKRDvdArchiveFlUlUlPUcUlii(); -extern "C" void fetchResource_subroutine__13JKRDvdArchiveFlUlUlP7JKRHeapiiPPUc(); -extern "C" void getExpandedResSize__13JKRDvdArchiveCFPCv(); -extern "C" extern char const* const JKRDvdArchive__stringBase0; - -// -// External References: -// - -extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); -extern "C" void alloc__7JKRHeapFUli(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void free__7JKRHeapFPv(); -extern "C" void copyMemory__7JKRHeapFPvPvUl(); -extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void __dl__FPv(); -extern "C" void unmount__13JKRFileLoaderFv(); -extern "C" void becomeCurrent__10JKRArchiveFPCc(); -extern "C" void getResource__10JKRArchiveFPCc(); -extern "C" void getResource__10JKRArchiveFUlPCc(); -extern "C" void readResource__10JKRArchiveFPvUlUlPCc(); -extern "C" void readResource__10JKRArchiveFPvUlPCc(); -extern "C" void removeResourceAll__10JKRArchiveFv(); -extern "C" void removeResource__10JKRArchiveFPv(); -extern "C" void detachResource__10JKRArchiveFPv(); -extern "C" void getResSize__10JKRArchiveCFPCv(); -extern "C" void countFile__10JKRArchiveCFPCc(); -extern "C" void getFirstFile__10JKRArchiveCFPCc(); -extern "C" void __ct__10JKRArchiveFlQ210JKRArchive10EMountMode(); -extern "C" void __dt__10JKRArchiveFv(); -extern "C" void findPtrResource__10JKRArchiveCFPCv(); -extern "C" void setExpandSize__10JKRArchiveFPQ210JKRArchive12SDIFileEntryUl(); -extern "C" void getExpandSize__10JKRArchiveCFPQ210JKRArchive12SDIFileEntry(); -extern "C" void __ct__10JKRDvdFileFl(); -extern "C" void -loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl(); -extern "C" void prepend__10JSUPtrListFP10JSUPtrLink(); -extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); -extern "C" void panic_f__12JUTExceptionFPCciPCce(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 sVolumeList__13JKRFileLoader[12]; -extern "C" u8 sSystemHeap__7JKRHeap[4]; - -// -// Declarations: -// - /* 802D7BF0-802D7C98 2D2530 00A8+00 0/0 1/1 0/0 .text * __ct__13JKRDvdArchiveFlQ210JKRArchive15EMountDirection */ JKRDvdArchive::JKRDvdArchive(s32 entryNum, JKRArchive::EMountDirection mountDirection) @@ -126,7 +56,7 @@ JKRDvdArchive::~JKRDvdArchive() { /* 802D7DB4-802D8050 2D26F4 029C+00 1/1 0/0 0/0 .text open__13JKRDvdArchiveFl */ bool JKRDvdArchive::open(s32 entryNum) { mArcInfoBlock = NULL; - field_0x64 = NULL; + mDataOffset = 0; mNodes = NULL; mFiles = NULL; mStringTable = NULL; @@ -188,7 +118,7 @@ bool JKRDvdArchive::open(s32 entryNum) { memset(mExpandedSize, 0, sizeof(s32) * mArcInfoBlock->num_file_entries); } - field_0x64 = arcHeader->header_length + arcHeader->file_data_offset; + mDataOffset = arcHeader->header_length + arcHeader->file_data_offset; cleanup: if (arcHeader) { @@ -221,7 +151,7 @@ void* JKRDvdArchive::fetchResource(SDIFileEntry* fileEntry, u32* returnSize) { if (!fileEntry->data) { u8* resourcePtr; u32 resourceSize = fetchResource_subroutine( - mEntryNum, this->field_0x64 + fileEntry->data_offset, fileEntry->data_size, mHeap, + mEntryNum, mDataOffset + fileEntry->data_offset, fileEntry->data_size, mHeap, fileCompression, mCompression, &resourcePtr); *returnSize = resourceSize; if (resourceSize == 0) { @@ -246,26 +176,23 @@ void* JKRDvdArchive::fetchResource(SDIFileEntry* fileEntry, u32* returnSize) { /* 802D8168-802D826C 2D2AA8 0104+00 1/0 0/0 0/0 .text * fetchResource__13JKRDvdArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl */ -// ALIGN_PREV(bufferSize, 0x20) is "inlined" in the function parameter. -#ifdef NONMATCHING void* JKRDvdArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* fileEntry, u32* returnSize) { JUT_ASSERT(504, isMounted()); - u32 otherSize; + u32 expandSize; u32 size = fileEntry->data_size; - u32 dstSize = bufferSize; JKRCompression fileCompression = JKRConvertAttrToCompressionType(fileEntry->getAttr()); if (!fileEntry->data) { - dstSize = ALIGN_PREV(bufferSize, 0x20); - size = fetchResource_subroutine(mEntryNum, field_0x64 + fileEntry->data_offset, - fileEntry->data_size, (u8*)buffer, dstSize, fileCompression, + bufferSize = (s32)ALIGN_PREV(bufferSize, 0x20); + size = fetchResource_subroutine(mEntryNum, mDataOffset + fileEntry->data_offset, + fileEntry->data_size, (u8*)buffer, bufferSize, fileCompression, mCompression); } else { if (fileCompression == COMPRESSION_YAZ0) { - otherSize = getExpandSize(fileEntry); - if (otherSize) { - size = otherSize; + expandSize = getExpandSize(fileEntry); + if (expandSize) { + size = expandSize; } } @@ -281,17 +208,6 @@ void* JKRDvdArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* f } return buffer; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* JKRDvdArchive::fetchResource(void* param_0, u32 param_1, - JKRArchive::SDIFileEntry* param_2, u32* param_3) { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdArchive/fetchResource__13JKRDvdArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s" -} -#pragma pop -#endif /* 802D826C-802D8474 2D2BAC 0208+00 1/1 1/1 0/0 .text * fetchResource_subroutine__13JKRDvdArchiveFlUlUlPUcUlii */ @@ -452,7 +368,7 @@ u32 JKRDvdArchive::getExpandedResSize(const void* resource) const { u8* arcHeader = (u8*)ALIGN_NEXT((u32)buffer, 0x20); JKRDvdToMainRam(mEntryNum, arcHeader, EXPAND_SWITCH_UNKNOWN2, sizeof(SArcHeader), NULL, JKRDvdRipper::ALLOC_DIRECTION_FORWARD, - this->field_0x64 + fileEntry->data_offset, NULL, NULL); + mDataOffset + fileEntry->data_offset, NULL, NULL); DCInvalidateRange(arcHeader, sizeof(SArcHeader)); resourceSize = JKRDecompExpandSize(arcHeader); diff --git a/libs/JSystem/JKernel/JKRDvdFile.cpp b/libs/JSystem/JKernel/JKRDvdFile.cpp index 918e0e340b..aeaecc1de2 100644 --- a/libs/JSystem/JKernel/JKRDvdFile.cpp +++ b/libs/JSystem/JKernel/JKRDvdFile.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRDvdFile -// - #include "JSystem/JKernel/JKRDvdFile.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTException.h" diff --git a/libs/JSystem/JKernel/JKRFile.cpp b/libs/JSystem/JKernel/JKRFile.cpp index c9396d6a9c..b0d8cc0dee 100644 --- a/libs/JSystem/JKernel/JKRFile.cpp +++ b/libs/JSystem/JKernel/JKRFile.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRFile -// - #include "JSystem/JKernel/JKRFile.h" #include "dolphin/vi.h" diff --git a/libs/JSystem/JKernel/JKRFileCache.cpp b/libs/JSystem/JKernel/JKRFileCache.cpp index 3d011991bb..e02e30fe5e 100644 --- a/libs/JSystem/JKernel/JKRFileCache.cpp +++ b/libs/JSystem/JKernel/JKRFileCache.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRFileCache -// - #include "JSystem/JKernel/JKRFileCache.h" #include "JSystem/JKernel/JKRDvdFile.h" #include "JSystem/JKernel/JKRFileFinder.h" diff --git a/libs/JSystem/JKernel/JKRFileFinder.cpp b/libs/JSystem/JKernel/JKRFileFinder.cpp index 354bdc4aef..3edfd654d0 100644 --- a/libs/JSystem/JKernel/JKRFileFinder.cpp +++ b/libs/JSystem/JKernel/JKRFileFinder.cpp @@ -1,15 +1,6 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRFileFinder -// - #include "JSystem/JKernel/JKRFileFinder.h" #include "JSystem/JKernel/JKRArchive.h" -// -// Declarations: -// - /* 802D4638-802D46C4 2CEF78 008C+00 0/0 1/1 0/0 .text __ct__12JKRArcFinderFP10JKRArchivell */ JKRArcFinder::JKRArcFinder(JKRArchive* archive, s32 startIndex, s32 numEntries) : JKRFileFinder() { mArchive = archive; diff --git a/libs/JSystem/JKernel/JKRFileLoader.cpp b/libs/JSystem/JKernel/JKRFileLoader.cpp index 43c8b41bae..9418a2e4f4 100644 --- a/libs/JSystem/JKernel/JKRFileLoader.cpp +++ b/libs/JSystem/JKernel/JKRFileLoader.cpp @@ -1,25 +1,8 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRFileLoader -// - #include "JSystem/JKernel/JKRFileLoader.h" #include "string.h" #include "ctype.h" #include "global.h" -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - /* ############################################################################################## */ /* 80451418-80451420 000918 0004+04 2/2 3/3 0/0 .sbss sCurrentVolume__13JKRFileLoader */ JKRFileLoader* JKRFileLoader::sCurrentVolume; diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index b26b0ffe4d..a24a33e94a 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -8,10 +8,6 @@ #include "JSystem/JUtility/JUTException.h" #include "dolphin/os.h" -// -// Declarations: -// - /* 80451370-80451374 000870 0004+00 3/3 44/44 0/0 .sbss sSystemHeap__7JKRHeap */ JKRHeap* JKRHeap::sSystemHeap; diff --git a/libs/JSystem/JKernel/JKRMemArchive.cpp b/libs/JSystem/JKernel/JKRMemArchive.cpp index e664b94e44..7072f6e3fc 100644 --- a/libs/JSystem/JKernel/JKRMemArchive.cpp +++ b/libs/JSystem/JKernel/JKRMemArchive.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRMemArchive -// - #include "JSystem/JKernel/JKRMemArchive.h" #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JKernel/JKRDvdRipper.h" @@ -12,18 +7,6 @@ #include "dolphin/os/OSCache.h" #include "global.h" -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - /* 802D69B8-802D6A6C 2D12F8 00B4+00 0/0 2/2 0/0 .text * __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection */ JKRMemArchive::JKRMemArchive(s32 entryNum, JKRArchive::EMountDirection mountDirection) diff --git a/libs/JSystem/JKernel/JKRSolidHeap.cpp b/libs/JSystem/JKernel/JKRSolidHeap.cpp index 186f9c5dba..bd9eedd63a 100644 --- a/libs/JSystem/JKernel/JKRSolidHeap.cpp +++ b/libs/JSystem/JKernel/JKRSolidHeap.cpp @@ -1,25 +1,8 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRSolidHeap -// - #include "JSystem/JKernel/JKRSolidHeap.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTConsole.h" #include "global.h" -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - /* 802D0A24-802D0AD0 2CB364 00AC+00 0/0 4/4 1/1 .text create__12JKRSolidHeapFUlP7JKRHeapb */ JKRSolidHeap* JKRSolidHeap::create(u32 size, JKRHeap* heap, bool useErrorHandler) { diff --git a/libs/JSystem/JKernel/JKRThread.cpp b/libs/JSystem/JKernel/JKRThread.cpp index 14521e6e66..c310a4fc35 100644 --- a/libs/JSystem/JKernel/JKRThread.cpp +++ b/libs/JSystem/JKernel/JKRThread.cpp @@ -1,8 +1,3 @@ -// -// Generated By: dol2asm -// Translation Unit: JKRThread -// - #include "JSystem/JKernel/JKRThread.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTConsole.h" diff --git a/libs/JSystem/JUtility/JUTConsole.cpp b/libs/JSystem/JUtility/JUTConsole.cpp index 4cbf7c38ef..bb593f9606 100644 --- a/libs/JSystem/JUtility/JUTConsole.cpp +++ b/libs/JSystem/JUtility/JUTConsole.cpp @@ -439,41 +439,43 @@ JUTConsoleManager* JUTConsoleManager::createManager(JKRHeap* pHeap) { /* 802E8240-802E82B0 2E2B80 0070+00 3/3 0/0 0/0 .text * appendConsole__17JUTConsoleManagerFP10JUTConsole */ -#ifdef NONMATCHING void JUTConsoleManager::appendConsole(JUTConsole* console) { JUT_ASSERT(961, sManager != 0 && console != 0); - mLinkList.Push_back(console); + soLink_.Push_back(console); + if (mActiveConsole == NULL) { mActiveConsole = console; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTConsoleManager::appendConsole(JUTConsole* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTConsole/appendConsole__17JUTConsoleManagerFP10JUTConsole.s" -} -#pragma pop -#endif /* 802E82B0-802E8384 2E2BF0 00D4+00 2/2 0/0 0/0 .text * removeConsole__17JUTConsoleManagerFP10JUTConsole */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTConsoleManager::removeConsole(JUTConsole* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTConsole/removeConsole__17JUTConsoleManagerFP10JUTConsole.s" +void JUTConsoleManager::removeConsole(JUTConsole* console) { + JUT_ASSERT(982, sManager != 0 && console != 0); + JUT_ASSERT(985, soLink_.Find( console ) != soLink_.end()); + + if (mActiveConsole == console) { + if (soLink_.size() <= 1) { + mActiveConsole = NULL; + } else { + mActiveConsole = console != &soLink_.back() ? soLink_.Element_toValue(console->mListNode.getNext()) : &soLink_.front(); + } + } + + if (JUTGetWarningConsole() == console) + JUTSetWarningConsole(NULL); + if (JUTGetReportConsole() == console) + JUTSetReportConsole(NULL); + + soLink_.Remove(console); } -#pragma pop /* 802E8384-802E8450 2E2CC4 00CC+00 0/0 1/1 0/0 .text draw__17JUTConsoleManagerCFv */ +// missing stack var, different from tww/pik2 #ifdef NONMATCHING void JUTConsoleManager::draw() const { - JGadget::TLinkList::const_iterator iter = mLinkList.begin(); - JGadget::TLinkList::const_iterator end = mLinkList.end(); + ConsoleList::const_iterator iter = soLink_.begin(); + ConsoleList::const_iterator end = soLink_.end(); for (; iter != end; ++iter) { const JUTConsole* const console = &(*iter); diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp index 6d3d90db1a..f1851675e9 100644 --- a/libs/SSystem/SComponent/c_m3d.cpp +++ b/libs/SSystem/SComponent/c_m3d.cpp @@ -342,54 +342,54 @@ bool cM3d_Cross_AabSph(const cM3dGAab* pAab, const cM3dGSph* pSph) { /* 80268C5C-80268ED4 26359C 0278+00 3/3 0/0 0/0 .text * cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf */ +// matches with literals #ifdef NONMATCHING -int cM3d_Check_LinLin(const cM3dGLin* pLinA, const cM3dGLin* pLinB, f32* pFloatA, f32* pFloatB) { +int cM3d_Check_LinLin(const cM3dGLin* lin_a, const cM3dGLin* lin_b, f32* dst_a, f32* dst_b) { Vec linAVec; Vec linBVec; - pLinA->CalcVec(&linAVec); - pLinB->CalcVec(&linBVec); + lin_a->CalcVec(&linAVec); + lin_b->CalcVec(&linBVec); f32 linALen = VECMag(&linAVec); f32 linBLen = VECMag(&linBVec); if (cM3d_IsZero(linALen) || cM3d_IsZero(linBLen)) { return 1; } else { - f32 invLinALen = /* 1.0 */ FLOAT_LABEL(lit_2273) / linALen; - f32 invLinBLen = /* 1.0 */ FLOAT_LABEL(lit_2273) / linBLen; + f32 invLinALen = 1.0f / linALen; + f32 invLinBLen = 1.0f / linBLen; VECScale(&linAVec, &linAVec, invLinALen); VECScale(&linBVec, &linBVec, invLinBLen); Vec tmp; - VECSubtract(&pLinA->GetStartP(), &pLinB->GetStartP(), &tmp); + VECSubtract(&lin_a->GetStartP(), &lin_b->GetStartP(), &tmp); f32 tmpF = -VECDotProduct(&linAVec, &linBVec); f32 tmpF2 = VECDotProduct(&tmp, &linAVec); VECSquareMag(&tmp); // result not used - f32 tmpF3 = fabsf(/* 1.0 */ FLOAT_LABEL(lit_2273) - (tmpF * tmpF)); + f32 tmpF3 = fabsf(1.0f - (tmpF * tmpF)); if (!cM3d_IsZero(tmpF3)) { f32 tmpF4 = -VECDotProduct(&tmp, &linBVec); - f32 tmpF7 = /* 1.0 */ FLOAT_LABEL(lit_2273) / tmpF3; + f32 tmpF7 = 1.0f / tmpF3; f32 outFloatAtmp = ((tmpF * tmpF4) - tmpF2) * tmpF7; - *pFloatA = outFloatAtmp * invLinALen; + *dst_a = outFloatAtmp * invLinALen; f32 outFloatBtmp = ((tmpF * tmpF2) - tmpF4) * tmpF7; - *pFloatB = outFloatBtmp * invLinBLen; + *dst_b = outFloatBtmp * invLinBLen; return 3; } else { f32 tmpF5 = -tmpF2; - f32 tmpF6 = - /* 0.0 */ FLOAT_LABEL(lit_2256); // would match with literals instead of labels - if (tmpF5 < /* 0.0 */ FLOAT_LABEL(lit_2256) || (tmpF5 > linALen)) { + f32 tmpF6 = 0.0f; + if (tmpF5 < 0.0f || (tmpF5 > linALen)) { tmpF6 = linBLen; tmpF5 = (tmpF6 * tmpF) - tmpF2; } f32 tmpF7 = VECDotProduct(&tmp, &linBVec); - if (tmpF5 < /* 0.0 */ FLOAT_LABEL(lit_2256) || tmpF5 > linALen) { - tmpF5 = /* 0.0 */ FLOAT_LABEL(lit_2256); + if (tmpF5 < 0.0f || tmpF5 > linALen) { + tmpF5 = 0.0f; tmpF6 = tmpF7; } - if (tmpF6 < /* 0.0 */ FLOAT_LABEL(lit_2256) || tmpF6 > linBLen) { + if (tmpF6 < 0.0f || tmpF6 > linBLen) { tmpF5 = linALen; tmpF6 = tmpF7 + (-linALen * tmpF); } - *pFloatA = tmpF5 * invLinALen; - *pFloatB = tmpF6 * invLinBLen; + *dst_a = tmpF5 * invLinALen; + *dst_b = tmpF6 * invLinBLen; return 2; } } @@ -421,33 +421,26 @@ static bool cM3d_CrossInfLineVsInfPlane_proc(f32 pFloatA, f32 pFloatB, const Vec /* 80268F34-80269050 263874 011C+00 3/3 1/1 0/0 .text * cM3d_Cross_LinPla__FPC8cM3dGLinPC8cM3dGPlaP3Vecbb */ +// matches with literals #ifdef NONMATCHING -bool cM3d_Cross_LinPla(const cM3dGLin* pLine, const cM3dGPla* pPlane, Vec* pVecOut, bool pBoolA, - bool pBoolB) { - f32 startVal = pPlane->getPlaneFunc(&pLine->GetStartP()); - f32 endVal = pPlane->getPlaneFunc(&pLine->GetEndP()); - if (startVal * endVal > /* 0.0 */ FLOAT_LABEL(lit_2256)) { - // matches with the literal, but that screws up data - // if (startVal * endVal > 0) { - *pVecOut = pLine->GetEndP(); +bool cM3d_Cross_LinPla(const cM3dGLin* lin, const cM3dGPla* pla, Vec* dst, bool a, bool b) { + f32 startVal = pla->getPlaneFunc(&lin->GetStartP()); + f32 endVal = pla->getPlaneFunc(&lin->GetEndP()); + if (startVal * endVal > 0.0f) { + *dst = lin->GetEnd(); return false; } else { - if (startVal >= /* 0.0 */ FLOAT_LABEL(lit_2256) && - endVal <= /* 0.0 */ FLOAT_LABEL(lit_2256)) - { - // if (startVal >= 0 && endVal <= 0) { - if (pBoolA) { - return cM3d_CrossInfLineVsInfPlane_proc(startVal, endVal, &pLine->GetStartP(), - &pLine->GetEndP(), pVecOut); + if (startVal >= 0.0f && endVal <= 0.0f) { + if (a) { + return cM3d_CrossInfLineVsInfPlane_proc(startVal, endVal, &lin->GetStartP(), &lin->GetEndP(), dst); } } else { - if (pBoolB) { - return cM3d_CrossInfLineVsInfPlane_proc(startVal, endVal, &pLine->GetStartP(), - &pLine->GetEndP(), pVecOut); + if (b) { + return cM3d_CrossInfLineVsInfPlane_proc(startVal, endVal, &lin->GetStartP(), &lin->GetEndP(), dst); } } - *pVecOut = pLine->GetEndP(); - return true; + *dst = lin->GetEnd(); + return false; } } #else diff --git a/obj_files.mk b/obj_files.mk index 560dcff04c..d2aea77e3b 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -1052,6 +1052,7 @@ O_FILES_SYM_ON := \ $(BUILD_DIR)/libs/JSystem/J2DGraph/J2DAnmLoader.o \ $(BUILD_DIR)/libs/JSystem/J2DGraph/J2DPicture.o \ $(BUILD_DIR)/libs/JSystem/JUtility/JUTProcBar.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRAramArchive.o \ $(BUILD_DIR)/libs/Z2AudioLib/Z2AudioArcLoader.o \ $(BUILD_DIR)/src/c/c_dylink.o \ $(BUILD_DIR)/src/d/a/d_a_alink.o \