Files
smb-decomp/asm/tevutil.s
ComplexPlane 85e42eb3ec Labels. Mostly related to physics and animation. (#18)
* Rename stcoli functions

* Add gen_compile_commands.py script

* Add shebang

* gen_compile_commands: pretend to be GCC

* Separately compilable game headers

* Separately compilable system dolphin headers

* Work in progress starting stcoli.c

* Partially label PhysicsBall type

And some stcoli funcs

* Stcoli labelling

* Add Vec2d type

* Collision body labels

* StageGoal labels

* More goal labels

* gen_compile_commands.py: Prefer nonmatching C to matching asm

* sda2-^>_SDA2_BASE_ in stcoli.s

* Match first stcoli function (dol not matching atm though)

* Fix float literals (still not OK)

* gen_compile_commands.py absolute paths (needed on Linux?)

* gen_compile_commands.py fixes

- Export absolute paths, even on Linux
- Add some defines so more C code is exposed for clangd
- Remove extraneous spaces in output
- Executable bit

* Executable bit

* stcoli: match function 2 (meshcoli_grid_lookup())

Didn't fix asm/float literals though

* Small refactor fixes

* First 2 stcoli functions OK

* PhysicsBall labels

* Decompile stcoli_sub03

DOL not matching again though...

* Fix stcoli.s sdata2 alignment after stcoli.c's

* Stcoli func labels

* Format somewhat more reasonably

* Decompile stcoli_sub04

* Decompile stcoli_sub05

Small stcoli_sub05 cleanup

static.lcf

* Labelling

Labelling

Labelling

Labelling

Labelling

* Coli struct labels

* Decompile collide_ball_with_tri_verts

* Decompile collide_ball_with_tri_vert

* Small labels

* Move vec mag sq function to mathutil.h

* Decompile collide_ball_with_rect

* More labels

* Even more labels

* Decompile collide_ball_with_cylinder

Cleanup

* Correct mathutil ifdefs

* Decompile collide_ball_with_circle

* Format

* Labels

* Decompile g_collide_ball_with_sphere

* Decompile g_collide_ball_with_cone

* Little labelling

* Update static.lcf

* PhysicsBall labels

* hit -> plane

* PhysicsBall docs

* Add .clang-format

Not everything follows this but it's generally close to the observed
style

* Rename, and tidy unused stack vars

* Misc

* Remove duplicate ColiRect type

* Label check_ball_in_goal()

* Rename stagedef itemgroupo init pos/rot

* Decompile collide_ball_with_plane (woo)

This function was an extremely tough one, probably harder than all the
previous stcoli funcs combined. Lots of playing around with
combining/splitting temps that may be Vec's or individual temps.

Remove thing

* Document collide_ball_with_plane

* Reword some collide_ball_with_plane docs

* f32 -> float

* accel -> gravityAccel

* Decompile test_line_intersects_rect

* Decompile stcoli_sub15

* Clean up stcoli_sub15 a little

* RaycastHit result

* Renames

* MovableStagePart -> Itemgroup

* stcoli raycast renames

* ItemgroupInfo field labels

* Decompile raycast_stage_down()

* Clean up raycast_stage_down()

* Label bonus_wave_raycast_down()

* Fix bonus_wave_raycast_down() return type

asdf

* Decompile raycast_tri()

* Cleanup raycast_tri()

* Skip raycast_cone(), decompile raycast_sphere()

* Decompile raycast_cylinder()

* .clang-format

* Freecam stub

* 32-byte align dvd read buffers

* Working freecam

* Rename some stagedef stuff

* More stagedef renames

* Stage object labels

* Slight freecam improvements

* Remove nonmatching code

* Label GMA stuff

* Keyframe labels

* Bg model stuff

* Fix stcoli shiftability

* Bg model animation labels

* Bg anim labels again

* Stuff

* Fix wrong label

* The great itemgroup rename

* More consistent .gitignore

* Undo erroneous labels in input.c

* Fix newline

* Label tevutil function names

* GX enums

* Propagate tevutil.h include

* Remove unnecessary tevutil includes

* Tevutil function signatures

* Fix GXSetFog_cached arg order

* Format tevutil.h

* GXSetCullMode checkpoint

* Finish GXSetCullMode enum labels

* Fix enum, update .gitignore

* Itemgroup -> AnimGroup rename pt1

* animgroup -> anim_group

* Fix

* Fix aniimGroup

* Sampler label

* Avdisp checkpoint

* More avdisp label

* More avdisp

Fog

* build_tev_material checkpoint

checkpoint

checkpoint

* Restore matching

* avdisp checkpoint

* Renames

* Label some GMA shape flags

* Propagate GXSetBlendMode_cached

* Propagate GXSetTevSwapMode

* Propagate GXSetFog

* Tev material setup funcs

* Propagate GXSetTevColorIn

* Propagate GXSetTevAlphaIn

* Propagate GXSetTevColor/AlphaOp

* Propagate GXSetTevOrder

* Propagate GXLoadTexObj_cached

* Rematch

* Sampler -> TevStageDesc

* More tev-related labels

* Yes this is probably the unlit flag

* TevMaterialCache-related labels

* Rematch

* Document extra disp lists

* GMA header and flags

* Idk

* Stuff

* More stuff

* Tev post mul/add labels

* Idk

* Draw func labels

* GMA docs

* Layer funcs

* Color/alpha in

* Rematch

* Quick comment remove

* Fix couple function names

* Fix tev layer flag names

* Fix tev layer flags again

* Fix Dolphin includes

* Fix check_ball_entered_goal

* Remove unnecessary stcoli include
2022-04-17 16:02:56 -05:00

1627 lines
77 KiB
ArmAsm

.include "macros.inc"
.section .text
.global tevutil_init
tevutil_init:
/* 8009DE44 00099D64 7C 08 02 A6 */ mflr r0
/* 8009DE48 00099D68 38 80 00 00 */ li r4, 0
/* 8009DE4C 00099D6C 90 01 00 04 */ stw r0, 4(r1)
/* 8009DE50 00099D70 38 A0 07 34 */ li r5, 0x734
/* 8009DE54 00099D74 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009DE58 00099D78 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8009DE5C 00099D7C 80 02 B2 88 */ lwz r0, lbl_802F5A88@sda21(r2)
/* 8009DE60 00099D80 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009DE64 00099D84 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8009DE68 00099D88 4B F6 54 B9 */ bl memset
/* 8009DE6C 00099D8C 38 60 00 01 */ li r3, 1
/* 8009DE70 00099D90 38 80 00 03 */ li r4, 3
/* 8009DE74 00099D94 38 A0 00 01 */ li r5, 1
/* 8009DE78 00099D98 48 04 51 5D */ bl GXSetZMode
/* 8009DE7C 00099D9C 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009DE80 00099DA0 38 C0 00 01 */ li r6, 1
/* 8009DE84 00099DA4 38 00 00 03 */ li r0, 3
/* 8009DE88 00099DA8 98 C3 00 00 */ stb r6, 0(r3)
/* 8009DE8C 00099DAC 38 60 00 06 */ li r3, 6
/* 8009DE90 00099DB0 38 80 00 00 */ li r4, 0
/* 8009DE94 00099DB4 80 AD 9F C0 */ lwz r5, zMode@sda21(r13)
/* 8009DE98 00099DB8 90 05 00 04 */ stw r0, 4(r5)
/* 8009DE9C 00099DBC 80 AD 9F C0 */ lwz r5, zMode@sda21(r13)
/* 8009DEA0 00099DC0 98 C5 00 08 */ stb r6, 8(r5)
/* 8009DEA4 00099DC4 48 04 19 B9 */ bl GXSetLineWidth
/* 8009DEA8 00099DC8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009DEAC 00099DCC 38 80 00 06 */ li r4, 6
/* 8009DEB0 00099DD0 38 00 00 00 */ li r0, 0
/* 8009DEB4 00099DD4 98 83 00 09 */ stb r4, 9(r3)
/* 8009DEB8 00099DD8 38 60 00 02 */ li r3, 2
/* 8009DEBC 00099DDC 80 8D 9F C0 */ lwz r4, zMode@sda21(r13)
/* 8009DEC0 00099DE0 90 04 00 0C */ stw r0, 0xc(r4)
/* 8009DEC4 00099DE4 48 00 02 19 */ bl GXSetCullMode_cached_init
/* 8009DEC8 00099DE8 38 60 00 00 */ li r3, 0
/* 8009DECC 00099DEC 38 80 00 01 */ li r4, 1
/* 8009DED0 00099DF0 38 A0 00 00 */ li r5, 0
/* 8009DED4 00099DF4 38 C0 00 00 */ li r6, 0
/* 8009DED8 00099DF8 48 00 03 29 */ bl GXSetBlendMode_cached_init
/* 8009DEDC 00099DFC 38 60 00 00 */ li r3, 0
/* 8009DEE0 00099E00 38 80 00 00 */ li r4, 0
/* 8009DEE4 00099E04 38 A0 00 01 */ li r5, 1
/* 8009DEE8 00099E08 38 C0 00 02 */ li r6, 2
/* 8009DEEC 00099E0C 38 E0 00 03 */ li r7, 3
/* 8009DEF0 00099E10 48 00 03 81 */ bl GXSetTevSwapModeTable_cached_init
/* 8009DEF4 00099E14 38 60 00 01 */ li r3, 1
/* 8009DEF8 00099E18 38 80 00 00 */ li r4, 0
/* 8009DEFC 00099E1C 38 A0 00 01 */ li r5, 1
/* 8009DF00 00099E20 38 C0 00 02 */ li r6, 2
/* 8009DF04 00099E24 38 E0 00 00 */ li r7, 0
/* 8009DF08 00099E28 48 00 03 69 */ bl GXSetTevSwapModeTable_cached_init
/* 8009DF0C 00099E2C 38 60 00 02 */ li r3, 2
/* 8009DF10 00099E30 38 80 00 00 */ li r4, 0
/* 8009DF14 00099E34 38 A0 00 01 */ li r5, 1
/* 8009DF18 00099E38 38 C0 00 02 */ li r6, 2
/* 8009DF1C 00099E3C 38 E0 00 01 */ li r7, 1
/* 8009DF20 00099E40 48 00 03 51 */ bl GXSetTevSwapModeTable_cached_init
/* 8009DF24 00099E44 38 60 00 03 */ li r3, 3
/* 8009DF28 00099E48 38 80 00 00 */ li r4, 0
/* 8009DF2C 00099E4C 38 A0 00 01 */ li r5, 1
/* 8009DF30 00099E50 38 C0 00 02 */ li r6, 2
/* 8009DF34 00099E54 38 E0 00 02 */ li r7, 2
/* 8009DF38 00099E58 48 00 03 39 */ bl GXSetTevSwapModeTable_cached_init
/* 8009DF3C 00099E5C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009DF40 00099E60 38 81 00 18 */ addi r4, r1, 0x18
/* 8009DF44 00099E64 38 60 00 00 */ li r3, 0
/* 8009DF48 00099E68 90 01 00 18 */ stw r0, 0x18(r1)
/* 8009DF4C 00099E6C 48 00 14 8D */ bl GXSetTevKColor_cached_init
/* 8009DF50 00099E70 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009DF54 00099E74 38 81 00 14 */ addi r4, r1, 0x14
/* 8009DF58 00099E78 38 60 00 01 */ li r3, 1
/* 8009DF5C 00099E7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8009DF60 00099E80 48 00 14 79 */ bl GXSetTevKColor_cached_init
/* 8009DF64 00099E84 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009DF68 00099E88 38 81 00 10 */ addi r4, r1, 0x10
/* 8009DF6C 00099E8C 38 60 00 02 */ li r3, 2
/* 8009DF70 00099E90 90 01 00 10 */ stw r0, 0x10(r1)
/* 8009DF74 00099E94 48 00 14 65 */ bl GXSetTevKColor_cached_init
/* 8009DF78 00099E98 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009DF7C 00099E9C 38 81 00 0C */ addi r4, r1, 0xc
/* 8009DF80 00099EA0 38 60 00 03 */ li r3, 3
/* 8009DF84 00099EA4 90 01 00 0C */ stw r0, 0xc(r1)
/* 8009DF88 00099EA8 48 00 14 51 */ bl GXSetTevKColor_cached_init
/* 8009DF8C 00099EAC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009DF90 00099EB0 38 81 00 08 */ addi r4, r1, 8
/* 8009DF94 00099EB4 C0 22 B2 8C */ lfs f1, lbl_802F5A8C@sda21(r2)
/* 8009DF98 00099EB8 38 60 00 00 */ li r3, 0
/* 8009DF9C 00099EBC 90 01 00 08 */ stw r0, 8(r1)
/* 8009DFA0 00099EC0 C0 42 B2 90 */ lfs f2, lbl_802F5A90@sda21(r2)
/* 8009DFA4 00099EC4 C0 62 B2 94 */ lfs f3, lbl_802F5A94@sda21(r2)
/* 8009DFA8 00099EC8 C0 82 B2 98 */ lfs f4, lbl_802F5A98@sda21(r2)
/* 8009DFAC 00099ECC 48 00 04 99 */ bl GXSetFog_cached_init
/* 8009DFB0 00099ED0 38 60 00 01 */ li r3, 1
/* 8009DFB4 00099ED4 48 00 05 6D */ bl GXSetColorUpdate_cached_init
/* 8009DFB8 00099ED8 38 60 00 01 */ li r3, 1
/* 8009DFBC 00099EDC 48 00 05 99 */ bl GXSetAlphaUpdate_cached_init
/* 8009DFC0 00099EE0 38 60 00 01 */ li r3, 1
/* 8009DFC4 00099EE4 48 00 06 21 */ bl GXSetZCompLoc_cached_init
/* 8009DFC8 00099EE8 3B E0 00 00 */ li r31, 0
lbl_8009DFCC:
/* 8009DFCC 00099EEC 38 7F 00 00 */ addi r3, r31, 0
/* 8009DFD0 00099EF0 38 80 00 00 */ li r4, 0
/* 8009DFD4 00099EF4 38 A0 00 00 */ li r5, 0
/* 8009DFD8 00099EF8 48 00 03 69 */ bl GXSetTevSwapMode_cached_init
/* 8009DFDC 00099EFC 38 7F 00 00 */ addi r3, r31, 0
/* 8009DFE0 00099F00 38 80 00 0F */ li r4, 0xf
/* 8009DFE4 00099F04 38 A0 00 0F */ li r5, 0xf
/* 8009DFE8 00099F08 38 C0 00 0F */ li r6, 0xf
/* 8009DFEC 00099F0C 38 E0 00 0F */ li r7, 0xf
/* 8009DFF0 00099F10 48 00 06 C1 */ bl GXSetTevColorIn_cached_init
/* 8009DFF4 00099F14 38 7F 00 00 */ addi r3, r31, 0
/* 8009DFF8 00099F18 38 80 00 07 */ li r4, 7
/* 8009DFFC 00099F1C 38 A0 00 07 */ li r5, 7
/* 8009E000 00099F20 38 C0 00 07 */ li r6, 7
/* 8009E004 00099F24 38 E0 00 07 */ li r7, 7
/* 8009E008 00099F28 48 00 07 9D */ bl GXSetTevAlphaIn_cached_init
/* 8009E00C 00099F2C 38 7F 00 00 */ addi r3, r31, 0
/* 8009E010 00099F30 38 80 00 00 */ li r4, 0
/* 8009E014 00099F34 38 A0 00 00 */ li r5, 0
/* 8009E018 00099F38 38 C0 00 00 */ li r6, 0
/* 8009E01C 00099F3C 38 E0 00 01 */ li r7, 1
/* 8009E020 00099F40 39 00 00 00 */ li r8, 0
/* 8009E024 00099F44 48 00 08 91 */ bl GXSetTevColorOp_cached_init
/* 8009E028 00099F48 38 7F 00 00 */ addi r3, r31, 0
/* 8009E02C 00099F4C 38 80 00 00 */ li r4, 0
/* 8009E030 00099F50 38 A0 00 00 */ li r5, 0
/* 8009E034 00099F54 38 C0 00 00 */ li r6, 0
/* 8009E038 00099F58 38 E0 00 01 */ li r7, 1
/* 8009E03C 00099F5C 39 00 00 00 */ li r8, 0
/* 8009E040 00099F60 48 00 09 8D */ bl GXSetTevAlphaOp_cached_init
/* 8009E044 00099F64 38 7F 00 00 */ addi r3, r31, 0
/* 8009E048 00099F68 38 80 00 00 */ li r4, 0
/* 8009E04C 00099F6C 38 A0 00 00 */ li r5, 0
/* 8009E050 00099F70 38 C0 00 04 */ li r6, 4
/* 8009E054 00099F74 48 00 10 B9 */ bl GXSetTevOrder_cached_init
/* 8009E058 00099F78 38 7F 00 00 */ addi r3, r31, 0
/* 8009E05C 00099F7C 38 80 00 00 */ li r4, 0
/* 8009E060 00099F80 48 00 11 7D */ bl GXSetTevKColorSel_cached_init
/* 8009E064 00099F84 38 7F 00 00 */ addi r3, r31, 0
/* 8009E068 00099F88 38 80 00 00 */ li r4, 0
/* 8009E06C 00099F8C 48 00 12 15 */ bl GXSetTevKAlphaSel_cached_init
/* 8009E070 00099F90 3B FF 00 01 */ addi r31, r31, 1
/* 8009E074 00099F94 2C 1F 00 10 */ cmpwi r31, 0x10
/* 8009E078 00099F98 41 80 FF 54 */ blt lbl_8009DFCC
/* 8009E07C 00099F9C 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009E080 00099FA0 38 60 00 01 */ li r3, 1
/* 8009E084 00099FA4 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8009E088 00099FA8 38 21 00 28 */ addi r1, r1, 0x28
/* 8009E08C 00099FAC 7C 08 03 A6 */ mtlr r0
/* 8009E090 00099FB0 4E 80 00 20 */ blr
.global GXSetCullMode_cached
GXSetCullMode_cached:
/* 8009E094 00099FB4 7C 08 02 A6 */ mflr r0
/* 8009E098 00099FB8 90 01 00 04 */ stw r0, 4(r1)
/* 8009E09C 00099FBC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009E0A0 00099FC0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009E0A4 00099FC4 7C 7F 1B 78 */ mr r31, r3
/* 8009E0A8 00099FC8 80 8D 9F C0 */ lwz r4, zMode@sda21(r13)
/* 8009E0AC 00099FCC 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8009E0B0 00099FD0 7C 1F 00 00 */ cmpw r31, r0
/* 8009E0B4 00099FD4 41 82 00 14 */ beq lbl_8009E0C8
/* 8009E0B8 00099FD8 7F E3 FB 78 */ mr r3, r31
/* 8009E0BC 00099FDC 48 04 18 B1 */ bl GXSetCullMode
/* 8009E0C0 00099FE0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E0C4 00099FE4 93 E3 00 10 */ stw r31, 0x10(r3)
lbl_8009E0C8:
/* 8009E0C8 00099FE8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009E0CC 00099FEC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009E0D0 00099FF0 38 21 00 18 */ addi r1, r1, 0x18
/* 8009E0D4 00099FF4 7C 08 03 A6 */ mtlr r0
/* 8009E0D8 00099FF8 4E 80 00 20 */ blr
.global GXSetCullMode_cached_init
GXSetCullMode_cached_init:
/* 8009E0DC 00099FFC 7C 08 02 A6 */ mflr r0
/* 8009E0E0 0009A000 90 01 00 04 */ stw r0, 4(r1)
/* 8009E0E4 0009A004 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009E0E8 0009A008 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009E0EC 0009A00C 7C 7F 1B 78 */ mr r31, r3
/* 8009E0F0 0009A010 48 04 18 7D */ bl GXSetCullMode
/* 8009E0F4 0009A014 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E0F8 0009A018 93 E3 00 10 */ stw r31, 0x10(r3)
/* 8009E0FC 0009A01C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009E100 0009A020 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009E104 0009A024 38 21 00 18 */ addi r1, r1, 0x18
/* 8009E108 0009A028 7C 08 03 A6 */ mtlr r0
/* 8009E10C 0009A02C 4E 80 00 20 */ blr
.global GXSetBlendMode_cached
GXSetBlendMode_cached:
/* 8009E110 0009A030 7C 08 02 A6 */ mflr r0
/* 8009E114 0009A034 90 01 00 04 */ stw r0, 4(r1)
/* 8009E118 0009A038 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009E11C 0009A03C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8009E120 0009A040 3B E6 00 00 */ addi r31, r6, 0
/* 8009E124 0009A044 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8009E128 0009A048 3B C5 00 00 */ addi r30, r5, 0
/* 8009E12C 0009A04C 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8009E130 0009A050 3B A4 00 00 */ addi r29, r4, 0
/* 8009E134 0009A054 93 81 00 18 */ stw r28, 0x18(r1)
/* 8009E138 0009A058 3B 83 00 00 */ addi r28, r3, 0
/* 8009E13C 0009A05C 2C 1C 00 02 */ cmpwi r28, 2
/* 8009E140 0009A060 40 82 00 4C */ bne lbl_8009E18C
/* 8009E144 0009A064 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E148 0009A068 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8009E14C 0009A06C 2C 00 00 02 */ cmpwi r0, 2
/* 8009E150 0009A070 40 82 00 10 */ bne lbl_8009E160
/* 8009E154 0009A074 80 03 00 20 */ lwz r0, 0x20(r3)
/* 8009E158 0009A078 7C 00 F8 00 */ cmpw r0, r31
/* 8009E15C 0009A07C 41 82 00 84 */ beq lbl_8009E1E0
lbl_8009E160:
/* 8009E160 0009A080 80 83 00 18 */ lwz r4, 0x18(r3)
/* 8009E164 0009A084 7F E6 FB 78 */ mr r6, r31
/* 8009E168 0009A088 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8009E16C 0009A08C 38 60 00 02 */ li r3, 2
/* 8009E170 0009A090 48 04 4C E1 */ bl GXSetBlendMode
/* 8009E174 0009A094 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E178 0009A098 38 00 00 02 */ li r0, 2
/* 8009E17C 0009A09C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8009E180 0009A0A0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E184 0009A0A4 93 E3 00 20 */ stw r31, 0x20(r3)
/* 8009E188 0009A0A8 48 00 00 58 */ b lbl_8009E1E0
lbl_8009E18C:
/* 8009E18C 0009A0AC 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E190 0009A0B0 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8009E194 0009A0B4 7C 00 E0 00 */ cmpw r0, r28
/* 8009E198 0009A0B8 40 82 00 1C */ bne lbl_8009E1B4
/* 8009E19C 0009A0BC 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8009E1A0 0009A0C0 7C 00 E8 00 */ cmpw r0, r29
/* 8009E1A4 0009A0C4 40 82 00 10 */ bne lbl_8009E1B4
/* 8009E1A8 0009A0C8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8009E1AC 0009A0CC 7C 00 F0 00 */ cmpw r0, r30
/* 8009E1B0 0009A0D0 41 82 00 30 */ beq lbl_8009E1E0
lbl_8009E1B4:
/* 8009E1B4 0009A0D4 80 C3 00 20 */ lwz r6, 0x20(r3)
/* 8009E1B8 0009A0D8 38 7C 00 00 */ addi r3, r28, 0
/* 8009E1BC 0009A0DC 38 9D 00 00 */ addi r4, r29, 0
/* 8009E1C0 0009A0E0 38 BE 00 00 */ addi r5, r30, 0
/* 8009E1C4 0009A0E4 48 04 4C 8D */ bl GXSetBlendMode
/* 8009E1C8 0009A0E8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E1CC 0009A0EC 93 83 00 14 */ stw r28, 0x14(r3)
/* 8009E1D0 0009A0F0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E1D4 0009A0F4 93 A3 00 18 */ stw r29, 0x18(r3)
/* 8009E1D8 0009A0F8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E1DC 0009A0FC 93 C3 00 1C */ stw r30, 0x1c(r3)
lbl_8009E1E0:
/* 8009E1E0 0009A100 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009E1E4 0009A104 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8009E1E8 0009A108 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8009E1EC 0009A10C 7C 08 03 A6 */ mtlr r0
/* 8009E1F0 0009A110 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8009E1F4 0009A114 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8009E1F8 0009A118 38 21 00 28 */ addi r1, r1, 0x28
/* 8009E1FC 0009A11C 4E 80 00 20 */ blr
.global GXSetBlendMode_cached_init
GXSetBlendMode_cached_init:
/* 8009E200 0009A120 7C 08 02 A6 */ mflr r0
/* 8009E204 0009A124 90 01 00 04 */ stw r0, 4(r1)
/* 8009E208 0009A128 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009E20C 0009A12C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8009E210 0009A130 3B E6 00 00 */ addi r31, r6, 0
/* 8009E214 0009A134 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8009E218 0009A138 3B C5 00 00 */ addi r30, r5, 0
/* 8009E21C 0009A13C 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8009E220 0009A140 3B A4 00 00 */ addi r29, r4, 0
/* 8009E224 0009A144 93 81 00 18 */ stw r28, 0x18(r1)
/* 8009E228 0009A148 3B 83 00 00 */ addi r28, r3, 0
/* 8009E22C 0009A14C 48 04 4C 25 */ bl GXSetBlendMode
/* 8009E230 0009A150 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E234 0009A154 93 83 00 14 */ stw r28, 0x14(r3)
/* 8009E238 0009A158 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E23C 0009A15C 93 A3 00 18 */ stw r29, 0x18(r3)
/* 8009E240 0009A160 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E244 0009A164 93 C3 00 1C */ stw r30, 0x1c(r3)
/* 8009E248 0009A168 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E24C 0009A16C 93 E3 00 20 */ stw r31, 0x20(r3)
/* 8009E250 0009A170 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009E254 0009A174 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8009E258 0009A178 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8009E25C 0009A17C 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8009E260 0009A180 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8009E264 0009A184 38 21 00 28 */ addi r1, r1, 0x28
/* 8009E268 0009A188 7C 08 03 A6 */ mtlr r0
/* 8009E26C 0009A18C 4E 80 00 20 */ blr
.global GXSetTevSwapModeTable_cached_init
GXSetTevSwapModeTable_cached_init:
/* 8009E270 0009A190 7C 08 02 A6 */ mflr r0
/* 8009E274 0009A194 54 68 20 36 */ slwi r8, r3, 4
/* 8009E278 0009A198 90 01 00 04 */ stw r0, 4(r1)
/* 8009E27C 0009A19C 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E280 0009A1A0 BF 61 00 24 */ stmw r27, 0x24(r1)
/* 8009E284 0009A1A4 3B E8 00 24 */ addi r31, r8, 0x24
/* 8009E288 0009A1A8 3B 64 00 00 */ addi r27, r4, 0
/* 8009E28C 0009A1AC 3B 85 00 00 */ addi r28, r5, 0
/* 8009E290 0009A1B0 3B A6 00 00 */ addi r29, r6, 0
/* 8009E294 0009A1B4 3B C7 00 00 */ addi r30, r7, 0
/* 8009E298 0009A1B8 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E29C 0009A1BC 7F E0 FA 14 */ add r31, r0, r31
/* 8009E2A0 0009A1C0 48 04 45 B5 */ bl GXSetTevSwapModeTable
/* 8009E2A4 0009A1C4 93 7F 00 00 */ stw r27, 0(r31)
/* 8009E2A8 0009A1C8 93 9F 00 04 */ stw r28, 4(r31)
/* 8009E2AC 0009A1CC 93 BF 00 08 */ stw r29, 8(r31)
/* 8009E2B0 0009A1D0 93 DF 00 0C */ stw r30, 0xc(r31)
/* 8009E2B4 0009A1D4 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E2B8 0009A1D8 BB 61 00 24 */ lmw r27, 0x24(r1)
/* 8009E2BC 0009A1DC 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E2C0 0009A1E0 7C 08 03 A6 */ mtlr r0
/* 8009E2C4 0009A1E4 4E 80 00 20 */ blr
.global GXSetTevSwapMode_cached
GXSetTevSwapMode_cached:
/* 8009E2C8 0009A1E8 7C 08 02 A6 */ mflr r0
/* 8009E2CC 0009A1EC 54 66 18 38 */ slwi r6, r3, 3
/* 8009E2D0 0009A1F0 90 01 00 04 */ stw r0, 4(r1)
/* 8009E2D4 0009A1F4 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009E2D8 0009A1F8 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8009E2DC 0009A1FC 3B E6 00 64 */ addi r31, r6, 0x64
/* 8009E2E0 0009A200 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8009E2E4 0009A204 3B C5 00 00 */ addi r30, r5, 0
/* 8009E2E8 0009A208 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8009E2EC 0009A20C 3B A4 00 00 */ addi r29, r4, 0
/* 8009E2F0 0009A210 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E2F4 0009A214 7F E0 FA 14 */ add r31, r0, r31
/* 8009E2F8 0009A218 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009E2FC 0009A21C 7C 00 E8 00 */ cmpw r0, r29
/* 8009E300 0009A220 40 82 00 10 */ bne lbl_8009E310
/* 8009E304 0009A224 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009E308 0009A228 7C 00 F0 00 */ cmpw r0, r30
/* 8009E30C 0009A22C 41 82 00 18 */ beq lbl_8009E324
lbl_8009E310:
/* 8009E310 0009A230 38 9D 00 00 */ addi r4, r29, 0
/* 8009E314 0009A234 38 BE 00 00 */ addi r5, r30, 0
/* 8009E318 0009A238 48 04 44 E5 */ bl GXSetTevSwapMode
/* 8009E31C 0009A23C 93 BF 00 00 */ stw r29, 0(r31)
/* 8009E320 0009A240 93 DF 00 04 */ stw r30, 4(r31)
lbl_8009E324:
/* 8009E324 0009A244 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009E328 0009A248 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8009E32C 0009A24C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8009E330 0009A250 7C 08 03 A6 */ mtlr r0
/* 8009E334 0009A254 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8009E338 0009A258 38 21 00 28 */ addi r1, r1, 0x28
/* 8009E33C 0009A25C 4E 80 00 20 */ blr
.global GXSetTevSwapMode_cached_init
GXSetTevSwapMode_cached_init:
/* 8009E340 0009A260 7C 08 02 A6 */ mflr r0
/* 8009E344 0009A264 54 66 18 38 */ slwi r6, r3, 3
/* 8009E348 0009A268 90 01 00 04 */ stw r0, 4(r1)
/* 8009E34C 0009A26C 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009E350 0009A270 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8009E354 0009A274 3B E6 00 64 */ addi r31, r6, 0x64
/* 8009E358 0009A278 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8009E35C 0009A27C 3B C5 00 00 */ addi r30, r5, 0
/* 8009E360 0009A280 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8009E364 0009A284 3B A4 00 00 */ addi r29, r4, 0
/* 8009E368 0009A288 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E36C 0009A28C 7F E0 FA 14 */ add r31, r0, r31
/* 8009E370 0009A290 48 04 44 8D */ bl GXSetTevSwapMode
/* 8009E374 0009A294 93 BF 00 00 */ stw r29, 0(r31)
/* 8009E378 0009A298 93 DF 00 04 */ stw r30, 4(r31)
/* 8009E37C 0009A29C 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009E380 0009A2A0 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8009E384 0009A2A4 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8009E388 0009A2A8 7C 08 03 A6 */ mtlr r0
/* 8009E38C 0009A2AC 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8009E390 0009A2B0 38 21 00 28 */ addi r1, r1, 0x28
/* 8009E394 0009A2B4 4E 80 00 20 */ blr
.global GXSetFog_cached
GXSetFog_cached:
/* 8009E398 0009A2B8 7C 08 02 A6 */ mflr r0
/* 8009E39C 0009A2BC 90 01 00 04 */ stw r0, 4(r1)
/* 8009E3A0 0009A2C0 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009E3A4 0009A2C4 80 CD 9F C0 */ lwz r6, zMode@sda21(r13)
/* 8009E3A8 0009A2C8 80 06 00 E4 */ lwz r0, 0xe4(r6)
/* 8009E3AC 0009A2CC 7C 00 18 00 */ cmpw r0, r3
/* 8009E3B0 0009A2D0 40 82 00 74 */ bne lbl_8009E424
/* 8009E3B4 0009A2D4 88 A6 00 F8 */ lbz r5, 0xf8(r6)
/* 8009E3B8 0009A2D8 88 04 00 00 */ lbz r0, 0(r4)
/* 8009E3BC 0009A2DC 7C 05 00 40 */ cmplw r5, r0
/* 8009E3C0 0009A2E0 40 82 00 64 */ bne lbl_8009E424
/* 8009E3C4 0009A2E4 88 A6 00 F9 */ lbz r5, 0xf9(r6)
/* 8009E3C8 0009A2E8 88 04 00 01 */ lbz r0, 1(r4)
/* 8009E3CC 0009A2EC 7C 05 00 40 */ cmplw r5, r0
/* 8009E3D0 0009A2F0 40 82 00 54 */ bne lbl_8009E424
/* 8009E3D4 0009A2F4 88 A6 00 FA */ lbz r5, 0xfa(r6)
/* 8009E3D8 0009A2F8 88 04 00 02 */ lbz r0, 2(r4)
/* 8009E3DC 0009A2FC 7C 05 00 40 */ cmplw r5, r0
/* 8009E3E0 0009A300 40 82 00 44 */ bne lbl_8009E424
/* 8009E3E4 0009A304 88 A6 00 FB */ lbz r5, 0xfb(r6)
/* 8009E3E8 0009A308 88 04 00 03 */ lbz r0, 3(r4)
/* 8009E3EC 0009A30C 7C 05 00 40 */ cmplw r5, r0
/* 8009E3F0 0009A310 40 82 00 34 */ bne lbl_8009E424
/* 8009E3F4 0009A314 C0 06 00 E8 */ lfs f0, 0xe8(r6)
/* 8009E3F8 0009A318 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8009E3FC 0009A31C 40 82 00 28 */ bne lbl_8009E424
/* 8009E400 0009A320 C0 06 00 EC */ lfs f0, 0xec(r6)
/* 8009E404 0009A324 FC 00 10 00 */ fcmpu cr0, f0, f2
/* 8009E408 0009A328 40 82 00 1C */ bne lbl_8009E424
/* 8009E40C 0009A32C C0 06 00 F0 */ lfs f0, 0xf0(r6)
/* 8009E410 0009A330 FC 00 18 00 */ fcmpu cr0, f0, f3
/* 8009E414 0009A334 40 82 00 10 */ bne lbl_8009E424
/* 8009E418 0009A338 C0 06 00 F4 */ lfs f0, 0xf4(r6)
/* 8009E41C 0009A33C FC 00 20 00 */ fcmpu cr0, f0, f4
/* 8009E420 0009A340 41 82 00 14 */ beq lbl_8009E434
lbl_8009E424:
/* 8009E424 0009A344 80 04 00 00 */ lwz r0, 0(r4)
/* 8009E428 0009A348 38 81 00 20 */ addi r4, r1, 0x20
/* 8009E42C 0009A34C 90 01 00 20 */ stw r0, 0x20(r1)
/* 8009E430 0009A350 48 00 00 15 */ bl GXSetFog_cached_init
lbl_8009E434:
/* 8009E434 0009A354 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009E438 0009A358 38 21 00 28 */ addi r1, r1, 0x28
/* 8009E43C 0009A35C 7C 08 03 A6 */ mtlr r0
/* 8009E440 0009A360 4E 80 00 20 */ blr
.global GXSetFog_cached_init
GXSetFog_cached_init:
/* 8009E444 0009A364 7C 08 02 A6 */ mflr r0
/* 8009E448 0009A368 90 01 00 04 */ stw r0, 4(r1)
/* 8009E44C 0009A36C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8009E450 0009A370 DB E1 00 48 */ stfd f31, 0x48(r1)
/* 8009E454 0009A374 FF E0 20 90 */ fmr f31, f4
/* 8009E458 0009A378 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 8009E45C 0009A37C FF C0 18 90 */ fmr f30, f3
/* 8009E460 0009A380 DB A1 00 38 */ stfd f29, 0x38(r1)
/* 8009E464 0009A384 FF A0 10 90 */ fmr f29, f2
/* 8009E468 0009A388 DB 81 00 30 */ stfd f28, 0x30(r1)
/* 8009E46C 0009A38C FF 80 08 90 */ fmr f28, f1
/* 8009E470 0009A390 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8009E474 0009A394 7C 9F 23 78 */ mr r31, r4
/* 8009E478 0009A398 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8009E47C 0009A39C 3B C3 00 00 */ addi r30, r3, 0
/* 8009E480 0009A3A0 80 04 00 00 */ lwz r0, 0(r4)
/* 8009E484 0009A3A4 38 81 00 20 */ addi r4, r1, 0x20
/* 8009E488 0009A3A8 90 01 00 20 */ stw r0, 0x20(r1)
/* 8009E48C 0009A3AC 48 04 47 11 */ bl GXSetFog
/* 8009E490 0009A3B0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E494 0009A3B4 93 C3 00 E4 */ stw r30, 0xe4(r3)
/* 8009E498 0009A3B8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E49C 0009A3BC D3 83 00 E8 */ stfs f28, 0xe8(r3)
/* 8009E4A0 0009A3C0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E4A4 0009A3C4 D3 A3 00 EC */ stfs f29, 0xec(r3)
/* 8009E4A8 0009A3C8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E4AC 0009A3CC D3 C3 00 F0 */ stfs f30, 0xf0(r3)
/* 8009E4B0 0009A3D0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E4B4 0009A3D4 D3 E3 00 F4 */ stfs f31, 0xf4(r3)
/* 8009E4B8 0009A3D8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E4BC 0009A3DC 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009E4C0 0009A3E0 90 03 00 F8 */ stw r0, 0xf8(r3)
/* 8009E4C4 0009A3E4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8009E4C8 0009A3E8 CB E1 00 48 */ lfd f31, 0x48(r1)
/* 8009E4CC 0009A3EC CB C1 00 40 */ lfd f30, 0x40(r1)
/* 8009E4D0 0009A3F0 CB A1 00 38 */ lfd f29, 0x38(r1)
/* 8009E4D4 0009A3F4 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 8009E4D8 0009A3F8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8009E4DC 0009A3FC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8009E4E0 0009A400 38 21 00 50 */ addi r1, r1, 0x50
/* 8009E4E4 0009A404 7C 08 03 A6 */ mtlr r0
/* 8009E4E8 0009A408 4E 80 00 20 */ blr
.global GXSetColorUpdate_cached
GXSetColorUpdate_cached:
/* 8009E4EC 0009A40C 7C 08 02 A6 */ mflr r0
/* 8009E4F0 0009A410 90 01 00 04 */ stw r0, 4(r1)
/* 8009E4F4 0009A414 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8009E4F8 0009A418 94 21 FF F8 */ stwu r1, -8(r1)
/* 8009E4FC 0009A41C 80 8D 9F C0 */ lwz r4, zMode@sda21(r13)
/* 8009E500 0009A420 88 84 00 FC */ lbz r4, 0xfc(r4)
/* 8009E504 0009A424 7C 04 00 40 */ cmplw r4, r0
/* 8009E508 0009A428 41 82 00 08 */ beq lbl_8009E510
/* 8009E50C 0009A42C 48 00 00 15 */ bl GXSetColorUpdate_cached_init
lbl_8009E510:
/* 8009E510 0009A430 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8009E514 0009A434 38 21 00 08 */ addi r1, r1, 8
/* 8009E518 0009A438 7C 08 03 A6 */ mtlr r0
/* 8009E51C 0009A43C 4E 80 00 20 */ blr
.global GXSetColorUpdate_cached_init
GXSetColorUpdate_cached_init:
/* 8009E520 0009A440 7C 08 02 A6 */ mflr r0
/* 8009E524 0009A444 90 01 00 04 */ stw r0, 4(r1)
/* 8009E528 0009A448 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009E52C 0009A44C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009E530 0009A450 7C 7F 1B 78 */ mr r31, r3
/* 8009E534 0009A454 48 04 4A 21 */ bl GXSetColorUpdate
/* 8009E538 0009A458 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E53C 0009A45C 9B E3 00 FC */ stb r31, 0xfc(r3)
/* 8009E540 0009A460 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009E544 0009A464 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009E548 0009A468 38 21 00 18 */ addi r1, r1, 0x18
/* 8009E54C 0009A46C 7C 08 03 A6 */ mtlr r0
/* 8009E550 0009A470 4E 80 00 20 */ blr
.global GXSetAlphaUpdate_cached_init
GXSetAlphaUpdate_cached_init:
/* 8009E554 0009A474 7C 08 02 A6 */ mflr r0
/* 8009E558 0009A478 90 01 00 04 */ stw r0, 4(r1)
/* 8009E55C 0009A47C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009E560 0009A480 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009E564 0009A484 7C 7F 1B 78 */ mr r31, r3
/* 8009E568 0009A488 48 04 4A 2D */ bl GXSetAlphaUpdate
/* 8009E56C 0009A48C 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E570 0009A490 9B E3 00 FD */ stb r31, 0xfd(r3)
/* 8009E574 0009A494 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009E578 0009A498 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009E57C 0009A49C 38 21 00 18 */ addi r1, r1, 0x18
/* 8009E580 0009A4A0 7C 08 03 A6 */ mtlr r0
/* 8009E584 0009A4A4 4E 80 00 20 */ blr
.global GXSetZCompLoc_cached
GXSetZCompLoc_cached:
/* 8009E588 0009A4A8 7C 08 02 A6 */ mflr r0
/* 8009E58C 0009A4AC 90 01 00 04 */ stw r0, 4(r1)
/* 8009E590 0009A4B0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8009E594 0009A4B4 94 21 FF F8 */ stwu r1, -8(r1)
/* 8009E598 0009A4B8 80 8D 9F C0 */ lwz r4, zMode@sda21(r13)
/* 8009E59C 0009A4BC 88 84 00 FE */ lbz r4, 0xfe(r4)
/* 8009E5A0 0009A4C0 7C 04 00 40 */ cmplw r4, r0
/* 8009E5A4 0009A4C4 41 82 00 08 */ beq lbl_8009E5AC
/* 8009E5A8 0009A4C8 48 00 00 3D */ bl GXSetZCompLoc_cached_init
lbl_8009E5AC:
/* 8009E5AC 0009A4CC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8009E5B0 0009A4D0 38 21 00 08 */ addi r1, r1, 8
/* 8009E5B4 0009A4D4 7C 08 03 A6 */ mtlr r0
/* 8009E5B8 0009A4D8 4E 80 00 20 */ blr
.global GXSetZCompLoc_from_cache
GXSetZCompLoc_from_cache:
/* 8009E5BC 0009A4DC 7C 08 02 A6 */ mflr r0
/* 8009E5C0 0009A4E0 90 01 00 04 */ stw r0, 4(r1)
/* 8009E5C4 0009A4E4 94 21 FF F8 */ stwu r1, -8(r1)
/* 8009E5C8 0009A4E8 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E5CC 0009A4EC 88 63 00 FE */ lbz r3, 0xfe(r3)
/* 8009E5D0 0009A4F0 48 04 4A 7D */ bl GXSetZCompLoc
/* 8009E5D4 0009A4F4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8009E5D8 0009A4F8 38 21 00 08 */ addi r1, r1, 8
/* 8009E5DC 0009A4FC 7C 08 03 A6 */ mtlr r0
/* 8009E5E0 0009A500 4E 80 00 20 */ blr
.global GXSetZCompLoc_cached_init
GXSetZCompLoc_cached_init:
/* 8009E5E4 0009A504 7C 08 02 A6 */ mflr r0
/* 8009E5E8 0009A508 90 01 00 04 */ stw r0, 4(r1)
/* 8009E5EC 0009A50C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009E5F0 0009A510 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009E5F4 0009A514 7C 7F 1B 78 */ mr r31, r3
/* 8009E5F8 0009A518 48 04 4A 55 */ bl GXSetZCompLoc
/* 8009E5FC 0009A51C 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009E600 0009A520 9B E3 00 FE */ stb r31, 0xfe(r3)
/* 8009E604 0009A524 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009E608 0009A528 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009E60C 0009A52C 38 21 00 18 */ addi r1, r1, 0x18
/* 8009E610 0009A530 7C 08 03 A6 */ mtlr r0
/* 8009E614 0009A534 4E 80 00 20 */ blr
.global GXSetTevColorIn_cached
GXSetTevColorIn_cached:
/* 8009E618 0009A538 7C 08 02 A6 */ mflr r0
/* 8009E61C 0009A53C 54 68 20 36 */ slwi r8, r3, 4
/* 8009E620 0009A540 90 01 00 04 */ stw r0, 4(r1)
/* 8009E624 0009A544 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E628 0009A548 BF 61 00 24 */ stmw r27, 0x24(r1)
/* 8009E62C 0009A54C 3B E8 01 00 */ addi r31, r8, 0x100
/* 8009E630 0009A550 3B 64 00 00 */ addi r27, r4, 0
/* 8009E634 0009A554 3B 85 00 00 */ addi r28, r5, 0
/* 8009E638 0009A558 3B A6 00 00 */ addi r29, r6, 0
/* 8009E63C 0009A55C 3B C7 00 00 */ addi r30, r7, 0
/* 8009E640 0009A560 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E644 0009A564 7F E0 FA 14 */ add r31, r0, r31
/* 8009E648 0009A568 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009E64C 0009A56C 7C 00 D8 00 */ cmpw r0, r27
/* 8009E650 0009A570 40 82 00 28 */ bne lbl_8009E678
/* 8009E654 0009A574 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009E658 0009A578 7C 00 E0 00 */ cmpw r0, r28
/* 8009E65C 0009A57C 40 82 00 1C */ bne lbl_8009E678
/* 8009E660 0009A580 80 1F 00 08 */ lwz r0, 8(r31)
/* 8009E664 0009A584 7C 00 E8 00 */ cmpw r0, r29
/* 8009E668 0009A588 40 82 00 10 */ bne lbl_8009E678
/* 8009E66C 0009A58C 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8009E670 0009A590 7C 00 F0 00 */ cmpw r0, r30
/* 8009E674 0009A594 41 82 00 28 */ beq lbl_8009E69C
lbl_8009E678:
/* 8009E678 0009A598 38 9B 00 00 */ addi r4, r27, 0
/* 8009E67C 0009A59C 38 BC 00 00 */ addi r5, r28, 0
/* 8009E680 0009A5A0 38 DD 00 00 */ addi r6, r29, 0
/* 8009E684 0009A5A4 38 FE 00 00 */ addi r7, r30, 0
/* 8009E688 0009A5A8 48 04 3D 31 */ bl GXSetTevColorIn
/* 8009E68C 0009A5AC 93 7F 00 00 */ stw r27, 0(r31)
/* 8009E690 0009A5B0 93 9F 00 04 */ stw r28, 4(r31)
/* 8009E694 0009A5B4 93 BF 00 08 */ stw r29, 8(r31)
/* 8009E698 0009A5B8 93 DF 00 0C */ stw r30, 0xc(r31)
lbl_8009E69C:
/* 8009E69C 0009A5BC BB 61 00 24 */ lmw r27, 0x24(r1)
/* 8009E6A0 0009A5C0 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E6A4 0009A5C4 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E6A8 0009A5C8 7C 08 03 A6 */ mtlr r0
/* 8009E6AC 0009A5CC 4E 80 00 20 */ blr
.global GXSetTevColorIn_cached_init
GXSetTevColorIn_cached_init:
/* 8009E6B0 0009A5D0 7C 08 02 A6 */ mflr r0
/* 8009E6B4 0009A5D4 90 01 00 04 */ stw r0, 4(r1)
/* 8009E6B8 0009A5D8 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E6BC 0009A5DC BF 61 00 24 */ stmw r27, 0x24(r1)
/* 8009E6C0 0009A5E0 3B 63 00 00 */ addi r27, r3, 0
/* 8009E6C4 0009A5E4 3B 84 00 00 */ addi r28, r4, 0
/* 8009E6C8 0009A5E8 3B A5 00 00 */ addi r29, r5, 0
/* 8009E6CC 0009A5EC 3B C6 00 00 */ addi r30, r6, 0
/* 8009E6D0 0009A5F0 3B E7 00 00 */ addi r31, r7, 0
/* 8009E6D4 0009A5F4 48 04 3C E5 */ bl GXSetTevColorIn
/* 8009E6D8 0009A5F8 57 63 20 36 */ slwi r3, r27, 4
/* 8009E6DC 0009A5FC 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E6E0 0009A600 38 63 01 00 */ addi r3, r3, 0x100
/* 8009E6E4 0009A604 7C 60 1A 14 */ add r3, r0, r3
/* 8009E6E8 0009A608 93 83 00 00 */ stw r28, 0(r3)
/* 8009E6EC 0009A60C 93 A3 00 04 */ stw r29, 4(r3)
/* 8009E6F0 0009A610 93 C3 00 08 */ stw r30, 8(r3)
/* 8009E6F4 0009A614 93 E3 00 0C */ stw r31, 0xc(r3)
/* 8009E6F8 0009A618 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E6FC 0009A61C BB 61 00 24 */ lmw r27, 0x24(r1)
/* 8009E700 0009A620 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E704 0009A624 7C 08 03 A6 */ mtlr r0
/* 8009E708 0009A628 4E 80 00 20 */ blr
.global GXSetTevAlphaIn_cached
GXSetTevAlphaIn_cached:
/* 8009E70C 0009A62C 7C 08 02 A6 */ mflr r0
/* 8009E710 0009A630 54 68 20 36 */ slwi r8, r3, 4
/* 8009E714 0009A634 90 01 00 04 */ stw r0, 4(r1)
/* 8009E718 0009A638 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E71C 0009A63C BF 61 00 24 */ stmw r27, 0x24(r1)
/* 8009E720 0009A640 3B E8 02 00 */ addi r31, r8, 0x200
/* 8009E724 0009A644 3B 64 00 00 */ addi r27, r4, 0
/* 8009E728 0009A648 3B 85 00 00 */ addi r28, r5, 0
/* 8009E72C 0009A64C 3B A6 00 00 */ addi r29, r6, 0
/* 8009E730 0009A650 3B C7 00 00 */ addi r30, r7, 0
/* 8009E734 0009A654 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E738 0009A658 7F E0 FA 14 */ add r31, r0, r31
/* 8009E73C 0009A65C 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009E740 0009A660 7C 00 D8 00 */ cmpw r0, r27
/* 8009E744 0009A664 40 82 00 28 */ bne lbl_8009E76C
/* 8009E748 0009A668 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009E74C 0009A66C 7C 00 E0 00 */ cmpw r0, r28
/* 8009E750 0009A670 40 82 00 1C */ bne lbl_8009E76C
/* 8009E754 0009A674 80 1F 00 08 */ lwz r0, 8(r31)
/* 8009E758 0009A678 7C 00 E8 00 */ cmpw r0, r29
/* 8009E75C 0009A67C 40 82 00 10 */ bne lbl_8009E76C
/* 8009E760 0009A680 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8009E764 0009A684 7C 00 F0 00 */ cmpw r0, r30
/* 8009E768 0009A688 41 82 00 28 */ beq lbl_8009E790
lbl_8009E76C:
/* 8009E76C 0009A68C 38 9B 00 00 */ addi r4, r27, 0
/* 8009E770 0009A690 38 BC 00 00 */ addi r5, r28, 0
/* 8009E774 0009A694 38 DD 00 00 */ addi r6, r29, 0
/* 8009E778 0009A698 38 FE 00 00 */ addi r7, r30, 0
/* 8009E77C 0009A69C 48 04 3C BD */ bl GXSetTevAlphaIn
/* 8009E780 0009A6A0 93 7F 00 00 */ stw r27, 0(r31)
/* 8009E784 0009A6A4 93 9F 00 04 */ stw r28, 4(r31)
/* 8009E788 0009A6A8 93 BF 00 08 */ stw r29, 8(r31)
/* 8009E78C 0009A6AC 93 DF 00 0C */ stw r30, 0xc(r31)
lbl_8009E790:
/* 8009E790 0009A6B0 BB 61 00 24 */ lmw r27, 0x24(r1)
/* 8009E794 0009A6B4 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E798 0009A6B8 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E79C 0009A6BC 7C 08 03 A6 */ mtlr r0
/* 8009E7A0 0009A6C0 4E 80 00 20 */ blr
.global GXSetTevAlphaIn_cached_init
GXSetTevAlphaIn_cached_init:
/* 8009E7A4 0009A6C4 7C 08 02 A6 */ mflr r0
/* 8009E7A8 0009A6C8 90 01 00 04 */ stw r0, 4(r1)
/* 8009E7AC 0009A6CC 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E7B0 0009A6D0 BF 61 00 24 */ stmw r27, 0x24(r1)
/* 8009E7B4 0009A6D4 3B 63 00 00 */ addi r27, r3, 0
/* 8009E7B8 0009A6D8 3B 84 00 00 */ addi r28, r4, 0
/* 8009E7BC 0009A6DC 3B A5 00 00 */ addi r29, r5, 0
/* 8009E7C0 0009A6E0 3B C6 00 00 */ addi r30, r6, 0
/* 8009E7C4 0009A6E4 3B E7 00 00 */ addi r31, r7, 0
/* 8009E7C8 0009A6E8 48 04 3C 71 */ bl GXSetTevAlphaIn
/* 8009E7CC 0009A6EC 57 63 20 36 */ slwi r3, r27, 4
/* 8009E7D0 0009A6F0 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E7D4 0009A6F4 38 63 02 00 */ addi r3, r3, 0x200
/* 8009E7D8 0009A6F8 7C 60 1A 14 */ add r3, r0, r3
/* 8009E7DC 0009A6FC 93 83 00 00 */ stw r28, 0(r3)
/* 8009E7E0 0009A700 93 A3 00 04 */ stw r29, 4(r3)
/* 8009E7E4 0009A704 93 C3 00 08 */ stw r30, 8(r3)
/* 8009E7E8 0009A708 93 E3 00 0C */ stw r31, 0xc(r3)
/* 8009E7EC 0009A70C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E7F0 0009A710 BB 61 00 24 */ lmw r27, 0x24(r1)
/* 8009E7F4 0009A714 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E7F8 0009A718 7C 08 03 A6 */ mtlr r0
/* 8009E7FC 0009A71C 4E 80 00 20 */ blr
.global GXSetTevColorOp_cached
GXSetTevColorOp_cached:
/* 8009E800 0009A720 7C 08 02 A6 */ mflr r0
/* 8009E804 0009A724 1D 23 00 14 */ mulli r9, r3, 0x14
/* 8009E808 0009A728 90 01 00 04 */ stw r0, 4(r1)
/* 8009E80C 0009A72C 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E810 0009A730 BF 41 00 20 */ stmw r26, 0x20(r1)
/* 8009E814 0009A734 3B E9 03 00 */ addi r31, r9, 0x300
/* 8009E818 0009A738 3B C8 00 00 */ addi r30, r8, 0
/* 8009E81C 0009A73C 3B 44 00 00 */ addi r26, r4, 0
/* 8009E820 0009A740 3B 65 00 00 */ addi r27, r5, 0
/* 8009E824 0009A744 3B 86 00 00 */ addi r28, r6, 0
/* 8009E828 0009A748 3B A7 00 00 */ addi r29, r7, 0
/* 8009E82C 0009A74C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E830 0009A750 7F E0 FA 14 */ add r31, r0, r31
/* 8009E834 0009A754 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8009E838 0009A758 7C 00 F0 00 */ cmpw r0, r30
/* 8009E83C 0009A75C 40 82 00 38 */ bne lbl_8009E874
/* 8009E840 0009A760 80 1F 00 08 */ lwz r0, 8(r31)
/* 8009E844 0009A764 7C 00 E0 00 */ cmpw r0, r28
/* 8009E848 0009A768 40 82 00 2C */ bne lbl_8009E874
/* 8009E84C 0009A76C 88 9F 00 0C */ lbz r4, 0xc(r31)
/* 8009E850 0009A770 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 8009E854 0009A774 7C 04 00 40 */ cmplw r4, r0
/* 8009E858 0009A778 40 82 00 1C */ bne lbl_8009E874
/* 8009E85C 0009A77C 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009E860 0009A780 7C 00 D0 00 */ cmpw r0, r26
/* 8009E864 0009A784 40 82 00 10 */ bne lbl_8009E874
/* 8009E868 0009A788 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009E86C 0009A78C 7C 00 D8 00 */ cmpw r0, r27
/* 8009E870 0009A790 41 82 00 30 */ beq lbl_8009E8A0
lbl_8009E874:
/* 8009E874 0009A794 38 9A 00 00 */ addi r4, r26, 0
/* 8009E878 0009A798 38 BB 00 00 */ addi r5, r27, 0
/* 8009E87C 0009A79C 38 DC 00 00 */ addi r6, r28, 0
/* 8009E880 0009A7A0 38 FD 00 00 */ addi r7, r29, 0
/* 8009E884 0009A7A4 39 1E 00 00 */ addi r8, r30, 0
/* 8009E888 0009A7A8 48 04 3C 35 */ bl GXSetTevColorOp
/* 8009E88C 0009A7AC 93 5F 00 00 */ stw r26, 0(r31)
/* 8009E890 0009A7B0 93 7F 00 04 */ stw r27, 4(r31)
/* 8009E894 0009A7B4 93 9F 00 08 */ stw r28, 8(r31)
/* 8009E898 0009A7B8 9B BF 00 0C */ stb r29, 0xc(r31)
/* 8009E89C 0009A7BC 93 DF 00 10 */ stw r30, 0x10(r31)
lbl_8009E8A0:
/* 8009E8A0 0009A7C0 BB 41 00 20 */ lmw r26, 0x20(r1)
/* 8009E8A4 0009A7C4 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E8A8 0009A7C8 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E8AC 0009A7CC 7C 08 03 A6 */ mtlr r0
/* 8009E8B0 0009A7D0 4E 80 00 20 */ blr
.global GXSetTevColorOp_cached_init
GXSetTevColorOp_cached_init:
/* 8009E8B4 0009A7D4 7C 08 02 A6 */ mflr r0
/* 8009E8B8 0009A7D8 90 01 00 04 */ stw r0, 4(r1)
/* 8009E8BC 0009A7DC 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E8C0 0009A7E0 BF 41 00 20 */ stmw r26, 0x20(r1)
/* 8009E8C4 0009A7E4 3B 43 00 00 */ addi r26, r3, 0
/* 8009E8C8 0009A7E8 3B 64 00 00 */ addi r27, r4, 0
/* 8009E8CC 0009A7EC 3B 85 00 00 */ addi r28, r5, 0
/* 8009E8D0 0009A7F0 3B A6 00 00 */ addi r29, r6, 0
/* 8009E8D4 0009A7F4 3B C7 00 00 */ addi r30, r7, 0
/* 8009E8D8 0009A7F8 3B E8 00 00 */ addi r31, r8, 0
/* 8009E8DC 0009A7FC 48 04 3B E1 */ bl GXSetTevColorOp
/* 8009E8E0 0009A800 1C 7A 00 14 */ mulli r3, r26, 0x14
/* 8009E8E4 0009A804 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E8E8 0009A808 38 63 03 00 */ addi r3, r3, 0x300
/* 8009E8EC 0009A80C 7C 60 1A 14 */ add r3, r0, r3
/* 8009E8F0 0009A810 93 63 00 00 */ stw r27, 0(r3)
/* 8009E8F4 0009A814 93 83 00 04 */ stw r28, 4(r3)
/* 8009E8F8 0009A818 93 A3 00 08 */ stw r29, 8(r3)
/* 8009E8FC 0009A81C 9B C3 00 0C */ stb r30, 0xc(r3)
/* 8009E900 0009A820 93 E3 00 10 */ stw r31, 0x10(r3)
/* 8009E904 0009A824 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E908 0009A828 BB 41 00 20 */ lmw r26, 0x20(r1)
/* 8009E90C 0009A82C 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E910 0009A830 7C 08 03 A6 */ mtlr r0
/* 8009E914 0009A834 4E 80 00 20 */ blr
.global GXSetTevAlphaOp_cached
GXSetTevAlphaOp_cached:
/* 8009E918 0009A838 7C 08 02 A6 */ mflr r0
/* 8009E91C 0009A83C 1D 23 00 14 */ mulli r9, r3, 0x14
/* 8009E920 0009A840 90 01 00 04 */ stw r0, 4(r1)
/* 8009E924 0009A844 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E928 0009A848 BF 41 00 20 */ stmw r26, 0x20(r1)
/* 8009E92C 0009A84C 3B E9 04 40 */ addi r31, r9, 0x440
/* 8009E930 0009A850 3B C8 00 00 */ addi r30, r8, 0
/* 8009E934 0009A854 3B 44 00 00 */ addi r26, r4, 0
/* 8009E938 0009A858 3B 65 00 00 */ addi r27, r5, 0
/* 8009E93C 0009A85C 3B 86 00 00 */ addi r28, r6, 0
/* 8009E940 0009A860 3B A7 00 00 */ addi r29, r7, 0
/* 8009E944 0009A864 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009E948 0009A868 7F E0 FA 14 */ add r31, r0, r31
/* 8009E94C 0009A86C 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8009E950 0009A870 7C 00 F0 00 */ cmpw r0, r30
/* 8009E954 0009A874 40 82 00 38 */ bne lbl_8009E98C
/* 8009E958 0009A878 80 1F 00 08 */ lwz r0, 8(r31)
/* 8009E95C 0009A87C 7C 00 E0 00 */ cmpw r0, r28
/* 8009E960 0009A880 40 82 00 2C */ bne lbl_8009E98C
/* 8009E964 0009A884 88 9F 00 0C */ lbz r4, 0xc(r31)
/* 8009E968 0009A888 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 8009E96C 0009A88C 7C 04 00 40 */ cmplw r4, r0
/* 8009E970 0009A890 40 82 00 1C */ bne lbl_8009E98C
/* 8009E974 0009A894 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009E978 0009A898 7C 00 D0 00 */ cmpw r0, r26
/* 8009E97C 0009A89C 40 82 00 10 */ bne lbl_8009E98C
/* 8009E980 0009A8A0 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009E984 0009A8A4 7C 00 D8 00 */ cmpw r0, r27
/* 8009E988 0009A8A8 41 82 00 30 */ beq lbl_8009E9B8
lbl_8009E98C:
/* 8009E98C 0009A8AC 38 9A 00 00 */ addi r4, r26, 0
/* 8009E990 0009A8B0 38 BB 00 00 */ addi r5, r27, 0
/* 8009E994 0009A8B4 38 DC 00 00 */ addi r6, r28, 0
/* 8009E998 0009A8B8 38 FD 00 00 */ addi r7, r29, 0
/* 8009E99C 0009A8BC 39 1E 00 00 */ addi r8, r30, 0
/* 8009E9A0 0009A8C0 48 04 3B DD */ bl GXSetTevAlphaOp
/* 8009E9A4 0009A8C4 93 5F 00 00 */ stw r26, 0(r31)
/* 8009E9A8 0009A8C8 93 7F 00 04 */ stw r27, 4(r31)
/* 8009E9AC 0009A8CC 93 9F 00 08 */ stw r28, 8(r31)
/* 8009E9B0 0009A8D0 9B BF 00 0C */ stb r29, 0xc(r31)
/* 8009E9B4 0009A8D4 93 DF 00 10 */ stw r30, 0x10(r31)
lbl_8009E9B8:
/* 8009E9B8 0009A8D8 BB 41 00 20 */ lmw r26, 0x20(r1)
/* 8009E9BC 0009A8DC 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009E9C0 0009A8E0 38 21 00 38 */ addi r1, r1, 0x38
/* 8009E9C4 0009A8E4 7C 08 03 A6 */ mtlr r0
/* 8009E9C8 0009A8E8 4E 80 00 20 */ blr
.global GXSetTevAlphaOp_cached_init
GXSetTevAlphaOp_cached_init:
/* 8009E9CC 0009A8EC 7C 08 02 A6 */ mflr r0
/* 8009E9D0 0009A8F0 90 01 00 04 */ stw r0, 4(r1)
/* 8009E9D4 0009A8F4 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8009E9D8 0009A8F8 BF 41 00 20 */ stmw r26, 0x20(r1)
/* 8009E9DC 0009A8FC 3B 43 00 00 */ addi r26, r3, 0
/* 8009E9E0 0009A900 3B 64 00 00 */ addi r27, r4, 0
/* 8009E9E4 0009A904 3B 85 00 00 */ addi r28, r5, 0
/* 8009E9E8 0009A908 3B A6 00 00 */ addi r29, r6, 0
/* 8009E9EC 0009A90C 3B C7 00 00 */ addi r30, r7, 0
/* 8009E9F0 0009A910 3B E8 00 00 */ addi r31, r8, 0
/* 8009E9F4 0009A914 48 04 3B 89 */ bl GXSetTevAlphaOp
/* 8009E9F8 0009A918 1C 7A 00 14 */ mulli r3, r26, 0x14
/* 8009E9FC 0009A91C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EA00 0009A920 38 63 04 40 */ addi r3, r3, 0x440
/* 8009EA04 0009A924 7C 60 1A 14 */ add r3, r0, r3
/* 8009EA08 0009A928 93 63 00 00 */ stw r27, 0(r3)
/* 8009EA0C 0009A92C 93 83 00 04 */ stw r28, 4(r3)
/* 8009EA10 0009A930 93 A3 00 08 */ stw r29, 8(r3)
/* 8009EA14 0009A934 9B C3 00 0C */ stb r30, 0xc(r3)
/* 8009EA18 0009A938 93 E3 00 10 */ stw r31, 0x10(r3)
/* 8009EA1C 0009A93C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8009EA20 0009A940 BB 41 00 20 */ lmw r26, 0x20(r1)
/* 8009EA24 0009A944 38 21 00 38 */ addi r1, r1, 0x38
/* 8009EA28 0009A948 7C 08 03 A6 */ mtlr r0
/* 8009EA2C 0009A94C 4E 80 00 20 */ blr
.global func_8009EA30
func_8009EA30:
/* 8009EA30 0009A950 7C 08 02 A6 */ mflr r0
/* 8009EA34 0009A954 90 01 00 04 */ stw r0, 4(r1)
/* 8009EA38 0009A958 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009EA3C 0009A95C BF 61 00 14 */ stmw r27, 0x14(r1)
/* 8009EA40 0009A960 7C 7D 1B 79 */ or. r29, r3, r3
/* 8009EA44 0009A964 40 82 00 10 */ bne lbl_8009EA54
/* 8009EA48 0009A968 3B E0 00 0A */ li r31, 0xa
/* 8009EA4C 0009A96C 3B C0 00 05 */ li r30, 5
/* 8009EA50 0009A970 48 00 00 0C */ b lbl_8009EA5C
lbl_8009EA54:
/* 8009EA54 0009A974 3B E0 00 00 */ li r31, 0
/* 8009EA58 0009A978 3B C0 00 00 */ li r30, 0
lbl_8009EA5C:
/* 8009EA5C 0009A97C 2C 04 00 02 */ cmpwi r4, 2
/* 8009EA60 0009A980 41 82 03 A0 */ beq lbl_8009EE00
/* 8009EA64 0009A984 40 80 00 14 */ bge lbl_8009EA78
/* 8009EA68 0009A988 2C 04 00 00 */ cmpwi r4, 0
/* 8009EA6C 0009A98C 41 82 00 FC */ beq lbl_8009EB68
/* 8009EA70 0009A990 40 80 00 18 */ bge lbl_8009EA88
/* 8009EA74 0009A994 48 00 04 68 */ b lbl_8009EEDC
lbl_8009EA78:
/* 8009EA78 0009A998 2C 04 00 04 */ cmpwi r4, 4
/* 8009EA7C 0009A99C 41 82 02 AC */ beq lbl_8009ED28
/* 8009EA80 0009A9A0 40 80 04 5C */ bge lbl_8009EEDC
/* 8009EA84 0009A9A4 48 00 01 C4 */ b lbl_8009EC48
lbl_8009EA88:
/* 8009EA88 0009A9A8 57 BB 20 36 */ slwi r27, r29, 4
/* 8009EA8C 0009A9AC 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EA90 0009A9B0 3B 9B 01 00 */ addi r28, r27, 0x100
/* 8009EA94 0009A9B4 7F 80 E2 14 */ add r28, r0, r28
/* 8009EA98 0009A9B8 80 1C 00 00 */ lwz r0, 0(r28)
/* 8009EA9C 0009A9BC 7C 00 F8 00 */ cmpw r0, r31
/* 8009EAA0 0009A9C0 40 82 00 28 */ bne lbl_8009EAC8
/* 8009EAA4 0009A9C4 80 1C 00 04 */ lwz r0, 4(r28)
/* 8009EAA8 0009A9C8 2C 00 00 08 */ cmpwi r0, 8
/* 8009EAAC 0009A9CC 40 82 00 1C */ bne lbl_8009EAC8
/* 8009EAB0 0009A9D0 80 1C 00 08 */ lwz r0, 8(r28)
/* 8009EAB4 0009A9D4 2C 00 00 09 */ cmpwi r0, 9
/* 8009EAB8 0009A9D8 40 82 00 10 */ bne lbl_8009EAC8
/* 8009EABC 0009A9DC 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 8009EAC0 0009A9E0 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009EAC4 0009A9E4 41 82 00 38 */ beq lbl_8009EAFC
lbl_8009EAC8:
/* 8009EAC8 0009A9E8 38 7D 00 00 */ addi r3, r29, 0
/* 8009EACC 0009A9EC 38 9F 00 00 */ addi r4, r31, 0
/* 8009EAD0 0009A9F0 38 A0 00 08 */ li r5, 8
/* 8009EAD4 0009A9F4 38 C0 00 09 */ li r6, 9
/* 8009EAD8 0009A9F8 38 E0 00 0F */ li r7, 0xf
/* 8009EADC 0009A9FC 48 04 38 DD */ bl GXSetTevColorIn
/* 8009EAE0 0009AA00 93 FC 00 00 */ stw r31, 0(r28)
/* 8009EAE4 0009AA04 38 00 00 08 */ li r0, 8
/* 8009EAE8 0009AA08 38 60 00 09 */ li r3, 9
/* 8009EAEC 0009AA0C 90 1C 00 04 */ stw r0, 4(r28)
/* 8009EAF0 0009AA10 38 00 00 0F */ li r0, 0xf
/* 8009EAF4 0009AA14 90 7C 00 08 */ stw r3, 8(r28)
/* 8009EAF8 0009AA18 90 1C 00 0C */ stw r0, 0xc(r28)
lbl_8009EAFC:
/* 8009EAFC 0009AA1C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EB00 0009AA20 3B 7B 02 00 */ addi r27, r27, 0x200
/* 8009EB04 0009AA24 7F 60 DA 14 */ add r27, r0, r27
/* 8009EB08 0009AA28 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EB0C 0009AA2C 2C 00 00 07 */ cmpwi r0, 7
/* 8009EB10 0009AA30 40 82 00 28 */ bne lbl_8009EB38
/* 8009EB14 0009AA34 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EB18 0009AA38 2C 00 00 07 */ cmpwi r0, 7
/* 8009EB1C 0009AA3C 40 82 00 1C */ bne lbl_8009EB38
/* 8009EB20 0009AA40 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EB24 0009AA44 2C 00 00 07 */ cmpwi r0, 7
/* 8009EB28 0009AA48 40 82 00 10 */ bne lbl_8009EB38
/* 8009EB2C 0009AA4C 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009EB30 0009AA50 7C 00 F0 00 */ cmpw r0, r30
/* 8009EB34 0009AA54 41 82 03 A8 */ beq lbl_8009EEDC
lbl_8009EB38:
/* 8009EB38 0009AA58 38 7D 00 00 */ addi r3, r29, 0
/* 8009EB3C 0009AA5C 38 FE 00 00 */ addi r7, r30, 0
/* 8009EB40 0009AA60 38 80 00 07 */ li r4, 7
/* 8009EB44 0009AA64 38 A0 00 07 */ li r5, 7
/* 8009EB48 0009AA68 38 C0 00 07 */ li r6, 7
/* 8009EB4C 0009AA6C 48 04 38 ED */ bl GXSetTevAlphaIn
/* 8009EB50 0009AA70 38 00 00 07 */ li r0, 7
/* 8009EB54 0009AA74 90 1B 00 00 */ stw r0, 0(r27)
/* 8009EB58 0009AA78 90 1B 00 04 */ stw r0, 4(r27)
/* 8009EB5C 0009AA7C 90 1B 00 08 */ stw r0, 8(r27)
/* 8009EB60 0009AA80 93 DB 00 0C */ stw r30, 0xc(r27)
/* 8009EB64 0009AA84 48 00 03 78 */ b lbl_8009EEDC
lbl_8009EB68:
/* 8009EB68 0009AA88 57 BC 20 36 */ slwi r28, r29, 4
/* 8009EB6C 0009AA8C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EB70 0009AA90 3B 7C 01 00 */ addi r27, r28, 0x100
/* 8009EB74 0009AA94 7F 60 DA 14 */ add r27, r0, r27
/* 8009EB78 0009AA98 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EB7C 0009AA9C 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009EB80 0009AAA0 40 82 00 28 */ bne lbl_8009EBA8
/* 8009EB84 0009AAA4 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EB88 0009AAA8 2C 00 00 08 */ cmpwi r0, 8
/* 8009EB8C 0009AAAC 40 82 00 1C */ bne lbl_8009EBA8
/* 8009EB90 0009AAB0 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EB94 0009AAB4 7C 00 F8 00 */ cmpw r0, r31
/* 8009EB98 0009AAB8 40 82 00 10 */ bne lbl_8009EBA8
/* 8009EB9C 0009AABC 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009EBA0 0009AAC0 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009EBA4 0009AAC4 41 82 00 34 */ beq lbl_8009EBD8
lbl_8009EBA8:
/* 8009EBA8 0009AAC8 38 7D 00 00 */ addi r3, r29, 0
/* 8009EBAC 0009AACC 38 DF 00 00 */ addi r6, r31, 0
/* 8009EBB0 0009AAD0 38 80 00 0F */ li r4, 0xf
/* 8009EBB4 0009AAD4 38 A0 00 08 */ li r5, 8
/* 8009EBB8 0009AAD8 38 E0 00 0F */ li r7, 0xf
/* 8009EBBC 0009AADC 48 04 37 FD */ bl GXSetTevColorIn
/* 8009EBC0 0009AAE0 38 60 00 0F */ li r3, 0xf
/* 8009EBC4 0009AAE4 90 7B 00 00 */ stw r3, 0(r27)
/* 8009EBC8 0009AAE8 38 00 00 08 */ li r0, 8
/* 8009EBCC 0009AAEC 90 1B 00 04 */ stw r0, 4(r27)
/* 8009EBD0 0009AAF0 93 FB 00 08 */ stw r31, 8(r27)
/* 8009EBD4 0009AAF4 90 7B 00 0C */ stw r3, 0xc(r27)
lbl_8009EBD8:
/* 8009EBD8 0009AAF8 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EBDC 0009AAFC 3B 7C 02 00 */ addi r27, r28, 0x200
/* 8009EBE0 0009AB00 7F 60 DA 14 */ add r27, r0, r27
/* 8009EBE4 0009AB04 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EBE8 0009AB08 2C 00 00 07 */ cmpwi r0, 7
/* 8009EBEC 0009AB0C 40 82 00 28 */ bne lbl_8009EC14
/* 8009EBF0 0009AB10 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EBF4 0009AB14 2C 00 00 04 */ cmpwi r0, 4
/* 8009EBF8 0009AB18 40 82 00 1C */ bne lbl_8009EC14
/* 8009EBFC 0009AB1C 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EC00 0009AB20 7C 00 F0 00 */ cmpw r0, r30
/* 8009EC04 0009AB24 40 82 00 10 */ bne lbl_8009EC14
/* 8009EC08 0009AB28 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009EC0C 0009AB2C 2C 00 00 07 */ cmpwi r0, 7
/* 8009EC10 0009AB30 41 82 02 CC */ beq lbl_8009EEDC
lbl_8009EC14:
/* 8009EC14 0009AB34 38 7D 00 00 */ addi r3, r29, 0
/* 8009EC18 0009AB38 38 DE 00 00 */ addi r6, r30, 0
/* 8009EC1C 0009AB3C 38 80 00 07 */ li r4, 7
/* 8009EC20 0009AB40 38 A0 00 04 */ li r5, 4
/* 8009EC24 0009AB44 38 E0 00 07 */ li r7, 7
/* 8009EC28 0009AB48 48 04 38 11 */ bl GXSetTevAlphaIn
/* 8009EC2C 0009AB4C 38 60 00 07 */ li r3, 7
/* 8009EC30 0009AB50 90 7B 00 00 */ stw r3, 0(r27)
/* 8009EC34 0009AB54 38 00 00 04 */ li r0, 4
/* 8009EC38 0009AB58 90 1B 00 04 */ stw r0, 4(r27)
/* 8009EC3C 0009AB5C 93 DB 00 08 */ stw r30, 8(r27)
/* 8009EC40 0009AB60 90 7B 00 0C */ stw r3, 0xc(r27)
/* 8009EC44 0009AB64 48 00 02 98 */ b lbl_8009EEDC
lbl_8009EC48:
/* 8009EC48 0009AB68 57 BC 20 36 */ slwi r28, r29, 4
/* 8009EC4C 0009AB6C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EC50 0009AB70 3B 7C 01 00 */ addi r27, r28, 0x100
/* 8009EC54 0009AB74 7F 60 DA 14 */ add r27, r0, r27
/* 8009EC58 0009AB78 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EC5C 0009AB7C 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009EC60 0009AB80 40 82 00 28 */ bne lbl_8009EC88
/* 8009EC64 0009AB84 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EC68 0009AB88 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009EC6C 0009AB8C 40 82 00 1C */ bne lbl_8009EC88
/* 8009EC70 0009AB90 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EC74 0009AB94 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009EC78 0009AB98 40 82 00 10 */ bne lbl_8009EC88
/* 8009EC7C 0009AB9C 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009EC80 0009ABA0 2C 00 00 08 */ cmpwi r0, 8
/* 8009EC84 0009ABA4 41 82 00 34 */ beq lbl_8009ECB8
lbl_8009EC88:
/* 8009EC88 0009ABA8 38 7D 00 00 */ addi r3, r29, 0
/* 8009EC8C 0009ABAC 38 80 00 0F */ li r4, 0xf
/* 8009EC90 0009ABB0 38 A0 00 0F */ li r5, 0xf
/* 8009EC94 0009ABB4 38 C0 00 0F */ li r6, 0xf
/* 8009EC98 0009ABB8 38 E0 00 08 */ li r7, 8
/* 8009EC9C 0009ABBC 48 04 37 1D */ bl GXSetTevColorIn
/* 8009ECA0 0009ABC0 38 60 00 0F */ li r3, 0xf
/* 8009ECA4 0009ABC4 90 7B 00 00 */ stw r3, 0(r27)
/* 8009ECA8 0009ABC8 38 00 00 08 */ li r0, 8
/* 8009ECAC 0009ABCC 90 7B 00 04 */ stw r3, 4(r27)
/* 8009ECB0 0009ABD0 90 7B 00 08 */ stw r3, 8(r27)
/* 8009ECB4 0009ABD4 90 1B 00 0C */ stw r0, 0xc(r27)
lbl_8009ECB8:
/* 8009ECB8 0009ABD8 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009ECBC 0009ABDC 3B 7C 02 00 */ addi r27, r28, 0x200
/* 8009ECC0 0009ABE0 7F 60 DA 14 */ add r27, r0, r27
/* 8009ECC4 0009ABE4 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009ECC8 0009ABE8 2C 00 00 07 */ cmpwi r0, 7
/* 8009ECCC 0009ABEC 40 82 00 28 */ bne lbl_8009ECF4
/* 8009ECD0 0009ABF0 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009ECD4 0009ABF4 2C 00 00 07 */ cmpwi r0, 7
/* 8009ECD8 0009ABF8 40 82 00 1C */ bne lbl_8009ECF4
/* 8009ECDC 0009ABFC 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009ECE0 0009AC00 2C 00 00 07 */ cmpwi r0, 7
/* 8009ECE4 0009AC04 40 82 00 10 */ bne lbl_8009ECF4
/* 8009ECE8 0009AC08 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009ECEC 0009AC0C 2C 00 00 04 */ cmpwi r0, 4
/* 8009ECF0 0009AC10 41 82 01 EC */ beq lbl_8009EEDC
lbl_8009ECF4:
/* 8009ECF4 0009AC14 38 7D 00 00 */ addi r3, r29, 0
/* 8009ECF8 0009AC18 38 80 00 07 */ li r4, 7
/* 8009ECFC 0009AC1C 38 A0 00 07 */ li r5, 7
/* 8009ED00 0009AC20 38 C0 00 07 */ li r6, 7
/* 8009ED04 0009AC24 38 E0 00 04 */ li r7, 4
/* 8009ED08 0009AC28 48 04 37 31 */ bl GXSetTevAlphaIn
/* 8009ED0C 0009AC2C 38 60 00 07 */ li r3, 7
/* 8009ED10 0009AC30 90 7B 00 00 */ stw r3, 0(r27)
/* 8009ED14 0009AC34 38 00 00 04 */ li r0, 4
/* 8009ED18 0009AC38 90 7B 00 04 */ stw r3, 4(r27)
/* 8009ED1C 0009AC3C 90 7B 00 08 */ stw r3, 8(r27)
/* 8009ED20 0009AC40 90 1B 00 0C */ stw r0, 0xc(r27)
/* 8009ED24 0009AC44 48 00 01 B8 */ b lbl_8009EEDC
lbl_8009ED28:
/* 8009ED28 0009AC48 57 BC 20 36 */ slwi r28, r29, 4
/* 8009ED2C 0009AC4C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009ED30 0009AC50 3B 7C 01 00 */ addi r27, r28, 0x100
/* 8009ED34 0009AC54 7F 60 DA 14 */ add r27, r0, r27
/* 8009ED38 0009AC58 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009ED3C 0009AC5C 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009ED40 0009AC60 40 82 00 28 */ bne lbl_8009ED68
/* 8009ED44 0009AC64 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009ED48 0009AC68 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009ED4C 0009AC6C 40 82 00 1C */ bne lbl_8009ED68
/* 8009ED50 0009AC70 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009ED54 0009AC74 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009ED58 0009AC78 40 82 00 10 */ bne lbl_8009ED68
/* 8009ED5C 0009AC7C 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009ED60 0009AC80 7C 00 F8 00 */ cmpw r0, r31
/* 8009ED64 0009AC84 41 82 00 30 */ beq lbl_8009ED94
lbl_8009ED68:
/* 8009ED68 0009AC88 38 7D 00 00 */ addi r3, r29, 0
/* 8009ED6C 0009AC8C 38 FF 00 00 */ addi r7, r31, 0
/* 8009ED70 0009AC90 38 80 00 0F */ li r4, 0xf
/* 8009ED74 0009AC94 38 A0 00 0F */ li r5, 0xf
/* 8009ED78 0009AC98 38 C0 00 0F */ li r6, 0xf
/* 8009ED7C 0009AC9C 48 04 36 3D */ bl GXSetTevColorIn
/* 8009ED80 0009ACA0 38 00 00 0F */ li r0, 0xf
/* 8009ED84 0009ACA4 90 1B 00 00 */ stw r0, 0(r27)
/* 8009ED88 0009ACA8 90 1B 00 04 */ stw r0, 4(r27)
/* 8009ED8C 0009ACAC 90 1B 00 08 */ stw r0, 8(r27)
/* 8009ED90 0009ACB0 93 FB 00 0C */ stw r31, 0xc(r27)
lbl_8009ED94:
/* 8009ED94 0009ACB4 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009ED98 0009ACB8 3B 7C 02 00 */ addi r27, r28, 0x200
/* 8009ED9C 0009ACBC 7F 60 DA 14 */ add r27, r0, r27
/* 8009EDA0 0009ACC0 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EDA4 0009ACC4 2C 00 00 07 */ cmpwi r0, 7
/* 8009EDA8 0009ACC8 40 82 00 28 */ bne lbl_8009EDD0
/* 8009EDAC 0009ACCC 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EDB0 0009ACD0 2C 00 00 07 */ cmpwi r0, 7
/* 8009EDB4 0009ACD4 40 82 00 1C */ bne lbl_8009EDD0
/* 8009EDB8 0009ACD8 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EDBC 0009ACDC 2C 00 00 07 */ cmpwi r0, 7
/* 8009EDC0 0009ACE0 40 82 00 10 */ bne lbl_8009EDD0
/* 8009EDC4 0009ACE4 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009EDC8 0009ACE8 7C 00 F0 00 */ cmpw r0, r30
/* 8009EDCC 0009ACEC 41 82 01 10 */ beq lbl_8009EEDC
lbl_8009EDD0:
/* 8009EDD0 0009ACF0 38 7D 00 00 */ addi r3, r29, 0
/* 8009EDD4 0009ACF4 38 FE 00 00 */ addi r7, r30, 0
/* 8009EDD8 0009ACF8 38 80 00 07 */ li r4, 7
/* 8009EDDC 0009ACFC 38 A0 00 07 */ li r5, 7
/* 8009EDE0 0009AD00 38 C0 00 07 */ li r6, 7
/* 8009EDE4 0009AD04 48 04 36 55 */ bl GXSetTevAlphaIn
/* 8009EDE8 0009AD08 38 00 00 07 */ li r0, 7
/* 8009EDEC 0009AD0C 90 1B 00 00 */ stw r0, 0(r27)
/* 8009EDF0 0009AD10 90 1B 00 04 */ stw r0, 4(r27)
/* 8009EDF4 0009AD14 90 1B 00 08 */ stw r0, 8(r27)
/* 8009EDF8 0009AD18 93 DB 00 0C */ stw r30, 0xc(r27)
/* 8009EDFC 0009AD1C 48 00 00 E0 */ b lbl_8009EEDC
lbl_8009EE00:
/* 8009EE00 0009AD20 57 BC 20 36 */ slwi r28, r29, 4
/* 8009EE04 0009AD24 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EE08 0009AD28 3B 7C 01 00 */ addi r27, r28, 0x100
/* 8009EE0C 0009AD2C 7F 60 DA 14 */ add r27, r0, r27
/* 8009EE10 0009AD30 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EE14 0009AD34 7C 00 F8 00 */ cmpw r0, r31
/* 8009EE18 0009AD38 40 82 00 28 */ bne lbl_8009EE40
/* 8009EE1C 0009AD3C 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EE20 0009AD40 2C 00 00 0F */ cmpwi r0, 0xf
/* 8009EE24 0009AD44 40 82 00 1C */ bne lbl_8009EE40
/* 8009EE28 0009AD48 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EE2C 0009AD4C 2C 00 00 08 */ cmpwi r0, 8
/* 8009EE30 0009AD50 40 82 00 10 */ bne lbl_8009EE40
/* 8009EE34 0009AD54 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009EE38 0009AD58 2C 00 00 08 */ cmpwi r0, 8
/* 8009EE3C 0009AD5C 41 82 00 34 */ beq lbl_8009EE70
lbl_8009EE40:
/* 8009EE40 0009AD60 38 7D 00 00 */ addi r3, r29, 0
/* 8009EE44 0009AD64 38 9F 00 00 */ addi r4, r31, 0
/* 8009EE48 0009AD68 38 A0 00 0F */ li r5, 0xf
/* 8009EE4C 0009AD6C 38 C0 00 08 */ li r6, 8
/* 8009EE50 0009AD70 38 E0 00 08 */ li r7, 8
/* 8009EE54 0009AD74 48 04 35 65 */ bl GXSetTevColorIn
/* 8009EE58 0009AD78 93 FB 00 00 */ stw r31, 0(r27)
/* 8009EE5C 0009AD7C 38 60 00 0F */ li r3, 0xf
/* 8009EE60 0009AD80 38 00 00 08 */ li r0, 8
/* 8009EE64 0009AD84 90 7B 00 04 */ stw r3, 4(r27)
/* 8009EE68 0009AD88 90 1B 00 08 */ stw r0, 8(r27)
/* 8009EE6C 0009AD8C 90 1B 00 0C */ stw r0, 0xc(r27)
lbl_8009EE70:
/* 8009EE70 0009AD90 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EE74 0009AD94 3B 7C 02 00 */ addi r27, r28, 0x200
/* 8009EE78 0009AD98 7F 60 DA 14 */ add r27, r0, r27
/* 8009EE7C 0009AD9C 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EE80 0009ADA0 2C 00 00 07 */ cmpwi r0, 7
/* 8009EE84 0009ADA4 40 82 00 28 */ bne lbl_8009EEAC
/* 8009EE88 0009ADA8 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EE8C 0009ADAC 2C 00 00 04 */ cmpwi r0, 4
/* 8009EE90 0009ADB0 40 82 00 1C */ bne lbl_8009EEAC
/* 8009EE94 0009ADB4 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EE98 0009ADB8 7C 00 F0 00 */ cmpw r0, r30
/* 8009EE9C 0009ADBC 40 82 00 10 */ bne lbl_8009EEAC
/* 8009EEA0 0009ADC0 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8009EEA4 0009ADC4 2C 00 00 07 */ cmpwi r0, 7
/* 8009EEA8 0009ADC8 41 82 00 34 */ beq lbl_8009EEDC
lbl_8009EEAC:
/* 8009EEAC 0009ADCC 38 7D 00 00 */ addi r3, r29, 0
/* 8009EEB0 0009ADD0 38 DE 00 00 */ addi r6, r30, 0
/* 8009EEB4 0009ADD4 38 80 00 07 */ li r4, 7
/* 8009EEB8 0009ADD8 38 A0 00 04 */ li r5, 4
/* 8009EEBC 0009ADDC 38 E0 00 07 */ li r7, 7
/* 8009EEC0 0009ADE0 48 04 35 79 */ bl GXSetTevAlphaIn
/* 8009EEC4 0009ADE4 38 60 00 07 */ li r3, 7
/* 8009EEC8 0009ADE8 90 7B 00 00 */ stw r3, 0(r27)
/* 8009EECC 0009ADEC 38 00 00 04 */ li r0, 4
/* 8009EED0 0009ADF0 90 1B 00 04 */ stw r0, 4(r27)
/* 8009EED4 0009ADF4 93 DB 00 08 */ stw r30, 8(r27)
/* 8009EED8 0009ADF8 90 7B 00 0C */ stw r3, 0xc(r27)
lbl_8009EEDC:
/* 8009EEDC 0009ADFC 1F 9D 00 14 */ mulli r28, r29, 0x14
/* 8009EEE0 0009AE00 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EEE4 0009AE04 3B 7C 03 00 */ addi r27, r28, 0x300
/* 8009EEE8 0009AE08 7F 60 DA 14 */ add r27, r0, r27
/* 8009EEEC 0009AE0C 80 1B 00 10 */ lwz r0, 0x10(r27)
/* 8009EEF0 0009AE10 2C 00 00 00 */ cmpwi r0, 0
/* 8009EEF4 0009AE14 40 82 00 34 */ bne lbl_8009EF28
/* 8009EEF8 0009AE18 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EEFC 0009AE1C 2C 00 00 00 */ cmpwi r0, 0
/* 8009EF00 0009AE20 40 82 00 28 */ bne lbl_8009EF28
/* 8009EF04 0009AE24 88 1B 00 0C */ lbz r0, 0xc(r27)
/* 8009EF08 0009AE28 28 00 00 01 */ cmplwi r0, 1
/* 8009EF0C 0009AE2C 40 82 00 1C */ bne lbl_8009EF28
/* 8009EF10 0009AE30 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EF14 0009AE34 2C 00 00 00 */ cmpwi r0, 0
/* 8009EF18 0009AE38 40 82 00 10 */ bne lbl_8009EF28
/* 8009EF1C 0009AE3C 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EF20 0009AE40 2C 00 00 00 */ cmpwi r0, 0
/* 8009EF24 0009AE44 41 82 00 3C */ beq lbl_8009EF60
lbl_8009EF28:
/* 8009EF28 0009AE48 38 7D 00 00 */ addi r3, r29, 0
/* 8009EF2C 0009AE4C 38 80 00 00 */ li r4, 0
/* 8009EF30 0009AE50 38 A0 00 00 */ li r5, 0
/* 8009EF34 0009AE54 38 C0 00 00 */ li r6, 0
/* 8009EF38 0009AE58 38 E0 00 01 */ li r7, 1
/* 8009EF3C 0009AE5C 39 00 00 00 */ li r8, 0
/* 8009EF40 0009AE60 48 04 35 7D */ bl GXSetTevColorOp
/* 8009EF44 0009AE64 38 60 00 00 */ li r3, 0
/* 8009EF48 0009AE68 90 7B 00 00 */ stw r3, 0(r27)
/* 8009EF4C 0009AE6C 38 00 00 01 */ li r0, 1
/* 8009EF50 0009AE70 90 7B 00 04 */ stw r3, 4(r27)
/* 8009EF54 0009AE74 90 7B 00 08 */ stw r3, 8(r27)
/* 8009EF58 0009AE78 98 1B 00 0C */ stb r0, 0xc(r27)
/* 8009EF5C 0009AE7C 90 7B 00 10 */ stw r3, 0x10(r27)
lbl_8009EF60:
/* 8009EF60 0009AE80 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009EF64 0009AE84 3B 7C 04 40 */ addi r27, r28, 0x440
/* 8009EF68 0009AE88 7F 60 DA 14 */ add r27, r0, r27
/* 8009EF6C 0009AE8C 80 1B 00 10 */ lwz r0, 0x10(r27)
/* 8009EF70 0009AE90 2C 00 00 00 */ cmpwi r0, 0
/* 8009EF74 0009AE94 40 82 00 34 */ bne lbl_8009EFA8
/* 8009EF78 0009AE98 80 1B 00 08 */ lwz r0, 8(r27)
/* 8009EF7C 0009AE9C 2C 00 00 00 */ cmpwi r0, 0
/* 8009EF80 0009AEA0 40 82 00 28 */ bne lbl_8009EFA8
/* 8009EF84 0009AEA4 88 1B 00 0C */ lbz r0, 0xc(r27)
/* 8009EF88 0009AEA8 28 00 00 01 */ cmplwi r0, 1
/* 8009EF8C 0009AEAC 40 82 00 1C */ bne lbl_8009EFA8
/* 8009EF90 0009AEB0 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009EF94 0009AEB4 2C 00 00 00 */ cmpwi r0, 0
/* 8009EF98 0009AEB8 40 82 00 10 */ bne lbl_8009EFA8
/* 8009EF9C 0009AEBC 80 1B 00 04 */ lwz r0, 4(r27)
/* 8009EFA0 0009AEC0 2C 00 00 00 */ cmpwi r0, 0
/* 8009EFA4 0009AEC4 41 82 00 3C */ beq lbl_8009EFE0
lbl_8009EFA8:
/* 8009EFA8 0009AEC8 38 7D 00 00 */ addi r3, r29, 0
/* 8009EFAC 0009AECC 38 80 00 00 */ li r4, 0
/* 8009EFB0 0009AED0 38 A0 00 00 */ li r5, 0
/* 8009EFB4 0009AED4 38 C0 00 00 */ li r6, 0
/* 8009EFB8 0009AED8 38 E0 00 01 */ li r7, 1
/* 8009EFBC 0009AEDC 39 00 00 00 */ li r8, 0
/* 8009EFC0 0009AEE0 48 04 35 BD */ bl GXSetTevAlphaOp
/* 8009EFC4 0009AEE4 38 60 00 00 */ li r3, 0
/* 8009EFC8 0009AEE8 90 7B 00 00 */ stw r3, 0(r27)
/* 8009EFCC 0009AEEC 38 00 00 01 */ li r0, 1
/* 8009EFD0 0009AEF0 90 7B 00 04 */ stw r3, 4(r27)
/* 8009EFD4 0009AEF4 90 7B 00 08 */ stw r3, 8(r27)
/* 8009EFD8 0009AEF8 98 1B 00 0C */ stb r0, 0xc(r27)
/* 8009EFDC 0009AEFC 90 7B 00 10 */ stw r3, 0x10(r27)
lbl_8009EFE0:
/* 8009EFE0 0009AF00 BB 61 00 14 */ lmw r27, 0x14(r1)
/* 8009EFE4 0009AF04 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009EFE8 0009AF08 38 21 00 28 */ addi r1, r1, 0x28
/* 8009EFEC 0009AF0C 7C 08 03 A6 */ mtlr r0
/* 8009EFF0 0009AF10 4E 80 00 20 */ blr
.global GXSetTevOrder_cached
GXSetTevOrder_cached:
/* 8009EFF4 0009AF14 7C 08 02 A6 */ mflr r0
/* 8009EFF8 0009AF18 90 01 00 04 */ stw r0, 4(r1)
/* 8009EFFC 0009AF1C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8009F000 0009AF20 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 8009F004 0009AF24 3B 85 00 00 */ addi r28, r5, 0
/* 8009F008 0009AF28 54 65 20 36 */ slwi r5, r3, 4
/* 8009F00C 0009AF2C 2C 1C 00 08 */ cmpwi r28, 8
/* 8009F010 0009AF30 3B E5 05 80 */ addi r31, r5, 0x580
/* 8009F014 0009AF34 3B 64 00 00 */ addi r27, r4, 0
/* 8009F018 0009AF38 3B A6 00 00 */ addi r29, r6, 0
/* 8009F01C 0009AF3C 80 ED 9F C0 */ lwz r7, zMode@sda21(r13)
/* 8009F020 0009AF40 7F E7 FA 14 */ add r31, r7, r31
/* 8009F024 0009AF44 41 80 00 58 */ blt lbl_8009F07C
/* 8009F028 0009AF48 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009F02C 0009AF4C 7C 00 D8 00 */ cmpw r0, r27
/* 8009F030 0009AF50 40 82 00 1C */ bne lbl_8009F04C
/* 8009F034 0009AF54 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009F038 0009AF58 2C 00 00 FF */ cmpwi r0, 0xff
/* 8009F03C 0009AF5C 40 82 00 10 */ bne lbl_8009F04C
/* 8009F040 0009AF60 80 1F 00 08 */ lwz r0, 8(r31)
/* 8009F044 0009AF64 7C 00 E8 00 */ cmpw r0, r29
/* 8009F048 0009AF68 41 82 00 B0 */ beq lbl_8009F0F8
lbl_8009F04C:
/* 8009F04C 0009AF6C 38 9B 00 00 */ addi r4, r27, 0
/* 8009F050 0009AF70 38 BC 00 00 */ addi r5, r28, 0
/* 8009F054 0009AF74 38 DD 00 00 */ addi r6, r29, 0
/* 8009F058 0009AF78 48 04 39 71 */ bl GXSetTevOrder
/* 8009F05C 0009AF7C 93 7F 00 00 */ stw r27, 0(r31)
/* 8009F060 0009AF80 38 60 00 FF */ li r3, 0xff
/* 8009F064 0009AF84 38 00 00 00 */ li r0, 0
/* 8009F068 0009AF88 90 7F 00 04 */ stw r3, 4(r31)
/* 8009F06C 0009AF8C 93 BF 00 08 */ stw r29, 8(r31)
/* 8009F070 0009AF90 B0 1F 00 0C */ sth r0, 0xc(r31)
/* 8009F074 0009AF94 B0 1F 00 0E */ sth r0, 0xe(r31)
/* 8009F078 0009AF98 48 00 00 80 */ b lbl_8009F0F8
lbl_8009F07C:
/* 8009F07C 0009AF9C 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009F080 0009AFA0 57 84 10 3A */ slwi r4, r28, 2
/* 8009F084 0009AFA4 3B C4 07 12 */ addi r30, r4, 0x712
/* 8009F088 0009AFA8 7C 00 D8 00 */ cmpw r0, r27
/* 8009F08C 0009AFAC 7F C7 F2 14 */ add r30, r7, r30
/* 8009F090 0009AFB0 40 82 00 3C */ bne lbl_8009F0CC
/* 8009F094 0009AFB4 80 1F 00 04 */ lwz r0, 4(r31)
/* 8009F098 0009AFB8 7C 00 E0 00 */ cmpw r0, r28
/* 8009F09C 0009AFBC 40 82 00 30 */ bne lbl_8009F0CC
/* 8009F0A0 0009AFC0 80 1F 00 08 */ lwz r0, 8(r31)
/* 8009F0A4 0009AFC4 7C 00 E8 00 */ cmpw r0, r29
/* 8009F0A8 0009AFC8 40 82 00 24 */ bne lbl_8009F0CC
/* 8009F0AC 0009AFCC A0 9F 00 0C */ lhz r4, 0xc(r31)
/* 8009F0B0 0009AFD0 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8009F0B4 0009AFD4 7C 04 00 40 */ cmplw r4, r0
/* 8009F0B8 0009AFD8 40 82 00 14 */ bne lbl_8009F0CC
/* 8009F0BC 0009AFDC A0 9F 00 0E */ lhz r4, 0xe(r31)
/* 8009F0C0 0009AFE0 A0 1E 00 02 */ lhz r0, 2(r30)
/* 8009F0C4 0009AFE4 7C 04 00 40 */ cmplw r4, r0
/* 8009F0C8 0009AFE8 41 82 00 30 */ beq lbl_8009F0F8
lbl_8009F0CC:
/* 8009F0CC 0009AFEC 38 9B 00 00 */ addi r4, r27, 0
/* 8009F0D0 0009AFF0 38 BC 00 00 */ addi r5, r28, 0
/* 8009F0D4 0009AFF4 38 DD 00 00 */ addi r6, r29, 0
/* 8009F0D8 0009AFF8 48 04 38 F1 */ bl GXSetTevOrder
/* 8009F0DC 0009AFFC 93 7F 00 00 */ stw r27, 0(r31)
/* 8009F0E0 0009B000 93 9F 00 04 */ stw r28, 4(r31)
/* 8009F0E4 0009B004 93 BF 00 08 */ stw r29, 8(r31)
/* 8009F0E8 0009B008 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8009F0EC 0009B00C B0 1F 00 0C */ sth r0, 0xc(r31)
/* 8009F0F0 0009B010 A0 1E 00 02 */ lhz r0, 2(r30)
/* 8009F0F4 0009B014 B0 1F 00 0E */ sth r0, 0xe(r31)
lbl_8009F0F8:
/* 8009F0F8 0009B018 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 8009F0FC 0009B01C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8009F100 0009B020 38 21 00 30 */ addi r1, r1, 0x30
/* 8009F104 0009B024 7C 08 03 A6 */ mtlr r0
/* 8009F108 0009B028 4E 80 00 20 */ blr
.global GXSetTevOrder_cached_init
GXSetTevOrder_cached_init:
/* 8009F10C 0009B02C 7C 08 02 A6 */ mflr r0
/* 8009F110 0009B030 54 67 20 36 */ slwi r7, r3, 4
/* 8009F114 0009B034 90 01 00 04 */ stw r0, 4(r1)
/* 8009F118 0009B038 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8009F11C 0009B03C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8009F120 0009B040 3B E7 05 80 */ addi r31, r7, 0x580
/* 8009F124 0009B044 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8009F128 0009B048 3B C6 00 00 */ addi r30, r6, 0
/* 8009F12C 0009B04C 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8009F130 0009B050 3B A5 00 00 */ addi r29, r5, 0
/* 8009F134 0009B054 93 81 00 18 */ stw r28, 0x18(r1)
/* 8009F138 0009B058 3B 84 00 00 */ addi r28, r4, 0
/* 8009F13C 0009B05C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009F140 0009B060 7F E0 FA 14 */ add r31, r0, r31
/* 8009F144 0009B064 48 04 38 85 */ bl GXSetTevOrder
/* 8009F148 0009B068 93 9F 00 00 */ stw r28, 0(r31)
/* 8009F14C 0009B06C 38 00 00 00 */ li r0, 0
/* 8009F150 0009B070 93 BF 00 04 */ stw r29, 4(r31)
/* 8009F154 0009B074 93 DF 00 08 */ stw r30, 8(r31)
/* 8009F158 0009B078 B0 1F 00 0C */ sth r0, 0xc(r31)
/* 8009F15C 0009B07C B0 1F 00 0E */ sth r0, 0xe(r31)
/* 8009F160 0009B080 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8009F164 0009B084 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8009F168 0009B088 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8009F16C 0009B08C 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8009F170 0009B090 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8009F174 0009B094 38 21 00 28 */ addi r1, r1, 0x28
/* 8009F178 0009B098 7C 08 03 A6 */ mtlr r0
/* 8009F17C 0009B09C 4E 80 00 20 */ blr
.global GXSetTevKColorSel_cached
GXSetTevKColorSel_cached:
/* 8009F180 0009B0A0 7C 08 02 A6 */ mflr r0
/* 8009F184 0009B0A4 90 01 00 04 */ stw r0, 4(r1)
/* 8009F188 0009B0A8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009F18C 0009B0AC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009F190 0009B0B0 54 7F 10 3A */ slwi r31, r3, 2
/* 8009F194 0009B0B4 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8009F198 0009B0B8 3B C4 00 00 */ addi r30, r4, 0
/* 8009F19C 0009B0BC 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009F1A0 0009B0C0 7C A0 FA 14 */ add r5, r0, r31
/* 8009F1A4 0009B0C4 80 05 06 80 */ lwz r0, 0x680(r5)
/* 8009F1A8 0009B0C8 7C 00 F0 00 */ cmpw r0, r30
/* 8009F1AC 0009B0CC 41 82 00 18 */ beq lbl_8009F1C4
/* 8009F1B0 0009B0D0 7F C4 F3 78 */ mr r4, r30
/* 8009F1B4 0009B0D4 48 04 35 71 */ bl GXSetTevKColorSel
/* 8009F1B8 0009B0D8 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009F1BC 0009B0DC 7C 60 FA 14 */ add r3, r0, r31
/* 8009F1C0 0009B0E0 93 C3 06 80 */ stw r30, 0x680(r3)
lbl_8009F1C4:
/* 8009F1C4 0009B0E4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009F1C8 0009B0E8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009F1CC 0009B0EC 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8009F1D0 0009B0F0 7C 08 03 A6 */ mtlr r0
/* 8009F1D4 0009B0F4 38 21 00 18 */ addi r1, r1, 0x18
/* 8009F1D8 0009B0F8 4E 80 00 20 */ blr
.global GXSetTevKColorSel_cached_init
GXSetTevKColorSel_cached_init:
/* 8009F1DC 0009B0FC 7C 08 02 A6 */ mflr r0
/* 8009F1E0 0009B100 90 01 00 04 */ stw r0, 4(r1)
/* 8009F1E4 0009B104 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009F1E8 0009B108 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009F1EC 0009B10C 3B E4 00 00 */ addi r31, r4, 0
/* 8009F1F0 0009B110 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8009F1F4 0009B114 3B C3 00 00 */ addi r30, r3, 0
/* 8009F1F8 0009B118 48 04 35 2D */ bl GXSetTevKColorSel
/* 8009F1FC 0009B11C 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009F200 0009B120 57 C0 10 3A */ slwi r0, r30, 2
/* 8009F204 0009B124 7C 63 02 14 */ add r3, r3, r0
/* 8009F208 0009B128 93 E3 06 80 */ stw r31, 0x680(r3)
/* 8009F20C 0009B12C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009F210 0009B130 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009F214 0009B134 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8009F218 0009B138 38 21 00 18 */ addi r1, r1, 0x18
/* 8009F21C 0009B13C 7C 08 03 A6 */ mtlr r0
/* 8009F220 0009B140 4E 80 00 20 */ blr
.global GXSetTevKAlphaSel_cached
GXSetTevKAlphaSel_cached:
/* 8009F224 0009B144 7C 08 02 A6 */ mflr r0
/* 8009F228 0009B148 90 01 00 04 */ stw r0, 4(r1)
/* 8009F22C 0009B14C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009F230 0009B150 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009F234 0009B154 54 7F 10 3A */ slwi r31, r3, 2
/* 8009F238 0009B158 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8009F23C 0009B15C 3B C4 00 00 */ addi r30, r4, 0
/* 8009F240 0009B160 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009F244 0009B164 7C A0 FA 14 */ add r5, r0, r31
/* 8009F248 0009B168 80 05 06 C0 */ lwz r0, 0x6c0(r5)
/* 8009F24C 0009B16C 7C 00 F0 00 */ cmpw r0, r30
/* 8009F250 0009B170 41 82 00 18 */ beq lbl_8009F268
/* 8009F254 0009B174 7F C4 F3 78 */ mr r4, r30
/* 8009F258 0009B178 48 04 35 39 */ bl GXSetTevKAlphaSel
/* 8009F25C 0009B17C 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009F260 0009B180 7C 60 FA 14 */ add r3, r0, r31
/* 8009F264 0009B184 93 C3 06 C0 */ stw r30, 0x6c0(r3)
lbl_8009F268:
/* 8009F268 0009B188 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009F26C 0009B18C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009F270 0009B190 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8009F274 0009B194 7C 08 03 A6 */ mtlr r0
/* 8009F278 0009B198 38 21 00 18 */ addi r1, r1, 0x18
/* 8009F27C 0009B19C 4E 80 00 20 */ blr
.global GXSetTevKAlphaSel_cached_init
GXSetTevKAlphaSel_cached_init:
/* 8009F280 0009B1A0 7C 08 02 A6 */ mflr r0
/* 8009F284 0009B1A4 90 01 00 04 */ stw r0, 4(r1)
/* 8009F288 0009B1A8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009F28C 0009B1AC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009F290 0009B1B0 3B E4 00 00 */ addi r31, r4, 0
/* 8009F294 0009B1B4 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8009F298 0009B1B8 3B C3 00 00 */ addi r30, r3, 0
/* 8009F29C 0009B1BC 48 04 34 F5 */ bl GXSetTevKAlphaSel
/* 8009F2A0 0009B1C0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009F2A4 0009B1C4 57 C0 10 3A */ slwi r0, r30, 2
/* 8009F2A8 0009B1C8 7C 63 02 14 */ add r3, r3, r0
/* 8009F2AC 0009B1CC 93 E3 06 C0 */ stw r31, 0x6c0(r3)
/* 8009F2B0 0009B1D0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009F2B4 0009B1D4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009F2B8 0009B1D8 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8009F2BC 0009B1DC 38 21 00 18 */ addi r1, r1, 0x18
/* 8009F2C0 0009B1E0 7C 08 03 A6 */ mtlr r0
/* 8009F2C4 0009B1E4 4E 80 00 20 */ blr
.global GXSetNumTevStages_cached
GXSetNumTevStages_cached:
/* 8009F2C8 0009B1E8 7C 08 02 A6 */ mflr r0
/* 8009F2CC 0009B1EC 90 01 00 04 */ stw r0, 4(r1)
/* 8009F2D0 0009B1F0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8009F2D4 0009B1F4 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8009F2D8 0009B1F8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8009F2DC 0009B1FC 3B E3 00 00 */ addi r31, r3, 0
/* 8009F2E0 0009B200 80 8D 9F C0 */ lwz r4, zMode@sda21(r13)
/* 8009F2E4 0009B204 88 64 07 00 */ lbz r3, 0x700(r4)
/* 8009F2E8 0009B208 7C 03 00 40 */ cmplw r3, r0
/* 8009F2EC 0009B20C 41 82 00 14 */ beq lbl_8009F300
/* 8009F2F0 0009B210 7F E3 FB 78 */ mr r3, r31
/* 8009F2F4 0009B214 48 04 38 75 */ bl GXSetNumTevStages
/* 8009F2F8 0009B218 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009F2FC 0009B21C 9B E3 07 00 */ stb r31, 0x700(r3)
lbl_8009F300:
/* 8009F300 0009B220 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009F304 0009B224 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009F308 0009B228 38 21 00 18 */ addi r1, r1, 0x18
/* 8009F30C 0009B22C 7C 08 03 A6 */ mtlr r0
/* 8009F310 0009B230 4E 80 00 20 */ blr
.global GXSetNumTevStages_from_cache
GXSetNumTevStages_from_cache:
/* 8009F314 0009B234 7C 08 02 A6 */ mflr r0
/* 8009F318 0009B238 90 01 00 04 */ stw r0, 4(r1)
/* 8009F31C 0009B23C 94 21 FF F8 */ stwu r1, -8(r1)
/* 8009F320 0009B240 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009F324 0009B244 88 63 07 00 */ lbz r3, 0x700(r3)
/* 8009F328 0009B248 48 04 38 41 */ bl GXSetNumTevStages
/* 8009F32C 0009B24C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8009F330 0009B250 38 21 00 08 */ addi r1, r1, 8
/* 8009F334 0009B254 7C 08 03 A6 */ mtlr r0
/* 8009F338 0009B258 4E 80 00 20 */ blr
.global GXSetTevKColor_cached
GXSetTevKColor_cached:
/* 8009F33C 0009B25C 7C 08 02 A6 */ mflr r0
/* 8009F340 0009B260 90 01 00 04 */ stw r0, 4(r1)
/* 8009F344 0009B264 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009F348 0009B268 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8009F34C 0009B26C 54 7F 10 3A */ slwi r31, r3, 2
/* 8009F350 0009B270 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8009F354 0009B274 3B C4 00 00 */ addi r30, r4, 0
/* 8009F358 0009B278 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009F35C 0009B27C 7C A0 FA 14 */ add r5, r0, r31
/* 8009F360 0009B280 88 04 00 00 */ lbz r0, 0(r4)
/* 8009F364 0009B284 88 85 07 01 */ lbz r4, 0x701(r5)
/* 8009F368 0009B288 7C 04 00 40 */ cmplw r4, r0
/* 8009F36C 0009B28C 40 82 00 34 */ bne lbl_8009F3A0
/* 8009F370 0009B290 88 85 07 02 */ lbz r4, 0x702(r5)
/* 8009F374 0009B294 88 1E 00 01 */ lbz r0, 1(r30)
/* 8009F378 0009B298 7C 04 00 40 */ cmplw r4, r0
/* 8009F37C 0009B29C 40 82 00 24 */ bne lbl_8009F3A0
/* 8009F380 0009B2A0 88 85 07 03 */ lbz r4, 0x703(r5)
/* 8009F384 0009B2A4 88 1E 00 02 */ lbz r0, 2(r30)
/* 8009F388 0009B2A8 7C 04 00 40 */ cmplw r4, r0
/* 8009F38C 0009B2AC 40 82 00 14 */ bne lbl_8009F3A0
/* 8009F390 0009B2B0 88 85 07 04 */ lbz r4, 0x704(r5)
/* 8009F394 0009B2B4 88 1E 00 03 */ lbz r0, 3(r30)
/* 8009F398 0009B2B8 7C 04 00 40 */ cmplw r4, r0
/* 8009F39C 0009B2BC 41 82 00 24 */ beq lbl_8009F3C0
lbl_8009F3A0:
/* 8009F3A0 0009B2C0 80 1E 00 00 */ lwz r0, 0(r30)
/* 8009F3A4 0009B2C4 38 81 00 10 */ addi r4, r1, 0x10
/* 8009F3A8 0009B2C8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8009F3AC 0009B2CC 48 04 33 05 */ bl GXSetTevKColor
/* 8009F3B0 0009B2D0 80 6D 9F C0 */ lwz r3, zMode@sda21(r13)
/* 8009F3B4 0009B2D4 80 1E 00 00 */ lwz r0, 0(r30)
/* 8009F3B8 0009B2D8 7C 63 FA 14 */ add r3, r3, r31
/* 8009F3BC 0009B2DC 90 03 07 01 */ stw r0, 0x701(r3)
lbl_8009F3C0:
/* 8009F3C0 0009B2E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009F3C4 0009B2E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009F3C8 0009B2E8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009F3CC 0009B2EC 7C 08 03 A6 */ mtlr r0
/* 8009F3D0 0009B2F0 38 21 00 20 */ addi r1, r1, 0x20
/* 8009F3D4 0009B2F4 4E 80 00 20 */ blr
.global GXSetTevKColor_cached_init
GXSetTevKColor_cached_init:
/* 8009F3D8 0009B2F8 7C 08 02 A6 */ mflr r0
/* 8009F3DC 0009B2FC 90 01 00 04 */ stw r0, 4(r1)
/* 8009F3E0 0009B300 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009F3E4 0009B304 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8009F3E8 0009B308 7C 9F 23 78 */ mr r31, r4
/* 8009F3EC 0009B30C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8009F3F0 0009B310 3B C3 00 00 */ addi r30, r3, 0
/* 8009F3F4 0009B314 80 04 00 00 */ lwz r0, 0(r4)
/* 8009F3F8 0009B318 38 81 00 10 */ addi r4, r1, 0x10
/* 8009F3FC 0009B31C 90 01 00 10 */ stw r0, 0x10(r1)
/* 8009F400 0009B320 48 04 32 B1 */ bl GXSetTevKColor
/* 8009F404 0009B324 80 8D 9F C0 */ lwz r4, zMode@sda21(r13)
/* 8009F408 0009B328 57 C3 10 3A */ slwi r3, r30, 2
/* 8009F40C 0009B32C 80 1F 00 00 */ lwz r0, 0(r31)
/* 8009F410 0009B330 7C 64 1A 14 */ add r3, r4, r3
/* 8009F414 0009B334 90 03 07 01 */ stw r0, 0x701(r3)
/* 8009F418 0009B338 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009F41C 0009B33C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009F420 0009B340 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009F424 0009B344 38 21 00 20 */ addi r1, r1, 0x20
/* 8009F428 0009B348 7C 08 03 A6 */ mtlr r0
/* 8009F42C 0009B34C 4E 80 00 20 */ blr
.global GXLoadTexObj_cached
GXLoadTexObj_cached:
/* 8009F430 0009B350 7C 08 02 A6 */ mflr r0
/* 8009F434 0009B354 90 01 00 04 */ stw r0, 4(r1)
/* 8009F438 0009B358 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009F43C 0009B35C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8009F440 0009B360 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8009F444 0009B364 7C 9E 23 78 */ mr r30, r4
/* 8009F448 0009B368 54 84 10 3A */ slwi r4, r4, 2
/* 8009F44C 0009B36C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8009F450 0009B370 3B E4 07 12 */ addi r31, r4, 0x712
/* 8009F454 0009B374 3B A3 00 00 */ addi r29, r3, 0
/* 8009F458 0009B378 80 0D 9F C0 */ lwz r0, zMode@sda21(r13)
/* 8009F45C 0009B37C 7F E0 FA 14 */ add r31, r0, r31
/* 8009F460 0009B380 48 04 20 E5 */ bl GXGetTexObjWidth
/* 8009F464 0009B384 B0 7F 00 00 */ sth r3, 0(r31)
/* 8009F468 0009B388 7F A3 EB 78 */ mr r3, r29
/* 8009F46C 0009B38C 48 04 20 E9 */ bl GXGetTexObjHeight
/* 8009F470 0009B390 B0 7F 00 02 */ sth r3, 2(r31)
/* 8009F474 0009B394 38 7D 00 00 */ addi r3, r29, 0
/* 8009F478 0009B398 38 9E 00 00 */ addi r4, r30, 0
/* 8009F47C 0009B39C 48 04 22 C9 */ bl GXLoadTexObj
/* 8009F480 0009B3A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009F484 0009B3A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009F488 0009B3A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009F48C 0009B3AC 7C 08 03 A6 */ mtlr r0
/* 8009F490 0009B3B0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8009F494 0009B3B4 38 21 00 20 */ addi r1, r1, 0x20
/* 8009F498 0009B3B8 4E 80 00 20 */ blr
.section .sdata2
.global lbl_802F5A88
lbl_802F5A88:
# ROM: 0x1EF4A8
.4byte 0
.global lbl_802F5A8C
lbl_802F5A8C:
# ROM: 0x1EF4AC
.4byte 0
.global lbl_802F5A90
lbl_802F5A90:
# ROM: 0x1EF4B0
.4byte 0x42C80000
.global lbl_802F5A94
lbl_802F5A94:
# ROM: 0x1EF4B4
.4byte 0x3DCCCCCD
.global lbl_802F5A98
lbl_802F5A98:
# ROM: 0x1EF4B8
.4byte 0x469C4000
.4byte 0