.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __GXSetDirtyState __GXSetDirtyState: /* 80280ED0 0027CB30 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80280ED4 0027CB34 7C 08 02 A6 */ mflr r0 /* 80280ED8 0027CB38 90 01 00 14 */ stw r0, 0x14(r1) /* 80280EDC 0027CB3C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80280EE0 0027CB40 83 E2 A0 D0 */ lwz r31, lbl_806426D0-_SDA2_BASE_(r2) /* 80280EE4 0027CB44 93 C1 00 08 */ stw r30, 8(r1) /* 80280EE8 0027CB48 83 DF 05 FC */ lwz r30, 0x5fc(r31) /* 80280EEC 0027CB4C 57 C0 07 FF */ clrlwi. r0, r30, 0x1f /* 80280EF0 0027CB50 41 82 00 08 */ beq lbl_80280EF8 /* 80280EF4 0027CB54 48 00 1F B5 */ bl __GXSetSUTexRegs lbl_80280EF8: /* 80280EF8 0027CB58 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e /* 80280EFC 0027CB5C 41 82 00 08 */ beq lbl_80280F04 /* 80280F00 0027CB60 48 00 2B E9 */ bl __GXUpdateBPMask lbl_80280F04: /* 80280F04 0027CB64 57 C0 07 7B */ rlwinm. r0, r30, 0, 0x1d, 0x1d /* 80280F08 0027CB68 41 82 00 24 */ beq lbl_80280F2C /* 80280F0C 0027CB6C 3C 80 CC 01 */ lis r4, 0xCC008000@ha /* 80280F10 0027CB70 38 00 00 61 */ li r0, 0x61 /* 80280F14 0027CB74 98 04 80 00 */ stb r0, 0xCC008000@l(r4) /* 80280F18 0027CB78 38 00 00 00 */ li r0, 0 /* 80280F1C 0027CB7C 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2) /* 80280F20 0027CB80 80 65 02 54 */ lwz r3, 0x254(r5) /* 80280F24 0027CB84 90 64 80 00 */ stw r3, -0x8000(r4) /* 80280F28 0027CB88 B0 05 00 02 */ sth r0, 2(r5) lbl_80280F2C: /* 80280F2C 0027CB8C 57 C0 07 39 */ rlwinm. r0, r30, 0, 0x1c, 0x1c /* 80280F30 0027CB90 41 82 00 08 */ beq lbl_80280F38 /* 80280F34 0027CB94 4B FF E9 31 */ bl __GXSetVCD lbl_80280F38: /* 80280F38 0027CB98 57 C0 06 F7 */ rlwinm. r0, r30, 0, 0x1b, 0x1b /* 80280F3C 0027CB9C 41 82 00 08 */ beq lbl_80280F44 /* 80280F40 0027CBA0 4B FF F0 DD */ bl __GXSetVAT lbl_80280F44: /* 80280F44 0027CBA4 57 C0 06 F9 */ rlwinm. r0, r30, 0, 0x1b, 0x1c /* 80280F48 0027CBA8 41 82 00 08 */ beq lbl_80280F50 /* 80280F4C 0027CBAC 4B FF E9 C9 */ bl __GXCalculateVLim lbl_80280F50: /* 80280F50 0027CBB0 57 DE 00 2F */ rlwinm. r30, r30, 0, 0, 0x17 /* 80280F54 0027CBB4 41 82 01 D4 */ beq lbl_80281128 /* 80280F58 0027CBB8 57 C4 05 2F */ rlwinm. r4, r30, 0, 0x14, 0x17 /* 80280F5C 0027CBBC 41 82 00 94 */ beq lbl_80280FF0 /* 80280F60 0027CBC0 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17 /* 80280F64 0027CBC4 41 82 00 20 */ beq lbl_80280F84 /* 80280F68 0027CBC8 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80280F6C 0027CBCC 38 00 00 10 */ li r0, 0x10 /* 80280F70 0027CBD0 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80280F74 0027CBD4 38 00 10 0A */ li r0, 0x100a /* 80280F78 0027CBD8 90 03 80 00 */ stw r0, -0x8000(r3) /* 80280F7C 0027CBDC 80 1F 00 A8 */ lwz r0, 0xa8(r31) /* 80280F80 0027CBE0 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80280F84: /* 80280F84 0027CBE4 54 80 05 AD */ rlwinm. r0, r4, 0, 0x16, 0x16 /* 80280F88 0027CBE8 41 82 00 20 */ beq lbl_80280FA8 /* 80280F8C 0027CBEC 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80280F90 0027CBF0 38 00 00 10 */ li r0, 0x10 /* 80280F94 0027CBF4 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80280F98 0027CBF8 38 00 10 0B */ li r0, 0x100b /* 80280F9C 0027CBFC 90 03 80 00 */ stw r0, -0x8000(r3) /* 80280FA0 0027CC00 80 1F 00 AC */ lwz r0, 0xac(r31) /* 80280FA4 0027CC04 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80280FA8: /* 80280FA8 0027CC08 54 80 05 6B */ rlwinm. r0, r4, 0, 0x15, 0x15 /* 80280FAC 0027CC0C 41 82 00 20 */ beq lbl_80280FCC /* 80280FB0 0027CC10 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80280FB4 0027CC14 38 00 00 10 */ li r0, 0x10 /* 80280FB8 0027CC18 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80280FBC 0027CC1C 38 00 10 0C */ li r0, 0x100c /* 80280FC0 0027CC20 90 03 80 00 */ stw r0, -0x8000(r3) /* 80280FC4 0027CC24 80 1F 00 B0 */ lwz r0, 0xb0(r31) /* 80280FC8 0027CC28 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80280FCC: /* 80280FCC 0027CC2C 54 80 05 29 */ rlwinm. r0, r4, 0, 0x14, 0x14 /* 80280FD0 0027CC30 41 82 00 20 */ beq lbl_80280FF0 /* 80280FD4 0027CC34 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80280FD8 0027CC38 38 00 00 10 */ li r0, 0x10 /* 80280FDC 0027CC3C 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80280FE0 0027CC40 38 00 10 0D */ li r0, 0x100d /* 80280FE4 0027CC44 90 03 80 00 */ stw r0, -0x8000(r3) /* 80280FE8 0027CC48 80 1F 00 B4 */ lwz r0, 0xb4(r31) /* 80280FEC 0027CC4C 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80280FF0: /* 80280FF0 0027CC50 57 C7 01 CE */ rlwinm r7, r30, 0, 7, 7 /* 80280FF4 0027CC54 53 C7 04 27 */ rlwimi. r7, r30, 0, 0x10, 0x13 /* 80280FF8 0027CC58 41 82 00 70 */ beq lbl_80281068 /* 80280FFC 0027CC5C 54 E0 01 CF */ rlwinm. r0, r7, 0, 7, 7 /* 80281000 0027CC60 38 C0 10 0E */ li r6, 0x100e /* 80281004 0027CC64 41 82 00 24 */ beq lbl_80281028 /* 80281008 0027CC68 80 BF 02 54 */ lwz r5, 0x254(r31) /* 8028100C 0027CC6C 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80281010 0027CC70 38 80 00 10 */ li r4, 0x10 /* 80281014 0027CC74 38 00 10 09 */ li r0, 0x1009 /* 80281018 0027CC78 98 83 80 00 */ stb r4, 0xCC008000@l(r3) /* 8028101C 0027CC7C 54 A4 E7 7E */ rlwinm r4, r5, 0x1c, 0x1d, 0x1f /* 80281020 0027CC80 90 03 80 00 */ stw r0, -0x8000(r3) /* 80281024 0027CC84 90 83 80 00 */ stw r4, -0x8000(r3) lbl_80281028: /* 80281028 0027CC88 7F E5 FB 78 */ mr r5, r31 /* 8028102C 0027CC8C 54 E7 A7 3E */ rlwinm r7, r7, 0x14, 0x1c, 0x1f /* 80281030 0027CC90 38 80 00 10 */ li r4, 0x10 /* 80281034 0027CC94 3C 60 CC 01 */ lis r3, 0xcc01 /* 80281038 0027CC98 48 00 00 28 */ b lbl_80281060 lbl_8028103C: /* 8028103C 0027CC9C 54 E0 07 FF */ clrlwi. r0, r7, 0x1f /* 80281040 0027CCA0 41 82 00 14 */ beq lbl_80281054 /* 80281044 0027CCA4 98 83 80 00 */ stb r4, -0x8000(r3) /* 80281048 0027CCA8 90 C3 80 00 */ stw r6, -0x8000(r3) /* 8028104C 0027CCAC 80 05 00 B8 */ lwz r0, 0xb8(r5) /* 80281050 0027CCB0 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80281054: /* 80281054 0027CCB4 54 E7 F8 7E */ srwi r7, r7, 1 /* 80281058 0027CCB8 38 A5 00 04 */ addi r5, r5, 4 /* 8028105C 0027CCBC 38 C6 00 01 */ addi r6, r6, 1 lbl_80281060: /* 80281060 0027CCC0 2C 07 00 00 */ cmpwi r7, 0 /* 80281064 0027CCC4 40 82 FF D8 */ bne lbl_8028103C lbl_80281068: /* 80281068 0027CCC8 77 C8 02 FF */ andis. r8, r30, 0x2ff /* 8028106C 0027CCCC 41 82 00 84 */ beq lbl_802810F0 /* 80281070 0027CCD0 55 00 01 8D */ rlwinm. r0, r8, 0, 6, 6 /* 80281074 0027CCD4 38 C0 10 40 */ li r6, 0x1040 /* 80281078 0027CCD8 41 82 00 24 */ beq lbl_8028109C /* 8028107C 0027CCDC 80 BF 02 54 */ lwz r5, 0x254(r31) /* 80281080 0027CCE0 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80281084 0027CCE4 38 80 00 10 */ li r4, 0x10 /* 80281088 0027CCE8 38 00 10 3F */ li r0, 0x103f /* 8028108C 0027CCEC 98 83 80 00 */ stb r4, 0xCC008000@l(r3) /* 80281090 0027CCF0 54 A4 07 3E */ clrlwi r4, r5, 0x1c /* 80281094 0027CCF4 90 03 80 00 */ stw r0, -0x8000(r3) /* 80281098 0027CCF8 90 83 80 00 */ stw r4, -0x8000(r3) lbl_8028109C: /* 8028109C 0027CCFC 7F E7 FB 78 */ mr r7, r31 /* 802810A0 0027CD00 55 08 86 3E */ rlwinm r8, r8, 0x10, 0x18, 0x1f /* 802810A4 0027CD04 38 80 00 10 */ li r4, 0x10 /* 802810A8 0027CD08 3C 60 CC 01 */ lis r3, 0xcc01 /* 802810AC 0027CD0C 48 00 00 3C */ b lbl_802810E8 lbl_802810B0: /* 802810B0 0027CD10 55 00 07 FF */ clrlwi. r0, r8, 0x1f /* 802810B4 0027CD14 38 A6 00 10 */ addi r5, r6, 0x10 /* 802810B8 0027CD18 41 82 00 24 */ beq lbl_802810DC /* 802810BC 0027CD1C 98 83 80 00 */ stb r4, -0x8000(r3) /* 802810C0 0027CD20 90 C3 80 00 */ stw r6, -0x8000(r3) /* 802810C4 0027CD24 80 07 00 C8 */ lwz r0, 0xc8(r7) /* 802810C8 0027CD28 90 03 80 00 */ stw r0, -0x8000(r3) /* 802810CC 0027CD2C 98 83 80 00 */ stb r4, -0x8000(r3) /* 802810D0 0027CD30 90 A3 80 00 */ stw r5, -0x8000(r3) /* 802810D4 0027CD34 80 07 00 E8 */ lwz r0, 0xe8(r7) /* 802810D8 0027CD38 90 03 80 00 */ stw r0, -0x8000(r3) lbl_802810DC: /* 802810DC 0027CD3C 55 08 F8 7E */ srwi r8, r8, 1 /* 802810E0 0027CD40 38 C6 00 01 */ addi r6, r6, 1 /* 802810E4 0027CD44 38 E7 00 04 */ addi r7, r7, 4 lbl_802810E8: /* 802810E8 0027CD48 2C 08 00 00 */ cmpwi r8, 0 /* 802810EC 0027CD4C 40 82 FF C4 */ bne lbl_802810B0 lbl_802810F0: /* 802810F0 0027CD50 57 C0 01 4B */ rlwinm. r0, r30, 0, 5, 5 /* 802810F4 0027CD54 41 82 00 14 */ beq lbl_80281108 /* 802810F8 0027CD58 38 60 00 00 */ li r3, 0 /* 802810FC 0027CD5C 48 00 5C CD */ bl __GXSetMatrixIndex /* 80281100 0027CD60 38 60 00 05 */ li r3, 5 /* 80281104 0027CD64 48 00 5C C5 */ bl __GXSetMatrixIndex lbl_80281108: /* 80281108 0027CD68 57 C0 00 C7 */ rlwinm. r0, r30, 0, 3, 3 /* 8028110C 0027CD6C 41 82 00 08 */ beq lbl_80281114 /* 80281110 0027CD70 48 00 5A F5 */ bl __GXSetViewport lbl_80281114: /* 80281114 0027CD74 57 C0 01 09 */ rlwinm. r0, r30, 0, 4, 4 /* 80281118 0027CD78 41 82 00 08 */ beq lbl_80281120 /* 8028111C 0027CD7C 48 00 58 79 */ bl __GXSetProjection lbl_80281120: /* 80281120 0027CD80 38 00 00 01 */ li r0, 1 /* 80281124 0027CD84 B0 1F 00 02 */ sth r0, 2(r31) lbl_80281128: /* 80281128 0027CD88 38 00 00 00 */ li r0, 0 /* 8028112C 0027CD8C 90 1F 05 FC */ stw r0, 0x5fc(r31) /* 80281130 0027CD90 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80281134 0027CD94 83 C1 00 08 */ lwz r30, 8(r1) /* 80281138 0027CD98 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028113C 0027CD9C 7C 08 03 A6 */ mtlr r0 /* 80281140 0027CDA0 38 21 00 10 */ addi r1, r1, 0x10 /* 80281144 0027CDA4 4E 80 00 20 */ blr .global GXBegin GXBegin: /* 80281148 0027CDA8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8028114C 0027CDAC 7C 08 02 A6 */ mflr r0 /* 80281150 0027CDB0 90 01 00 24 */ stw r0, 0x24(r1) /* 80281154 0027CDB4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80281158 0027CDB8 83 E2 A0 D0 */ lwz r31, lbl_806426D0-_SDA2_BASE_(r2) /* 8028115C 0027CDBC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80281160 0027CDC0 7C BE 2B 78 */ mr r30, r5 /* 80281164 0027CDC4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80281168 0027CDC8 7C 9D 23 78 */ mr r29, r4 /* 8028116C 0027CDCC 93 81 00 10 */ stw r28, 0x10(r1) /* 80281170 0027CDD0 7C 7C 1B 78 */ mr r28, r3 /* 80281174 0027CDD4 80 1F 05 FC */ lwz r0, 0x5fc(r31) /* 80281178 0027CDD8 2C 00 00 00 */ cmpwi r0, 0 /* 8028117C 0027CDDC 41 82 00 08 */ beq lbl_80281184 /* 80281180 0027CDE0 4B FF FD 51 */ bl __GXSetDirtyState lbl_80281184: /* 80281184 0027CDE4 80 1F 00 00 */ lwz r0, 0(r31) /* 80281188 0027CDE8 2C 00 00 00 */ cmpwi r0, 0 /* 8028118C 0027CDEC 40 82 00 D8 */ bne lbl_80281264 /* 80281190 0027CDF0 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2) /* 80281194 0027CDF4 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80281198 0027CDF8 38 00 00 98 */ li r0, 0x98 /* 8028119C 0027CDFC 38 C0 00 00 */ li r6, 0 /* 802811A0 0027CE00 A0 A7 00 04 */ lhz r5, 4(r7) /* 802811A4 0027CE04 A0 87 00 06 */ lhz r4, 6(r7) /* 802811A8 0027CE08 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 802811AC 0027CE0C 7C A5 21 D7 */ mullw. r5, r5, r4 /* 802811B0 0027CE10 A0 07 00 04 */ lhz r0, 4(r7) /* 802811B4 0027CE14 B0 03 80 00 */ sth r0, -0x8000(r3) /* 802811B8 0027CE18 41 82 00 A4 */ beq lbl_8028125C /* 802811BC 0027CE1C 38 65 00 03 */ addi r3, r5, 3 /* 802811C0 0027CE20 38 E5 FF E0 */ addi r7, r5, -32 /* 802811C4 0027CE24 54 60 F0 BE */ srwi r0, r3, 2 /* 802811C8 0027CE28 28 00 00 08 */ cmplwi r0, 8 /* 802811CC 0027CE2C 40 81 00 68 */ ble lbl_80281234 /* 802811D0 0027CE30 28 03 00 03 */ cmplwi r3, 3 /* 802811D4 0027CE34 38 00 00 00 */ li r0, 0 /* 802811D8 0027CE38 41 80 00 10 */ blt lbl_802811E8 /* 802811DC 0027CE3C 7C 05 18 40 */ cmplw r5, r3 /* 802811E0 0027CE40 41 81 00 08 */ bgt lbl_802811E8 /* 802811E4 0027CE44 38 00 00 01 */ li r0, 1 lbl_802811E8: /* 802811E8 0027CE48 2C 00 00 00 */ cmpwi r0, 0 /* 802811EC 0027CE4C 41 82 00 48 */ beq lbl_80281234 /* 802811F0 0027CE50 38 07 00 1F */ addi r0, r7, 0x1f /* 802811F4 0027CE54 38 80 00 00 */ li r4, 0 /* 802811F8 0027CE58 54 00 D9 7E */ srwi r0, r0, 5 /* 802811FC 0027CE5C 3C 60 CC 01 */ lis r3, 0xcc01 /* 80281200 0027CE60 7C 09 03 A6 */ mtctr r0 /* 80281204 0027CE64 28 07 00 00 */ cmplwi r7, 0 /* 80281208 0027CE68 40 81 00 2C */ ble lbl_80281234 lbl_8028120C: /* 8028120C 0027CE6C 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281210 0027CE70 38 C6 00 20 */ addi r6, r6, 0x20 /* 80281214 0027CE74 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281218 0027CE78 90 83 80 00 */ stw r4, -0x8000(r3) /* 8028121C 0027CE7C 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281220 0027CE80 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281224 0027CE84 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281228 0027CE88 90 83 80 00 */ stw r4, -0x8000(r3) /* 8028122C 0027CE8C 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281230 0027CE90 42 00 FF DC */ bdnz lbl_8028120C lbl_80281234: /* 80281234 0027CE94 38 05 00 03 */ addi r0, r5, 3 /* 80281238 0027CE98 38 80 00 00 */ li r4, 0 /* 8028123C 0027CE9C 7C 06 00 50 */ subf r0, r6, r0 /* 80281240 0027CEA0 3C 60 CC 01 */ lis r3, 0xcc01 /* 80281244 0027CEA4 54 00 F0 BE */ srwi r0, r0, 2 /* 80281248 0027CEA8 7C 09 03 A6 */ mtctr r0 /* 8028124C 0027CEAC 7C 06 28 40 */ cmplw r6, r5 /* 80281250 0027CEB0 40 80 00 0C */ bge lbl_8028125C lbl_80281254: /* 80281254 0027CEB4 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281258 0027CEB8 42 00 FF FC */ bdnz lbl_80281254 lbl_8028125C: /* 8028125C 0027CEBC 38 00 00 01 */ li r0, 1 /* 80281260 0027CEC0 B0 1F 00 02 */ sth r0, 2(r31) lbl_80281264: /* 80281264 0027CEC4 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80281268 0027CEC8 7F A0 E3 78 */ or r0, r29, r28 /* 8028126C 0027CECC 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80281270 0027CED0 B3 C3 80 00 */ sth r30, -0x8000(r3) /* 80281274 0027CED4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80281278 0027CED8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8028127C 0027CEDC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80281280 0027CEE0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80281284 0027CEE4 83 81 00 10 */ lwz r28, 0x10(r1) /* 80281288 0027CEE8 7C 08 03 A6 */ mtlr r0 /* 8028128C 0027CEEC 38 21 00 20 */ addi r1, r1, 0x20 /* 80281290 0027CEF0 4E 80 00 20 */ blr .global __GXSendFlushPrim __GXSendFlushPrim: /* 80281294 0027CEF4 80 C2 A0 D0 */ lwz r6, lbl_806426D0-_SDA2_BASE_(r2) /* 80281298 0027CEF8 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 8028129C 0027CEFC 38 00 00 98 */ li r0, 0x98 /* 802812A0 0027CF00 38 E0 00 00 */ li r7, 0 /* 802812A4 0027CF04 A0 A6 00 04 */ lhz r5, 4(r6) /* 802812A8 0027CF08 A0 86 00 06 */ lhz r4, 6(r6) /* 802812AC 0027CF0C 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 802812B0 0027CF10 7D 05 21 D7 */ mullw. r8, r5, r4 /* 802812B4 0027CF14 A0 06 00 04 */ lhz r0, 4(r6) /* 802812B8 0027CF18 B0 03 80 00 */ sth r0, -0x8000(r3) /* 802812BC 0027CF1C 41 82 00 A4 */ beq lbl_80281360 /* 802812C0 0027CF20 38 68 00 03 */ addi r3, r8, 3 /* 802812C4 0027CF24 38 A8 FF E0 */ addi r5, r8, -32 /* 802812C8 0027CF28 54 60 F0 BE */ srwi r0, r3, 2 /* 802812CC 0027CF2C 28 00 00 08 */ cmplwi r0, 8 /* 802812D0 0027CF30 40 81 00 68 */ ble lbl_80281338 /* 802812D4 0027CF34 28 03 00 03 */ cmplwi r3, 3 /* 802812D8 0027CF38 38 00 00 00 */ li r0, 0 /* 802812DC 0027CF3C 41 80 00 10 */ blt lbl_802812EC /* 802812E0 0027CF40 7C 08 18 40 */ cmplw r8, r3 /* 802812E4 0027CF44 41 81 00 08 */ bgt lbl_802812EC /* 802812E8 0027CF48 38 00 00 01 */ li r0, 1 lbl_802812EC: /* 802812EC 0027CF4C 2C 00 00 00 */ cmpwi r0, 0 /* 802812F0 0027CF50 41 82 00 48 */ beq lbl_80281338 /* 802812F4 0027CF54 38 05 00 1F */ addi r0, r5, 0x1f /* 802812F8 0027CF58 38 80 00 00 */ li r4, 0 /* 802812FC 0027CF5C 54 00 D9 7E */ srwi r0, r0, 5 /* 80281300 0027CF60 3C 60 CC 01 */ lis r3, 0xcc01 /* 80281304 0027CF64 7C 09 03 A6 */ mtctr r0 /* 80281308 0027CF68 28 05 00 00 */ cmplwi r5, 0 /* 8028130C 0027CF6C 40 81 00 2C */ ble lbl_80281338 lbl_80281310: /* 80281310 0027CF70 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281314 0027CF74 38 E7 00 20 */ addi r7, r7, 0x20 /* 80281318 0027CF78 90 83 80 00 */ stw r4, -0x8000(r3) /* 8028131C 0027CF7C 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281320 0027CF80 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281324 0027CF84 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281328 0027CF88 90 83 80 00 */ stw r4, -0x8000(r3) /* 8028132C 0027CF8C 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281330 0027CF90 90 83 80 00 */ stw r4, -0x8000(r3) /* 80281334 0027CF94 42 00 FF DC */ bdnz lbl_80281310 lbl_80281338: /* 80281338 0027CF98 38 08 00 03 */ addi r0, r8, 3 /* 8028133C 0027CF9C 38 80 00 00 */ li r4, 0 /* 80281340 0027CFA0 7C 07 00 50 */ subf r0, r7, r0 /* 80281344 0027CFA4 3C 60 CC 01 */ lis r3, 0xcc01 /* 80281348 0027CFA8 54 00 F0 BE */ srwi r0, r0, 2 /* 8028134C 0027CFAC 7C 09 03 A6 */ mtctr r0 /* 80281350 0027CFB0 7C 07 40 40 */ cmplw r7, r8 /* 80281354 0027CFB4 40 80 00 0C */ bge lbl_80281360 lbl_80281358: /* 80281358 0027CFB8 90 83 80 00 */ stw r4, -0x8000(r3) /* 8028135C 0027CFBC 42 00 FF FC */ bdnz lbl_80281358 lbl_80281360: /* 80281360 0027CFC0 38 00 00 01 */ li r0, 1 /* 80281364 0027CFC4 B0 06 00 02 */ sth r0, 2(r6) /* 80281368 0027CFC8 4E 80 00 20 */ blr .global GXSetLineWidth GXSetLineWidth: /* 8028136C 0027CFCC 81 02 A0 D0 */ lwz r8, lbl_806426D0-_SDA2_BASE_(r2) /* 80281370 0027CFD0 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80281374 0027CFD4 38 C0 00 61 */ li r6, 0x61 /* 80281378 0027CFD8 38 00 00 00 */ li r0, 0 /* 8028137C 0027CFDC 80 E8 00 7C */ lwz r7, 0x7c(r8) /* 80281380 0027CFE0 50 67 06 3E */ rlwimi r7, r3, 0, 0x18, 0x1f /* 80281384 0027CFE4 50 87 83 5E */ rlwimi r7, r4, 0x10, 0xd, 0xf /* 80281388 0027CFE8 90 E8 00 7C */ stw r7, 0x7c(r8) /* 8028138C 0027CFEC 98 C5 80 00 */ stb r6, 0xCC008000@l(r5) /* 80281390 0027CFF0 80 68 00 7C */ lwz r3, 0x7c(r8) /* 80281394 0027CFF4 90 65 80 00 */ stw r3, -0x8000(r5) /* 80281398 0027CFF8 B0 08 00 02 */ sth r0, 2(r8) /* 8028139C 0027CFFC 4E 80 00 20 */ blr .global GXSetPointSize GXSetPointSize: /* 802813A0 0027D000 81 02 A0 D0 */ lwz r8, lbl_806426D0-_SDA2_BASE_(r2) /* 802813A4 0027D004 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 802813A8 0027D008 38 C0 00 61 */ li r6, 0x61 /* 802813AC 0027D00C 38 00 00 00 */ li r0, 0 /* 802813B0 0027D010 80 E8 00 7C */ lwz r7, 0x7c(r8) /* 802813B4 0027D014 50 67 44 2E */ rlwimi r7, r3, 8, 0x10, 0x17 /* 802813B8 0027D018 50 87 9A 98 */ rlwimi r7, r4, 0x13, 0xa, 0xc /* 802813BC 0027D01C 90 E8 00 7C */ stw r7, 0x7c(r8) /* 802813C0 0027D020 98 C5 80 00 */ stb r6, 0xCC008000@l(r5) /* 802813C4 0027D024 80 68 00 7C */ lwz r3, 0x7c(r8) /* 802813C8 0027D028 90 65 80 00 */ stw r3, -0x8000(r5) /* 802813CC 0027D02C B0 08 00 02 */ sth r0, 2(r8) /* 802813D0 0027D030 4E 80 00 20 */ blr .global GXEnableTexOffsets GXEnableTexOffsets: /* 802813D4 0027D034 81 22 A0 D0 */ lwz r9, lbl_806426D0-_SDA2_BASE_(r2) /* 802813D8 0027D038 54 60 10 3A */ slwi r0, r3, 2 /* 802813DC 0027D03C 3C C0 CC 01 */ lis r6, 0xCC008000@ha /* 802813E0 0027D040 38 60 00 61 */ li r3, 0x61 /* 802813E4 0027D044 7D 09 02 14 */ add r8, r9, r0 /* 802813E8 0027D048 38 00 00 00 */ li r0, 0 /* 802813EC 0027D04C 80 E8 01 08 */ lwz r7, 0x108(r8) /* 802813F0 0027D050 50 87 93 5A */ rlwimi r7, r4, 0x12, 0xd, 0xd /* 802813F4 0027D054 50 A7 9B 18 */ rlwimi r7, r5, 0x13, 0xc, 0xc /* 802813F8 0027D058 90 E8 01 08 */ stw r7, 0x108(r8) /* 802813FC 0027D05C 98 66 80 00 */ stb r3, 0xCC008000@l(r6) /* 80281400 0027D060 80 68 01 08 */ lwz r3, 0x108(r8) /* 80281404 0027D064 90 66 80 00 */ stw r3, -0x8000(r6) /* 80281408 0027D068 B0 09 00 02 */ sth r0, 2(r9) /* 8028140C 0027D06C 4E 80 00 20 */ blr .global GXSetCullMode GXSetCullMode: /* 80281410 0027D070 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2) /* 80281414 0027D074 54 65 FF FE */ rlwinm r5, r3, 0x1f, 0x1f, 0x1f /* 80281418 0027D078 50 65 0F BC */ rlwimi r5, r3, 1, 0x1e, 0x1e /* 8028141C 0027D07C 80 04 02 54 */ lwz r0, 0x254(r4) /* 80281420 0027D080 50 A0 74 22 */ rlwimi r0, r5, 0xe, 0x10, 0x11 /* 80281424 0027D084 90 04 02 54 */ stw r0, 0x254(r4) /* 80281428 0027D088 80 04 05 FC */ lwz r0, 0x5fc(r4) /* 8028142C 0027D08C 60 00 00 04 */ ori r0, r0, 4 /* 80281430 0027D090 90 04 05 FC */ stw r0, 0x5fc(r4) /* 80281434 0027D094 4E 80 00 20 */ blr .global GXSetCoPlanar GXSetCoPlanar: /* 80281438 0027D098 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2) /* 8028143C 0027D09C 3C 80 CC 01 */ lis r4, 0xCC008000@ha /* 80281440 0027D0A0 38 A0 00 61 */ li r5, 0x61 /* 80281444 0027D0A4 3C 00 FE 08 */ lis r0, 0xfe08 /* 80281448 0027D0A8 80 C7 02 54 */ lwz r6, 0x254(r7) /* 8028144C 0027D0AC 50 66 9B 18 */ rlwimi r6, r3, 0x13, 0xc, 0xc /* 80281450 0027D0B0 90 C7 02 54 */ stw r6, 0x254(r7) /* 80281454 0027D0B4 98 A4 80 00 */ stb r5, 0xCC008000@l(r4) /* 80281458 0027D0B8 90 04 80 00 */ stw r0, -0x8000(r4) /* 8028145C 0027D0BC 98 A4 80 00 */ stb r5, -0x8000(r4) /* 80281460 0027D0C0 80 07 02 54 */ lwz r0, 0x254(r7) /* 80281464 0027D0C4 90 04 80 00 */ stw r0, -0x8000(r4) /* 80281468 0027D0C8 4E 80 00 20 */ blr