.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global GXSetTevIndirect GXSetTevIndirect: /* 80283364 0027EFC4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80283368 0027EFC8 39 80 00 00 */ li r12, 0 /* 8028336C 0027EFCC 50 8C 07 BE */ rlwimi r12, r4, 0, 0x1e, 0x1f /* 80283370 0027EFD0 38 83 00 10 */ addi r4, r3, 0x10 /* 80283374 0027EFD4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80283378 0027EFD8 50 AC 17 3A */ rlwimi r12, r5, 2, 0x1c, 0x1d /* 8028337C 0027EFDC 3D 60 CC 01 */ lis r11, 0xCC008000@ha /* 80283380 0027EFE0 38 00 00 61 */ li r0, 0x61 /* 80283384 0027EFE4 98 0B 80 00 */ stb r0, 0xCC008000@l(r11) /* 80283388 0027EFE8 50 CC 26 76 */ rlwimi r12, r6, 4, 0x19, 0x1b /* 8028338C 0027EFEC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80283390 0027EFF0 38 00 00 00 */ li r0, 0 /* 80283394 0027EFF4 88 A1 00 1B */ lbz r5, 0x1b(r1) /* 80283398 0027EFF8 53 EC 3D F0 */ rlwimi r12, r31, 7, 0x17, 0x18 /* 8028339C 0027EFFC 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 802833A0 0027F000 50 EC 4C EC */ rlwimi r12, r7, 9, 0x13, 0x16 /* 802833A4 0027F004 51 0C 6C 24 */ rlwimi r12, r8, 0xd, 0x10, 0x12 /* 802833A8 0027F008 51 2C 83 5E */ rlwimi r12, r9, 0x10, 0xd, 0xf /* 802833AC 0027F00C 50 AC 9B 18 */ rlwimi r12, r5, 0x13, 0xc, 0xc /* 802833B0 0027F010 51 4C A2 D6 */ rlwimi r12, r10, 0x14, 0xb, 0xb /* 802833B4 0027F014 50 8C C0 0E */ rlwimi r12, r4, 0x18, 0, 7 /* 802833B8 0027F018 91 8B 80 00 */ stw r12, -0x8000(r11) /* 802833BC 0027F01C B0 03 00 02 */ sth r0, 2(r3) /* 802833C0 0027F020 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802833C4 0027F024 38 21 00 10 */ addi r1, r1, 0x10 /* 802833C8 0027F028 4E 80 00 20 */ blr .global GXSetIndTexMtx GXSetIndTexMtx: /* 802833CC 0027F02C 2C 03 00 08 */ cmpwi r3, 8 /* 802833D0 0027F030 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802833D4 0027F034 41 82 00 44 */ beq lbl_80283418 /* 802833D8 0027F038 40 80 00 1C */ bge lbl_802833F4 /* 802833DC 0027F03C 2C 03 00 04 */ cmpwi r3, 4 /* 802833E0 0027F040 41 82 00 38 */ beq lbl_80283418 /* 802833E4 0027F044 40 80 00 24 */ bge lbl_80283408 /* 802833E8 0027F048 2C 03 00 01 */ cmpwi r3, 1 /* 802833EC 0027F04C 40 80 00 14 */ bge lbl_80283400 /* 802833F0 0027F050 48 00 00 28 */ b lbl_80283418 lbl_802833F4: /* 802833F4 0027F054 2C 03 00 0C */ cmpwi r3, 0xc /* 802833F8 0027F058 40 80 00 20 */ bge lbl_80283418 /* 802833FC 0027F05C 48 00 00 14 */ b lbl_80283410 lbl_80283400: /* 80283400 0027F060 38 63 FF FF */ addi r3, r3, -1 /* 80283404 0027F064 48 00 00 18 */ b lbl_8028341C lbl_80283408: /* 80283408 0027F068 38 63 FF FB */ addi r3, r3, -5 /* 8028340C 0027F06C 48 00 00 10 */ b lbl_8028341C lbl_80283410: /* 80283410 0027F070 38 63 FF F7 */ addi r3, r3, -9 /* 80283414 0027F074 48 00 00 08 */ b lbl_8028341C lbl_80283418: /* 80283418 0027F078 38 60 00 00 */ li r3, 0 lbl_8028341C: /* 8028341C 0027F07C C0 C2 A1 68 */ lfs f6, lbl_80642768-_SDA2_BASE_(r2) /* 80283420 0027F080 54 60 10 3A */ slwi r0, r3, 2 /* 80283424 0027F084 C0 24 00 00 */ lfs f1, 0(r4) /* 80283428 0027F088 7D 23 00 50 */ subf r9, r3, r0 /* 8028342C 0027F08C C0 04 00 0C */ lfs f0, 0xc(r4) /* 80283430 0027F090 39 05 00 11 */ addi r8, r5, 0x11 /* 80283434 0027F094 EC 26 00 72 */ fmuls f1, f6, f1 /* 80283438 0027F098 C0 64 00 04 */ lfs f3, 4(r4) /* 8028343C 0027F09C EC 06 00 32 */ fmuls f0, f6, f0 /* 80283440 0027F0A0 C0 44 00 10 */ lfs f2, 0x10(r4) /* 80283444 0027F0A4 EC 66 00 F2 */ fmuls f3, f6, f3 /* 80283448 0027F0A8 3C C0 CC 01 */ lis r6, 0xCC008000@ha /* 8028344C 0027F0AC FC A0 08 1E */ fctiwz f5, f1 /* 80283450 0027F0B0 C0 24 00 08 */ lfs f1, 8(r4) /* 80283454 0027F0B4 FC 80 00 1E */ fctiwz f4, f0 /* 80283458 0027F0B8 C0 04 00 14 */ lfs f0, 0x14(r4) /* 8028345C 0027F0BC EC 46 00 B2 */ fmuls f2, f6, f2 /* 80283460 0027F0C0 38 E0 00 61 */ li r7, 0x61 /* 80283464 0027F0C4 D8 A1 00 08 */ stfd f5, 8(r1) /* 80283468 0027F0C8 FC 60 18 1E */ fctiwz f3, f3 /* 8028346C 0027F0CC EC 26 00 72 */ fmuls f1, f6, f1 /* 80283470 0027F0D0 38 A0 00 00 */ li r5, 0 /* 80283474 0027F0D4 80 01 00 0C */ lwz r0, 0xc(r1) /* 80283478 0027F0D8 FC 40 10 1E */ fctiwz f2, f2 /* 8028347C 0027F0DC EC 06 00 32 */ fmuls f0, f6, f0 /* 80283480 0027F0E0 FC 20 08 1E */ fctiwz f1, f1 /* 80283484 0027F0E4 D8 81 00 10 */ stfd f4, 0x10(r1) /* 80283488 0027F0E8 50 05 05 7E */ rlwimi r5, r0, 0, 0x15, 0x1f /* 8028348C 0027F0EC FC 00 00 1E */ fctiwz f0, f0 /* 80283490 0027F0F0 38 69 00 06 */ addi r3, r9, 6 /* 80283494 0027F0F4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80283498 0027F0F8 D8 61 00 18 */ stfd f3, 0x18(r1) /* 8028349C 0027F0FC 38 80 00 00 */ li r4, 0 /* 802834A0 0027F100 50 05 5A A8 */ rlwimi r5, r0, 0xb, 0xa, 0x14 /* 802834A4 0027F104 80 01 00 1C */ lwz r0, 0x1c(r1) /* 802834A8 0027F108 51 05 B2 12 */ rlwimi r5, r8, 0x16, 8, 9 /* 802834AC 0027F10C 50 65 C0 0E */ rlwimi r5, r3, 0x18, 0, 7 /* 802834B0 0027F110 98 E6 80 00 */ stb r7, 0xCC008000@l(r6) /* 802834B4 0027F114 50 04 05 7E */ rlwimi r4, r0, 0, 0x15, 0x1f /* 802834B8 0027F118 38 69 00 07 */ addi r3, r9, 7 /* 802834BC 0027F11C 90 A6 80 00 */ stw r5, -0x8000(r6) /* 802834C0 0027F120 38 A0 00 00 */ li r5, 0 /* 802834C4 0027F124 D8 41 00 20 */ stfd f2, 0x20(r1) /* 802834C8 0027F128 80 01 00 24 */ lwz r0, 0x24(r1) /* 802834CC 0027F12C D8 21 00 28 */ stfd f1, 0x28(r1) /* 802834D0 0027F130 50 04 5A A8 */ rlwimi r4, r0, 0xb, 0xa, 0x14 /* 802834D4 0027F134 80 01 00 2C */ lwz r0, 0x2c(r1) /* 802834D8 0027F138 51 04 A2 12 */ rlwimi r4, r8, 0x14, 8, 9 /* 802834DC 0027F13C 50 64 C0 0E */ rlwimi r4, r3, 0x18, 0, 7 /* 802834E0 0027F140 98 E6 80 00 */ stb r7, -0x8000(r6) /* 802834E4 0027F144 50 05 05 7E */ rlwimi r5, r0, 0, 0x15, 0x1f /* 802834E8 0027F148 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 802834EC 0027F14C 90 86 80 00 */ stw r4, -0x8000(r6) /* 802834F0 0027F150 38 89 00 08 */ addi r4, r9, 8 /* 802834F4 0027F154 D8 01 00 30 */ stfd f0, 0x30(r1) /* 802834F8 0027F158 80 01 00 34 */ lwz r0, 0x34(r1) /* 802834FC 0027F15C 98 E6 80 00 */ stb r7, -0x8000(r6) /* 80283500 0027F160 50 05 5A A8 */ rlwimi r5, r0, 0xb, 0xa, 0x14 /* 80283504 0027F164 38 00 00 00 */ li r0, 0 /* 80283508 0027F168 51 05 92 12 */ rlwimi r5, r8, 0x12, 8, 9 /* 8028350C 0027F16C 50 85 C0 0E */ rlwimi r5, r4, 0x18, 0, 7 /* 80283510 0027F170 90 A6 80 00 */ stw r5, -0x8000(r6) /* 80283514 0027F174 B0 03 00 02 */ sth r0, 2(r3) /* 80283518 0027F178 38 21 00 40 */ addi r1, r1, 0x40 /* 8028351C 0027F17C 4E 80 00 20 */ blr .global GXSetIndTexCoordScale GXSetIndTexCoordScale: /* 80283520 0027F180 2C 03 00 02 */ cmpwi r3, 2 /* 80283524 0027F184 41 82 00 8C */ beq lbl_802835B0 /* 80283528 0027F188 40 80 00 14 */ bge lbl_8028353C /* 8028352C 0027F18C 2C 03 00 00 */ cmpwi r3, 0 /* 80283530 0027F190 41 82 00 18 */ beq lbl_80283548 /* 80283534 0027F194 40 80 00 48 */ bge lbl_8028357C /* 80283538 0027F198 48 00 00 DC */ b lbl_80283614 lbl_8028353C: /* 8028353C 0027F19C 2C 03 00 04 */ cmpwi r3, 4 /* 80283540 0027F1A0 40 80 00 D4 */ bge lbl_80283614 /* 80283544 0027F1A4 48 00 00 A0 */ b lbl_802835E4 lbl_80283548: /* 80283548 0027F1A8 81 02 A0 D0 */ lwz r8, lbl_806426D0-_SDA2_BASE_(r2) /* 8028354C 0027F1AC 38 C0 00 25 */ li r6, 0x25 /* 80283550 0027F1B0 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80283554 0027F1B4 38 00 00 61 */ li r0, 0x61 /* 80283558 0027F1B8 80 E8 01 78 */ lwz r7, 0x178(r8) /* 8028355C 0027F1BC 50 87 07 3E */ rlwimi r7, r4, 0, 0x1c, 0x1f /* 80283560 0027F1C0 50 A7 26 36 */ rlwimi r7, r5, 4, 0x18, 0x1b /* 80283564 0027F1C4 50 C7 C0 0E */ rlwimi r7, r6, 0x18, 0, 7 /* 80283568 0027F1C8 90 E8 01 78 */ stw r7, 0x178(r8) /* 8028356C 0027F1CC 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80283570 0027F1D0 80 08 01 78 */ lwz r0, 0x178(r8) /* 80283574 0027F1D4 90 03 80 00 */ stw r0, -0x8000(r3) /* 80283578 0027F1D8 48 00 00 9C */ b lbl_80283614 lbl_8028357C: /* 8028357C 0027F1DC 81 02 A0 D0 */ lwz r8, lbl_806426D0-_SDA2_BASE_(r2) /* 80283580 0027F1E0 38 C0 00 25 */ li r6, 0x25 /* 80283584 0027F1E4 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80283588 0027F1E8 38 00 00 61 */ li r0, 0x61 /* 8028358C 0027F1EC 80 E8 01 78 */ lwz r7, 0x178(r8) /* 80283590 0027F1F0 50 87 45 2E */ rlwimi r7, r4, 8, 0x14, 0x17 /* 80283594 0027F1F4 50 A7 64 26 */ rlwimi r7, r5, 0xc, 0x10, 0x13 /* 80283598 0027F1F8 50 C7 C0 0E */ rlwimi r7, r6, 0x18, 0, 7 /* 8028359C 0027F1FC 90 E8 01 78 */ stw r7, 0x178(r8) /* 802835A0 0027F200 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 802835A4 0027F204 80 08 01 78 */ lwz r0, 0x178(r8) /* 802835A8 0027F208 90 03 80 00 */ stw r0, -0x8000(r3) /* 802835AC 0027F20C 48 00 00 68 */ b lbl_80283614 lbl_802835B0: /* 802835B0 0027F210 81 02 A0 D0 */ lwz r8, lbl_806426D0-_SDA2_BASE_(r2) /* 802835B4 0027F214 38 C0 00 26 */ li r6, 0x26 /* 802835B8 0027F218 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 802835BC 0027F21C 38 00 00 61 */ li r0, 0x61 /* 802835C0 0027F220 80 E8 01 7C */ lwz r7, 0x17c(r8) /* 802835C4 0027F224 50 87 07 3E */ rlwimi r7, r4, 0, 0x1c, 0x1f /* 802835C8 0027F228 50 A7 26 36 */ rlwimi r7, r5, 4, 0x18, 0x1b /* 802835CC 0027F22C 50 C7 C0 0E */ rlwimi r7, r6, 0x18, 0, 7 /* 802835D0 0027F230 90 E8 01 7C */ stw r7, 0x17c(r8) /* 802835D4 0027F234 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 802835D8 0027F238 80 08 01 7C */ lwz r0, 0x17c(r8) /* 802835DC 0027F23C 90 03 80 00 */ stw r0, -0x8000(r3) /* 802835E0 0027F240 48 00 00 34 */ b lbl_80283614 lbl_802835E4: /* 802835E4 0027F244 81 02 A0 D0 */ lwz r8, lbl_806426D0-_SDA2_BASE_(r2) /* 802835E8 0027F248 38 C0 00 26 */ li r6, 0x26 /* 802835EC 0027F24C 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 802835F0 0027F250 38 00 00 61 */ li r0, 0x61 /* 802835F4 0027F254 80 E8 01 7C */ lwz r7, 0x17c(r8) /* 802835F8 0027F258 50 87 45 2E */ rlwimi r7, r4, 8, 0x14, 0x17 /* 802835FC 0027F25C 50 A7 64 26 */ rlwimi r7, r5, 0xc, 0x10, 0x13 /* 80283600 0027F260 50 C7 C0 0E */ rlwimi r7, r6, 0x18, 0, 7 /* 80283604 0027F264 90 E8 01 7C */ stw r7, 0x17c(r8) /* 80283608 0027F268 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 8028360C 0027F26C 80 08 01 7C */ lwz r0, 0x17c(r8) /* 80283610 0027F270 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80283614: /* 80283614 0027F274 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 80283618 0027F278 38 00 00 00 */ li r0, 0 /* 8028361C 0027F27C B0 03 00 02 */ sth r0, 2(r3) /* 80283620 0027F280 4E 80 00 20 */ blr .global GXSetIndTexOrder GXSetIndTexOrder: /* 80283624 0027F284 2C 05 00 FF */ cmpwi r5, 0xff /* 80283628 0027F288 40 82 00 08 */ bne lbl_80283630 /* 8028362C 0027F28C 38 A0 00 00 */ li r5, 0 lbl_80283630: /* 80283630 0027F290 2C 04 00 FF */ cmpwi r4, 0xff /* 80283634 0027F294 40 82 00 08 */ bne lbl_8028363C /* 80283638 0027F298 38 80 00 00 */ li r4, 0 lbl_8028363C: /* 8028363C 0027F29C 2C 03 00 02 */ cmpwi r3, 2 /* 80283640 0027F2A0 41 82 00 54 */ beq lbl_80283694 /* 80283644 0027F2A4 40 80 00 14 */ bge lbl_80283658 /* 80283648 0027F2A8 2C 03 00 00 */ cmpwi r3, 0 /* 8028364C 0027F2AC 41 82 00 18 */ beq lbl_80283664 /* 80283650 0027F2B0 40 80 00 2C */ bge lbl_8028367C /* 80283654 0027F2B4 48 00 00 6C */ b lbl_802836C0 lbl_80283658: /* 80283658 0027F2B8 2C 03 00 04 */ cmpwi r3, 4 /* 8028365C 0027F2BC 40 80 00 64 */ bge lbl_802836C0 /* 80283660 0027F2C0 48 00 00 4C */ b lbl_802836AC lbl_80283664: /* 80283664 0027F2C4 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 80283668 0027F2C8 80 03 01 70 */ lwz r0, 0x170(r3) /* 8028366C 0027F2CC 50 A0 07 7E */ rlwimi r0, r5, 0, 0x1d, 0x1f /* 80283670 0027F2D0 50 80 1E B8 */ rlwimi r0, r4, 3, 0x1a, 0x1c /* 80283674 0027F2D4 90 03 01 70 */ stw r0, 0x170(r3) /* 80283678 0027F2D8 48 00 00 48 */ b lbl_802836C0 lbl_8028367C: /* 8028367C 0027F2DC 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 80283680 0027F2E0 80 03 01 70 */ lwz r0, 0x170(r3) /* 80283684 0027F2E4 50 A0 35 F2 */ rlwimi r0, r5, 6, 0x17, 0x19 /* 80283688 0027F2E8 50 80 4D 2C */ rlwimi r0, r4, 9, 0x14, 0x16 /* 8028368C 0027F2EC 90 03 01 70 */ stw r0, 0x170(r3) /* 80283690 0027F2F0 48 00 00 30 */ b lbl_802836C0 lbl_80283694: /* 80283694 0027F2F4 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 80283698 0027F2F8 80 03 01 70 */ lwz r0, 0x170(r3) /* 8028369C 0027F2FC 50 A0 64 66 */ rlwimi r0, r5, 0xc, 0x11, 0x13 /* 802836A0 0027F300 50 80 7B A0 */ rlwimi r0, r4, 0xf, 0xe, 0x10 /* 802836A4 0027F304 90 03 01 70 */ stw r0, 0x170(r3) /* 802836A8 0027F308 48 00 00 18 */ b lbl_802836C0 lbl_802836AC: /* 802836AC 0027F30C 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 802836B0 0027F310 80 03 01 70 */ lwz r0, 0x170(r3) /* 802836B4 0027F314 50 A0 92 DA */ rlwimi r0, r5, 0x12, 0xb, 0xd /* 802836B8 0027F318 50 80 AA 14 */ rlwimi r0, r4, 0x15, 8, 0xa /* 802836BC 0027F31C 90 03 01 70 */ stw r0, 0x170(r3) lbl_802836C0: /* 802836C0 0027F320 3C 80 CC 01 */ lis r4, 0xCC008000@ha /* 802836C4 0027F324 38 00 00 61 */ li r0, 0x61 /* 802836C8 0027F328 98 04 80 00 */ stb r0, 0xCC008000@l(r4) /* 802836CC 0027F32C 38 00 00 00 */ li r0, 0 /* 802836D0 0027F330 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2) /* 802836D4 0027F334 80 65 01 70 */ lwz r3, 0x170(r5) /* 802836D8 0027F338 90 64 80 00 */ stw r3, -0x8000(r4) /* 802836DC 0027F33C 80 65 05 FC */ lwz r3, 0x5fc(r5) /* 802836E0 0027F340 60 63 00 03 */ ori r3, r3, 3 /* 802836E4 0027F344 90 65 05 FC */ stw r3, 0x5fc(r5) /* 802836E8 0027F348 B0 05 00 02 */ sth r0, 2(r5) /* 802836EC 0027F34C 4E 80 00 20 */ blr .global GXSetNumIndStages GXSetNumIndStages: /* 802836F0 0027F350 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2) /* 802836F4 0027F354 80 04 02 54 */ lwz r0, 0x254(r4) /* 802836F8 0027F358 50 60 83 5E */ rlwimi r0, r3, 0x10, 0xd, 0xf /* 802836FC 0027F35C 90 04 02 54 */ stw r0, 0x254(r4) /* 80283700 0027F360 80 04 05 FC */ lwz r0, 0x5fc(r4) /* 80283704 0027F364 60 00 00 06 */ ori r0, r0, 6 /* 80283708 0027F368 90 04 05 FC */ stw r0, 0x5fc(r4) /* 8028370C 0027F36C 4E 80 00 20 */ blr .global GXSetTevDirect GXSetTevDirect: /* 80283710 0027F370 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80283714 0027F374 7C 08 02 A6 */ mflr r0 /* 80283718 0027F378 38 80 00 00 */ li r4, 0 /* 8028371C 0027F37C 38 A0 00 00 */ li r5, 0 /* 80283720 0027F380 90 01 00 14 */ stw r0, 0x14(r1) /* 80283724 0027F384 38 00 00 00 */ li r0, 0 /* 80283728 0027F388 38 C0 00 00 */ li r6, 0 /* 8028372C 0027F38C 38 E0 00 00 */ li r7, 0 /* 80283730 0027F390 90 01 00 08 */ stw r0, 8(r1) /* 80283734 0027F394 39 00 00 00 */ li r8, 0 /* 80283738 0027F398 39 20 00 00 */ li r9, 0 /* 8028373C 0027F39C 39 40 00 00 */ li r10, 0 /* 80283740 0027F3A0 90 01 00 0C */ stw r0, 0xc(r1) /* 80283744 0027F3A4 4B FF FC 21 */ bl GXSetTevIndirect /* 80283748 0027F3A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028374C 0027F3AC 7C 08 03 A6 */ mtlr r0 /* 80283750 0027F3B0 38 21 00 10 */ addi r1, r1, 0x10 /* 80283754 0027F3B4 4E 80 00 20 */ blr .global GXSetTevIndWarp GXSetTevIndWarp: /* 80283758 0027F3B8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8028375C 0027F3BC 7C 08 02 A6 */ mflr r0 /* 80283760 0027F3C0 2C 06 00 00 */ cmpwi r6, 0 /* 80283764 0027F3C4 39 00 00 00 */ li r8, 0 /* 80283768 0027F3C8 90 01 00 14 */ stw r0, 0x14(r1) /* 8028376C 0027F3CC 41 82 00 08 */ beq lbl_80283774 /* 80283770 0027F3D0 39 00 00 06 */ li r8, 6 lbl_80283774: /* 80283774 0027F3D4 38 C0 00 00 */ li r6, 0 /* 80283778 0027F3D8 2C 05 00 00 */ cmpwi r5, 0 /* 8028377C 0027F3DC 90 C1 00 08 */ stw r6, 8(r1) /* 80283780 0027F3E0 38 A0 00 00 */ li r5, 0 /* 80283784 0027F3E4 90 C1 00 0C */ stw r6, 0xc(r1) /* 80283788 0027F3E8 41 82 00 08 */ beq lbl_80283790 /* 8028378C 0027F3EC 38 C0 00 07 */ li r6, 7 lbl_80283790: /* 80283790 0027F3F0 7D 09 43 78 */ mr r9, r8 /* 80283794 0027F3F4 39 40 00 00 */ li r10, 0 /* 80283798 0027F3F8 4B FF FB CD */ bl GXSetTevIndirect /* 8028379C 0027F3FC 80 01 00 14 */ lwz r0, 0x14(r1) /* 802837A0 0027F400 7C 08 03 A6 */ mtlr r0 /* 802837A4 0027F404 38 21 00 10 */ addi r1, r1, 0x10 /* 802837A8 0027F408 4E 80 00 20 */ blr .global GXSetTevIndTile GXSetTevIndTile: /* 802837AC 0027F40C 94 21 FF A0 */ stwu r1, -0x60(r1) /* 802837B0 0027F410 7C 08 02 A6 */ mflr r0 /* 802837B4 0027F414 90 01 00 64 */ stw r0, 0x64(r1) /* 802837B8 0027F418 39 61 00 60 */ addi r11, r1, 0x60 /* 802837BC 0027F41C 4B F4 39 61 */ bl _savegpr_24 /* 802837C0 0027F420 2C 05 00 40 */ cmpwi r5, 0x40 /* 802837C4 0027F424 83 81 00 68 */ lwz r28, 0x68(r1) /* 802837C8 0027F428 83 A1 00 6C */ lwz r29, 0x6c(r1) /* 802837CC 0027F42C 7C 78 1B 78 */ mr r24, r3 /* 802837D0 0027F430 7C 99 23 78 */ mr r25, r4 /* 802837D4 0027F434 7D 3A 4B 78 */ mr r26, r9 /* 802837D8 0027F438 7D 5B 53 78 */ mr r27, r10 /* 802837DC 0027F43C 41 82 00 48 */ beq lbl_80283824 /* 802837E0 0027F440 40 80 00 1C */ bge lbl_802837FC /* 802837E4 0027F444 2C 05 00 20 */ cmpwi r5, 0x20 /* 802837E8 0027F448 41 82 00 44 */ beq lbl_8028382C /* 802837EC 0027F44C 40 80 00 50 */ bge lbl_8028383C /* 802837F0 0027F450 2C 05 00 10 */ cmpwi r5, 0x10 /* 802837F4 0027F454 41 82 00 40 */ beq lbl_80283834 /* 802837F8 0027F458 48 00 00 44 */ b lbl_8028383C lbl_802837FC: /* 802837FC 0027F45C 2C 05 01 00 */ cmpwi r5, 0x100 /* 80283800 0027F460 41 82 00 14 */ beq lbl_80283814 /* 80283804 0027F464 40 80 00 38 */ bge lbl_8028383C /* 80283808 0027F468 2C 05 00 80 */ cmpwi r5, 0x80 /* 8028380C 0027F46C 41 82 00 10 */ beq lbl_8028381C /* 80283810 0027F470 48 00 00 2C */ b lbl_8028383C lbl_80283814: /* 80283814 0027F474 3B E0 00 01 */ li r31, 1 /* 80283818 0027F478 48 00 00 28 */ b lbl_80283840 lbl_8028381C: /* 8028381C 0027F47C 3B E0 00 02 */ li r31, 2 /* 80283820 0027F480 48 00 00 20 */ b lbl_80283840 lbl_80283824: /* 80283824 0027F484 3B E0 00 03 */ li r31, 3 /* 80283828 0027F488 48 00 00 18 */ b lbl_80283840 lbl_8028382C: /* 8028382C 0027F48C 3B E0 00 04 */ li r31, 4 /* 80283830 0027F490 48 00 00 10 */ b lbl_80283840 lbl_80283834: /* 80283834 0027F494 3B E0 00 05 */ li r31, 5 /* 80283838 0027F498 48 00 00 08 */ b lbl_80283840 lbl_8028383C: /* 8028383C 0027F49C 3B E0 00 00 */ li r31, 0 lbl_80283840: /* 80283840 0027F4A0 2C 06 00 40 */ cmpwi r6, 0x40 /* 80283844 0027F4A4 41 82 00 48 */ beq lbl_8028388C /* 80283848 0027F4A8 40 80 00 1C */ bge lbl_80283864 /* 8028384C 0027F4AC 2C 06 00 20 */ cmpwi r6, 0x20 /* 80283850 0027F4B0 41 82 00 44 */ beq lbl_80283894 /* 80283854 0027F4B4 40 80 00 50 */ bge lbl_802838A4 /* 80283858 0027F4B8 2C 06 00 10 */ cmpwi r6, 0x10 /* 8028385C 0027F4BC 41 82 00 40 */ beq lbl_8028389C /* 80283860 0027F4C0 48 00 00 44 */ b lbl_802838A4 lbl_80283864: /* 80283864 0027F4C4 2C 06 01 00 */ cmpwi r6, 0x100 /* 80283868 0027F4C8 41 82 00 14 */ beq lbl_8028387C /* 8028386C 0027F4CC 40 80 00 38 */ bge lbl_802838A4 /* 80283870 0027F4D0 2C 06 00 80 */ cmpwi r6, 0x80 /* 80283874 0027F4D4 41 82 00 10 */ beq lbl_80283884 /* 80283878 0027F4D8 48 00 00 2C */ b lbl_802838A4 lbl_8028387C: /* 8028387C 0027F4DC 3B C0 00 01 */ li r30, 1 /* 80283880 0027F4E0 48 00 00 28 */ b lbl_802838A8 lbl_80283884: /* 80283884 0027F4E4 3B C0 00 02 */ li r30, 2 /* 80283888 0027F4E8 48 00 00 20 */ b lbl_802838A8 lbl_8028388C: /* 8028388C 0027F4EC 3B C0 00 03 */ li r30, 3 /* 80283890 0027F4F0 48 00 00 18 */ b lbl_802838A8 lbl_80283894: /* 80283894 0027F4F4 3B C0 00 04 */ li r30, 4 /* 80283898 0027F4F8 48 00 00 10 */ b lbl_802838A8 lbl_8028389C: /* 8028389C 0027F4FC 3B C0 00 05 */ li r30, 5 /* 802838A0 0027F500 48 00 00 08 */ b lbl_802838A8 lbl_802838A4: /* 802838A4 0027F504 3B C0 00 00 */ li r30, 0 lbl_802838A8: /* 802838A8 0027F508 3C 00 43 30 */ lis r0, 0x4330 /* 802838AC 0027F50C C0 22 A1 70 */ lfs f1, lbl_80642770-_SDA2_BASE_(r2) /* 802838B0 0027F510 90 E1 00 2C */ stw r7, 0x2c(r1) /* 802838B4 0027F514 7F 63 DB 78 */ mr r3, r27 /* 802838B8 0027F518 C8 82 A1 78 */ lfd f4, lbl_80642778-_SDA2_BASE_(r2) /* 802838BC 0027F51C 38 81 00 10 */ addi r4, r1, 0x10 /* 802838C0 0027F520 90 01 00 28 */ stw r0, 0x28(r1) /* 802838C4 0027F524 38 A0 00 0A */ li r5, 0xa /* 802838C8 0027F528 C0 62 A1 6C */ lfs f3, lbl_8064276C-_SDA2_BASE_(r2) /* 802838CC 0027F52C C8 01 00 28 */ lfd f0, 0x28(r1) /* 802838D0 0027F530 91 01 00 34 */ stw r8, 0x34(r1) /* 802838D4 0027F534 EC 40 20 28 */ fsubs f2, f0, f4 /* 802838D8 0027F538 90 01 00 30 */ stw r0, 0x30(r1) /* 802838DC 0027F53C C8 01 00 30 */ lfd f0, 0x30(r1) /* 802838E0 0027F540 EC 42 00 F2 */ fmuls f2, f2, f3 /* 802838E4 0027F544 D0 21 00 18 */ stfs f1, 0x18(r1) /* 802838E8 0027F548 EC 00 20 28 */ fsubs f0, f0, f4 /* 802838EC 0027F54C D0 41 00 10 */ stfs f2, 0x10(r1) /* 802838F0 0027F550 EC 00 00 F2 */ fmuls f0, f0, f3 /* 802838F4 0027F554 D0 21 00 14 */ stfs f1, 0x14(r1) /* 802838F8 0027F558 D0 21 00 24 */ stfs f1, 0x24(r1) /* 802838FC 0027F55C D0 01 00 20 */ stfs f0, 0x20(r1) /* 80283900 0027F560 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 80283904 0027F564 4B FF FA C9 */ bl GXSetIndTexMtx /* 80283908 0027F568 38 00 00 01 */ li r0, 1 /* 8028390C 0027F56C 7F 03 C3 78 */ mr r3, r24 /* 80283910 0027F570 90 01 00 08 */ stw r0, 8(r1) /* 80283914 0027F574 7F 24 CB 78 */ mr r4, r25 /* 80283918 0027F578 7F 45 D3 78 */ mr r5, r26 /* 8028391C 0027F57C 7F 86 E3 78 */ mr r6, r28 /* 80283920 0027F580 93 A1 00 0C */ stw r29, 0xc(r1) /* 80283924 0027F584 7F 67 DB 78 */ mr r7, r27 /* 80283928 0027F588 7F E8 FB 78 */ mr r8, r31 /* 8028392C 0027F58C 7F C9 F3 78 */ mr r9, r30 /* 80283930 0027F590 39 40 00 00 */ li r10, 0 /* 80283934 0027F594 4B FF FA 31 */ bl GXSetTevIndirect /* 80283938 0027F598 39 61 00 60 */ addi r11, r1, 0x60 /* 8028393C 0027F59C 4B F4 38 2D */ bl _restgpr_24 /* 80283940 0027F5A0 80 01 00 64 */ lwz r0, 0x64(r1) /* 80283944 0027F5A4 7C 08 03 A6 */ mtlr r0 /* 80283948 0027F5A8 38 21 00 60 */ addi r1, r1, 0x60 /* 8028394C 0027F5AC 4E 80 00 20 */ blr .global GXSetTevIndBumpST GXSetTevIndBumpST: /* 80283950 0027F5B0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80283954 0027F5B4 7C 08 02 A6 */ mflr r0 /* 80283958 0027F5B8 2C 05 00 02 */ cmpwi r5, 2 /* 8028395C 0027F5BC 90 01 00 24 */ stw r0, 0x24(r1) /* 80283960 0027F5C0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80283964 0027F5C4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80283968 0027F5C8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8028396C 0027F5CC 7C 9D 23 78 */ mr r29, r4 /* 80283970 0027F5D0 93 81 00 10 */ stw r28, 0x10(r1) /* 80283974 0027F5D4 7C 7C 1B 78 */ mr r28, r3 /* 80283978 0027F5D8 41 82 00 2C */ beq lbl_802839A4 /* 8028397C 0027F5DC 40 80 00 10 */ bge lbl_8028398C /* 80283980 0027F5E0 2C 05 00 01 */ cmpwi r5, 1 /* 80283984 0027F5E4 40 80 00 14 */ bge lbl_80283998 /* 80283988 0027F5E8 48 00 00 30 */ b lbl_802839B8 lbl_8028398C: /* 8028398C 0027F5EC 2C 05 00 04 */ cmpwi r5, 4 /* 80283990 0027F5F0 40 80 00 28 */ bge lbl_802839B8 /* 80283994 0027F5F4 48 00 00 1C */ b lbl_802839B0 lbl_80283998: /* 80283998 0027F5F8 38 E0 00 05 */ li r7, 5 /* 8028399C 0027F5FC 3B C0 00 09 */ li r30, 9 /* 802839A0 0027F600 48 00 00 18 */ b lbl_802839B8 lbl_802839A4: /* 802839A4 0027F604 38 E0 00 06 */ li r7, 6 /* 802839A8 0027F608 3B C0 00 0A */ li r30, 0xa /* 802839AC 0027F60C 48 00 00 0C */ b lbl_802839B8 lbl_802839B0: /* 802839B0 0027F610 38 E0 00 07 */ li r7, 7 /* 802839B4 0027F614 3B C0 00 0B */ li r30, 0xb lbl_802839B8: /* 802839B8 0027F618 3B E0 00 00 */ li r31, 0 /* 802839BC 0027F61C 7F 83 E3 78 */ mr r3, r28 /* 802839C0 0027F620 93 E1 00 08 */ stw r31, 8(r1) /* 802839C4 0027F624 7F A4 EB 78 */ mr r4, r29 /* 802839C8 0027F628 38 A0 00 00 */ li r5, 0 /* 802839CC 0027F62C 38 C0 00 03 */ li r6, 3 /* 802839D0 0027F630 93 E1 00 0C */ stw r31, 0xc(r1) /* 802839D4 0027F634 39 00 00 06 */ li r8, 6 /* 802839D8 0027F638 39 20 00 06 */ li r9, 6 /* 802839DC 0027F63C 39 40 00 00 */ li r10, 0 /* 802839E0 0027F640 4B FF F9 85 */ bl GXSetTevIndirect /* 802839E4 0027F644 93 E1 00 08 */ stw r31, 8(r1) /* 802839E8 0027F648 7F A4 EB 78 */ mr r4, r29 /* 802839EC 0027F64C 7F C7 F3 78 */ mr r7, r30 /* 802839F0 0027F650 38 7C 00 01 */ addi r3, r28, 1 /* 802839F4 0027F654 93 E1 00 0C */ stw r31, 0xc(r1) /* 802839F8 0027F658 38 A0 00 00 */ li r5, 0 /* 802839FC 0027F65C 38 C0 00 03 */ li r6, 3 /* 80283A00 0027F660 39 00 00 06 */ li r8, 6 /* 80283A04 0027F664 39 20 00 06 */ li r9, 6 /* 80283A08 0027F668 39 40 00 01 */ li r10, 1 /* 80283A0C 0027F66C 4B FF F9 59 */ bl GXSetTevIndirect /* 80283A10 0027F670 93 E1 00 08 */ stw r31, 8(r1) /* 80283A14 0027F674 7F A4 EB 78 */ mr r4, r29 /* 80283A18 0027F678 38 7C 00 02 */ addi r3, r28, 2 /* 80283A1C 0027F67C 38 A0 00 00 */ li r5, 0 /* 80283A20 0027F680 93 E1 00 0C */ stw r31, 0xc(r1) /* 80283A24 0027F684 38 C0 00 00 */ li r6, 0 /* 80283A28 0027F688 38 E0 00 00 */ li r7, 0 /* 80283A2C 0027F68C 39 00 00 00 */ li r8, 0 /* 80283A30 0027F690 39 20 00 00 */ li r9, 0 /* 80283A34 0027F694 39 40 00 01 */ li r10, 1 /* 80283A38 0027F698 4B FF F9 2D */ bl GXSetTevIndirect /* 80283A3C 0027F69C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80283A40 0027F6A0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80283A44 0027F6A4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80283A48 0027F6A8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80283A4C 0027F6AC 83 81 00 10 */ lwz r28, 0x10(r1) /* 80283A50 0027F6B0 7C 08 03 A6 */ mtlr r0 /* 80283A54 0027F6B4 38 21 00 20 */ addi r1, r1, 0x20 /* 80283A58 0027F6B8 4E 80 00 20 */ blr .global GXSetTevIndBumpXYZ GXSetTevIndBumpXYZ: /* 80283A5C 0027F6BC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80283A60 0027F6C0 7C 08 02 A6 */ mflr r0 /* 80283A64 0027F6C4 7C A7 2B 78 */ mr r7, r5 /* 80283A68 0027F6C8 38 A0 00 00 */ li r5, 0 /* 80283A6C 0027F6CC 90 01 00 14 */ stw r0, 0x14(r1) /* 80283A70 0027F6D0 38 00 00 00 */ li r0, 0 /* 80283A74 0027F6D4 38 C0 00 07 */ li r6, 7 /* 80283A78 0027F6D8 39 00 00 00 */ li r8, 0 /* 80283A7C 0027F6DC 90 01 00 08 */ stw r0, 8(r1) /* 80283A80 0027F6E0 39 20 00 00 */ li r9, 0 /* 80283A84 0027F6E4 39 40 00 00 */ li r10, 0 /* 80283A88 0027F6E8 90 01 00 0C */ stw r0, 0xc(r1) /* 80283A8C 0027F6EC 4B FF F8 D9 */ bl GXSetTevIndirect /* 80283A90 0027F6F0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80283A94 0027F6F4 7C 08 03 A6 */ mtlr r0 /* 80283A98 0027F6F8 38 21 00 10 */ addi r1, r1, 0x10 /* 80283A9C 0027F6FC 4E 80 00 20 */ blr .global GXSetTevIndRepeat GXSetTevIndRepeat: /* 80283AA0 0027F700 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80283AA4 0027F704 7C 08 02 A6 */ mflr r0 /* 80283AA8 0027F708 38 80 00 00 */ li r4, 0 /* 80283AAC 0027F70C 38 A0 00 00 */ li r5, 0 /* 80283AB0 0027F710 90 01 00 14 */ stw r0, 0x14(r1) /* 80283AB4 0027F714 38 00 00 00 */ li r0, 0 /* 80283AB8 0027F718 38 C0 00 00 */ li r6, 0 /* 80283ABC 0027F71C 38 E0 00 00 */ li r7, 0 /* 80283AC0 0027F720 90 01 00 08 */ stw r0, 8(r1) /* 80283AC4 0027F724 39 00 00 06 */ li r8, 6 /* 80283AC8 0027F728 39 20 00 06 */ li r9, 6 /* 80283ACC 0027F72C 39 40 00 01 */ li r10, 1 /* 80283AD0 0027F730 90 01 00 0C */ stw r0, 0xc(r1) /* 80283AD4 0027F734 4B FF F8 91 */ bl GXSetTevIndirect /* 80283AD8 0027F738 80 01 00 14 */ lwz r0, 0x14(r1) /* 80283ADC 0027F73C 7C 08 03 A6 */ mtlr r0 /* 80283AE0 0027F740 38 21 00 10 */ addi r1, r1, 0x10 /* 80283AE4 0027F744 4E 80 00 20 */ blr .global __GXUpdateBPMask __GXUpdateBPMask: /* 80283AE8 0027F748 4E 80 00 20 */ blr .global __GXSetIndirectMask __GXSetIndirectMask: /* 80283AEC 0027F74C 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2) /* 80283AF0 0027F750 3C 80 CC 01 */ lis r4, 0xCC008000@ha /* 80283AF4 0027F754 38 A0 00 61 */ li r5, 0x61 /* 80283AF8 0027F758 38 00 00 00 */ li r0, 0 /* 80283AFC 0027F75C 80 C7 01 74 */ lwz r6, 0x174(r7) /* 80283B00 0027F760 50 66 06 3E */ rlwimi r6, r3, 0, 0x18, 0x1f /* 80283B04 0027F764 90 C7 01 74 */ stw r6, 0x174(r7) /* 80283B08 0027F768 98 A4 80 00 */ stb r5, 0xCC008000@l(r4) /* 80283B0C 0027F76C 80 67 01 74 */ lwz r3, 0x174(r7) /* 80283B10 0027F770 90 64 80 00 */ stw r3, -0x8000(r4) /* 80283B14 0027F774 B0 07 00 02 */ sth r0, 2(r7) /* 80283B18 0027F778 4E 80 00 20 */ blr .global __GXFlushTextureState __GXFlushTextureState: /* 80283B1C 0027F77C 3C 80 CC 01 */ lis r4, 0xCC008000@ha /* 80283B20 0027F780 38 00 00 61 */ li r0, 0x61 /* 80283B24 0027F784 98 04 80 00 */ stb r0, 0xCC008000@l(r4) /* 80283B28 0027F788 38 00 00 00 */ li r0, 0 /* 80283B2C 0027F78C 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2) /* 80283B30 0027F790 80 65 01 74 */ lwz r3, 0x174(r5) /* 80283B34 0027F794 90 64 80 00 */ stw r3, -0x8000(r4) /* 80283B38 0027F798 B0 05 00 02 */ sth r0, 2(r5) /* 80283B3C 0027F79C 4E 80 00 20 */ blr