.include "macros.inc" .section .text, "ax" # 802e8b08 .global J2DGrafContext J2DGrafContext: /* 802E8B08 002E5A48 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802E8B0C 002E5A4C 7C 08 02 A6 */ mflr r0 /* 802E8B10 002E5A50 90 01 00 34 */ stw r0, 0x34(r1) /* 802E8B14 002E5A54 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802E8B18 002E5A58 7C 7F 1B 78 */ mr r31, r3 /* 802E8B1C 002E5A5C 3C 80 80 3D */ lis r4, lbl_803CC9B8@ha /* 802E8B20 002E5A60 38 04 C9 B8 */ addi r0, r4, lbl_803CC9B8@l /* 802E8B24 002E5A64 90 03 00 00 */ stw r0, 0(r3) /* 802E8B28 002E5A68 D0 23 00 04 */ stfs f1, 4(r3) /* 802E8B2C 002E5A6C D0 43 00 08 */ stfs f2, 8(r3) /* 802E8B30 002E5A70 EC 01 18 2A */ fadds f0, f1, f3 /* 802E8B34 002E5A74 D0 03 00 0C */ stfs f0, 0xc(r3) /* 802E8B38 002E5A78 EC 62 20 2A */ fadds f3, f2, f4 /* 802E8B3C 002E5A7C D0 63 00 10 */ stfs f3, 0x10(r3) /* 802E8B40 002E5A80 D0 23 00 14 */ stfs f1, 0x14(r3) /* 802E8B44 002E5A84 D0 43 00 18 */ stfs f2, 0x18(r3) /* 802E8B48 002E5A88 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 802E8B4C 002E5A8C D0 63 00 20 */ stfs f3, 0x20(r3) /* 802E8B50 002E5A90 38 00 FF FF */ li r0, -1 /* 802E8B54 002E5A94 90 03 00 24 */ stw r0, 0x24(r3) /* 802E8B58 002E5A98 90 03 00 28 */ stw r0, 0x28(r3) /* 802E8B5C 002E5A9C 90 03 00 2C */ stw r0, 0x2c(r3) /* 802E8B60 002E5AA0 90 03 00 30 */ stw r0, 0x30(r3) /* 802E8B64 002E5AA4 90 01 00 1C */ stw r0, 0x1c(r1) /* 802E8B68 002E5AA8 90 01 00 08 */ stw r0, 8(r1) /* 802E8B6C 002E5AAC 90 01 00 18 */ stw r0, 0x18(r1) /* 802E8B70 002E5AB0 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8B74 002E5AB4 90 01 00 10 */ stw r0, 0x10(r1) /* 802E8B78 002E5AB8 90 01 00 0C */ stw r0, 0xc(r1) /* 802E8B7C 002E5ABC 38 81 00 0C */ addi r4, r1, 0xc /* 802E8B80 002E5AC0 38 A1 00 10 */ addi r5, r1, 0x10 /* 802E8B84 002E5AC4 38 C1 00 14 */ addi r6, r1, 0x14 /* 802E8B88 002E5AC8 38 E1 00 18 */ addi r7, r1, 0x18 /* 802E8B8C 002E5ACC 48 00 05 8D */ bl J2DGrafContext_NS_setColor /* 802E8B90 002E5AD0 7F E3 FB 78 */ mr r3, r31 /* 802E8B94 002E5AD4 38 80 00 06 */ li r4, 6 /* 802E8B98 002E5AD8 48 00 06 9D */ bl J2DGrafContext_NS_setLineWidth /* 802E8B9C 002E5ADC 7F E3 FB 78 */ mr r3, r31 /* 802E8BA0 002E5AE0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802E8BA4 002E5AE4 80 01 00 34 */ lwz r0, 0x34(r1) /* 802E8BA8 002E5AE8 7C 08 03 A6 */ mtlr r0 /* 802E8BAC 002E5AEC 38 21 00 30 */ addi r1, r1, 0x30 /* 802E8BB0 002E5AF0 4E 80 00 20 */ blr .global J2DGrafContext_NS_setPort J2DGrafContext_NS_setPort: /* 802E8BB4 002E5AF4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E8BB8 002E5AF8 7C 08 02 A6 */ mflr r0 /* 802E8BBC 002E5AFC 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8BC0 002E5B00 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E8BC4 002E5B04 7C 7F 1B 78 */ mr r31, r3 /* 802E8BC8 002E5B08 81 83 00 00 */ lwz r12, 0(r3) /* 802E8BCC 002E5B0C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 802E8BD0 002E5B10 7D 89 03 A6 */ mtctr r12 /* 802E8BD4 002E5B14 4E 80 04 21 */ bctrl /* 802E8BD8 002E5B18 7F E3 FB 78 */ mr r3, r31 /* 802E8BDC 002E5B1C 81 9F 00 00 */ lwz r12, 0(r31) /* 802E8BE0 002E5B20 81 8C 00 18 */ lwz r12, 0x18(r12) /* 802E8BE4 002E5B24 7D 89 03 A6 */ mtctr r12 /* 802E8BE8 002E5B28 4E 80 04 21 */ bctrl /* 802E8BEC 002E5B2C C0 3F 00 04 */ lfs f1, 4(r31) /* 802E8BF0 002E5B30 C0 5F 00 08 */ lfs f2, 8(r31) /* 802E8BF4 002E5B34 C0 7F 00 0C */ lfs f3, 0xc(r31) /* 802E8BF8 002E5B38 C0 9F 00 10 */ lfs f4, 0x10(r31) /* 802E8BFC 002E5B3C C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E8C00 002E5B40 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802E8C04 002E5B44 40 80 00 08 */ bge lbl_802E8C0C /* 802E8C08 002E5B48 FC 20 00 90 */ fmr f1, f0 lbl_802E8C0C: /* 802E8C0C 002E5B4C C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E8C10 002E5B50 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802E8C14 002E5B54 40 80 00 08 */ bge lbl_802E8C1C /* 802E8C18 002E5B58 FC 40 00 90 */ fmr f2, f0 lbl_802E8C1C: /* 802E8C1C 002E5B5C EC 63 08 28 */ fsubs f3, f3, f1 /* 802E8C20 002E5B60 EC 84 10 28 */ fsubs f4, f4, f2 /* 802E8C24 002E5B64 C0 A2 C7 48 */ lfs f5, lbl_80456148-_SDA2_BASE_(r2) /* 802E8C28 002E5B68 C0 C2 C7 4C */ lfs f6, lbl_8045614C-_SDA2_BASE_(r2) /* 802E8C2C 002E5B6C 48 07 78 39 */ bl GXSetViewport /* 802E8C30 002E5B70 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E8C34 002E5B74 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E8C38 002E5B78 7C 08 03 A6 */ mtlr r0 /* 802E8C3C 002E5B7C 38 21 00 10 */ addi r1, r1, 0x10 /* 802E8C40 002E5B80 4E 80 00 20 */ blr /* 802E8C44 002E5B84 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802E8C48 002E5B88 7C 08 02 A6 */ mflr r0 /* 802E8C4C 002E5B8C 90 01 00 44 */ stw r0, 0x44(r1) /* 802E8C50 002E5B90 93 E1 00 3C */ stw r31, 0x3c(r1) /* 802E8C54 002E5B94 93 C1 00 38 */ stw r30, 0x38(r1) /* 802E8C58 002E5B98 7C 7E 1B 78 */ mr r30, r3 /* 802E8C5C 002E5B9C 38 60 00 00 */ li r3, 0 /* 802E8C60 002E5BA0 48 07 64 75 */ bl GXSetNumIndStages /* 802E8C64 002E5BA4 3B E0 00 00 */ li r31, 0 lbl_802E8C68: /* 802E8C68 002E5BA8 7F E3 FB 78 */ mr r3, r31 /* 802E8C6C 002E5BAC 48 07 64 8D */ bl GXSetTevDirect /* 802E8C70 002E5BB0 3B FF 00 01 */ addi r31, r31, 1 /* 802E8C74 002E5BB4 2C 1F 00 10 */ cmpwi r31, 0x10 /* 802E8C78 002E5BB8 41 80 FF F0 */ blt lbl_802E8C68 /* 802E8C7C 002E5BBC 38 60 00 00 */ li r3, 0 /* 802E8C80 002E5BC0 48 07 70 51 */ bl GXSetZCompLoc /* 802E8C84 002E5BC4 38 60 00 04 */ li r3, 4 /* 802E8C88 002E5BC8 38 80 00 00 */ li r4, 0 /* 802E8C8C 002E5BCC 38 A0 00 01 */ li r5, 1 /* 802E8C90 002E5BD0 38 C0 00 04 */ li r6, 4 /* 802E8C94 002E5BD4 38 E0 00 00 */ li r7, 0 /* 802E8C98 002E5BD8 48 07 69 8D */ bl GXSetAlphaCompare /* 802E8C9C 002E5BDC 38 60 00 00 */ li r3, 0 /* 802E8CA0 002E5BE0 38 80 00 03 */ li r4, 3 /* 802E8CA4 002E5BE4 38 A0 00 00 */ li r5, 0 /* 802E8CA8 002E5BE8 48 07 6F F5 */ bl GXSetZMode /* 802E8CAC 002E5BEC 38 60 00 00 */ li r3, 0 /* 802E8CB0 002E5BF0 38 80 00 04 */ li r4, 4 /* 802E8CB4 002E5BF4 48 07 64 E5 */ bl GXSetTevOp /* 802E8CB8 002E5BF8 38 60 00 01 */ li r3, 1 /* 802E8CBC 002E5BFC 48 07 4E 75 */ bl GXSetNumChans /* 802E8CC0 002E5C00 38 60 00 01 */ li r3, 1 /* 802E8CC4 002E5C04 48 07 6B CD */ bl GXSetNumTevStages /* 802E8CC8 002E5C08 38 60 00 00 */ li r3, 0 /* 802E8CCC 002E5C0C 48 07 31 31 */ bl GXSetNumTexGens /* 802E8CD0 002E5C10 38 60 00 00 */ li r3, 0 /* 802E8CD4 002E5C14 38 80 00 FF */ li r4, 0xff /* 802E8CD8 002E5C18 38 A0 00 FF */ li r5, 0xff /* 802E8CDC 002E5C1C 38 C0 00 04 */ li r6, 4 /* 802E8CE0 002E5C20 48 07 6A 15 */ bl GXSetTevOrder /* 802E8CE4 002E5C24 38 60 00 00 */ li r3, 0 /* 802E8CE8 002E5C28 48 07 3C 9D */ bl GXSetCullMode /* 802E8CEC 002E5C2C 38 7E 00 80 */ addi r3, r30, 0x80 /* 802E8CF0 002E5C30 38 80 00 00 */ li r4, 0 /* 802E8CF4 002E5C34 48 07 75 59 */ bl GXLoadPosMtxImm /* 802E8CF8 002E5C38 38 61 00 08 */ addi r3, r1, 8 /* 802E8CFC 002E5C3C 48 05 D7 89 */ bl PSMTXIdentity /* 802E8D00 002E5C40 38 61 00 08 */ addi r3, r1, 8 /* 802E8D04 002E5C44 38 80 00 3C */ li r4, 0x3c /* 802E8D08 002E5C48 38 A0 00 00 */ li r5, 0 /* 802E8D0C 002E5C4C 48 07 76 15 */ bl GXLoadTexMtxImm /* 802E8D10 002E5C50 38 60 00 04 */ li r3, 4 /* 802E8D14 002E5C54 38 80 00 00 */ li r4, 0 /* 802E8D18 002E5C58 38 A0 00 00 */ li r5, 0 /* 802E8D1C 002E5C5C 38 C0 00 01 */ li r6, 1 /* 802E8D20 002E5C60 38 E0 00 00 */ li r7, 0 /* 802E8D24 002E5C64 39 00 00 00 */ li r8, 0 /* 802E8D28 002E5C68 39 20 00 02 */ li r9, 2 /* 802E8D2C 002E5C6C 48 07 4E 41 */ bl GXSetChanCtrl /* 802E8D30 002E5C70 38 60 00 05 */ li r3, 5 /* 802E8D34 002E5C74 38 80 00 00 */ li r4, 0 /* 802E8D38 002E5C78 38 A0 00 00 */ li r5, 0 /* 802E8D3C 002E5C7C 38 C0 00 00 */ li r6, 0 /* 802E8D40 002E5C80 38 E0 00 00 */ li r7, 0 /* 802E8D44 002E5C84 39 00 00 00 */ li r8, 0 /* 802E8D48 002E5C88 39 20 00 02 */ li r9, 2 /* 802E8D4C 002E5C8C 48 07 4E 21 */ bl GXSetChanCtrl /* 802E8D50 002E5C90 38 60 00 00 */ li r3, 0 /* 802E8D54 002E5C94 48 07 75 99 */ bl GXSetCurrentMtx /* 802E8D58 002E5C98 38 60 00 00 */ li r3, 0 /* 802E8D5C 002E5C9C 38 80 00 01 */ li r4, 1 /* 802E8D60 002E5CA0 38 A0 00 04 */ li r5, 4 /* 802E8D64 002E5CA4 38 C0 00 3C */ li r6, 0x3c /* 802E8D68 002E5CA8 38 E0 00 00 */ li r7, 0 /* 802E8D6C 002E5CAC 39 00 00 7D */ li r8, 0x7d /* 802E8D70 002E5CB0 48 07 2E 0D */ bl GXSetTexCoordGen2 /* 802E8D74 002E5CB4 38 60 00 00 */ li r3, 0 /* 802E8D78 002E5CB8 38 80 00 09 */ li r4, 9 /* 802E8D7C 002E5CBC 38 A0 00 01 */ li r5, 1 /* 802E8D80 002E5CC0 38 C0 00 03 */ li r6, 3 /* 802E8D84 002E5CC4 38 E0 00 00 */ li r7, 0 /* 802E8D88 002E5CC8 48 07 28 3D */ bl GXSetVtxAttrFmt /* 802E8D8C 002E5CCC 38 60 00 00 */ li r3, 0 /* 802E8D90 002E5CD0 38 80 00 0B */ li r4, 0xb /* 802E8D94 002E5CD4 38 A0 00 01 */ li r5, 1 /* 802E8D98 002E5CD8 38 C0 00 05 */ li r6, 5 /* 802E8D9C 002E5CDC 38 E0 00 00 */ li r7, 0 /* 802E8DA0 002E5CE0 48 07 28 25 */ bl GXSetVtxAttrFmt /* 802E8DA4 002E5CE4 38 60 00 00 */ li r3, 0 /* 802E8DA8 002E5CE8 38 80 00 0D */ li r4, 0xd /* 802E8DAC 002E5CEC 38 A0 00 01 */ li r5, 1 /* 802E8DB0 002E5CF0 38 C0 00 02 */ li r6, 2 /* 802E8DB4 002E5CF4 38 E0 00 0F */ li r7, 0xf /* 802E8DB8 002E5CF8 48 07 28 0D */ bl GXSetVtxAttrFmt /* 802E8DBC 002E5CFC 38 60 00 00 */ li r3, 0 /* 802E8DC0 002E5D00 38 80 00 0E */ li r4, 0xe /* 802E8DC4 002E5D04 38 A0 00 01 */ li r5, 1 /* 802E8DC8 002E5D08 38 C0 00 02 */ li r6, 2 /* 802E8DCC 002E5D0C 38 E0 00 0F */ li r7, 0xf /* 802E8DD0 002E5D10 48 07 27 F5 */ bl GXSetVtxAttrFmt /* 802E8DD4 002E5D14 88 7E 00 34 */ lbz r3, 0x34(r30) /* 802E8DD8 002E5D18 38 80 00 00 */ li r4, 0 /* 802E8DDC 002E5D1C 48 07 3A E1 */ bl GXSetLineWidth /* 802E8DE0 002E5D20 48 07 27 AD */ bl GXClearVtxDesc /* 802E8DE4 002E5D24 38 60 00 09 */ li r3, 9 /* 802E8DE8 002E5D28 38 80 00 01 */ li r4, 1 /* 802E8DEC 002E5D2C 48 07 20 CD */ bl GXSetVtxDesc /* 802E8DF0 002E5D30 38 60 00 0B */ li r3, 0xb /* 802E8DF4 002E5D34 38 80 00 01 */ li r4, 1 /* 802E8DF8 002E5D38 48 07 20 C1 */ bl GXSetVtxDesc /* 802E8DFC 002E5D3C 38 60 00 0D */ li r3, 0xd /* 802E8E00 002E5D40 38 80 00 00 */ li r4, 0 /* 802E8E04 002E5D44 48 07 20 B5 */ bl GXSetVtxDesc /* 802E8E08 002E5D48 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802E8E0C 002E5D4C 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802E8E10 002E5D50 80 01 00 44 */ lwz r0, 0x44(r1) /* 802E8E14 002E5D54 7C 08 03 A6 */ mtlr r0 /* 802E8E18 002E5D58 38 21 00 40 */ addi r1, r1, 0x40 /* 802E8E1C 002E5D5C 4E 80 00 20 */ blr .global J2DGrafContext_NS_setScissor J2DGrafContext_NS_setScissor: /* 802E8E20 002E5D60 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802E8E24 002E5D64 7C 08 02 A6 */ mflr r0 /* 802E8E28 002E5D68 90 01 00 74 */ stw r0, 0x74(r1) /* 802E8E2C 002E5D6C DB E1 00 60 */ stfd f31, 0x60(r1) /* 802E8E30 002E5D70 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 802E8E34 002E5D74 DB C1 00 50 */ stfd f30, 0x50(r1) /* 802E8E38 002E5D78 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 802E8E3C 002E5D7C DB A1 00 40 */ stfd f29, 0x40(r1) /* 802E8E40 002E5D80 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 802E8E44 002E5D84 DB 81 00 30 */ stfd f28, 0x30(r1) /* 802E8E48 002E5D88 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0 /* 802E8E4C 002E5D8C 39 61 00 30 */ addi r11, r1, 0x30 /* 802E8E50 002E5D90 48 07 93 8D */ bl _savegpr_29 /* 802E8E54 002E5D94 C0 23 00 14 */ lfs f1, 0x14(r3) /* 802E8E58 002E5D98 C3 A3 00 18 */ lfs f29, 0x18(r3) /* 802E8E5C 002E5D9C C3 E3 00 1C */ lfs f31, 0x1c(r3) /* 802E8E60 002E5DA0 C3 C3 00 20 */ lfs f30, 0x20(r3) /* 802E8E64 002E5DA4 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E8E68 002E5DA8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802E8E6C 002E5DAC 4C 40 13 82 */ cror 2, 0, 2 /* 802E8E70 002E5DB0 40 82 00 08 */ bne lbl_802E8E78 /* 802E8E74 002E5DB4 D0 03 00 14 */ stfs f0, 0x14(r3) lbl_802E8E78: /* 802E8E78 002E5DB8 C0 43 00 18 */ lfs f2, 0x18(r3) /* 802E8E7C 002E5DBC C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E8E80 002E5DC0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802E8E84 002E5DC4 4C 40 13 82 */ cror 2, 0, 2 /* 802E8E88 002E5DC8 40 82 00 08 */ bne lbl_802E8E90 /* 802E8E8C 002E5DCC D0 03 00 18 */ stfs f0, 0x18(r3) lbl_802E8E90: /* 802E8E90 002E5DD0 C0 43 00 1C */ lfs f2, 0x1c(r3) /* 802E8E94 002E5DD4 C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2) /* 802E8E98 002E5DD8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802E8E9C 002E5DDC 4C 41 13 82 */ cror 2, 1, 2 /* 802E8EA0 002E5DE0 40 82 00 08 */ bne lbl_802E8EA8 /* 802E8EA4 002E5DE4 D0 03 00 1C */ stfs f0, 0x1c(r3) lbl_802E8EA8: /* 802E8EA8 002E5DE8 C0 43 00 20 */ lfs f2, 0x20(r3) /* 802E8EAC 002E5DEC C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2) /* 802E8EB0 002E5DF0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802E8EB4 002E5DF4 4C 41 13 82 */ cror 2, 1, 2 /* 802E8EB8 002E5DF8 40 82 00 08 */ bne lbl_802E8EC0 /* 802E8EBC 002E5DFC D0 03 00 20 */ stfs f0, 0x20(r3) lbl_802E8EC0: /* 802E8EC0 002E5E00 38 00 00 00 */ li r0, 0 /* 802E8EC4 002E5E04 FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 802E8EC8 002E5E08 4C 41 13 82 */ cror 2, 1, 2 /* 802E8ECC 002E5E0C 40 82 00 14 */ bne lbl_802E8EE0 /* 802E8ED0 002E5E10 FC 1E E8 40 */ fcmpo cr0, f30, f29 /* 802E8ED4 002E5E14 4C 41 13 82 */ cror 2, 1, 2 /* 802E8ED8 002E5E18 40 82 00 08 */ bne lbl_802E8EE0 /* 802E8EDC 002E5E1C 38 00 00 01 */ li r0, 1 lbl_802E8EE0: /* 802E8EE0 002E5E20 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 802E8EE4 002E5E24 40 82 00 84 */ bne lbl_802E8F68 /* 802E8EE8 002E5E28 FC 00 08 90 */ fmr f0, f1 /* 802E8EEC 002E5E2C FC 40 E8 90 */ fmr f2, f29 /* 802E8EF0 002E5E30 FC 60 F8 90 */ fmr f3, f31 /* 802E8EF4 002E5E34 FC 80 F0 90 */ fmr f4, f30 /* 802E8EF8 002E5E38 FC 01 08 40 */ fcmpo cr0, f1, f1 /* 802E8EFC 002E5E3C 4C 41 13 82 */ cror 2, 1, 2 /* 802E8F00 002E5E40 FC 1D E8 40 */ fcmpo cr0, f29, f29 /* 802E8F04 002E5E44 4C 41 13 82 */ cror 2, 1, 2 /* 802E8F08 002E5E48 FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 802E8F0C 002E5E4C 4C 41 13 82 */ cror 2, 1, 2 /* 802E8F10 002E5E50 40 82 00 08 */ bne lbl_802E8F18 /* 802E8F14 002E5E54 FC 20 F8 90 */ fmr f1, f31 lbl_802E8F18: /* 802E8F18 002E5E58 FC 1D F0 40 */ fcmpo cr0, f29, f30 /* 802E8F1C 002E5E5C 4C 41 13 82 */ cror 2, 1, 2 /* 802E8F20 002E5E60 40 82 00 08 */ bne lbl_802E8F28 /* 802E8F24 002E5E64 FF A0 F0 90 */ fmr f29, f30 lbl_802E8F28: /* 802E8F28 002E5E68 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 802E8F2C 002E5E6C 4C 40 13 82 */ cror 2, 0, 2 /* 802E8F30 002E5E70 40 82 00 08 */ bne lbl_802E8F38 /* 802E8F34 002E5E74 FF E0 00 90 */ fmr f31, f0 lbl_802E8F38: /* 802E8F38 002E5E78 FC 1E 10 40 */ fcmpo cr0, f30, f2 /* 802E8F3C 002E5E7C 4C 40 13 82 */ cror 2, 0, 2 /* 802E8F40 002E5E80 40 82 00 08 */ bne lbl_802E8F48 /* 802E8F44 002E5E84 FF C0 10 90 */ fmr f30, f2 lbl_802E8F48: /* 802E8F48 002E5E88 FC 1F 18 40 */ fcmpo cr0, f31, f3 /* 802E8F4C 002E5E8C 4C 40 13 82 */ cror 2, 0, 2 /* 802E8F50 002E5E90 40 82 00 08 */ bne lbl_802E8F58 /* 802E8F54 002E5E94 FF E0 18 90 */ fmr f31, f3 lbl_802E8F58: /* 802E8F58 002E5E98 FC 1E 20 40 */ fcmpo cr0, f30, f4 /* 802E8F5C 002E5E9C 4C 40 13 82 */ cror 2, 0, 2 /* 802E8F60 002E5EA0 40 82 00 08 */ bne lbl_802E8F68 /* 802E8F64 002E5EA4 FF C0 20 90 */ fmr f30, f4 lbl_802E8F68: /* 802E8F68 002E5EA8 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E8F6C 002E5EAC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802E8F70 002E5EB0 4C 40 13 82 */ cror 2, 0, 2 /* 802E8F74 002E5EB4 40 82 00 08 */ bne lbl_802E8F7C /* 802E8F78 002E5EB8 FC 20 00 90 */ fmr f1, f0 lbl_802E8F7C: /* 802E8F7C 002E5EBC C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E8F80 002E5EC0 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 802E8F84 002E5EC4 4C 40 13 82 */ cror 2, 0, 2 /* 802E8F88 002E5EC8 40 82 00 08 */ bne lbl_802E8F90 /* 802E8F8C 002E5ECC FF A0 00 90 */ fmr f29, f0 lbl_802E8F90: /* 802E8F90 002E5ED0 C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2) /* 802E8F94 002E5ED4 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 802E8F98 002E5ED8 4C 41 13 82 */ cror 2, 1, 2 /* 802E8F9C 002E5EDC 40 82 00 08 */ bne lbl_802E8FA4 /* 802E8FA0 002E5EE0 FF E0 00 90 */ fmr f31, f0 lbl_802E8FA4: /* 802E8FA4 002E5EE4 C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2) /* 802E8FA8 002E5EE8 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 802E8FAC 002E5EEC 4C 41 13 82 */ cror 2, 1, 2 /* 802E8FB0 002E5EF0 40 82 00 08 */ bne lbl_802E8FB8 /* 802E8FB4 002E5EF4 FF C0 00 90 */ fmr f30, f0 lbl_802E8FB8: /* 802E8FB8 002E5EF8 38 00 00 00 */ li r0, 0 /* 802E8FBC 002E5EFC FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 802E8FC0 002E5F00 4C 41 13 82 */ cror 2, 1, 2 /* 802E8FC4 002E5F04 40 82 00 14 */ bne lbl_802E8FD8 /* 802E8FC8 002E5F08 FC 1E E8 40 */ fcmpo cr0, f30, f29 /* 802E8FCC 002E5F0C 4C 41 13 82 */ cror 2, 1, 2 /* 802E8FD0 002E5F10 40 82 00 08 */ bne lbl_802E8FD8 /* 802E8FD4 002E5F14 38 00 00 01 */ li r0, 1 lbl_802E8FD8: /* 802E8FD8 002E5F18 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 802E8FDC 002E5F1C 41 82 00 98 */ beq lbl_802E9074 /* 802E8FE0 002E5F20 48 07 90 CD */ bl func_803620AC /* 802E8FE4 002E5F24 C8 22 C7 58 */ lfd f1, lbl_80456158-_SDA2_BASE_(r2) /* 802E8FE8 002E5F28 90 61 00 0C */ stw r3, 0xc(r1) /* 802E8FEC 002E5F2C 3C 00 43 30 */ lis r0, 0x4330 /* 802E8FF0 002E5F30 90 01 00 08 */ stw r0, 8(r1) /* 802E8FF4 002E5F34 C8 01 00 08 */ lfd f0, 8(r1) /* 802E8FF8 002E5F38 EF 80 08 28 */ fsubs f28, f0, f1 /* 802E8FFC 002E5F3C FC 20 E8 90 */ fmr f1, f29 /* 802E9000 002E5F40 48 07 90 AD */ bl func_803620AC /* 802E9004 002E5F44 C8 22 C7 58 */ lfd f1, lbl_80456158-_SDA2_BASE_(r2) /* 802E9008 002E5F48 90 61 00 14 */ stw r3, 0x14(r1) /* 802E900C 002E5F4C 3C 00 43 30 */ lis r0, 0x4330 /* 802E9010 002E5F50 90 01 00 10 */ stw r0, 0x10(r1) /* 802E9014 002E5F54 C8 01 00 10 */ lfd f0, 0x10(r1) /* 802E9018 002E5F58 EF A0 08 28 */ fsubs f29, f0, f1 /* 802E901C 002E5F5C FC 20 F8 90 */ fmr f1, f31 /* 802E9020 002E5F60 48 08 2E 9D */ bl func_8036BEBC /* 802E9024 002E5F64 FF E0 08 18 */ frsp f31, f1 /* 802E9028 002E5F68 FC 20 F0 90 */ fmr f1, f30 /* 802E902C 002E5F6C 48 08 2E 91 */ bl func_8036BEBC /* 802E9030 002E5F70 FC 00 08 18 */ frsp f0, f1 /* 802E9034 002E5F74 EC 20 E8 28 */ fsubs f1, f0, f29 /* 802E9038 002E5F78 48 07 90 75 */ bl func_803620AC /* 802E903C 002E5F7C 7C 7D 1B 78 */ mr r29, r3 /* 802E9040 002E5F80 EC 3F E0 28 */ fsubs f1, f31, f28 /* 802E9044 002E5F84 48 07 90 69 */ bl func_803620AC /* 802E9048 002E5F88 7C 7E 1B 78 */ mr r30, r3 /* 802E904C 002E5F8C FC 20 E8 90 */ fmr f1, f29 /* 802E9050 002E5F90 48 07 90 5D */ bl func_803620AC /* 802E9054 002E5F94 7C 7F 1B 78 */ mr r31, r3 /* 802E9058 002E5F98 FC 20 E0 90 */ fmr f1, f28 /* 802E905C 002E5F9C 48 07 90 51 */ bl func_803620AC /* 802E9060 002E5FA0 7F E4 FB 78 */ mr r4, r31 /* 802E9064 002E5FA4 7F C5 F3 78 */ mr r5, r30 /* 802E9068 002E5FA8 7F A6 EB 78 */ mr r6, r29 /* 802E906C 002E5FAC 48 07 74 65 */ bl GXSetScissor /* 802E9070 002E5FB0 48 00 00 18 */ b lbl_802E9088 lbl_802E9074: /* 802E9074 002E5FB4 38 60 00 00 */ li r3, 0 /* 802E9078 002E5FB8 38 80 00 00 */ li r4, 0 /* 802E907C 002E5FBC 38 A0 00 00 */ li r5, 0 /* 802E9080 002E5FC0 38 C0 00 00 */ li r6, 0 /* 802E9084 002E5FC4 48 07 74 4D */ bl GXSetScissor lbl_802E9088: /* 802E9088 002E5FC8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 802E908C 002E5FCC CB E1 00 60 */ lfd f31, 0x60(r1) /* 802E9090 002E5FD0 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 802E9094 002E5FD4 CB C1 00 50 */ lfd f30, 0x50(r1) /* 802E9098 002E5FD8 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 802E909C 002E5FDC CB A1 00 40 */ lfd f29, 0x40(r1) /* 802E90A0 002E5FE0 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0 /* 802E90A4 002E5FE4 CB 81 00 30 */ lfd f28, 0x30(r1) /* 802E90A8 002E5FE8 39 61 00 30 */ addi r11, r1, 0x30 /* 802E90AC 002E5FEC 48 07 91 7D */ bl _restgpr_29 /* 802E90B0 002E5FF0 80 01 00 74 */ lwz r0, 0x74(r1) /* 802E90B4 002E5FF4 7C 08 03 A6 */ mtlr r0 /* 802E90B8 002E5FF8 38 21 00 70 */ addi r1, r1, 0x70 /* 802E90BC 002E5FFC 4E 80 00 20 */ blr .global J2DGrafContext_NS_scissor J2DGrafContext_NS_scissor: /* 802E90C0 002E6000 80 A4 00 00 */ lwz r5, 0(r4) /* 802E90C4 002E6004 80 04 00 04 */ lwz r0, 4(r4) /* 802E90C8 002E6008 90 A3 00 14 */ stw r5, 0x14(r3) /* 802E90CC 002E600C 90 03 00 18 */ stw r0, 0x18(r3) /* 802E90D0 002E6010 80 A4 00 08 */ lwz r5, 8(r4) /* 802E90D4 002E6014 80 04 00 0C */ lwz r0, 0xc(r4) /* 802E90D8 002E6018 90 A3 00 1C */ stw r5, 0x1c(r3) /* 802E90DC 002E601C 90 03 00 20 */ stw r0, 0x20(r3) /* 802E90E0 002E6020 4E 80 00 20 */ blr /* 802E90E4 002E6024 80 E4 00 00 */ lwz r7, 0(r4) /* 802E90E8 002E6028 80 C4 00 04 */ lwz r6, 4(r4) /* 802E90EC 002E602C 90 E3 00 04 */ stw r7, 4(r3) /* 802E90F0 002E6030 90 C3 00 08 */ stw r6, 8(r3) /* 802E90F4 002E6034 80 A4 00 08 */ lwz r5, 8(r4) /* 802E90F8 002E6038 80 04 00 0C */ lwz r0, 0xc(r4) /* 802E90FC 002E603C 90 A3 00 0C */ stw r5, 0xc(r3) /* 802E9100 002E6040 90 03 00 10 */ stw r0, 0x10(r3) /* 802E9104 002E6044 90 E3 00 14 */ stw r7, 0x14(r3) /* 802E9108 002E6048 90 C3 00 18 */ stw r6, 0x18(r3) /* 802E910C 002E604C 90 A3 00 1C */ stw r5, 0x1c(r3) /* 802E9110 002E6050 90 03 00 20 */ stw r0, 0x20(r3) /* 802E9114 002E6054 4E 80 00 20 */ blr .global J2DGrafContext_NS_setColor J2DGrafContext_NS_setColor: /* 802E9118 002E6058 88 04 00 00 */ lbz r0, 0(r4) /* 802E911C 002E605C 98 03 00 24 */ stb r0, 0x24(r3) /* 802E9120 002E6060 88 04 00 01 */ lbz r0, 1(r4) /* 802E9124 002E6064 98 03 00 25 */ stb r0, 0x25(r3) /* 802E9128 002E6068 88 04 00 02 */ lbz r0, 2(r4) /* 802E912C 002E606C 98 03 00 26 */ stb r0, 0x26(r3) /* 802E9130 002E6070 88 04 00 03 */ lbz r0, 3(r4) /* 802E9134 002E6074 98 03 00 27 */ stb r0, 0x27(r3) /* 802E9138 002E6078 88 05 00 00 */ lbz r0, 0(r5) /* 802E913C 002E607C 98 03 00 28 */ stb r0, 0x28(r3) /* 802E9140 002E6080 88 05 00 01 */ lbz r0, 1(r5) /* 802E9144 002E6084 98 03 00 29 */ stb r0, 0x29(r3) /* 802E9148 002E6088 88 05 00 02 */ lbz r0, 2(r5) /* 802E914C 002E608C 98 03 00 2A */ stb r0, 0x2a(r3) /* 802E9150 002E6090 88 05 00 03 */ lbz r0, 3(r5) /* 802E9154 002E6094 98 03 00 2B */ stb r0, 0x2b(r3) /* 802E9158 002E6098 88 06 00 00 */ lbz r0, 0(r6) /* 802E915C 002E609C 98 03 00 2C */ stb r0, 0x2c(r3) /* 802E9160 002E60A0 88 06 00 01 */ lbz r0, 1(r6) /* 802E9164 002E60A4 98 03 00 2D */ stb r0, 0x2d(r3) /* 802E9168 002E60A8 88 06 00 02 */ lbz r0, 2(r6) /* 802E916C 002E60AC 98 03 00 2E */ stb r0, 0x2e(r3) /* 802E9170 002E60B0 88 06 00 03 */ lbz r0, 3(r6) /* 802E9174 002E60B4 98 03 00 2F */ stb r0, 0x2f(r3) /* 802E9178 002E60B8 88 07 00 00 */ lbz r0, 0(r7) /* 802E917C 002E60BC 98 03 00 30 */ stb r0, 0x30(r3) /* 802E9180 002E60C0 88 07 00 01 */ lbz r0, 1(r7) /* 802E9184 002E60C4 98 03 00 31 */ stb r0, 0x31(r3) /* 802E9188 002E60C8 88 07 00 02 */ lbz r0, 2(r7) /* 802E918C 002E60CC 98 03 00 32 */ stb r0, 0x32(r3) /* 802E9190 002E60D0 88 07 00 03 */ lbz r0, 3(r7) /* 802E9194 002E60D4 98 03 00 33 */ stb r0, 0x33(r3) /* 802E9198 002E60D8 38 A0 00 01 */ li r5, 1 /* 802E919C 002E60DC 98 A3 00 B0 */ stb r5, 0xb0(r3) /* 802E91A0 002E60E0 38 80 00 04 */ li r4, 4 /* 802E91A4 002E60E4 98 83 00 B1 */ stb r4, 0xb1(r3) /* 802E91A8 002E60E8 38 00 00 05 */ li r0, 5 /* 802E91AC 002E60EC 98 03 00 B2 */ stb r0, 0xb2(r3) /* 802E91B0 002E60F0 98 A3 00 B3 */ stb r5, 0xb3(r3) /* 802E91B4 002E60F4 98 83 00 B4 */ stb r4, 0xb4(r3) /* 802E91B8 002E60F8 98 03 00 B5 */ stb r0, 0xb5(r3) /* 802E91BC 002E60FC 98 A3 00 B6 */ stb r5, 0xb6(r3) /* 802E91C0 002E6100 98 83 00 B7 */ stb r4, 0xb7(r3) /* 802E91C4 002E6104 98 03 00 B8 */ stb r0, 0xb8(r3) /* 802E91C8 002E6108 80 03 00 24 */ lwz r0, 0x24(r3) /* 802E91CC 002E610C 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802E91D0 002E6110 28 00 00 FF */ cmplwi r0, 0xff /* 802E91D4 002E6114 4C 82 00 20 */ bnelr /* 802E91D8 002E6118 38 80 00 00 */ li r4, 0 /* 802E91DC 002E611C 98 83 00 B0 */ stb r4, 0xb0(r3) /* 802E91E0 002E6120 98 A3 00 B1 */ stb r5, 0xb1(r3) /* 802E91E4 002E6124 98 83 00 B2 */ stb r4, 0xb2(r3) /* 802E91E8 002E6128 80 03 00 2C */ lwz r0, 0x2c(r3) /* 802E91EC 002E612C 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802E91F0 002E6130 28 00 00 FF */ cmplwi r0, 0xff /* 802E91F4 002E6134 4C 82 00 20 */ bnelr /* 802E91F8 002E6138 98 83 00 B3 */ stb r4, 0xb3(r3) /* 802E91FC 002E613C 98 A3 00 B4 */ stb r5, 0xb4(r3) /* 802E9200 002E6140 98 83 00 B5 */ stb r4, 0xb5(r3) /* 802E9204 002E6144 80 03 00 28 */ lwz r0, 0x28(r3) /* 802E9208 002E6148 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802E920C 002E614C 28 00 00 FF */ cmplwi r0, 0xff /* 802E9210 002E6150 4C 82 00 20 */ bnelr /* 802E9214 002E6154 80 03 00 30 */ lwz r0, 0x30(r3) /* 802E9218 002E6158 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802E921C 002E615C 28 00 00 FF */ cmplwi r0, 0xff /* 802E9220 002E6160 4C 82 00 20 */ bnelr /* 802E9224 002E6164 98 83 00 B6 */ stb r4, 0xb6(r3) /* 802E9228 002E6168 98 A3 00 B7 */ stb r5, 0xb7(r3) /* 802E922C 002E616C 98 83 00 B8 */ stb r4, 0xb8(r3) /* 802E9230 002E6170 4E 80 00 20 */ blr .global J2DGrafContext_NS_setLineWidth J2DGrafContext_NS_setLineWidth: /* 802E9234 002E6174 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E9238 002E6178 7C 08 02 A6 */ mflr r0 /* 802E923C 002E617C 90 01 00 14 */ stw r0, 0x14(r1) /* 802E9240 002E6180 98 83 00 34 */ stb r4, 0x34(r3) /* 802E9244 002E6184 88 63 00 34 */ lbz r3, 0x34(r3) /* 802E9248 002E6188 38 80 00 00 */ li r4, 0 /* 802E924C 002E618C 48 07 36 71 */ bl GXSetLineWidth /* 802E9250 002E6190 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E9254 002E6194 7C 08 03 A6 */ mtlr r0 /* 802E9258 002E6198 38 21 00 10 */ addi r1, r1, 0x10 /* 802E925C 002E619C 4E 80 00 20 */ blr .global J2DGrafContext_NS_fillBox J2DGrafContext_NS_fillBox: /* 802E9260 002E61A0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E9264 002E61A4 7C 08 02 A6 */ mflr r0 /* 802E9268 002E61A8 90 01 00 14 */ stw r0, 0x14(r1) /* 802E926C 002E61AC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E9270 002E61B0 93 C1 00 08 */ stw r30, 8(r1) /* 802E9274 002E61B4 7C 7E 1B 78 */ mr r30, r3 /* 802E9278 002E61B8 7C 9F 23 78 */ mr r31, r4 /* 802E927C 002E61BC 88 63 00 B6 */ lbz r3, 0xb6(r3) /* 802E9280 002E61C0 88 9E 00 B7 */ lbz r4, 0xb7(r30) /* 802E9284 002E61C4 88 BE 00 B8 */ lbz r5, 0xb8(r30) /* 802E9288 002E61C8 38 C0 00 0F */ li r6, 0xf /* 802E928C 002E61CC 48 07 69 65 */ bl GXSetBlendMode /* 802E9290 002E61D0 38 7E 00 80 */ addi r3, r30, 0x80 /* 802E9294 002E61D4 38 80 00 00 */ li r4, 0 /* 802E9298 002E61D8 48 07 6F B5 */ bl GXLoadPosMtxImm /* 802E929C 002E61DC 38 60 00 00 */ li r3, 0 /* 802E92A0 002E61E0 38 80 00 09 */ li r4, 9 /* 802E92A4 002E61E4 38 A0 00 01 */ li r5, 1 /* 802E92A8 002E61E8 38 C0 00 04 */ li r6, 4 /* 802E92AC 002E61EC 38 E0 00 00 */ li r7, 0 /* 802E92B0 002E61F0 48 07 23 15 */ bl GXSetVtxAttrFmt /* 802E92B4 002E61F4 38 60 00 80 */ li r3, 0x80 /* 802E92B8 002E61F8 38 80 00 00 */ li r4, 0 /* 802E92BC 002E61FC 38 A0 00 04 */ li r5, 4 /* 802E92C0 002E6200 48 07 34 A5 */ bl GXBegin /* 802E92C4 002E6204 C0 7F 00 04 */ lfs f3, 4(r31) /* 802E92C8 002E6208 C0 5F 00 00 */ lfs f2, 0(r31) /* 802E92CC 002E620C 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 802E92D0 002E6210 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 802E92D4 002E6214 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802E92D8 002E6218 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E92DC 002E621C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E92E0 002E6220 80 1E 00 24 */ lwz r0, 0x24(r30) /* 802E92E4 002E6224 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E92E8 002E6228 C0 3F 00 08 */ lfs f1, 8(r31) /* 802E92EC 002E622C D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802E92F0 002E6230 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802E92F4 002E6234 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E92F8 002E6238 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E92FC 002E623C 80 1E 00 28 */ lwz r0, 0x28(r30) /* 802E9300 002E6240 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9304 002E6244 C0 7F 00 0C */ lfs f3, 0xc(r31) /* 802E9308 002E6248 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802E930C 002E624C D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802E9310 002E6250 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E9314 002E6254 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E9318 002E6258 80 1E 00 30 */ lwz r0, 0x30(r30) /* 802E931C 002E625C 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9320 002E6260 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802E9324 002E6264 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802E9328 002E6268 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E932C 002E626C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E9330 002E6270 80 1E 00 2C */ lwz r0, 0x2c(r30) /* 802E9334 002E6274 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9338 002E6278 38 60 00 00 */ li r3, 0 /* 802E933C 002E627C 38 80 00 09 */ li r4, 9 /* 802E9340 002E6280 38 A0 00 01 */ li r5, 1 /* 802E9344 002E6284 38 C0 00 03 */ li r6, 3 /* 802E9348 002E6288 38 E0 00 00 */ li r7, 0 /* 802E934C 002E628C 48 07 22 79 */ bl GXSetVtxAttrFmt /* 802E9350 002E6290 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E9354 002E6294 83 C1 00 08 */ lwz r30, 8(r1) /* 802E9358 002E6298 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E935C 002E629C 7C 08 03 A6 */ mtlr r0 /* 802E9360 002E62A0 38 21 00 10 */ addi r1, r1, 0x10 /* 802E9364 002E62A4 4E 80 00 20 */ blr .global J2DGrafContext_NS_drawFrame J2DGrafContext_NS_drawFrame: /* 802E9368 002E62A8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E936C 002E62AC 7C 08 02 A6 */ mflr r0 /* 802E9370 002E62B0 90 01 00 14 */ stw r0, 0x14(r1) /* 802E9374 002E62B4 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E9378 002E62B8 93 C1 00 08 */ stw r30, 8(r1) /* 802E937C 002E62BC 7C 7E 1B 78 */ mr r30, r3 /* 802E9380 002E62C0 7C 9F 23 78 */ mr r31, r4 /* 802E9384 002E62C4 88 63 00 B6 */ lbz r3, 0xb6(r3) /* 802E9388 002E62C8 88 9E 00 B7 */ lbz r4, 0xb7(r30) /* 802E938C 002E62CC 88 BE 00 B8 */ lbz r5, 0xb8(r30) /* 802E9390 002E62D0 38 C0 00 0F */ li r6, 0xf /* 802E9394 002E62D4 48 07 68 5D */ bl GXSetBlendMode /* 802E9398 002E62D8 38 7E 00 80 */ addi r3, r30, 0x80 /* 802E939C 002E62DC 38 80 00 00 */ li r4, 0 /* 802E93A0 002E62E0 48 07 6E AD */ bl GXLoadPosMtxImm /* 802E93A4 002E62E4 38 60 00 00 */ li r3, 0 /* 802E93A8 002E62E8 38 80 00 09 */ li r4, 9 /* 802E93AC 002E62EC 38 A0 00 01 */ li r5, 1 /* 802E93B0 002E62F0 38 C0 00 04 */ li r6, 4 /* 802E93B4 002E62F4 38 E0 00 00 */ li r7, 0 /* 802E93B8 002E62F8 48 07 22 0D */ bl GXSetVtxAttrFmt /* 802E93BC 002E62FC 38 60 00 B0 */ li r3, 0xb0 /* 802E93C0 002E6300 38 80 00 00 */ li r4, 0 /* 802E93C4 002E6304 38 A0 00 05 */ li r5, 5 /* 802E93C8 002E6308 48 07 33 9D */ bl GXBegin /* 802E93CC 002E630C C0 7F 00 04 */ lfs f3, 4(r31) /* 802E93D0 002E6310 C0 5F 00 00 */ lfs f2, 0(r31) /* 802E93D4 002E6314 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 802E93D8 002E6318 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 802E93DC 002E631C D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802E93E0 002E6320 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E93E4 002E6324 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E93E8 002E6328 80 1E 00 24 */ lwz r0, 0x24(r30) /* 802E93EC 002E632C 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E93F0 002E6330 C0 3F 00 08 */ lfs f1, 8(r31) /* 802E93F4 002E6334 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802E93F8 002E6338 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802E93FC 002E633C C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E9400 002E6340 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E9404 002E6344 80 1E 00 28 */ lwz r0, 0x28(r30) /* 802E9408 002E6348 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E940C 002E634C C0 9F 00 0C */ lfs f4, 0xc(r31) /* 802E9410 002E6350 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802E9414 002E6354 D0 83 80 00 */ stfs f4, -0x8000(r3) /* 802E9418 002E6358 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E941C 002E635C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E9420 002E6360 80 1E 00 30 */ lwz r0, 0x30(r30) /* 802E9424 002E6364 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9428 002E6368 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802E942C 002E636C D0 83 80 00 */ stfs f4, -0x8000(r3) /* 802E9430 002E6370 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E9434 002E6374 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E9438 002E6378 80 1E 00 2C */ lwz r0, 0x2c(r30) /* 802E943C 002E637C 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9440 002E6380 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 802E9444 002E6384 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 802E9448 002E6388 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E944C 002E638C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E9450 002E6390 80 1E 00 24 */ lwz r0, 0x24(r30) /* 802E9454 002E6394 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9458 002E6398 38 60 00 00 */ li r3, 0 /* 802E945C 002E639C 38 80 00 09 */ li r4, 9 /* 802E9460 002E63A0 38 A0 00 01 */ li r5, 1 /* 802E9464 002E63A4 38 C0 00 03 */ li r6, 3 /* 802E9468 002E63A8 38 E0 00 00 */ li r7, 0 /* 802E946C 002E63AC 48 07 21 59 */ bl GXSetVtxAttrFmt /* 802E9470 002E63B0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E9474 002E63B4 83 C1 00 08 */ lwz r30, 8(r1) /* 802E9478 002E63B8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E947C 002E63BC 7C 08 03 A6 */ mtlr r0 /* 802E9480 002E63C0 38 21 00 10 */ addi r1, r1, 0x10 /* 802E9484 002E63C4 4E 80 00 20 */ blr .global J2DGrafContext_NS_line J2DGrafContext_NS_line: /* 802E9488 002E63C8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E948C 002E63CC 7C 08 02 A6 */ mflr r0 /* 802E9490 002E63D0 90 01 00 24 */ stw r0, 0x24(r1) /* 802E9494 002E63D4 39 61 00 20 */ addi r11, r1, 0x20 /* 802E9498 002E63D8 48 07 8D 45 */ bl _savegpr_29 /* 802E949C 002E63DC 7C 7D 1B 78 */ mr r29, r3 /* 802E94A0 002E63E0 7C 9E 23 78 */ mr r30, r4 /* 802E94A4 002E63E4 7C BF 2B 78 */ mr r31, r5 /* 802E94A8 002E63E8 88 63 00 B3 */ lbz r3, 0xb3(r3) /* 802E94AC 002E63EC 88 9D 00 B4 */ lbz r4, 0xb4(r29) /* 802E94B0 002E63F0 88 BD 00 B5 */ lbz r5, 0xb5(r29) /* 802E94B4 002E63F4 38 C0 00 0F */ li r6, 0xf /* 802E94B8 002E63F8 48 07 67 39 */ bl GXSetBlendMode /* 802E94BC 002E63FC 38 7D 00 80 */ addi r3, r29, 0x80 /* 802E94C0 002E6400 38 80 00 00 */ li r4, 0 /* 802E94C4 002E6404 48 07 6D 89 */ bl GXLoadPosMtxImm /* 802E94C8 002E6408 38 60 00 00 */ li r3, 0 /* 802E94CC 002E640C 38 80 00 09 */ li r4, 9 /* 802E94D0 002E6410 38 A0 00 01 */ li r5, 1 /* 802E94D4 002E6414 38 C0 00 04 */ li r6, 4 /* 802E94D8 002E6418 38 E0 00 00 */ li r7, 0 /* 802E94DC 002E641C 48 07 20 E9 */ bl GXSetVtxAttrFmt /* 802E94E0 002E6420 38 60 00 A8 */ li r3, 0xa8 /* 802E94E4 002E6424 38 80 00 00 */ li r4, 0 /* 802E94E8 002E6428 38 A0 00 02 */ li r5, 2 /* 802E94EC 002E642C 48 07 32 79 */ bl GXBegin /* 802E94F0 002E6430 C0 3E 00 04 */ lfs f1, 4(r30) /* 802E94F4 002E6434 C0 1E 00 00 */ lfs f0, 0(r30) /* 802E94F8 002E6438 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 802E94FC 002E643C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 802E9500 002E6440 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802E9504 002E6444 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E9508 002E6448 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E950C 002E644C 80 1D 00 24 */ lwz r0, 0x24(r29) /* 802E9510 002E6450 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9514 002E6454 C0 3F 00 04 */ lfs f1, 4(r31) /* 802E9518 002E6458 C0 1F 00 00 */ lfs f0, 0(r31) /* 802E951C 002E645C D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E9520 002E6460 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 802E9524 002E6464 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2) /* 802E9528 002E6468 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 802E952C 002E646C 80 1D 00 2C */ lwz r0, 0x2c(r29) /* 802E9530 002E6470 90 03 80 00 */ stw r0, -0x8000(r3) /* 802E9534 002E6474 38 60 00 00 */ li r3, 0 /* 802E9538 002E6478 38 80 00 09 */ li r4, 9 /* 802E953C 002E647C 38 A0 00 01 */ li r5, 1 /* 802E9540 002E6480 38 C0 00 03 */ li r6, 3 /* 802E9544 002E6484 38 E0 00 00 */ li r7, 0 /* 802E9548 002E6488 48 07 20 7D */ bl GXSetVtxAttrFmt /* 802E954C 002E648C 39 61 00 20 */ addi r11, r1, 0x20 /* 802E9550 002E6490 48 07 8C D9 */ bl _restgpr_29 /* 802E9554 002E6494 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E9558 002E6498 7C 08 03 A6 */ mtlr r0 /* 802E955C 002E649C 38 21 00 20 */ addi r1, r1, 0x20 /* 802E9560 002E64A0 4E 80 00 20 */ blr .global J2DGrafContext_NS_lineTo J2DGrafContext_NS_lineTo: /* 802E9564 002E64A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E9568 002E64A8 7C 08 02 A6 */ mflr r0 /* 802E956C 002E64AC 90 01 00 24 */ stw r0, 0x24(r1) /* 802E9570 002E64B0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E9574 002E64B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E9578 002E64B8 7C 7E 1B 78 */ mr r30, r3 /* 802E957C 002E64BC 7C 9F 23 78 */ mr r31, r4 /* 802E9580 002E64C0 80 84 00 00 */ lwz r4, 0(r4) /* 802E9584 002E64C4 80 1F 00 04 */ lwz r0, 4(r31) /* 802E9588 002E64C8 90 81 00 08 */ stw r4, 8(r1) /* 802E958C 002E64CC 90 01 00 0C */ stw r0, 0xc(r1) /* 802E9590 002E64D0 80 83 00 38 */ lwz r4, 0x38(r3) /* 802E9594 002E64D4 80 03 00 3C */ lwz r0, 0x3c(r3) /* 802E9598 002E64D8 90 81 00 10 */ stw r4, 0x10(r1) /* 802E959C 002E64DC 90 01 00 14 */ stw r0, 0x14(r1) /* 802E95A0 002E64E0 38 81 00 10 */ addi r4, r1, 0x10 /* 802E95A4 002E64E4 38 A1 00 08 */ addi r5, r1, 8 /* 802E95A8 002E64E8 4B FF FE E1 */ bl J2DGrafContext_NS_line /* 802E95AC 002E64EC C0 1F 00 00 */ lfs f0, 0(r31) /* 802E95B0 002E64F0 D0 1E 00 38 */ stfs f0, 0x38(r30) /* 802E95B4 002E64F4 C0 1F 00 04 */ lfs f0, 4(r31) /* 802E95B8 002E64F8 D0 1E 00 3C */ stfs f0, 0x3c(r30) /* 802E95BC 002E64FC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E95C0 002E6500 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E95C4 002E6504 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E95C8 002E6508 7C 08 03 A6 */ mtlr r0 /* 802E95CC 002E650C 38 21 00 20 */ addi r1, r1, 0x20 /* 802E95D0 002E6510 4E 80 00 20 */ blr /* 802E95D4 002E6514 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E95D8 002E6518 7C 08 02 A6 */ mflr r0 /* 802E95DC 002E651C 90 01 00 14 */ stw r0, 0x14(r1) /* 802E95E0 002E6520 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E95E4 002E6524 7C 7F 1B 79 */ or. r31, r3, r3 /* 802E95E8 002E6528 41 82 00 1C */ beq lbl_802E9604 /* 802E95EC 002E652C 3C A0 80 3D */ lis r5, lbl_803CC9B8@ha /* 802E95F0 002E6530 38 05 C9 B8 */ addi r0, r5, lbl_803CC9B8@l /* 802E95F4 002E6534 90 1F 00 00 */ stw r0, 0(r31) /* 802E95F8 002E6538 7C 80 07 35 */ extsh. r0, r4 /* 802E95FC 002E653C 40 81 00 08 */ ble lbl_802E9604 /* 802E9600 002E6540 4B FE 57 3D */ bl __dl__FPv lbl_802E9604: /* 802E9604 002E6544 7F E3 FB 78 */ mr r3, r31 /* 802E9608 002E6548 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E960C 002E654C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E9610 002E6550 7C 08 03 A6 */ mtlr r0 /* 802E9614 002E6554 38 21 00 10 */ addi r1, r1, 0x10 /* 802E9618 002E6558 4E 80 00 20 */ blr /* 802E961C 002E655C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E9620 002E6560 7C 08 02 A6 */ mflr r0 /* 802E9624 002E6564 90 01 00 24 */ stw r0, 0x24(r1) /* 802E9628 002E6568 D0 21 00 08 */ stfs f1, 8(r1) /* 802E962C 002E656C D0 41 00 0C */ stfs f2, 0xc(r1) /* 802E9630 002E6570 EC 01 18 2A */ fadds f0, f1, f3 /* 802E9634 002E6574 D0 01 00 10 */ stfs f0, 0x10(r1) /* 802E9638 002E6578 EC 02 20 2A */ fadds f0, f2, f4 /* 802E963C 002E657C D0 01 00 14 */ stfs f0, 0x14(r1) /* 802E9640 002E6580 38 81 00 08 */ addi r4, r1, 8 /* 802E9644 002E6584 81 83 00 00 */ lwz r12, 0(r3) /* 802E9648 002E6588 81 8C 00 0C */ lwz r12, 0xc(r12) /* 802E964C 002E658C 7D 89 03 A6 */ mtctr r12 /* 802E9650 002E6590 4E 80 04 21 */ bctrl /* 802E9654 002E6594 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E9658 002E6598 7C 08 03 A6 */ mtlr r0 /* 802E965C 002E659C 38 21 00 20 */ addi r1, r1, 0x20 /* 802E9660 002E65A0 4E 80 00 20 */ blr /* 802E9664 002E65A4 38 60 00 00 */ li r3, 0 /* 802E9668 002E65A8 4E 80 00 20 */ blr /* 802E966C 002E65AC 4E 80 00 20 */ blr