A couple of PAL sections (#986)

* Splat later segments

* battle_areas

* effects
This commit is contained in:
Marijn van der Werf 2023-03-19 16:05:43 +01:00 committed by GitHub
parent 61f96a4470
commit f504af5b90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 8975 additions and 6 deletions

View File

@ -3092,6 +3092,8 @@ enum ShadingProfile {
SHADING_KZN_20,
SHADING_KZN_22,
SHADING_KZN_23,
SHADING_UNUSED = 0x000B0000,
SHADING_BTL_ISK = 0x000C0000,
};
#endif

View File

@ -2041,7 +2041,7 @@ EvtScript N(attackWindBreath) = {
EVT_CALL(SetupMashMeter, 5, 20, 40, 60, 80, 100)
EVT_WAIT(10)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE)
EVT_CALL(action_command_whirlwind_start, 0, 200, 3)
EVT_CALL(action_command_whirlwind_start, 0, 200 * DT, 3)
EVT_THREAD
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_SCALE_X), LVar2)
EVT_SET(LVar3, LVar2)
@ -4521,7 +4521,7 @@ EvtScript N(attackTuffPuffs) = {
EVT_IF_FLAG(LVar0, 0x00000200)
EVT_ADD(LVar9, 1)
EVT_END_IF
EVT_SET(LVarA, 30)
EVT_SET(LVarA, 30 * DT)
EVT_SUB(LVarA, LVar9)
EVT_SET(LVar3, 0)
EVT_CALL(GetActorVar, ACTOR_SELF, N(VAR_TUFF_PUFF_BIT_ARRAY), LVar0)

View File

@ -371,7 +371,7 @@ EvtScript N(EVS_Attack_WindBlast) = {
EVT_WAIT(6)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE)
EVT_CALL(action_command_whirlwind_start, 0, 88, 3)
EVT_CALL(action_command_whirlwind_start, 0, 88 * DT, 3)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19)
EVT_CALL(SetBattleCamTarget, -25, 60, 0)
EVT_CALL(SetBattleCamZoom, 460)
@ -436,7 +436,7 @@ EvtScript N(EVS_Attack_WindBlast) = {
EVT_WAIT(6)
EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20F0)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE)
EVT_CALL(action_command_whirlwind_start, 0, 88, 3)
EVT_CALL(action_command_whirlwind_start, 0, 88 * DT, 3)
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19)
EVT_CALL(SetBattleCamTarget, -25, 60, 0)
EVT_CALL(SetBattleCamZoom, 460)
@ -928,7 +928,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = {
EVT_CALL(MoveBattleCamOver, 60)
EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE)
EVT_CALL(ShowActionHud, TRUE)
EVT_CALL(action_command_break_free_start, 0, 60, 30, 3)
EVT_CALL(action_command_break_free_start, 0, 60 * DT, 30, 3)
EVT_EXEC_GET_TID(N(EVS_LiftMarioario), LVarA)
EVT_WAIT(62)
EVT_CALL(GetActionSuccessCopy, LVar0)

View File

@ -119,6 +119,13 @@ API_CALLABLE(N(Add1Coin)) {
}
EvtScript N(init) = {
#if VERSION_PAL
EVT_CALL(GetLanguage, LVar0)
EVT_IF_EQ(LVar0, 3)
EVT_SET(LVar0, 2)
EVT_END_IF
EVT_CALL(SetModelTexVariant, 28, LVar0)
#endif
EVT_USE_ARRAY(N(slot_machine_buffer))
EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(takeTurn)))
EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(idle)))
@ -281,7 +288,9 @@ EvtScript N(idle) = {
EVT_BREAK_LOOP
EVT_END_IF
EVT_THREAD
#if !VERSION_PAL
EVT_CALL(func_8026BF48, 1)
#endif
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19)
EVT_CALL(SetBattleCamTarget, 0, 100, 0)
EVT_CALL(SetBattleCamOffsetZ, 0)
@ -329,11 +338,22 @@ EvtScript N(idle) = {
EVT_SET(ArrayVar(2), 0)
EVT_SET(ArrayVar(3), 0)
EVT_SET(ArrayVar(4), 0)
#if !VERSION_PAL
EVT_CALL(func_8026BF48, 0)
#endif
EVT_END_THREAD
#if VERSION_PAL
EVT_WAIT(75)
EVT_CALL(UseBattleCamPreset, 2)
EVT_CALL(MoveBattleCamOver, 25)
EVT_WAIT(30)
#endif
EVT_SET(ArrayVar(1), 2)
EVT_BREAK_LOOP
EVT_END_LOOP
#if VERSION_PAL
EVT_CALL(func_8026BF48, 0)
#endif
EVT_END_IF
EVT_LABEL(1)
EVT_WAIT(1)
@ -386,6 +406,9 @@ EvtScript N(handleEvent) = {
EVT_WAIT(1)
EVT_CALL(TranslateModel, 29, 0, 0, 0)
EVT_IF_EQ(ArrayVar(2), 1)
#if VERSION_PAL
EVT_CALL(func_8026BF48, 1)
#endif
EVT_SET(ArrayVar(8), 100)
EVT_SET(ArrayVar(9), 150)
EVT_SET(ArrayVar(10), 200)
@ -408,6 +431,9 @@ EvtScript N(handleEvent) = {
EVT_WAIT(1)
EVT_CALL(TranslateModel, 29, 0, 0, 0)
EVT_IF_EQ(ArrayVar(3), 1)
#if VERSION_PAL
EVT_CALL(func_8026BF48, 1)
#endif
EVT_SET(ArrayVar(8), 150)
EVT_SET(ArrayVar(9), 100)
EVT_SET(ArrayVar(10), 200)
@ -430,6 +456,9 @@ EvtScript N(handleEvent) = {
EVT_WAIT(1)
EVT_CALL(TranslateModel, 29, 0, 0, 0)
EVT_IF_EQ(ArrayVar(4), 1)
#if VERSION_PAL
EVT_CALL(func_8026BF48, 1)
#endif
EVT_SET(ArrayVar(8), 200)
EVT_SET(ArrayVar(9), 150)
EVT_SET(ArrayVar(10), 100)

View File

@ -11,7 +11,9 @@ API_CALLABLE(N(UpdateSunPos)) {
f32 z;
f32 angle;
// Needed to make stack allocations line up
#if !VERSION_PAL
s8 unused[0x40];
#endif
angle = evt_get_variable(script, *args++) / 10.0;
angle = angle * TAU;

View File

@ -65,6 +65,23 @@ UnkStruct D_E010E838[] = {
{ NULL, 0, 0, 0, 0 }
};
#if VERSION_PAL
UnkStruct D_E010E838_b[] = {
{ D_0900C080_3F7EE0, 0, 0, 128, 10 },
{ D_0900C168_3F7FC8, 0, 10, 128, 10 },
{ D_0900C1B0_3F8010, 0, 20, 128, 10 },
{ D_0900C1F8_3F8058, 0, 30, 128, 10 },
{ NULL, 0, 0, 0, 0 }
};
UnkStruct D_E010E838_c[] = {
{ D_0900C240_3F80A0, 128, 0, 104, 20 },
{ D_0900C328_3F8188, 128, 20, 104, 20 },
{ D_0900C370_3F81D0, 232, 0, 16, 40 },
{ NULL, 0, 0, 0, 0 }
};
#endif
UnkStruct D_E010E868[] = {
{ D_0900BE40_3F7CA0, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
@ -84,6 +101,34 @@ UnkStruct D_E010E868[] = {
{ NULL, 0, 0, 0, 0 }
};
#if VERSION_PAL
u32 pal_data[] = {
0x00000000,
0x00000000,
0x00000000,
0xE010E61C,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E60C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0x00000000,
};
#endif
void chapter_change_init(EffectInstance* effect);
void chapter_change_update(EffectInstance* effect);
void chapter_change_render(EffectInstance* effect);
@ -211,6 +256,9 @@ void chapter_change_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
}
#if VERSION_PAL
INCLUDE_ASM(void, "effects/chapter_change", chapter_change_appendGfx);
#else
void chapter_change_appendGfx(void* effect) {
ChapterChangeFXData* data = ((EffectInstance*)effect)->data.chapterChange;
s32 unk_2C = data->unk_2C;
@ -268,3 +316,4 @@ void chapter_change_appendGfx(void* effect) {
gDPPipeSync(gMainGfxPos++);
}
#endif

View File

@ -14,6 +14,8 @@ def get_version_date(version):
return "Map Ver.00/11/07 15:36"
elif version == "jp":
return "Map Ver.00/07/05 19:13"
elif version == "pal":
return "Map Ver.01/03/23 16:30"
else:
return "Map Ver.??/??/?? ??:??"

View File

@ -105,7 +105,7 @@ class N64SegPm_map_data(N64Segment):
w = png.Writer(150, 105, palette=parse_palette(bytes[:0x200]))
w.write_array(f, bytes[0x200:])
elif name == "title_data":
if "ver/us" in str(options.opts.target_path):
if "ver/us" in str(options.opts.target_path) or "ver/pal" in str(options.opts.target_path):
w = 200
h = 112
img = n64img.image.RGBA32(

View File

@ -0,0 +1,223 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
glabel func_E02000AC
/* 34E93C E02000AC 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 34E940 E02000B0 3C068080 */ lui $a2, (0x808080FF >> 16)
/* 34E944 E02000B4 34C680FF */ ori $a2, $a2, (0x808080FF & 0xFFFF)
/* 34E948 E02000B8 AFB50034 */ sw $s5, 0x34($sp)
/* 34E94C E02000BC 0000A82D */ daddu $s5, $zero, $zero
/* 34E950 E02000C0 3C028009 */ lui $v0, %hi(gMainGfxPos)
/* 34E954 E02000C4 24426A44 */ addiu $v0, $v0, %lo(gMainGfxPos)
/* 34E958 E02000C8 0040502D */ daddu $t2, $v0, $zero
/* 34E95C E02000CC 3C0EF510 */ lui $t6, (0xF5102800 >> 16)
/* 34E960 E02000D0 35CE2800 */ ori $t6, $t6, (0xF5102800 & 0xFFFF)
/* 34E964 E02000D4 AFBE0040 */ sw $fp, 0x40($sp)
/* 34E968 E02000D8 3C1E0701 */ lui $fp, (0x7018070 >> 16)
/* 34E96C E02000DC 37DE8070 */ ori $fp, $fp, (0x7018070 & 0xFFFF)
/* 34E970 E02000E0 AFB7003C */ sw $s7, 0x3C($sp)
/* 34E974 E02000E4 3C17E700 */ lui $s7, (0xE7000000 >> 16)
/* 34E978 E02000E8 00041080 */ sll $v0, $a0, 2
/* 34E97C E02000EC 30420FFF */ andi $v0, $v0, 0xFFF
/* 34E980 E02000F0 AFB3002C */ sw $s3, 0x2C($sp)
/* 34E984 E02000F4 00029B00 */ sll $s3, $v0, 12
/* 34E988 E02000F8 2482004F */ addiu $v0, $a0, 0x4F
/* 34E98C E02000FC 00021080 */ sll $v0, $v0, 2
/* 34E990 E0200100 30420FFF */ andi $v0, $v0, 0xFFF
/* 34E994 E0200104 00021300 */ sll $v0, $v0, 12
/* 34E998 E0200108 AFAE0000 */ sw $t6, 0x0($sp)
/* 34E99C E020010C 3C0EFD10 */ lui $t6, (0xFD10013F >> 16)
/* 34E9A0 E0200110 35CE013F */ ori $t6, $t6, (0xFD10013F & 0xFFFF)
/* 34E9A4 E0200114 AFB60038 */ sw $s6, 0x38($sp)
/* 34E9A8 E0200118 24960050 */ addiu $s6, $a0, 0x50
/* 34E9AC E020011C AFAE0008 */ sw $t6, 0x8($sp)
/* 34E9B0 E0200120 240E00A0 */ addiu $t6, $zero, 0xA0
/* 34E9B4 E0200124 00042540 */ sll $a0, $a0, 21
/* 34E9B8 E0200128 AFB20028 */ sw $s2, 0x28($sp)
/* 34E9BC E020012C 24120014 */ addiu $s2, $zero, 0x14
/* 34E9C0 E0200130 AFB10024 */ sw $s1, 0x24($sp)
/* 34E9C4 E0200134 02A0882D */ daddu $s1, $s5, $zero
/* 34E9C8 E0200138 AFB40030 */ sw $s4, 0x30($sp)
/* 34E9CC E020013C AFB00020 */ sw $s0, 0x20($sp)
/* 34E9D0 E0200140 AFA20004 */ sw $v0, 0x4($sp)
/* 34E9D4 E0200144 AFAE000C */ sw $t6, 0xC($sp)
/* 34E9D8 E0200148 AFA40010 */ sw $a0, 0x10($sp)
/* 34E9DC E020014C 8D420000 */ lw $v0, 0x0($t2)
/* 34E9E0 E0200150 00A0582D */ daddu $t3, $a1, $zero
/* 34E9E4 E0200154 0040182D */ daddu $v1, $v0, $zero
/* 34E9E8 E0200158 24420008 */ addiu $v0, $v0, 0x8
/* 34E9EC E020015C AD420000 */ sw $v0, 0x0($t2)
/* 34E9F0 E0200160 3C02FA00 */ lui $v0, (0xFA000000 >> 16)
/* 34E9F4 E0200164 AC620000 */ sw $v0, 0x0($v1)
/* 34E9F8 E0200168 AC660004 */ sw $a2, 0x4($v1)
.LPAL_E020016C:
/* 34E9FC E020016C 3C07FD10 */ lui $a3, (0xFD10004F >> 16)
/* 34EA00 E0200170 34E7004F */ ori $a3, $a3, (0xFD10004F & 0xFFFF)
/* 34EA04 E0200174 3C080713 */ lui $t0, (0x713C000 >> 16)
/* 34EA08 E0200178 3508C000 */ ori $t0, $t0, (0x713C000 & 0xFFFF)
/* 34EA0C E020017C 3C090001 */ lui $t1, (0x18070 >> 16)
/* 34EA10 E0200180 35298070 */ ori $t1, $t1, (0x18070 & 0xFFFF)
/* 34EA14 E0200184 3C03F510 */ lui $v1, (0xF5100100 >> 16)
/* 34EA18 E0200188 34630100 */ ori $v1, $v1, (0xF5100100 & 0xFFFF)
/* 34EA1C E020018C 000B3080 */ sll $a2, $t3, 2
/* 34EA20 E0200190 30C60FFF */ andi $a2, $a2, 0xFFF
/* 34EA24 E0200194 25650005 */ addiu $a1, $t3, 0x5
/* 34EA28 E0200198 00052880 */ sll $a1, $a1, 2
/* 34EA2C E020019C 30A50FFF */ andi $a1, $a1, 0xFFF
/* 34EA30 E02001A0 8FAE000C */ lw $t6, 0xC($sp)
/* 34EA34 E02001A4 02667825 */ or $t7, $s3, $a2
/* 34EA38 E02001A8 000E1180 */ sll $v0, $t6, 6
/* 34EA3C E02001AC 00436825 */ or $t5, $v0, $v1
/* 34EA40 E02001B0 3C0EF400 */ lui $t6, (0xF4000000 >> 16)
/* 34EA44 E02001B4 00CE1025 */ or $v0, $a2, $t6
/* 34EA48 E02001B8 0262A025 */ or $s4, $s3, $v0
/* 34EA4C E02001BC 26C3FFFF */ addiu $v1, $s6, -0x1
/* 34EA50 E02001C0 00031880 */ sll $v1, $v1, 2
/* 34EA54 E02001C4 30630FFF */ andi $v1, $v1, 0xFFF
/* 34EA58 E02001C8 00031B00 */ sll $v1, $v1, 12
/* 34EA5C E02001CC 3C020700 */ lui $v0, (0x7000000 >> 16)
/* 34EA60 E02001D0 00A21025 */ or $v0, $a1, $v0
/* 34EA64 E02001D4 00628025 */ or $s0, $v1, $v0
/* 34EA68 E02001D8 00161080 */ sll $v0, $s6, 2
/* 34EA6C E02001DC 30420FFF */ andi $v0, $v0, 0xFFF
/* 34EA70 E02001E0 0002CB00 */ sll $t9, $v0, 12
/* 34EA74 E02001E4 25620006 */ addiu $v0, $t3, 0x6
/* 34EA78 E02001E8 00021080 */ sll $v0, $v0, 2
/* 34EA7C E02001EC 30580FFF */ andi $t8, $v0, 0xFFF
/* 34EA80 E02001F0 8D430000 */ lw $v1, 0x0($t2)
/* 34EA84 E02001F4 3C0E8009 */ lui $t6, %hi(nuGfxCfb_ptr)
/* 34EA88 E02001F8 8DCE6A24 */ lw $t6, %lo(nuGfxCfb_ptr)($t6)
/* 34EA8C E02001FC 0060102D */ daddu $v0, $v1, $zero
/* 34EA90 E0200200 01C0202D */ daddu $a0, $t6, $zero
/* 34EA94 E0200204 24630008 */ addiu $v1, $v1, 0x8
/* 34EA98 E0200208 AFAE0018 */ sw $t6, 0x18($sp)
/* 34EA9C E020020C AD430000 */ sw $v1, 0x0($t2)
/* 34EAA0 E0200210 AC470000 */ sw $a3, 0x0($v0)
/* 34EAA4 E0200214 AC440004 */ sw $a0, 0x4($v0)
/* 34EAA8 E0200218 24620008 */ addiu $v0, $v1, 0x8
/* 34EAAC E020021C AD420000 */ sw $v0, 0x0($t2)
/* 34EAB0 E0200220 8FAE0000 */ lw $t6, 0x0($sp)
/* 34EAB4 E0200224 24620010 */ addiu $v0, $v1, 0x10
/* 34EAB8 E0200228 AC7E0004 */ sw $fp, 0x4($v1)
/* 34EABC E020022C AC6E0000 */ sw $t6, 0x0($v1)
/* 34EAC0 E0200230 3C0EE600 */ lui $t6, (0xE6000000 >> 16)
/* 34EAC4 E0200234 AD420000 */ sw $v0, 0x0($t2)
/* 34EAC8 E0200238 24620018 */ addiu $v0, $v1, 0x18
/* 34EACC E020023C AC6E0008 */ sw $t6, 0x8($v1)
/* 34EAD0 E0200240 AC60000C */ sw $zero, 0xC($v1)
/* 34EAD4 E0200244 AD420000 */ sw $v0, 0x0($t2)
/* 34EAD8 E0200248 32220FFF */ andi $v0, $s1, 0xFFF
/* 34EADC E020024C 3C0EF400 */ lui $t6, (0xF4000000 >> 16)
/* 34EAE0 E0200250 004E1025 */ or $v0, $v0, $t6
/* 34EAE4 E0200254 AC620010 */ sw $v0, 0x10($v1)
/* 34EAE8 E0200258 32420FFF */ andi $v0, $s2, 0xFFF
/* 34EAEC E020025C 00481025 */ or $v0, $v0, $t0
/* 34EAF0 E0200260 AC620014 */ sw $v0, 0x14($v1)
/* 34EAF4 E0200264 24620020 */ addiu $v0, $v1, 0x20
/* 34EAF8 E0200268 AD420000 */ sw $v0, 0x0($t2)
/* 34EAFC E020026C 24620028 */ addiu $v0, $v1, 0x28
/* 34EB00 E0200270 AC770018 */ sw $s7, 0x18($v1)
/* 34EB04 E0200274 AC60001C */ sw $zero, 0x1C($v1)
/* 34EB08 E0200278 AD420000 */ sw $v0, 0x0($t2)
/* 34EB0C E020027C 8FAE0000 */ lw $t6, 0x0($sp)
/* 34EB10 E0200280 24620030 */ addiu $v0, $v1, 0x30
/* 34EB14 E0200284 AC690024 */ sw $t1, 0x24($v1)
/* 34EB18 E0200288 AC6E0020 */ sw $t6, 0x20($v1)
/* 34EB1C E020028C AD420000 */ sw $v0, 0x0($t2)
/* 34EB20 E0200290 3C02F200 */ lui $v0, (0xF2000000 >> 16)
/* 34EB24 E0200294 00C23025 */ or $a2, $a2, $v0
/* 34EB28 E0200298 02663025 */ or $a2, $s3, $a2
/* 34EB2C E020029C AC660028 */ sw $a2, 0x28($v1)
/* 34EB30 E02002A0 8FAE0004 */ lw $t6, 0x4($sp)
/* 34EB34 E02002A4 0000602D */ daddu $t4, $zero, $zero
/* 34EB38 E02002A8 01C51025 */ or $v0, $t6, $a1
/* 34EB3C E02002AC AC62002C */ sw $v0, 0x2C($v1)
/* 34EB40 E02002B0 24620038 */ addiu $v0, $v1, 0x38
/* 34EB44 E02002B4 AD420000 */ sw $v0, 0x0($t2)
/* 34EB48 E02002B8 3C020100 */ lui $v0, (0x1000000 >> 16)
/* 34EB4C E02002BC 00A22825 */ or $a1, $a1, $v0
/* 34EB50 E02002C0 01C52825 */ or $a1, $t6, $a1
/* 34EB54 E02002C4 AC660030 */ sw $a2, 0x30($v1)
/* 34EB58 E02002C8 AC650034 */ sw $a1, 0x34($v1)
.LPAL_E02002CC:
/* 34EB5C E02002CC 3C040101 */ lui $a0, (0x1018070 >> 16)
/* 34EB60 E02002D0 34848070 */ ori $a0, $a0, (0x1018070 & 0xFFFF)
/* 34EB64 E02002D4 8D430000 */ lw $v1, 0x0($t2)
/* 34EB68 E02002D8 3C050400 */ lui $a1, (0x4000400 >> 16)
/* 34EB6C E02002DC 0060102D */ daddu $v0, $v1, $zero
/* 34EB70 E02002E0 24630008 */ addiu $v1, $v1, 0x8
/* 34EB74 E02002E4 AD430000 */ sw $v1, 0x0($t2)
/* 34EB78 E02002E8 8FAE0008 */ lw $t6, 0x8($sp)
/* 34EB7C E02002EC 34A50400 */ ori $a1, $a1, (0x4000400 & 0xFFFF)
/* 34EB80 E02002F0 AC4E0000 */ sw $t6, 0x0($v0)
/* 34EB84 E02002F4 8FAE0018 */ lw $t6, 0x18($sp)
/* 34EB88 E02002F8 258C0001 */ addiu $t4, $t4, 0x1
/* 34EB8C E02002FC AC4E0004 */ sw $t6, 0x4($v0)
/* 34EB90 E0200300 24620008 */ addiu $v0, $v1, 0x8
/* 34EB94 E0200304 AD420000 */ sw $v0, 0x0($t2)
/* 34EB98 E0200308 24620010 */ addiu $v0, $v1, 0x10
/* 34EB9C E020030C 3C0EE600 */ lui $t6, (0xE6000000 >> 16)
/* 34EBA0 E0200310 AC6D0000 */ sw $t5, 0x0($v1)
/* 34EBA4 E0200314 AC7E0004 */ sw $fp, 0x4($v1)
/* 34EBA8 E0200318 AD420000 */ sw $v0, 0x0($t2)
/* 34EBAC E020031C 24620018 */ addiu $v0, $v1, 0x18
/* 34EBB0 E0200320 AC6E0008 */ sw $t6, 0x8($v1)
/* 34EBB4 E0200324 AC60000C */ sw $zero, 0xC($v1)
/* 34EBB8 E0200328 AD420000 */ sw $v0, 0x0($t2)
/* 34EBBC E020032C 24620020 */ addiu $v0, $v1, 0x20
/* 34EBC0 E0200330 AC740010 */ sw $s4, 0x10($v1)
/* 34EBC4 E0200334 AC700014 */ sw $s0, 0x14($v1)
/* 34EBC8 E0200338 AD420000 */ sw $v0, 0x0($t2)
/* 34EBCC E020033C 24620028 */ addiu $v0, $v1, 0x28
/* 34EBD0 E0200340 AC770018 */ sw $s7, 0x18($v1)
/* 34EBD4 E0200344 AC60001C */ sw $zero, 0x1C($v1)
/* 34EBD8 E0200348 AD420000 */ sw $v0, 0x0($t2)
/* 34EBDC E020034C 24620030 */ addiu $v0, $v1, 0x30
/* 34EBE0 E0200350 AC6D0020 */ sw $t5, 0x20($v1)
/* 34EBE4 E0200354 AC640024 */ sw $a0, 0x24($v1)
/* 34EBE8 E0200358 AD420000 */ sw $v0, 0x0($t2)
/* 34EBEC E020035C 3C02E400 */ lui $v0, (0xE4000000 >> 16)
/* 34EBF0 E0200360 03021025 */ or $v0, $t8, $v0
/* 34EBF4 E0200364 03221025 */ or $v0, $t9, $v0
/* 34EBF8 E0200368 AC620028 */ sw $v0, 0x28($v1)
/* 34EBFC E020036C 24620038 */ addiu $v0, $v1, 0x38
/* 34EC00 E0200370 AC6F002C */ sw $t7, 0x2C($v1)
/* 34EC04 E0200374 AD420000 */ sw $v0, 0x0($t2)
/* 34EC08 E0200378 3C02E100 */ lui $v0, (0xE1000000 >> 16)
/* 34EC0C E020037C AC620030 */ sw $v0, 0x30($v1)
/* 34EC10 E0200380 000B1140 */ sll $v0, $t3, 5
/* 34EC14 E0200384 8FAE0010 */ lw $t6, 0x10($sp)
/* 34EC18 E0200388 3042FFFF */ andi $v0, $v0, 0xFFFF
/* 34EC1C E020038C 01C21025 */ or $v0, $t6, $v0
/* 34EC20 E0200390 AC620034 */ sw $v0, 0x34($v1)
/* 34EC24 E0200394 24620040 */ addiu $v0, $v1, 0x40
/* 34EC28 E0200398 AD420000 */ sw $v0, 0x0($t2)
/* 34EC2C E020039C 3C02F100 */ lui $v0, (0xF1000000 >> 16)
/* 34EC30 E02003A0 AC620038 */ sw $v0, 0x38($v1)
/* 34EC34 E02003A4 1980FFC9 */ blez $t4, .LPAL_E02002CC
/* 34EC38 E02003A8 AC65003C */ sw $a1, 0x3C($v1)
/* 34EC3C E02003AC 26520018 */ addiu $s2, $s2, 0x18
/* 34EC40 E02003B0 26310018 */ addiu $s1, $s1, 0x18
/* 34EC44 E02003B4 256B0006 */ addiu $t3, $t3, 0x6
/* 34EC48 E02003B8 8D420000 */ lw $v0, 0x0($t2)
/* 34EC4C E02003BC 26B50001 */ addiu $s5, $s5, 0x1
/* 34EC50 E02003C0 0040182D */ daddu $v1, $v0, $zero
/* 34EC54 E02003C4 24420008 */ addiu $v0, $v0, 0x8
/* 34EC58 E02003C8 AD420000 */ sw $v0, 0x0($t2)
/* 34EC5C E02003CC 2AA2000A */ slti $v0, $s5, 0xA
/* 34EC60 E02003D0 AC770000 */ sw $s7, 0x0($v1)
/* 34EC64 E02003D4 1440FF65 */ bnez $v0, .LPAL_E020016C
/* 34EC68 E02003D8 AC600004 */ sw $zero, 0x4($v1)
/* 34EC6C E02003DC 8FBE0040 */ lw $fp, 0x40($sp)
/* 34EC70 E02003E0 8FB7003C */ lw $s7, 0x3C($sp)
/* 34EC74 E02003E4 8FB60038 */ lw $s6, 0x38($sp)
/* 34EC78 E02003E8 8FB50034 */ lw $s5, 0x34($sp)
/* 34EC7C E02003EC 8FB40030 */ lw $s4, 0x30($sp)
/* 34EC80 E02003F0 8FB3002C */ lw $s3, 0x2C($sp)
/* 34EC84 E02003F4 8FB20028 */ lw $s2, 0x28($sp)
/* 34EC88 E02003F8 8FB10024 */ lw $s1, 0x24($sp)
/* 34EC8C E02003FC 8FB00020 */ lw $s0, 0x20($sp)
/* 34EC90 E0200400 03E00008 */ jr $ra
/* 34EC94 E0200404 27BD0048 */ addiu $sp, $sp, 0x48
/* 34EC98 E0200408 00000000 */ nop
/* 34EC9C E020040C 00000000 */ nop

View File

@ -0,0 +1,205 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel blast_appendGfx
/* 37D684 E007C1F4 27BDFEF0 */ addiu $sp, $sp, -0x110
/* 37D688 E007C1F8 0080302D */ daddu $a2, $a0, $zero
/* 37D68C E007C1FC 3C07DB06 */ lui $a3, 0xdb06
/* 37D690 E007C200 34E70024 */ ori $a3, $a3, 0x24
/* 37D694 E007C204 27A40018 */ addiu $a0, $sp, 0x18
/* 37D698 E007C208 AFB300E4 */ sw $s3, 0xe4($sp)
/* 37D69C E007C20C 3C130001 */ lui $s3, 1
/* 37D6A0 E007C210 AFB400E8 */ sw $s4, 0xe8($sp)
/* 37D6A4 E007C214 3C14800A */ lui $s4, %hi(gMainGfxPos)
/* 37D6A8 E007C218 2694A66C */ addiu $s4, $s4, %lo(gMainGfxPos)
/* 37D6AC E007C21C AFBF00F0 */ sw $ra, 0xf0($sp)
/* 37D6B0 E007C220 AFB500EC */ sw $s5, 0xec($sp)
/* 37D6B4 E007C224 AFB200E0 */ sw $s2, 0xe0($sp)
/* 37D6B8 E007C228 AFB100DC */ sw $s1, 0xdc($sp)
/* 37D6BC E007C22C AFB000D8 */ sw $s0, 0xd8($sp)
/* 37D6C0 E007C230 F7B80108 */ sdc1 $f24, 0x108($sp)
/* 37D6C4 E007C234 F7B60100 */ sdc1 $f22, 0x100($sp)
/* 37D6C8 E007C238 F7B400F8 */ sdc1 $f20, 0xf8($sp)
/* 37D6CC E007C23C 8E830000 */ lw $v1, ($s4)
/* 37D6D0 E007C240 8CD1000C */ lw $s1, 0xc($a2)
/* 37D6D4 E007C244 3C014380 */ lui $at, 0x4380
/* 37D6D8 E007C248 4481C000 */ mtc1 $at, $f24
/* 37D6DC E007C24C 0060282D */ daddu $a1, $v1, $zero
/* 37D6E0 E007C250 24630008 */ addiu $v1, $v1, 8
/* 37D6E4 E007C254 AE830000 */ sw $v1, ($s4)
/* 37D6E8 E007C258 C6220020 */ lwc1 $f2, 0x20($s1)
/* 37D6EC E007C25C 3C02E700 */ lui $v0, 0xe700
/* 37D6F0 E007C260 ACA20000 */ sw $v0, ($a1)
/* 37D6F4 E007C264 24620008 */ addiu $v0, $v1, 8
/* 37D6F8 E007C268 ACA00004 */ sw $zero, 4($a1)
/* 37D6FC E007C26C AE820000 */ sw $v0, ($s4)
/* 37D700 E007C270 24620010 */ addiu $v0, $v1, 0x10
/* 37D704 E007C274 AC670000 */ sw $a3, ($v1)
/* 37D708 E007C278 AE820000 */ sw $v0, ($s4)
/* 37D70C E007C27C 24620018 */ addiu $v0, $v1, 0x18
/* 37D710 E007C280 8CC50010 */ lw $a1, 0x10($a2)
/* 37D714 E007C284 3C06DE00 */ lui $a2, 0xde00
/* 37D718 E007C288 AE820000 */ sw $v0, ($s4)
/* 37D71C E007C28C 8CA5001C */ lw $a1, 0x1c($a1)
/* 37D720 E007C290 3C020900 */ lui $v0, %hi(D_09001300_37ECD0)
/* 37D724 E007C294 24421300 */ addiu $v0, $v0, %lo(D_09001300_37ECD0)
/* 37D728 E007C298 AC62000C */ sw $v0, 0xc($v1)
/* 37D72C E007C29C 3C028000 */ lui $v0, 0x8000
/* 37D730 E007C2A0 AC660008 */ sw $a2, 8($v1)
/* 37D734 E007C2A4 AC660010 */ sw $a2, 0x10($v1)
/* 37D738 E007C2A8 00A22821 */ addu $a1, $a1, $v0
/* 37D73C E007C2AC 4600110D */ trunc.w.s $f4, $f2
/* 37D740 E007C2B0 44022000 */ mfc1 $v0, $f4
/* 37D744 E007C2B4 00000000 */ nop
/* 37D748 E007C2B8 44820000 */ mtc1 $v0, $f0
/* 37D74C E007C2BC 00000000 */ nop
/* 37D750 E007C2C0 46800020 */ cvt.s.w $f0, $f0
/* 37D754 E007C2C4 00021080 */ sll $v0, $v0, 2
/* 37D758 E007C2C8 46001081 */ sub.s $f2, $f2, $f0
/* 37D75C E007C2CC AC650004 */ sw $a1, 4($v1)
/* 37D760 E007C2D0 3C01E008 */ lui $at, %hi(D_E007C510)
/* 37D764 E007C2D4 00220821 */ addu $at, $at, $v0
/* 37D768 E007C2D8 8C22C510 */ lw $v0, %lo(D_E007C510)($at)
/* 37D76C E007C2DC 46181082 */ mul.s $f2, $f2, $f24
/* 37D770 E007C2E0 00000000 */ nop
/* 37D774 E007C2E4 AC620014 */ sw $v0, 0x14($v1)
/* 37D778 E007C2E8 8E250004 */ lw $a1, 4($s1)
/* 37D77C E007C2EC 8E260008 */ lw $a2, 8($s1)
/* 37D780 E007C2F0 8E27000C */ lw $a3, 0xc($s1)
/* 37D784 E007C2F4 4600110D */ trunc.w.s $f4, $f2
/* 37D788 E007C2F8 44152000 */ mfc1 $s5, $f4
/* 37D78C E007C2FC 0C080108 */ jal shim_guTranslateF
/* 37D790 E007C300 36731630 */ ori $s3, $s3, 0x2230
/* 37D794 E007C304 27B00058 */ addiu $s0, $sp, 0x58
/* 37D798 E007C308 4480B000 */ mtc1 $zero, $f22
/* 37D79C E007C30C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 37D7A0 E007C310 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 37D7A4 E007C314 3C013F80 */ lui $at, 0x3f80
/* 37D7A8 E007C318 4481A000 */ mtc1 $at, $f20
/* 37D7AC E007C31C 00031080 */ sll $v0, $v1, 2
/* 37D7B0 E007C320 00431021 */ addu $v0, $v0, $v1
/* 37D7B4 E007C324 00021080 */ sll $v0, $v0, 2
/* 37D7B8 E007C328 00431023 */ subu $v0, $v0, $v1
/* 37D7BC E007C32C 000218C0 */ sll $v1, $v0, 3
/* 37D7C0 E007C330 00431021 */ addu $v0, $v0, $v1
/* 37D7C4 E007C334 000210C0 */ sll $v0, $v0, 3
/* 37D7C8 E007C338 4406B000 */ mfc1 $a2, $f22
/* 37D7CC E007C33C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 37D7D0 E007C340 00220821 */ addu $at, $at, $v0
/* 37D7D4 E007C344 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 37D7D8 E007C348 4407A000 */ mfc1 $a3, $f20
/* 37D7DC E007C34C 46000007 */ neg.s $f0, $f0
/* 37D7E0 E007C350 44050000 */ mfc1 $a1, $f0
/* 37D7E4 E007C354 0200202D */ daddu $a0, $s0, $zero
/* 37D7E8 E007C358 0C080104 */ jal shim_guRotateF
/* 37D7EC E007C35C E7B60010 */ swc1 $f22, 0x10($sp)
/* 37D7F0 E007C360 0200202D */ daddu $a0, $s0, $zero
/* 37D7F4 E007C364 27A50018 */ addiu $a1, $sp, 0x18
/* 37D7F8 E007C368 27B00098 */ addiu $s0, $sp, 0x98
/* 37D7FC E007C36C 0C080114 */ jal shim_guMtxCatF
/* 37D800 E007C370 0200302D */ daddu $a2, $s0, $zero
/* 37D804 E007C374 27A40018 */ addiu $a0, $sp, 0x18
/* 37D808 E007C378 8E250010 */ lw $a1, 0x10($s1)
/* 37D80C E007C37C 4407A000 */ mfc1 $a3, $f20
/* 37D810 E007C380 0C080110 */ jal shim_guScaleF
/* 37D814 E007C384 00A0302D */ daddu $a2, $a1, $zero
/* 37D818 E007C388 27A40018 */ addiu $a0, $sp, 0x18
/* 37D81C E007C38C 0200282D */ daddu $a1, $s0, $zero
/* 37D820 E007C390 0C080114 */ jal shim_guMtxCatF
/* 37D824 E007C394 0200302D */ daddu $a2, $s0, $zero
/* 37D828 E007C398 4406B000 */ mfc1 $a2, $f22
/* 37D82C E007C39C 27A40018 */ addiu $a0, $sp, 0x18
/* 37D830 E007C3A0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 37D834 E007C3A4 8E250024 */ lw $a1, 0x24($s1)
/* 37D838 E007C3A8 0C080104 */ jal shim_guRotateF
/* 37D83C E007C3AC 00C0382D */ daddu $a3, $a2, $zero
/* 37D840 E007C3B0 27A40018 */ addiu $a0, $sp, 0x18
/* 37D844 E007C3B4 0200282D */ daddu $a1, $s0, $zero
/* 37D848 E007C3B8 0C080114 */ jal shim_guMtxCatF
/* 37D84C E007C3BC 0200302D */ daddu $a2, $s0, $zero
/* 37D850 E007C3C0 0200202D */ daddu $a0, $s0, $zero
/* 37D854 E007C3C4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 37D858 E007C3C8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 37D85C E007C3CC 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 37D860 E007C3D0 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 37D864 E007C3D4 96050000 */ lhu $a1, ($s0)
/* 37D868 E007C3D8 8E420000 */ lw $v0, ($s2)
/* 37D86C E007C3DC 00052980 */ sll $a1, $a1, 6
/* 37D870 E007C3E0 00B32821 */ addu $a1, $a1, $s3
/* 37D874 E007C3E4 0C080118 */ jal shim_guMtxF2L
/* 37D878 E007C3E8 00452821 */ addu $a1, $v0, $a1
/* 37D87C E007C3EC 8E850000 */ lw $a1, ($s4)
/* 37D880 E007C3F0 3C014080 */ lui $at, 0x4080
/* 37D884 E007C3F4 44810000 */ mtc1 $at, $f0
/* 37D888 E007C3F8 00A0202D */ daddu $a0, $a1, $zero
/* 37D88C E007C3FC 24A50008 */ addiu $a1, $a1, 8
/* 37D890 E007C400 AE850000 */ sw $a1, ($s4)
/* 37D894 E007C404 96020000 */ lhu $v0, ($s0)
/* 37D898 E007C408 3C03DA38 */ lui $v1, 0xda38
/* 37D89C E007C40C AC830000 */ sw $v1, ($a0)
/* 37D8A0 E007C410 24430001 */ addiu $v1, $v0, 1
/* 37D8A4 E007C414 3042FFFF */ andi $v0, $v0, 0xffff
/* 37D8A8 E007C418 00021180 */ sll $v0, $v0, 6
/* 37D8AC E007C41C A6030000 */ sh $v1, ($s0)
/* 37D8B0 E007C420 8E430000 */ lw $v1, ($s2)
/* 37D8B4 E007C424 00531021 */ addu $v0, $v0, $s3
/* 37D8B8 E007C428 00621821 */ addu $v1, $v1, $v0
/* 37D8BC E007C42C AC830004 */ sw $v1, 4($a0)
/* 37D8C0 E007C430 C6220020 */ lwc1 $f2, 0x20($s1)
/* 37D8C4 E007C434 4602003C */ c.lt.s $f0, $f2
/* 37D8C8 E007C438 00000000 */ nop
/* 37D8CC E007C43C 45000006 */ bc1f .LE007C458
/* 37D8D0 E007C440 24A20008 */ addiu $v0, $a1, 8
/* 37D8D4 E007C444 AE820000 */ sw $v0, ($s4)
/* 37D8D8 E007C448 3C02FA00 */ lui $v0, 0xfa00
/* 37D8DC E007C44C ACA20000 */ sw $v0, ($a1)
/* 37D8E0 E007C450 0801F11A */ j .LE007C468
/* 37D8E4 E007C454 2402FF7F */ addiu $v0, $zero, -0x81
.LE007C458:
/* 37D8E8 E007C458 AE820000 */ sw $v0, ($s4)
/* 37D8EC E007C45C 3C02FA00 */ lui $v0, 0xfa00
/* 37D8F0 E007C460 ACA20000 */ sw $v0, ($a1)
/* 37D8F4 E007C464 2402807F */ addiu $v0, $zero, -0x7f81
.LE007C468:
/* 37D8F8 E007C468 ACA20004 */ sw $v0, 4($a1)
/* 37D8FC E007C46C 3C07D838 */ lui $a3, 0xd838
/* 37D900 E007C470 3C05800A */ lui $a1, %hi(gMainGfxPos)
/* 37D904 E007C474 24A5A66C */ addiu $a1, $a1, %lo(gMainGfxPos)
/* 37D908 E007C478 34E70002 */ ori $a3, $a3, 2
/* 37D90C E007C47C 3C02FB00 */ lui $v0, 0xfb00
/* 37D910 E007C480 8CA40000 */ lw $a0, ($a1)
/* 37D914 E007C484 24038B00 */ addiu $v1, $zero, -0x7500
/* 37D918 E007C488 0080302D */ daddu $a2, $a0, $zero
/* 37D91C E007C48C 24840008 */ addiu $a0, $a0, 8
/* 37D920 E007C490 ACA40000 */ sw $a0, ($a1)
/* 37D924 E007C494 ACC20000 */ sw $v0, ($a2)
/* 37D928 E007C498 32A200FF */ andi $v0, $s5, 0xff
/* 37D92C E007C49C 00431025 */ or $v0, $v0, $v1
/* 37D930 E007C4A0 ACC20004 */ sw $v0, 4($a2)
/* 37D934 E007C4A4 24820008 */ addiu $v0, $a0, 8
/* 37D938 E007C4A8 ACA20000 */ sw $v0, ($a1)
/* 37D93C E007C4AC 3C02DE00 */ lui $v0, 0xde00
/* 37D940 E007C4B0 AC820000 */ sw $v0, ($a0)
/* 37D944 E007C4B4 3C020900 */ lui $v0, %hi(D_090017B0_37F180)
/* 37D948 E007C4B8 244217B0 */ addiu $v0, $v0, %lo(D_090017B0_37F180)
/* 37D94C E007C4BC AC820004 */ sw $v0, 4($a0)
/* 37D950 E007C4C0 24820010 */ addiu $v0, $a0, 0x10
/* 37D954 E007C4C4 ACA20000 */ sw $v0, ($a1)
/* 37D958 E007C4C8 24020040 */ addiu $v0, $zero, 0x40
/* 37D95C E007C4CC AC870008 */ sw $a3, 8($a0)
/* 37D960 E007C4D0 AC82000C */ sw $v0, 0xc($a0)
/* 37D964 E007C4D4 8FBF00F0 */ lw $ra, 0xf0($sp)
/* 37D968 E007C4D8 8FB500EC */ lw $s5, 0xec($sp)
/* 37D96C E007C4DC 8FB400E8 */ lw $s4, 0xe8($sp)
/* 37D970 E007C4E0 8FB300E4 */ lw $s3, 0xe4($sp)
/* 37D974 E007C4E4 8FB200E0 */ lw $s2, 0xe0($sp)
/* 37D978 E007C4E8 8FB100DC */ lw $s1, 0xdc($sp)
/* 37D97C E007C4EC 8FB000D8 */ lw $s0, 0xd8($sp)
/* 37D980 E007C4F0 D7B80108 */ ldc1 $f24, 0x108($sp)
/* 37D984 E007C4F4 D7B60100 */ ldc1 $f22, 0x100($sp)
/* 37D988 E007C4F8 D7B400F8 */ ldc1 $f20, 0xf8($sp)
/* 37D98C E007C4FC 03E00008 */ jr $ra
/* 37D990 E007C500 27BD0110 */ addiu $sp, $sp, 0x110
/* 37D994 E007C504 00000000 */ nop
/* 37D998 E007C508 00000000 */ nop
/* 37D99C E007C50C 00000000 */ nop

View File

@ -0,0 +1,145 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel chapter_change_appendGfx
/* 419418 E010E558 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 41941C E010E55C 3C07DB06 */ lui $a3, (0xDB060024 >> 16)
/* 419420 E010E560 3C068009 */ lui $a2, %hi(gMainGfxPos)
/* 419424 E010E564 24C66A44 */ addiu $a2, $a2, %lo(gMainGfxPos)
/* 419428 E010E568 34E70024 */ ori $a3, $a3, (0xDB060024 & 0xFFFF)
/* 41942C E010E56C AFBF0024 */ sw $ra, 0x24($sp)
/* 419430 E010E570 AFB20020 */ sw $s2, 0x20($sp)
/* 419434 E010E574 AFB1001C */ sw $s1, 0x1C($sp)
/* 419438 E010E578 AFB00018 */ sw $s0, 0x18($sp)
/* 41943C E010E57C 8CC50000 */ lw $a1, 0x0($a2)
/* 419440 E010E580 8C90000C */ lw $s0, 0xC($a0)
/* 419444 E010E584 00A0182D */ daddu $v1, $a1, $zero
/* 419448 E010E588 24A50008 */ addiu $a1, $a1, 0x8
/* 41944C E010E58C ACC50000 */ sw $a1, 0x0($a2)
/* 419450 E010E590 8E0B002C */ lw $t3, 0x2C($s0)
/* 419454 E010E594 8E080000 */ lw $t0, 0x0($s0)
/* 419458 E010E598 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* 41945C E010E59C AC620000 */ sw $v0, 0x0($v1)
/* 419460 E010E5A0 AC600004 */ sw $zero, 0x4($v1)
/* 419464 E010E5A4 ACA70000 */ sw $a3, 0x0($a1)
/* 419468 E010E5A8 8C830010 */ lw $v1, 0x10($a0)
/* 41946C E010E5AC 24A20008 */ addiu $v0, $a1, 0x8
/* 419470 E010E5B0 ACC20000 */ sw $v0, 0x0($a2)
/* 419474 E010E5B4 8C62001C */ lw $v0, 0x1C($v1)
/* 419478 E010E5B8 3C038000 */ lui $v1, (0x80000000 >> 16)
/* 41947C E010E5BC 00431021 */ addu $v0, $v0, $v1
/* 419480 E010E5C0 ACA20004 */ sw $v0, 0x4($a1)
/* 419484 E010E5C4 2D020013 */ sltiu $v0, $t0, 0x13
/* 419488 E010E5C8 10400025 */ beqz $v0, .LPAL_E010E660
/* 41948C E010E5CC 00081080 */ sll $v0, $t0, 2
/* 419490 E010E5D0 3C01E011 */ lui $at, (0xE0110000 >> 16)
/* 419494 E010E5D4 00220821 */ addu $at, $at, $v0
/* 419498 E010E5D8 8C22E9C0 */ lw $v0, -0x1640($at)
/* 41949C E010E5DC 00400008 */ jr $v0
/* 4194A0 E010E5E0 00000000 */ nop
/* 4194A4 E010E5E4 3C06E011 */ lui $a2, %hi(D_E010E7FC)
/* 4194A8 E010E5E8 24C6E81C */ addiu $a2, $a2, %lo(D_E010E7FC)
/* 4194AC E010E5EC 3C04E011 */ lui $a0, %hi(D_E010E868)
/* 4194B0 E010E5F0 2484E8F4 */ addiu $a0, $a0, %lo(D_E010E868)
/* 4194B4 E010E5F4 2503FFFF */ addiu $v1, $t0, -0x1
/* 4194B8 E010E5F8 00031040 */ sll $v0, $v1, 1
/* 4194BC E010E5FC 00431021 */ addu $v0, $v0, $v1
/* 4194C0 E010E600 000210C0 */ sll $v0, $v0, 3
/* 4194C4 E010E604 0804399A */ j .LPAL_E010E668
/* 4194C8 E010E608 00448821 */ addu $s1, $v0, $a0
/* 4194CC E010E60C 3C06E011 */ lui $a2, %hi(D_E010E7D8)
/* 4194D0 E010E610 24C6E7F8 */ addiu $a2, $a2, %lo(D_E010E7D8)
/* 4194D4 E010E614 0804399A */ j .LPAL_E010E668
/* 4194D8 E010E618 0000882D */ daddu $s1, $zero, $zero
/* 4194DC E010E61C 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 4194E0 E010E620 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 4194E4 E010E624 24020001 */ addiu $v0, $zero, 0x1
/* 4194E8 E010E628 14620007 */ bne $v1, $v0, .LPAL_E010E648
/* 4194EC E010E62C 0200202D */ daddu $a0, $s0, $zero
/* 4194F0 E010E630 3C06E011 */ lui $a2, %hi(D_E010E838_b)
/* 4194F4 E010E634 24C6E888 */ addiu $a2, $a2, %lo(D_E010E838_b)
/* 4194F8 E010E638 3C11E011 */ lui $s1, %hi(D_E010E838_c)
/* 4194FC E010E63C 2631E8C4 */ addiu $s1, $s1, %lo(D_E010E838_c)
/* 419500 E010E640 0804399C */ j .LPAL_E010E670
/* 419504 E010E644 0000282D */ daddu $a1, $zero, $zero
.LPAL_E010E648:
/* 419508 E010E648 3C06E011 */ lui $a2, %hi(D_E010E79C)
/* 41950C E010E64C 24C6E7BC */ addiu $a2, $a2, %lo(D_E010E79C)
/* 419510 E010E650 3C11E011 */ lui $s1, %hi(D_E010E838)
/* 419514 E010E654 2631E858 */ addiu $s1, $s1, %lo(D_E010E838)
/* 419518 E010E658 0804399C */ j .LPAL_E010E670
/* 41951C E010E65C 0000282D */ daddu $a1, $zero, $zero
.LPAL_E010E660:
/* 419520 E010E660 0000882D */ daddu $s1, $zero, $zero
/* 419524 E010E664 0220302D */ daddu $a2, $s1, $zero
.LPAL_E010E668:
/* 419528 E010E668 0200202D */ daddu $a0, $s0, $zero
/* 41952C E010E66C 0000282D */ daddu $a1, $zero, $zero
.LPAL_E010E670:
/* 419530 E010E670 3C128009 */ lui $s2, %hi(gMainGfxPos)
/* 419534 E010E674 26526A44 */ addiu $s2, $s2, %lo(gMainGfxPos)
/* 419538 E010E678 8E490000 */ lw $t1, 0x0($s2)
/* 41953C E010E67C 3C02FA00 */ lui $v0, (0xFA000000 >> 16)
/* 419540 E010E680 0120502D */ daddu $t2, $t1, $zero
/* 419544 E010E684 25290008 */ addiu $t1, $t1, 0x8
/* 419548 E010E688 AE490000 */ sw $t1, 0x0($s2)
/* 41954C E010E68C AD420000 */ sw $v0, 0x0($t2)
/* 419550 E010E690 92020023 */ lbu $v0, 0x23($s0)
/* 419554 E010E694 92070027 */ lbu $a3, 0x27($s0)
/* 419558 E010E698 9208002B */ lbu $t0, 0x2B($s0)
/* 41955C E010E69C 25230008 */ addiu $v1, $t1, 0x8
/* 419560 E010E6A0 AE430000 */ sw $v1, 0x0($s2)
/* 419564 E010E6A4 316300FF */ andi $v1, $t3, 0xFF
/* 419568 E010E6A8 00021600 */ sll $v0, $v0, 24
/* 41956C E010E6AC 00073C00 */ sll $a3, $a3, 16
/* 419570 E010E6B0 00471025 */ or $v0, $v0, $a3
/* 419574 E010E6B4 00084200 */ sll $t0, $t0, 8
/* 419578 E010E6B8 00481025 */ or $v0, $v0, $t0
/* 41957C E010E6BC 00431025 */ or $v0, $v0, $v1
/* 419580 E010E6C0 AD420004 */ sw $v0, 0x4($t2)
/* 419584 E010E6C4 3C02FB00 */ lui $v0, (0xFB000000 >> 16)
/* 419588 E010E6C8 AD220000 */ sw $v0, 0x0($t1)
/* 41958C E010E6CC 92020033 */ lbu $v0, 0x33($s0)
/* 419590 E010E6D0 92030037 */ lbu $v1, 0x37($s0)
/* 419594 E010E6D4 9207003B */ lbu $a3, 0x3B($s0)
/* 419598 E010E6D8 00021600 */ sll $v0, $v0, 24
/* 41959C E010E6DC 00031C00 */ sll $v1, $v1, 16
/* 4195A0 E010E6E0 00431025 */ or $v0, $v0, $v1
/* 4195A4 E010E6E4 00073A00 */ sll $a3, $a3, 8
/* 4195A8 E010E6E8 9203003F */ lbu $v1, 0x3F($s0)
/* 4195AC E010E6EC 00471025 */ or $v0, $v0, $a3
/* 4195B0 E010E6F0 00431025 */ or $v0, $v0, $v1
/* 4195B4 E010E6F4 0C043800 */ jal func_E010E000
/* 4195B8 E010E6F8 AD220004 */ sw $v0, 0x4($t1)
/* 4195BC E010E6FC 0200202D */ daddu $a0, $s0, $zero
/* 4195C0 E010E700 24050001 */ addiu $a1, $zero, 0x1
/* 4195C4 E010E704 0C043800 */ jal func_E010E000
/* 4195C8 E010E708 0220302D */ daddu $a2, $s1, $zero
/* 4195CC E010E70C 8E020054 */ lw $v0, 0x54($s0)
/* 4195D0 E010E710 0440000A */ bltz $v0, .LPAL_E010E73C
/* 4195D4 E010E714 24020015 */ addiu $v0, $zero, 0x15
/* 4195D8 E010E718 8E030040 */ lw $v1, 0x40($s0)
/* 4195DC E010E71C 8E050048 */ lw $a1, 0x48($s0)
/* 4195E0 E010E720 240700FF */ addiu $a3, $zero, 0xFF
/* 4195E4 E010E724 AFA20010 */ sw $v0, 0x10($sp)
/* 4195E8 E010E728 AFA00014 */ sw $zero, 0x14($sp)
/* 4195EC E010E72C 8E040054 */ lw $a0, 0x54($s0)
/* 4195F0 E010E730 8E060044 */ lw $a2, 0x44($s0)
/* 4195F4 E010E734 0C080194 */ jal shim_draw_msg
/* 4195F8 E010E738 00652823 */ subu $a1, $v1, $a1
.LPAL_E010E73C:
/* 4195FC E010E73C 8E420000 */ lw $v0, 0x0($s2)
/* 419600 E010E740 0040182D */ daddu $v1, $v0, $zero
/* 419604 E010E744 24420008 */ addiu $v0, $v0, 0x8
/* 419608 E010E748 AE420000 */ sw $v0, 0x0($s2)
/* 41960C E010E74C 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* 419610 E010E750 AC620000 */ sw $v0, 0x0($v1)
/* 419614 E010E754 AC600004 */ sw $zero, 0x4($v1)
/* 419618 E010E758 8FBF0024 */ lw $ra, 0x24($sp)
/* 41961C E010E75C 8FB20020 */ lw $s2, 0x20($sp)
/* 419620 E010E760 8FB1001C */ lw $s1, 0x1C($sp)
/* 419624 E010E764 8FB00018 */ lw $s0, 0x18($sp)
/* 419628 E010E768 03E00008 */ jr $ra
/* 41962C E010E76C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,544 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00CACC0
.double 0.8
dlabel D_E00CACC8
.double 255.0
dlabel D_E00CACD0
.double 0.4
dlabel D_E00CACD8
.double 255.0
.section .text
glabel fx_65_appendGfx
/* 3D09CC E00CA4CC 27BDFF38 */ addiu $sp, $sp, -0xc8
/* 3D09D0 E00CA4D0 0080482D */ daddu $t1, $a0, $zero
/* 3D09D4 E00CA4D4 3C0ADB06 */ lui $t2, 0xdb06
/* 3D09D8 E00CA4D8 354A0024 */ ori $t2, $t2, 0x24
/* 3D09DC E00CA4DC 27A40010 */ addiu $a0, $sp, 0x10
/* 3D09E0 E00CA4E0 AFB20078 */ sw $s2, 0x78($sp)
/* 3D09E4 E00CA4E4 3C120001 */ lui $s2, 1
/* 3D09E8 E00CA4E8 44800000 */ mtc1 $zero, $f0
/* 3D09EC E00CA4EC 36521630 */ ori $s2, $s2, 0x2230
/* 3D09F0 E00CA4F0 AFB3007C */ sw $s3, 0x7c($sp)
/* 3D09F4 E00CA4F4 3C13800A */ lui $s3, %hi(gMainGfxPos)
/* 3D09F8 E00CA4F8 2673A66C */ addiu $s3, $s3, %lo(gMainGfxPos)
/* 3D09FC E00CA4FC AFBF0094 */ sw $ra, 0x94($sp)
/* 3D0A00 E00CA500 AFBE0090 */ sw $fp, 0x90($sp)
/* 3D0A04 E00CA504 AFB7008C */ sw $s7, 0x8c($sp)
/* 3D0A08 E00CA508 AFB60088 */ sw $s6, 0x88($sp)
/* 3D0A0C E00CA50C AFB50084 */ sw $s5, 0x84($sp)
/* 3D0A10 E00CA510 AFB40080 */ sw $s4, 0x80($sp)
/* 3D0A14 E00CA514 AFB10074 */ sw $s1, 0x74($sp)
/* 3D0A18 E00CA518 AFB00070 */ sw $s0, 0x70($sp)
/* 3D0A1C E00CA51C F7BE00C0 */ sdc1 $f30, 0xc0($sp)
/* 3D0A20 E00CA520 F7BC00B8 */ sdc1 $f28, 0xb8($sp)
/* 3D0A24 E00CA524 F7BA00B0 */ sdc1 $f26, 0xb0($sp)
/* 3D0A28 E00CA528 F7B800A8 */ sdc1 $f24, 0xa8($sp)
/* 3D0A2C E00CA52C F7B600A0 */ sdc1 $f22, 0xa0($sp)
/* 3D0A30 E00CA530 F7B40098 */ sdc1 $f20, 0x98($sp)
/* 3D0A34 E00CA534 8E680000 */ lw $t0, ($s3)
/* 3D0A38 E00CA538 8D36000C */ lw $s6, 0xc($t1)
/* 3D0A3C E00CA53C 0100182D */ daddu $v1, $t0, $zero
/* 3D0A40 E00CA540 44050000 */ mfc1 $a1, $f0
/* 3D0A44 E00CA544 25080008 */ addiu $t0, $t0, 8
/* 3D0A48 E00CA548 AE680000 */ sw $t0, ($s3)
/* 3D0A4C E00CA54C 8ECB0014 */ lw $t3, 0x14($s6)
/* 3D0A50 E00CA550 3C02E700 */ lui $v0, 0xe700
/* 3D0A54 E00CA554 AFAB0050 */ sw $t3, 0x50($sp)
/* 3D0A58 E00CA558 8ED50024 */ lw $s5, 0x24($s6)
/* 3D0A5C E00CA55C 8ECB0000 */ lw $t3, ($s6)
/* 3D0A60 E00CA560 00A0302D */ daddu $a2, $a1, $zero
/* 3D0A64 E00CA564 AFAB0054 */ sw $t3, 0x54($sp)
/* 3D0A68 E00CA568 C6C60034 */ lwc1 $f6, 0x34($s6)
/* 3D0A6C E00CA56C 00A0382D */ daddu $a3, $a1, $zero
/* 3D0A70 E00CA570 E7A60058 */ swc1 $f6, 0x58($sp)
/* 3D0A74 E00CA574 AC620000 */ sw $v0, ($v1)
/* 3D0A78 E00CA578 AC600004 */ sw $zero, 4($v1)
/* 3D0A7C E00CA57C AD0A0000 */ sw $t2, ($t0)
/* 3D0A80 E00CA580 8D230010 */ lw $v1, 0x10($t1)
/* 3D0A84 E00CA584 25020008 */ addiu $v0, $t0, 8
/* 3D0A88 E00CA588 AE620000 */ sw $v0, ($s3)
/* 3D0A8C E00CA58C 8C62001C */ lw $v0, 0x1c($v1)
/* 3D0A90 E00CA590 3C038000 */ lui $v1, 0x8000
/* 3D0A94 E00CA594 00431021 */ addu $v0, $v0, $v1
/* 3D0A98 E00CA598 0C080108 */ jal shim_guTranslateF
/* 3D0A9C E00CA59C AD020004 */ sw $v0, 4($t0)
/* 3D0AA0 E00CA5A0 27A40010 */ addiu $a0, $sp, 0x10
/* 3D0AA4 E00CA5A4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3D0AA8 E00CA5A8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3D0AAC E00CA5AC 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 3D0AB0 E00CA5B0 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 3D0AB4 E00CA5B4 96050000 */ lhu $a1, ($s0)
/* 3D0AB8 E00CA5B8 8E220000 */ lw $v0, ($s1)
/* 3D0ABC E00CA5BC 00052980 */ sll $a1, $a1, 6
/* 3D0AC0 E00CA5C0 00B22821 */ addu $a1, $a1, $s2
/* 3D0AC4 E00CA5C4 0C080118 */ jal shim_guMtxF2L
/* 3D0AC8 E00CA5C8 00452821 */ addu $a1, $v0, $a1
/* 3D0ACC E00CA5CC 3C03DA38 */ lui $v1, 0xda38
/* 3D0AD0 E00CA5D0 34630002 */ ori $v1, $v1, 2
/* 3D0AD4 E00CA5D4 8E650000 */ lw $a1, ($s3)
/* 3D0AD8 E00CA5D8 96020000 */ lhu $v0, ($s0)
/* 3D0ADC E00CA5DC 00A0202D */ daddu $a0, $a1, $zero
/* 3D0AE0 E00CA5E0 24A50008 */ addiu $a1, $a1, 8
/* 3D0AE4 E00CA5E4 AE650000 */ sw $a1, ($s3)
/* 3D0AE8 E00CA5E8 AC830000 */ sw $v1, ($a0)
/* 3D0AEC E00CA5EC 24430001 */ addiu $v1, $v0, 1
/* 3D0AF0 E00CA5F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D0AF4 E00CA5F4 00021180 */ sll $v0, $v0, 6
/* 3D0AF8 E00CA5F8 A6030000 */ sh $v1, ($s0)
/* 3D0AFC E00CA5FC 8E230000 */ lw $v1, ($s1)
/* 3D0B00 E00CA600 00521021 */ addu $v0, $v0, $s2
/* 3D0B04 E00CA604 00621821 */ addu $v1, $v1, $v0
/* 3D0B08 E00CA608 3C02DE00 */ lui $v0, 0xde00
/* 3D0B0C E00CA60C AC830004 */ sw $v1, 4($a0)
/* 3D0B10 E00CA610 ACA20000 */ sw $v0, ($a1)
/* 3D0B14 E00CA614 8FAB0054 */ lw $t3, 0x54($sp)
/* 3D0B18 E00CA618 000B1080 */ sll $v0, $t3, 2
/* 3D0B1C E00CA61C 3C03E00D */ lui $v1, %hi(D_E00CACB0)
/* 3D0B20 E00CA620 00621821 */ addu $v1, $v1, $v0
/* 3D0B24 E00CA624 8C63ACB0 */ lw $v1, %lo(D_E00CACB0)($v1)
/* 3D0B28 E00CA628 24A20008 */ addiu $v0, $a1, 8
/* 3D0B2C E00CA62C AE620000 */ sw $v0, ($s3)
/* 3D0B30 E00CA630 29620002 */ slti $v0, $t3, 2
/* 3D0B34 E00CA634 14400009 */ bnez $v0, .LE00CA65C
/* 3D0B38 E00CA638 ACA30004 */ sw $v1, 4($a1)
/* 3D0B3C E00CA63C 3C04FC40 */ lui $a0, 0xfc40
/* 3D0B40 E00CA640 348499FF */ ori $a0, $a0, 0x99ff
/* 3D0B44 E00CA644 3C035F0E */ lui $v1, 0x5f0e
/* 3D0B48 E00CA648 3463FE3F */ ori $v1, $v1, 0xfe3f
/* 3D0B4C E00CA64C 24A20010 */ addiu $v0, $a1, 0x10
/* 3D0B50 E00CA650 AE620000 */ sw $v0, ($s3)
/* 3D0B54 E00CA654 ACA40008 */ sw $a0, 8($a1)
/* 3D0B58 E00CA658 ACA3000C */ sw $v1, 0xc($a1)
.LE00CA65C:
/* 3D0B5C E00CA65C 240BFFFF */ addiu $t3, $zero, -1
/* 3D0B60 E00CA660 0000F02D */ daddu $fp, $zero, $zero
/* 3D0B64 E00CA664 03C0A02D */ daddu $s4, $fp, $zero
/* 3D0B68 E00CA668 3C088888 */ lui $t0, 0x8888
/* 3D0B6C E00CA66C AFAB0060 */ sw $t3, 0x60($sp)
/* 3D0B70 E00CA670 8FAB0050 */ lw $t3, 0x50($sp)
/* 3D0B74 E00CA674 35088889 */ ori $t0, $t0, 0x8889
/* 3D0B78 E00CA678 3162003F */ andi $v0, $t3, 0x3f
/* 3D0B7C E00CA67C 00021140 */ sll $v0, $v0, 5
/* 3D0B80 E00CA680 AFA20064 */ sw $v0, 0x64($sp)
/* 3D0B84 E00CA684 8E660000 */ lw $a2, ($s3)
/* 3D0B88 E00CA688 3C02FA00 */ lui $v0, 0xfa00
/* 3D0B8C E00CA68C 00C0382D */ daddu $a3, $a2, $zero
/* 3D0B90 E00CA690 24C60008 */ addiu $a2, $a2, 8
/* 3D0B94 E00CA694 24CB0010 */ addiu $t3, $a2, 0x10
/* 3D0B98 E00CA698 AFAB005C */ sw $t3, 0x5c($sp)
/* 3D0B9C E00CA69C AE660000 */ sw $a2, ($s3)
/* 3D0BA0 E00CA6A0 ACE20000 */ sw $v0, ($a3)
/* 3D0BA4 E00CA6A4 92C2001B */ lbu $v0, 0x1b($s6)
/* 3D0BA8 E00CA6A8 92C4001F */ lbu $a0, 0x1f($s6)
/* 3D0BAC E00CA6AC 92C50023 */ lbu $a1, 0x23($s6)
/* 3D0BB0 E00CA6B0 24C30008 */ addiu $v1, $a2, 8
/* 3D0BB4 E00CA6B4 AE630000 */ sw $v1, ($s3)
/* 3D0BB8 E00CA6B8 32A300FF */ andi $v1, $s5, 0xff
/* 3D0BBC E00CA6BC 00021600 */ sll $v0, $v0, 0x18
/* 3D0BC0 E00CA6C0 00042400 */ sll $a0, $a0, 0x10
/* 3D0BC4 E00CA6C4 00441025 */ or $v0, $v0, $a0
/* 3D0BC8 E00CA6C8 00052A00 */ sll $a1, $a1, 8
/* 3D0BCC E00CA6CC 00451025 */ or $v0, $v0, $a1
/* 3D0BD0 E00CA6D0 00431025 */ or $v0, $v0, $v1
/* 3D0BD4 E00CA6D4 ACE20004 */ sw $v0, 4($a3)
/* 3D0BD8 E00CA6D8 3C02FB00 */ lui $v0, 0xfb00
/* 3D0BDC E00CA6DC ACC20000 */ sw $v0, ($a2)
/* 3D0BE0 E00CA6E0 92C3002B */ lbu $v1, 0x2b($s6)
/* 3D0BE4 E00CA6E4 92C4002F */ lbu $a0, 0x2f($s6)
/* 3D0BE8 E00CA6E8 92C50033 */ lbu $a1, 0x33($s6)
/* 3D0BEC E00CA6EC 3C02DE01 */ lui $v0, 0xde01
/* 3D0BF0 E00CA6F0 ACC20008 */ sw $v0, 8($a2)
/* 3D0BF4 E00CA6F4 24C203D0 */ addiu $v0, $a2, 0x3d0
/* 3D0BF8 E00CA6F8 ACC2000C */ sw $v0, 0xc($a2)
/* 3D0BFC E00CA6FC AE620000 */ sw $v0, ($s3)
/* 3D0C00 E00CA700 00031E00 */ sll $v1, $v1, 0x18
/* 3D0C04 E00CA704 00042400 */ sll $a0, $a0, 0x10
/* 3D0C08 E00CA708 00641825 */ or $v1, $v1, $a0
/* 3D0C0C E00CA70C 00052A00 */ sll $a1, $a1, 8
/* 3D0C10 E00CA710 00651825 */ or $v1, $v1, $a1
/* 3D0C14 E00CA714 ACC30004 */ sw $v1, 4($a2)
/* 3D0C18 E00CA718 8EC602A8 */ lw $a2, 0x2a8($s6)
/* 3D0C1C E00CA71C 26850001 */ addiu $a1, $s4, 1
.LE00CA720:
/* 3D0C20 E00CA720 00C52021 */ addu $a0, $a2, $a1
/* 3D0C24 E00CA724 00880018 */ mult $a0, $t0
/* 3D0C28 E00CA728 00041FC3 */ sra $v1, $a0, 0x1f
/* 3D0C2C E00CA72C 00005810 */ mfhi $t3
/* 3D0C30 E00CA730 01641021 */ addu $v0, $t3, $a0
/* 3D0C34 E00CA734 00021103 */ sra $v0, $v0, 4
/* 3D0C38 E00CA738 00431823 */ subu $v1, $v0, $v1
/* 3D0C3C E00CA73C 00031100 */ sll $v0, $v1, 4
/* 3D0C40 E00CA740 00431023 */ subu $v0, $v0, $v1
/* 3D0C44 E00CA744 00021040 */ sll $v0, $v0, 1
/* 3D0C48 E00CA748 00821823 */ subu $v1, $a0, $v0
/* 3D0C4C E00CA74C 00031080 */ sll $v0, $v1, 2
/* 3D0C50 E00CA750 02C21021 */ addu $v0, $s6, $v0
/* 3D0C54 E00CA754 8C420230 */ lw $v0, 0x230($v0)
/* 3D0C58 E00CA758 54400001 */ bnel $v0, $zero, .LE00CA760
/* 3D0C5C E00CA75C 27DE0001 */ addiu $fp, $fp, 1
.LE00CA760:
/* 3D0C60 E00CA760 00A0A02D */ daddu $s4, $a1, $zero
/* 3D0C64 E00CA764 2A82001E */ slti $v0, $s4, 0x1e
/* 3D0C68 E00CA768 1440FFED */ bnez $v0, .LE00CA720
/* 3D0C6C E00CA76C 26850001 */ addiu $a1, $s4, 1
/* 3D0C70 E00CA770 27DEFFFF */ addiu $fp, $fp, -1
/* 3D0C74 E00CA774 1BC00130 */ blez $fp, .LE00CAC38
/* 3D0C78 E00CA778 0000A02D */ daddu $s4, $zero, $zero
/* 3D0C7C E00CA77C AFA00068 */ sw $zero, 0x68($sp)
.LE00CA780:
/* 3D0C80 E00CA780 8FAB0068 */ lw $t3, 0x68($sp)
/* 3D0C84 E00CA784 17C00002 */ bnez $fp, .LE00CA790
/* 3D0C88 E00CA788 017E001A */ div $zero, $t3, $fp
/* 3D0C8C E00CA78C 0007000D */ break 7
.LE00CA790:
/* 3D0C90 E00CA790 2401FFFF */ addiu $at, $zero, -1
/* 3D0C94 E00CA794 17C10004 */ bne $fp, $at, .LE00CA7A8
/* 3D0C98 E00CA798 3C018000 */ lui $at, 0x8000
/* 3D0C9C E00CA79C 15610002 */ bne $t3, $at, .LE00CA7A8
/* 3D0CA0 E00CA7A0 00000000 */ nop
/* 3D0CA4 E00CA7A4 0006000D */ break 6
.LE00CA7A8:
/* 3D0CA8 E00CA7A8 00002812 */ mflo $a1
/* 3D0CAC E00CA7AC 3C038888 */ lui $v1, 0x8888
/* 3D0CB0 E00CA7B0 34638889 */ ori $v1, $v1, 0x8889
/* 3D0CB4 E00CA7B4 8EC402A8 */ lw $a0, 0x2a8($s6)
/* 3D0CB8 E00CA7B8 26820001 */ addiu $v0, $s4, 1
/* 3D0CBC E00CA7BC 00822021 */ addu $a0, $a0, $v0
/* 3D0CC0 E00CA7C0 00830018 */ mult $a0, $v1
/* 3D0CC4 E00CA7C4 8FAB005C */ lw $t3, 0x5c($sp)
/* 3D0CC8 E00CA7C8 00141140 */ sll $v0, $s4, 5
/* 3D0CCC E00CA7CC 01629021 */ addu $s2, $t3, $v0
/* 3D0CD0 E00CA7D0 00001810 */ mfhi $v1
/* 3D0CD4 E00CA7D4 00641021 */ addu $v0, $v1, $a0
/* 3D0CD8 E00CA7D8 00021103 */ sra $v0, $v0, 4
/* 3D0CDC E00CA7DC 00041FC3 */ sra $v1, $a0, 0x1f
/* 3D0CE0 E00CA7E0 00439823 */ subu $s3, $v0, $v1
/* 3D0CE4 E00CA7E4 00131100 */ sll $v0, $s3, 4
/* 3D0CE8 E00CA7E8 00531023 */ subu $v0, $v0, $s3
/* 3D0CEC E00CA7EC 00021040 */ sll $v0, $v0, 1
/* 3D0CF0 E00CA7F0 44856000 */ mtc1 $a1, $f12
/* 3D0CF4 E00CA7F4 00000000 */ nop
/* 3D0CF8 E00CA7F8 46806320 */ cvt.s.w $f12, $f12
/* 3D0CFC E00CA7FC 0C080140 */ jal shim_sin_deg
/* 3D0D00 E00CA800 00829823 */ subu $s3, $a0, $v0
/* 3D0D04 E00CA804 3C01437F */ lui $at, 0x437f
/* 3D0D08 E00CA808 44811000 */ mtc1 $at, $f2
/* 3D0D0C E00CA80C 00000000 */ nop
/* 3D0D10 E00CA810 46020002 */ mul.s $f0, $f0, $f2
/* 3D0D14 E00CA814 00000000 */ nop
/* 3D0D18 E00CA818 4600018D */ trunc.w.s $f6, $f0
/* 3D0D1C E00CA81C 44173000 */ mfc1 $s7, $f6
/* 3D0D20 E00CA820 00000000 */ nop
/* 3D0D24 E00CA824 2AE200C9 */ slti $v0, $s7, 0xc9
/* 3D0D28 E00CA828 50400001 */ beql $v0, $zero, .LE00CA830
/* 3D0D2C E00CA82C 241700C8 */ addiu $s7, $zero, 0xc8
.LE00CA830:
/* 3D0D30 E00CA830 00131080 */ sll $v0, $s3, 2
/* 3D0D34 E00CA834 02C28021 */ addu $s0, $s6, $v0
/* 3D0D38 E00CA838 8E020230 */ lw $v0, 0x230($s0)
/* 3D0D3C E00CA83C 504000DF */ beql $v0, $zero, .LE00CABBC
/* 3D0D40 E00CA840 26940001 */ addiu $s4, $s4, 1
/* 3D0D44 E00CA844 8FAB0060 */ lw $t3, 0x60($sp)
/* 3D0D48 E00CA848 2402FFFF */ addiu $v0, $zero, -1
/* 3D0D4C E00CA84C 15620012 */ bne $t3, $v0, .LE00CA898
/* 3D0D50 E00CA850 2402001D */ addiu $v0, $zero, 0x1d
/* 3D0D54 E00CA854 26630001 */ addiu $v1, $s3, 1
/* 3D0D58 E00CA858 2862001E */ slti $v0, $v1, 0x1e
/* 3D0D5C E00CA85C 50400001 */ beql $v0, $zero, .LE00CA864
/* 3D0D60 E00CA860 0000182D */ daddu $v1, $zero, $zero
.LE00CA864:
/* 3D0D64 E00CA864 00031080 */ sll $v0, $v1, 2
/* 3D0D68 E00CA868 02C21021 */ addu $v0, $s6, $v0
/* 3D0D6C E00CA86C AFB40060 */ sw $s4, 0x60($sp)
/* 3D0D70 E00CA870 C44C00C8 */ lwc1 $f12, 0xc8($v0)
/* 3D0D74 E00CA874 8E0600C8 */ lw $a2, 0xc8($s0)
/* 3D0D78 E00CA878 C6000050 */ lwc1 $f0, 0x50($s0)
/* 3D0D7C E00CA87C C44E0050 */ lwc1 $f14, 0x50($v0)
/* 3D0D80 E00CA880 46000007 */ neg.s $f0, $f0
/* 3D0D84 E00CA884 44070000 */ mfc1 $a3, $f0
/* 3D0D88 E00CA888 0C080148 */ jal shim_atan2
/* 3D0D8C E00CA88C 46007387 */ neg.s $f14, $f14
/* 3D0D90 E00CA890 08032A63 */ j .LE00CA98C
/* 3D0D94 E00CA894 46000787 */ neg.s $f30, $f0
.LE00CA898:
/* 3D0D98 E00CA898 1282003C */ beq $s4, $v0, .LE00CA98C
/* 3D0D9C E00CA89C 26630001 */ addiu $v1, $s3, 1
/* 3D0DA0 E00CA8A0 2862001E */ slti $v0, $v1, 0x1e
/* 3D0DA4 E00CA8A4 14400002 */ bnez $v0, .LE00CA8B0
/* 3D0DA8 E00CA8A8 2671FFFF */ addiu $s1, $s3, -1
/* 3D0DAC E00CA8AC 0000182D */ daddu $v1, $zero, $zero
.LE00CA8B0:
/* 3D0DB0 E00CA8B0 06220001 */ bltzl $s1, .LE00CA8B8
/* 3D0DB4 E00CA8B4 2411001D */ addiu $s1, $zero, 0x1d
.LE00CA8B8:
/* 3D0DB8 E00CA8B8 00031080 */ sll $v0, $v1, 2
/* 3D0DBC E00CA8BC 02C21021 */ addu $v0, $s6, $v0
/* 3D0DC0 E00CA8C0 C44C00C8 */ lwc1 $f12, 0xc8($v0)
/* 3D0DC4 E00CA8C4 8E0600C8 */ lw $a2, 0xc8($s0)
/* 3D0DC8 E00CA8C8 C6000050 */ lwc1 $f0, 0x50($s0)
/* 3D0DCC E00CA8CC C44E0050 */ lwc1 $f14, 0x50($v0)
/* 3D0DD0 E00CA8D0 46000007 */ neg.s $f0, $f0
/* 3D0DD4 E00CA8D4 44070000 */ mfc1 $a3, $f0
/* 3D0DD8 E00CA8D8 0C080148 */ jal shim_atan2
/* 3D0DDC E00CA8DC 46007387 */ neg.s $f14, $f14
/* 3D0DE0 E00CA8E0 00111080 */ sll $v0, $s1, 2
/* 3D0DE4 E00CA8E4 02C21021 */ addu $v0, $s6, $v0
/* 3D0DE8 E00CA8E8 C60C00C8 */ lwc1 $f12, 0xc8($s0)
/* 3D0DEC E00CA8EC 8C4600C8 */ lw $a2, 0xc8($v0)
/* 3D0DF0 E00CA8F0 46000507 */ neg.s $f20, $f0
/* 3D0DF4 E00CA8F4 C4400050 */ lwc1 $f0, 0x50($v0)
/* 3D0DF8 E00CA8F8 C60E0050 */ lwc1 $f14, 0x50($s0)
/* 3D0DFC E00CA8FC 46000007 */ neg.s $f0, $f0
/* 3D0E00 E00CA900 44070000 */ mfc1 $a3, $f0
/* 3D0E04 E00CA904 0C080148 */ jal shim_atan2
/* 3D0E08 E00CA908 46007387 */ neg.s $f14, $f14
/* 3D0E0C E00CA90C 46000307 */ neg.s $f12, $f0
/* 3D0E10 E00CA910 46146081 */ sub.s $f2, $f12, $f20
/* 3D0E14 E00CA914 3C014334 */ lui $at, 0x4334
/* 3D0E18 E00CA918 44810000 */ mtc1 $at, $f0
/* 3D0E1C E00CA91C 00000000 */ nop
/* 3D0E20 E00CA920 4602003C */ c.lt.s $f0, $f2
/* 3D0E24 E00CA924 00000000 */ nop
/* 3D0E28 E00CA928 45000005 */ bc1f .LE00CA940
/* 3D0E2C E00CA92C 00000000 */ nop
/* 3D0E30 E00CA930 3C0143B4 */ lui $at, 0x43b4
/* 3D0E34 E00CA934 44813000 */ mtc1 $at, $f6
/* 3D0E38 E00CA938 08032A5B */ j .LE00CA96C
/* 3D0E3C E00CA93C 4606A500 */ add.s $f20, $f20, $f6
.LE00CA940:
/* 3D0E40 E00CA940 3C01C334 */ lui $at, 0xc334
/* 3D0E44 E00CA944 44810000 */ mtc1 $at, $f0
/* 3D0E48 E00CA948 00000000 */ nop
/* 3D0E4C E00CA94C 4600103C */ c.lt.s $f2, $f0
/* 3D0E50 E00CA950 00000000 */ nop
/* 3D0E54 E00CA954 45020006 */ bc1fl .LE00CA970
/* 3D0E58 E00CA958 460CA780 */ add.s $f30, $f20, $f12
/* 3D0E5C E00CA95C 3C0143B4 */ lui $at, 0x43b4
/* 3D0E60 E00CA960 44813000 */ mtc1 $at, $f6
/* 3D0E64 E00CA964 00000000 */ nop
/* 3D0E68 E00CA968 46066300 */ add.s $f12, $f12, $f6
.LE00CA96C:
/* 3D0E6C E00CA96C 460CA780 */ add.s $f30, $f20, $f12
.LE00CA970:
/* 3D0E70 E00CA970 3C013FE0 */ lui $at, 0x3fe0
/* 3D0E74 E00CA974 44811800 */ mtc1 $at, $f3
/* 3D0E78 E00CA978 44801000 */ mtc1 $zero, $f2
/* 3D0E7C E00CA97C 4600F021 */ cvt.d.s $f0, $f30
/* 3D0E80 E00CA980 46220002 */ mul.d $f0, $f0, $f2
/* 3D0E84 E00CA984 00000000 */ nop
/* 3D0E88 E00CA988 462007A0 */ cvt.s.d $f30, $f0
.LE00CA98C:
/* 3D0E8C E00CA98C 00131080 */ sll $v0, $s3, 2
/* 3D0E90 E00CA990 02C28021 */ addu $s0, $s6, $v0
/* 3D0E94 E00CA994 8E0301B8 */ lw $v1, 0x1b8($s0)
/* 3D0E98 E00CA998 8FAB0050 */ lw $t3, 0x50($sp)
/* 3D0E9C E00CA99C C6180050 */ lwc1 $f24, 0x50($s0)
/* 3D0EA0 E00CA9A0 C61A00C8 */ lwc1 $f26, 0xc8($s0)
/* 3D0EA4 E00CA9A4 C61C0140 */ lwc1 $f28, 0x140($s0)
/* 3D0EA8 E00CA9A8 00031080 */ sll $v0, $v1, 2
/* 3D0EAC E00CA9AC 00431021 */ addu $v0, $v0, $v1
/* 3D0EB0 E00CA9B0 00021100 */ sll $v0, $v0, 4
/* 3D0EB4 E00CA9B4 01621023 */ subu $v0, $t3, $v0
/* 3D0EB8 E00CA9B8 00021080 */ sll $v0, $v0, 2
/* 3D0EBC E00CA9BC 44826000 */ mtc1 $v0, $f12
/* 3D0EC0 E00CA9C0 00000000 */ nop
/* 3D0EC4 E00CA9C4 46806320 */ cvt.s.w $f12, $f12
/* 3D0EC8 E00CA9C8 0C080140 */ jal shim_sin_deg
/* 3D0ECC E00CA9CC 01638823 */ subu $s1, $t3, $v1
/* 3D0ED0 E00CA9D0 3C014040 */ lui $at, 0x4040
/* 3D0ED4 E00CA9D4 44811000 */ mtc1 $at, $f2
/* 3D0ED8 E00CA9D8 00000000 */ nop
/* 3D0EDC E00CA9DC 46020002 */ mul.s $f0, $f0, $f2
/* 3D0EE0 E00CA9E0 00000000 */ nop
/* 3D0EE4 E00CA9E4 3C014180 */ lui $at, 0x4180
/* 3D0EE8 E00CA9E8 44811000 */ mtc1 $at, $f2
/* 3D0EEC E00CA9EC 00000000 */ nop
/* 3D0EF0 E00CA9F0 46020000 */ add.s $f0, $f0, $f2
/* 3D0EF4 E00CA9F4 44911000 */ mtc1 $s1, $f2
/* 3D0EF8 E00CA9F8 00000000 */ nop
/* 3D0EFC E00CA9FC 468010A0 */ cvt.s.w $f2, $f2
/* 3D0F00 E00CAA00 46020580 */ add.s $f22, $f0, $f2
/* 3D0F04 E00CAA04 C7A60058 */ lwc1 $f6, 0x58($sp)
/* 3D0F08 E00CAA08 8FAB0054 */ lw $t3, 0x54($sp)
/* 3D0F0C E00CAA0C 4606B582 */ mul.s $f22, $f22, $f6
/* 3D0F10 E00CAA10 00000000 */ nop
/* 3D0F14 E00CAA14 C60002AC */ lwc1 $f0, 0x2ac($s0)
/* 3D0F18 E00CAA18 3C0141C0 */ lui $at, 0x41c0
/* 3D0F1C E00CAA1C 44813000 */ mtc1 $at, $f6
/* 3D0F20 E00CAA20 00000000 */ nop
/* 3D0F24 E00CAA24 46060002 */ mul.s $f0, $f0, $f6
/* 3D0F28 E00CAA28 00000000 */ nop
/* 3D0F2C E00CAA2C C7A20064 */ lwc1 $f2, 0x64($sp)
/* 3D0F30 E00CAA30 468010A0 */ cvt.s.w $f2, $f2
/* 3D0F34 E00CAA34 46020000 */ add.s $f0, $f0, $f2
/* 3D0F38 E00CAA38 4600018D */ trunc.w.s $f6, $f0
/* 3D0F3C E00CAA3C 44153000 */ mfc1 $s5, $f6
/* 3D0F40 E00CAA40 241300FF */ addiu $s3, $zero, 0xff
/* 3D0F44 E00CAA44 0260802D */ daddu $s0, $s3, $zero
/* 3D0F48 E00CAA48 00111040 */ sll $v0, $s1, 1
/* 3D0F4C E00CAA4C 00511021 */ addu $v0, $v0, $s1
/* 3D0F50 E00CAA50 000210C0 */ sll $v0, $v0, 3
/* 3D0F54 E00CAA54 00511021 */ addu $v0, $v0, $s1
/* 3D0F58 E00CAA58 00021080 */ sll $v0, $v0, 2
/* 3D0F5C E00CAA5C 02028823 */ subu $s1, $s0, $v0
/* 3D0F60 E00CAA60 06210022 */ bgez $s1, .LE00CAAEC
/* 3D0F64 E00CAA64 00000000 */ nop
/* 3D0F68 E00CAA68 44910000 */ mtc1 $s1, $f0
/* 3D0F6C E00CAA6C 00000000 */ nop
/* 3D0F70 E00CAA70 46800020 */ cvt.s.w $f0, $f0
/* 3D0F74 E00CAA74 3C01E00D */ lui $at, %hi(D_E00CACC0)
/* 3D0F78 E00CAA78 D422ACC0 */ ldc1 $f2, %lo(D_E00CACC0)($at)
/* 3D0F7C E00CAA7C 46000021 */ cvt.d.s $f0, $f0
/* 3D0F80 E00CAA80 46220002 */ mul.d $f0, $f0, $f2
/* 3D0F84 E00CAA84 00000000 */ nop
/* 3D0F88 E00CAA88 3C01E00D */ lui $at, %hi(D_E00CACC8)
/* 3D0F8C E00CAA8C D426ACC8 */ ldc1 $f6, %lo(D_E00CACC8)($at)
/* 3D0F90 E00CAA90 46260000 */ add.d $f0, $f0, $f6
/* 3D0F94 E00CAA94 4620018D */ trunc.w.d $f6, $f0
/* 3D0F98 E00CAA98 44103000 */ mfc1 $s0, $f6
/* 3D0F9C E00CAA9C 00000000 */ nop
/* 3D0FA0 E00CAAA0 06010012 */ bgez $s0, .LE00CAAEC
/* 3D0FA4 E00CAAA4 0000882D */ daddu $s1, $zero, $zero
/* 3D0FA8 E00CAAA8 44900000 */ mtc1 $s0, $f0
/* 3D0FAC E00CAAAC 00000000 */ nop
/* 3D0FB0 E00CAAB0 46800020 */ cvt.s.w $f0, $f0
/* 3D0FB4 E00CAAB4 3C01E00D */ lui $at, %hi(D_E00CACD0)
/* 3D0FB8 E00CAAB8 D422ACD0 */ ldc1 $f2, %lo(D_E00CACD0)($at)
/* 3D0FBC E00CAABC 46000021 */ cvt.d.s $f0, $f0
/* 3D0FC0 E00CAAC0 46220002 */ mul.d $f0, $f0, $f2
/* 3D0FC4 E00CAAC4 00000000 */ nop
/* 3D0FC8 E00CAAC8 3C01E00D */ lui $at, %hi(D_E00CACD8)
/* 3D0FCC E00CAACC D426ACD8 */ ldc1 $f6, %lo(D_E00CACD8)($at)
/* 3D0FD0 E00CAAD0 46260000 */ add.d $f0, $f0, $f6
/* 3D0FD4 E00CAAD4 4620018D */ trunc.w.d $f6, $f0
/* 3D0FD8 E00CAAD8 44133000 */ mfc1 $s3, $f6
/* 3D0FDC E00CAADC 00000000 */ nop
/* 3D0FE0 E00CAAE0 06610002 */ bgez $s3, .LE00CAAEC
/* 3D0FE4 E00CAAE4 0220802D */ daddu $s0, $s1, $zero
/* 3D0FE8 E00CAAE8 0220982D */ daddu $s3, $s1, $zero
.LE00CAAEC:
/* 3D0FEC E00CAAEC 0C080140 */ jal shim_sin_deg
/* 3D0FF0 E00CAAF0 4600F306 */ mov.s $f12, $f30
/* 3D0FF4 E00CAAF4 4600B502 */ mul.s $f20, $f22, $f0
/* 3D0FF8 E00CAAF8 00000000 */ nop
/* 3D0FFC E00CAAFC 0C080144 */ jal shim_cos_deg
/* 3D1000 E00CAB00 4600F306 */ mov.s $f12, $f30
/* 3D1004 E00CAB04 4600B002 */ mul.s $f0, $f22, $f0
/* 3D1008 E00CAB08 00000000 */ nop
/* 3D100C E00CAB0C 24020400 */ addiu $v0, $zero, 0x400
/* 3D1010 E00CAB10 8FAB0068 */ lw $t3, 0x68($sp)
/* 3D1014 E00CAB14 44803000 */ mtc1 $zero, $f6
/* 3D1018 E00CAB18 256B00B4 */ addiu $t3, $t3, 0xb4
/* 3D101C E00CAB1C 4606E080 */ add.s $f2, $f28, $f6
/* 3D1020 E00CAB20 AFAB0068 */ sw $t3, 0x68($sp)
/* 3D1024 E00CAB24 A6550008 */ sh $s5, 8($s2)
/* 3D1028 E00CAB28 A642000A */ sh $v0, 0xa($s2)
/* 3D102C E00CAB2C 4614C100 */ add.s $f4, $f24, $f20
/* 3D1030 E00CAB30 A253000C */ sb $s3, 0xc($s2)
/* 3D1034 E00CAB34 4600118D */ trunc.w.s $f6, $f2
/* 3D1038 E00CAB38 44033000 */ mfc1 $v1, $f6
/* 3D103C E00CAB3C 4600D080 */ add.s $f2, $f26, $f0
/* 3D1040 E00CAB40 A250000D */ sb $s0, 0xd($s2)
/* 3D1044 E00CAB44 A251000E */ sb $s1, 0xe($s2)
/* 3D1048 E00CAB48 4614C501 */ sub.s $f20, $f24, $f20
/* 3D104C E00CAB4C A257000F */ sb $s7, 0xf($s2)
/* 3D1050 E00CAB50 A6430004 */ sh $v1, 4($s2)
/* 3D1054 E00CAB54 4600D001 */ sub.s $f0, $f26, $f0
/* 3D1058 E00CAB58 4600218D */ trunc.w.s $f6, $f4
/* 3D105C E00CAB5C 44023000 */ mfc1 $v0, $f6
/* 3D1060 E00CAB60 00000000 */ nop
/* 3D1064 E00CAB64 A6420000 */ sh $v0, ($s2)
/* 3D1068 E00CAB68 4600118D */ trunc.w.s $f6, $f2
/* 3D106C E00CAB6C 44023000 */ mfc1 $v0, $f6
/* 3D1070 E00CAB70 00000000 */ nop
/* 3D1074 E00CAB74 A6420002 */ sh $v0, 2($s2)
/* 3D1078 E00CAB78 26520010 */ addiu $s2, $s2, 0x10
/* 3D107C E00CAB7C 4600A18D */ trunc.w.s $f6, $f20
/* 3D1080 E00CAB80 44023000 */ mfc1 $v0, $f6
/* 3D1084 E00CAB84 00000000 */ nop
/* 3D1088 E00CAB88 A6420000 */ sh $v0, ($s2)
/* 3D108C E00CAB8C 4600018D */ trunc.w.s $f6, $f0
/* 3D1090 E00CAB90 44023000 */ mfc1 $v0, $f6
/* 3D1094 E00CAB94 00000000 */ nop
/* 3D1098 E00CAB98 A6420002 */ sh $v0, 2($s2)
/* 3D109C E00CAB9C A6430004 */ sh $v1, 4($s2)
/* 3D10A0 E00CABA0 A6550008 */ sh $s5, 8($s2)
/* 3D10A4 E00CABA4 A640000A */ sh $zero, 0xa($s2)
/* 3D10A8 E00CABA8 A253000C */ sb $s3, 0xc($s2)
/* 3D10AC E00CABAC A250000D */ sb $s0, 0xd($s2)
/* 3D10B0 E00CABB0 A251000E */ sb $s1, 0xe($s2)
/* 3D10B4 E00CABB4 A257000F */ sb $s7, 0xf($s2)
/* 3D10B8 E00CABB8 26940001 */ addiu $s4, $s4, 1
.LE00CABBC:
/* 3D10BC E00CABBC 2A82001E */ slti $v0, $s4, 0x1e
/* 3D10C0 E00CABC0 1440FEEF */ bnez $v0, .LE00CA780
/* 3D10C4 E00CABC4 00000000 */ nop
/* 3D10C8 E00CABC8 8FB40060 */ lw $s4, 0x60($sp)
/* 3D10CC E00CABCC 2A82001D */ slti $v0, $s4, 0x1d
/* 3D10D0 E00CABD0 10400019 */ beqz $v0, .LE00CAC38
/* 3D10D4 E00CABD4 3C050002 */ lui $a1, 2
/* 3D10D8 E00CABD8 3C04800A */ lui $a0, %hi(gMainGfxPos)
/* 3D10DC E00CABDC 2484A66C */ addiu $a0, $a0, %lo(gMainGfxPos)
/* 3D10E0 E00CABE0 3C080100 */ lui $t0, 0x100
/* 3D10E4 E00CABE4 35084008 */ ori $t0, $t0, 0x4008
/* 3D10E8 E00CABE8 3C070600 */ lui $a3, 0x600
/* 3D10EC E00CABEC 34E70402 */ ori $a3, $a3, 0x402
/* 3D10F0 E00CABF0 34A50406 */ ori $a1, $a1, 0x406
/* 3D10F4 E00CABF4 8FAB005C */ lw $t3, 0x5c($sp)
/* 3D10F8 E00CABF8 00141140 */ sll $v0, $s4, 5
/* 3D10FC E00CABFC 004B3021 */ addu $a2, $v0, $t3
.LE00CAC00:
/* 3D1100 E00CAC00 8C830000 */ lw $v1, ($a0)
/* 3D1104 E00CAC04 26940001 */ addiu $s4, $s4, 1
/* 3D1108 E00CAC08 0060102D */ daddu $v0, $v1, $zero
/* 3D110C E00CAC0C 24630008 */ addiu $v1, $v1, 8
/* 3D1110 E00CAC10 AC460004 */ sw $a2, 4($v0)
/* 3D1114 E00CAC14 24C60020 */ addiu $a2, $a2, 0x20
/* 3D1118 E00CAC18 AC830000 */ sw $v1, ($a0)
/* 3D111C E00CAC1C AC480000 */ sw $t0, ($v0)
/* 3D1120 E00CAC20 24620008 */ addiu $v0, $v1, 8
/* 3D1124 E00CAC24 AC820000 */ sw $v0, ($a0)
/* 3D1128 E00CAC28 2A82001D */ slti $v0, $s4, 0x1d
/* 3D112C E00CAC2C AC670000 */ sw $a3, ($v1)
/* 3D1130 E00CAC30 1440FFF3 */ bnez $v0, .LE00CAC00
/* 3D1134 E00CAC34 AC650004 */ sw $a1, 4($v1)
.LE00CAC38:
/* 3D1138 E00CAC38 3C05D838 */ lui $a1, 0xd838
/* 3D113C E00CAC3C 3C03800A */ lui $v1, %hi(gMainGfxPos)
/* 3D1140 E00CAC40 2463A66C */ addiu $v1, $v1, %lo(gMainGfxPos)
/* 3D1144 E00CAC44 8C620000 */ lw $v0, ($v1)
/* 3D1148 E00CAC48 34A50002 */ ori $a1, $a1, 2
/* 3D114C E00CAC4C 0040202D */ daddu $a0, $v0, $zero
/* 3D1150 E00CAC50 24420008 */ addiu $v0, $v0, 8
/* 3D1154 E00CAC54 AC620000 */ sw $v0, ($v1)
/* 3D1158 E00CAC58 24020040 */ addiu $v0, $zero, 0x40
/* 3D115C E00CAC5C AC850000 */ sw $a1, ($a0)
/* 3D1160 E00CAC60 AC820004 */ sw $v0, 4($a0)
/* 3D1164 E00CAC64 8FBF0094 */ lw $ra, 0x94($sp)
/* 3D1168 E00CAC68 8FBE0090 */ lw $fp, 0x90($sp)
/* 3D116C E00CAC6C 8FB7008C */ lw $s7, 0x8c($sp)
/* 3D1170 E00CAC70 8FB60088 */ lw $s6, 0x88($sp)
/* 3D1174 E00CAC74 8FB50084 */ lw $s5, 0x84($sp)
/* 3D1178 E00CAC78 8FB40080 */ lw $s4, 0x80($sp)
/* 3D117C E00CAC7C 8FB3007C */ lw $s3, 0x7c($sp)
/* 3D1180 E00CAC80 8FB20078 */ lw $s2, 0x78($sp)
/* 3D1184 E00CAC84 8FB10074 */ lw $s1, 0x74($sp)
/* 3D1188 E00CAC88 8FB00070 */ lw $s0, 0x70($sp)
/* 3D118C E00CAC8C D7BE00C0 */ ldc1 $f30, 0xc0($sp)
/* 3D1190 E00CAC90 D7BC00B8 */ ldc1 $f28, 0xb8($sp)
/* 3D1194 E00CAC94 D7BA00B0 */ ldc1 $f26, 0xb0($sp)
/* 3D1198 E00CAC98 D7B800A8 */ ldc1 $f24, 0xa8($sp)
/* 3D119C E00CAC9C D7B600A0 */ ldc1 $f22, 0xa0($sp)
/* 3D11A0 E00CACA0 D7B40098 */ ldc1 $f20, 0x98($sp)
/* 3D11A4 E00CACA4 03E00008 */ jr $ra
/* 3D11A8 E00CACA8 27BD00C8 */ addiu $sp, $sp, 0xc8
/* 3D11AC E00CACAC 00000000 */ nop

View File

@ -0,0 +1,551 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel underwater_appendGfx
/* 3B91F0 E00BA620 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 3B91F4 E00BA624 3C06DB06 */ lui $a2, 0xdb06
/* 3B91F8 E00BA628 34C60024 */ ori $a2, $a2, 0x24
/* 3B91FC E00BA62C 3C07FF10 */ lui $a3, 0xff10
/* 3B9200 E00BA630 34E7013F */ ori $a3, $a3, 0x13f
/* 3B9204 E00BA634 0000682D */ daddu $t5, $zero, $zero
/* 3B9208 E00BA638 3C02800A */ lui $v0, %hi(gMainGfxPos)
/* 3B920C E00BA63C 2442A66C */ addiu $v0, $v0, %lo(gMainGfxPos)
/* 3B9210 E00BA640 0040402D */ daddu $t0, $v0, $zero
/* 3B9214 E00BA644 AFB200B8 */ sw $s2, 0xb8($sp)
/* 3B9218 E00BA648 3C12FD10 */ lui $s2, 0xfd10
/* 3B921C E00BA64C 3652013F */ ori $s2, $s2, 0x13f
/* 3B9220 E00BA650 3C18800A */ lui $t8, %hi(nuGfxCfb_ptr)
/* 3B9224 E00BA654 2718A64C */ addiu $t8, $t8, %lo(nuGfxCfb_ptr)
/* 3B9228 E00BA658 3C0CF510 */ lui $t4, 0xf510
/* 3B922C E00BA65C 358CA000 */ ori $t4, $t4, 0xa000
/* 3B9230 E00BA660 AFB700CC */ sw $s7, 0xcc($sp)
/* 3B9234 E00BA664 3C170700 */ lui $s7, 0x700
/* 3B9238 E00BA668 AFB500C4 */ sw $s5, 0xc4($sp)
/* 3B923C E00BA66C 3C15F400 */ lui $s5, 0xf400
/* 3B9240 E00BA670 AFB100B4 */ sw $s1, 0xb4($sp)
/* 3B9244 E00BA674 3C11074F */ lui $s1, 0x74f
/* 3B9248 E00BA678 3631C014 */ ori $s1, $s1, 0xc014
/* 3B924C E00BA67C 3C0EE700 */ lui $t6, 0xe700
/* 3B9250 E00BA680 AFB300BC */ sw $s3, 0xbc($sp)
/* 3B9254 E00BA684 3C13F200 */ lui $s3, 0xf200
/* 3B9258 E00BA688 AFB000B0 */ sw $s0, 0xb0($sp)
/* 3B925C E00BA68C 3C10004F */ lui $s0, 0x4f
/* 3B9260 E00BA690 3610C014 */ ori $s0, $s0, 0xc014
/* 3B9264 E00BA694 3C0FE44F */ lui $t7, 0xe44f
/* 3B9268 E00BA698 35EFC000 */ ori $t7, $t7, 0xc000
/* 3B926C E00BA69C 01A0582D */ daddu $t3, $t5, $zero
/* 3B9270 E00BA6A0 240A0014 */ addiu $t2, $zero, 0x14
/* 3B9274 E00BA6A4 01A0482D */ daddu $t1, $t5, $zero
/* 3B9278 E00BA6A8 01C0102D */ daddu $v0, $t6, $zero
/* 3B927C E00BA6AC AFBF00D4 */ sw $ra, 0xd4($sp)
/* 3B9280 E00BA6B0 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 3B9284 E00BA6B4 AFB600C8 */ sw $s6, 0xc8($sp)
/* 3B9288 E00BA6B8 AFB400C0 */ sw $s4, 0xc0($sp)
/* 3B928C E00BA6BC 8D030000 */ lw $v1, ($t0)
/* 3B9290 E00BA6C0 8C94000C */ lw $s4, 0xc($a0)
/* 3B9294 E00BA6C4 0060282D */ daddu $a1, $v1, $zero
/* 3B9298 E00BA6C8 9299001F */ lbu $t9, 0x1f($s4)
/* 3B929C E00BA6CC 24630008 */ addiu $v1, $v1, 8
/* 3B92A0 E00BA6D0 AD030000 */ sw $v1, ($t0)
/* 3B92A4 E00BA6D4 ACA20000 */ sw $v0, ($a1)
/* 3B92A8 E00BA6D8 24620008 */ addiu $v0, $v1, 8
/* 3B92AC E00BA6DC ACA00004 */ sw $zero, 4($a1)
/* 3B92B0 E00BA6E0 AD020000 */ sw $v0, ($t0)
/* 3B92B4 E00BA6E4 AC660000 */ sw $a2, ($v1)
/* 3B92B8 E00BA6E8 8C840010 */ lw $a0, 0x10($a0)
/* 3B92BC E00BA6EC 24620010 */ addiu $v0, $v1, 0x10
/* 3B92C0 E00BA6F0 AD020000 */ sw $v0, ($t0)
/* 3B92C4 E00BA6F4 3C05800A */ lui $a1, %hi(nuGfxZBuffer)
/* 3B92C8 E00BA6F8 8CA5A5DC */ lw $a1, %lo(nuGfxZBuffer)($a1)
/* 3B92CC E00BA6FC 8C84001C */ lw $a0, 0x1c($a0)
/* 3B92D0 E00BA700 24620018 */ addiu $v0, $v1, 0x18
/* 3B92D4 E00BA704 AD020000 */ sw $v0, ($t0)
/* 3B92D8 E00BA708 3C02DE00 */ lui $v0, 0xde00
/* 3B92DC E00BA70C AC620010 */ sw $v0, 0x10($v1)
/* 3B92E0 E00BA710 3C020900 */ lui $v0, 0x900
/* 3B92E4 E00BA714 24420528 */ addiu $v0, $v0, 0x528
/* 3B92E8 E00BA718 AC620014 */ sw $v0, 0x14($v1)
/* 3B92EC E00BA71C 3C028000 */ lui $v0, 0x8000
/* 3B92F0 E00BA720 AC670008 */ sw $a3, 8($v1)
/* 3B92F4 E00BA724 AC65000C */ sw $a1, 0xc($v1)
/* 3B92F8 E00BA728 00822021 */ addu $a0, $a0, $v0
/* 3B92FC E00BA72C AC640004 */ sw $a0, 4($v1)
.LE00BA730:
/* 3B9300 E00BA730 3C071000 */ lui $a3, 0x1000
/* 3B9304 E00BA734 34E70400 */ ori $a3, $a3, 0x400
/* 3B9308 E00BA738 31660FFF */ andi $a2, $t3, 0xfff
/* 3B930C E00BA73C 256B0018 */ addiu $t3, $t3, 0x18
/* 3B9310 E00BA740 31450FFF */ andi $a1, $t2, 0xfff
/* 3B9314 E00BA744 254A0018 */ addiu $t2, $t2, 0x18
/* 3B9318 E00BA748 25AD0001 */ addiu $t5, $t5, 1
/* 3B931C E00BA74C 00AF2825 */ or $a1, $a1, $t7
/* 3B9320 E00BA750 8D020000 */ lw $v0, ($t0)
/* 3B9324 E00BA754 8F030000 */ lw $v1, ($t8)
/* 3B9328 E00BA758 0040202D */ daddu $a0, $v0, $zero
/* 3B932C E00BA75C 24420008 */ addiu $v0, $v0, 8
/* 3B9330 E00BA760 00691821 */ addu $v1, $v1, $t1
/* 3B9334 E00BA764 AD020000 */ sw $v0, ($t0)
/* 3B9338 E00BA768 AC830004 */ sw $v1, 4($a0)
/* 3B933C E00BA76C 24430008 */ addiu $v1, $v0, 8
/* 3B9340 E00BA770 AC920000 */ sw $s2, ($a0)
/* 3B9344 E00BA774 AD030000 */ sw $v1, ($t0)
/* 3B9348 E00BA778 24430010 */ addiu $v1, $v0, 0x10
/* 3B934C E00BA77C 3C16E600 */ lui $s6, 0xe600
/* 3B9350 E00BA780 AC4C0000 */ sw $t4, ($v0)
/* 3B9354 E00BA784 AC570004 */ sw $s7, 4($v0)
/* 3B9358 E00BA788 AD030000 */ sw $v1, ($t0)
/* 3B935C E00BA78C 24430018 */ addiu $v1, $v0, 0x18
/* 3B9360 E00BA790 AC560008 */ sw $s6, 8($v0)
/* 3B9364 E00BA794 AC40000C */ sw $zero, 0xc($v0)
/* 3B9368 E00BA798 AD030000 */ sw $v1, ($t0)
/* 3B936C E00BA79C 24430020 */ addiu $v1, $v0, 0x20
/* 3B9370 E00BA7A0 AC550010 */ sw $s5, 0x10($v0)
/* 3B9374 E00BA7A4 AC510014 */ sw $s1, 0x14($v0)
/* 3B9378 E00BA7A8 AD030000 */ sw $v1, ($t0)
/* 3B937C E00BA7AC 24430028 */ addiu $v1, $v0, 0x28
/* 3B9380 E00BA7B0 AC4E0018 */ sw $t6, 0x18($v0)
/* 3B9384 E00BA7B4 AC40001C */ sw $zero, 0x1c($v0)
/* 3B9388 E00BA7B8 AD030000 */ sw $v1, ($t0)
/* 3B938C E00BA7BC 24430030 */ addiu $v1, $v0, 0x30
/* 3B9390 E00BA7C0 AC4C0020 */ sw $t4, 0x20($v0)
/* 3B9394 E00BA7C4 AC400024 */ sw $zero, 0x24($v0)
/* 3B9398 E00BA7C8 AD030000 */ sw $v1, ($t0)
/* 3B939C E00BA7CC 24430038 */ addiu $v1, $v0, 0x38
/* 3B93A0 E00BA7D0 AC530028 */ sw $s3, 0x28($v0)
/* 3B93A4 E00BA7D4 AC50002C */ sw $s0, 0x2c($v0)
/* 3B93A8 E00BA7D8 AD030000 */ sw $v1, ($t0)
/* 3B93AC E00BA7DC 24430040 */ addiu $v1, $v0, 0x40
/* 3B93B0 E00BA7E0 AC450030 */ sw $a1, 0x30($v0)
/* 3B93B4 E00BA7E4 AC460034 */ sw $a2, 0x34($v0)
/* 3B93B8 E00BA7E8 AD030000 */ sw $v1, ($t0)
/* 3B93BC E00BA7EC 3C03E100 */ lui $v1, 0xe100
/* 3B93C0 E00BA7F0 AC430038 */ sw $v1, 0x38($v0)
/* 3B93C4 E00BA7F4 24430048 */ addiu $v1, $v0, 0x48
/* 3B93C8 E00BA7F8 AC40003C */ sw $zero, 0x3c($v0)
/* 3B93CC E00BA7FC AD030000 */ sw $v1, ($t0)
/* 3B93D0 E00BA800 3C03F100 */ lui $v1, 0xf100
/* 3B93D4 E00BA804 AC430040 */ sw $v1, 0x40($v0)
/* 3B93D8 E00BA808 24430050 */ addiu $v1, $v0, 0x50
/* 3B93DC E00BA80C AC470044 */ sw $a3, 0x44($v0)
/* 3B93E0 E00BA810 AD030000 */ sw $v1, ($t0)
/* 3B93E4 E00BA814 AC4E0048 */ sw $t6, 0x48($v0)
/* 3B93E8 E00BA818 AC40004C */ sw $zero, 0x4c($v0)
/* 3B93EC E00BA81C 29A20028 */ slti $v0, $t5, 0x28
/* 3B93F0 E00BA820 1440FFC3 */ bnez $v0, .LE00BA730
/* 3B93F4 E00BA824 25290F00 */ addiu $t1, $t1, 0xf00
/* 3B93F8 E00BA828 3C06FF10 */ lui $a2, 0xff10
/* 3B93FC E00BA82C 34C6013F */ ori $a2, $a2, 0x13f
/* 3B9400 E00BA830 3C0AE300 */ lui $t2, 0xe300
/* 3B9404 E00BA834 354A0A01 */ ori $t2, $t2, 0xa01
/* 3B9408 E00BA838 3C0CFC35 */ lui $t4, 0xfc35
/* 3B940C E00BA83C 358C7E6A */ ori $t4, $t4, 0x7e6a
/* 3B9410 E00BA840 3C0BFFFC */ lui $t3, 0xfffc
/* 3B9414 E00BA844 356BF87C */ ori $t3, $t3, 0xf87c
/* 3B9418 E00BA848 3C0DFD10 */ lui $t5, 0xfd10
/* 3B941C E00BA84C 35AD013F */ ori $t5, $t5, 0x13f
/* 3B9420 E00BA850 3C0FE200 */ lui $t7, 0xe200
/* 3B9424 E00BA854 35EF001C */ ori $t7, $t7, 0x1c
/* 3B9428 E00BA858 3C0E0F0A */ lui $t6, 0xf0a
/* 3B942C E00BA85C 35CE4300 */ ori $t6, $t6, 0x4300
/* 3B9430 E00BA860 3C11E300 */ lui $s1, 0xe300
/* 3B9434 E00BA864 36310C00 */ ori $s1, $s1, 0xc00
/* 3B9438 E00BA868 3C12E300 */ lui $s2, 0xe300
/* 3B943C E00BA86C 36521201 */ ori $s2, $s2, 0x1201
/* 3B9440 E00BA870 27A40020 */ addiu $a0, $sp, 0x20
/* 3B9444 E00BA874 3C130001 */ lui $s3, 1
/* 3B9448 E00BA878 36731630 */ ori $s3, $s3, 0x2230
/* 3B944C E00BA87C 3C10800A */ lui $s0, %hi(gMainGfxPos)
/* 3B9450 E00BA880 2610A66C */ addiu $s0, $s0, %lo(gMainGfxPos)
/* 3B9454 E00BA884 8E080000 */ lw $t0, ($s0)
/* 3B9458 E00BA888 3C05C2A0 */ lui $a1, 0xc2a0
/* 3B945C E00BA88C 3C03800A */ lui $v1, %hi(nuGfxCfb_ptr)
/* 3B9460 E00BA890 8C63A64C */ lw $v1, %lo(nuGfxCfb_ptr)($v1)
/* 3B9464 E00BA894 3C01C270 */ lui $at, 0xc270
/* 3B9468 E00BA898 44810000 */ mtc1 $at, $f0
/* 3B946C E00BA89C 3C014320 */ lui $at, 0x4320
/* 3B9470 E00BA8A0 44811000 */ mtc1 $at, $f2
/* 3B9474 E00BA8A4 3C014420 */ lui $at, 0x4420
/* 3B9478 E00BA8A8 44812000 */ mtc1 $at, $f4
/* 3B947C E00BA8AC 3C013F80 */ lui $at, 0x3f80
/* 3B9480 E00BA8B0 44813000 */ mtc1 $at, $f6
/* 3B9484 E00BA8B4 0100102D */ daddu $v0, $t0, $zero
/* 3B9488 E00BA8B8 25080008 */ addiu $t0, $t0, 8
/* 3B948C E00BA8BC AE080000 */ sw $t0, ($s0)
/* 3B9490 E00BA8C0 AC460000 */ sw $a2, ($v0)
/* 3B9494 E00BA8C4 AC430004 */ sw $v1, 4($v0)
/* 3B9498 E00BA8C8 25020008 */ addiu $v0, $t0, 8
/* 3B949C E00BA8CC AE020000 */ sw $v0, ($s0)
/* 3B94A0 E00BA8D0 3C02FA00 */ lui $v0, 0xfa00
/* 3B94A4 E00BA8D4 AD020000 */ sw $v0, ($t0)
/* 3B94A8 E00BA8D8 9289001C */ lbu $t1, 0x1c($s4)
/* 3B94AC E00BA8DC 9286001D */ lbu $a2, 0x1d($s4)
/* 3B94B0 E00BA8E0 9287001E */ lbu $a3, 0x1e($s4)
/* 3B94B4 E00BA8E4 25020010 */ addiu $v0, $t0, 0x10
/* 3B94B8 E00BA8E8 AE020000 */ sw $v0, ($s0)
/* 3B94BC E00BA8EC 25020018 */ addiu $v0, $t0, 0x18
/* 3B94C0 E00BA8F0 AD0A0008 */ sw $t2, 8($t0)
/* 3B94C4 E00BA8F4 AD00000C */ sw $zero, 0xc($t0)
/* 3B94C8 E00BA8F8 AE020000 */ sw $v0, ($s0)
/* 3B94CC E00BA8FC 25020020 */ addiu $v0, $t0, 0x20
/* 3B94D0 E00BA900 AD0C0010 */ sw $t4, 0x10($t0)
/* 3B94D4 E00BA904 AD0B0014 */ sw $t3, 0x14($t0)
/* 3B94D8 E00BA908 AE020000 */ sw $v0, ($s0)
/* 3B94DC E00BA90C 3C02800A */ lui $v0, %hi(nuGfxZBuffer)
/* 3B94E0 E00BA910 8C42A5DC */ lw $v0, %lo(nuGfxZBuffer)($v0)
/* 3B94E4 E00BA914 3C038000 */ lui $v1, 0x8000
/* 3B94E8 E00BA918 AD0D0018 */ sw $t5, 0x18($t0)
/* 3B94EC E00BA91C 00431021 */ addu $v0, $v0, $v1
/* 3B94F0 E00BA920 AD02001C */ sw $v0, 0x1c($t0)
/* 3B94F4 E00BA924 25020028 */ addiu $v0, $t0, 0x28
/* 3B94F8 E00BA928 AE020000 */ sw $v0, ($s0)
/* 3B94FC E00BA92C 25020030 */ addiu $v0, $t0, 0x30
/* 3B9500 E00BA930 AD0F0020 */ sw $t7, 0x20($t0)
/* 3B9504 E00BA934 AD0E0024 */ sw $t6, 0x24($t0)
/* 3B9508 E00BA938 AE020000 */ sw $v0, ($s0)
/* 3B950C E00BA93C 3C020008 */ lui $v0, 8
/* 3B9510 E00BA940 AD02002C */ sw $v0, 0x2c($t0)
/* 3B9514 E00BA944 25020038 */ addiu $v0, $t0, 0x38
/* 3B9518 E00BA948 AD110028 */ sw $s1, 0x28($t0)
/* 3B951C E00BA94C AE020000 */ sw $v0, ($s0)
/* 3B9520 E00BA950 24022000 */ addiu $v0, $zero, 0x2000
/* 3B9524 E00BA954 00094E00 */ sll $t1, $t1, 0x18
/* 3B9528 E00BA958 00063400 */ sll $a2, $a2, 0x10
/* 3B952C E00BA95C 01264825 */ or $t1, $t1, $a2
/* 3B9530 E00BA960 00073A00 */ sll $a3, $a3, 8
/* 3B9534 E00BA964 01274825 */ or $t1, $t1, $a3
/* 3B9538 E00BA968 AD020034 */ sw $v0, 0x34($t0)
/* 3B953C E00BA96C 00191042 */ srl $v0, $t9, 1
/* 3B9540 E00BA970 3C0642A0 */ lui $a2, 0x42a0
/* 3B9544 E00BA974 3C074270 */ lui $a3, 0x4270
/* 3B9548 E00BA978 01224825 */ or $t1, $t1, $v0
/* 3B954C E00BA97C AD120030 */ sw $s2, 0x30($t0)
/* 3B9550 E00BA980 AD090004 */ sw $t1, 4($t0)
/* 3B9554 E00BA984 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3B9558 E00BA988 E7A20014 */ swc1 $f2, 0x14($sp)
/* 3B955C E00BA98C E7A40018 */ swc1 $f4, 0x18($sp)
/* 3B9560 E00BA990 0C080188 */ jal shim_guFrustumF
/* 3B9564 E00BA994 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 3B9568 E00BA998 27A40020 */ addiu $a0, $sp, 0x20
/* 3B956C E00BA99C 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3B9570 E00BA9A0 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3B9574 E00BA9A4 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 3B9578 E00BA9A8 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 3B957C E00BA9AC 96250000 */ lhu $a1, ($s1)
/* 3B9580 E00BA9B0 8E420000 */ lw $v0, ($s2)
/* 3B9584 E00BA9B4 00052980 */ sll $a1, $a1, 6
/* 3B9588 E00BA9B8 00B32821 */ addu $a1, $a1, $s3
/* 3B958C E00BA9BC 0C080118 */ jal shim_guMtxF2L
/* 3B9590 E00BA9C0 00452821 */ addu $a1, $v0, $a1
/* 3B9594 E00BA9C4 3C03DA38 */ lui $v1, 0xda38
/* 3B9598 E00BA9C8 34630007 */ ori $v1, $v1, 7
/* 3B959C E00BA9CC 3C06D9FD */ lui $a2, 0xd9fd
/* 3B95A0 E00BA9D0 34C6F9FF */ ori $a2, $a2, 0xf9ff
/* 3B95A4 E00BA9D4 3C08D9FF */ lui $t0, 0xd9ff
/* 3B95A8 E00BA9D8 3508FFFF */ ori $t0, $t0, 0xffff
/* 3B95AC E00BA9DC 3C070020 */ lui $a3, 0x20
/* 3B95B0 E00BA9E0 34E70004 */ ori $a3, $a3, 4
/* 3B95B4 E00BA9E4 3C090101 */ lui $t1, 0x101
/* 3B95B8 E00BA9E8 35290020 */ ori $t1, $t1, 0x20
/* 3B95BC E00BA9EC 0000702D */ daddu $t6, $zero, $zero
/* 3B95C0 E00BA9F0 3C150218 */ lui $s5, 0x218
/* 3B95C4 E00BA9F4 24190018 */ addiu $t9, $zero, 0x18
/* 3B95C8 E00BA9F8 8E040000 */ lw $a0, ($s0)
/* 3B95CC E00BA9FC 96220000 */ lhu $v0, ($s1)
/* 3B95D0 E00BAA00 0080282D */ daddu $a1, $a0, $zero
/* 3B95D4 E00BAA04 24840008 */ addiu $a0, $a0, 8
/* 3B95D8 E00BAA08 AE040000 */ sw $a0, ($s0)
/* 3B95DC E00BAA0C ACA30000 */ sw $v1, ($a1)
/* 3B95E0 E00BAA10 24430001 */ addiu $v1, $v0, 1
/* 3B95E4 E00BAA14 3042FFFF */ andi $v0, $v0, 0xffff
/* 3B95E8 E00BAA18 00021180 */ sll $v0, $v0, 6
/* 3B95EC E00BAA1C A6230000 */ sh $v1, ($s1)
/* 3B95F0 E00BAA20 8E430000 */ lw $v1, ($s2)
/* 3B95F4 E00BAA24 00531021 */ addu $v0, $v0, $s3
/* 3B95F8 E00BAA28 00621821 */ addu $v1, $v1, $v0
/* 3B95FC E00BAA2C 24820008 */ addiu $v0, $a0, 8
/* 3B9600 E00BAA30 ACA30004 */ sw $v1, 4($a1)
/* 3B9604 E00BAA34 AE020000 */ sw $v0, ($s0)
/* 3B9608 E00BAA38 24820010 */ addiu $v0, $a0, 0x10
/* 3B960C E00BAA3C AC860000 */ sw $a2, ($a0)
/* 3B9610 E00BAA40 AC800004 */ sw $zero, 4($a0)
/* 3B9614 E00BAA44 AE020000 */ sw $v0, ($s0)
/* 3B9618 E00BAA48 00991021 */ addu $v0, $a0, $t9
/* 3B961C E00BAA4C AC880008 */ sw $t0, 8($a0)
/* 3B9620 E00BAA50 AC87000C */ sw $a3, 0xc($a0)
/* 3B9624 E00BAA54 AE020000 */ sw $v0, ($s0)
/* 3B9628 E00BAA58 3C020900 */ lui $v0, 0x900
/* 3B962C E00BAA5C 24420428 */ addiu $v0, $v0, 0x428
/* 3B9630 E00BAA60 AC890010 */ sw $t1, 0x10($a0)
/* 3B9634 E00BAA64 AC820014 */ sw $v0, 0x14($a0)
.LE00BAA68:
/* 3B9638 E00BAA68 15C00004 */ bnez $t6, .LE00BAA7C
/* 3B963C E00BAA6C 0000902D */ daddu $s2, $zero, $zero
/* 3B9640 E00BAA70 2404FFFC */ addiu $a0, $zero, -4
/* 3B9644 E00BAA74 0802EAA0 */ j .LE00BAA80
/* 3B9648 E00BAA78 24120001 */ addiu $s2, $zero, 1
.LE00BAA7C:
/* 3B964C E00BAA7C 0000202D */ daddu $a0, $zero, $zero
.LE00BAA80:
/* 3B9650 E00BAA80 2402000B */ addiu $v0, $zero, 0xb
/* 3B9654 E00BAA84 15C20003 */ bne $t6, $v0, .LE00BAA94
/* 3B9658 E00BAA88 0000182D */ daddu $v1, $zero, $zero
/* 3B965C E00BAA8C 24030004 */ addiu $v1, $zero, 4
/* 3B9660 E00BAA90 24120001 */ addiu $s2, $zero, 1
.LE00BAA94:
/* 3B9664 E00BAA94 0000682D */ daddu $t5, $zero, $zero
/* 3B9668 E00BAA98 03241021 */ addu $v0, $t9, $a0
/* 3B966C E00BAA9C 0002C080 */ sll $t8, $v0, 2
/* 3B9670 E00BAAA0 33020FFF */ andi $v0, $t8, 0xfff
/* 3B9674 E00BAAA4 3C16F400 */ lui $s6, 0xf400
/* 3B9678 E00BAAA8 0056B025 */ or $s6, $v0, $s6
/* 3B967C E00BAAAC AFB600A0 */ sw $s6, 0xa0($sp)
/* 3B9680 E00BAAB0 03231821 */ addu $v1, $t9, $v1
/* 3B9684 E00BAAB4 24620010 */ addiu $v0, $v1, 0x10
/* 3B9688 E00BAAB8 00029880 */ sll $s3, $v0, 2
/* 3B968C E00BAABC 32620FFF */ andi $v0, $s3, 0xfff
/* 3B9690 E00BAAC0 3C160700 */ lui $s6, 0x700
/* 3B9694 E00BAAC4 0056F025 */ or $fp, $v0, $s6
/* 3B9698 E00BAAC8 2463001F */ addiu $v1, $v1, 0x1f
/* 3B969C E00BAACC 00031880 */ sll $v1, $v1, 2
/* 3B96A0 E00BAAD0 30770FFF */ andi $s7, $v1, 0xfff
/* 3B96A4 E00BAAD4 0012B023 */ negu $s6, $s2
/* 3B96A8 E00BAAD8 AFB600A8 */ sw $s6, 0xa8($sp)
.LE00BAADC:
/* 3B96AC E00BAADC 0000502D */ daddu $t2, $zero, $zero
/* 3B96B0 E00BAAE0 000D1100 */ sll $v0, $t5, 4
/* 3B96B4 E00BAAE4 15A00004 */ bnez $t5, .LE00BAAF8
/* 3B96B8 E00BAAE8 244F0010 */ addiu $t7, $v0, 0x10
/* 3B96BC E00BAAEC 240BFFFC */ addiu $t3, $zero, -4
/* 3B96C0 E00BAAF0 0802EABF */ j .LE00BAAFC
/* 3B96C4 E00BAAF4 240A0001 */ addiu $t2, $zero, 1
.LE00BAAF8:
/* 3B96C8 E00BAAF8 0000582D */ daddu $t3, $zero, $zero
.LE00BAAFC:
/* 3B96CC E00BAAFC 24020011 */ addiu $v0, $zero, 0x11
/* 3B96D0 E00BAB00 15A20003 */ bne $t5, $v0, .LE00BAB10
/* 3B96D4 E00BAB04 0000882D */ daddu $s1, $zero, $zero
/* 3B96D8 E00BAB08 24110004 */ addiu $s1, $zero, 4
/* 3B96DC E00BAB0C 240A0001 */ addiu $t2, $zero, 1
.LE00BAB10:
/* 3B96E0 E00BAB10 3C080709 */ lui $t0, 0x709
/* 3B96E4 E00BAB14 35088260 */ ori $t0, $t0, 0x8260
/* 3B96E8 E00BAB18 3C090009 */ lui $t1, 9
/* 3B96EC E00BAB1C 35298260 */ ori $t1, $t1, 0x8260
/* 3B96F0 E00BAB20 01F13021 */ addu $a2, $t7, $s1
/* 3B96F4 E00BAB24 01EB2021 */ addu $a0, $t7, $t3
/* 3B96F8 E00BAB28 2483FFF0 */ addiu $v1, $a0, -0x10
/* 3B96FC E00BAB2C 00C31823 */ subu $v1, $a2, $v1
/* 3B9700 E00BAB30 24630001 */ addiu $v1, $v1, 1
/* 3B9704 E00BAB34 00031840 */ sll $v1, $v1, 1
/* 3B9708 E00BAB38 24630007 */ addiu $v1, $v1, 7
/* 3B970C E00BAB3C 000318C3 */ sra $v1, $v1, 3
/* 3B9710 E00BAB40 306301FF */ andi $v1, $v1, 0x1ff
/* 3B9714 E00BAB44 00031A40 */ sll $v1, $v1, 9
/* 3B9718 E00BAB48 3C02F510 */ lui $v0, 0xf510
/* 3B971C E00BAB4C 00621825 */ or $v1, $v1, $v0
/* 3B9720 E00BAB50 00042080 */ sll $a0, $a0, 2
/* 3B9724 E00BAB54 30840FFF */ andi $a0, $a0, 0xfff
/* 3B9728 E00BAB58 8E050000 */ lw $a1, ($s0)
/* 3B972C E00BAB5C 00042300 */ sll $a0, $a0, 0xc
/* 3B9730 E00BAB60 00A0382D */ daddu $a3, $a1, $zero
/* 3B9734 E00BAB64 24A50008 */ addiu $a1, $a1, 8
/* 3B9738 E00BAB68 24A20008 */ addiu $v0, $a1, 8
/* 3B973C E00BAB6C AE050000 */ sw $a1, ($s0)
/* 3B9740 E00BAB70 ACE30000 */ sw $v1, ($a3)
/* 3B9744 E00BAB74 ACE80004 */ sw $t0, 4($a3)
/* 3B9748 E00BAB78 AE020000 */ sw $v0, ($s0)
/* 3B974C E00BAB7C 3C02E600 */ lui $v0, 0xe600
/* 3B9750 E00BAB80 ACA20000 */ sw $v0, ($a1)
/* 3B9754 E00BAB84 24A20010 */ addiu $v0, $a1, 0x10
/* 3B9758 E00BAB88 ACA00004 */ sw $zero, 4($a1)
/* 3B975C E00BAB8C AE020000 */ sw $v0, ($s0)
/* 3B9760 E00BAB90 24C20010 */ addiu $v0, $a2, 0x10
/* 3B9764 E00BAB94 00021080 */ sll $v0, $v0, 2
/* 3B9768 E00BAB98 30420FFF */ andi $v0, $v0, 0xfff
/* 3B976C E00BAB9C 00021300 */ sll $v0, $v0, 0xc
/* 3B9770 E00BABA0 8FB600A0 */ lw $s6, 0xa0($sp)
/* 3B9774 E00BABA4 005E1025 */ or $v0, $v0, $fp
/* 3B9778 E00BABA8 ACA2000C */ sw $v0, 0xc($a1)
/* 3B977C E00BABAC 24A20018 */ addiu $v0, $a1, 0x18
/* 3B9780 E00BABB0 24C6001F */ addiu $a2, $a2, 0x1f
/* 3B9784 E00BABB4 00063080 */ sll $a2, $a2, 2
/* 3B9788 E00BABB8 30C60FFF */ andi $a2, $a2, 0xfff
/* 3B978C E00BABBC 00063300 */ sll $a2, $a2, 0xc
/* 3B9790 E00BABC0 00D73025 */ or $a2, $a2, $s7
/* 3B9794 E00BABC4 00962025 */ or $a0, $a0, $s6
/* 3B9798 E00BABC8 3C16E700 */ lui $s6, 0xe700
/* 3B979C E00BABCC ACA40008 */ sw $a0, 8($a1)
/* 3B97A0 E00BABD0 AE020000 */ sw $v0, ($s0)
/* 3B97A4 E00BABD4 24A20020 */ addiu $v0, $a1, 0x20
/* 3B97A8 E00BABD8 ACB60010 */ sw $s6, 0x10($a1)
/* 3B97AC E00BABDC ACA00014 */ sw $zero, 0x14($a1)
/* 3B97B0 E00BABE0 AE020000 */ sw $v0, ($s0)
/* 3B97B4 E00BABE4 24A20028 */ addiu $v0, $a1, 0x28
/* 3B97B8 E00BABE8 ACA30018 */ sw $v1, 0x18($a1)
/* 3B97BC E00BABEC ACA9001C */ sw $t1, 0x1c($a1)
/* 3B97C0 E00BABF0 AE020000 */ sw $v0, ($s0)
/* 3B97C4 E00BABF4 3C02F200 */ lui $v0, 0xf200
/* 3B97C8 E00BABF8 ACA20020 */ sw $v0, 0x20($a1)
/* 3B97CC E00BABFC 11400003 */ beqz $t2, .LE00BAC0C
/* 3B97D0 E00BAC00 ACA60024 */ sw $a2, 0x24($a1)
/* 3B97D4 E00BAC04 16400005 */ bnez $s2, .LE00BAC1C
/* 3B97D8 E00BAC08 240C000C */ addiu $t4, $zero, 0xc
.LE00BAC0C:
/* 3B97DC E00BAC0C 15400003 */ bnez $t2, .LE00BAC1C
/* 3B97E0 E00BAC10 240C0004 */ addiu $t4, $zero, 4
/* 3B97E4 E00BAC14 8FB600A8 */ lw $s6, 0xa8($sp)
/* 3B97E8 E00BAC18 32CC0008 */ andi $t4, $s6, 8
.LE00BAC1C:
/* 3B97EC E00BAC1C 000D2840 */ sll $a1, $t5, 1
/* 3B97F0 E00BAC20 00AD2821 */ addu $a1, $a1, $t5
/* 3B97F4 E00BAC24 00052880 */ sll $a1, $a1, 2
/* 3B97F8 E00BAC28 00AD2821 */ addu $a1, $a1, $t5
/* 3B97FC E00BAC2C 25A20001 */ addiu $v0, $t5, 1
/* 3B9800 E00BAC30 0040682D */ daddu $t5, $v0, $zero
/* 3B9804 E00BAC34 000C5040 */ sll $t2, $t4, 1
/* 3B9808 E00BAC38 01551025 */ or $v0, $t2, $s5
/* 3B980C E00BAC3C 01EB4821 */ addu $t1, $t7, $t3
/* 3B9810 E00BAC40 00094C80 */ sll $t1, $t1, 0x12
/* 3B9814 E00BAC44 258B0001 */ addiu $t3, $t4, 1
/* 3B9818 E00BAC48 000B5840 */ sll $t3, $t3, 1
/* 3B981C E00BAC4C 25880002 */ addiu $t0, $t4, 2
/* 3B9820 E00BAC50 00084040 */ sll $t0, $t0, 1
/* 3B9824 E00BAC54 01F13821 */ addu $a3, $t7, $s1
/* 3B9828 E00BAC58 24E70010 */ addiu $a3, $a3, 0x10
/* 3B982C E00BAC5C 00073C80 */ sll $a3, $a3, 0x12
/* 3B9830 E00BAC60 8E060000 */ lw $a2, ($s0)
/* 3B9834 E00BAC64 000A5400 */ sll $t2, $t2, 0x10
/* 3B9838 E00BAC68 00C0202D */ daddu $a0, $a2, $zero
/* 3B983C E00BAC6C 24C60008 */ addiu $a2, $a2, 8
/* 3B9840 E00BAC70 AE060000 */ sw $a2, ($s0)
/* 3B9844 E00BAC74 AC820000 */ sw $v0, ($a0)
/* 3B9848 E00BAC78 01C51021 */ addu $v0, $t6, $a1
/* 3B984C E00BAC7C 02821021 */ addu $v0, $s4, $v0
/* 3B9850 E00BAC80 80430023 */ lb $v1, 0x23($v0)
/* 3B9854 E00BAC84 24C20008 */ addiu $v0, $a2, 8
/* 3B9858 E00BAC88 AE020000 */ sw $v0, ($s0)
/* 3B985C E00BAC8C 01751025 */ or $v0, $t3, $s5
/* 3B9860 E00BAC90 24A50001 */ addiu $a1, $a1, 1
/* 3B9864 E00BAC94 01C52821 */ addu $a1, $t6, $a1
/* 3B9868 E00BAC98 02852821 */ addu $a1, $s4, $a1
/* 3B986C E00BAC9C 03031821 */ addu $v1, $t8, $v1
/* 3B9870 E00BACA0 01231825 */ or $v1, $t1, $v1
/* 3B9874 E00BACA4 AC830004 */ sw $v1, 4($a0)
/* 3B9878 E00BACA8 000D1840 */ sll $v1, $t5, 1
/* 3B987C E00BACAC 006D1821 */ addu $v1, $v1, $t5
/* 3B9880 E00BACB0 00031880 */ sll $v1, $v1, 2
/* 3B9884 E00BACB4 006D1821 */ addu $v1, $v1, $t5
/* 3B9888 E00BACB8 ACC20000 */ sw $v0, ($a2)
/* 3B988C E00BACBC 01C31021 */ addu $v0, $t6, $v1
/* 3B9890 E00BACC0 02821021 */ addu $v0, $s4, $v0
/* 3B9894 E00BACC4 80440023 */ lb $a0, 0x23($v0)
/* 3B9898 E00BACC8 24C20010 */ addiu $v0, $a2, 0x10
/* 3B989C E00BACCC AE020000 */ sw $v0, ($s0)
/* 3B98A0 E00BACD0 01151025 */ or $v0, $t0, $s5
/* 3B98A4 E00BACD4 ACC20008 */ sw $v0, 8($a2)
/* 3B98A8 E00BACD8 24C20018 */ addiu $v0, $a2, 0x18
/* 3B98AC E00BACDC 24630001 */ addiu $v1, $v1, 1
/* 3B98B0 E00BACE0 01C31821 */ addu $v1, $t6, $v1
/* 3B98B4 E00BACE4 02831821 */ addu $v1, $s4, $v1
/* 3B98B8 E00BACE8 00084200 */ sll $t0, $t0, 8
/* 3B98BC E00BACEC 03042021 */ addu $a0, $t8, $a0
/* 3B98C0 E00BACF0 00E42025 */ or $a0, $a3, $a0
/* 3B98C4 E00BACF4 ACC40004 */ sw $a0, 4($a2)
/* 3B98C8 E00BACF8 80A40023 */ lb $a0, 0x23($a1)
/* 3B98CC E00BACFC 25850003 */ addiu $a1, $t4, 3
/* 3B98D0 E00BAD00 00052840 */ sll $a1, $a1, 1
/* 3B98D4 E00BAD04 AE020000 */ sw $v0, ($s0)
/* 3B98D8 E00BAD08 00B51025 */ or $v0, $a1, $s5
/* 3B98DC E00BAD0C ACC20010 */ sw $v0, 0x10($a2)
/* 3B98E0 E00BAD10 24C20020 */ addiu $v0, $a2, 0x20
/* 3B98E4 E00BAD14 02642021 */ addu $a0, $s3, $a0
/* 3B98E8 E00BAD18 01244825 */ or $t1, $t1, $a0
/* 3B98EC E00BAD1C ACC9000C */ sw $t1, 0xc($a2)
/* 3B98F0 E00BAD20 80640023 */ lb $a0, 0x23($v1)
/* 3B98F4 E00BAD24 30A500FF */ andi $a1, $a1, 0xff
/* 3B98F8 E00BAD28 AE020000 */ sw $v0, ($s0)
/* 3B98FC E00BAD2C 00051200 */ sll $v0, $a1, 8
/* 3B9900 E00BAD30 01421025 */ or $v0, $t2, $v0
/* 3B9904 E00BAD34 004B1025 */ or $v0, $v0, $t3
/* 3B9908 E00BAD38 3C030600 */ lui $v1, 0x600
/* 3B990C E00BAD3C 00431025 */ or $v0, $v0, $v1
/* 3B9910 E00BAD40 01485025 */ or $t2, $t2, $t0
/* 3B9914 E00BAD44 01455025 */ or $t2, $t2, $a1
/* 3B9918 E00BAD48 ACC20018 */ sw $v0, 0x18($a2)
/* 3B991C E00BAD4C 24C20028 */ addiu $v0, $a2, 0x28
/* 3B9920 E00BAD50 3C16E700 */ lui $s6, 0xe700
/* 3B9924 E00BAD54 ACCA001C */ sw $t2, 0x1c($a2)
/* 3B9928 E00BAD58 AE020000 */ sw $v0, ($s0)
/* 3B992C E00BAD5C 29A20012 */ slti $v0, $t5, 0x12
/* 3B9930 E00BAD60 ACD60020 */ sw $s6, 0x20($a2)
/* 3B9934 E00BAD64 ACC00024 */ sw $zero, 0x24($a2)
/* 3B9938 E00BAD68 02642021 */ addu $a0, $s3, $a0
/* 3B993C E00BAD6C 00E43825 */ or $a3, $a3, $a0
/* 3B9940 E00BAD70 1440FF5A */ bnez $v0, .LE00BAADC
/* 3B9944 E00BAD74 ACC70014 */ sw $a3, 0x14($a2)
/* 3B9948 E00BAD78 25CE0001 */ addiu $t6, $t6, 1
/* 3B994C E00BAD7C 29C2000C */ slti $v0, $t6, 0xc
/* 3B9950 E00BAD80 1440FF39 */ bnez $v0, .LE00BAA68
/* 3B9954 E00BAD84 27390010 */ addiu $t9, $t9, 0x10
/* 3B9958 E00BAD88 3C06FF10 */ lui $a2, 0xff10
/* 3B995C E00BAD8C 34C6013F */ ori $a2, $a2, 0x13f
/* 3B9960 E00BAD90 3C07DA38 */ lui $a3, 0xda38
/* 3B9964 E00BAD94 3C05800A */ lui $a1, %hi(gMainGfxPos)
/* 3B9968 E00BAD98 24A5A66C */ addiu $a1, $a1, %lo(gMainGfxPos)
/* 3B996C E00BAD9C 8CA30000 */ lw $v1, ($a1)
/* 3B9970 E00BADA0 3C04800A */ lui $a0, %hi(nuGfxZBuffer)
/* 3B9974 E00BADA4 8C84A5DC */ lw $a0, %lo(nuGfxZBuffer)($a0)
/* 3B9978 E00BADA8 0060102D */ daddu $v0, $v1, $zero
/* 3B997C E00BADAC 24630008 */ addiu $v1, $v1, 8
/* 3B9980 E00BADB0 ACA30000 */ sw $v1, ($a1)
/* 3B9984 E00BADB4 AC460000 */ sw $a2, ($v0)
/* 3B9988 E00BADB8 AC440004 */ sw $a0, 4($v0)
/* 3B998C E00BADBC 24620008 */ addiu $v0, $v1, 8
/* 3B9990 E00BADC0 ACA20000 */ sw $v0, ($a1)
/* 3B9994 E00BADC4 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* 3B9998 E00BADC8 8C84A64C */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* 3B999C E00BADCC 3C02DE00 */ lui $v0, 0xde00
/* 3B99A0 E00BADD0 AC620000 */ sw $v0, ($v1)
/* 3B99A4 E00BADD4 3C020900 */ lui $v0, 0x900
/* 3B99A8 E00BADD8 24420570 */ addiu $v0, $v0, 0x570
/* 3B99AC E00BADDC AC620004 */ sw $v0, 4($v1)
/* 3B99B0 E00BADE0 24620010 */ addiu $v0, $v1, 0x10
/* 3B99B4 E00BADE4 ACA20000 */ sw $v0, ($a1)
/* 3B99B8 E00BADE8 24620018 */ addiu $v0, $v1, 0x18
/* 3B99BC E00BADEC AC660008 */ sw $a2, 8($v1)
/* 3B99C0 E00BADF0 02C0302D */ daddu $a2, $s6, $zero
/* 3B99C4 E00BADF4 AC64000C */ sw $a0, 0xc($v1)
/* 3B99C8 E00BADF8 ACA20000 */ sw $v0, ($a1)
/* 3B99CC E00BADFC 3C048007 */ lui $a0, %hi(gCurrentCameraID)
/* 3B99D0 E00BAE00 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0)
/* 3B99D4 E00BAE04 24620020 */ addiu $v0, $v1, 0x20
/* 3B99D8 E00BAE08 AC660010 */ sw $a2, 0x10($v1)
/* 3B99DC E00BAE0C AC600014 */ sw $zero, 0x14($v1)
/* 3B99E0 E00BAE10 ACA20000 */ sw $v0, ($a1)
/* 3B99E4 E00BAE14 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3B99E8 E00BAE18 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3B99EC E00BAE1C 34E70007 */ ori $a3, $a3, 7
/* 3B99F0 E00BAE20 AC670018 */ sw $a3, 0x18($v1)
/* 3B99F4 E00BAE24 00042180 */ sll $a0, $a0, 6
/* 3B99F8 E00BAE28 24840030 */ addiu $a0, $a0, 0x30
/* 3B99FC E00BAE2C 00441021 */ addu $v0, $v0, $a0
/* 3B9A00 E00BAE30 AC62001C */ sw $v0, 0x1c($v1)
/* 3B9A04 E00BAE34 24620028 */ addiu $v0, $v1, 0x28
/* 3B9A08 E00BAE38 ACA20000 */ sw $v0, ($a1)
/* 3B9A0C E00BAE3C AC660020 */ sw $a2, 0x20($v1)
/* 3B9A10 E00BAE40 AC600024 */ sw $zero, 0x24($v1)
/* 3B9A14 E00BAE44 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 3B9A18 E00BAE48 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 3B9A1C E00BAE4C 8FB700CC */ lw $s7, 0xcc($sp)
/* 3B9A20 E00BAE50 8FB600C8 */ lw $s6, 0xc8($sp)
/* 3B9A24 E00BAE54 8FB500C4 */ lw $s5, 0xc4($sp)
/* 3B9A28 E00BAE58 8FB400C0 */ lw $s4, 0xc0($sp)
/* 3B9A2C E00BAE5C 8FB300BC */ lw $s3, 0xbc($sp)
/* 3B9A30 E00BAE60 8FB200B8 */ lw $s2, 0xb8($sp)
/* 3B9A34 E00BAE64 8FB100B4 */ lw $s1, 0xb4($sp)
/* 3B9A38 E00BAE68 8FB000B0 */ lw $s0, 0xb0($sp)
/* 3B9A3C E00BAE6C 03E00008 */ jr $ra
/* 3B9A40 E00BAE70 27BD00D8 */ addiu $sp, $sp, 0xd8
/* 3B9A44 E00BAE74 00000000 */ nop
/* 3B9A48 E00BAE78 00000000 */ nop
/* 3B9A4C E00BAE7C 00000000 */ nop

40
ver/pal/effect_shims.yaml Normal file
View File

@ -0,0 +1,40 @@
- shim_guRotateF
- shim_guTranslateF
- shim_guTranslate
- shim_guScaleF
- shim_guMtxCatF
- shim_guMtxF2L
- shim_guMtxL2F
- shim_queue_render_task
- shim_create_effect_instance
- shim_remove_effect
- shim_general_heap_malloc
- shim_mem_clear
- shim_NULL
- shim_rand_int
- shim_clamp_angle
- shim_sin_deg
- shim_cos_deg
- shim_atan2
- shim_npc_raycast_down_sides
- shim_load_effect
- shim_sqrtf
- shim_mdl_draw_hidden_panel_surface
- shim_is_point_visible
- shim_guPerspectiveF
- shim_guMtxIdentF
- shim_transform_point
- shim_guLookAtHiliteF
- shim_set_screen_overlay_params_back
- shim_set_screen_overlay_center
- shim_set_screen_overlay_center_worldpos
- shim_mdl_get_next_texture_address
- shim_guPositionF
- shim_guOrthoF
- shim_guFrustumF
- shim_func_80138D88
- shim_draw_box
- shim_draw_msg
- shim_get_msg_width
- shim_get_background_color_blend
- shim_sfx_play_sound_at_position

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,9 +2,11 @@ Entity_ScriptSpring_AnimLaunch = 0x1E4;
Entity_SimpleSpring_AnimLaunch = 0x1E4;
get_time_freeze_mode = 0x80027110;
start_rumble = 0x80028E88;
length2D = 0x80028F70;
_heap_malloc = 0x80028FEC;
_heap_free = 0x8002919C;
cosine = 0x80029354;
mem_clear = 0x80029580;
transform_point = 0x800295A0;
copy_matrix = 0x800296A0;
dma_copy = 0x800296BC;
@ -104,6 +106,7 @@ func_80045838 = 0x80045D28;
func_800458CC = 0x80045DBC;
OnPlayerFled = 0x80045DF0;
SetTattleMessage = 0x80045F48;
remove_status_chill_out = 0x80048074;
spawn_drops = 0x80048860;
is_point_within_region = 0x800495B4;
basic_ai_check_player_dist = 0x80049694;
@ -133,7 +136,9 @@ snd_ambient_stop_all = 0x80055DAC;
snd_ambient_play_only = 0x80055E28;
snd_song_set_playback_rate = 0x80056318;
clear_effect_data = 0x8005A27C;
create_effect_instance = 0x8005A89C;
remove_effect = 0x8005AA30;
load_effect = 0x8005AB44;
get_current_map_settings = 0x8005B308;
get_map_IDs_by_name = 0x8005B318;
load_asset_by_name = 0x8005B408;
@ -146,14 +151,18 @@ npc_update_npc_tracking = 0x8005E6F4;
npc_follow_npc = 0x8005E84C;
osVirtualToPhysical = 0x80062D00;
sqrtf = 0x80062D60;
guFrustumF = 0x80062DA0;
guLookAtHiliteF = 0x80063730;
guOrthoF = 0x80064780;
guOrtho = 0x800648B0;
guPerspectiveF = 0x80064A00;
guPositionF = 0x80064D80;
guPosition = 0x80064F58;
sins = 0x80065460;
sprintf = 0x80066360;
guMtxIdentF = 0x80068320;
guMtxF2L = 0x80068380;
guMtxL2F = 0x80068400;
guMtxCatF = 0x80068480;
guScale = 0x80068580;
guScaleF = 0x80068640;
@ -162,6 +171,7 @@ guTranslateF = 0x80068780;
guMtxXFMF = 0x800688F0;
guRotateF = 0x800689A0;
guRotate = 0x80068B00;
strcmp = 0x8006FD10;
decode_yay0 = 0x8006FD90;
reset_battle_status = 0x8006FE40;
gGameStatusPtr = 0x800714AC;
@ -182,6 +192,7 @@ gItemIconPaletteOffsets = 0x8008ACEC;
D_8008EEC0 = 0x8008B260;
gPartnerPopupProperties = 0x8008B2C0;
gMoveTable = 0x8008B400;
gAreas = 0x8008F890;
EVS_800936C0 = 0x8008FA60;
EVS_NpcHitRecoil = 0x8008FA7C;
nuGfxZBuffer = 0x800969B0;
@ -193,9 +204,12 @@ gDisplayContext = 0x80096A4C;
wMapTexName = 0x800AF3B8;
gCurrentEncounter = 0x800AF5E0;
gCameras = 0x800B0460;
D_800B32E0 = 0x800B19C0;
D_800B3AE0 = 0x800B21C0;
wMapHitName = 0x800D5938;
wMapShapeName = 0x800D5988;
wMapBgName = 0x800D5DD8;
gBattleStatus = 0x800D87E0;
npc_raycast_down_around = 0x800D8EE8;
npc_raycast_down_sides = 0x800D92EC;
npc_test_move_taller_with_slipping = 0x800DA254;
@ -226,6 +240,12 @@ status_menu_ignore_changes = 0x800E60EC;
status_menu_respond_to_changes = 0x800E611C;
func_800E98EC = 0x800E6144;
func_800E9900 = 0x800E6158;
status_menu_start_blinking_hp = 0x800E6178;
status_menu_stop_blinking_hp = 0x800E61BC;
status_menu_start_blinking_fp = 0x800E61E4;
status_menu_stop_blinking_fp = 0x800E6228;
status_menu_start_blinking_sp = 0x800E62B8;
status_menu_stop_blinking_sp = 0x800E62EC;
decrement_status_menu_disabled = 0x800E6388;
increment_status_menu_disabled = 0x800E63AC;
sync_status_menu = 0x800E63C4;
@ -253,6 +273,7 @@ draw_box = 0x800F1710;
gPlayerStatusPtr = 0x800F3F60;
wPartnerHudScripts = 0x800F4330;
wDisabledPartnerHudScripts = 0x800F4370;
HES_AnimatedHandPointer = 0x80102D18;
HES_StatusCoin = 0x80106D58;
HES_BlueMeter = 0x801076A4;
HES_AButton = 0x801076D0;
@ -308,6 +329,7 @@ get_model_env_color_parameters = 0x8011AAD4;
mdl_get_copied_vertices = 0x8011ADB0;
mdl_get_copied_gfx = 0x8011ADEC;
mdl_project_tex_coords = 0x8011AE2C;
is_point_visible = 0x8011BABC;
mdl_draw_hidden_panel_surface = 0x8011C22C;
mdl_get_next_texture_address = 0x8011C2E4;
mdl_set_all_fog_mode = 0x8011C32C;
@ -358,6 +380,7 @@ set_screen_overlay_alpha = 0x80136C74;
clear_screen_overlays = 0x80136CA8;
set_map_transition_effect = 0x80136E40;
update_exit_map_screen_overlay = 0x80136E4C;
func_80138D88 = 0x80137928;
func_8013A704 = 0x801392A4;
func_8013A854 = 0x801393F4;
fold_update = 0x8013963C;
@ -372,6 +395,7 @@ hud_element_get_render_pos = 0x8014355C;
hud_element_set_render_depth = 0x8014358C;
hud_element_set_flags = 0x801435B0;
hud_element_clear_flags = 0x801435DC;
hud_element_set_scale = 0x801437D0;
hud_element_set_alpha = 0x80143A60;
hud_element_set_tint = 0x80143AAC;
clear_saved_variables = 0x80143ED0;
@ -379,6 +403,7 @@ set_global_byte = 0x801440D0;
get_global_byte = 0x801440E8;
clear_trigger_data = 0x80144230;
reset_background_settings = 0x801449A8;
enable_background_wave = 0x80145DBC;
basic_window_update = 0x80146024;
basic_hidden_window_update = 0x80146124;
set_window_update = 0x80146A2C;
@ -397,7 +422,10 @@ bgm_adjust_proximity = 0x80149604;
bgm_set_track_volumes = 0x801496BC;
bgm_clear_track_volumes = 0x80149710;
bgm_set_variation = 0x80149764;
bgm_init_music_players = 0x801497B8;
func_8014AD40 = 0x801498F0;
bgm_push_battle_song = 0x80149AA8;
bgm_set_battle_song = 0x80149B3C;
MessagePlural = 0x8014AE40;
MessagePlural_de = 0x8014AE44;
MessageSingular = 0x8014AE48;
@ -410,6 +438,238 @@ gMusicSettings = 0x801586B0;
gCollisionStatus = 0x80159110;
gBackgroundImage = 0x80200000;
interp_value_with_easing = 0x802410E4;
UseBattleCamPreset = 0x8024E5BC;
UseBattleCamPresetImmediately = 0x8024E604;
SetBattleCamTarget = 0x8024E8AC;
SetBattleCamOffsetZ = 0x8024E9F8;
SetBattleCamYaw = 0x8024EA84;
BattleCamTargetActor = 0x8024EAC4;
BattleCamTargetActorPart = 0x8024EB24;
MoveBattleCamOver = 0x8024EBA8;
SetBattleCamZoom = 0x8024EC0C;
AddBattleCamZoom = 0x8024EC4C;
func_8024ECF8 = 0x8024EC98;
FreezeBattleCam = 0x8024ED18;
ShowMessageBox = 0x80251474;
SetMessageBoxDuration = 0x802515C8;
ActorSpeak = 0x802530F0;
EndActorSpeech = 0x80253490;
ShowBattleChoice = 0x802536F8;
func_802535B4 = 0x80253774;
OverrideBattleDmaDest = 0x802537B8;
LoadBattleDmaData = 0x802537E4;
EnableBattleFloorReflections = 0x80253868;
func_80253734 = 0x802538F4;
func_802537C0 = 0x80253980;
PlaySoundAtActor = 0x80253A1C;
PlaySoundAtPart = 0x80253A90;
PlayLoopingSoundAtActor = 0x80253B34;
StopLoopingSoundAtActor = 0x80253BD8;
load_tattle_flags = 0x80254038;
StartRumble = 0x802543D8;
player_create_target_list = 0x80263424;
set_animation = 0x802640F4;
add_xz_vec3f = 0x80264520;
play_movement_dust_effects = 0x802646E8;
get_actor_part = 0x80264854;
lookup_defense = 0x8026623C;
LoadActionCommand = 0x802685B0;
SetupMashMeter = 0x802695B8;
SetActionSuccess = 0x802696B0;
SetActionCommandMode = 0x802696DC;
GetActionCommandMode = 0x80269708;
SetCommandAutoSuccess = 0x8026978C;
CloseActionCommandInfo = 0x80269800;
func_80269470 = 0x80269860;
ShowActionHud = 0x80269894;
GetActionSuccessCopy = 0x802698E8;
func_80269524 = 0x80269914;
GetBlockResult = 0x8026996C;
GetActionResult = 0x80269998;
get_actor = 0x8026A15C;
LoadBattleSection = 0x8026A1D4;
GetBattlePhase = 0x8026A218;
GetLastElement = 0x8026A244;
func_80269E80 = 0x8026A270;
func_80269EAC = 0x8026A29C;
SetGoalToHome = 0x8026A2B4;
SetIdleGoalToHome = 0x8026A31C;
SetGoalToIndex = 0x8026A384;
GetIndexFromPos = 0x8026A44C;
GetIndexFromHome = 0x8026A4C4;
CountPlayerTargets = 0x8026A53C;
ForceHomePos = 0x8026A5DC;
SetHomePos = 0x8026A6C0;
SetGoalToTarget = 0x8026A798;
SetGoalPos = 0x8026A900;
SetIdleGoal = 0x8026AA1C;
AddGoalPos = 0x8026AB38;
GetGoalPos = 0x8026AC10;
GetIdleGoal = 0x8026ACDC;
GetActorPos = 0x8026AE98;
GetPartOffset = 0x8026AF64;
GetPartPos = 0x8026B078;
GetHomePos = 0x8026B164;
SetActorPos = 0x8026B230;
SetPartPos = 0x8026B308;
SetEnemyTargetOffset = 0x8026B490;
SetAnimation = 0x8026B5A0;
GetAnimation = 0x8026B628;
SetAnimationRate = 0x8026B6C0;
SetActorYaw = 0x8026B748;
GetActorYaw = 0x8026B7B8;
SetPartYaw = 0x8026B828;
SetActorJumpGravity = 0x8026B94C;
SetActorIdleJumpGravity = 0x8026B9C8;
SetActorSpeed = 0x8026BA44;
SetActorIdleSpeed = 0x8026BAC0;
SetPartJumpGravity = 0x8026BB3C;
SetPartMoveSpeed = 0x8026BBDC;
SetJumpAnimations = 0x8026BC7C;
SetActorDispOffset = 0x8026BDF4;
SetPartDispOffset = 0x8026C028;
func_8026BF48 = 0x8026C338;
GetActorVar = 0x8026C3A4;
SetActorVar = 0x8026C434;
AddActorVar = 0x8026C4C4;
GetPartMovementVar = 0x8026C560;
SetPartMovementVar = 0x8026C61C;
SetActorRotation = 0x8026C79C;
SetActorRotationOffset = 0x8026C89C;
SetPartRotation = 0x8026CA24;
SetPartRotationOffset = 0x8026CB30;
GetPartRotation = 0x8026CC18;
SetActorScale = 0x8026CCF4;
GetActorScale = 0x8026CE74;
SetPartScale = 0x8026CF3C;
GetBattleFlags = 0x8026D100;
SetBattleFlagBits = 0x8026D12C;
GetBattleFlags2 = 0x8026D190;
SetBattleFlagBits2 = 0x8026D1BC;
SetActorFlagBits = 0x8026D27C;
GetActorFlags = 0x8026D310;
SetPartFlags = 0x8026D378;
SetPartFlagBits = 0x8026D400;
SetPartTargetFlagBits = 0x8026D548;
SetPartEventFlags = 0x8026D730;
SetPartEventBits = 0x8026D7B8;
GetPartEventFlags = 0x8026D878;
SetPartImmunityBits = 0x8026D994;
HPBarToHome = 0x8026DA54;
HPBarToCurrent = 0x8026DB98;
func_8026D940 = 0x8026DD30;
func_8026DA94 = 0x8026DE84;
SummonEnemy = 0x8026DF54;
GetOwnerID = 0x8026E1F0;
SetOwnerID = 0x8026E218;
ActorExists = 0x8026E24C;
func_8026DF88 = 0x8026E378;
SetBattleMenuDisableFlags = 0x8026E410;
SetEnabledStarPowers = 0x8026E428;
CheckButtonPress = 0x8026E488;
CheckButtonDown = 0x8026E4F8;
SetBattleState = 0x8026E55C;
WaitForState = 0x8026E588;
CancelEnemyTurn = 0x8026E5F8;
PlayerCreateTargetList = 0x8026E6BC;
EnemyCreateTargetList = 0x8026E700;
InitTargetIterator = 0x8026E744;
SetOwnerTarget = 0x8026E798;
ChooseNextTarget = 0x8026E804;
GetTargetListLength = 0x8026EC54;
GetOwnerTarget = 0x8026EC9C;
func_8026E914 = 0x8026ED04;
GetDistanceToGoal = 0x8026EDEC;
func_8026EA7C = 0x8026EE6C;
func_8026EBF8 = 0x8026EFE8;
func_8026ED20 = 0x8026F110;
AddActorDecoration = 0x8026F278;
RemoveActorDecoration = 0x8026F33C;
ModifyActorDecoration = 0x8026F3E0;
UseIdleAnimation = 0x8026F4DC;
GetStatusFlags = 0x8026F620;
RemovePlayerBuffs = 0x8026F83C;
SetPartAlpha = 0x8026F860;
CreatePartShadow = 0x8026F91C;
RemovePartShadow = 0x8026F98C;
func_8026F60C = 0x8026F9FC;
SetBattleVar = 0x8026FA28;
GetBattleVar = 0x8026FA84;
ResetAllActorSounds = 0x8026FADC;
SetActorSounds = 0x8026FB30;
ResetActorSounds = 0x8026FC28;
SetPartSounds = 0x8026FDF0;
SetActorType = 0x8026FF10;
GetActorAttackBoost = 0x8026FFF4;
GetActorDefenseBoost = 0x8027005C;
BoostAttack = 0x802700C4;
BoostDefense = 0x80270564;
VanishActor = 0x80270A04;
ElectrifyActor = 0x80270D4C;
HealActor = 0x80271094;
WaitForBuffDone = 0x8027153C;
CopyBuffs = 0x80271550;
GetMenuSelection = 0x802737B4;
func_80273444 = 0x80273834;
PlayerFallToGoal = 0x80273C84;
GetPlayerHP = 0x80274624;
EnablePlayerBlur = 0x80274D68;
DispatchEventPlayer = 0x8027730C;
BindTakeTurn = 0x80278D20;
PauseTakeTurn = 0x80278D94;
ResumeTakeTurn = 0x80278E0C;
BindIdle = 0x80278E84;
EnableIdleScript = 0x80278F3C;
BindHandleEvent = 0x80279010;
BindNextTurn = 0x80279084;
JumpToGoal = 0x802790F8;
IdleJumpToGoal = 0x802794FC;
JumpWithBounce = 0x80279B18;
LandJump = 0x80279EC4;
FallToGoal = 0x80279FDC;
RunToGoal = 0x8027A254;
IdleRunToGoal = 0x8027A654;
JumpPartTo = 0x8027A8D4;
FallPartTo = 0x8027AC44;
RunPartTo = 0x8027B09C;
FlyToGoal = 0x8027BA14;
IdleFlyToGoal = 0x8027BFA8;
FlyPartTo = 0x8027C328;
GetLastEvent = 0x8027C8D0;
SetTargetActor = 0x8027C938;
SetEnemyHP = 0x8027C9B8;
GetActorHP = 0x8027CA90;
GetEnemyMaxHP = 0x8027CB38;
RemoveActor = 0x8027CBA0;
DropStarPoints = 0x8027CC94;
SetDefenseTable = 0x8027CE64;
SetStatusTable = 0x8027CEF8;
SetIdleAnimations = 0x8027CF6C;
EnemyDamageTarget = 0x8027D0A4;
EnemyTestTarget = 0x8027D3A8;
DispatchDamageEvent = 0x8027D5AC;
DispatchEvent = 0x8027D654;
func_8027D2D8 = 0x8027D6C8;
func_8027D32C = 0x8027D71C;
SetTargetOffset = 0x8027D770;
func_8027D434 = 0x8027D824;
SetProjectileTargetOffset = 0x8027D8B8;
EnableActorBlur = 0x8027D96C;
AfflictActor = 0x8027DA6C;
GetInstigatorValue = 0x8027DB4C;
GetEncounterState = 0x8027DBB4;
YieldTurn = 0x8027DBE0;
SetActorSize = 0x8027DC00;
GetActorSize = 0x8027DCD0;
SetPartSize = 0x8027DD60;
GetOriginalActorType = 0x8027DE58;
GetLastDamage = 0x8027DF2C;
EnableActorGlow = 0x8027DF94;
WasStatusInflicted = 0x8027E058;
CopyStatusEffects = 0x8027E0AC;
ClearStatusEffects = 0x8027E190;
GetDamageIntensity = 0x80280C30;
DemoBattleBeginDelay = 0x80280DE8;
MakeShop = 0x80281878;
MakeShopOwner = 0x80281BF0;
CreateMapRoom = 0x80281CBC;
@ -434,6 +694,31 @@ ExitSplitDoubleDoor = 0x80285EAC;
EnterSplitDoubleDoor = 0x80285ED4;
BaseExitDoor = 0x80285EFC;
BaseEnterDoor = 0x802861C0;
ForceNextTarget = 0x80299240;
DoNormalHit = 0x80299694;
DoBurnHit = 0x8029A720;
DoShockHit = 0x8029AD4C;
D_8029A76C = 0x8029ADBC;
DoImmune = 0x8029B2C0;
DoDeath = 0x8029B510;
D_8029AF08 = 0x8029B558;
DoScareAway = 0x8029B87C;
DoSpinSmashHit = 0x8029BFE8;
D_8029BBB4 = 0x8029C204;
DoJumpBack = 0x8029C3C0;
DoReturnHome = 0x8029C508;
DoRecover = 0x8029C5F0;
D_8029C0A4 = 0x8029C6F4;
D_8029C12C = 0x8029C77C;
DoAirLift = 0x8029C9CC;
DoBlowAway = 0x8029CAF8;
action_command_jump_init = 0x802A9000;
action_command_stop_leech_init = 0x802A9000;
action_command_whirlwind_init = 0x802A9000;
action_command_stop_leech_start = 0x802A9110;
action_command_jump_start = 0x802A9120;
action_command_break_free_start = 0x802A91B0;
action_command_whirlwind_start = 0x802A91E0;
Entity_CymbalPlant = 0x802BC788;
Entity_PinkFlower = 0x802BC7AC;
Entity_SpinningFlower = 0x802BC7F4;
@ -495,11 +780,13 @@ SetRenderMode = 0x802CD4F4;
PlaySoundAtModel = 0x802CD558;
PlaySoundAtCollider = 0x802CD614;
SetCamEnabled = 0x802CD6C0;
SetCamFlag80 = 0x802CD774;
SetCamPerspective = 0x802CD828;
func_802CA988 = 0x802CD988;
SetCamViewport = 0x802CDB18;
func_802CABE8 = 0x802CDBE8;
SetCamBGColor = 0x802CDD98;
func_802CAE50 = 0x802CDE50;
SetCamTarget = 0x802CDF2C;
InterpCamTargetPos = 0x802CE008;
ShakeCam = 0x802CE2A8;
@ -530,12 +817,16 @@ InitAnimatedModels = 0x802CFCB0;
LoadAnimatedModel = 0x802CFCEC;
PlayModelAnimation = 0x802CFE6C;
SetAnimatedModelRootPosition = 0x802CFFE4;
GetAnimatedModelRootPosition = 0x802D0090;
SetAnimatedModelRenderMode = 0x802D0348;
DeleteAnimatedModel = 0x802D03C0;
SetAnimatorFlags = 0x802D0418;
GetAnimatedNodePosition = 0x802D05C0;
GetAnimatedNodeRotation = 0x802D06E0;
GetAnimatedPositionByTreeIndex = 0x802D07D8;
GetAnimatedRotationByTreeIndex = 0x802D08F8;
resolve_npc = 0x802D0AC0;
CreateNpc = 0x802D0BA4;
DeleteNpc = 0x802D0C1C;
GetNpcPointer = 0x802D0C58;
SetNpcPos = 0x802D0CB0;
@ -547,6 +838,7 @@ SetNpcSpeed = 0x802D101C;
SetNpcJumpscale = 0x802D1088;
SetNpcAnimation = 0x802D10F4;
GetNpcAnimation = 0x802D1160;
SetNpcAnimationSpeed = 0x802D11C0;
NpcMoveTo = 0x802D122C;
NpcJump0 = 0x802D16C4;
NpcJump1 = 0x802D16E0;
@ -652,6 +944,7 @@ ModifyGlobalOverrideFlags = 0x802D885C;
SetValueByRef = 0x802D88E0;
GetValueByRef = 0x802D893C;
EnableStatusMenu = 0x802D8998;
ClampAngleFloat = 0x802D8AB4;
GetLanguage = 0x802D8B04;
FadeOutMusic = 0x802D8D00;
SetMusicTrack = 0x802D8D6C;
@ -694,6 +987,8 @@ SetItemAlpha = 0x802DA23C;
AddCoin = 0x802DA298;
AddStarPieces = 0x802DA310;
ShowGotItem = 0x802DA3C4;
show_start_recovery_shimmer = 0x802DA480;
show_recovery_shimmer = 0x802DA4E0;
ShowEmote = 0x802DA8C0;
RemoveEffect = 0x802DAB04;
func_802D7B10 = 0x802DAB30;
@ -720,6 +1015,7 @@ fx_gather_energy_pink = 0x802DD3E0;
fx_damage_stars = 0x802DD5C0;
fx_explosion = 0x802DD620;
fx_lens_flare = 0x802DD680;
fx_flame = 0x802DD8C0;
fx_rising_bubble = 0x802DD9E0;
fx_ring_blast = 0x802DDA40;
fx_smoke_burst = 0x802DDB60;
@ -729,13 +1025,23 @@ fx_stars_orbiting = 0x802DDE60;
fx_radial_shimmer = 0x802DDFE0;
fx_fire_breath = 0x802DE160;
fx_3D = 0x802DE3A0;
fx_snowfall = 0x802DE6A0;
fx_46 = 0x802DE700;
fx_floating_rock = 0x802DE940;
fx_quizmo_stage = 0x802DEA00;
fx_quizmo_answer = 0x802DEAC0;
fx_motion_blur_flame = 0x802DEB20;
fx_energy_orb_wave = 0x802DEB80;
fx_quizmo_audience = 0x802DEC40;
fx_snaking_static = 0x802DED60;
fx_water_fountain = 0x802DEF40;
fx_lightning_bolt = 0x802DF000;
fx_energy_in_out = 0x802DF4E0;
fx_tattle_window = 0x802DF540;
fx_huff_puff_breath = 0x802DF600;
fx_cold_breath = 0x802DF660;
fx_misc_particles = 0x802DF780;
fx_static_status = 0x802DF7E0;
fx_chapter_change = 0x802DFA20;
fx_ice_shard = 0x802DFA80;
fx_spirit_card = 0x802DFAE0;
@ -743,6 +1049,7 @@ fx_lil_oink = 0x802DFB40;
fx_quizmo_assistant = 0x802DFCC0;
fx_sun = 0x802DFD80;
fx_star_spirits_energy = 0x802DFDE0;
fx_star_outline = 0x802DFEA0;
D_802D9D70 = 0x802E0030;
D_802D9D71 = 0x802E0031;
StarShrineLightBeamAlpha = 0x802E0032;
@ -754,6 +1061,7 @@ func_802DDFF8 = 0x802E42D8;
spr_get_player_raster_info = 0x802E4324;
func_802DE780 = 0x802E4A60;
func_802DE894 = 0x802E4B74;
func_802DE8DC = 0x802E4BBC;
spr_get_npc_raster_info = 0x802E4CB8;
spr_allocateBtlComponentsOnWorldHeap = 0x802E5804;
entity_upgrade_block_hide_content = 0x802EB990;

View File

@ -1 +1,22 @@
D_A0000000 = 0xA0000000;
D_A4000000 = 0xA4000000;
D_A4000768 = 0xA4000768;
D_A4001000 = 0xA4001000;
D_A4040010 = 0xA4040010;
D_A4300000 = 0xA4300000;
D_A4300004 = 0xA4300004;
D_A4300008 = 0xA4300008;
D_A430000C = 0xA430000C;
D_A4400010 = 0xA4400010;
D_A450000C = 0xA450000C;
D_A4600004 = 0xA4600004;
D_A460000C = 0xA460000C;
D_A4600010 = 0xA4600010;
D_A4700000 = 0xA4700000;
D_A4700010 = 0xA4700010;
D_A4800018 = 0xA4800018;
D_A6000000 = 0xA6000000;
D_B0000000 = 0xB0000000;
D_B0000008 = 0xB0000008;
D_B0000010 = 0xB0000010;
fx_sun_undeclared = fx_sun;