Files
camthesaxman c26b3d2e3d decompile rend_efc.s (#37)
* start decompiling rend_efc.s

* decompile more of rend_efc.s

* decompile more of rend_efc.s

* decompile more of rend_efc.s

* finish decompiling rend_efc.s

* labeling
2022-06-09 23:36:42 -05:00

1514 lines
69 KiB
ArmAsm

.include "macros.inc"
.section .text
.global mode_mini_func
mode_mini_func:
/* 80093A14 0008F934 7C 08 02 A6 */ mflr r0
/* 80093A18 0008F938 90 01 00 04 */ stw r0, 4(r1)
/* 80093A1C 0008F93C 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093A20 0008F940 A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
/* 80093A24 0008F944 2C 00 00 8F */ cmpwi r0, 0x8f
/* 80093A28 0008F948 40 81 00 0C */ ble lbl_80093A34
/* 80093A2C 0008F94C 2C 00 00 AC */ cmpwi r0, 0xac
/* 80093A30 0008F950 41 80 00 28 */ blt lbl_80093A58
lbl_80093A34:
/* 80093A34 0008F954 38 60 00 0A */ li r3, 0xa
/* 80093A38 0008F958 38 80 00 0A */ li r4, 0xa
/* 80093A3C 0008F95C 4B F9 C2 45 */ bl u_debug_set_cursor_pos
/* 80093A40 0008F960 3C 60 80 1D */ lis r3, lbl_801D3B08@ha
/* 80093A44 0008F964 A8 8D 99 AE */ lha r4, gameSubmode@sda21(r13)
/* 80093A48 0008F968 38 63 3B 08 */ addi r3, r3, lbl_801D3B08@l
/* 80093A4C 0008F96C 4C C6 31 82 */ crclr 6
/* 80093A50 0008F970 4B F9 C7 5D */ bl u_debug_printf
/* 80093A54 0008F974 48 00 00 20 */ b lbl_80093A74
lbl_80093A58:
/* 80093A58 0008F978 3C 60 80 17 */ lis r3, gameSubmodeFuncs@ha
/* 80093A5C 0008F97C 54 04 10 3A */ slwi r4, r0, 2
/* 80093A60 0008F980 38 03 25 28 */ addi r0, r3, gameSubmodeFuncs@l
/* 80093A64 0008F984 7C 60 22 14 */ add r3, r0, r4
/* 80093A68 0008F988 81 83 00 00 */ lwz r12, 0(r3)
/* 80093A6C 0008F98C 7D 88 03 A6 */ mtlr r12
/* 80093A70 0008F990 4E 80 00 21 */ blrl
lbl_80093A74:
/* 80093A74 0008F994 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093A78 0008F998 38 21 00 08 */ addi r1, r1, 8
/* 80093A7C 0008F99C 7C 08 03 A6 */ mtlr r0
/* 80093A80 0008F9A0 4E 80 00 20 */ blr
glabel func_80093A84
/* 80093A84 0008F9A4 38 00 00 00 */ li r0, 0
/* 80093A88 0008F9A8 90 6D 9F 78 */ stw r3, u_minigameMainCallback@sda21(r13)
/* 80093A8C 0008F9AC 90 8D 9F 7C */ stw r4, u_minigameDrawCallback@sda21(r13)
/* 80093A90 0008F9B0 90 0D 9F 80 */ stw r0, lbl_802F2160@sda21(r13)
/* 80093A94 0008F9B4 90 AD 9D 34 */ stw r5, minigameRelBallCallback@sda21(r13)
/* 80093A98 0008F9B8 90 CD 9A 58 */ stw r6, minigameRelCameraCallback@sda21(r13)
/* 80093A9C 0008F9BC 4E 80 00 20 */ blr
glabel func_80093AA0
/* 80093AA0 0008F9C0 90 6D 9F 78 */ stw r3, u_minigameMainCallback@sda21(r13)
/* 80093AA4 0008F9C4 90 8D 9F 7C */ stw r4, u_minigameDrawCallback@sda21(r13)
/* 80093AA8 0008F9C8 90 AD 9F 80 */ stw r5, lbl_802F2160@sda21(r13)
/* 80093AAC 0008F9CC 90 CD 9D 34 */ stw r6, minigameRelBallCallback@sda21(r13)
/* 80093AB0 0008F9D0 90 ED 9A 58 */ stw r7, minigameRelCameraCallback@sda21(r13)
/* 80093AB4 0008F9D4 4E 80 00 20 */ blr
.global submode_mini_game_init_func
submode_mini_game_init_func:
/* 80093AB8 0008F9D8 7C 08 02 A6 */ mflr r0
/* 80093ABC 0008F9DC 90 01 00 04 */ stw r0, 4(r1)
/* 80093AC0 0008F9E0 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093AC4 0008F9E4 80 0D 9F 84 */ lwz r0, lbl_802F2164@sda21(r13)
/* 80093AC8 0008F9E8 2C 00 00 00 */ cmpwi r0, 0
/* 80093ACC 0008F9EC 41 82 00 08 */ beq lbl_80093AD4
/* 80093AD0 0008F9F0 48 00 00 E5 */ bl func_80093BB4
lbl_80093AD4:
/* 80093AD4 0008F9F4 4B F7 79 89 */ bl event_finish_all
/* 80093AD8 0008F9F8 4B FD CB 0D */ bl free_all_bitmap_groups_except_com
/* 80093ADC 0008F9FC 4B F9 0E F9 */ bl func_800249D4
/* 80093AE0 0008FA00 A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
/* 80093AE4 0008FA04 3C 60 80 1D */ lis r3, lbl_801D3BD0@ha
/* 80093AE8 0008FA08 38 63 3B D0 */ addi r3, r3, lbl_801D3BD0@l
/* 80093AEC 0008FA0C 54 00 10 3A */ slwi r0, r0, 2
/* 80093AF0 0008FA10 7C 63 02 14 */ add r3, r3, r0
/* 80093AF4 0008FA14 80 63 FD C4 */ lwz r3, -0x23c(r3)
/* 80093AF8 0008FA18 38 8D 9F 88 */ addi r4, r13, lbl_802F2168@sda21
/* 80093AFC 0008FA1C 48 00 6C CD */ bl relocation_load_module
/* 80093B00 0008FA20 3C 60 80 09 */ lis r3, func_80093BB4@ha
/* 80093B04 0008FA24 38 03 3B B4 */ addi r0, r3, func_80093BB4@l
/* 80093B08 0008FA28 38 60 00 01 */ li r3, 1
/* 80093B0C 0008FA2C 90 0D 99 9C */ stw r0, lbl_802F1B7C@sda21(r13)
/* 80093B10 0008FA30 90 6D 9F 84 */ stw r3, lbl_802F2164@sda21(r13)
/* 80093B14 0008FA34 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093B18 0008FA38 38 21 00 08 */ addi r1, r1, 8
/* 80093B1C 0008FA3C 7C 08 03 A6 */ mtlr r0
/* 80093B20 0008FA40 4E 80 00 20 */ blr
.global submode_mini_game_main_func
submode_mini_game_main_func:
/* 80093B24 0008FA44 7C 08 02 A6 */ mflr r0
/* 80093B28 0008FA48 90 01 00 04 */ stw r0, 4(r1)
/* 80093B2C 0008FA4C 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093B30 0008FA50 81 8D 9F 78 */ lwz r12, u_minigameMainCallback@sda21(r13)
/* 80093B34 0008FA54 28 0C 00 00 */ cmplwi r12, 0
/* 80093B38 0008FA58 41 82 00 0C */ beq lbl_80093B44
/* 80093B3C 0008FA5C 7D 88 03 A6 */ mtlr r12
/* 80093B40 0008FA60 4E 80 00 21 */ blrl
lbl_80093B44:
/* 80093B44 0008FA64 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093B48 0008FA68 38 21 00 08 */ addi r1, r1, 8
/* 80093B4C 0008FA6C 7C 08 03 A6 */ mtlr r0
/* 80093B50 0008FA70 4E 80 00 20 */ blr
.global u_minigame_draw
u_minigame_draw:
/* 80093B54 0008FA74 7C 08 02 A6 */ mflr r0
/* 80093B58 0008FA78 90 01 00 04 */ stw r0, 4(r1)
/* 80093B5C 0008FA7C 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093B60 0008FA80 81 8D 9F 7C */ lwz r12, u_minigameDrawCallback@sda21(r13)
/* 80093B64 0008FA84 28 0C 00 00 */ cmplwi r12, 0
/* 80093B68 0008FA88 41 82 00 0C */ beq lbl_80093B74
/* 80093B6C 0008FA8C 7D 88 03 A6 */ mtlr r12
/* 80093B70 0008FA90 4E 80 00 21 */ blrl
lbl_80093B74:
/* 80093B74 0008FA94 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093B78 0008FA98 38 21 00 08 */ addi r1, r1, 8
/* 80093B7C 0008FA9C 7C 08 03 A6 */ mtlr r0
/* 80093B80 0008FAA0 4E 80 00 20 */ blr
.global func_80093B84
func_80093B84:
/* 80093B84 0008FAA4 7C 08 02 A6 */ mflr r0
/* 80093B88 0008FAA8 90 01 00 04 */ stw r0, 4(r1)
/* 80093B8C 0008FAAC 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093B90 0008FAB0 81 8D 9F 80 */ lwz r12, lbl_802F2160@sda21(r13)
/* 80093B94 0008FAB4 28 0C 00 00 */ cmplwi r12, 0
/* 80093B98 0008FAB8 41 82 00 0C */ beq lbl_80093BA4
/* 80093B9C 0008FABC 7D 88 03 A6 */ mtlr r12
/* 80093BA0 0008FAC0 4E 80 00 21 */ blrl
lbl_80093BA4:
/* 80093BA4 0008FAC4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093BA8 0008FAC8 38 21 00 08 */ addi r1, r1, 8
/* 80093BAC 0008FACC 7C 08 03 A6 */ mtlr r0
/* 80093BB0 0008FAD0 4E 80 00 20 */ blr
.global func_80093BB4
func_80093BB4:
/* 80093BB4 0008FAD4 7C 08 02 A6 */ mflr r0
/* 80093BB8 0008FAD8 38 6D 9F 88 */ addi r3, r13, lbl_802F2168@sda21
/* 80093BBC 0008FADC 90 01 00 04 */ stw r0, 4(r1)
/* 80093BC0 0008FAE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80093BC4 0008FAE4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80093BC8 0008FAE8 3B E0 00 00 */ li r31, 0
/* 80093BCC 0008FAEC 93 ED 9F 78 */ stw r31, u_minigameMainCallback@sda21(r13)
/* 80093BD0 0008FAF0 93 ED 9F 7C */ stw r31, u_minigameDrawCallback@sda21(r13)
/* 80093BD4 0008FAF4 93 ED 9F 80 */ stw r31, lbl_802F2160@sda21(r13)
/* 80093BD8 0008FAF8 93 ED 9D 34 */ stw r31, minigameRelBallCallback@sda21(r13)
/* 80093BDC 0008FAFC 93 ED 9A 58 */ stw r31, minigameRelCameraCallback@sda21(r13)
/* 80093BE0 0008FB00 48 00 6D 1D */ bl relocation_unload_module
/* 80093BE4 0008FB04 93 ED 9F 84 */ stw r31, lbl_802F2164@sda21(r13)
/* 80093BE8 0008FB08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80093BEC 0008FB0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80093BF0 0008FB10 38 21 00 10 */ addi r1, r1, 0x10
/* 80093BF4 0008FB14 7C 08 03 A6 */ mtlr r0
/* 80093BF8 0008FB18 4E 80 00 20 */ blr
.global submode_mini_select_init_func
submode_mini_select_init_func:
/* 80093BFC 0008FB1C 7C 08 02 A6 */ mflr r0
/* 80093C00 0008FB20 90 01 00 04 */ stw r0, 4(r1)
/* 80093C04 0008FB24 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093C08 0008FB28 4B F7 78 55 */ bl event_finish_all
/* 80093C0C 0008FB2C 4B FD C9 D9 */ bl free_all_bitmap_groups_except_com
/* 80093C10 0008FB30 38 60 FF FF */ li r3, -1
/* 80093C14 0008FB34 38 80 00 01 */ li r4, 1
/* 80093C18 0008FB38 4B F9 93 21 */ bl u_play_music
/* 80093C1C 0008FB3C 38 60 00 00 */ li r3, 0
/* 80093C20 0008FB40 38 00 00 91 */ li r0, 0x91
/* 80093C24 0008FB44 B0 6D 9F 90 */ sth r3, lbl_802F2170@sda21(r13)
/* 80093C28 0008FB48 B0 0D 99 AC */ sth r0, gameSubmodeRequest@sda21(r13)
/* 80093C2C 0008FB4C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093C30 0008FB50 38 21 00 08 */ addi r1, r1, 8
/* 80093C34 0008FB54 7C 08 03 A6 */ mtlr r0
/* 80093C38 0008FB58 4E 80 00 20 */ blr
.global submode_mini_select_main_func
submode_mini_select_main_func:
/* 80093C3C 0008FB5C 7C 08 02 A6 */ mflr r0
/* 80093C40 0008FB60 3C 80 80 1F */ lis r4, controllerInfo@ha
/* 80093C44 0008FB64 90 01 00 04 */ stw r0, 4(r1)
/* 80093C48 0008FB68 38 A4 3B 70 */ addi r5, r4, controllerInfo@l
/* 80093C4C 0008FB6C 3C 80 80 1C */ lis r4, lbl_801C7ED8@ha
/* 80093C50 0008FB70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80093C54 0008FB74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80093C58 0008FB78 3B E4 7E D8 */ addi r31, r4, lbl_801C7ED8@l
/* 80093C5C 0008FB7C 93 C1 00 08 */ stw r30, 8(r1)
/* 80093C60 0008FB80 A0 C5 00 30 */ lhz r6, 0x30(r5)
/* 80093C64 0008FB84 A8 6D 9F 90 */ lha r3, lbl_802F2170@sda21(r13)
/* 80093C68 0008FB88 54 C0 07 7B */ rlwinm. r0, r6, 0, 0x1d, 0x1d
/* 80093C6C 0008FB8C 40 82 00 40 */ bne lbl_80093CAC
/* 80093C70 0008FB90 3C 80 80 1F */ lis r4, analogButtonInfo@ha
/* 80093C74 0008FB94 38 84 3D 50 */ addi r4, r4, analogButtonInfo@l
/* 80093C78 0008FB98 A0 04 00 08 */ lhz r0, 8(r4)
/* 80093C7C 0008FB9C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80093C80 0008FBA0 40 82 00 2C */ bne lbl_80093CAC
/* 80093C84 0008FBA4 A0 05 00 00 */ lhz r0, 0(r5)
/* 80093C88 0008FBA8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80093C8C 0008FBAC 40 82 00 10 */ bne lbl_80093C9C
/* 80093C90 0008FBB0 A0 04 00 00 */ lhz r0, 0(r4)
/* 80093C94 0008FBB4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80093C98 0008FBB8 41 82 00 24 */ beq lbl_80093CBC
lbl_80093C9C:
/* 80093C9C 0008FBBC 3C 80 80 1F */ lis r4, analogButtonInfo@ha
/* 80093CA0 0008FBC0 A0 04 3D 50 */ lhz r0, analogButtonInfo@l(r4)
/* 80093CA4 0008FBC4 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 80093CA8 0008FBC8 41 82 00 14 */ beq lbl_80093CBC
lbl_80093CAC:
/* 80093CAC 0008FBCC 38 63 00 01 */ addi r3, r3, 1
/* 80093CB0 0008FBD0 28 03 00 0B */ cmplwi r3, 0xb
/* 80093CB4 0008FBD4 41 80 00 08 */ blt lbl_80093CBC
/* 80093CB8 0008FBD8 38 60 00 00 */ li r3, 0
lbl_80093CBC:
/* 80093CBC 0008FBDC 54 C0 07 39 */ rlwinm. r0, r6, 0, 0x1c, 0x1c
/* 80093CC0 0008FBE0 40 82 00 44 */ bne lbl_80093D04
/* 80093CC4 0008FBE4 3C 80 80 1F */ lis r4, analogButtonInfo@ha
/* 80093CC8 0008FBE8 38 A4 3D 50 */ addi r5, r4, analogButtonInfo@l
/* 80093CCC 0008FBEC A0 05 00 08 */ lhz r0, 8(r5)
/* 80093CD0 0008FBF0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80093CD4 0008FBF4 40 82 00 30 */ bne lbl_80093D04
/* 80093CD8 0008FBF8 3C 80 80 1F */ lis r4, controllerInfo@ha
/* 80093CDC 0008FBFC A0 04 3B 70 */ lhz r0, controllerInfo@l(r4)
/* 80093CE0 0008FC00 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80093CE4 0008FC04 40 82 00 10 */ bne lbl_80093CF4
/* 80093CE8 0008FC08 A0 05 00 00 */ lhz r0, 0(r5)
/* 80093CEC 0008FC0C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80093CF0 0008FC10 41 82 00 20 */ beq lbl_80093D10
lbl_80093CF4:
/* 80093CF4 0008FC14 3C 80 80 1F */ lis r4, analogButtonInfo@ha
/* 80093CF8 0008FC18 A0 04 3D 50 */ lhz r0, analogButtonInfo@l(r4)
/* 80093CFC 0008FC1C 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 80093D00 0008FC20 41 82 00 10 */ beq lbl_80093D10
lbl_80093D04:
/* 80093D04 0008FC24 34 63 FF FF */ addic. r3, r3, -1
/* 80093D08 0008FC28 40 80 00 08 */ bge lbl_80093D10
/* 80093D0C 0008FC2C 38 60 00 0A */ li r3, 0xa
lbl_80093D10:
/* 80093D10 0008FC30 7C 60 07 34 */ extsh r0, r3
/* 80093D14 0008FC34 3C 80 80 1F */ lis r4, controllerInfo@ha
/* 80093D18 0008FC38 B0 0D 9F 90 */ sth r0, lbl_802F2170@sda21(r13)
/* 80093D1C 0008FC3C 38 84 3B 70 */ addi r4, r4, controllerInfo@l
/* 80093D20 0008FC40 A0 04 00 18 */ lhz r0, 0x18(r4)
/* 80093D24 0008FC44 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80093D28 0008FC48 41 82 00 2C */ beq lbl_80093D54
/* 80093D2C 0008FC4C 3C 1F 00 01 */ addis r0, r31, 1
/* 80093D30 0008FC50 54 63 18 38 */ slwi r3, r3, 3
/* 80093D34 0008FC54 7C 80 1A 14 */ add r4, r0, r3
/* 80093D38 0008FC58 A8 04 BD 84 */ lha r0, -0x427c(r4)
/* 80093D3C 0008FC5C 3C 60 80 1F */ lis r3, modeCtrl@ha
/* 80093D40 0008FC60 38 63 EC 20 */ addi r3, r3, modeCtrl@l
/* 80093D44 0008FC64 B0 0D 99 AC */ sth r0, gameSubmodeRequest@sda21(r13)
/* 80093D48 0008FC68 88 04 BD 86 */ lbz r0, -0x427a(r4)
/* 80093D4C 0008FC6C 7C 00 07 74 */ extsb r0, r0
/* 80093D50 0008FC70 90 03 00 28 */ stw r0, 0x28(r3)
lbl_80093D54:
/* 80093D54 0008FC74 38 60 00 01 */ li r3, 1
/* 80093D58 0008FC78 38 80 00 01 */ li r4, 1
/* 80093D5C 0008FC7C 4B F9 BF 25 */ bl u_debug_set_cursor_pos
/* 80093D60 0008FC80 3C 7F 00 01 */ addis r3, r31, 1
/* 80093D64 0008FC84 4C C6 31 82 */ crclr 6
/* 80093D68 0008FC88 38 63 BD D8 */ addi r3, r3, -16936
/* 80093D6C 0008FC8C 4B F9 C4 41 */ bl u_debug_printf
/* 80093D70 0008FC90 38 60 00 0A */ li r3, 0xa
/* 80093D74 0008FC94 38 80 00 03 */ li r4, 3
/* 80093D78 0008FC98 4B F9 BF 09 */ bl u_debug_set_cursor_pos
/* 80093D7C 0008FC9C 3B C0 00 00 */ li r30, 0
/* 80093D80 0008FCA0 3C 7F 00 01 */ addis r3, r31, 1
/* 80093D84 0008FCA4 57 C0 18 38 */ slwi r0, r30, 3
/* 80093D88 0008FCA8 7F E3 02 14 */ add r31, r3, r0
/* 80093D8C 0008FCAC 3B FF BD 80 */ addi r31, r31, -17024
lbl_80093D90:
/* 80093D90 0008FCB0 A8 0D 9F 90 */ lha r0, lbl_802F2170@sda21(r13)
/* 80093D94 0008FCB4 7C 1E 00 00 */ cmpw r30, r0
/* 80093D98 0008FCB8 40 82 00 18 */ bne lbl_80093DB0
/* 80093D9C 0008FCBC 38 60 FF FE */ li r3, -2
/* 80093DA0 0008FCC0 38 80 00 00 */ li r4, 0
/* 80093DA4 0008FCC4 4B F9 BE ED */ bl func_8002FC90
/* 80093DA8 0008FCC8 38 6D 91 74 */ addi r3, r13, lbl_802F1354@sda21
/* 80093DAC 0008FCCC 4B F9 C4 99 */ bl u_debug_print
lbl_80093DB0:
/* 80093DB0 0008FCD0 80 9F 00 00 */ lwz r4, 0(r31)
/* 80093DB4 0008FCD4 4C C6 31 82 */ crclr 6
/* 80093DB8 0008FCD8 38 6D 91 78 */ addi r3, r13, lbl_802F1358@sda21
/* 80093DBC 0008FCDC 4B F9 C3 F1 */ bl u_debug_printf
/* 80093DC0 0008FCE0 3B DE 00 01 */ addi r30, r30, 1
/* 80093DC4 0008FCE4 28 1E 00 0B */ cmplwi r30, 0xb
/* 80093DC8 0008FCE8 3B FF 00 08 */ addi r31, r31, 8
/* 80093DCC 0008FCEC 41 80 FF C4 */ blt lbl_80093D90
/* 80093DD0 0008FCF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80093DD4 0008FCF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80093DD8 0008FCF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80093DDC 0008FCFC 7C 08 03 A6 */ mtlr r0
/* 80093DE0 0008FD00 38 21 00 10 */ addi r1, r1, 0x10
/* 80093DE4 0008FD04 4E 80 00 20 */ blr
.global submode_mini_test0_init_func
submode_mini_test0_init_func:
/* 80093DE8 0008FD08 7C 08 02 A6 */ mflr r0
/* 80093DEC 0008FD0C 90 01 00 04 */ stw r0, 4(r1)
/* 80093DF0 0008FD10 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093DF4 0008FD14 48 01 BF 0D */ bl credits_init
/* 80093DF8 0008FD18 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093DFC 0008FD1C 38 21 00 08 */ addi r1, r1, 8
/* 80093E00 0008FD20 7C 08 03 A6 */ mtlr r0
/* 80093E04 0008FD24 4E 80 00 20 */ blr
.global submode_mini_test0_main_func
submode_mini_test0_main_func:
/* 80093E08 0008FD28 7C 08 02 A6 */ mflr r0
/* 80093E0C 0008FD2C 90 01 00 04 */ stw r0, 4(r1)
/* 80093E10 0008FD30 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093E14 0008FD34 48 01 C1 65 */ bl credits_main
/* 80093E18 0008FD38 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093E1C 0008FD3C 38 21 00 08 */ addi r1, r1, 8
/* 80093E20 0008FD40 7C 08 03 A6 */ mtlr r0
/* 80093E24 0008FD44 4E 80 00 20 */ blr
.global func_80093E28
func_80093E28:
/* 80093E28 0008FD48 7C 08 02 A6 */ mflr r0
/* 80093E2C 0008FD4C 90 01 00 04 */ stw r0, 4(r1)
/* 80093E30 0008FD50 94 21 FF F8 */ stwu r1, -8(r1)
/* 80093E34 0008FD54 48 01 CD 15 */ bl func_800B0B48
/* 80093E38 0008FD58 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80093E3C 0008FD5C 38 21 00 08 */ addi r1, r1, 8
/* 80093E40 0008FD60 7C 08 03 A6 */ mtlr r0
/* 80093E44 0008FD64 4E 80 00 20 */ blr
.global submode_mini_ending_init_func
submode_mini_ending_init_func:
/* 80093E48 0008FD68 7C 08 02 A6 */ mflr r0
/* 80093E4C 0008FD6C 90 01 00 04 */ stw r0, 4(r1)
/* 80093E50 0008FD70 38 00 00 A7 */ li r0, 0xa7
/* 80093E54 0008FD74 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80093E58 0008FD78 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80093E5C 0008FD7C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80093E60 0008FD80 93 A1 00 0C */ stw r29, 0xc(r1)
/* 80093E64 0008FD84 93 81 00 08 */ stw r28, 8(r1)
/* 80093E68 0008FD88 B0 0D 99 AC */ sth r0, gameSubmodeRequest@sda21(r13)
/* 80093E6C 0008FD8C 4B F8 44 61 */ bl camera_setup_singleplayer_viewport
/* 80093E70 0008FD90 3C 60 80 20 */ lis r3, playerCharacterSelection@ha
/* 80093E74 0008FD94 3B A3 6B C0 */ addi r29, r3, playerCharacterSelection@l
/* 80093E78 0008FD98 3C 60 80 20 */ lis r3, g_poolInfo@ha
/* 80093E7C 0008FD9C 3B E3 59 88 */ addi r31, r3, g_poolInfo@l
/* 80093E80 0008FDA0 3B 80 00 00 */ li r28, 0
/* 80093E84 0008FDA4 3B C0 00 02 */ li r30, 2
lbl_80093E88:
/* 80093E88 0008FDA8 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 80093E8C 0008FDAC 7F 83 E3 78 */ mr r3, r28
/* 80093E90 0008FDB0 7F C4 E1 AE */ stbx r30, r4, r28
/* 80093E94 0008FDB4 93 9D 00 00 */ stw r28, 0(r29)
/* 80093E98 0008FDB8 C0 22 AF C8 */ lfs f1, lbl_802F57C8@sda21(r2)
/* 80093E9C 0008FDBC C0 62 AF CC */ lfs f3, lbl_802F57CC@sda21(r2)
/* 80093EA0 0008FDC0 FC 40 08 90 */ fmr f2, f1
/* 80093EA4 0008FDC4 FC 80 18 90 */ fmr f4, f3
/* 80093EA8 0008FDC8 4B F8 42 81 */ bl setup_camera_viewport
/* 80093EAC 0008FDCC 3B 9C 00 01 */ addi r28, r28, 1
/* 80093EB0 0008FDD0 2C 1C 00 04 */ cmpwi r28, 4
/* 80093EB4 0008FDD4 3B BD 00 04 */ addi r29, r29, 4
/* 80093EB8 0008FDD8 41 80 FF D0 */ blt lbl_80093E88
/* 80093EBC 0008FDDC 48 02 23 79 */ bl func_800B6234
/* 80093EC0 0008FDE0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80093EC4 0008FDE4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80093EC8 0008FDE8 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80093ECC 0008FDEC 7C 08 03 A6 */ mtlr r0
/* 80093ED0 0008FDF0 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 80093ED4 0008FDF4 83 81 00 08 */ lwz r28, 8(r1)
/* 80093ED8 0008FDF8 38 21 00 18 */ addi r1, r1, 0x18
/* 80093EDC 0008FDFC 4E 80 00 20 */ blr
.global submode_mini_ending_main_func
submode_mini_ending_main_func:
/* 80093EE0 0008FE00 7C 08 02 A6 */ mflr r0
/* 80093EE4 0008FE04 3C 60 80 1F */ lis r3, controllerInfo@ha
/* 80093EE8 0008FE08 90 01 00 04 */ stw r0, 4(r1)
/* 80093EEC 0008FE0C 38 63 3B 70 */ addi r3, r3, controllerInfo@l
/* 80093EF0 0008FE10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80093EF4 0008FE14 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80093EF8 0008FE18 3B E0 00 00 */ li r31, 0
/* 80093EFC 0008FE1C A0 83 00 18 */ lhz r4, 0x18(r3)
/* 80093F00 0008FE20 54 83 07 FF */ clrlwi. r3, r4, 0x1f
/* 80093F04 0008FE24 40 82 00 1C */ bne lbl_80093F20
/* 80093F08 0008FE28 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 80093F0C 0008FE2C 40 82 00 14 */ bne lbl_80093F20
/* 80093F10 0008FE30 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 80093F14 0008FE34 40 82 00 0C */ bne lbl_80093F20
/* 80093F18 0008FE38 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 80093F1C 0008FE3C 41 82 00 08 */ beq lbl_80093F24
lbl_80093F20:
/* 80093F20 0008FE40 3B E0 00 01 */ li r31, 1
lbl_80093F24:
/* 80093F24 0008FE44 2C 03 00 00 */ cmpwi r3, 0
/* 80093F28 0008FE48 41 82 00 30 */ beq lbl_80093F58
/* 80093F2C 0008FE4C 3C 60 80 1F */ lis r3, modeCtrl@ha
/* 80093F30 0008FE50 38 63 EC 20 */ addi r3, r3, modeCtrl@l
/* 80093F34 0008FE54 38 A3 00 2C */ addi r5, r3, 0x2c
/* 80093F38 0008FE58 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80093F3C 0008FE5C 38 03 FF FF */ addi r0, r3, -1
/* 80093F40 0008FE60 90 05 00 00 */ stw r0, 0(r5)
/* 80093F44 0008FE64 80 65 00 00 */ lwz r3, 0(r5)
/* 80093F48 0008FE68 2C 03 00 00 */ cmpwi r3, 0
/* 80093F4C 0008FE6C 40 80 00 0C */ bge lbl_80093F58
/* 80093F50 0008FE70 38 03 00 04 */ addi r0, r3, 4
/* 80093F54 0008FE74 90 05 00 00 */ stw r0, 0(r5)
lbl_80093F58:
/* 80093F58 0008FE78 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 80093F5C 0008FE7C 41 82 00 30 */ beq lbl_80093F8C
/* 80093F60 0008FE80 3C 60 80 1F */ lis r3, modeCtrl@ha
/* 80093F64 0008FE84 38 63 EC 20 */ addi r3, r3, modeCtrl@l
/* 80093F68 0008FE88 38 A3 00 2C */ addi r5, r3, 0x2c
/* 80093F6C 0008FE8C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80093F70 0008FE90 38 03 00 01 */ addi r0, r3, 1
/* 80093F74 0008FE94 90 05 00 00 */ stw r0, 0(r5)
/* 80093F78 0008FE98 80 65 00 00 */ lwz r3, 0(r5)
/* 80093F7C 0008FE9C 2C 03 00 04 */ cmpwi r3, 4
/* 80093F80 0008FEA0 41 80 00 0C */ blt lbl_80093F8C
/* 80093F84 0008FEA4 38 03 FF FC */ addi r0, r3, -4
/* 80093F88 0008FEA8 90 05 00 00 */ stw r0, 0(r5)
lbl_80093F8C:
/* 80093F8C 0008FEAC 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 80093F90 0008FEB0 41 82 00 30 */ beq lbl_80093FC0
/* 80093F94 0008FEB4 3C 60 80 1F */ lis r3, modeCtrl@ha
/* 80093F98 0008FEB8 38 63 EC 20 */ addi r3, r3, modeCtrl@l
/* 80093F9C 0008FEBC 38 A3 00 04 */ addi r5, r3, 4
/* 80093FA0 0008FEC0 80 63 00 04 */ lwz r3, 4(r3)
/* 80093FA4 0008FEC4 38 03 FF FF */ addi r0, r3, -1
/* 80093FA8 0008FEC8 90 05 00 00 */ stw r0, 0(r5)
/* 80093FAC 0008FECC 80 65 00 00 */ lwz r3, 0(r5)
/* 80093FB0 0008FED0 2C 03 00 00 */ cmpwi r3, 0
/* 80093FB4 0008FED4 40 80 00 0C */ bge lbl_80093FC0
/* 80093FB8 0008FED8 38 03 00 03 */ addi r0, r3, 3
/* 80093FBC 0008FEDC 90 05 00 00 */ stw r0, 0(r5)
lbl_80093FC0:
/* 80093FC0 0008FEE0 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 80093FC4 0008FEE4 41 82 00 30 */ beq lbl_80093FF4
/* 80093FC8 0008FEE8 3C 60 80 1F */ lis r3, modeCtrl@ha
/* 80093FCC 0008FEEC 38 63 EC 20 */ addi r3, r3, modeCtrl@l
/* 80093FD0 0008FEF0 38 83 00 04 */ addi r4, r3, 4
/* 80093FD4 0008FEF4 80 63 00 04 */ lwz r3, 4(r3)
/* 80093FD8 0008FEF8 38 03 00 01 */ addi r0, r3, 1
/* 80093FDC 0008FEFC 90 04 00 00 */ stw r0, 0(r4)
/* 80093FE0 0008FF00 80 64 00 00 */ lwz r3, 0(r4)
/* 80093FE4 0008FF04 2C 03 00 03 */ cmpwi r3, 3
/* 80093FE8 0008FF08 41 80 00 0C */ blt lbl_80093FF4
/* 80093FEC 0008FF0C 38 03 FF FD */ addi r0, r3, -3
/* 80093FF0 0008FF10 90 04 00 00 */ stw r0, 0(r4)
lbl_80093FF4:
/* 80093FF4 0008FF14 48 02 23 09 */ bl func_800B62FC
/* 80093FF8 0008FF18 7C 60 00 34 */ cntlzw r0, r3
/* 80093FFC 0008FF1C 54 00 D9 7E */ srwi r0, r0, 5
/* 80094000 0008FF20 7F FF 03 79 */ or. r31, r31, r0
/* 80094004 0008FF24 41 82 00 10 */ beq lbl_80094014
/* 80094008 0008FF28 48 02 24 29 */ bl func_800B6430
/* 8009400C 0008FF2C 38 00 00 A6 */ li r0, 0xa6
/* 80094010 0008FF30 B0 0D 99 AC */ sth r0, gameSubmodeRequest@sda21(r13)
lbl_80094014:
/* 80094014 0008FF34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80094018 0008FF38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8009401C 0008FF3C 38 21 00 10 */ addi r1, r1, 0x10
/* 80094020 0008FF40 7C 08 03 A6 */ mtlr r0
/* 80094024 0008FF44 4E 80 00 20 */ blr
.global func_80094028
func_80094028:
/* 80094028 0008FF48 7C 08 02 A6 */ mflr r0
/* 8009402C 0008FF4C 3C 60 80 1C */ lis r3, lbl_801C7ED8@ha
/* 80094030 0008FF50 90 01 00 04 */ stw r0, 4(r1)
/* 80094034 0008FF54 38 80 00 04 */ li r4, 4
/* 80094038 0008FF58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8009403C 0008FF5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80094040 0008FF60 93 C1 00 08 */ stw r30, 8(r1)
/* 80094044 0008FF64 3B C3 7E D8 */ addi r30, r3, lbl_801C7ED8@l
/* 80094048 0008FF68 38 60 00 04 */ li r3, 4
/* 8009404C 0008FF6C 4B F9 BC 35 */ bl u_debug_set_cursor_pos
/* 80094050 0008FF70 3C 7E 00 01 */ addis r3, r30, 1
/* 80094054 0008FF74 4C C6 31 82 */ crclr 6
/* 80094058 0008FF78 38 63 BD E4 */ addi r3, r3, -16924
/* 8009405C 0008FF7C 4B F9 C1 51 */ bl u_debug_printf
/* 80094060 0008FF80 38 60 00 06 */ li r3, 6
/* 80094064 0008FF84 38 80 00 06 */ li r4, 6
/* 80094068 0008FF88 4B F9 BC 19 */ bl u_debug_set_cursor_pos
/* 8009406C 0008FF8C 3C 60 80 1F */ lis r3, modeCtrl@ha
/* 80094070 0008FF90 4C C6 31 82 */ crclr 6
/* 80094074 0008FF94 3B E3 EC 20 */ addi r31, r3, modeCtrl@l
/* 80094078 0008FF98 3C 7E 00 01 */ addis r3, r30, 1
/* 8009407C 0008FF9C 80 9F 00 04 */ lwz r4, 4(r31)
/* 80094080 0008FFA0 38 63 BD F4 */ addi r3, r3, -16908
/* 80094084 0008FFA4 4B F9 C1 29 */ bl u_debug_printf
/* 80094088 0008FFA8 3C 7E 00 01 */ addis r3, r30, 1
/* 8009408C 0008FFAC 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 80094090 0008FFB0 4C C6 31 82 */ crclr 6
/* 80094094 0008FFB4 38 63 BE 00 */ addi r3, r3, -16896
/* 80094098 0008FFB8 4B F9 C1 15 */ bl u_debug_printf
/* 8009409C 0008FFBC 48 02 24 15 */ bl func_800B64B0
/* 800940A0 0008FFC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800940A4 0008FFC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800940A8 0008FFC8 83 C1 00 08 */ lwz r30, 8(r1)
/* 800940AC 0008FFCC 7C 08 03 A6 */ mtlr r0
/* 800940B0 0008FFD0 38 21 00 10 */ addi r1, r1, 0x10
/* 800940B4 0008FFD4 4E 80 00 20 */ blr
.global func_800940B8
func_800940B8:
/* 800940B8 0008FFD8 3C 60 80 2C */ lis r3, lbl_802B90F0@ha
/* 800940BC 0008FFDC C0 22 AF D0 */ lfs f1, lbl_802F57D0@sda21(r2)
/* 800940C0 0008FFE0 38 63 90 F0 */ addi r3, r3, lbl_802B90F0@l
/* 800940C4 0008FFE4 D0 23 02 80 */ stfs f1, 0x280(r3)
/* 800940C8 0008FFE8 C0 02 AF D4 */ lfs f0, lbl_802F57D4@sda21(r2)
/* 800940CC 0008FFEC D0 03 02 84 */ stfs f0, 0x284(r3)
/* 800940D0 0008FFF0 D0 23 02 88 */ stfs f1, 0x288(r3)
/* 800940D4 0008FFF4 C0 02 AF D8 */ lfs f0, lbl_802F57D8@sda21(r2)
/* 800940D8 0008FFF8 D0 0D 9F 98 */ stfs f0, lbl_802F2178@sda21(r13)
/* 800940DC 0008FFFC 4E 80 00 20 */ blr
.global func_800940E0
func_800940E0:
/* 800940E0 00090000 7C 08 02 A6 */ mflr r0
/* 800940E4 00090004 3C 60 80 1F */ lis r3, cameraInfo@ha
/* 800940E8 00090008 90 01 00 04 */ stw r0, 4(r1)
/* 800940EC 0009000C 3D 00 80 2C */ lis r8, lbl_802B90F0@ha
/* 800940F0 00090010 3C E0 80 17 */ lis r7, lbl_80171A08@ha
/* 800940F4 00090014 94 21 FF 18 */ stwu r1, -0xe8(r1)
/* 800940F8 00090018 3C A0 80 20 */ lis r5, ballInfo@ha
/* 800940FC 0009001C 3C 80 80 20 */ lis r4, g_poolInfo@ha
/* 80094100 00090020 DB E1 00 E0 */ stfd f31, 0xe0(r1)
/* 80094104 00090024 3C C0 80 17 */ lis r6, lbl_80171AA4@ha
/* 80094108 00090028 DB C1 00 D8 */ stfd f30, 0xd8(r1)
/* 8009410C 0009002C DB A1 00 D0 */ stfd f29, 0xd0(r1)
/* 80094110 00090030 DB 81 00 C8 */ stfd f28, 0xc8(r1)
/* 80094114 00090034 DB 61 00 C0 */ stfd f27, 0xc0(r1)
/* 80094118 00090038 DB 41 00 B8 */ stfd f26, 0xb8(r1)
/* 8009411C 0009003C DB 21 00 B0 */ stfd f25, 0xb0(r1)
/* 80094120 00090040 DB 01 00 A8 */ stfd f24, 0xa8(r1)
/* 80094124 00090044 DA E1 00 A0 */ stfd f23, 0xa0(r1)
/* 80094128 00090048 DA C1 00 98 */ stfd f22, 0x98(r1)
/* 8009412C 0009004C BD C1 00 50 */ stmw r14, 0x50(r1)
/* 80094130 00090050 3A A3 EF 00 */ addi r21, r3, cameraInfo@l
/* 80094134 00090054 3C 60 80 1F */ lis r3, modeCtrl@ha
/* 80094138 00090058 3A 75 00 00 */ addi r19, r21, 0
/* 8009413C 0009005C 3A 88 90 F0 */ addi r20, r8, lbl_802B90F0@l
/* 80094140 00090060 3A C7 1A 08 */ addi r22, r7, lbl_80171A08@l
/* 80094144 00090064 3B 45 5E 60 */ addi r26, r5, ballInfo@l
/* 80094148 00090068 3B 64 59 88 */ addi r27, r4, g_poolInfo@l
/* 8009414C 0009006C 3B 06 1A A4 */ addi r24, r6, lbl_80171AA4@l
/* 80094150 00090070 39 C3 EC 20 */ addi r14, r3, modeCtrl@l
/* 80094154 00090074 3A 40 00 00 */ li r18, 0
/* 80094158 00090078 3B E0 00 00 */ li r31, 0
/* 8009415C 0009007C 3B C0 00 00 */ li r30, 0
/* 80094160 00090080 3B A0 00 00 */ li r29, 0
/* 80094164 00090084 3E E0 43 30 */ lis r23, 0x4330
/* 80094168 00090088 C3 E2 B0 08 */ lfs f31, lbl_802F5808@sda21(r2)
/* 8009416C 0009008C C3 C2 AF D0 */ lfs f30, lbl_802F57D0@sda21(r2)
/* 80094170 00090090 C2 C2 AF D8 */ lfs f22, lbl_802F57D8@sda21(r2)
/* 80094174 00090094 CB 02 AF E0 */ lfd f24, lbl_802F57E0@sda21(r2)
/* 80094178 00090098 CB 22 AF E8 */ lfd f25, lbl_802F57E8@sda21(r2)
/* 8009417C 0009009C CB 42 B0 10 */ lfd f26, lbl_802F5810@sda21(r2)
/* 80094180 000900A0 CB 62 AF F0 */ lfd f27, lbl_802F57F0@sda21(r2)
/* 80094184 000900A4 CB 82 AF F8 */ lfd f28, lbl_802F57F8@sda21(r2)
/* 80094188 000900A8 CB A2 B0 00 */ lfd f29, lbl_802F5800@sda21(r2)
/* 8009418C 000900AC 48 00 02 B4 */ b lbl_80094440
lbl_80094190:
/* 80094190 000900B0 7C 75 EA 14 */ add r3, r21, r29
/* 80094194 000900B4 C0 03 00 48 */ lfs f0, 0x48(r3)
/* 80094198 000900B8 FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 8009419C 000900BC 40 81 02 90 */ ble lbl_8009442C
/* 800941A0 000900C0 C0 03 00 4C */ lfs f0, 0x4c(r3)
/* 800941A4 000900C4 FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 800941A8 000900C8 40 81 02 84 */ ble lbl_8009442C
/* 800941AC 000900CC 38 73 01 A4 */ addi r3, r19, 0x1a4
/* 800941B0 000900D0 4B F7 37 01 */ bl mathutil_mtxA_from_mtx
/* 800941B4 000900D4 38 74 02 80 */ addi r3, r20, 0x280
/* 800941B8 000900D8 38 81 00 38 */ addi r4, r1, 0x38
/* 800941BC 000900DC 4B F7 3C 71 */ bl mathutil_mtxA_tf_point
/* 800941C0 000900E0 38 00 00 0D */ li r0, 0xd
/* 800941C4 000900E4 7C 09 03 A6 */ mtctr r0
/* 800941C8 000900E8 7C B4 F2 14 */ add r5, r20, r30
/* 800941CC 000900EC 38 C0 00 00 */ li r6, 0
/* 800941D0 000900F0 38 60 00 00 */ li r3, 0
lbl_800941D4:
/* 800941D4 000900F4 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 800941D8 000900F8 6C C0 80 00 */ xoris r0, r6, 0x8000
/* 800941DC 000900FC 90 01 00 4C */ stw r0, 0x4c(r1)
/* 800941E0 00090100 7C 96 1A 14 */ add r4, r22, r3
/* 800941E4 00090104 FC 38 00 24 */ fdiv f1, f24, f0
/* 800941E8 00090108 C0 04 00 00 */ lfs f0, 0(r4)
/* 800941EC 0009010C 7C 1E 1A 14 */ add r0, r30, r3
/* 800941F0 00090110 7C 85 1A 14 */ add r4, r5, r3
/* 800941F4 00090114 92 E1 00 48 */ stw r23, 0x48(r1)
/* 800941F8 00090118 FC 41 00 32 */ fmul f2, f1, f0
/* 800941FC 0009011C C8 01 00 48 */ lfd f0, 0x48(r1)
/* 80094200 00090120 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80094204 00090124 38 C6 00 01 */ addi r6, r6, 1
/* 80094208 00090128 FC 00 D0 28 */ fsub f0, f0, f26
/* 8009420C 0009012C FC 40 10 18 */ frsp f2, f2
/* 80094210 00090130 38 63 00 0C */ addi r3, r3, 0xc
/* 80094214 00090134 FC 19 00 32 */ fmul f0, f25, f0
/* 80094218 00090138 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8009421C 0009013C FC 18 00 2A */ fadd f0, f24, f0
/* 80094220 00090140 7C 34 05 2E */ stfsx f1, r20, r0
/* 80094224 00090144 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 80094228 00090148 FC 00 00 18 */ frsp f0, f0
/* 8009422C 0009014C EC 21 00 B2 */ fmuls f1, f1, f2
/* 80094230 00090150 D0 24 00 04 */ stfs f1, 4(r4)
/* 80094234 00090154 C0 21 00 40 */ lfs f1, 0x40(r1)
/* 80094238 00090158 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8009423C 0009015C D0 24 00 08 */ stfs f1, 8(r4)
/* 80094240 00090160 D0 04 00 08 */ stfs f0, 8(r4)
/* 80094244 00090164 42 00 FF 90 */ bdnz lbl_800941D4
/* 80094248 00090168 80 98 00 00 */ lwz r4, 0(r24)
/* 8009424C 0009016C 38 73 01 A4 */ addi r3, r19, 0x1a4
/* 80094250 00090170 80 18 00 04 */ lwz r0, 4(r24)
/* 80094254 00090174 90 81 00 20 */ stw r4, 0x20(r1)
/* 80094258 00090178 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009425C 0009017C 80 18 00 08 */ lwz r0, 8(r24)
/* 80094260 00090180 90 01 00 28 */ stw r0, 0x28(r1)
/* 80094264 00090184 C0 34 02 80 */ lfs f1, 0x280(r20)
/* 80094268 00090188 C0 13 00 00 */ lfs f0, 0(r19)
/* 8009426C 0009018C EC 01 00 28 */ fsubs f0, f1, f0
/* 80094270 00090190 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80094274 00090194 C0 34 02 84 */ lfs f1, 0x284(r20)
/* 80094278 00090198 C0 13 00 04 */ lfs f0, 4(r19)
/* 8009427C 0009019C EC 01 00 28 */ fsubs f0, f1, f0
/* 80094280 000901A0 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80094284 000901A4 C0 34 02 88 */ lfs f1, 0x288(r20)
/* 80094288 000901A8 C0 13 00 08 */ lfs f0, 8(r19)
/* 8009428C 000901AC EC 01 00 28 */ fsubs f0, f1, f0
/* 80094290 000901B0 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80094294 000901B4 4B F7 36 1D */ bl mathutil_mtxA_from_mtx
/* 80094298 000901B8 38 61 00 2C */ addi r3, r1, 0x2c
/* 8009429C 000901BC 38 83 00 00 */ addi r4, r3, 0
/* 800942A0 000901C0 4B F7 3B 8D */ bl mathutil_mtxA_tf_point
/* 800942A4 000901C4 38 61 00 2C */ addi r3, r1, 0x2c
/* 800942A8 000901C8 38 81 00 20 */ addi r4, r1, 0x20
/* 800942AC 000901CC 4B F7 3F 41 */ bl mathutil_vec_dot_normalized_safe
/* 800942B0 000901D0 FC 01 D8 40 */ fcmpo cr0, f1, f27
/* 800942B4 000901D4 4C 40 13 82 */ cror 2, 0, 2
/* 800942B8 000901D8 40 82 00 14 */ bne lbl_800942CC
/* 800942BC 000901DC 7C 74 FA 14 */ add r3, r20, r31
/* 800942C0 000901E0 D3 C3 02 8C */ stfs f30, 0x28c(r3)
/* 800942C4 000901E4 D3 C3 02 70 */ stfs f30, 0x270(r3)
/* 800942C8 000901E8 48 00 00 28 */ b lbl_800942F0
lbl_800942CC:
/* 800942CC 000901EC FC 01 D8 28 */ fsub f0, f1, f27
/* 800942D0 000901F0 7C 74 FA 14 */ add r3, r20, r31
/* 800942D4 000901F4 FC 1C 00 32 */ fmul f0, f28, f0
/* 800942D8 000901F8 FC 00 00 18 */ frsp f0, f0
/* 800942DC 000901FC D0 03 02 8C */ stfs f0, 0x28c(r3)
/* 800942E0 00090200 C0 03 02 8C */ lfs f0, 0x28c(r3)
/* 800942E4 00090204 FC 1D 00 32 */ fmul f0, f29, f0
/* 800942E8 00090208 FC 00 00 18 */ frsp f0, f0
/* 800942EC 0009020C D0 03 02 70 */ stfs f0, 0x270(r3)
lbl_800942F0:
/* 800942F0 00090210 7F 34 FA 14 */ add r25, r20, r31
/* 800942F4 00090214 C0 19 02 70 */ lfs f0, 0x270(r25)
/* 800942F8 00090218 FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 800942FC 0009021C 40 81 01 30 */ ble lbl_8009442C
/* 80094300 00090220 82 1B 00 0C */ lwz r16, 0xc(r27)
/* 80094304 00090224 7F 51 D3 78 */ mr r17, r26
/* 80094308 00090228 81 FB 00 08 */ lwz r15, 8(r27)
/* 8009430C 0009022C 7F 94 F2 14 */ add r28, r20, r30
/* 80094310 00090230 48 00 01 14 */ b lbl_80094424
lbl_80094314:
/* 80094314 00090234 88 70 00 00 */ lbz r3, 0(r16)
/* 80094318 00090238 7C 60 07 75 */ extsb. r0, r3
/* 8009431C 0009023C 41 82 00 FC */ beq lbl_80094418
/* 80094320 00090240 7C 60 07 74 */ extsb r0, r3
/* 80094324 00090244 2C 00 00 04 */ cmpwi r0, 4
/* 80094328 00090248 41 82 00 F0 */ beq lbl_80094418
/* 8009432C 0009024C 80 11 00 94 */ lwz r0, 0x94(r17)
/* 80094330 00090250 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80094334 00090254 40 82 00 E4 */ bne lbl_80094418
/* 80094338 00090258 38 71 00 04 */ addi r3, r17, 4
/* 8009433C 0009025C 38 81 00 14 */ addi r4, r1, 0x14
/* 80094340 00090260 4B F7 3A ED */ bl mathutil_mtxA_tf_point
/* 80094344 00090264 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 80094348 00090268 FC 02 F0 40 */ fcmpo cr0, f2, f30
/* 8009434C 0009026C 4C 41 13 82 */ cror 2, 1, 2
/* 80094350 00090270 41 82 00 C8 */ beq lbl_80094418
/* 80094354 00090274 C0 33 00 38 */ lfs f1, 0x38(r19)
/* 80094358 00090278 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8009435C 0009027C EC 22 00 72 */ fmuls f1, f2, f1
/* 80094360 00090280 EC 5F 08 24 */ fdivs f2, f31, f1
/* 80094364 00090284 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80094368 00090288 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8009436C 0009028C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80094370 00090290 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80094374 00090294 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80094378 00090298 C0 11 00 68 */ lfs f0, 0x68(r17)
/* 8009437C 0009029C 80 7C 00 00 */ lwz r3, 0(r28)
/* 80094380 000902A0 80 1C 00 04 */ lwz r0, 4(r28)
/* 80094384 000902A4 EE E0 00 B2 */ fmuls f23, f0, f2
/* 80094388 000902A8 C0 81 00 18 */ lfs f4, 0x18(r1)
/* 8009438C 000902AC 90 61 00 08 */ stw r3, 8(r1)
/* 80094390 000902B0 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 80094394 000902B4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80094398 000902B8 80 1C 00 08 */ lwz r0, 8(r28)
/* 8009439C 000902BC 90 01 00 10 */ stw r0, 0x10(r1)
/* 800943A0 000902C0 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 800943A4 000902C4 C0 53 00 38 */ lfs f2, 0x38(r19)
/* 800943A8 000902C8 C0 01 00 08 */ lfs f0, 8(r1)
/* 800943AC 000902CC EC 43 00 B2 */ fmuls f2, f3, f2
/* 800943B0 000902D0 EC 5F 10 24 */ fdivs f2, f31, f2
/* 800943B4 000902D4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 800943B8 000902D8 D0 01 00 08 */ stfs f0, 8(r1)
/* 800943BC 000902DC C0 01 00 0C */ lfs f0, 0xc(r1)
/* 800943C0 000902E0 EC 00 00 B2 */ fmuls f0, f0, f2
/* 800943C4 000902E4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 800943C8 000902E8 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 800943CC 000902EC C0 01 00 08 */ lfs f0, 8(r1)
/* 800943D0 000902F0 EC 21 00 28 */ fsubs f1, f1, f0
/* 800943D4 000902F4 EC 84 10 28 */ fsubs f4, f4, f2
/* 800943D8 000902F8 EC 21 00 72 */ fmuls f1, f1, f1
/* 800943DC 000902FC EC 24 09 3A */ fmadds f1, f4, f4, f1
/* 800943E0 00090300 4B F7 2D 19 */ bl mathutil_sqrt
/* 800943E4 00090304 EC 41 B8 24 */ fdivs f2, f1, f23
/* 800943E8 00090308 FC 02 B0 40 */ fcmpo cr0, f2, f22
/* 800943EC 0009030C 40 80 00 2C */ bge lbl_80094418
/* 800943F0 00090310 EC 02 00 B2 */ fmuls f0, f2, f2
/* 800943F4 00090314 EC 36 00 28 */ fsubs f1, f22, f0
/* 800943F8 00090318 4B F7 2D 01 */ bl mathutil_sqrt
/* 800943FC 0009031C EC 56 08 28 */ fsubs f2, f22, f1
/* 80094400 00090320 C0 19 02 8C */ lfs f0, 0x28c(r25)
/* 80094404 00090324 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80094408 00090328 D0 19 02 8C */ stfs f0, 0x28c(r25)
/* 8009440C 0009032C C0 19 02 70 */ lfs f0, 0x270(r25)
/* 80094410 00090330 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80094414 00090334 D0 19 02 70 */ stfs f0, 0x270(r25)
lbl_80094418:
/* 80094418 00090338 39 EF FF FF */ addi r15, r15, -1
/* 8009441C 0009033C 3A 31 01 A4 */ addi r17, r17, 0x1a4
/* 80094420 00090340 3A 10 00 01 */ addi r16, r16, 1
lbl_80094424:
/* 80094424 00090344 2C 0F 00 00 */ cmpwi r15, 0
/* 80094428 00090348 41 81 FE EC */ bgt lbl_80094314
lbl_8009442C:
/* 8009442C 0009034C 3A 52 00 01 */ addi r18, r18, 1
/* 80094430 00090350 3B FF 00 04 */ addi r31, r31, 4
/* 80094434 00090354 3B DE 00 9C */ addi r30, r30, 0x9c
/* 80094438 00090358 3B BD 02 84 */ addi r29, r29, 0x284
/* 8009443C 0009035C 3A 73 02 84 */ addi r19, r19, 0x284
lbl_80094440:
/* 80094440 00090360 80 0E 00 24 */ lwz r0, 0x24(r14)
/* 80094444 00090364 7C 12 00 00 */ cmpw r18, r0
/* 80094448 00090368 41 80 FD 48 */ blt lbl_80094190
/* 8009444C 0009036C B9 C1 00 50 */ lmw r14, 0x50(r1)
/* 80094450 00090370 80 01 00 EC */ lwz r0, 0xec(r1)
/* 80094454 00090374 CB E1 00 E0 */ lfd f31, 0xe0(r1)
/* 80094458 00090378 CB C1 00 D8 */ lfd f30, 0xd8(r1)
/* 8009445C 0009037C 7C 08 03 A6 */ mtlr r0
/* 80094460 00090380 CB A1 00 D0 */ lfd f29, 0xd0(r1)
/* 80094464 00090384 CB 81 00 C8 */ lfd f28, 0xc8(r1)
/* 80094468 00090388 CB 61 00 C0 */ lfd f27, 0xc0(r1)
/* 8009446C 0009038C CB 41 00 B8 */ lfd f26, 0xb8(r1)
/* 80094470 00090390 CB 21 00 B0 */ lfd f25, 0xb0(r1)
/* 80094474 00090394 CB 01 00 A8 */ lfd f24, 0xa8(r1)
/* 80094478 00090398 CA E1 00 A0 */ lfd f23, 0xa0(r1)
/* 8009447C 0009039C CA C1 00 98 */ lfd f22, 0x98(r1)
/* 80094480 000903A0 38 21 00 E8 */ addi r1, r1, 0xe8
/* 80094484 000903A4 4E 80 00 20 */ blr
.global u_something_with_lens_flare_2
u_something_with_lens_flare_2:
/* 80094488 000903A8 7C 08 02 A6 */ mflr r0
/* 8009448C 000903AC 1C A3 02 84 */ mulli r5, r3, 0x284
/* 80094490 000903B0 90 01 00 04 */ stw r0, 4(r1)
/* 80094494 000903B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80094498 000903B8 3C 80 80 1F */ lis r4, cameraInfo@ha
/* 8009449C 000903BC 38 04 EF 00 */ addi r0, r4, cameraInfo@l
/* 800944A0 000903C0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800944A4 000903C4 7C 80 2A 14 */ add r4, r0, r5
/* 800944A8 000903C8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800944AC 000903CC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800944B0 000903D0 93 81 00 10 */ stw r28, 0x10(r1)
/* 800944B4 000903D4 C0 22 AF D0 */ lfs f1, lbl_802F57D0@sda21(r2)
/* 800944B8 000903D8 C0 04 00 48 */ lfs f0, 0x48(r4)
/* 800944BC 000903DC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 800944C0 000903E0 40 81 00 FC */ ble lbl_800945BC
/* 800944C4 000903E4 C0 04 00 4C */ lfs f0, 0x4c(r4)
/* 800944C8 000903E8 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 800944CC 000903EC 41 81 00 08 */ bgt lbl_800944D4
/* 800944D0 000903F0 48 00 00 EC */ b lbl_800945BC
lbl_800944D4:
/* 800944D4 000903F4 3C 80 80 2C */ lis r4, lbl_802B9360@ha
/* 800944D8 000903F8 C8 22 B0 18 */ lfd f1, lbl_802F5818@sda21(r2)
/* 800944DC 000903FC 54 65 10 3A */ slwi r5, r3, 2
/* 800944E0 00090400 38 04 93 60 */ addi r0, r4, lbl_802B9360@l
/* 800944E4 00090404 7F E0 2A 14 */ add r31, r0, r5
/* 800944E8 00090408 C0 1F 00 00 */ lfs f0, 0(r31)
/* 800944EC 0009040C FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800944F0 00090410 41 82 00 CC */ beq lbl_800945BC
/* 800944F4 00090414 A8 0D 99 B2 */ lha r0, gameMode@sda21(r13)
/* 800944F8 00090418 2C 00 00 00 */ cmpwi r0, 0
/* 800944FC 0009041C 40 82 00 34 */ bne lbl_80094530
/* 80094500 00090420 A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
/* 80094504 00090424 2C 00 00 0F */ cmpwi r0, 0xf
/* 80094508 00090428 40 80 00 18 */ bge lbl_80094520
/* 8009450C 0009042C 2C 00 00 0D */ cmpwi r0, 0xd
/* 80094510 00090430 40 80 00 AC */ bge lbl_800945BC
/* 80094514 00090434 2C 00 00 0B */ cmpwi r0, 0xb
/* 80094518 00090438 40 80 00 18 */ bge lbl_80094530
/* 8009451C 0009043C 48 00 00 A0 */ b lbl_800945BC
lbl_80094520:
/* 80094520 00090440 2C 00 00 13 */ cmpwi r0, 0x13
/* 80094524 00090444 40 80 00 98 */ bge lbl_800945BC
/* 80094528 00090448 48 00 00 08 */ b lbl_80094530
/* 8009452C 0009044C 48 00 00 90 */ b lbl_800945BC
lbl_80094530:
/* 80094530 00090450 1C 83 00 9C */ mulli r4, r3, 0x9c
/* 80094534 00090454 3C 60 80 2C */ lis r3, lbl_802B90F0@ha
/* 80094538 00090458 38 03 90 F0 */ addi r0, r3, lbl_802B90F0@l
/* 8009453C 0009045C 3C 60 80 17 */ lis r3, lbl_80171A08@ha
/* 80094540 00090460 7F A0 22 14 */ add r29, r0, r4
/* 80094544 00090464 38 03 1A 08 */ addi r0, r3, lbl_80171A08@l
/* 80094548 00090468 7C 1C 03 78 */ mr r28, r0
/* 8009454C 0009046C 3B C0 00 00 */ li r30, 0
lbl_80094550:
/* 80094550 00090470 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80094554 00090474 4B FF A0 11 */ bl avdisp_set_alpha
/* 80094558 00090478 7F A3 EB 78 */ mr r3, r29
/* 8009455C 0009047C 4B F7 30 61 */ bl mathutil_mtxA_from_translate
/* 80094560 00090480 C0 3C 00 04 */ lfs f1, 4(r28)
/* 80094564 00090484 C0 0D 9F 98 */ lfs f0, lbl_802F2178@sda21(r13)
/* 80094568 00090488 C0 62 AF D8 */ lfs f3, lbl_802F57D8@sda21(r2)
/* 8009456C 0009048C EC 21 00 32 */ fmuls f1, f1, f0
/* 80094570 00090490 FC 40 08 90 */ fmr f2, f1
/* 80094574 00090494 4B F7 38 65 */ bl mathutil_mtxA_scale_xyz
/* 80094578 00090498 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
/* 8009457C 0009049C 38 80 00 00 */ li r4, 0
/* 80094580 000904A0 48 05 00 3D */ bl GXLoadNrmMtxImm
/* 80094584 000904A4 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
/* 80094588 000904A8 38 80 00 00 */ li r4, 0
/* 8009458C 000904AC 48 04 FF F5 */ bl GXLoadPosMtxImm
/* 80094590 000904B0 80 6D 9A E8 */ lwz r3, commonGma@sda21(r13)
/* 80094594 000904B4 A8 1C 00 08 */ lha r0, 8(r28)
/* 80094598 000904B8 80 63 00 08 */ lwz r3, 8(r3)
/* 8009459C 000904BC 54 00 18 38 */ slwi r0, r0, 3
/* 800945A0 000904C0 7C 63 00 2E */ lwzx r3, r3, r0
/* 800945A4 000904C4 4B FF A4 C1 */ bl avdisp_draw_model_unculled_sort_none
/* 800945A8 000904C8 3B DE 00 01 */ addi r30, r30, 1
/* 800945AC 000904CC 28 1E 00 0D */ cmplwi r30, 0xd
/* 800945B0 000904D0 3B BD 00 0C */ addi r29, r29, 0xc
/* 800945B4 000904D4 3B 9C 00 0C */ addi r28, r28, 0xc
/* 800945B8 000904D8 41 80 FF 98 */ blt lbl_80094550
lbl_800945BC:
/* 800945BC 000904DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800945C0 000904E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800945C4 000904E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800945C8 000904E8 7C 08 03 A6 */ mtlr r0
/* 800945CC 000904EC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800945D0 000904F0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800945D4 000904F4 38 21 00 20 */ addi r1, r1, 0x20
/* 800945D8 000904F8 4E 80 00 20 */ blr
.global u_something_with_lens_flare_1
u_something_with_lens_flare_1:
/* 800945DC 000904FC 7C 08 02 A6 */ mflr r0
/* 800945E0 00090500 1C A3 02 84 */ mulli r5, r3, 0x284
/* 800945E4 00090504 90 01 00 04 */ stw r0, 4(r1)
/* 800945E8 00090508 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 800945EC 0009050C 3C 80 80 1F */ lis r4, cameraInfo@ha
/* 800945F0 00090510 38 04 EF 00 */ addi r0, r4, cameraInfo@l
/* 800945F4 00090514 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800945F8 00090518 7C 80 2A 14 */ add r4, r0, r5
/* 800945FC 0009051C C0 22 AF D0 */ lfs f1, lbl_802F57D0@sda21(r2)
/* 80094600 00090520 C0 04 00 48 */ lfs f0, 0x48(r4)
/* 80094604 00090524 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80094608 00090528 40 81 00 A0 */ ble lbl_800946A8
/* 8009460C 0009052C C0 04 00 4C */ lfs f0, 0x4c(r4)
/* 80094610 00090530 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80094614 00090534 41 81 00 08 */ bgt lbl_8009461C
/* 80094618 00090538 48 00 00 90 */ b lbl_800946A8
lbl_8009461C:
/* 8009461C 0009053C 3C 80 80 2C */ lis r4, lbl_802B9360@ha
/* 80094620 00090540 C8 22 B0 18 */ lfd f1, lbl_802F5818@sda21(r2)
/* 80094624 00090544 54 63 10 3A */ slwi r3, r3, 2
/* 80094628 00090548 38 04 93 60 */ addi r0, r4, lbl_802B9360@l
/* 8009462C 0009054C 7F E0 1A 14 */ add r31, r0, r3
/* 80094630 00090550 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80094634 00090554 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80094638 00090558 41 82 00 70 */ beq lbl_800946A8
/* 8009463C 0009055C A8 0D 99 B2 */ lha r0, gameMode@sda21(r13)
/* 80094640 00090560 2C 00 00 00 */ cmpwi r0, 0
/* 80094644 00090564 40 82 00 34 */ bne lbl_80094678
/* 80094648 00090568 A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
/* 8009464C 0009056C 2C 00 00 0F */ cmpwi r0, 0xf
/* 80094650 00090570 40 80 00 18 */ bge lbl_80094668
/* 80094654 00090574 2C 00 00 0D */ cmpwi r0, 0xd
/* 80094658 00090578 40 80 00 50 */ bge lbl_800946A8
/* 8009465C 0009057C 2C 00 00 0B */ cmpwi r0, 0xb
/* 80094660 00090580 40 80 00 18 */ bge lbl_80094678
/* 80094664 00090584 48 00 00 44 */ b lbl_800946A8
lbl_80094668:
/* 80094668 00090588 2C 00 00 13 */ cmpwi r0, 0x13
/* 8009466C 0009058C 40 80 00 3C */ bge lbl_800946A8
/* 80094670 00090590 48 00 00 08 */ b lbl_80094678
/* 80094674 00090594 48 00 00 34 */ b lbl_800946A8
lbl_80094678:
/* 80094678 00090598 C0 22 AF D0 */ lfs f1, lbl_802F57D0@sda21(r2)
/* 8009467C 0009059C C0 62 B0 20 */ lfs f3, lbl_802F5820@sda21(r2)
/* 80094680 000905A0 FC 40 08 90 */ fmr f2, f1
/* 80094684 000905A4 4B F7 2F 51 */ bl mathutil_mtxA_from_translate_xyz
/* 80094688 000905A8 C0 22 B0 24 */ lfs f1, lbl_802F5824@sda21(r2)
/* 8009468C 000905AC C0 1F 00 00 */ lfs f0, 0(r31)
/* 80094690 000905B0 EC 21 00 32 */ fmuls f1, f1, f0
/* 80094694 000905B4 4B FF 9E D1 */ bl avdisp_set_alpha
/* 80094698 000905B8 80 6D 9A E8 */ lwz r3, commonGma@sda21(r13)
/* 8009469C 000905BC 80 63 00 08 */ lwz r3, 8(r3)
/* 800946A0 000905C0 80 63 01 80 */ lwz r3, 0x180(r3)
/* 800946A4 000905C4 4B FF 9E 5D */ bl avdisp_draw_model_culled_sort_all
lbl_800946A8:
/* 800946A8 000905C8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800946AC 000905CC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 800946B0 000905D0 38 21 00 18 */ addi r1, r1, 0x18
/* 800946B4 000905D4 7C 08 03 A6 */ mtlr r0
/* 800946B8 000905D8 4E 80 00 20 */ blr
.global func_800946BC
func_800946BC:
/* 800946BC 000905DC 80 83 00 00 */ lwz r4, 0(r3)
/* 800946C0 000905E0 3C A0 80 2C */ lis r5, lbl_802B9370@ha
/* 800946C4 000905E4 80 03 00 04 */ lwz r0, 4(r3)
/* 800946C8 000905E8 94 85 93 70 */ stwu r4, lbl_802B9370@l(r5)
/* 800946CC 000905EC 90 05 00 04 */ stw r0, 4(r5)
/* 800946D0 000905F0 80 03 00 08 */ lwz r0, 8(r3)
/* 800946D4 000905F4 90 05 00 08 */ stw r0, 8(r5)
/* 800946D8 000905F8 4E 80 00 20 */ blr
.global func_800946DC
func_800946DC:
/* 800946DC 000905FC 7C 08 02 A6 */ mflr r0
/* 800946E0 00090600 7C 63 07 34 */ extsh r3, r3
/* 800946E4 00090604 90 01 00 04 */ stw r0, 4(r1)
/* 800946E8 00090608 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 800946EC 0009060C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800946F0 00090610 3B E4 00 00 */ addi r31, r4, 0
/* 800946F4 00090614 4B F7 2F 65 */ bl mathutil_mtxA_from_rotate_y
/* 800946F8 00090618 7F E3 FB 78 */ mr r3, r31
/* 800946FC 0009061C 4B F7 38 8D */ bl mathutil_mtxA_rotate_x
/* 80094700 00090620 3C 60 80 2C */ lis r3, lbl_802B9370@ha
/* 80094704 00090624 C0 62 B0 28 */ lfs f3, lbl_802F5828@sda21(r2)
/* 80094708 00090628 38 63 93 70 */ addi r3, r3, lbl_802B9370@l
/* 8009470C 0009062C 3C 80 E0 00 */ lis r4, 0xE0000008@ha
/* 80094710 00090630 C0 44 00 08 */ lfs f2, 0xE0000008@l(r4)
/* 80094714 00090634 C0 24 00 18 */ lfs f1, 0x18(r4)
/* 80094718 00090638 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 8009471C 0009063C EC 42 00 F2 */ fmuls f2, f2, f3
/* 80094720 00090640 D0 43 00 00 */ stfs f2, 0(r3)
/* 80094724 00090644 EC 21 00 F2 */ fmuls f1, f1, f3
/* 80094728 00090648 D0 23 00 04 */ stfs f1, 4(r3)
/* 8009472C 0009064C EC 00 00 F2 */ fmuls f0, f0, f3
/* 80094730 00090650 D0 03 00 08 */ stfs f0, 8(r3)
/* 80094734 00090654 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80094738 00090658 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8009473C 0009065C 38 21 00 18 */ addi r1, r1, 0x18
/* 80094740 00090660 7C 08 03 A6 */ mtlr r0
/* 80094744 00090664 4E 80 00 20 */ blr
.global func_80094748
func_80094748:
/* 80094748 00090668 D0 2D 9F 98 */ stfs f1, lbl_802F2178@sda21(r13)
/* 8009474C 0009066C 4E 80 00 20 */ blr
.global func_80094750
func_80094750:
/* 80094750 00090670 7C 08 02 A6 */ mflr r0
/* 80094754 00090674 3C 80 80 2C */ lis r4, lbl_802C5D60@ha
/* 80094758 00090678 90 01 00 04 */ stw r0, 4(r1)
/* 8009475C 0009067C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80094760 00090680 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80094764 00090684 3B E4 5D 60 */ addi r31, r4, lbl_802C5D60@l
/* 80094768 00090688 38 80 04 20 */ li r4, 0x420
/* 8009476C 0009068C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80094770 00090690 3B C3 00 00 */ addi r30, r3, 0
/* 80094774 00090694 38 7F 00 00 */ addi r3, r31, 0
/* 80094778 00090698 93 DF 00 00 */ stw r30, 0(r31)
/* 8009477C 0009069C 48 02 E7 E5 */ bl DCFlushRange
/* 80094780 000906A0 38 9F 00 00 */ addi r4, r31, 0
/* 80094784 000906A4 38 60 10 00 */ li r3, 0x1000
/* 80094788 000906A8 38 A0 04 20 */ li r5, 0x420
/* 8009478C 000906AC 48 04 76 C1 */ bl HIOWrite
/* 80094790 000906B0 7F C3 F3 78 */ mr r3, r30
/* 80094794 000906B4 48 04 74 81 */ bl HIOWriteMailbox
/* 80094798 000906B8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8009479C 000906BC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 800947A0 000906C0 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 800947A4 000906C4 7C 08 03 A6 */ mtlr r0
/* 800947A8 000906C8 38 21 00 18 */ addi r1, r1, 0x18
/* 800947AC 000906CC 4E 80 00 20 */ blr
.global func_800947B0
func_800947B0:
/* 800947B0 000906D0 7C 08 02 A6 */ mflr r0
/* 800947B4 000906D4 3C 60 80 2C */ lis r3, lbl_802C5D60@ha
/* 800947B8 000906D8 90 01 00 04 */ stw r0, 4(r1)
/* 800947BC 000906DC 38 A0 04 20 */ li r5, 0x420
/* 800947C0 000906E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800947C4 000906E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800947C8 000906E8 3B E3 5D 60 */ addi r31, r3, lbl_802C5D60@l
/* 800947CC 000906EC 38 9F 00 00 */ addi r4, r31, 0
/* 800947D0 000906F0 38 60 10 00 */ li r3, 0x1000
/* 800947D4 000906F4 48 04 75 35 */ bl HIORead
/* 800947D8 000906F8 38 7F 00 00 */ addi r3, r31, 0
/* 800947DC 000906FC 38 80 04 20 */ li r4, 0x420
/* 800947E0 00090700 48 02 E7 51 */ bl DCInvalidateRange
/* 800947E4 00090704 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800947E8 00090708 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800947EC 0009070C 38 21 00 10 */ addi r1, r1, 0x10
/* 800947F0 00090710 7C 08 03 A6 */ mtlr r0
/* 800947F4 00090714 4E 80 00 20 */ blr
.global func_800947F8
func_800947F8:
/* 800947F8 00090718 7C 08 02 A6 */ mflr r0
/* 800947FC 0009071C 90 01 00 04 */ stw r0, 4(r1)
/* 80094800 00090720 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80094804 00090724 48 03 51 91 */ bl OSGetTick
lbl_80094808:
/* 80094808 00090728 38 61 00 0C */ addi r3, r1, 0xc
/* 8009480C 0009072C 48 04 72 D9 */ bl HIOReadMailbox
/* 80094810 00090730 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80094814 00090734 28 00 00 02 */ cmplwi r0, 2
/* 80094818 00090738 40 82 00 0C */ bne lbl_80094824
/* 8009481C 0009073C 38 60 00 00 */ li r3, 0
/* 80094820 00090740 48 00 00 10 */ b lbl_80094830
lbl_80094824:
/* 80094824 00090744 28 00 00 01 */ cmplwi r0, 1
/* 80094828 00090748 40 82 FF E0 */ bne lbl_80094808
/* 8009482C 0009074C 38 60 00 01 */ li r3, 1
lbl_80094830:
/* 80094830 00090750 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80094834 00090754 38 21 00 10 */ addi r1, r1, 0x10
/* 80094838 00090758 7C 08 03 A6 */ mtlr r0
/* 8009483C 0009075C 4E 80 00 20 */ blr
.global func_80094840
func_80094840:
/* 80094840 00090760 7C 08 02 A6 */ mflr r0
/* 80094844 00090764 90 01 00 04 */ stw r0, 4(r1)
/* 80094848 00090768 94 21 FF F0 */ stwu r1, -0x10(r1)
lbl_8009484C:
/* 8009484C 0009076C 38 61 00 08 */ addi r3, r1, 8
/* 80094850 00090770 48 04 72 95 */ bl HIOReadMailbox
/* 80094854 00090774 80 01 00 08 */ lwz r0, 8(r1)
/* 80094858 00090778 28 00 00 00 */ cmplwi r0, 0
/* 8009485C 0009077C 40 82 FF F0 */ bne lbl_8009484C
/* 80094860 00090780 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80094864 00090784 38 21 00 10 */ addi r1, r1, 0x10
/* 80094868 00090788 7C 08 03 A6 */ mtlr r0
/* 8009486C 0009078C 4E 80 00 20 */ blr
.global func_80094870
func_80094870:
/* 80094870 00090790 80 0D 9F A0 */ lwz r0, lbl_802F2180@sda21(r13)
/* 80094874 00090794 2C 00 00 00 */ cmpwi r0, 0
/* 80094878 00090798 40 82 00 0C */ bne lbl_80094884
/* 8009487C 0009079C 38 60 00 00 */ li r3, 0
/* 80094880 000907A0 4E 80 00 20 */ blr
lbl_80094884:
/* 80094884 000907A4 38 00 00 10 */ li r0, 0x10
/* 80094888 000907A8 80 8D 9F A8 */ lwz r4, lbl_802F2188@sda21(r13)
/* 8009488C 000907AC 7C 09 03 A6 */ mtctr r0
/* 80094890 000907B0 38 C0 00 00 */ li r6, 0
/* 80094894 000907B4 38 60 00 01 */ li r3, 1
lbl_80094898:
/* 80094898 000907B8 7C 65 30 30 */ slw r5, r3, r6
/* 8009489C 000907BC 7C 80 28 39 */ and. r0, r4, r5
/* 800948A0 000907C0 40 82 00 20 */ bne lbl_800948C0
/* 800948A4 000907C4 80 8D 9F A8 */ lwz r4, lbl_802F2188@sda21(r13)
/* 800948A8 000907C8 1C 06 00 0C */ mulli r0, r6, 0xc
/* 800948AC 000907CC 80 6D 9F A4 */ lwz r3, lbl_802F2184@sda21(r13)
/* 800948B0 000907D0 7C 84 2B 78 */ or r4, r4, r5
/* 800948B4 000907D4 90 8D 9F A8 */ stw r4, lbl_802F2188@sda21(r13)
/* 800948B8 000907D8 7C 63 02 14 */ add r3, r3, r0
/* 800948BC 000907DC 4E 80 00 20 */ blr
lbl_800948C0:
/* 800948C0 000907E0 38 C6 00 01 */ addi r6, r6, 1
/* 800948C4 000907E4 42 00 FF D4 */ bdnz lbl_80094898
/* 800948C8 000907E8 38 60 00 00 */ li r3, 0
/* 800948CC 000907EC 4E 80 00 20 */ blr
.global func_800948D0
func_800948D0:
/* 800948D0 000907F0 A0 03 00 08 */ lhz r0, 8(r3)
/* 800948D4 000907F4 38 60 00 01 */ li r3, 1
/* 800948D8 000907F8 80 8D 9F A8 */ lwz r4, lbl_802F2188@sda21(r13)
/* 800948DC 000907FC 7C 60 00 30 */ slw r0, r3, r0
/* 800948E0 00090800 7C 80 00 78 */ andc r0, r4, r0
/* 800948E4 00090804 90 0D 9F A8 */ stw r0, lbl_802F2188@sda21(r13)
/* 800948E8 00090808 4E 80 00 20 */ blr
glabel func_800948EC
/* 800948EC 0009080C 80 6D 9F A0 */ lwz r3, lbl_802F2180@sda21(r13)
/* 800948F0 00090810 4E 80 00 20 */ blr
.global func_800948F4
func_800948F4:
/* 800948F4 00090814 7C 08 02 A6 */ mflr r0
/* 800948F8 00090818 90 01 00 04 */ stw r0, 4(r1)
/* 800948FC 0009081C 94 21 FF F8 */ stwu r1, -8(r1)
/* 80094900 00090820 48 00 00 15 */ bl func_80094914
/* 80094904 00090824 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80094908 00090828 38 21 00 08 */ addi r1, r1, 8
/* 8009490C 0009082C 7C 08 03 A6 */ mtlr r0
/* 80094910 00090830 4E 80 00 20 */ blr
.global func_80094914
func_80094914:
/* 80094914 00090834 3C 60 80 2C */ lis r3, lbl_802B9390@ha
/* 80094918 00090838 38 03 93 90 */ addi r0, r3, lbl_802B9390@l
/* 8009491C 0009083C 38 60 00 40 */ li r3, 0x40
/* 80094920 00090840 90 0D 9F B4 */ stw r0, lbl_802F2194@sda21(r13)
/* 80094924 00090844 90 6D 9F B0 */ stw r3, lbl_802F2190@sda21(r13)
/* 80094928 00090848 4E 80 00 20 */ blr
.global func_8009492C
func_8009492C:
/* 8009492C 0009084C 80 0D 9F B0 */ lwz r0, lbl_802F2190@sda21(r13)
/* 80094930 00090850 2C 00 00 00 */ cmpwi r0, 0
/* 80094934 00090854 40 82 00 0C */ bne lbl_80094940
/* 80094938 00090858 38 60 00 00 */ li r3, 0
/* 8009493C 0009085C 4E 80 00 20 */ blr
lbl_80094940:
/* 80094940 00090860 80 AD 9F B4 */ lwz r5, lbl_802F2194@sda21(r13)
/* 80094944 00090864 80 83 00 00 */ lwz r4, 0(r3)
/* 80094948 00090868 80 03 00 04 */ lwz r0, 4(r3)
/* 8009494C 0009086C 90 85 00 00 */ stw r4, 0(r5)
/* 80094950 00090870 90 05 00 04 */ stw r0, 4(r5)
/* 80094954 00090874 80 83 00 08 */ lwz r4, 8(r3)
/* 80094958 00090878 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8009495C 0009087C 90 85 00 08 */ stw r4, 8(r5)
/* 80094960 00090880 90 05 00 0C */ stw r0, 0xc(r5)
/* 80094964 00090884 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80094968 00090888 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8009496C 0009088C 90 85 00 10 */ stw r4, 0x10(r5)
/* 80094970 00090890 90 05 00 14 */ stw r0, 0x14(r5)
/* 80094974 00090894 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80094978 00090898 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8009497C 0009089C 90 85 00 18 */ stw r4, 0x18(r5)
/* 80094980 000908A0 90 05 00 1C */ stw r0, 0x1c(r5)
/* 80094984 000908A4 80 83 00 20 */ lwz r4, 0x20(r3)
/* 80094988 000908A8 80 03 00 24 */ lwz r0, 0x24(r3)
/* 8009498C 000908AC 90 85 00 20 */ stw r4, 0x20(r5)
/* 80094990 000908B0 90 05 00 24 */ stw r0, 0x24(r5)
/* 80094994 000908B4 80 83 00 28 */ lwz r4, 0x28(r3)
/* 80094998 000908B8 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 8009499C 000908BC 90 85 00 28 */ stw r4, 0x28(r5)
/* 800949A0 000908C0 90 05 00 2C */ stw r0, 0x2c(r5)
/* 800949A4 000908C4 80 83 00 30 */ lwz r4, 0x30(r3)
/* 800949A8 000908C8 80 03 00 34 */ lwz r0, 0x34(r3)
/* 800949AC 000908CC 90 85 00 30 */ stw r4, 0x30(r5)
/* 800949B0 000908D0 90 05 00 34 */ stw r0, 0x34(r5)
/* 800949B4 000908D4 80 6D 9F B4 */ lwz r3, lbl_802F2194@sda21(r13)
/* 800949B8 000908D8 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 800949BC 000908DC C0 43 00 18 */ lfs f2, 0x18(r3)
/* 800949C0 000908E0 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 800949C4 000908E4 40 81 00 0C */ ble lbl_800949D0
/* 800949C8 000908E8 FC 00 08 90 */ fmr f0, f1
/* 800949CC 000908EC 48 00 00 08 */ b lbl_800949D4
lbl_800949D0:
/* 800949D0 000908F0 FC 00 10 90 */ fmr f0, f2
lbl_800949D4:
/* 800949D4 000908F4 C0 63 00 1C */ lfs f3, 0x1c(r3)
/* 800949D8 000908F8 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 800949DC 000908FC 40 81 00 18 */ ble lbl_800949F4
/* 800949E0 00090900 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 800949E4 00090904 40 81 00 08 */ ble lbl_800949EC
/* 800949E8 00090908 48 00 00 10 */ b lbl_800949F8
lbl_800949EC:
/* 800949EC 0009090C FC 20 10 90 */ fmr f1, f2
/* 800949F0 00090910 48 00 00 08 */ b lbl_800949F8
lbl_800949F4:
/* 800949F4 00090914 FC 20 18 90 */ fmr f1, f3
lbl_800949F8:
/* 800949F8 00090918 D0 23 00 30 */ stfs f1, 0x30(r3)
/* 800949FC 0009091C 38 60 00 01 */ li r3, 1
/* 80094A00 00090920 80 AD 9F B4 */ lwz r5, lbl_802F2194@sda21(r13)
/* 80094A04 00090924 80 85 00 28 */ lwz r4, 0x28(r5)
/* 80094A08 00090928 C0 25 00 30 */ lfs f1, 0x30(r5)
/* 80094A0C 0009092C C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80094A10 00090930 EC 01 00 32 */ fmuls f0, f1, f0
/* 80094A14 00090934 D0 05 00 34 */ stfs f0, 0x34(r5)
/* 80094A18 00090938 80 AD 9F B4 */ lwz r5, lbl_802F2194@sda21(r13)
/* 80094A1C 0009093C 80 8D 9F B0 */ lwz r4, lbl_802F2190@sda21(r13)
/* 80094A20 00090940 38 A5 00 38 */ addi r5, r5, 0x38
/* 80094A24 00090944 38 04 FF FF */ addi r0, r4, -1
/* 80094A28 00090948 90 AD 9F B4 */ stw r5, lbl_802F2194@sda21(r13)
/* 80094A2C 0009094C 90 0D 9F B0 */ stw r0, lbl_802F2190@sda21(r13)
/* 80094A30 00090950 4E 80 00 20 */ blr
.global func_80094A34
func_80094A34:
/* 80094A34 00090954 7C 08 02 A6 */ mflr r0
/* 80094A38 00090958 90 01 00 04 */ stw r0, 4(r1)
/* 80094A3C 0009095C 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80094A40 00090960 DB E1 00 78 */ stfd f31, 0x78(r1)
/* 80094A44 00090964 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 80094A48 00090968 DB A1 00 68 */ stfd f29, 0x68(r1)
/* 80094A4C 0009096C DB 81 00 60 */ stfd f28, 0x60(r1)
/* 80094A50 00090970 DB 61 00 58 */ stfd f27, 0x58(r1)
/* 80094A54 00090974 DB 41 00 50 */ stfd f26, 0x50(r1)
/* 80094A58 00090978 DB 21 00 48 */ stfd f25, 0x48(r1)
/* 80094A5C 0009097C 93 E1 00 44 */ stw r31, 0x44(r1)
/* 80094A60 00090980 93 C1 00 40 */ stw r30, 0x40(r1)
/* 80094A64 00090984 93 A1 00 3C */ stw r29, 0x3c(r1)
/* 80094A68 00090988 93 81 00 38 */ stw r28, 0x38(r1)
/* 80094A6C 0009098C 80 0D 9F B0 */ lwz r0, lbl_802F2190@sda21(r13)
/* 80094A70 00090990 23 A0 00 40 */ subfic r29, r0, 0x40
/* 80094A74 00090994 2C 1D 00 00 */ cmpwi r29, 0
/* 80094A78 00090998 41 82 02 20 */ beq lbl_80094C98
/* 80094A7C 0009099C 80 CD 9A 5C */ lwz r6, currentCameraStructPtr@sda21(r13)
/* 80094A80 000909A0 38 60 00 01 */ li r3, 1
/* 80094A84 000909A4 38 80 00 03 */ li r4, 3
/* 80094A88 000909A8 C0 26 00 38 */ lfs f1, 0x38(r6)
/* 80094A8C 000909AC 38 A0 00 00 */ li r5, 0
/* 80094A90 000909B0 C0 06 00 4C */ lfs f0, 0x4c(r6)
/* 80094A94 000909B4 FC 20 08 50 */ fneg f1, f1
/* 80094A98 000909B8 EF 61 00 24 */ fdivs f27, f1, f0
/* 80094A9C 000909BC 4B FF 9B 2D */ bl avdisp_set_z_mode
/* 80094AA0 000909C0 3C 60 80 2C */ lis r3, lbl_802B9390@ha
/* 80094AA4 000909C4 C3 C2 B0 34 */ lfs f30, lbl_802F5834@sda21(r2)
/* 80094AA8 000909C8 38 03 93 90 */ addi r0, r3, lbl_802B9390@l
/* 80094AAC 000909CC C3 E2 B0 38 */ lfs f31, lbl_802F5838@sda21(r2)
/* 80094AB0 000909D0 C3 22 B0 3C */ lfs f25, lbl_802F583C@sda21(r2)
/* 80094AB4 000909D4 7C 1C 03 78 */ mr r28, r0
/* 80094AB8 000909D8 CB 42 B0 40 */ lfd f26, lbl_802F5840@sda21(r2)
/* 80094ABC 000909DC 3B C1 00 14 */ addi r30, r1, 0x14
/* 80094AC0 000909E0 C3 A2 B0 30 */ lfs f29, lbl_802F5830@sda21(r2)
/* 80094AC4 000909E4 3F E0 43 30 */ lis r31, 0x4330
/* 80094AC8 000909E8 48 00 01 B8 */ b lbl_80094C80
lbl_80094ACC:
/* 80094ACC 000909EC 7F 83 E3 78 */ mr r3, r28
/* 80094AD0 000909F0 4B F7 2C 0D */ bl mathutil_mtxA_from_mtxB_translate
/* 80094AD4 000909F4 A8 7C 00 0E */ lha r3, 0xe(r28)
/* 80094AD8 000909F8 4B F7 35 25 */ bl mathutil_mtxA_rotate_y
/* 80094ADC 000909FC A8 7C 00 0C */ lha r3, 0xc(r28)
/* 80094AE0 00090A00 4B F7 34 A9 */ bl mathutil_mtxA_rotate_x
/* 80094AE4 00090A04 A8 7C 00 10 */ lha r3, 0x10(r28)
/* 80094AE8 00090A08 4B F7 35 A1 */ bl mathutil_mtxA_rotate_z
/* 80094AEC 00090A0C 38 9E 00 04 */ addi r4, r30, 4
/* 80094AF0 00090A10 38 7E 00 08 */ addi r3, r30, 8
/* 80094AF4 00090A14 3C A0 E0 00 */ lis r5, 0xE000000C@ha
/* 80094AF8 00090A18 C0 45 00 0C */ lfs f2, 0xE000000C@l(r5)
/* 80094AFC 00090A1C C0 25 00 1C */ lfs f1, 0x1c(r5)
/* 80094B00 00090A20 C0 05 00 2C */ lfs f0, 0x2c(r5)
/* 80094B04 00090A24 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80094B08 00090A28 D0 24 00 00 */ stfs f1, 0(r4)
/* 80094B0C 00090A2C D0 03 00 00 */ stfs f0, 0(r3)
/* 80094B10 00090A30 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80094B14 00090A34 FC 00 E8 40 */ fcmpo cr0, f0, f29
/* 80094B18 00090A38 40 80 00 3C */ bge lbl_80094B54
/* 80094B1C 00090A3C EC 00 06 F2 */ fmuls f0, f0, f27
/* 80094B20 00090A40 C0 3C 00 34 */ lfs f1, 0x34(r28)
/* 80094B24 00090A44 C0 5C 00 20 */ lfs f2, 0x20(r28)
/* 80094B28 00090A48 EF 81 00 24 */ fdivs f28, f1, f0
/* 80094B2C 00090A4C FC 1C 10 40 */ fcmpo cr0, f28, f2
/* 80094B30 00090A50 41 80 01 48 */ blt lbl_80094C78
/* 80094B34 00090A54 C0 1C 00 24 */ lfs f0, 0x24(r28)
/* 80094B38 00090A58 EC 3C 10 28 */ fsubs f1, f28, f2
/* 80094B3C 00090A5C EC 00 10 28 */ fsubs f0, f0, f2
/* 80094B40 00090A60 EF 81 00 24 */ fdivs f28, f1, f0
/* 80094B44 00090A64 FC 1C F0 40 */ fcmpo cr0, f28, f30
/* 80094B48 00090A68 40 81 00 10 */ ble lbl_80094B58
/* 80094B4C 00090A6C FF 80 F0 90 */ fmr f28, f30
/* 80094B50 00090A70 48 00 00 08 */ b lbl_80094B58
lbl_80094B54:
/* 80094B54 00090A74 C3 82 B0 34 */ lfs f28, lbl_802F5834@sda21(r2)
lbl_80094B58:
/* 80094B58 00090A78 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 80094B5C 00090A7C C0 41 00 18 */ lfs f2, 0x18(r1)
/* 80094B60 00090A80 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80094B64 00090A84 EC 21 00 72 */ fmuls f1, f1, f1
/* 80094B68 00090A88 EC 22 08 BA */ fmadds f1, f2, f2, f1
/* 80094B6C 00090A8C EC 20 08 3A */ fmadds f1, f0, f0, f1
/* 80094B70 00090A90 4B F7 25 89 */ bl mathutil_sqrt
/* 80094B74 00090A94 EC 3F 08 24 */ fdivs f1, f31, f1
/* 80094B78 00090A98 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80094B7C 00090A9C EC 7E 08 28 */ fsubs f3, f30, f1
/* 80094B80 00090AA0 EC 00 00 F2 */ fmuls f0, f0, f3
/* 80094B84 00090AA4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80094B88 00090AA8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80094B8C 00090AAC EC 00 00 F2 */ fmuls f0, f0, f3
/* 80094B90 00090AB0 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80094B94 00090AB4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80094B98 00090AB8 EC 00 00 F2 */ fmuls f0, f0, f3
/* 80094B9C 00090ABC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80094BA0 00090AC0 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80094BA4 00090AC4 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80094BA8 00090AC8 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80094BAC 00090ACC 3C 60 E0 00 */ lis r3, 0xE000000C@ha
/* 80094BB0 00090AD0 D0 43 00 0C */ stfs f2, 0xE000000C@l(r3)
/* 80094BB4 00090AD4 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80094BB8 00090AD8 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 80094BBC 00090ADC 38 61 00 08 */ addi r3, r1, 8
/* 80094BC0 00090AE0 C0 1C 00 14 */ lfs f0, 0x14(r28)
/* 80094BC4 00090AE4 EC 00 00 F2 */ fmuls f0, f0, f3
/* 80094BC8 00090AE8 D0 01 00 08 */ stfs f0, 8(r1)
/* 80094BCC 00090AEC C0 1C 00 18 */ lfs f0, 0x18(r28)
/* 80094BD0 00090AF0 EC 00 00 F2 */ fmuls f0, f0, f3
/* 80094BD4 00090AF4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80094BD8 00090AF8 C0 1C 00 1C */ lfs f0, 0x1c(r28)
/* 80094BDC 00090AFC EC 00 00 F2 */ fmuls f0, f0, f3
/* 80094BE0 00090B00 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80094BE4 00090B04 4B F7 31 D5 */ bl mathutil_mtxA_scale
/* 80094BE8 00090B08 C0 3C 00 30 */ lfs f1, 0x30(r28)
/* 80094BEC 00090B0C 4B FF 98 35 */ bl avdisp_set_bound_sphere_scale
/* 80094BF0 00090B10 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
/* 80094BF4 00090B14 38 80 00 00 */ li r4, 0
/* 80094BF8 00090B18 48 04 F9 89 */ bl GXLoadPosMtxImm
/* 80094BFC 00090B1C 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
/* 80094C00 00090B20 38 80 00 00 */ li r4, 0
/* 80094C04 00090B24 48 04 F9 B9 */ bl GXLoadNrmMtxImm
/* 80094C08 00090B28 88 9C 00 2C */ lbz r4, 0x2c(r28)
/* 80094C0C 00090B2C EF 9C 06 72 */ fmuls f28, f28, f25
/* 80094C10 00090B30 88 7C 00 2D */ lbz r3, 0x2d(r28)
/* 80094C14 00090B34 88 1C 00 2E */ lbz r0, 0x2e(r28)
/* 80094C18 00090B38 90 81 00 34 */ stw r4, 0x34(r1)
/* 80094C1C 00090B3C C0 82 B0 34 */ lfs f4, lbl_802F5834@sda21(r2)
/* 80094C20 00090B40 90 61 00 2C */ stw r3, 0x2c(r1)
/* 80094C24 00090B44 90 01 00 24 */ stw r0, 0x24(r1)
/* 80094C28 00090B48 93 E1 00 30 */ stw r31, 0x30(r1)
/* 80094C2C 00090B4C 93 E1 00 28 */ stw r31, 0x28(r1)
/* 80094C30 00090B50 C8 01 00 30 */ lfd f0, 0x30(r1)
/* 80094C34 00090B54 93 E1 00 20 */ stw r31, 0x20(r1)
/* 80094C38 00090B58 C8 21 00 28 */ lfd f1, 0x28(r1)
/* 80094C3C 00090B5C EC 60 D0 28 */ fsubs f3, f0, f26
/* 80094C40 00090B60 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 80094C44 00090B64 EC 41 D0 28 */ fsubs f2, f1, f26
/* 80094C48 00090B68 EC 00 D0 28 */ fsubs f0, f0, f26
/* 80094C4C 00090B6C EC 23 07 32 */ fmuls f1, f3, f28
/* 80094C50 00090B70 EC 42 07 32 */ fmuls f2, f2, f28
/* 80094C54 00090B74 EC 60 07 32 */ fmuls f3, f0, f28
/* 80094C58 00090B78 4B FF AA BD */ bl avdisp_set_post_mult_color
/* 80094C5C 00090B7C 80 7C 00 28 */ lwz r3, 0x28(r28)
/* 80094C60 00090B80 4B FF 98 3D */ bl avdisp_draw_model_culled_sort_none
/* 80094C64 00090B84 C0 22 B0 34 */ lfs f1, lbl_802F5834@sda21(r2)
/* 80094C68 00090B88 FC 40 08 90 */ fmr f2, f1
/* 80094C6C 00090B8C FC 60 08 90 */ fmr f3, f1
/* 80094C70 00090B90 FC 80 08 90 */ fmr f4, f1
/* 80094C74 00090B94 4B FF AA A1 */ bl avdisp_set_post_mult_color
lbl_80094C78:
/* 80094C78 00090B98 3B BD FF FF */ addi r29, r29, -1
/* 80094C7C 00090B9C 3B 9C 00 38 */ addi r28, r28, 0x38
lbl_80094C80:
/* 80094C80 00090BA0 2C 1D 00 00 */ cmpwi r29, 0
/* 80094C84 00090BA4 41 81 FE 48 */ bgt lbl_80094ACC
/* 80094C88 00090BA8 38 60 00 01 */ li r3, 1
/* 80094C8C 00090BAC 38 80 00 03 */ li r4, 3
/* 80094C90 00090BB0 38 A0 00 01 */ li r5, 1
/* 80094C94 00090BB4 4B FF 99 35 */ bl avdisp_set_z_mode
lbl_80094C98:
/* 80094C98 00090BB8 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80094C9C 00090BBC CB E1 00 78 */ lfd f31, 0x78(r1)
/* 80094CA0 00090BC0 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 80094CA4 00090BC4 7C 08 03 A6 */ mtlr r0
/* 80094CA8 00090BC8 CB A1 00 68 */ lfd f29, 0x68(r1)
/* 80094CAC 00090BCC CB 81 00 60 */ lfd f28, 0x60(r1)
/* 80094CB0 00090BD0 CB 61 00 58 */ lfd f27, 0x58(r1)
/* 80094CB4 00090BD4 CB 41 00 50 */ lfd f26, 0x50(r1)
/* 80094CB8 00090BD8 CB 21 00 48 */ lfd f25, 0x48(r1)
/* 80094CBC 00090BDC 83 E1 00 44 */ lwz r31, 0x44(r1)
/* 80094CC0 00090BE0 83 C1 00 40 */ lwz r30, 0x40(r1)
/* 80094CC4 00090BE4 83 A1 00 3C */ lwz r29, 0x3c(r1)
/* 80094CC8 00090BE8 83 81 00 38 */ lwz r28, 0x38(r1)
/* 80094CCC 00090BEC 38 21 00 80 */ addi r1, r1, 0x80
/* 80094CD0 00090BF0 4E 80 00 20 */ blr
.section .sdata2
.global lbl_802F57C8
lbl_802F57C8:
# ROM: 0x1EF1E8
.4byte 0
.global lbl_802F57CC
lbl_802F57CC:
# ROM: 0x1EF1EC
.4byte 0x3F800000
.global lbl_802F57D0
lbl_802F57D0:
# ROM: 0x1EF1F0
.4byte 0
.global lbl_802F57D4
lbl_802F57D4:
# ROM: 0x1EF1F4
.4byte 0x461C4000
.global lbl_802F57D8
lbl_802F57D8:
# ROM: 0x1EF1F8
.4byte 0x3F800000
.4byte 0
.global lbl_802F57E0
lbl_802F57E0:
# ROM: 0x1EF200
.4byte 0xBFBC28F5
.4byte 0xC28F5C29
.global lbl_802F57E8
lbl_802F57E8:
# ROM: 0x1EF208
.4byte 0x3EE4F8B5
.4byte 0x88E368F1
.global lbl_802F57F0
lbl_802F57F0:
# ROM: 0x1EF210
.4byte 0x3FE6A09E
.4byte 0x65DC27DF
.global lbl_802F57F8
lbl_802F57F8:
# ROM: 0x1EF218
.4byte 0x400B504F
.4byte 0x31645F86
.global lbl_802F5800
lbl_802F5800:
# ROM: 0x1EF220
.4byte 0x3FEFAE14
.4byte 0x7AE147AE
.global lbl_802F5808
lbl_802F5808:
# ROM: 0x1EF228
.4byte 0xBF800000
.4byte 0
.global lbl_802F5810
lbl_802F5810:
# ROM: 0x1EF230
.4byte 0x43300000
.4byte 0x80000000
.global lbl_802F5818
lbl_802F5818:
# ROM: 0x1EF238
.4byte 0
.4byte 0
.global lbl_802F5820
lbl_802F5820:
# ROM: 0x1EF240
.4byte 0xBE4CCCCD
.global lbl_802F5824
lbl_802F5824:
# ROM: 0x1EF244
.4byte 0x3F400000
.global lbl_802F5828
lbl_802F5828:
# ROM: 0x1EF248
.4byte 0xC9742400
.4byte 0
.global lbl_802F5830
lbl_802F5830:
# ROM: 0x1EF250
.4byte 0
.global lbl_802F5834
lbl_802F5834:
# ROM: 0x1EF254
.4byte 0x3F800000
.global lbl_802F5838
lbl_802F5838:
# ROM: 0x1EF258
.4byte 0x3E4CCCCD
.global lbl_802F583C
lbl_802F583C:
# ROM: 0x1EF25C
.4byte 0x3B808081
.global lbl_802F5840
lbl_802F5840:
# ROM: 0x1EF260
.4byte 0x43300000
.4byte 0
.section .sbss
.global u_minigameMainCallback
u_minigameMainCallback:
.skip 0x4
.global u_minigameDrawCallback
u_minigameDrawCallback:
.skip 0x4
.global lbl_802F2160
lbl_802F2160:
.skip 0x4
.global lbl_802F2164
lbl_802F2164:
.skip 0x4
.global lbl_802F2168
lbl_802F2168:
.skip 0x8
.global lbl_802F2170
lbl_802F2170:
.skip 0x8
.global lbl_802F2178
lbl_802F2178:
.skip 0x8
.global lbl_802F2180
lbl_802F2180:
.skip 0x4
.global lbl_802F2184
lbl_802F2184:
.skip 0x4
.global lbl_802F2188
lbl_802F2188:
.skip 0x8
.global lbl_802F2190
lbl_802F2190:
.skip 0x4
.global lbl_802F2194
lbl_802F2194:
.skip 0x4