diff --git a/asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive.s b/asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive.s deleted file mode 100644 index 5ef86752a50..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_802F9B74: -/* 802F9B74 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F9B78 7C 08 02 A6 */ mflr r0 -/* 802F9B7C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F9B80 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F9B84 48 06 86 55 */ bl _savegpr_28 -/* 802F9B88 7C 7C 1B 78 */ mr r28, r3 -/* 802F9B8C 7C 9D 23 78 */ mr r29, r4 -/* 802F9B90 7C BE 2B 78 */ mr r30, r5 -/* 802F9B94 7C DF 33 78 */ mr r31, r6 -/* 802F9B98 4B FF C0 61 */ bl __ct__7J2DPaneFv -/* 802F9B9C 3C 60 80 3D */ lis r3, __vt__9J2DWindow@ha /* 0x803CD108@ha */ -/* 802F9BA0 38 03 D1 08 */ addi r0, r3, __vt__9J2DWindow@l /* 0x803CD108@l */ -/* 802F9BA4 90 1C 00 00 */ stw r0, 0(r28) -/* 802F9BA8 38 00 00 00 */ li r0, 0 -/* 802F9BAC 90 1C 01 00 */ stw r0, 0x100(r28) -/* 802F9BB0 90 1C 01 04 */ stw r0, 0x104(r28) -/* 802F9BB4 90 1C 01 08 */ stw r0, 0x108(r28) -/* 802F9BB8 90 1C 01 0C */ stw r0, 0x10c(r28) -/* 802F9BBC 90 1C 01 10 */ stw r0, 0x110(r28) -/* 802F9BC0 90 1C 01 24 */ stw r0, 0x124(r28) -/* 802F9BC4 38 00 FF FF */ li r0, -1 -/* 802F9BC8 90 1C 01 28 */ stw r0, 0x128(r28) -/* 802F9BCC 90 1C 01 2C */ stw r0, 0x12c(r28) -/* 802F9BD0 90 1C 01 30 */ stw r0, 0x130(r28) -/* 802F9BD4 90 1C 01 34 */ stw r0, 0x134(r28) -/* 802F9BD8 90 1C 01 38 */ stw r0, 0x138(r28) -/* 802F9BDC 90 1C 01 3C */ stw r0, 0x13c(r28) -/* 802F9BE0 7F 83 E3 78 */ mr r3, r28 -/* 802F9BE4 7F A4 EB 78 */ mr r4, r29 -/* 802F9BE8 7F C5 F3 78 */ mr r5, r30 -/* 802F9BEC 7F E6 FB 78 */ mr r6, r31 -/* 802F9BF0 48 00 05 29 */ bl private_readStream__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive -/* 802F9BF4 7F 83 E3 78 */ mr r3, r28 -/* 802F9BF8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F9BFC 48 06 86 29 */ bl _restgpr_28 -/* 802F9C00 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F9C04 7C 08 03 A6 */ mtlr r0 -/* 802F9C08 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F9C0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFv.s b/asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFv.s deleted file mode 100644 index d22a7a483e9..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_802F9A7C: -/* 802F9A7C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802F9A80 7C 08 02 A6 */ mflr r0 -/* 802F9A84 90 01 00 34 */ stw r0, 0x34(r1) -/* 802F9A88 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 802F9A8C 7C 7F 1B 78 */ mr r31, r3 -/* 802F9A90 4B FF C1 69 */ bl __ct__7J2DPaneFv -/* 802F9A94 3C 60 80 3D */ lis r3, __vt__9J2DWindow@ha /* 0x803CD108@ha */ -/* 802F9A98 38 03 D1 08 */ addi r0, r3, __vt__9J2DWindow@l /* 0x803CD108@l */ -/* 802F9A9C 90 1F 00 00 */ stw r0, 0(r31) -/* 802F9AA0 38 60 00 00 */ li r3, 0 -/* 802F9AA4 90 7F 01 00 */ stw r3, 0x100(r31) -/* 802F9AA8 90 7F 01 04 */ stw r3, 0x104(r31) -/* 802F9AAC 90 7F 01 08 */ stw r3, 0x108(r31) -/* 802F9AB0 90 7F 01 0C */ stw r3, 0x10c(r31) -/* 802F9AB4 90 7F 01 10 */ stw r3, 0x110(r31) -/* 802F9AB8 90 7F 01 24 */ stw r3, 0x124(r31) -/* 802F9ABC 38 00 FF FF */ li r0, -1 -/* 802F9AC0 90 1F 01 28 */ stw r0, 0x128(r31) -/* 802F9AC4 90 1F 01 2C */ stw r0, 0x12c(r31) -/* 802F9AC8 90 1F 01 30 */ stw r0, 0x130(r31) -/* 802F9ACC 90 1F 01 34 */ stw r0, 0x134(r31) -/* 802F9AD0 90 1F 01 38 */ stw r0, 0x138(r31) -/* 802F9AD4 90 1F 01 3C */ stw r0, 0x13c(r31) -/* 802F9AD8 98 7F 01 44 */ stb r3, 0x144(r31) -/* 802F9ADC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F9AE0 90 01 00 08 */ stw r0, 8(r1) -/* 802F9AE4 90 01 00 18 */ stw r0, 0x18(r1) -/* 802F9AE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F9AEC 90 01 00 10 */ stw r0, 0x10(r1) -/* 802F9AF0 90 01 00 0C */ stw r0, 0xc(r1) -/* 802F9AF4 7F E3 FB 78 */ mr r3, r31 -/* 802F9AF8 38 81 00 0C */ addi r4, r1, 0xc -/* 802F9AFC 38 A1 00 10 */ addi r5, r1, 0x10 -/* 802F9B00 38 C1 00 14 */ addi r6, r1, 0x14 -/* 802F9B04 38 E1 00 18 */ addi r7, r1, 0x18 -/* 802F9B08 48 00 16 25 */ bl setContentsColor__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor -/* 802F9B0C 38 00 00 00 */ li r0, 0 -/* 802F9B10 90 01 00 20 */ stw r0, 0x20(r1) -/* 802F9B14 88 01 00 20 */ lbz r0, 0x20(r1) -/* 802F9B18 98 1F 01 3C */ stb r0, 0x13c(r31) -/* 802F9B1C 88 01 00 21 */ lbz r0, 0x21(r1) -/* 802F9B20 98 1F 01 3D */ stb r0, 0x13d(r31) -/* 802F9B24 88 01 00 22 */ lbz r0, 0x22(r1) -/* 802F9B28 98 1F 01 3E */ stb r0, 0x13e(r31) -/* 802F9B2C 88 01 00 23 */ lbz r0, 0x23(r1) -/* 802F9B30 98 1F 01 3F */ stb r0, 0x13f(r31) -/* 802F9B34 38 00 FF FF */ li r0, -1 -/* 802F9B38 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802F9B3C 88 01 00 1C */ lbz r0, 0x1c(r1) -/* 802F9B40 98 1F 01 38 */ stb r0, 0x138(r31) -/* 802F9B44 88 01 00 1D */ lbz r0, 0x1d(r1) -/* 802F9B48 98 1F 01 39 */ stb r0, 0x139(r31) -/* 802F9B4C 88 01 00 1E */ lbz r0, 0x1e(r1) -/* 802F9B50 98 1F 01 3A */ stb r0, 0x13a(r31) -/* 802F9B54 88 01 00 1F */ lbz r0, 0x1f(r1) -/* 802F9B58 98 1F 01 3B */ stb r0, 0x13b(r31) -/* 802F9B5C 7F E3 FB 78 */ mr r3, r31 -/* 802F9B60 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 802F9B64 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802F9B68 7C 08 03 A6 */ mtlr r0 -/* 802F9B6C 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F9B70 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/__dt__9J2DWindowFv.s b/asm/JSystem/J2DGraph/J2DWindow/__dt__9J2DWindowFv.s deleted file mode 100644 index a57b10169ab..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/__dt__9J2DWindowFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_802FA880: -/* 802FA880 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802FA884 7C 08 02 A6 */ mflr r0 -/* 802FA888 90 01 00 14 */ stw r0, 0x14(r1) -/* 802FA88C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802FA890 93 C1 00 08 */ stw r30, 8(r1) -/* 802FA894 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802FA898 7C 9F 23 78 */ mr r31, r4 -/* 802FA89C 41 82 00 70 */ beq lbl_802FA90C -/* 802FA8A0 3C 60 80 3D */ lis r3, __vt__9J2DWindow@ha /* 0x803CD108@ha */ -/* 802FA8A4 38 03 D1 08 */ addi r0, r3, __vt__9J2DWindow@l /* 0x803CD108@l */ -/* 802FA8A8 90 1E 00 00 */ stw r0, 0(r30) -/* 802FA8AC 80 7E 01 00 */ lwz r3, 0x100(r30) -/* 802FA8B0 38 80 00 01 */ li r4, 1 -/* 802FA8B4 4B FE 39 81 */ bl __dt__10JUTTextureFv -/* 802FA8B8 80 7E 01 04 */ lwz r3, 0x104(r30) -/* 802FA8BC 38 80 00 01 */ li r4, 1 -/* 802FA8C0 4B FE 39 75 */ bl __dt__10JUTTextureFv -/* 802FA8C4 80 7E 01 08 */ lwz r3, 0x108(r30) -/* 802FA8C8 38 80 00 01 */ li r4, 1 -/* 802FA8CC 4B FE 39 69 */ bl __dt__10JUTTextureFv -/* 802FA8D0 80 7E 01 0C */ lwz r3, 0x10c(r30) -/* 802FA8D4 38 80 00 01 */ li r4, 1 -/* 802FA8D8 4B FE 39 5D */ bl __dt__10JUTTextureFv -/* 802FA8DC 80 7E 01 24 */ lwz r3, 0x124(r30) -/* 802FA8E0 4B FD 44 5D */ bl __dl__FPv -/* 802FA8E4 80 7E 01 10 */ lwz r3, 0x110(r30) -/* 802FA8E8 38 80 00 01 */ li r4, 1 -/* 802FA8EC 4B FE 39 49 */ bl __dt__10JUTTextureFv -/* 802FA8F0 7F C3 F3 78 */ mr r3, r30 -/* 802FA8F4 38 80 00 00 */ li r4, 0 -/* 802FA8F8 4B FF BC 95 */ bl __dt__7J2DPaneFv -/* 802FA8FC 7F E0 07 35 */ extsh. r0, r31 -/* 802FA900 40 81 00 0C */ ble lbl_802FA90C -/* 802FA904 7F C3 F3 78 */ mr r3, r30 -/* 802FA908 4B FD 44 35 */ bl __dl__FPv -lbl_802FA90C: -/* 802FA90C 7F C3 F3 78 */ mr r3, r30 -/* 802FA910 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802FA914 83 C1 00 08 */ lwz r30, 8(r1) -/* 802FA918 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802FA91C 7C 08 03 A6 */ mtlr r0 -/* 802FA920 38 21 00 10 */ addi r1, r1, 0x10 -/* 802FA924 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/drawSelf__9J2DWindowFff.s b/asm/JSystem/J2DGraph/J2DWindow/drawSelf__9J2DWindowFff.s deleted file mode 100644 index 9928f739e54..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/drawSelf__9J2DWindowFff.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802FB1D8: -/* 802FB1D8 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802FB1DC 7C 08 02 A6 */ mflr r0 -/* 802FB1E0 90 01 00 54 */ stw r0, 0x54(r1) -/* 802FB1E4 DB E1 00 48 */ stfd f31, 0x48(r1) -/* 802FB1E8 DB C1 00 40 */ stfd f30, 0x40(r1) -/* 802FB1EC 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 802FB1F0 7C 7F 1B 78 */ mr r31, r3 -/* 802FB1F4 FF C0 08 90 */ fmr f30, f1 -/* 802FB1F8 FF E0 10 90 */ fmr f31, f2 -/* 802FB1FC 38 61 00 08 */ addi r3, r1, 8 -/* 802FB200 48 04 B2 85 */ bl PSMTXIdentity -/* 802FB204 7F E3 FB 78 */ mr r3, r31 -/* 802FB208 FC 20 F0 90 */ fmr f1, f30 -/* 802FB20C FC 40 F8 90 */ fmr f2, f31 -/* 802FB210 38 81 00 08 */ addi r4, r1, 8 -/* 802FB214 81 9F 00 00 */ lwz r12, 0(r31) -/* 802FB218 81 8C 00 38 */ lwz r12, 0x38(r12) -/* 802FB21C 7D 89 03 A6 */ mtctr r12 -/* 802FB220 4E 80 04 21 */ bctrl -/* 802FB224 CB E1 00 48 */ lfd f31, 0x48(r1) -/* 802FB228 CB C1 00 40 */ lfd f30, 0x40(r1) -/* 802FB22C 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 802FB230 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802FB234 7C 08 03 A6 */ mtlr r0 -/* 802FB238 38 21 00 50 */ addi r1, r1, 0x50 -/* 802FB23C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/draw__9J2DWindowFffff.s b/asm/JSystem/J2DGraph/J2DWindow/draw__9J2DWindowFffff.s deleted file mode 100644 index 7fb661e824e..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/draw__9J2DWindowFffff.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802FBFA0: -/* 802FBFA0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802FBFA4 7C 08 02 A6 */ mflr r0 -/* 802FBFA8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802FBFAC D0 21 00 08 */ stfs f1, 8(r1) -/* 802FBFB0 D0 41 00 0C */ stfs f2, 0xc(r1) -/* 802FBFB4 EC 01 18 2A */ fadds f0, f1, f3 -/* 802FBFB8 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802FBFBC EC 02 20 2A */ fadds f0, f2, f4 -/* 802FBFC0 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 802FBFC4 38 81 00 08 */ addi r4, r1, 8 -/* 802FBFC8 81 83 00 00 */ lwz r12, 0(r3) -/* 802FBFCC 81 8C 00 94 */ lwz r12, 0x94(r12) -/* 802FBFD0 7D 89 03 A6 */ mtctr r12 -/* 802FBFD4 4E 80 04 21 */ bctrl -/* 802FBFD8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802FBFDC 7C 08 03 A6 */ mtlr r0 -/* 802FBFE0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802FBFE4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/func_802FB12C.s b/asm/JSystem/J2DGraph/J2DWindow/func_802FB12C.s deleted file mode 100644 index ace5ec88a8c..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/func_802FB12C.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_802FB12C: -/* 802FB12C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802FB130 80 04 00 00 */ lwz r0, 0(r4) -/* 802FB134 90 01 00 14 */ stw r0, 0x14(r1) -/* 802FB138 88 01 00 14 */ lbz r0, 0x14(r1) -/* 802FB13C 98 03 01 28 */ stb r0, 0x128(r3) -/* 802FB140 88 01 00 15 */ lbz r0, 0x15(r1) -/* 802FB144 98 03 01 29 */ stb r0, 0x129(r3) -/* 802FB148 88 01 00 16 */ lbz r0, 0x16(r1) -/* 802FB14C 98 03 01 2A */ stb r0, 0x12a(r3) -/* 802FB150 88 01 00 17 */ lbz r0, 0x17(r1) -/* 802FB154 98 03 01 2B */ stb r0, 0x12b(r3) -/* 802FB158 80 05 00 00 */ lwz r0, 0(r5) -/* 802FB15C 90 01 00 10 */ stw r0, 0x10(r1) -/* 802FB160 88 01 00 10 */ lbz r0, 0x10(r1) -/* 802FB164 98 03 01 2C */ stb r0, 0x12c(r3) -/* 802FB168 88 01 00 11 */ lbz r0, 0x11(r1) -/* 802FB16C 98 03 01 2D */ stb r0, 0x12d(r3) -/* 802FB170 88 01 00 12 */ lbz r0, 0x12(r1) -/* 802FB174 98 03 01 2E */ stb r0, 0x12e(r3) -/* 802FB178 88 01 00 13 */ lbz r0, 0x13(r1) -/* 802FB17C 98 03 01 2F */ stb r0, 0x12f(r3) -/* 802FB180 80 06 00 00 */ lwz r0, 0(r6) -/* 802FB184 90 01 00 0C */ stw r0, 0xc(r1) -/* 802FB188 88 01 00 0C */ lbz r0, 0xc(r1) -/* 802FB18C 98 03 01 30 */ stb r0, 0x130(r3) -/* 802FB190 88 01 00 0D */ lbz r0, 0xd(r1) -/* 802FB194 98 03 01 31 */ stb r0, 0x131(r3) -/* 802FB198 88 01 00 0E */ lbz r0, 0xe(r1) -/* 802FB19C 98 03 01 32 */ stb r0, 0x132(r3) -/* 802FB1A0 88 01 00 0F */ lbz r0, 0xf(r1) -/* 802FB1A4 98 03 01 33 */ stb r0, 0x133(r3) -/* 802FB1A8 80 07 00 00 */ lwz r0, 0(r7) -/* 802FB1AC 90 01 00 08 */ stw r0, 8(r1) -/* 802FB1B0 88 01 00 08 */ lbz r0, 8(r1) -/* 802FB1B4 98 03 01 34 */ stb r0, 0x134(r3) -/* 802FB1B8 88 01 00 09 */ lbz r0, 9(r1) -/* 802FB1BC 98 03 01 35 */ stb r0, 0x135(r3) -/* 802FB1C0 88 01 00 0A */ lbz r0, 0xa(r1) -/* 802FB1C4 98 03 01 36 */ stb r0, 0x136(r3) -/* 802FB1C8 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802FB1CC 98 03 01 37 */ stb r0, 0x137(r3) -/* 802FB1D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802FB1D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/getContentsTexture__9J2DWindowCFUc.s b/asm/JSystem/J2DGraph/J2DWindow/getContentsTexture__9J2DWindowCFUc.s deleted file mode 100644 index d31f212d08e..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/getContentsTexture__9J2DWindowCFUc.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802FBFE8: -/* 802FBFE8 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802FBFEC 41 82 00 0C */ beq lbl_802FBFF8 -/* 802FBFF0 38 60 00 00 */ li r3, 0 -/* 802FBFF4 4E 80 00 20 */ blr -lbl_802FBFF8: -/* 802FBFF8 80 63 01 10 */ lwz r3, 0x110(r3) -/* 802FBFFC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/getFrameTexture__9J2DWindowCFUcUc.s b/asm/JSystem/J2DGraph/J2DWindow/getFrameTexture__9J2DWindowCFUcUc.s deleted file mode 100644 index ac5b619b4c4..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/getFrameTexture__9J2DWindowCFUcUc.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_802FBE60: -/* 802FBE60 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802FBE64 3C C0 80 3A */ lis r6, lit_3028@ha /* 0x803A1C30@ha */ -/* 802FBE68 38 E6 1C 30 */ addi r7, r6, lit_3028@l /* 0x803A1C30@l */ -/* 802FBE6C 80 C7 00 00 */ lwz r6, 0(r7) -/* 802FBE70 80 07 00 04 */ lwz r0, 4(r7) -/* 802FBE74 90 C1 00 08 */ stw r6, 8(r1) -/* 802FBE78 90 01 00 0C */ stw r0, 0xc(r1) -/* 802FBE7C 80 C7 00 08 */ lwz r6, 8(r7) -/* 802FBE80 80 07 00 0C */ lwz r0, 0xc(r7) -/* 802FBE84 90 C1 00 10 */ stw r6, 0x10(r1) -/* 802FBE88 90 01 00 14 */ stw r0, 0x14(r1) -/* 802FBE8C 80 03 01 00 */ lwz r0, 0x100(r3) -/* 802FBE90 90 01 00 08 */ stw r0, 8(r1) -/* 802FBE94 80 03 01 04 */ lwz r0, 0x104(r3) -/* 802FBE98 90 01 00 0C */ stw r0, 0xc(r1) -/* 802FBE9C 80 03 01 08 */ lwz r0, 0x108(r3) -/* 802FBEA0 90 01 00 10 */ stw r0, 0x10(r1) -/* 802FBEA4 80 03 01 0C */ lwz r0, 0x10c(r3) -/* 802FBEA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802FBEAC 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802FBEB0 28 00 00 04 */ cmplwi r0, 4 -/* 802FBEB4 40 80 00 0C */ bge lbl_802FBEC0 -/* 802FBEB8 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 802FBEBC 41 82 00 0C */ beq lbl_802FBEC8 -lbl_802FBEC0: -/* 802FBEC0 38 60 00 00 */ li r3, 0 -/* 802FBEC4 48 00 00 10 */ b lbl_802FBED4 -lbl_802FBEC8: -/* 802FBEC8 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d -/* 802FBECC 38 61 00 08 */ addi r3, r1, 8 -/* 802FBED0 7C 63 00 2E */ lwzx r3, r3, r0 -lbl_802FBED4: -/* 802FBED4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802FBED8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/getMaterial__9J2DWindowCFRQ29J2DWindow9TMaterial.s b/asm/JSystem/J2DGraph/J2DWindow/getMaterial__9J2DWindowCFRQ29J2DWindow9TMaterial.s deleted file mode 100644 index baeb32e1878..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/getMaterial__9J2DWindowCFRQ29J2DWindow9TMaterial.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802FC000: -/* 802FC000 38 00 00 00 */ li r0, 0 -/* 802FC004 90 04 00 00 */ stw r0, 0(r4) -/* 802FC008 90 04 00 04 */ stw r0, 4(r4) -/* 802FC00C 90 04 00 08 */ stw r0, 8(r4) -/* 802FC010 90 04 00 0C */ stw r0, 0xc(r4) -/* 802FC014 90 04 00 10 */ stw r0, 0x10(r4) -/* 802FC018 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResFONT.s b/asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResFONT.s deleted file mode 100644 index 797cd8f8ec5..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResFONT.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802FC02C: -/* 802FC02C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802FC030 7C 08 02 A6 */ mflr r0 -/* 802FC034 90 01 00 14 */ stw r0, 0x14(r1) -/* 802FC038 4B FF B4 81 */ bl isUsed__7J2DPaneFPC7ResFONT -/* 802FC03C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802FC040 7C 08 03 A6 */ mtlr r0 -/* 802FC044 38 21 00 10 */ addi r1, r1, 0x10 -/* 802FC048 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResTIMG.s b/asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResTIMG.s deleted file mode 100644 index 7a5e3288433..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResTIMG.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_802FBEDC: -/* 802FBEDC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802FBEE0 7C 08 02 A6 */ mflr r0 -/* 802FBEE4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802FBEE8 38 E1 00 04 */ addi r7, r1, 4 -/* 802FBEEC 3C A0 80 3A */ lis r5, lit_3037@ha /* 0x803A1C40@ha */ -/* 802FBEF0 38 A5 1C 40 */ addi r5, r5, lit_3037@l /* 0x803A1C40@l */ -/* 802FBEF4 38 C5 FF FC */ addi r6, r5, -4 -/* 802FBEF8 38 00 00 02 */ li r0, 2 -/* 802FBEFC 7C 09 03 A6 */ mtctr r0 -lbl_802FBF00: -/* 802FBF00 80 A6 00 04 */ lwz r5, 4(r6) -/* 802FBF04 84 06 00 08 */ lwzu r0, 8(r6) -/* 802FBF08 90 A7 00 04 */ stw r5, 4(r7) -/* 802FBF0C 94 07 00 08 */ stwu r0, 8(r7) -/* 802FBF10 42 00 FF F0 */ bdnz lbl_802FBF00 -/* 802FBF14 80 06 00 04 */ lwz r0, 4(r6) -/* 802FBF18 90 07 00 04 */ stw r0, 4(r7) -/* 802FBF1C 80 03 01 00 */ lwz r0, 0x100(r3) -/* 802FBF20 90 01 00 08 */ stw r0, 8(r1) -/* 802FBF24 80 03 01 04 */ lwz r0, 0x104(r3) -/* 802FBF28 90 01 00 0C */ stw r0, 0xc(r1) -/* 802FBF2C 80 03 01 08 */ lwz r0, 0x108(r3) -/* 802FBF30 90 01 00 10 */ stw r0, 0x10(r1) -/* 802FBF34 80 03 01 0C */ lwz r0, 0x10c(r3) -/* 802FBF38 90 01 00 14 */ stw r0, 0x14(r1) -/* 802FBF3C 80 03 01 10 */ lwz r0, 0x110(r3) -/* 802FBF40 90 01 00 18 */ stw r0, 0x18(r1) -/* 802FBF44 38 E0 00 00 */ li r7, 0 -/* 802FBF48 38 A1 00 08 */ addi r5, r1, 8 -/* 802FBF4C 48 00 00 2C */ b lbl_802FBF78 -lbl_802FBF50: -/* 802FBF50 54 E0 15 BA */ rlwinm r0, r7, 2, 0x16, 0x1d -/* 802FBF54 7C C5 00 2E */ lwzx r6, r5, r0 -/* 802FBF58 28 06 00 00 */ cmplwi r6, 0 -/* 802FBF5C 41 82 00 18 */ beq lbl_802FBF74 -/* 802FBF60 80 06 00 20 */ lwz r0, 0x20(r6) -/* 802FBF64 7C 00 20 40 */ cmplw r0, r4 -/* 802FBF68 40 82 00 0C */ bne lbl_802FBF74 -/* 802FBF6C 38 60 00 01 */ li r3, 1 -/* 802FBF70 48 00 00 18 */ b lbl_802FBF88 -lbl_802FBF74: -/* 802FBF74 38 E7 00 01 */ addi r7, r7, 1 -lbl_802FBF78: -/* 802FBF78 54 E0 06 3E */ clrlwi r0, r7, 0x18 -/* 802FBF7C 28 00 00 05 */ cmplwi r0, 5 -/* 802FBF80 41 80 FF D0 */ blt lbl_802FBF50 -/* 802FBF84 4B FF B4 AD */ bl isUsed__7J2DPaneFPC7ResTIMG -lbl_802FBF88: -/* 802FBF88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802FBF8C 7C 08 03 A6 */ mtlr r0 -/* 802FBF90 38 21 00 20 */ addi r1, r1, 0x20 -/* 802FBF94 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/resize__9J2DWindowFff.s b/asm/JSystem/J2DGraph/J2DWindow/resize__9J2DWindowFff.s deleted file mode 100644 index 8d7f78ff8fe..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/resize__9J2DWindowFff.s +++ /dev/null @@ -1,79 +0,0 @@ -lbl_802FB000: -/* 802FB000 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802FB004 7C 08 02 A6 */ mflr r0 -/* 802FB008 90 01 00 54 */ stw r0, 0x54(r1) -/* 802FB00C DB E1 00 40 */ stfd f31, 0x40(r1) -/* 802FB010 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 802FB014 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 802FB018 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 802FB01C DB A1 00 20 */ stfd f29, 0x20(r1) -/* 802FB020 F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */ -/* 802FB024 DB 81 00 10 */ stfd f28, 0x10(r1) -/* 802FB028 F3 81 00 18 */ psq_st f28, 24(r1), 0, 0 /* qr0 */ -/* 802FB02C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802FB030 7C 7F 1B 78 */ mr r31, r3 -/* 802FB034 FF 80 08 90 */ fmr f28, f1 -/* 802FB038 FF A0 10 90 */ fmr f29, f2 -/* 802FB03C C0 63 00 28 */ lfs f3, 0x28(r3) -/* 802FB040 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802FB044 EF E3 00 28 */ fsubs f31, f3, f0 -/* 802FB048 C0 63 00 2C */ lfs f3, 0x2c(r3) -/* 802FB04C C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802FB050 EF C3 00 28 */ fsubs f30, f3, f0 -/* 802FB054 4B FF BF A5 */ bl resize__7J2DPaneFff -/* 802FB058 C0 1F 01 1C */ lfs f0, 0x11c(r31) -/* 802FB05C EF FC F8 28 */ fsubs f31, f28, f31 -/* 802FB060 EC 00 F8 2A */ fadds f0, f0, f31 -/* 802FB064 D0 1F 01 1C */ stfs f0, 0x11c(r31) -/* 802FB068 C0 1F 01 20 */ lfs f0, 0x120(r31) -/* 802FB06C EF DD F0 28 */ fsubs f30, f29, f30 -/* 802FB070 EC 00 F0 2A */ fadds f0, f0, f30 -/* 802FB074 D0 1F 01 20 */ stfs f0, 0x120(r31) -/* 802FB078 83 FF 00 DC */ lwz r31, 0xdc(r31) -/* 802FB07C 28 1F 00 00 */ cmplwi r31, 0 -/* 802FB080 41 82 00 70 */ beq lbl_802FB0F0 -/* 802FB084 3B FF FF F4 */ addi r31, r31, -12 -/* 802FB088 48 00 00 68 */ b lbl_802FB0F0 -lbl_802FB08C: -/* 802FB08C 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 802FB090 81 83 00 00 */ lwz r12, 0(r3) -/* 802FB094 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802FB098 7D 89 03 A6 */ mtctr r12 -/* 802FB09C 4E 80 04 21 */ bctrl -/* 802FB0A0 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 802FB0A4 28 00 00 13 */ cmplwi r0, 0x13 -/* 802FB0A8 40 82 00 38 */ bne lbl_802FB0E0 -/* 802FB0AC 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 802FB0B0 88 03 00 B5 */ lbz r0, 0xb5(r3) -/* 802FB0B4 28 00 00 00 */ cmplwi r0, 0 -/* 802FB0B8 41 82 00 28 */ beq lbl_802FB0E0 -/* 802FB0BC C0 23 00 28 */ lfs f1, 0x28(r3) -/* 802FB0C0 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 802FB0C4 EC 41 00 28 */ fsubs f2, f1, f0 -/* 802FB0C8 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 802FB0CC C0 03 00 24 */ lfs f0, 0x24(r3) -/* 802FB0D0 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802FB0D4 EC 3F 10 2A */ fadds f1, f31, f2 -/* 802FB0D8 EC 5E 00 2A */ fadds f2, f30, f0 -/* 802FB0DC 4B FF BF 1D */ bl resize__7J2DPaneFff -lbl_802FB0E0: -/* 802FB0E0 83 FF 00 18 */ lwz r31, 0x18(r31) -/* 802FB0E4 28 1F 00 00 */ cmplwi r31, 0 -/* 802FB0E8 41 82 00 08 */ beq lbl_802FB0F0 -/* 802FB0EC 3B FF FF F4 */ addi r31, r31, -12 -lbl_802FB0F0: -/* 802FB0F0 28 1F 00 00 */ cmplwi r31, 0 -/* 802FB0F4 40 82 FF 98 */ bne lbl_802FB08C -/* 802FB0F8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 802FB0FC CB E1 00 40 */ lfd f31, 0x40(r1) -/* 802FB100 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 802FB104 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 802FB108 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */ -/* 802FB10C CB A1 00 20 */ lfd f29, 0x20(r1) -/* 802FB110 E3 81 00 18 */ psq_l f28, 24(r1), 0, 0 /* qr0 */ -/* 802FB114 CB 81 00 10 */ lfd f28, 0x10(r1) -/* 802FB118 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802FB11C 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802FB120 7C 08 03 A6 */ mtlr r0 -/* 802FB124 38 21 00 50 */ addi r1, r1, 0x50 -/* 802FB128 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DWindow/setTevMode__9J2DWindowFP10JUTTextureQ28JUtility6TColorQ28JUtility6TColor.s b/asm/JSystem/J2DGraph/J2DWindow/setTevMode__9J2DWindowFP10JUTTextureQ28JUtility6TColorQ28JUtility6TColor.s deleted file mode 100644 index 08336a71740..00000000000 --- a/asm/JSystem/J2DGraph/J2DWindow/setTevMode__9J2DWindowFP10JUTTextureQ28JUtility6TColorQ28JUtility6TColor.s +++ /dev/null @@ -1,187 +0,0 @@ -lbl_802FBB90: -/* 802FBB90 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802FBB94 7C 08 02 A6 */ mflr r0 -/* 802FBB98 90 01 00 34 */ stw r0, 0x34(r1) -/* 802FBB9C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802FBBA0 48 06 66 3D */ bl _savegpr_29 -/* 802FBBA4 7C 9D 23 78 */ mr r29, r4 -/* 802FBBA8 7C BE 2B 78 */ mr r30, r5 -/* 802FBBAC 7C DF 33 78 */ mr r31, r6 -/* 802FBBB0 80 05 00 00 */ lwz r0, 0(r5) -/* 802FBBB4 28 00 00 00 */ cmplwi r0, 0 -/* 802FBBB8 40 82 00 F4 */ bne lbl_802FBCAC -/* 802FBBBC 80 7F 00 00 */ lwz r3, 0(r31) -/* 802FBBC0 3C 03 00 01 */ addis r0, r3, 1 -/* 802FBBC4 28 00 FF FF */ cmplwi r0, 0xffff -/* 802FBBC8 40 82 00 E4 */ bne lbl_802FBCAC -/* 802FBBCC 38 60 00 00 */ li r3, 0 -/* 802FBBD0 38 80 00 00 */ li r4, 0 -/* 802FBBD4 38 A0 00 00 */ li r5, 0 -/* 802FBBD8 38 C0 00 04 */ li r6, 4 -/* 802FBBDC 48 06 3B 19 */ bl GXSetTevOrder -/* 802FBBE0 38 60 00 00 */ li r3, 0 -/* 802FBBE4 38 80 00 0F */ li r4, 0xf -/* 802FBBE8 38 A0 00 08 */ li r5, 8 -/* 802FBBEC 38 C0 00 0A */ li r6, 0xa -/* 802FBBF0 38 E0 00 0F */ li r7, 0xf -/* 802FBBF4 48 06 36 31 */ bl GXSetTevColorIn -/* 802FBBF8 80 7D 00 20 */ lwz r3, 0x20(r29) -/* 802FBBFC 88 03 00 01 */ lbz r0, 1(r3) -/* 802FBC00 2C 00 00 00 */ cmpwi r0, 0 -/* 802FBC04 41 82 00 20 */ beq lbl_802FBC24 -/* 802FBC08 38 60 00 00 */ li r3, 0 -/* 802FBC0C 38 80 00 07 */ li r4, 7 -/* 802FBC10 38 A0 00 04 */ li r5, 4 -/* 802FBC14 38 C0 00 05 */ li r6, 5 -/* 802FBC18 38 E0 00 07 */ li r7, 7 -/* 802FBC1C 48 06 36 4D */ bl GXSetTevAlphaIn -/* 802FBC20 48 00 00 34 */ b lbl_802FBC54 -lbl_802FBC24: -/* 802FBC24 38 00 FF FF */ li r0, -1 -/* 802FBC28 90 01 00 18 */ stw r0, 0x18(r1) -/* 802FBC2C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802FBC30 38 60 00 03 */ li r3, 3 -/* 802FBC34 38 81 00 1C */ addi r4, r1, 0x1c -/* 802FBC38 48 06 37 45 */ bl GXSetTevColor -/* 802FBC3C 38 60 00 00 */ li r3, 0 -/* 802FBC40 38 80 00 07 */ li r4, 7 -/* 802FBC44 38 A0 00 03 */ li r5, 3 -/* 802FBC48 38 C0 00 05 */ li r6, 5 -/* 802FBC4C 38 E0 00 07 */ li r7, 7 -/* 802FBC50 48 06 36 19 */ bl GXSetTevAlphaIn -lbl_802FBC54: -/* 802FBC54 38 60 00 00 */ li r3, 0 -/* 802FBC58 38 80 00 00 */ li r4, 0 -/* 802FBC5C 38 A0 00 00 */ li r5, 0 -/* 802FBC60 38 C0 00 00 */ li r6, 0 -/* 802FBC64 38 E0 00 01 */ li r7, 1 -/* 802FBC68 39 00 00 00 */ li r8, 0 -/* 802FBC6C 48 06 36 41 */ bl GXSetTevColorOp -/* 802FBC70 38 60 00 00 */ li r3, 0 -/* 802FBC74 38 80 00 00 */ li r4, 0 -/* 802FBC78 38 A0 00 00 */ li r5, 0 -/* 802FBC7C 38 C0 00 00 */ li r6, 0 -/* 802FBC80 38 E0 00 01 */ li r7, 1 -/* 802FBC84 39 00 00 00 */ li r8, 0 -/* 802FBC88 48 06 36 8D */ bl GXSetTevAlphaOp -/* 802FBC8C 38 60 00 01 */ li r3, 1 -/* 802FBC90 48 06 3C 01 */ bl GXSetNumTevStages -/* 802FBC94 38 60 00 01 */ li r3, 1 -/* 802FBC98 38 80 00 04 */ li r4, 4 -/* 802FBC9C 38 A0 00 05 */ li r5, 5 -/* 802FBCA0 38 C0 00 0F */ li r6, 0xf -/* 802FBCA4 48 06 3F 4D */ bl GXSetBlendMode -/* 802FBCA8 48 00 01 70 */ b lbl_802FBE18 -lbl_802FBCAC: -/* 802FBCAC 38 60 00 00 */ li r3, 0 -/* 802FBCB0 38 80 00 00 */ li r4, 0 -/* 802FBCB4 38 A0 00 00 */ li r5, 0 -/* 802FBCB8 38 C0 00 FF */ li r6, 0xff -/* 802FBCBC 48 06 3A 39 */ bl GXSetTevOrder -/* 802FBCC0 80 1E 00 00 */ lwz r0, 0(r30) -/* 802FBCC4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802FBCC8 38 60 00 01 */ li r3, 1 -/* 802FBCCC 38 81 00 14 */ addi r4, r1, 0x14 -/* 802FBCD0 48 06 36 AD */ bl GXSetTevColor -/* 802FBCD4 80 1F 00 00 */ lwz r0, 0(r31) -/* 802FBCD8 90 01 00 10 */ stw r0, 0x10(r1) -/* 802FBCDC 38 60 00 02 */ li r3, 2 -/* 802FBCE0 38 81 00 10 */ addi r4, r1, 0x10 -/* 802FBCE4 48 06 36 99 */ bl GXSetTevColor -/* 802FBCE8 38 60 00 00 */ li r3, 0 -/* 802FBCEC 38 80 00 02 */ li r4, 2 -/* 802FBCF0 38 A0 00 04 */ li r5, 4 -/* 802FBCF4 38 C0 00 08 */ li r6, 8 -/* 802FBCF8 38 E0 00 0F */ li r7, 0xf -/* 802FBCFC 48 06 35 29 */ bl GXSetTevColorIn -/* 802FBD00 80 7D 00 20 */ lwz r3, 0x20(r29) -/* 802FBD04 88 03 00 01 */ lbz r0, 1(r3) -/* 802FBD08 2C 00 00 00 */ cmpwi r0, 0 -/* 802FBD0C 41 82 00 20 */ beq lbl_802FBD2C -/* 802FBD10 38 60 00 00 */ li r3, 0 -/* 802FBD14 38 80 00 01 */ li r4, 1 -/* 802FBD18 38 A0 00 02 */ li r5, 2 -/* 802FBD1C 38 C0 00 04 */ li r6, 4 -/* 802FBD20 38 E0 00 07 */ li r7, 7 -/* 802FBD24 48 06 35 45 */ bl GXSetTevAlphaIn -/* 802FBD28 48 00 00 34 */ b lbl_802FBD5C -lbl_802FBD2C: -/* 802FBD2C 38 00 FF FF */ li r0, -1 -/* 802FBD30 90 01 00 08 */ stw r0, 8(r1) -/* 802FBD34 90 01 00 0C */ stw r0, 0xc(r1) -/* 802FBD38 38 60 00 03 */ li r3, 3 -/* 802FBD3C 38 81 00 0C */ addi r4, r1, 0xc -/* 802FBD40 48 06 36 3D */ bl GXSetTevColor -/* 802FBD44 38 60 00 00 */ li r3, 0 -/* 802FBD48 38 80 00 01 */ li r4, 1 -/* 802FBD4C 38 A0 00 02 */ li r5, 2 -/* 802FBD50 38 C0 00 03 */ li r6, 3 -/* 802FBD54 38 E0 00 07 */ li r7, 7 -/* 802FBD58 48 06 35 11 */ bl GXSetTevAlphaIn -lbl_802FBD5C: -/* 802FBD5C 38 60 00 00 */ li r3, 0 -/* 802FBD60 38 80 00 00 */ li r4, 0 -/* 802FBD64 38 A0 00 00 */ li r5, 0 -/* 802FBD68 38 C0 00 00 */ li r6, 0 -/* 802FBD6C 38 E0 00 01 */ li r7, 1 -/* 802FBD70 39 00 00 00 */ li r8, 0 -/* 802FBD74 48 06 35 39 */ bl GXSetTevColorOp -/* 802FBD78 38 60 00 00 */ li r3, 0 -/* 802FBD7C 38 80 00 00 */ li r4, 0 -/* 802FBD80 38 A0 00 00 */ li r5, 0 -/* 802FBD84 38 C0 00 00 */ li r6, 0 -/* 802FBD88 38 E0 00 01 */ li r7, 1 -/* 802FBD8C 39 00 00 00 */ li r8, 0 -/* 802FBD90 48 06 35 85 */ bl GXSetTevAlphaOp -/* 802FBD94 38 60 00 01 */ li r3, 1 -/* 802FBD98 38 80 00 FF */ li r4, 0xff -/* 802FBD9C 38 A0 00 FF */ li r5, 0xff -/* 802FBDA0 38 C0 00 04 */ li r6, 4 -/* 802FBDA4 48 06 39 51 */ bl GXSetTevOrder -/* 802FBDA8 38 60 00 01 */ li r3, 1 -/* 802FBDAC 38 80 00 0F */ li r4, 0xf -/* 802FBDB0 38 A0 00 00 */ li r5, 0 -/* 802FBDB4 38 C0 00 0A */ li r6, 0xa -/* 802FBDB8 38 E0 00 0F */ li r7, 0xf -/* 802FBDBC 48 06 34 69 */ bl GXSetTevColorIn -/* 802FBDC0 38 60 00 01 */ li r3, 1 -/* 802FBDC4 38 80 00 07 */ li r4, 7 -/* 802FBDC8 38 A0 00 00 */ li r5, 0 -/* 802FBDCC 38 C0 00 05 */ li r6, 5 -/* 802FBDD0 38 E0 00 07 */ li r7, 7 -/* 802FBDD4 48 06 34 95 */ bl GXSetTevAlphaIn -/* 802FBDD8 38 60 00 01 */ li r3, 1 -/* 802FBDDC 38 80 00 00 */ li r4, 0 -/* 802FBDE0 38 A0 00 00 */ li r5, 0 -/* 802FBDE4 38 C0 00 00 */ li r6, 0 -/* 802FBDE8 38 E0 00 01 */ li r7, 1 -/* 802FBDEC 39 00 00 00 */ li r8, 0 -/* 802FBDF0 48 06 34 BD */ bl GXSetTevColorOp -/* 802FBDF4 38 60 00 01 */ li r3, 1 -/* 802FBDF8 38 80 00 00 */ li r4, 0 -/* 802FBDFC 38 A0 00 00 */ li r5, 0 -/* 802FBE00 38 C0 00 00 */ li r6, 0 -/* 802FBE04 38 E0 00 01 */ li r7, 1 -/* 802FBE08 39 00 00 00 */ li r8, 0 -/* 802FBE0C 48 06 35 09 */ bl GXSetTevAlphaOp -/* 802FBE10 38 60 00 02 */ li r3, 2 -/* 802FBE14 48 06 3A 7D */ bl GXSetNumTevStages -lbl_802FBE18: -/* 802FBE18 38 60 00 00 */ li r3, 0 -/* 802FBE1C 38 80 00 01 */ li r4, 1 -/* 802FBE20 38 A0 00 04 */ li r5, 4 -/* 802FBE24 38 C0 00 3C */ li r6, 0x3c -/* 802FBE28 38 E0 00 00 */ li r7, 0 -/* 802FBE2C 39 00 00 7D */ li r8, 0x7d -/* 802FBE30 48 05 FD 4D */ bl GXSetTexCoordGen2 -/* 802FBE34 38 60 00 01 */ li r3, 1 -/* 802FBE38 38 80 00 04 */ li r4, 4 -/* 802FBE3C 38 A0 00 05 */ li r5, 5 -/* 802FBE40 38 C0 00 0F */ li r6, 0xf -/* 802FBE44 48 06 3D AD */ bl GXSetBlendMode -/* 802FBE48 39 61 00 30 */ addi r11, r1, 0x30 -/* 802FBE4C 48 06 63 DD */ bl _restgpr_29 -/* 802FBE50 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802FBE54 7C 08 03 A6 */ mtlr r0 -/* 802FBE58 38 21 00 30 */ addi r1, r1, 0x30 -/* 802FBE5C 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index ad2f238b8cb..26b6bb6c19d 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -72,7 +72,7 @@ public: virtual ~J2DPane(); - /* vt 0x0C */ virtual s32 getTypeID() const { return 16; } + /* vt 0x0C */ virtual u16 getTypeID() const { return 16; } /* vt 0x10 */ virtual void move(f32 x, f32 y); /* vt 0x14 */ virtual void add(f32 x, f32 y); /* vt 0x18 */ virtual void resize(f32 x, f32 y); @@ -110,6 +110,7 @@ public: f32 getHeight() const { return mBounds.getHeight(); } f32 getWidth() const { return mBounds.getWidth(); } JSUTree* getFirstChild() { return mPaneTree.getFirstChild(); } + JSUTree* getEndChild() { return mPaneTree.getEndChild(); } const JSUTree* getPaneTree() { return &mPaneTree; } u8 getAlpha() const { return mAlpha; } @@ -150,6 +151,8 @@ public: void show() { mVisible = true; } void hide() { mVisible = false; } + bool isConnectParent() const { return mConnected; } + void setUserInfo(u64 info) { mUserInfoTag = info; } const Mtx* getMtx() const { return &mPositionMtx; } diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h index 2a5e34fbd65..64747f10782 100644 --- a/include/JSystem/J2DGraph/J2DPicture.h +++ b/include/JSystem/J2DGraph/J2DPicture.h @@ -36,7 +36,7 @@ struct J2DScrnBlockPictureParameter { class J2DPicture : public J2DPane { public: /* 802FCFF0 */ virtual ~J2DPicture(); - /* 802FF2E8 */ virtual s32 getTypeID() const; + /* 802FF2E8 */ virtual u16 getTypeID() const; /* 802FDB28 */ virtual void drawSelf(f32, f32); /* 802FDB90 */ virtual void drawSelf(f32, f32, Mtx*); /* 802FF09C */ virtual bool isUsed(ResTIMG const*); diff --git a/include/JSystem/J2DGraph/J2DScreen.h b/include/JSystem/J2DGraph/J2DScreen.h index 597cf4f8cde..1dfb74ccb31 100644 --- a/include/JSystem/J2DGraph/J2DScreen.h +++ b/include/JSystem/J2DGraph/J2DScreen.h @@ -32,7 +32,7 @@ struct J2DScrnBlockHeader { class J2DScreen : public J2DPane { public: /* 802F8540 */ virtual ~J2DScreen(); - /* 802F9A18 */ virtual s32 getTypeID() const; + /* 802F9A18 */ virtual u16 getTypeID() const; /* 802F9A20 */ virtual void calcMtx(); /* 802F9120 */ virtual void drawSelf(f32, f32, Mtx*); /* 802F90A0 */ virtual J2DPane* search(u64); diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index 1057f635aaa..057809adb90 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -50,7 +50,7 @@ public: }; /* 803001E0 */ virtual ~J2DTextBox(); - /* 80300C68 */ virtual s32 getTypeID() const; + /* 80300C68 */ virtual u16 getTypeID() const; /* 80300AF8 */ virtual void resize(f32, f32); /* 80300870 */ virtual bool setConnectParent(bool); /* 80300950 */ virtual void drawSelf(f32, f32, Mtx*); diff --git a/include/JSystem/J2DGraph/J2DWindow.h b/include/JSystem/J2DGraph/J2DWindow.h index b335cf70d3f..90fb5776c08 100644 --- a/include/JSystem/J2DGraph/J2DWindow.h +++ b/include/JSystem/J2DGraph/J2DWindow.h @@ -10,11 +10,11 @@ class JUTTexture; class J2DWindow : public J2DPane { public: struct TMaterial { - /* 0x00 */ JUTTexture* field_0x0; - /* 0x04 */ JUTTexture* field_0x4; - /* 0x08 */ JUTTexture* field_0x8; - /* 0x0C */ JUTTexture* field_0xc; - /* 0x10 */ JUTTexture* field_0x10; + /* 0x00 */ J2DMaterial* field_0x0; + /* 0x04 */ J2DMaterial* field_0x4; + /* 0x08 */ J2DMaterial* field_0x8; + /* 0x0C */ J2DMaterial* field_0xc; + /* 0x10 */ J2DMaterial* field_0x10; }; // Size: 0x14 struct TContentsColor { @@ -39,10 +39,10 @@ public: /* 802FBB90 */ void setTevMode(JUTTexture*, JUtility::TColor, JUtility::TColor); /* 802FA880 */ virtual ~J2DWindow(); - /* 802FBF98 */ virtual s32 getTypeID() const; + /* 802FBF98 */ virtual u16 getTypeID() const; /* 802FB000 */ virtual void resize(f32, f32); /* 802FB1D8 */ virtual void drawSelf(f32, f32); - /* 802FB240 */ virtual void drawSelf(f32, f32, f32 (*)[3][4]); + /* 802FB240 */ virtual void drawSelf(f32, f32, Mtx*); /* 802FBEDC */ virtual bool isUsed(ResTIMG const*); /* 802FC02C */ virtual bool isUsed(ResFONT const*); /* 802FC04C */ virtual void rewriteAlpha(); @@ -54,15 +54,29 @@ public: /* 80254568 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); /* 80254000 */ virtual JUtility::TColor getBlack() const; /* 8025400C */ virtual JUtility::TColor getWhite() const; - /* 802FBE60 */ virtual void getFrameTexture(u8, u8) const; - /* 802FBFE8 */ virtual void getContentsTexture(u8) const; + /* 802FBE60 */ virtual JUTTexture* getFrameTexture(u8, u8) const; + /* 802FBFE8 */ virtual JUTTexture* getContentsTexture(u8) const; /* 802FC000 */ virtual void getMaterial(J2DWindow::TMaterial&) const; - /* 802FC01C */ virtual bool getFrameMaterial(u8) const; - /* 802FC024 */ virtual bool getContentsMaterial() const; + /* 802FC01C */ virtual J2DMaterial* getFrameMaterial(u8) const; + /* 802FC024 */ virtual J2DMaterial* getContentsMaterial() const; /* 802FB338 */ virtual void drawContents(JGeometry::TBox2 const&); + void getContentsColor(TContentsColor& param_0) const { + param_0.field_0x0 = field_0x128; + param_0.field_0x4 = field_0x12C; + param_0.field_0x8 = field_0x130; + param_0.field_0xc = field_0x134; + } + void setContentsColor(JUtility::TColor param_0) { + setContentsColor(param_0, param_0, param_0, param_0); + } + private: - /* 0x100 */ TMaterial mMaterial; + /* 0x100 */ JUTTexture* field_0x100; + /* 0x104 */ JUTTexture* field_0x104; + /* 0x108 */ JUTTexture* field_0x108; + /* 0x10C */ JUTTexture* field_0x10c; + /* 0x110 */ JUTTexture* field_0x110; /* 0x114 */ JGeometry::TBox2 field_0x114; /* 0x124 */ JUTPalette* mPalette; /* 0x128 */ JUtility::TColor field_0x128; diff --git a/include/JSystem/J2DGraph/J2DWindowEx.h b/include/JSystem/J2DGraph/J2DWindowEx.h index ded9472984c..848b21016b2 100644 --- a/include/JSystem/J2DGraph/J2DWindowEx.h +++ b/include/JSystem/J2DGraph/J2DWindowEx.h @@ -25,8 +25,8 @@ public: /* 80302D98 */ virtual void setCullBack(_GXCullMode); /* 80302D48 */ virtual void setAlpha(u8); /* 8030122C */ virtual void drawSelf(f32, f32, f32 (*)[3][4]); - /* 80302EDC */ virtual void isUsed(ResTIMG const*); - /* 803035FC */ virtual void isUsed(ResFONT const*); + /* 80302EDC */ virtual bool isUsed(ResTIMG const*); + /* 803035FC */ virtual bool isUsed(ResFONT const*); /* 80302DF4 */ virtual void rewriteAlpha(); /* 8030361C */ virtual void setAnimation(J2DAnmBase*); /* 80256084 */ virtual void setAnimation(J2DAnmTransform*); @@ -36,20 +36,20 @@ public: /* 80303194 */ virtual void setAnimation(J2DAnmTevRegKey*); /* 80303274 */ virtual void setAnimation(J2DAnmVisibilityFull*); /* 8030327C */ virtual void setAnimation(J2DAnmVtxColor*); - /* 80303370 */ virtual void animationPane(J2DAnmTransform const*); + /* 80303370 */ virtual J2DAnmTransform* animationPane(J2DAnmTransform const*); /* 80301FC8 */ virtual void draw(JGeometry::TBox2 const&); /* 80302164 */ virtual void draw(JGeometry::TBox2 const&, JGeometry::TBox2 const&); /* 80303568 */ virtual void draw(f32, f32, f32, f32); - /* 80302764 */ virtual void setBlack(JUtility::TColor); - /* 803027EC */ virtual void setWhite(JUtility::TColor); - /* 80302874 */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor); - /* 80302C88 */ virtual void getBlack() const; - /* 80302CE8 */ virtual void getWhite() const; - /* 80302E0C */ virtual void getFrameTexture(u8, u8) const; - /* 80302E74 */ virtual void getContentsTexture(u8) const; + /* 80302764 */ virtual bool setBlack(JUtility::TColor); + /* 803027EC */ virtual bool setWhite(JUtility::TColor); + /* 80302874 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); + /* 80302C88 */ virtual JUtility::TColor getBlack() const; + /* 80302CE8 */ virtual JUtility::TColor getWhite() const; + /* 80302E0C */ virtual JUTTexture* getFrameTexture(u8, u8) const; + /* 80302E74 */ virtual JUTTexture* getContentsTexture(u8) const; /* 8030353C */ virtual void getMaterial(J2DWindow::TMaterial&) const; - /* 80303510 */ virtual void getFrameMaterial(u8) const; - /* 80303534 */ virtual void getContentsMaterial() const; + /* 80303510 */ virtual J2DMaterial* getFrameMaterial(u8) const; + /* 80303534 */ virtual J2DMaterial* getContentsMaterial() const; /* 80301994 */ virtual void drawContents(JGeometry::TBox2 const&); private: diff --git a/include/JSystem/JSupport/JSUInputStream.h b/include/JSystem/JSupport/JSUInputStream.h index 56cc8eda28f..d0aa9ce5cff 100644 --- a/include/JSystem/JSupport/JSUInputStream.h +++ b/include/JSystem/JSupport/JSUInputStream.h @@ -18,6 +18,12 @@ public: /* vt[4] */ virtual s32 skip(s32); /* vt[5] */ virtual u32 readData(void*, s32) = 0; + u32 readU32() { + u32 val; + this->read(&val, sizeof(val)); + return val; + } + u32 read32b() { u32 val; this->read(&val, sizeof(val)); diff --git a/include/JSystem/JUtility/JUTTexture.h b/include/JSystem/JUtility/JUTTexture.h index c59a94c24b5..f55f3217c1c 100644 --- a/include/JSystem/JUtility/JUTTexture.h +++ b/include/JSystem/JUtility/JUTTexture.h @@ -61,11 +61,29 @@ public: void load(_GXTexMapID); const ResTIMG* getTexInfo() const { return mTexInfo; } + u8 getFormat() const { return mTexInfo->format; } + s32 getTransparency() { return mTexInfo->alphaEnabled; } + s32 getWidth() const { return mTexInfo->width; } + s32 getHeight() const { return mTexInfo->height; } void setCaptureFlag(bool flag) { mFlags &= 2 | flag; } u8 getCaptureFlag() const { return mFlags & 1; } u8 getEmbPaletteDelFlag() const { return mFlags & 2; } void setEmbPaletteDelFlag(bool flag) { mFlags = (mFlags & 1) | (flag << 1);} u8 getTlutName() const { return mTlutName; } + bool operator==(const JUTTexture& other) { + return mTexInfo == other.mTexInfo + && field_0x2c == other.field_0x2c + && mWrapS == other.mWrapS + && mWrapT == other.mWrapT + && mMinFilter == other.mMinFilter + && mMagFilter == other.mMagFilter + && mMinLOD == other.mMinLOD + && mMinLOD == other.mMinLOD + && mLODBias == other.mLODBias; + } + bool operator!=(const JUTTexture& other) { + return !operator==(other); + } private: /* 0x00 */ GXTexObj mTexObj; diff --git a/libs/JSystem/J2DGraph/J2DPicture.cpp b/libs/JSystem/J2DGraph/J2DPicture.cpp index 73d3da033e6..7a42fab3bbc 100644 --- a/libs/JSystem/J2DGraph/J2DPicture.cpp +++ b/libs/JSystem/J2DGraph/J2DPicture.cpp @@ -953,7 +953,7 @@ void J2DPicture::load(_GXTexMapID param_0, u8 param_1) { } /* 802FF2E8-802FF2F0 2F9C28 0008+00 1/0 1/0 0/0 .text getTypeID__10J2DPictureCFv */ -s32 J2DPicture::getTypeID() const { +u16 J2DPicture::getTypeID() const { return 18; } diff --git a/libs/JSystem/J2DGraph/J2DScreen.cpp b/libs/JSystem/J2DGraph/J2DScreen.cpp index 28d543e06e4..2ade1918a13 100644 --- a/libs/JSystem/J2DGraph/J2DScreen.cpp +++ b/libs/JSystem/J2DGraph/J2DScreen.cpp @@ -794,7 +794,7 @@ J2DPane* J2DScreen::createPane(J2DScrnBlockHeader const& header, JSURandomInputS } /* 802F9A18-802F9A20 2F4358 0008+00 1/0 0/0 0/0 .text getTypeID__9J2DScreenCFv */ -s32 J2DScreen::getTypeID() const { +u16 J2DScreen::getTypeID() const { return 8; } diff --git a/libs/JSystem/J2DGraph/J2DTextBox.cpp b/libs/JSystem/J2DGraph/J2DTextBox.cpp index 184b319157e..e8f4c042c99 100644 --- a/libs/JSystem/J2DGraph/J2DTextBox.cpp +++ b/libs/JSystem/J2DGraph/J2DTextBox.cpp @@ -410,7 +410,7 @@ bool J2DTextBox::setConnectParent(bool connected) { return false; } - if ((u16)getPaneTree()->getParent()->getObject()->getTypeID() != 0x11) { + if (getPaneTree()->getParent()->getObject()->getTypeID() != 0x11) { return false; } @@ -456,7 +456,7 @@ void J2DTextBox::resize(f32 x, f32 y) { if (mConnected && getPaneTree() != NULL && getPaneTree()->getParent() != NULL) { J2DPane* obj = getPaneTree()->getParent()->getObject(); - if ((u16)obj->getTypeID() == 0x11) { + if (obj->getTypeID() == 0x11) { f32 obj_x = obj->getWidth() + (x - getWidth()); f32 obj_y = obj->getHeight() + (y - getHeight()); obj->resize(obj_x, obj_y); @@ -477,7 +477,7 @@ bool J2DTextBox::isUsed(ResFONT const* p_font) { } /* 80300C68-80300C70 2FB5A8 0008+00 1/0 1/0 0/0 .text getTypeID__10J2DTextBoxCFv */ -s32 J2DTextBox::getTypeID() const { +u16 J2DTextBox::getTypeID() const { return 19; } diff --git a/libs/JSystem/J2DGraph/J2DWindow.cpp b/libs/JSystem/J2DGraph/J2DWindow.cpp index 49c2b08b00c..8885dda62ad 100644 --- a/libs/JSystem/J2DGraph/J2DWindow.cpp +++ b/libs/JSystem/J2DGraph/J2DWindow.cpp @@ -4,6 +4,10 @@ // #include "JSystem/J2DGraph/J2DWindow.h" +#include "JSystem/JSupport/JSURandomInputStream.h" +#include "JSystem/JUtility/JUTPalette.h" +#include "JSystem/JUtility/JUTResource.h" +#include "JSystem/JUtility/JUTTexture.h" #include "dol2asm.h" // @@ -166,25 +170,22 @@ SECTION_DATA extern void* __vt__9J2DWindow[51 + 1 /* padding */] = { }; /* 802F9A7C-802F9B74 2F43BC 00F8+00 0/0 1/1 0/0 .text __ct__9J2DWindowFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DWindow::J2DWindow() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFv.s" +J2DWindow::J2DWindow() + : field_0x100(NULL), field_0x104(NULL), field_0x108(NULL), field_0x10c(NULL), field_0x110(NULL), + mPalette(NULL) { + field_0x144 = 0; + setContentsColor(JUtility::TColor(0xffffffff)); + mBlack = JUtility::TColor(0); + mWhite = JUtility::TColor(0xffffffff); } -#pragma pop /* 802F9B74-802F9C10 2F44B4 009C+00 0/0 1/1 0/0 .text * __ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DWindow::J2DWindow(J2DPane* param_0, JSURandomInputStream* param_1, JKRArchive* param_2) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/__ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive.s" +J2DWindow::J2DWindow(J2DPane* param_0, JSURandomInputStream* param_1, JKRArchive* param_2) + : field_0x100(NULL), field_0x104(NULL), field_0x108(NULL), field_0x10c(NULL), field_0x110(NULL), + mPalette(NULL) { + private_readStream(param_0, param_1, param_2); } -#pragma pop /* ############################################################################################## */ /* 803A1C10-803A1C20 02E270 0010+00 1/1 0/0 0/0 .rodata @1831 */ @@ -218,6 +219,69 @@ asm J2DWindow::J2DWindow(J2DPane* param_0, JSURandomInputStream* param_1, J2DMat /* 802FA118-802FA604 2F4A58 04EC+00 1/1 0/0 0/0 .text * private_readStream__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive */ +// matches with literals +#ifdef NONMATCHING +void J2DWindow::private_readStream(J2DPane* param_0, JSURandomInputStream* param_1, + JKRArchive* param_2) { + s32 local_188 = param_1->getPosition(); + u32 local_180[2]; + param_1->read(local_180, 8); + mKind = local_180[0]; + makePaneStream(param_0, param_1); + JUTResReference stack_178; + u8 r27 = param_1->readU8(); + f32 f31 = param_1->read16b(); + f32 f30 = param_1->read16b(); + f32 f29 = f31 + param_1->read16b(); + f32 f28 = f30 + param_1->read16b(); + field_0x114.set(f31, f30, f29, f28); + ResTIMG* timg = (ResTIMG*)getPointer(param_1, 'TIMG', param_2); + if (timg) { + field_0x100 = new JUTTexture(timg, 0); + } + timg = (ResTIMG*)getPointer(param_1, 'TIMG', param_2); + if (timg) { + field_0x104 = new JUTTexture(timg, 0); + } + timg = (ResTIMG*)getPointer(param_1, 'TIMG', param_2); + if (timg) { + field_0x108 = new JUTTexture(timg, 0); + } + timg = (ResTIMG*)getPointer(param_1, 'TIMG', param_2); + if (timg) { + field_0x10c = new JUTTexture(timg, 0); + } + ResTLUT* tlut = (ResTLUT*)getPointer(param_1, 'TLUT', param_2); + if (tlut) { + mPalette = new JUTPalette(GX_TLUT0, tlut); + } + field_0x144 = param_1->read8b(); + field_0x128.set(param_1->read32b()); + field_0x12C.set(param_1->read32b()); + field_0x130.set(param_1->read32b()); + field_0x134.set(param_1->read32b()); + r27 -= 14; + field_0x110 = NULL; + if (r27) { + timg = (ResTIMG*)getPointer(param_1, 'TIMG', param_2); + if (timg) { + field_0x110 = new JUTTexture(timg, 0); + } + r27--; + } + mBlack = JUtility::TColor(0); + mWhite = JUtility::TColor(0xffffffff); + if (r27) { + mBlack = JUtility::TColor(param_1->readU32()); + r27--; + } + if (r27) { + mWhite = JUtility::TColor(param_1->readU32()); + } + param_1->seek(local_188 + local_180[1], JSUStreamSeekFrom_SET); + initinfo2(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -227,8 +291,35 @@ asm void J2DWindow::private_readStream(J2DPane* param_0, JSURandomInputStream* p #include "asm/JSystem/J2DGraph/J2DWindow/private_readStream__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive.s" } #pragma pop +#endif /* 802FA604-802FA880 2F4F44 027C+00 2/2 0/0 0/0 .text initinfo2__9J2DWindowFv */ +// regswap +#ifdef NOTIMPLEMENTED +void J2DWindow::initinfo2() { + if (field_0x100 && field_0x104 && field_0x108 && field_0x10c) { + field_0x140 = field_0x100->getWidth() + field_0x104->getWidth(); + field_0x142 = field_0x100->getHeight() + field_0x108->getHeight(); + } else { + field_0x140 = 1; + field_0x142 = 1; + return; + } + field_0x145 = 0; + JUTTexture* r30 = field_0x100; + if (*field_0x104 != *r30) { + field_0x145 |= 1; + r30 = field_0x104; + } + if (*field_0x10c != *r30) { + field_0x145 |= 2; + r30 = field_0x10c; + } + if (*field_0x108 != *r30) { + field_0x145 |= 4; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -237,16 +328,17 @@ asm void J2DWindow::initinfo2() { #include "asm/JSystem/J2DGraph/J2DWindow/initinfo2__9J2DWindowFv.s" } #pragma pop +#endif /* 802FA880-802FA928 2F51C0 00A8+00 1/0 1/1 0/0 .text __dt__9J2DWindowFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DWindow::~J2DWindow() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/__dt__9J2DWindowFv.s" +J2DWindow::~J2DWindow() { + delete field_0x100; + delete field_0x104; + delete field_0x108; + delete field_0x10c; + delete mPalette; + delete field_0x110; } -#pragma pop /* ############################################################################################## */ /* 80456250-80456254 004850 0004+00 5/5 0/0 0/0 .sdata2 @2156 */ @@ -258,6 +350,20 @@ SECTION_SDATA2 static u8 lit_2156[4] = { }; /* 802FA928-802FAA5C 2F5268 0134+00 1/0 0/0 0/0 .text draw__9J2DWindowFRCQ29JGeometry8TBox2 */ +// matches with literals +#ifdef NONMATCHING +void J2DWindow::draw(JGeometry::TBox2 const& param_0) { + JGeometry::TBox2 stack_58; + if (field_0x100 && field_0x104 && field_0x108 && field_0x10c) { + stack_58.set(field_0x100->getWidth(), field_0x100->getHeight(), + param_0.getWidth() - field_0x104->getWidth(), + param_0.getHeight() - field_0x108->getHeight()); + } else { + stack_58.set(0.0f, 0.0f, param_0.getWidth(), param_0.getHeight()); + } + draw(param_0, stack_58); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -266,9 +372,57 @@ asm void J2DWindow::draw(JGeometry::TBox2 const& param_0) { #include "asm/JSystem/J2DGraph/J2DWindow/func_802FA928.s" } #pragma pop +#endif /* 802FAA5C-802FAED0 2F539C 0474+00 2/2 0/0 0/0 .text * draw_private__9J2DWindowFRCQ29JGeometry8TBox2RCQ29JGeometry8TBox2 */ +// instruction order +#ifdef NONMATCHING +void J2DWindow::draw_private(JGeometry::TBox2 const& param_0, + JGeometry::TBox2 const& param_1) { + JGeometry::TBox2 stack_a0(param_1); + stack_a0.addPos(param_0.i); + drawContents(stack_a0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetNumTexGens(1); + if (field_0x100 && field_0x104 && field_0x108 && field_0x10c) { + f32 f29 = param_0.i.x; + f32 f28 = param_0.i.y; + f32 f31 = param_0.f.x - field_0x10c->getWidth(); + f32 f30 = param_0.f.y - field_0x10c->getHeight(); + f32 f27 = f29 + field_0x100->getWidth(); + f32 f26 = f28 + field_0x100->getHeight(); + drawFrameTexture(field_0x100, f29, f28, field_0x144 & 0x80, field_0x144 & 0x40, true); + bool r24 = field_0x145 & 1; + drawFrameTexture(field_0x104, f31, f28, field_0x144 & 0x20, field_0x144 & 0x10, r24); + u16 local_a6 = field_0x144 & 0x20 ? 0x8000 : 0; + u16 local_a8 = field_0x144 & 0x10 ? 0 : 0x8000; + drawFrameTexture(field_0x104, f27, f28, f31 - f27, field_0x104->getHeight(), local_a6, + local_a8, local_a6, local_a8, false); + drawFrameTexture(field_0x10c, f31, f30, field_0x144 & 2, field_0x144 & 1, field_0x145 & 2); + u16 local_aa = field_0x144 & 2 ? 0x8000 : 0; + u16 local_ac = field_0x144 & 1 ? 0 : 0x8000; + drawFrameTexture(field_0x10c, f27, f30, f31 - f27, field_0x10c->getHeight(), local_aa, + local_ac, local_aa, local_ac, false); + u16 local_ae = field_0x144 & 2 ? 0 : 0x8000; + u16 local_b0 = field_0x144 & 1 ? 0x8000 : 0; + drawFrameTexture(field_0x10c, f31, f26, field_0x10c->getWidth(), f30 - f26, local_ae, + local_b0, local_ae, local_b0, false); + drawFrameTexture(field_0x108, f29, f30, field_0x144 & 8, field_0x144 & 4, field_0x145 & 4); + u16 local_b2 = field_0x144 & 8 ? 0 : 0x8000; + u16 local_b4 = field_0x144 & 4 ? 0x8000 : 0; + drawFrameTexture(field_0x108, f29, f26, field_0x108->getWidth(), f30 - f26, local_b2, + local_b4, local_b2, local_b4, false); + } + GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetNumTexGens(0); + GXSetVtxDesc(GX_VA_TEX0, GX_NONE); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -278,9 +432,26 @@ asm void J2DWindow::draw_private(JGeometry::TBox2 const& param_0, #include "asm/JSystem/J2DGraph/J2DWindow/func_802FAA5C.s" } #pragma pop +#endif /* 802FAED0-802FB000 2F5810 0130+00 1/0 0/0 0/0 .text * draw__9J2DWindowFRCQ29JGeometry8TBox2RCQ29JGeometry8TBox2 */ +// matches with literals +#ifdef NONMATCHING +void J2DWindow::draw(JGeometry::TBox2 const& param_0, JGeometry::TBox2 const& param_1) { + if (param_0.getWidth() >= field_0x140 && param_0.getHeight() >= field_0x142 && isVisible()) { + makeMatrix(param_0.i.x, param_0.i.y, 0, 0); + GXLoadPosMtxImm(mPositionMtx, GX_PNMTX0); + GXSetCurrentMtx(0); + mColorAlpha = mAlpha; + JGeometry::TBox2 stack_70(0.0f, 0.0f, param_0.getWidth(), param_0.getHeight()); + draw_private(stack_70, param_1); + Mtx stack_60; + MTXIdentity(stack_60); + GXLoadPosMtxImm(stack_60, GX_PNMTX0); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -290,52 +461,128 @@ asm void J2DWindow::draw(JGeometry::TBox2 const& param_0, #include "asm/JSystem/J2DGraph/J2DWindow/func_802FAED0.s" } #pragma pop +#endif /* 802FB000-802FB12C 2F5940 012C+00 1/0 1/0 0/0 .text resize__9J2DWindowFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::resize(f32 param_0, f32 param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/resize__9J2DWindowFff.s" +void J2DWindow::resize(f32 param_0, f32 param_1) { + f32 f31 = getWidth(); + f32 f30 = getHeight(); + J2DPane::resize(param_0, param_1); + field_0x114.f.x += param_0 - f31; + field_0x114.f.y += param_1 - f30; + for (JSUTreeIterator it(getFirstChild()); it != getEndChild(); it++) { + if (it->getTypeID() == 19 && it->isConnectParent()) { + f32 f29 = param_0 - f31 + it->getWidth(); + f32 f28 = param_1 - f30 + it->getHeight(); + it->J2DPane::resize(f29, f28); + } + } } -#pragma pop /* 802FB12C-802FB1D8 2F5A6C 00AC+00 1/1 0/0 0/0 .text * setContentsColor__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::setContentsColor(JUtility::TColor param_0, JUtility::TColor param_1, - JUtility::TColor param_2, JUtility::TColor param_3) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/func_802FB12C.s" +void J2DWindow::setContentsColor(JUtility::TColor param_0, JUtility::TColor param_1, + JUtility::TColor param_2, JUtility::TColor param_3) { + field_0x128.set(param_0); + field_0x12C.set(param_1); + field_0x130.set(param_2); + field_0x134.set(param_3); } -#pragma pop /* 802FB1D8-802FB240 2F5B18 0068+00 1/0 1/0 0/0 .text drawSelf__9J2DWindowFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::drawSelf(f32 param_0, f32 param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/drawSelf__9J2DWindowFff.s" +void J2DWindow::drawSelf(f32 param_0, f32 param_1) { + Mtx stack_38; + MTXIdentity(stack_38); + drawSelf(param_0, param_1, &stack_38); } -#pragma pop /* 802FB240-802FB338 2F5B80 00F8+00 1/0 0/0 0/0 .text drawSelf__9J2DWindowFffPA3_A4_f */ +// matches with literals +#ifdef NONMATCHING +void J2DWindow::drawSelf(f32 param_0, f32 param_1, Mtx* param_2) { + JGeometry::TBox2 stack_50(mBounds); + stack_50.addPos(JGeometry::TVec2(param_0, param_1)); + if (stack_50.getWidth() >= field_0x140 && stack_50.getHeight() >= field_0x142) { + Mtx stack_40; + MTXConcat(*param_2, mGlobalMtx, stack_40); + GXLoadPosMtxImm(stack_40, GX_PNMTX0); + draw_private(stack_50, field_0x114); + } + clip(field_0x114); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindow::drawSelf(f32 param_0, f32 param_1, f32 (*param_2)[3][4]) { +asm void J2DWindow::drawSelf(f32 param_0, f32 param_1, Mtx* param_2) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindow/drawSelf__9J2DWindowFffPA3_A4_f.s" } #pragma pop +#endif /* 802FB338-802FB634 2F5C78 02FC+00 1/0 0/0 0/0 .text * drawContents__9J2DWindowFRCQ29JGeometry8TBox2 */ +// matches with literals +#ifdef NONMATCHING +void J2DWindow::drawContents(JGeometry::TBox2 const& param_0) { + if (param_0.isValid()) { + GXSetNumChans(1); + GXSetNumTexGens(0); + GXSetNumTevStages(1); + GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + if ((field_0x128 & 0xff) == 0xff && (field_0x12C & 0xff) == 0xff && + (field_0x130 & 0xff) == 0xff && (field_0x134 & 0xff) == 0xff && mColorAlpha == 0xff) + { + GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_SET); + } else { + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET); + } + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); + GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE, + GX_AF_NONE); + GXSetNumIndStages(0); + for (int i = 0; i < 16; i++) { + GXSetTevDirect(GXTevStageID(i)); + } + if (field_0x110 == NULL) { + JUtility::TColor color1(field_0x128); + JUtility::TColor color2(field_0x130); + JUtility::TColor color3(field_0x12C); + JUtility::TColor color4(field_0x134); + if (mColorAlpha != 0xff) { + color1.a = color1.a * mColorAlpha / 0xff; + color2.a = color2.a * mColorAlpha / 0xff; + color3.a = color3.a * mColorAlpha / 0xff; + color4.a = color4.a * mColorAlpha / 0xff; + } + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(param_0.i.x, param_0.i.y, 0.0f); + GXColor1u32(color1); + GXPosition3f32(param_0.f.x, param_0.i.y, 0.0f); + GXColor1u32(color3); + GXPosition3f32(param_0.f.x, param_0.f.y, 0.0f); + GXColor1u32(color4); + GXPosition3f32(param_0.i.x, param_0.f.y, 0.0f); + GXColor1u32(color2); + i_GXEnd(); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); + } else { + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetNumTexGens(1); + drawContentsTexture(param_0.i.x, param_0.i.y, param_0.getWidth(), param_0.getHeight()); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -344,9 +591,40 @@ asm void J2DWindow::drawContents(JGeometry::TBox2 const& param_0) { #include "asm/JSystem/J2DGraph/J2DWindow/func_802FB338.s" } #pragma pop +#endif /* 802FB634-802FB7C8 2F5F74 0194+00 2/2 0/0 0/0 .text * drawFrameTexture__9J2DWindowFP10JUTTextureffffUsUsUsUsb */ +// matches with literals +#ifdef NONMATCHING +void J2DWindow::drawFrameTexture(JUTTexture* param_0, f32 param_1, f32 param_2, f32 param_3, + f32 param_4, u16 param_5, u16 param_6, u16 param_7, u16 param_8, + bool param_9) { + f32 f31 = param_1 + param_3; + f32 f30 = param_2 + param_4; + if (param_9) { + param_0->load(GX_TEXMAP0); + setTevMode(param_0, mBlack, mWhite); + } + JUtility::TColor stack_64(mColorAlpha | 0xffffff00); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(param_1, param_2, 0.0f); + GXColor1u32(stack_64); + i_GXTexCoord2u16(param_7, param_8); + GXPosition3f32(f31, param_2, 0.0f); + GXColor1u32(stack_64); + i_GXTexCoord2u16(param_5, param_8); + GXPosition3f32(f31, f30, 0.0f); + GXColor1u32(stack_64); + i_GXTexCoord2u16(param_5, param_6); + GXPosition3f32(param_1, f30, 0.0f); + GXColor1u32(stack_64); + i_GXTexCoord2u16(param_7, param_6); + i_GXEnd(); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -357,9 +635,22 @@ asm void J2DWindow::drawFrameTexture(JUTTexture* param_0, f32 param_1, f32 param #include "asm/JSystem/J2DGraph/J2DWindow/drawFrameTexture__9J2DWindowFP10JUTTextureffffUsUsUsUsb.s" } #pragma pop +#endif /* 802FB7C8-802FB868 2F6108 00A0+00 1/1 0/0 0/0 .text * drawFrameTexture__9J2DWindowFP10JUTTextureffbbb */ +// matches with literals +#ifdef NONMATCHING +void J2DWindow::drawFrameTexture(JUTTexture* param_0, f32 param_1, f32 param_2, bool param_3, + bool param_4, bool param_5) { + u16 r31 = param_4 ? u16(0x8000) : u16(0); + u16 r30 = param_3 ? u16(0x8000) : u16(0); + u16 r29 = param_4 ? u16(0) : u16(0x8000); + u16 r28 = param_3 ? u16(0) : u16(0x8000); + drawFrameTexture(param_0, param_1, param_2, param_0->getWidth(), param_0->getHeight(), r28, r29, + r30, r31, param_5); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -369,6 +660,7 @@ asm void J2DWindow::drawFrameTexture(JUTTexture* param_0, f32 param_1, f32 param #include "asm/JSystem/J2DGraph/J2DWindow/drawFrameTexture__9J2DWindowFP10JUTTextureffbbb.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80456254-80456258 004854 0004+00 1/1 0/0 0/0 .sdata2 @2984 */ @@ -382,6 +674,47 @@ SECTION_SDATA2 static f32 lit_2985[1 + 1 /* padding */] = { }; /* 802FB868-802FBB90 2F61A8 0328+00 1/1 0/0 0/0 .text drawContentsTexture__9J2DWindowFffff */ +// instruction order +#ifdef NONMATCHING +void J2DWindow::drawContentsTexture(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { + f32 f29 = param_0 + param_2; + f32 f28 = param_1 + param_3; + f32 f27 = field_0x110->getWidth(); + f32 f26 = field_0x110->getHeight(); + f32 f31 = -(param_2 / f27 - 1.0f) * 0.5f; + f32 f30 = -(param_3 / f26 - 1.0f) * 0.5f; + f32 f25 = f31 + param_2 / f27; + f32 f24 = f30 + param_3 / f26; + TContentsColor stack_f0; + getContentsColor(stack_f0); + if (mColorAlpha != 0xff) { + stack_f0.field_0x0.a = stack_f0.field_0x0.a * mColorAlpha / 0xff; + stack_f0.field_0x4.a = stack_f0.field_0x4.a * mColorAlpha / 0xff; + stack_f0.field_0x8.a = stack_f0.field_0x8.a * mColorAlpha / 0xff; + stack_f0.field_0xc.a = stack_f0.field_0xc.a * mColorAlpha / 0xff; + } + field_0x110->load(GX_TEXMAP0); + setTevMode(field_0x110, 0, 0xffffffff); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA6, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(param_0, param_1, 0.0f); + GXColor1u32(stack_f0.field_0x0); + GXTexCoord2f32(f31, f30); + GXPosition3f32(f29, param_1, 0.0f); + GXColor1u32(stack_f0.field_0x4); + GXTexCoord2f32(f25, f30); + GXPosition3f32(f29, f28, 0.0f); + GXColor1u32(stack_f0.field_0xc); + GXTexCoord2f32(f25, f24); + GXPosition3f32(param_0, f28, 0.0f); + GXColor1u32(stack_f0.field_0x8); + GXTexCoord2f32(f31, f24); + i_GXEnd(); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBX8, 0xf); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -390,135 +723,127 @@ asm void J2DWindow::drawContentsTexture(f32 param_0, f32 param_1, f32 param_2, f #include "asm/JSystem/J2DGraph/J2DWindow/drawContentsTexture__9J2DWindowFffff.s" } #pragma pop +#endif + +static inline void GXSetTexCoordGen(GXTexCoordID dst, GXTexGenType type, GXTexGenSrc src, u32 mtx) { + GXSetTexCoordGen2(dst, type, src, mtx, GX_FALSE, GX_PTIDENTITY); +} /* 802FBB90-802FBE60 2F64D0 02D0+00 2/2 0/0 0/0 .text * setTevMode__9J2DWindowFP10JUTTextureQ28JUtility6TColorQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::setTevMode(JUTTexture* param_0, JUtility::TColor param_1, - JUtility::TColor param_2) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/setTevMode__9J2DWindowFP10JUTTextureQ28JUtility6TColorQ28JUtility6TColor.s" +void J2DWindow::setTevMode(JUTTexture* param_0, JUtility::TColor param_1, + JUtility::TColor param_2) { + if (param_1 == 0 && param_2 == 0xffffffff) { + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); + if (param_0->getTransparency()) { + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); + } else { + GXSetTevColor(GX_TEVREG2, JUtility::TColor(0xffffffff)); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_A2, GX_CA_RASA, GX_CA_ZERO); + } + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); + GXSetNumTevStages(1); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET); + } else { + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXSetTevColor(GX_TEVREG0, param_1); + GXSetTevColor(GX_TEVREG1, param_2); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_C0, GX_CC_C1, GX_CC_TEXC, GX_CC_ZERO); + if (param_0->getTransparency()) { + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_A0, GX_CA_A1, GX_CA_TEXA, GX_CA_ZERO); + } else { + GXSetTevColor(GX_TEVREG2, JUtility::TColor(0xffffffff)); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_A0, GX_CA_A1, GX_CA_A2, GX_CA_ZERO); + } + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); + GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_CPREV, GX_CC_RASC, GX_CC_ZERO); + GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_APREV, GX_CA_RASA, GX_CA_ZERO); + GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); + GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); + GXSetNumTevStages(2); + } + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET); } -#pragma pop - -/* ############################################################################################## */ -/* 803A1C30-803A1C40 02E290 0010+00 1/1 0/0 0/0 .rodata @3028 */ -SECTION_RODATA static u8 const lit_3028[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x803A1C30, &lit_3028); /* 802FBE60-802FBEDC 2F67A0 007C+00 1/0 0/0 0/0 .text getFrameTexture__9J2DWindowCFUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::getFrameTexture(u8 param_0, u8 param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/getFrameTexture__9J2DWindowCFUcUc.s" +JUTTexture* J2DWindow::getFrameTexture(u8 param_0, u8 param_1) const { + JUTTexture* tmp[4] = {NULL, NULL, NULL, NULL}; + tmp[0] = field_0x100; + tmp[1] = field_0x104; + tmp[2] = field_0x108; + tmp[3] = field_0x10c; + if (param_0 >= 4 || param_1 != 0) { + return NULL; + } + return tmp[param_0]; } -#pragma pop - -/* ############################################################################################## */ -/* 803A1C40-803A1C58 02E2A0 0014+04 1/1 0/0 0/0 .rodata @3037 */ -SECTION_RODATA static u8 const lit_3037[20 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A1C40, &lit_3037); /* 802FBEDC-802FBF98 2F681C 00BC+00 1/0 0/0 0/0 .text isUsed__9J2DWindowFPC7ResTIMG */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool J2DWindow::isUsed(ResTIMG const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResTIMG.s" +bool J2DWindow::isUsed(ResTIMG const* param_0) { + JUTTexture* tmp[5] = {NULL, NULL, NULL, NULL, NULL}; + tmp[0] = field_0x100; + tmp[1] = field_0x104; + tmp[2] = field_0x108; + tmp[3] = field_0x10c; + tmp[4] = field_0x110; + for (u8 i = 0; i < 5; i++) { + if (tmp[i] && tmp[i]->getTexInfo() == param_0) { + return true; + } + } + return J2DPane::isUsed(param_0); } -#pragma pop /* 802FBF98-802FBFA0 2F68D8 0008+00 1/0 1/0 0/0 .text getTypeID__9J2DWindowCFv */ -s32 J2DWindow::getTypeID() const { +u16 J2DWindow::getTypeID() const { return 17; } /* 802FBFA0-802FBFE8 2F68E0 0048+00 1/0 0/0 0/0 .text draw__9J2DWindowFffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::draw(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/draw__9J2DWindowFffff.s" +void J2DWindow::draw(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { + draw(JGeometry::TBox2(param_0, param_1, param_0 + param_2, param_1 + param_3)); } -#pragma pop /* 802FBFE8-802FC000 2F6928 0018+00 1/0 0/0 0/0 .text getContentsTexture__9J2DWindowCFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::getContentsTexture(u8 param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/getContentsTexture__9J2DWindowCFUc.s" +JUTTexture* J2DWindow::getContentsTexture(u8 param_0) const { + if (param_0 != 0) { + return NULL; + } + return field_0x110; } -#pragma pop /* 802FC000-802FC01C 2F6940 001C+00 1/0 0/0 0/0 .text * getMaterial__9J2DWindowCFRQ29J2DWindow9TMaterial */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::getMaterial(J2DWindow::TMaterial& param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/getMaterial__9J2DWindowCFRQ29J2DWindow9TMaterial.s" +void J2DWindow::getMaterial(J2DWindow::TMaterial& param_0) const { + param_0.field_0x0 = NULL; + param_0.field_0x4 = NULL; + param_0.field_0x8 = NULL; + param_0.field_0xc = NULL; + param_0.field_0x10 = NULL; } -#pragma pop /* 802FC01C-802FC024 2F695C 0008+00 1/0 0/0 0/0 .text getFrameMaterial__9J2DWindowCFUc */ -bool J2DWindow::getFrameMaterial(u8 param_0) const { - return false; +J2DMaterial* J2DWindow::getFrameMaterial(u8 param_0) const { + return NULL; } /* 802FC024-802FC02C 2F6964 0008+00 1/0 0/0 0/0 .text getContentsMaterial__9J2DWindowCFv */ -bool J2DWindow::getContentsMaterial() const { - return false; +J2DMaterial* J2DWindow::getContentsMaterial() const { + return NULL; } /* 802FC02C-802FC04C 2F696C 0020+00 1/0 0/0 0/0 .text isUsed__9J2DWindowFPC7ResFONT */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool J2DWindow::isUsed(ResFONT const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResFONT.s" +bool J2DWindow::isUsed(ResFONT const* param_0) { + return J2DPane::isUsed(param_0); } -#pragma pop /* 802FC04C-802FC050 2F698C 0004+00 1/0 0/0 0/0 .text rewriteAlpha__9J2DWindowFv */ void J2DWindow::rewriteAlpha() { diff --git a/libs/JSystem/J2DGraph/J2DWindowEx.cpp b/libs/JSystem/J2DGraph/J2DWindowEx.cpp index dc76cd1e1fc..f0a9e1bc869 100644 --- a/libs/JSystem/J2DGraph/J2DWindowEx.cpp +++ b/libs/JSystem/J2DGraph/J2DWindowEx.cpp @@ -340,7 +340,7 @@ asm void J2DWindowEx::setStage(J2DTevStage* param_0, J2DWindowEx::stage_enum par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::setBlack(JUtility::TColor param_0) { +asm bool J2DWindowEx::setBlack(JUtility::TColor param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/setBlack__11J2DWindowExFQ28JUtility6TColor.s" } @@ -351,7 +351,7 @@ asm void J2DWindowEx::setBlack(JUtility::TColor param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::setWhite(JUtility::TColor param_0) { +asm bool J2DWindowEx::setWhite(JUtility::TColor param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/setWhite__11J2DWindowExFQ28JUtility6TColor.s" } @@ -362,7 +362,7 @@ asm void J2DWindowEx::setWhite(JUtility::TColor param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) { +asm bool J2DWindowEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/setBlackWhite__11J2DWindowExFQ28JUtility6TColorQ28JUtility6TColor.s" } @@ -394,7 +394,7 @@ asm void J2DWindowEx::isSetBlackWhite(JUtility::TColor param_0, JUtility::TColor #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::getBlack() const { +asm JUtility::TColor J2DWindowEx::getBlack() const { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/getBlack__11J2DWindowExCFv.s" } @@ -404,7 +404,7 @@ asm void J2DWindowEx::getBlack() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::getWhite() const { +asm JUtility::TColor J2DWindowEx::getWhite() const { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/getWhite__11J2DWindowExCFv.s" } @@ -444,7 +444,7 @@ asm void J2DWindowEx::rewriteAlpha() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::getFrameTexture(u8 param_0, u8 param_1) const { +asm JUTTexture* J2DWindowEx::getFrameTexture(u8 param_0, u8 param_1) const { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/getFrameTexture__11J2DWindowExCFUcUc.s" } @@ -454,7 +454,7 @@ asm void J2DWindowEx::getFrameTexture(u8 param_0, u8 param_1) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::getContentsTexture(u8 param_0) const { +asm JUTTexture* J2DWindowEx::getContentsTexture(u8 param_0) const { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/getContentsTexture__11J2DWindowExCFUc.s" } @@ -464,7 +464,7 @@ asm void J2DWindowEx::getContentsTexture(u8 param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::isUsed(ResTIMG const* param_0) { +asm bool J2DWindowEx::isUsed(ResTIMG const* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/isUsed__11J2DWindowExFPC7ResTIMG.s" } @@ -686,7 +686,7 @@ COMPILER_STRIP_GATE(0x803A1D40, &lit_3089); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::animationPane(J2DAnmTransform const* param_0) { +asm J2DAnmTransform* J2DWindowEx::animationPane(J2DAnmTransform const* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/animationPane__11J2DWindowExFPC15J2DAnmTransform.s" } @@ -697,7 +697,7 @@ asm void J2DWindowEx::animationPane(J2DAnmTransform const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::getFrameMaterial(u8 param_0) const { +asm J2DMaterial* J2DWindowEx::getFrameMaterial(u8 param_0) const { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/getFrameMaterial__11J2DWindowExCFUc.s" } @@ -707,7 +707,7 @@ asm void J2DWindowEx::getFrameMaterial(u8 param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::getContentsMaterial() const { +asm J2DMaterial* J2DWindowEx::getContentsMaterial() const { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/getContentsMaterial__11J2DWindowExCFv.s" } @@ -748,7 +748,7 @@ asm void J2DWindowEx::setCullBack(bool param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindowEx::isUsed(ResFONT const* param_0) { +asm bool J2DWindowEx::isUsed(ResFONT const* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindowEx/isUsed__11J2DWindowExFPC7ResFONT.s" }