diff --git a/src/effects/confetti.c b/src/effects/confetti.c index 201e9d1b88..7a827dc21f 100644 --- a/src/effects/confetti.c +++ b/src/effects/confetti.c @@ -8,28 +8,29 @@ void confetti_appendGfx(void* effect); extern Gfx D_090009E8_38C588[]; extern Gfx D_09000A00_38C5A0[]; +extern Gfx D_09000940_38C4E0[]; Gfx* D_E0088CC0[] = { D_090009E8_38C588, D_090009E8_38C588, D_090009E8_38C588, D_09000A00_38C5A0, D_090009E8_38C588, D_090009E8_38C588, D_090009E8_38C588 }; -u8 D_E0088CDC[] = { - 232, 160, 168, - 168, 80, 88, - 160, 168, 232, - 72, 72, 232, - 160, 232, 160, - 96, 176, 120, - 224, 224, 88, - 176, 160, 56, - 232, 160, 232, - 176, 64, 160, - 160, 216, 216, - 88, 168, 168 +Color_RGB8 D_E0088CDC[] = { + { 232, 160, 168, }, + { 168, 80, 88, }, + { 160, 168, 232, }, + { 72, 72, 232, }, + { 160, 232, 160, }, + { 96, 176, 120, }, + { 224, 224, 88, }, + { 176, 160, 56, }, + { 232, 160, 232, }, + { 176, 64, 160, }, + { 160, 216, 216, }, + { 88, 168, 168, }, }; -s8 D_E0088D00[] = { 0, 1, 2, 3, 2, 1, 0, 0 }; +u8 D_E0088D00[] = { 0, 1, 2, 3, 2, 1, 0, 0 }; u8 D_E0088D08[] = { 0, 45, 0, 60 }; @@ -238,4 +239,76 @@ void confetti_render(EffectInstance* effect) { retTask = shim_queue_render_task(&renderTask); } -INCLUDE_ASM(s32, "effects/confetti", confetti_appendGfx); +void confetti_appendGfx(void* effect) { + ConfettiFXData* part = ((EffectInstance*)effect)->data.confetti; //s3 + Matrix4f sp18; + Matrix4f sp58; + s32 i; + s32 uly; + s32 width = 0x3C; + s32 height = 0x3C; + s32 ulx = 0; + s32 unk_28; + s32 unk_2C; + Gfx* spA0; + s32 spA4; + Gfx* savedGfxPos; + s32 unk_24; + Color_RGB8* color; + + unk_24 = part->unk_24; + unk_2C = part->unk_2C; + unk_28 = part->unk_28; + spA0 = D_E0088CC0[part->unk_00]; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + gSPDisplayList(gMasterGfxPos++, D_09000940_38C4E0); + + shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C); + shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + savedGfxPos = gMasterGfxPos++; + + part++; + for (i = 0; i < unk_2C; i++, part++) { + color = &D_E0088CDC[i % 12]; + + if (part->unk_30 <= 0) { + shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C); + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + + gDPSetPrimColor(gMasterGfxPos++, 0, 0, color->r, color->g, color->b, unk_28); + + switch ((unk_24 + i) % 3) { + case 0: + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, PRIMITIVE, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, PRIMITIVE, 0, TEXEL0, 0); + break; + case 1: + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, PRIMITIVE, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, PRIMITIVE, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0); + break; + case 2: + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, PRIMITIVE, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, 0, TEXEL0, 0); + break; + } + uly = ((i + D_E0088D00[unk_24 % 6]) & 0xF) * 16; + + gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, ulx << 2, uly << 2, + (ulx << 2) + ((width >> 1) << 1), (uly << 2) + height); + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPDisplayList(gMasterGfxPos++, spA0); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + } + + gSPEndDisplayList(gMasterGfxPos++); + gSPBranchList(savedGfxPos, gMasterGfxPos); + savedGfxPos++; + gSPDisplayList(gMasterGfxPos++, savedGfxPos); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + gDPPipeSync(gMasterGfxPos++); +} + diff --git a/src/effects/energy_orb_wave.c b/src/effects/energy_orb_wave.c index cc8d75f077..7c476701ec 100644 --- a/src/effects/energy_orb_wave.c +++ b/src/effects/energy_orb_wave.c @@ -78,7 +78,129 @@ EffectInstance* energy_orb_wave_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 void energy_orb_wave_init(EffectInstance* effect) { } -INCLUDE_ASM(s32, "effects/energy_orb_wave", energy_orb_wave_update); +void energy_orb_wave_update(EffectInstance* effect) { + EnergyOrbWaveFXData* data = effect->data.energyOrbWave; + f32 var_float; + s32 unk_14; + s32 var_2; + s32 var_1; + s32 unk_1C; + u16 var_4; + s32 var_3; + + if (effect->flags & EFFECT_INSTANCE_FLAGS_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAGS_10; + data->unk_10 = 30; + } + + if (data->unk_10 < 100) { + data->unk_10--; + } + data->unk_14++; + + if (data->unk_10 < 0) { + shim_remove_effect(effect); + return; + } + + unk_14 = data->unk_14; + unk_1C = data->unk_1C; + var_1 = 0xFF; + var_2 = 0xFF; + + if (unk_14 < 16) { + var_1 = (unk_14 * 16) - 1; + } + if (data->unk_10 < 16) { + var_1 = var_1 * data->unk_10 / 16; + var_2 = data->unk_10 * 16; + } + + switch (unk_1C) { + case 0: + data->unk_20 = 70; + data->unk_24 = 180; + data->unk_28 = 120; + var_float = shim_sin_deg(unk_14 * 2) * 10.0f + 190.0f; + data->unk_2C = ((s32) var_float * var_1) / 255; + break; + case 1: + var_3 = 255; + data->unk_20 = 70; + data->unk_24 = 255; + data->unk_28 = 230; + data->unk_2C = (var_1 * var_3) / 255; + break; + case 2: + data->unk_20 = 170; + data->unk_24 = 40; + data->unk_28 = 110; + var_float = shim_sin_deg(unk_14 * 2) * 10.0f + 190.0f; + data->unk_2C = ((s32) var_float * var_1) / 255; + break; + case 3: + var_4 = 255; + data->unk_20 = 220; + data->unk_24 = 40; + data->unk_28 = 170; + data->unk_2C = (var_1 * var_4) / 255; + break; + case 4: + data->unk_20 = 235; + data->unk_24 = 235; + data->unk_28 = 200; + var_float = shim_sin_deg(unk_14 * 2) * 15.0f + 215.0f; + data->unk_2C = ((s32) var_float * var_1) / 255; + break; + case 5: + var_4 = 255; + data->unk_20 = 235; + data->unk_24 = 235; + data->unk_28 = 200; + data->unk_2C = (var_1 * var_4) / 255; + break; + case 6: + var_4 = 127; + data->unk_20 = 70; + data->unk_24 = 180; + data->unk_28 = 120; + data->unk_2C = (var_2 * var_4) / 255; + data->scale *= 1.1; + break; + case 7: + var_4 = 160; + data->unk_20 = 162; + data->unk_24 = 189; + data->unk_28 = 174; + data->unk_2C = (var_2 * var_4) / 255; + data->scale *= 1.1; + break; + case 8: + var_4 = 127; + data->unk_20 = 170; + data->unk_24 = 40; + data->unk_28 = 110; + data->unk_2C = (var_2 * var_4) / 255; + data->scale *= 1.1; + break; + case 9: + var_4 = 160; + data->unk_20 = 180; + data->unk_24 = 178; + data->unk_28 = 174; + data->unk_2C = (var_2 * var_4) / 255; + data->scale *= 1.1; + break; + default: + var_4 = 160; + data->unk_20 = 50; + data->unk_24 = 50; + data->unk_28 = 255; + data->unk_2C = (var_2 * var_4) / 255; + data->scale += data->unk_34; + break; + } +} void energy_orb_wave_render(EffectInstance* effect) { EnergyOrbWaveFXData* effect82 = effect->data.energyOrbWave; diff --git a/src/effects/star_spirits_energy.c b/src/effects/star_spirits_energy.c index a103c4aa60..62fdc589ef 100644 --- a/src/effects/star_spirits_energy.c +++ b/src/effects/star_spirits_energy.c @@ -18,7 +18,7 @@ Gfx* D_E0122BA4[] = { D_09004E00_412090 }; typedef struct UnkStarSpiritsEnergy { /* 0x00 */ u16 unk_00; /* 0x02 */ char unk_02; - /* 0x02 */ u8 unk_03; + /* 0x03 */ u8 unk_03; } UnkStarSpiritsEnergy; // size = 0x4 UnkStarSpiritsEnergy D_E0122BA8[] = { @@ -156,7 +156,171 @@ EffectInstance* star_spirits_energy_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, void star_spirits_energy_init(EffectInstance* effect) { } -INCLUDE_ASM(s32, "effects/star_spirits_energy", star_spirits_energy_update); +void star_spirits_energy_update(EffectInstance* effect) { + StarSpiritsEnergyFXData* data = effect->data.starSpiritsEnergy; + s32 unk_04 = data->unk_04; + s32 unk_18; + s32 i; + f32 var_float_1; + f32 var_float_2; + f32 var_float_3; + u8 var_int_1; + u8 var_int_2; + u8 var_int_3; + + if (effect->flags & EFFECT_INSTANCE_FLAGS_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAGS_10; + data->unk_14 = 16; + } + + if (data->unk_14 < 1000) { + data->unk_14--; + } + + data->unk_18++; + + if (data->unk_14 < 0) { + shim_remove_effect(effect); + return; + } + + unk_18 = data->unk_18; + + if (data->unk_14 < 16) { + data->unk_28 = data->unk_14 * 16; + } + + switch (data->unk_70) { + case 0: + data->unk_50[0] = (unk_18 & 3) * 30 + 200; + data->unk_74++; + data->unk_40[0] = shim_sin_deg(unk_18 * 20) * 0.04 + 0.5; + if (data->unk_00 != 0) { + data->unk_08 += shim_sin_deg(unk_18); + data->unk_0C += shim_cos_deg(unk_18 * 1.235631); + if (data->unk_74 > 50) { + data->unk_74 = 0; + if (unk_04 == 3) { + data->unk_70 = 100; + } else { + data->unk_70 = 1; + } + } + } + break; + case 100: + switch (data->unk_74) { + case 0: + data->unk_40[3] = 4.0f; + data->unk_50[3] = 255; + break; + case 1: + data->unk_40[3] = 8.0f; + data->unk_50[3] = 255; + break; + default: + data->unk_40[3] = 0.0f; + data->unk_50[3] = 0; + break; + } + if (data->unk_74 < 30) { + var_float_1 = (f32) D_E0122BA8[data->unk_74].unk_00 * 0.01 + data->unk_74 * 0.3; + var_int_1 = D_E0122BA8[data->unk_74].unk_03; + } else { + var_float_1 = (f32) D_E0122BA8[29].unk_00 * 0.01 + data->unk_74 * 0.3; + var_int_1 = D_E0122BA8[29].unk_03; + } + data->unk_40[0] = data->unk_50[0] = 0; + data->unk_50[1] = var_int_1; + data->unk_50[2] = var_int_1; + data->unk_40[1] = var_float_1; + data->unk_40[2] = var_float_1 + 0.6; + data->unk_74++; + break; + case 1: + switch (data->unk_74) { + case 0: + data->unk_40[3] = 4.0f; + data->unk_50[3] = 255; + break; + case 1: + data->unk_40[3] = 8.0f; + data->unk_50[3] = 255; + break; + default: + data->unk_40[3] = 0.0f; + data->unk_50[3] = 0; + break; + } + var_float_2 = (f32) D_E0122BA8[data->unk_74].unk_00 * 0.01; + var_int_2 = D_E0122BA8[data->unk_74].unk_03; + + data->unk_40[0] = data->unk_50[0] = 0; + data->unk_50[1] = var_int_2; + data->unk_50[2] = var_int_2; + data->unk_40[1] = var_float_2; + data->unk_40[2] = var_float_2 * 1.2 + 4.0; + data->unk_74++; + if (data->unk_74 >= 30) { + data->unk_74 = 0; + data->unk_70 = 4; + } + break; + case 4: + switch (29 - data->unk_74) { + case 0: + data->unk_40[3] = 4.0f; + data->unk_50[3] = 255; + break; + case 1: + data->unk_40[3] = 8.0f; + data->unk_50[3] = 255; + break; + default: + data->unk_40[3] = 0; + data->unk_50[3] = 0; + break; + } + var_float_3 = (f32) D_E0122C20[data->unk_74].unk_00 * 0.01; + var_int_3 = D_E0122C20[data->unk_74].unk_03; + data->unk_40[0] = data->unk_50[0] = 0; + data->unk_50[1] = var_int_3; + data->unk_50[2] = 0; + data->unk_40[1] = var_float_3; + data->unk_40[2] = 0.0f; + data->unk_74++; + if (data->unk_74 >= 30) { + data->unk_74 = 0; + data->unk_70 = 5; + } + break; + case 5: + default: + data->unk_40[0] = 0.0f; + data->unk_40[1] = 0.0f; + data->unk_40[2] = 0.0f; + data->unk_50[0] = 0; + data->unk_50[1] = 0; + data->unk_50[2] = 0; + data->unk_40[3] = 0; + data->unk_50[3] = 0; + data->unk_40[3] = 0; + data->unk_74++; + break; + } + + for (i = 0; i < 4; i++) { + if (data->unk_50[i] > 255) { + data->unk_50[i] = 255; + } + if (data->unk_50[i] < 0) { + data->unk_50[i] = 0; + } + if (data->unk_40[i] < 0.0f) { + data->unk_40[i] = 0.0f; + } + } +} void star_spirits_energy_render(EffectInstance* effect) { RenderTask renderTask; diff --git a/ver/us/asm/nonmatchings/effects/confetti/confetti_appendGfx.s b/ver/us/asm/nonmatchings/effects/confetti/confetti_appendGfx.s deleted file mode 100644 index 10b0e8a379..0000000000 --- a/ver/us/asm/nonmatchings/effects/confetti/confetti_appendGfx.s +++ /dev/null @@ -1,326 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel confetti_appendGfx -/* 38B5D0 E00887E0 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 38B5D4 E00887E4 0080382D */ daddu $a3, $a0, $zero -/* 38B5D8 E00887E8 3C08DB06 */ lui $t0, 0xdb06 -/* 38B5DC E00887EC 35080024 */ ori $t0, $t0, 0x24 -/* 38B5E0 E00887F0 27A40018 */ addiu $a0, $sp, 0x18 -/* 38B5E4 E00887F4 AFB200B0 */ sw $s2, 0xb0($sp) -/* 38B5E8 E00887F8 3C120001 */ lui $s2, 1 -/* 38B5EC E00887FC AFB500BC */ sw $s5, 0xbc($sp) -/* 38B5F0 E0088800 3C15800A */ lui $s5, %hi(gMasterGfxPos) -/* 38B5F4 E0088804 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos) -/* 38B5F8 E0088808 AFBF00CC */ sw $ra, 0xcc($sp) -/* 38B5FC E008880C AFBE00C8 */ sw $fp, 0xc8($sp) -/* 38B600 E0088810 AFB700C4 */ sw $s7, 0xc4($sp) -/* 38B604 E0088814 AFB600C0 */ sw $s6, 0xc0($sp) -/* 38B608 E0088818 AFB400B8 */ sw $s4, 0xb8($sp) -/* 38B60C E008881C AFB300B4 */ sw $s3, 0xb4($sp) -/* 38B610 E0088820 AFB100AC */ sw $s1, 0xac($sp) -/* 38B614 E0088824 AFB000A8 */ sw $s0, 0xa8($sp) -/* 38B618 E0088828 8EA30000 */ lw $v1, ($s5) -/* 38B61C E008882C 8CF3000C */ lw $s3, 0xc($a3) -/* 38B620 E0088830 0060302D */ daddu $a2, $v1, $zero -/* 38B624 E0088834 24630008 */ addiu $v1, $v1, 8 -/* 38B628 E0088838 AEA30000 */ sw $v1, ($s5) -/* 38B62C E008883C 8E650000 */ lw $a1, ($s3) -/* 38B630 E0088840 24620008 */ addiu $v0, $v1, 8 -/* 38B634 E0088844 AEA20000 */ sw $v0, ($s5) -/* 38B638 E0088848 8E7E0024 */ lw $fp, 0x24($s3) -/* 38B63C E008884C 8E69002C */ lw $t1, 0x2c($s3) -/* 38B640 E0088850 36521630 */ ori $s2, $s2, 0x1630 -/* 38B644 E0088854 AFA9009C */ sw $t1, 0x9c($sp) -/* 38B648 E0088858 8E690028 */ lw $t1, 0x28($s3) -/* 38B64C E008885C 00052880 */ sll $a1, $a1, 2 -/* 38B650 E0088860 AFA90098 */ sw $t1, 0x98($sp) -/* 38B654 E0088864 3C01E009 */ lui $at, %hi(D_E0088CC0) -/* 38B658 E0088868 00250821 */ addu $at, $at, $a1 -/* 38B65C E008886C 8C258CC0 */ lw $a1, %lo(D_E0088CC0)($at) -/* 38B660 E0088870 3C02E700 */ lui $v0, 0xe700 -/* 38B664 E0088874 AFA500A0 */ sw $a1, 0xa0($sp) -/* 38B668 E0088878 ACC20000 */ sw $v0, ($a2) -/* 38B66C E008887C ACC00004 */ sw $zero, 4($a2) -/* 38B670 E0088880 AC680000 */ sw $t0, ($v1) -/* 38B674 E0088884 8CE50010 */ lw $a1, 0x10($a3) -/* 38B678 E0088888 24620010 */ addiu $v0, $v1, 0x10 -/* 38B67C E008888C AEA20000 */ sw $v0, ($s5) -/* 38B680 E0088890 8CA5001C */ lw $a1, 0x1c($a1) -/* 38B684 E0088894 3C02DE00 */ lui $v0, 0xde00 -/* 38B688 E0088898 AC620008 */ sw $v0, 8($v1) -/* 38B68C E008889C 3C020900 */ lui $v0, 0x900 -/* 38B690 E00888A0 24420940 */ addiu $v0, $v0, 0x940 -/* 38B694 E00888A4 AC62000C */ sw $v0, 0xc($v1) -/* 38B698 E00888A8 3C028000 */ lui $v0, 0x8000 -/* 38B69C E00888AC 00A22821 */ addu $a1, $a1, $v0 -/* 38B6A0 E00888B0 AC650004 */ sw $a1, 4($v1) -/* 38B6A4 E00888B4 8E650004 */ lw $a1, 4($s3) -/* 38B6A8 E00888B8 8E660008 */ lw $a2, 8($s3) -/* 38B6AC E00888BC 8E67000C */ lw $a3, 0xc($s3) -/* 38B6B0 E00888C0 0C080108 */ jal shim_guTranslateF -/* 38B6B4 E00888C4 0000A02D */ daddu $s4, $zero, $zero -/* 38B6B8 E00888C8 27B00058 */ addiu $s0, $sp, 0x58 -/* 38B6BC E00888CC 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* 38B6C0 E00888D0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* 38B6C4 E00888D4 44800000 */ mtc1 $zero, $f0 -/* 38B6C8 E00888D8 00031080 */ sll $v0, $v1, 2 -/* 38B6CC E00888DC 00431021 */ addu $v0, $v0, $v1 -/* 38B6D0 E00888E0 00021080 */ sll $v0, $v0, 2 -/* 38B6D4 E00888E4 00431023 */ subu $v0, $v0, $v1 -/* 38B6D8 E00888E8 000218C0 */ sll $v1, $v0, 3 -/* 38B6DC E00888EC 00431021 */ addu $v0, $v0, $v1 -/* 38B6E0 E00888F0 000210C0 */ sll $v0, $v0, 3 -/* 38B6E4 E00888F4 44060000 */ mfc1 $a2, $f0 -/* 38B6E8 E00888F8 3C01800B */ lui $at, %hi(gCameras+0x6C) -/* 38B6EC E00888FC 00220821 */ addu $at, $at, $v0 -/* 38B6F0 E0088900 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at) -/* 38B6F4 E0088904 3C073F80 */ lui $a3, 0x3f80 -/* 38B6F8 E0088908 46000007 */ neg.s $f0, $f0 -/* 38B6FC E008890C 44050000 */ mfc1 $a1, $f0 -/* 38B700 E0088910 0200202D */ daddu $a0, $s0, $zero -/* 38B704 E0088914 0C080104 */ jal shim_guRotateF -/* 38B708 E0088918 AFA60010 */ sw $a2, 0x10($sp) -/* 38B70C E008891C 0200202D */ daddu $a0, $s0, $zero -/* 38B710 E0088920 27A50018 */ addiu $a1, $sp, 0x18 -/* 38B714 E0088924 0C080114 */ jal shim_guMtxCatF -/* 38B718 E0088928 00A0302D */ daddu $a2, $a1, $zero -/* 38B71C E008892C 27A40018 */ addiu $a0, $sp, 0x18 -/* 38B720 E0088930 3C108007 */ lui $s0, %hi(gMatrixListPos) -/* 38B724 E0088934 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos) -/* 38B728 E0088938 3C11800A */ lui $s1, %hi(gDisplayContext) -/* 38B72C E008893C 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext) -/* 38B730 E0088940 96050000 */ lhu $a1, ($s0) -/* 38B734 E0088944 8E220000 */ lw $v0, ($s1) -/* 38B738 E0088948 00052980 */ sll $a1, $a1, 6 -/* 38B73C E008894C 00B22821 */ addu $a1, $a1, $s2 -/* 38B740 E0088950 0C080118 */ jal shim_guMtxF2L -/* 38B744 E0088954 00452821 */ addu $a1, $v0, $a1 -/* 38B748 E0088958 3C04DA38 */ lui $a0, 0xda38 -/* 38B74C E008895C 34840002 */ ori $a0, $a0, 2 -/* 38B750 E0088960 8EA30000 */ lw $v1, ($s5) -/* 38B754 E0088964 96020000 */ lhu $v0, ($s0) -/* 38B758 E0088968 0060282D */ daddu $a1, $v1, $zero -/* 38B75C E008896C 24630008 */ addiu $v1, $v1, 8 -/* 38B760 E0088970 0060B02D */ daddu $s6, $v1, $zero -/* 38B764 E0088974 24430001 */ addiu $v1, $v0, 1 -/* 38B768 E0088978 3042FFFF */ andi $v0, $v0, 0xffff -/* 38B76C E008897C 00021180 */ sll $v0, $v0, 6 -/* 38B770 E0088980 AEB60000 */ sw $s6, ($s5) -/* 38B774 E0088984 ACA40000 */ sw $a0, ($a1) -/* 38B778 E0088988 A6030000 */ sh $v1, ($s0) -/* 38B77C E008898C 8E230000 */ lw $v1, ($s1) -/* 38B780 E0088990 00521021 */ addu $v0, $v0, $s2 -/* 38B784 E0088994 00621821 */ addu $v1, $v1, $v0 -/* 38B788 E0088998 26C20008 */ addiu $v0, $s6, 8 -/* 38B78C E008899C ACA30004 */ sw $v1, 4($a1) -/* 38B790 E00889A0 AEA20000 */ sw $v0, ($s5) -/* 38B794 E00889A4 8FA9009C */ lw $t1, 0x9c($sp) -/* 38B798 E00889A8 1920009B */ blez $t1, .LE0088C18 -/* 38B79C E00889AC 26730034 */ addiu $s3, $s3, 0x34 -/* 38B7A0 E00889B0 3C092AAA */ lui $t1, 0x2aaa -/* 38B7A4 E00889B4 3529AAAB */ ori $t1, $t1, 0xaaab -/* 38B7A8 E00889B8 AFA900A4 */ sw $t1, 0xa4($sp) -/* 38B7AC E00889BC 3C170001 */ lui $s7, 1 -/* 38B7B0 E00889C0 36F71630 */ ori $s7, $s7, 0x1630 -/* 38B7B4 E00889C4 02A0882D */ daddu $s1, $s5, $zero -/* 38B7B8 E00889C8 03C90018 */ mult $fp, $t1 -/* 38B7BC E00889CC 3C15FC11 */ lui $s5, 0xfc11 -/* 38B7C0 E00889D0 36B5B223 */ ori $s5, $s5, 0xb223 -/* 38B7C4 E00889D4 2672000C */ addiu $s2, $s3, 0xc -/* 38B7C8 E00889D8 001E17C3 */ sra $v0, $fp, 0x1f -/* 38B7CC E00889DC 00004810 */ mfhi $t1 -/* 38B7D0 E00889E0 01229823 */ subu $s3, $t1, $v0 -.LE00889E4: -/* 38B7D4 E00889E4 8FA900A4 */ lw $t1, 0xa4($sp) -/* 38B7D8 E00889E8 02890018 */ mult $s4, $t1 -/* 38B7DC E00889EC 001417C3 */ sra $v0, $s4, 0x1f -/* 38B7E0 E00889F0 00004810 */ mfhi $t1 -/* 38B7E4 E00889F4 00091843 */ sra $v1, $t1, 1 -/* 38B7E8 E00889F8 00621823 */ subu $v1, $v1, $v0 -/* 38B7EC E00889FC 00031040 */ sll $v0, $v1, 1 -/* 38B7F0 E0088A00 00431021 */ addu $v0, $v0, $v1 -/* 38B7F4 E0088A04 00021080 */ sll $v0, $v0, 2 -/* 38B7F8 E0088A08 02821023 */ subu $v0, $s4, $v0 -/* 38B7FC E0088A0C 00021840 */ sll $v1, $v0, 1 -/* 38B800 E0088A10 00621821 */ addu $v1, $v1, $v0 -/* 38B804 E0088A14 3C09E009 */ lui $t1, %hi(D_E0088CDC) -/* 38B808 E0088A18 25298CDC */ addiu $t1, $t1, %lo(D_E0088CDC) -/* 38B80C E0088A1C 8E420024 */ lw $v0, 0x24($s2) -/* 38B810 E0088A20 1C400078 */ bgtz $v0, .LE0088C04 -/* 38B814 E0088A24 00698021 */ addu $s0, $v1, $t1 -/* 38B818 E0088A28 8E45FFF8 */ lw $a1, -8($s2) -/* 38B81C E0088A2C 8E46FFFC */ lw $a2, -4($s2) -/* 38B820 E0088A30 8E470000 */ lw $a3, ($s2) -/* 38B824 E0088A34 0C080108 */ jal shim_guTranslateF -/* 38B828 E0088A38 27A40018 */ addiu $a0, $sp, 0x18 -/* 38B82C E0088A3C 27A40018 */ addiu $a0, $sp, 0x18 -/* 38B830 E0088A40 3C058007 */ lui $a1, %hi(gMatrixListPos) -/* 38B834 E0088A44 94A541F0 */ lhu $a1, %lo(gMatrixListPos)($a1) -/* 38B838 E0088A48 3C02800A */ lui $v0, %hi(gDisplayContext) -/* 38B83C E0088A4C 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0) -/* 38B840 E0088A50 00052980 */ sll $a1, $a1, 6 -/* 38B844 E0088A54 00B72821 */ addu $a1, $a1, $s7 -/* 38B848 E0088A58 0C080118 */ jal shim_guMtxF2L -/* 38B84C E0088A5C 00452821 */ addu $a1, $v0, $a1 -/* 38B850 E0088A60 3C065555 */ lui $a2, 0x5555 -/* 38B854 E0088A64 34C65556 */ ori $a2, $a2, 0x5556 -/* 38B858 E0088A68 8E270000 */ lw $a3, ($s1) -/* 38B85C E0088A6C 3C02FA00 */ lui $v0, 0xfa00 -/* 38B860 E0088A70 00E0282D */ daddu $a1, $a3, $zero -/* 38B864 E0088A74 24E70008 */ addiu $a3, $a3, 8 -/* 38B868 E0088A78 AE270000 */ sw $a3, ($s1) -/* 38B86C E0088A7C ACA20000 */ sw $v0, ($a1) -/* 38B870 E0088A80 92030000 */ lbu $v1, ($s0) -/* 38B874 E0088A84 92040001 */ lbu $a0, 1($s0) -/* 38B878 E0088A88 92020002 */ lbu $v0, 2($s0) -/* 38B87C E0088A8C 8FA90098 */ lw $t1, 0x98($sp) -/* 38B880 E0088A90 00031E00 */ sll $v1, $v1, 0x18 -/* 38B884 E0088A94 00042400 */ sll $a0, $a0, 0x10 -/* 38B888 E0088A98 00641825 */ or $v1, $v1, $a0 -/* 38B88C E0088A9C 00021200 */ sll $v0, $v0, 8 -/* 38B890 E0088AA0 00621825 */ or $v1, $v1, $v0 -/* 38B894 E0088AA4 03D42021 */ addu $a0, $fp, $s4 -/* 38B898 E0088AA8 00860018 */ mult $a0, $a2 -/* 38B89C E0088AAC 312200FF */ andi $v0, $t1, 0xff -/* 38B8A0 E0088AB0 00621825 */ or $v1, $v1, $v0 -/* 38B8A4 E0088AB4 ACA30004 */ sw $v1, 4($a1) -/* 38B8A8 E0088AB8 00041FC3 */ sra $v1, $a0, 0x1f -/* 38B8AC E0088ABC 00004810 */ mfhi $t1 -/* 38B8B0 E0088AC0 01231823 */ subu $v1, $t1, $v1 -/* 38B8B4 E0088AC4 00031040 */ sll $v0, $v1, 1 -/* 38B8B8 E0088AC8 00431021 */ addu $v0, $v0, $v1 -/* 38B8BC E0088ACC 00822023 */ subu $a0, $a0, $v0 -/* 38B8C0 E0088AD0 24020001 */ addiu $v0, $zero, 1 -/* 38B8C4 E0088AD4 1082000D */ beq $a0, $v0, .LE0088B0C -/* 38B8C8 E0088AD8 28820002 */ slti $v0, $a0, 2 -/* 38B8CC E0088ADC 10400005 */ beqz $v0, .LE0088AF4 -/* 38B8D0 E0088AE0 24020002 */ addiu $v0, $zero, 2 -/* 38B8D4 E0088AE4 10800007 */ beqz $a0, .LE0088B04 -/* 38B8D8 E0088AE8 3C06D838 */ lui $a2, 0xd838 -/* 38B8DC E0088AEC 080222CE */ j .LE0088B38 -/* 38B8E0 E0088AF0 34C60002 */ ori $a2, $a2, 2 -.LE0088AF4: -/* 38B8E4 E0088AF4 10820008 */ beq $a0, $v0, .LE0088B18 -/* 38B8E8 E0088AF8 3C06D838 */ lui $a2, 0xd838 -/* 38B8EC E0088AFC 080222CE */ j .LE0088B38 -/* 38B8F0 E0088B00 34C60002 */ ori $a2, $a2, 2 -.LE0088B04: -/* 38B8F4 E0088B04 080222C7 */ j .LE0088B1C -/* 38B8F8 E0088B08 3C03F566 */ lui $v1, 0xf566 -.LE0088B0C: -/* 38B8FC E0088B0C 3C03FF66 */ lui $v1, 0xff66 -/* 38B900 E0088B10 080222C8 */ j .LE0088B20 -/* 38B904 E0088B14 3463FF7F */ ori $v1, $v1, 0xff7f -.LE0088B18: -/* 38B908 E0088B18 3C03FF66 */ lui $v1, 0xff66 -.LE0088B1C: -/* 38B90C E0088B1C 3463FFFF */ ori $v1, $v1, 0xffff -.LE0088B20: -/* 38B910 E0088B20 24E20008 */ addiu $v0, $a3, 8 -/* 38B914 E0088B24 AE220000 */ sw $v0, ($s1) -/* 38B918 E0088B28 ACF50000 */ sw $s5, ($a3) -/* 38B91C E0088B2C ACE30004 */ sw $v1, 4($a3) -/* 38B920 E0088B30 3C06D838 */ lui $a2, 0xd838 -/* 38B924 E0088B34 34C60002 */ ori $a2, $a2, 2 -.LE0088B38: -/* 38B928 E0088B38 00131040 */ sll $v0, $s3, 1 -/* 38B92C E0088B3C 00531021 */ addu $v0, $v0, $s3 -/* 38B930 E0088B40 00021040 */ sll $v0, $v0, 1 -/* 38B934 E0088B44 03C21023 */ subu $v0, $fp, $v0 -/* 38B938 E0088B48 3C09E009 */ lui $t1, %hi(D_E0088D00) -/* 38B93C E0088B4C 25298D00 */ addiu $t1, $t1, %lo(D_E0088D00) -/* 38B940 E0088B50 00491021 */ addu $v0, $v0, $t1 -/* 38B944 E0088B54 90430000 */ lbu $v1, ($v0) -/* 38B948 E0088B58 3C02F200 */ lui $v0, 0xf200 -/* 38B94C E0088B5C 8E240000 */ lw $a0, ($s1) -/* 38B950 E0088B60 2409003C */ addiu $t1, $zero, 0x3c -/* 38B954 E0088B64 0080282D */ daddu $a1, $a0, $zero -/* 38B958 E0088B68 24840008 */ addiu $a0, $a0, 8 -/* 38B95C E0088B6C 02831821 */ addu $v1, $s4, $v1 -/* 38B960 E0088B70 3063000F */ andi $v1, $v1, 0xf -/* 38B964 E0088B74 00031980 */ sll $v1, $v1, 6 -/* 38B968 E0088B78 00621025 */ or $v0, $v1, $v0 -/* 38B96C E0088B7C 34420000 */ ori $v0, $v0, 0 -/* 38B970 E0088B80 AE240000 */ sw $a0, ($s1) -/* 38B974 E0088B84 ACA20000 */ sw $v0, ($a1) -/* 38B978 E0088B88 00091300 */ sll $v0, $t1, 0xc -/* 38B97C E0088B8C 00691825 */ or $v1, $v1, $t1 -/* 38B980 E0088B90 00431025 */ or $v0, $v0, $v1 -/* 38B984 E0088B94 ACA20004 */ sw $v0, 4($a1) -/* 38B988 E0088B98 24820008 */ addiu $v0, $a0, 8 -/* 38B98C E0088B9C 3C058007 */ lui $a1, %hi(gMatrixListPos) -/* 38B990 E0088BA0 24A541F0 */ addiu $a1, $a1, %lo(gMatrixListPos) -/* 38B994 E0088BA4 AE220000 */ sw $v0, ($s1) -/* 38B998 E0088BA8 94A20000 */ lhu $v0, ($a1) -/* 38B99C E0088BAC 3C03DA38 */ lui $v1, 0xda38 -/* 38B9A0 E0088BB0 AC830000 */ sw $v1, ($a0) -/* 38B9A4 E0088BB4 24430001 */ addiu $v1, $v0, 1 -/* 38B9A8 E0088BB8 3042FFFF */ andi $v0, $v0, 0xffff -/* 38B9AC E0088BBC 00021180 */ sll $v0, $v0, 6 -/* 38B9B0 E0088BC0 A4A30000 */ sh $v1, ($a1) -/* 38B9B4 E0088BC4 3C03800A */ lui $v1, %hi(gDisplayContext) -/* 38B9B8 E0088BC8 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1) -/* 38B9BC E0088BCC 00571021 */ addu $v0, $v0, $s7 -/* 38B9C0 E0088BD0 00621821 */ addu $v1, $v1, $v0 -/* 38B9C4 E0088BD4 24820010 */ addiu $v0, $a0, 0x10 -/* 38B9C8 E0088BD8 AC830004 */ sw $v1, 4($a0) -/* 38B9CC E0088BDC AE220000 */ sw $v0, ($s1) -/* 38B9D0 E0088BE0 3C02DE00 */ lui $v0, 0xde00 -/* 38B9D4 E0088BE4 AC820008 */ sw $v0, 8($a0) -/* 38B9D8 E0088BE8 8FA900A0 */ lw $t1, 0xa0($sp) -/* 38B9DC E0088BEC 24820018 */ addiu $v0, $a0, 0x18 -/* 38B9E0 E0088BF0 AC89000C */ sw $t1, 0xc($a0) -/* 38B9E4 E0088BF4 AE220000 */ sw $v0, ($s1) -/* 38B9E8 E0088BF8 24020040 */ addiu $v0, $zero, 0x40 -/* 38B9EC E0088BFC AC860010 */ sw $a2, 0x10($a0) -/* 38B9F0 E0088C00 AC820014 */ sw $v0, 0x14($a0) -.LE0088C04: -/* 38B9F4 E0088C04 26940001 */ addiu $s4, $s4, 1 -/* 38B9F8 E0088C08 8FA9009C */ lw $t1, 0x9c($sp) -/* 38B9FC E0088C0C 0289102A */ slt $v0, $s4, $t1 -/* 38BA00 E0088C10 1440FF74 */ bnez $v0, .LE00889E4 -/* 38BA04 E0088C14 26520034 */ addiu $s2, $s2, 0x34 -.LE0088C18: -/* 38BA08 E0088C18 3C06D838 */ lui $a2, 0xd838 -/* 38BA0C E0088C1C 3C05800A */ lui $a1, %hi(gMasterGfxPos) -/* 38BA10 E0088C20 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos) -/* 38BA14 E0088C24 34C60002 */ ori $a2, $a2, 2 -/* 38BA18 E0088C28 8CA30000 */ lw $v1, ($a1) -/* 38BA1C E0088C2C 3C02DF00 */ lui $v0, 0xdf00 -/* 38BA20 E0088C30 0060202D */ daddu $a0, $v1, $zero -/* 38BA24 E0088C34 24630008 */ addiu $v1, $v1, 8 -/* 38BA28 E0088C38 AC820000 */ sw $v0, ($a0) -/* 38BA2C E0088C3C 3C02DE01 */ lui $v0, 0xde01 -/* 38BA30 E0088C40 AC800004 */ sw $zero, 4($a0) -/* 38BA34 E0088C44 AEC20000 */ sw $v0, ($s6) -/* 38BA38 E0088C48 AEC30004 */ sw $v1, 4($s6) -/* 38BA3C E0088C4C 26D60008 */ addiu $s6, $s6, 8 -/* 38BA40 E0088C50 24620008 */ addiu $v0, $v1, 8 -/* 38BA44 E0088C54 ACA30000 */ sw $v1, ($a1) -/* 38BA48 E0088C58 ACA20000 */ sw $v0, ($a1) -/* 38BA4C E0088C5C 3C02DE00 */ lui $v0, 0xde00 -/* 38BA50 E0088C60 AC620000 */ sw $v0, ($v1) -/* 38BA54 E0088C64 24620010 */ addiu $v0, $v1, 0x10 -/* 38BA58 E0088C68 AC760004 */ sw $s6, 4($v1) -/* 38BA5C E0088C6C ACA20000 */ sw $v0, ($a1) -/* 38BA60 E0088C70 24020040 */ addiu $v0, $zero, 0x40 -/* 38BA64 E0088C74 AC62000C */ sw $v0, 0xc($v1) -/* 38BA68 E0088C78 24620018 */ addiu $v0, $v1, 0x18 -/* 38BA6C E0088C7C AC660008 */ sw $a2, 8($v1) -/* 38BA70 E0088C80 ACA20000 */ sw $v0, ($a1) -/* 38BA74 E0088C84 3C02E700 */ lui $v0, 0xe700 -/* 38BA78 E0088C88 AC620010 */ sw $v0, 0x10($v1) -/* 38BA7C E0088C8C AC600014 */ sw $zero, 0x14($v1) -/* 38BA80 E0088C90 8FBF00CC */ lw $ra, 0xcc($sp) -/* 38BA84 E0088C94 8FBE00C8 */ lw $fp, 0xc8($sp) -/* 38BA88 E0088C98 8FB700C4 */ lw $s7, 0xc4($sp) -/* 38BA8C E0088C9C 8FB600C0 */ lw $s6, 0xc0($sp) -/* 38BA90 E0088CA0 8FB500BC */ lw $s5, 0xbc($sp) -/* 38BA94 E0088CA4 8FB400B8 */ lw $s4, 0xb8($sp) -/* 38BA98 E0088CA8 8FB300B4 */ lw $s3, 0xb4($sp) -/* 38BA9C E0088CAC 8FB200B0 */ lw $s2, 0xb0($sp) -/* 38BAA0 E0088CB0 8FB100AC */ lw $s1, 0xac($sp) -/* 38BAA4 E0088CB4 8FB000A8 */ lw $s0, 0xa8($sp) -/* 38BAA8 E0088CB8 03E00008 */ jr $ra -/* 38BAAC E0088CBC 27BD00D0 */ addiu $sp, $sp, 0xd0 diff --git a/ver/us/asm/nonmatchings/effects/energy_orb_wave/energy_orb_wave_update.s b/ver/us/asm/nonmatchings/effects/energy_orb_wave/energy_orb_wave_update.s deleted file mode 100644 index 28c07ede9a..0000000000 --- a/ver/us/asm/nonmatchings/effects/energy_orb_wave/energy_orb_wave_update.s +++ /dev/null @@ -1,313 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_E00A4AF8 -.word .LE00A427C_3A3A5C, .LE00A42CC_3A3AAC, .LE00A4304_3A3AE4, .LE00A4354_3A3B34, .LE00A4384_3A3B64, .LE00A440C_3A3BEC, .LE00A4438_3A3C18, .LE00A4480_3A3C60, .LE00A44C0_3A3CA0, .LE00A4508_3A3CE8 - -dlabel D_E00A4B20 -.double 1.1 - -dlabel D_E00A4B28 -.double 1.1 - -dlabel D_E00A4B30 -.double 1.1 - -dlabel D_E00A4B38 -.double 1.1 - -.section .text -glabel energy_orb_wave_update -/* 3A398C E00A41AC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 3A3990 E00A41B0 AFBF0018 */ sw $ra, 0x18($sp) -/* 3A3994 E00A41B4 AFB10014 */ sw $s1, 0x14($sp) -/* 3A3998 E00A41B8 AFB00010 */ sw $s0, 0x10($sp) -/* 3A399C E00A41BC 8C830000 */ lw $v1, ($a0) -/* 3A39A0 E00A41C0 8C90000C */ lw $s0, 0xc($a0) -/* 3A39A4 E00A41C4 30620010 */ andi $v0, $v1, 0x10 -/* 3A39A8 E00A41C8 10400005 */ beqz $v0, .LE00A41E0 -/* 3A39AC E00A41CC 2402FFEF */ addiu $v0, $zero, -0x11 -/* 3A39B0 E00A41D0 00621024 */ and $v0, $v1, $v0 -/* 3A39B4 E00A41D4 AC820000 */ sw $v0, ($a0) -/* 3A39B8 E00A41D8 2402001E */ addiu $v0, $zero, 0x1e -/* 3A39BC E00A41DC AE020010 */ sw $v0, 0x10($s0) -.LE00A41E0: -/* 3A39C0 E00A41E0 8E030010 */ lw $v1, 0x10($s0) -/* 3A39C4 E00A41E4 28620064 */ slti $v0, $v1, 0x64 -/* 3A39C8 E00A41E8 10400002 */ beqz $v0, .LE00A41F4 -/* 3A39CC E00A41EC 2462FFFF */ addiu $v0, $v1, -1 -/* 3A39D0 E00A41F0 AE020010 */ sw $v0, 0x10($s0) -.LE00A41F4: -/* 3A39D4 E00A41F4 8E020014 */ lw $v0, 0x14($s0) -/* 3A39D8 E00A41F8 8E050010 */ lw $a1, 0x10($s0) -/* 3A39DC E00A41FC 24420001 */ addiu $v0, $v0, 1 -/* 3A39E0 E00A4200 04A10005 */ bgez $a1, .LE00A4218 -/* 3A39E4 E00A4204 AE020014 */ sw $v0, 0x14($s0) -/* 3A39E8 E00A4208 0C080128 */ jal shim_remove_effect -/* 3A39EC E00A420C 00000000 */ nop -/* 3A39F0 E00A4210 08029172 */ j .LE00A45C8 -/* 3A39F4 E00A4214 00000000 */ nop -.LE00A4218: -/* 3A39F8 E00A4218 241100FF */ addiu $s1, $zero, 0xff -/* 3A39FC E00A421C 0040182D */ daddu $v1, $v0, $zero -/* 3A3A00 E00A4220 8E04001C */ lw $a0, 0x1c($s0) -/* 3A3A04 E00A4224 28620010 */ slti $v0, $v1, 0x10 -/* 3A3A08 E00A4228 10400003 */ beqz $v0, .LE00A4238 -/* 3A3A0C E00A422C 0220302D */ daddu $a2, $s1, $zero -/* 3A3A10 E00A4230 00031100 */ sll $v0, $v1, 4 -/* 3A3A14 E00A4234 2451FFFF */ addiu $s1, $v0, -1 -.LE00A4238: -/* 3A3A18 E00A4238 28A20010 */ slti $v0, $a1, 0x10 -/* 3A3A1C E00A423C 10400008 */ beqz $v0, .LE00A4260 -/* 3A3A20 E00A4240 2C82000A */ sltiu $v0, $a0, 0xa -/* 3A3A24 E00A4244 02250018 */ mult $s1, $a1 -/* 3A3A28 E00A4248 00001012 */ mflo $v0 -/* 3A3A2C E00A424C 04420001 */ bltzl $v0, .LE00A4254 -/* 3A3A30 E00A4250 2442000F */ addiu $v0, $v0, 0xf -.LE00A4254: -/* 3A3A34 E00A4254 00028903 */ sra $s1, $v0, 4 -/* 3A3A38 E00A4258 00053100 */ sll $a2, $a1, 4 -/* 3A3A3C E00A425C 2C82000A */ sltiu $v0, $a0, 0xa -.LE00A4260: -/* 3A3A40 E00A4260 104000C4 */ beqz $v0, .LE00A4574 -/* 3A3A44 E00A4264 00041080 */ sll $v0, $a0, 2 -/* 3A3A48 E00A4268 3C01E00A */ lui $at, %hi(jtbl_E00A4AF8) -/* 3A3A4C E00A426C 00220821 */ addu $at, $at, $v0 -/* 3A3A50 E00A4270 8C224AF8 */ lw $v0, %lo(jtbl_E00A4AF8)($at) -/* 3A3A54 E00A4274 00400008 */ jr $v0 -/* 3A3A58 E00A4278 00000000 */ nop -.LE00A427C_3A3A5C: -/* 3A3A5C E00A427C 00031040 */ sll $v0, $v1, 1 -/* 3A3A60 E00A4280 44826000 */ mtc1 $v0, $f12 -/* 3A3A64 E00A4284 00000000 */ nop -/* 3A3A68 E00A4288 46806320 */ cvt.s.w $f12, $f12 -/* 3A3A6C E00A428C 24020046 */ addiu $v0, $zero, 0x46 -/* 3A3A70 E00A4290 AE020020 */ sw $v0, 0x20($s0) -/* 3A3A74 E00A4294 240200B4 */ addiu $v0, $zero, 0xb4 -/* 3A3A78 E00A4298 AE020024 */ sw $v0, 0x24($s0) -/* 3A3A7C E00A429C 24020078 */ addiu $v0, $zero, 0x78 -/* 3A3A80 E00A42A0 0C080140 */ jal shim_sin_deg -/* 3A3A84 E00A42A4 AE020028 */ sw $v0, 0x28($s0) -/* 3A3A88 E00A42A8 3C014120 */ lui $at, 0x4120 -/* 3A3A8C E00A42AC 44811000 */ mtc1 $at, $f2 -/* 3A3A90 E00A42B0 00000000 */ nop -/* 3A3A94 E00A42B4 46020002 */ mul.s $f0, $f0, $f2 -/* 3A3A98 E00A42B8 00000000 */ nop -/* 3A3A9C E00A42BC 3C01433E */ lui $at, 0x433e -/* 3A3AA0 E00A42C0 44811000 */ mtc1 $at, $f2 -/* 3A3AA4 E00A42C4 080290F4 */ j .LE00A43D0 -/* 3A3AA8 E00A42C8 46020000 */ add.s $f0, $f0, $f2 -.LE00A42CC_3A3AAC: -/* 3A3AAC E00A42CC 240500FF */ addiu $a1, $zero, 0xff -/* 3A3AB0 E00A42D0 02250018 */ mult $s1, $a1 -/* 3A3AB4 E00A42D4 3C048080 */ lui $a0, 0x8080 -/* 3A3AB8 E00A42D8 00001812 */ mflo $v1 -/* 3A3ABC E00A42DC 34848081 */ ori $a0, $a0, 0x8081 -/* 3A3AC0 E00A42E0 24020046 */ addiu $v0, $zero, 0x46 -/* 3A3AC4 E00A42E4 00640018 */ mult $v1, $a0 -/* 3A3AC8 E00A42E8 AE020020 */ sw $v0, 0x20($s0) -/* 3A3ACC E00A42EC 240200E6 */ addiu $v0, $zero, 0xe6 -/* 3A3AD0 E00A42F0 AE050024 */ sw $a1, 0x24($s0) -/* 3A3AD4 E00A42F4 AE020028 */ sw $v0, 0x28($s0) -/* 3A3AD8 E00A42F8 00003010 */ mfhi $a2 -/* 3A3ADC E00A42FC 0802916E */ j .LE00A45B8 -/* 3A3AE0 E00A4300 00C31021 */ addu $v0, $a2, $v1 -.LE00A4304_3A3AE4: -/* 3A3AE4 E00A4304 00031040 */ sll $v0, $v1, 1 -/* 3A3AE8 E00A4308 44826000 */ mtc1 $v0, $f12 -/* 3A3AEC E00A430C 00000000 */ nop -/* 3A3AF0 E00A4310 46806320 */ cvt.s.w $f12, $f12 -/* 3A3AF4 E00A4314 240200AA */ addiu $v0, $zero, 0xaa -/* 3A3AF8 E00A4318 AE020020 */ sw $v0, 0x20($s0) -/* 3A3AFC E00A431C 24020028 */ addiu $v0, $zero, 0x28 -/* 3A3B00 E00A4320 AE020024 */ sw $v0, 0x24($s0) -/* 3A3B04 E00A4324 2402006E */ addiu $v0, $zero, 0x6e -/* 3A3B08 E00A4328 0C080140 */ jal shim_sin_deg -/* 3A3B0C E00A432C AE020028 */ sw $v0, 0x28($s0) -/* 3A3B10 E00A4330 3C014120 */ lui $at, 0x4120 -/* 3A3B14 E00A4334 44811000 */ mtc1 $at, $f2 -/* 3A3B18 E00A4338 00000000 */ nop -/* 3A3B1C E00A433C 46020002 */ mul.s $f0, $f0, $f2 -/* 3A3B20 E00A4340 00000000 */ nop -/* 3A3B24 E00A4344 3C01433E */ lui $at, 0x433e -/* 3A3B28 E00A4348 44811000 */ mtc1 $at, $f2 -/* 3A3B2C E00A434C 080290F4 */ j .LE00A43D0 -/* 3A3B30 E00A4350 46020000 */ add.s $f0, $f0, $f2 -.LE00A4354_3A3B34: -/* 3A3B34 E00A4354 240300FF */ addiu $v1, $zero, 0xff -/* 3A3B38 E00A4358 02230018 */ mult $s1, $v1 -/* 3A3B3C E00A435C 3C048080 */ lui $a0, 0x8080 -/* 3A3B40 E00A4360 34848081 */ ori $a0, $a0, 0x8081 -/* 3A3B44 E00A4364 00001812 */ mflo $v1 -/* 3A3B48 E00A4368 240200DC */ addiu $v0, $zero, 0xdc -/* 3A3B4C E00A436C AE020020 */ sw $v0, 0x20($s0) -/* 3A3B50 E00A4370 00640018 */ mult $v1, $a0 -/* 3A3B54 E00A4374 24020028 */ addiu $v0, $zero, 0x28 -/* 3A3B58 E00A4378 AE020024 */ sw $v0, 0x24($s0) -/* 3A3B5C E00A437C 0802916B */ j .LE00A45AC -/* 3A3B60 E00A4380 240200AA */ addiu $v0, $zero, 0xaa -.LE00A4384_3A3B64: -/* 3A3B64 E00A4384 00031040 */ sll $v0, $v1, 1 -/* 3A3B68 E00A4388 44826000 */ mtc1 $v0, $f12 -/* 3A3B6C E00A438C 00000000 */ nop -/* 3A3B70 E00A4390 46806320 */ cvt.s.w $f12, $f12 -/* 3A3B74 E00A4394 240200EB */ addiu $v0, $zero, 0xeb -/* 3A3B78 E00A4398 AE020020 */ sw $v0, 0x20($s0) -/* 3A3B7C E00A439C AE020024 */ sw $v0, 0x24($s0) -/* 3A3B80 E00A43A0 240200C8 */ addiu $v0, $zero, 0xc8 -/* 3A3B84 E00A43A4 0C080140 */ jal shim_sin_deg -/* 3A3B88 E00A43A8 AE020028 */ sw $v0, 0x28($s0) -/* 3A3B8C E00A43AC 3C014170 */ lui $at, 0x4170 -/* 3A3B90 E00A43B0 44811000 */ mtc1 $at, $f2 -/* 3A3B94 E00A43B4 00000000 */ nop -/* 3A3B98 E00A43B8 46020002 */ mul.s $f0, $f0, $f2 -/* 3A3B9C E00A43BC 00000000 */ nop -/* 3A3BA0 E00A43C0 3C014357 */ lui $at, 0x4357 -/* 3A3BA4 E00A43C4 44811000 */ mtc1 $at, $f2 -/* 3A3BA8 E00A43C8 00000000 */ nop -/* 3A3BAC E00A43CC 46020000 */ add.s $f0, $f0, $f2 -.LE00A43D0: -/* 3A3BB0 E00A43D0 4600010D */ trunc.w.s $f4, $f0 -/* 3A3BB4 E00A43D4 44022000 */ mfc1 $v0, $f4 -/* 3A3BB8 E00A43D8 00000000 */ nop -/* 3A3BBC E00A43DC 00510018 */ mult $v0, $s1 -/* 3A3BC0 E00A43E0 00001012 */ mflo $v0 -/* 3A3BC4 E00A43E4 3C038080 */ lui $v1, 0x8080 -/* 3A3BC8 E00A43E8 34638081 */ ori $v1, $v1, 0x8081 -/* 3A3BCC E00A43EC 00430018 */ mult $v0, $v1 -/* 3A3BD0 E00A43F0 00001810 */ mfhi $v1 -/* 3A3BD4 E00A43F4 00621821 */ addu $v1, $v1, $v0 -/* 3A3BD8 E00A43F8 000319C3 */ sra $v1, $v1, 7 -/* 3A3BDC E00A43FC 000217C3 */ sra $v0, $v0, 0x1f -/* 3A3BE0 E00A4400 00621823 */ subu $v1, $v1, $v0 -/* 3A3BE4 E00A4404 08029172 */ j .LE00A45C8 -/* 3A3BE8 E00A4408 AE03002C */ sw $v1, 0x2c($s0) -.LE00A440C_3A3BEC: -/* 3A3BEC E00A440C 240300FF */ addiu $v1, $zero, 0xff -/* 3A3BF0 E00A4410 02230018 */ mult $s1, $v1 -/* 3A3BF4 E00A4414 3C048080 */ lui $a0, 0x8080 -/* 3A3BF8 E00A4418 00001812 */ mflo $v1 -/* 3A3BFC E00A441C 34848081 */ ori $a0, $a0, 0x8081 -/* 3A3C00 E00A4420 240200EB */ addiu $v0, $zero, 0xeb -/* 3A3C04 E00A4424 00640018 */ mult $v1, $a0 -/* 3A3C08 E00A4428 AE020020 */ sw $v0, 0x20($s0) -/* 3A3C0C E00A442C AE020024 */ sw $v0, 0x24($s0) -/* 3A3C10 E00A4430 0802916B */ j .LE00A45AC -/* 3A3C14 E00A4434 240200C8 */ addiu $v0, $zero, 0xc8 -.LE00A4438_3A3C18: -/* 3A3C18 E00A4438 C6000030 */ lwc1 $f0, 0x30($s0) -/* 3A3C1C E00A443C 3C01E00A */ lui $at, %hi(D_E00A4B20) -/* 3A3C20 E00A4440 D4224B20 */ ldc1 $f2, %lo(D_E00A4B20)($at) -/* 3A3C24 E00A4444 46000021 */ cvt.d.s $f0, $f0 -/* 3A3C28 E00A4448 46220002 */ mul.d $f0, $f0, $f2 -/* 3A3C2C E00A444C 00000000 */ nop -/* 3A3C30 E00A4450 2403007F */ addiu $v1, $zero, 0x7f -/* 3A3C34 E00A4454 00C30018 */ mult $a2, $v1 -/* 3A3C38 E00A4458 3C048080 */ lui $a0, 0x8080 -/* 3A3C3C E00A445C 34848081 */ ori $a0, $a0, 0x8081 -/* 3A3C40 E00A4460 00001812 */ mflo $v1 -/* 3A3C44 E00A4464 24020046 */ addiu $v0, $zero, 0x46 -/* 3A3C48 E00A4468 AE020020 */ sw $v0, 0x20($s0) -/* 3A3C4C E00A446C 00640018 */ mult $v1, $a0 -/* 3A3C50 E00A4470 240200B4 */ addiu $v0, $zero, 0xb4 -/* 3A3C54 E00A4474 AE020024 */ sw $v0, 0x24($s0) -/* 3A3C58 E00A4478 08029153 */ j .LE00A454C -/* 3A3C5C E00A447C 24020078 */ addiu $v0, $zero, 0x78 -.LE00A4480_3A3C60: -/* 3A3C60 E00A4480 C6000030 */ lwc1 $f0, 0x30($s0) -/* 3A3C64 E00A4484 3C01E00A */ lui $at, %hi(D_E00A4B28) -/* 3A3C68 E00A4488 D4224B28 */ ldc1 $f2, %lo(D_E00A4B28)($at) -/* 3A3C6C E00A448C 46000021 */ cvt.d.s $f0, $f0 -/* 3A3C70 E00A4490 46220002 */ mul.d $f0, $f0, $f2 -/* 3A3C74 E00A4494 00000000 */ nop -/* 3A3C78 E00A4498 240300A0 */ addiu $v1, $zero, 0xa0 -/* 3A3C7C E00A449C 00C30018 */ mult $a2, $v1 -/* 3A3C80 E00A44A0 3C048080 */ lui $a0, 0x8080 -/* 3A3C84 E00A44A4 34848081 */ ori $a0, $a0, 0x8081 -/* 3A3C88 E00A44A8 00001812 */ mflo $v1 -/* 3A3C8C E00A44AC 240200A2 */ addiu $v0, $zero, 0xa2 -/* 3A3C90 E00A44B0 AE020020 */ sw $v0, 0x20($s0) -/* 3A3C94 E00A44B4 00640018 */ mult $v1, $a0 -/* 3A3C98 E00A44B8 08029151 */ j .LE00A4544 -/* 3A3C9C E00A44BC 240200BD */ addiu $v0, $zero, 0xbd -.LE00A44C0_3A3CA0: -/* 3A3CA0 E00A44C0 C6000030 */ lwc1 $f0, 0x30($s0) -/* 3A3CA4 E00A44C4 3C01E00A */ lui $at, %hi(D_E00A4B30) -/* 3A3CA8 E00A44C8 D4224B30 */ ldc1 $f2, %lo(D_E00A4B30)($at) -/* 3A3CAC E00A44CC 46000021 */ cvt.d.s $f0, $f0 -/* 3A3CB0 E00A44D0 46220002 */ mul.d $f0, $f0, $f2 -/* 3A3CB4 E00A44D4 00000000 */ nop -/* 3A3CB8 E00A44D8 2403007F */ addiu $v1, $zero, 0x7f -/* 3A3CBC E00A44DC 00C30018 */ mult $a2, $v1 -/* 3A3CC0 E00A44E0 3C048080 */ lui $a0, 0x8080 -/* 3A3CC4 E00A44E4 34848081 */ ori $a0, $a0, 0x8081 -/* 3A3CC8 E00A44E8 00001812 */ mflo $v1 -/* 3A3CCC E00A44EC 240200AA */ addiu $v0, $zero, 0xaa -/* 3A3CD0 E00A44F0 AE020020 */ sw $v0, 0x20($s0) -/* 3A3CD4 E00A44F4 00640018 */ mult $v1, $a0 -/* 3A3CD8 E00A44F8 24020028 */ addiu $v0, $zero, 0x28 -/* 3A3CDC E00A44FC AE020024 */ sw $v0, 0x24($s0) -/* 3A3CE0 E00A4500 08029153 */ j .LE00A454C -/* 3A3CE4 E00A4504 2402006E */ addiu $v0, $zero, 0x6e -.LE00A4508_3A3CE8: -/* 3A3CE8 E00A4508 C6000030 */ lwc1 $f0, 0x30($s0) -/* 3A3CEC E00A450C 3C01E00A */ lui $at, %hi(D_E00A4B38) -/* 3A3CF0 E00A4510 D4224B38 */ ldc1 $f2, %lo(D_E00A4B38)($at) -/* 3A3CF4 E00A4514 46000021 */ cvt.d.s $f0, $f0 -/* 3A3CF8 E00A4518 46220002 */ mul.d $f0, $f0, $f2 -/* 3A3CFC E00A451C 00000000 */ nop -/* 3A3D00 E00A4520 240300A0 */ addiu $v1, $zero, 0xa0 -/* 3A3D04 E00A4524 00C30018 */ mult $a2, $v1 -/* 3A3D08 E00A4528 3C048080 */ lui $a0, 0x8080 -/* 3A3D0C E00A452C 34848081 */ ori $a0, $a0, 0x8081 -/* 3A3D10 E00A4530 00001812 */ mflo $v1 -/* 3A3D14 E00A4534 240200B4 */ addiu $v0, $zero, 0xb4 -/* 3A3D18 E00A4538 AE020020 */ sw $v0, 0x20($s0) -/* 3A3D1C E00A453C 00640018 */ mult $v1, $a0 -/* 3A3D20 E00A4540 240200B2 */ addiu $v0, $zero, 0xb2 -.LE00A4544: -/* 3A3D24 E00A4544 AE020024 */ sw $v0, 0x24($s0) -/* 3A3D28 E00A4548 240200AE */ addiu $v0, $zero, 0xae -.LE00A454C: -/* 3A3D2C E00A454C AE020028 */ sw $v0, 0x28($s0) -/* 3A3D30 E00A4550 00002810 */ mfhi $a1 -/* 3A3D34 E00A4554 00A31021 */ addu $v0, $a1, $v1 -/* 3A3D38 E00A4558 000211C3 */ sra $v0, $v0, 7 -/* 3A3D3C E00A455C 00031FC3 */ sra $v1, $v1, 0x1f -/* 3A3D40 E00A4560 00431023 */ subu $v0, $v0, $v1 -/* 3A3D44 E00A4564 46200020 */ cvt.s.d $f0, $f0 -/* 3A3D48 E00A4568 AE02002C */ sw $v0, 0x2c($s0) -/* 3A3D4C E00A456C 08029172 */ j .LE00A45C8 -/* 3A3D50 E00A4570 E6000030 */ swc1 $f0, 0x30($s0) -.LE00A4574: -/* 3A3D54 E00A4574 240300A0 */ addiu $v1, $zero, 0xa0 -/* 3A3D58 E00A4578 00C30018 */ mult $a2, $v1 -/* 3A3D5C E00A457C C6000030 */ lwc1 $f0, 0x30($s0) -/* 3A3D60 E00A4580 C6020034 */ lwc1 $f2, 0x34($s0) -/* 3A3D64 E00A4584 46020000 */ add.s $f0, $f0, $f2 -/* 3A3D68 E00A4588 3C028080 */ lui $v0, 0x8080 -/* 3A3D6C E00A458C 00001812 */ mflo $v1 -/* 3A3D70 E00A4590 34428081 */ ori $v0, $v0, 0x8081 -/* 3A3D74 E00A4594 E6000030 */ swc1 $f0, 0x30($s0) -/* 3A3D78 E00A4598 00620018 */ mult $v1, $v0 -/* 3A3D7C E00A459C 24020032 */ addiu $v0, $zero, 0x32 -/* 3A3D80 E00A45A0 AE020020 */ sw $v0, 0x20($s0) -/* 3A3D84 E00A45A4 AE020024 */ sw $v0, 0x24($s0) -/* 3A3D88 E00A45A8 240200FF */ addiu $v0, $zero, 0xff -.LE00A45AC: -/* 3A3D8C E00A45AC AE020028 */ sw $v0, 0x28($s0) -/* 3A3D90 E00A45B0 00002810 */ mfhi $a1 -/* 3A3D94 E00A45B4 00A31021 */ addu $v0, $a1, $v1 -.LE00A45B8: -/* 3A3D98 E00A45B8 000211C3 */ sra $v0, $v0, 7 -/* 3A3D9C E00A45BC 00031FC3 */ sra $v1, $v1, 0x1f -/* 3A3DA0 E00A45C0 00431023 */ subu $v0, $v0, $v1 -/* 3A3DA4 E00A45C4 AE02002C */ sw $v0, 0x2c($s0) -.LE00A45C8: -/* 3A3DA8 E00A45C8 8FBF0018 */ lw $ra, 0x18($sp) -/* 3A3DAC E00A45CC 8FB10014 */ lw $s1, 0x14($sp) -/* 3A3DB0 E00A45D0 8FB00010 */ lw $s0, 0x10($sp) -/* 3A3DB4 E00A45D4 03E00008 */ jr $ra -/* 3A3DB8 E00A45D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/effects/star_spirits_energy/star_spirits_energy_update.s b/ver/us/asm/nonmatchings/effects/star_spirits_energy/star_spirits_energy_update.s deleted file mode 100644 index 1e9e1967bb..0000000000 --- a/ver/us/asm/nonmatchings/effects/star_spirits_energy/star_spirits_energy_update.s +++ /dev/null @@ -1,411 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E0122CA0 -.double 0.04 - -dlabel D_E0122CA8 -.double 1.235631 - -dlabel D_E0122CB0 -.double 0.01 - -dlabel D_E0122CB8 -.double 0.3 - -dlabel D_E0122CC0 -.double 0.01 - -dlabel D_E0122CC8 -.double 0.3 - -dlabel D_E0122CD0 -.double 0.6 - -dlabel D_E0122CD8 -.double 0.01 - -dlabel D_E0122CE0 -.double 1.2 - -dlabel D_E0122CE8 -.double 0.01 - -.section .text - -glabel star_spirits_energy_update -/* 40C71C E012217C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 40C720 E0122180 AFBF001C */ sw $ra, 0x1c($sp) -/* 40C724 E0122184 AFB20018 */ sw $s2, 0x18($sp) -/* 40C728 E0122188 AFB10014 */ sw $s1, 0x14($sp) -/* 40C72C E012218C AFB00010 */ sw $s0, 0x10($sp) -/* 40C730 E0122190 8C830000 */ lw $v1, ($a0) -/* 40C734 E0122194 8C90000C */ lw $s0, 0xc($a0) -/* 40C738 E0122198 30620010 */ andi $v0, $v1, 0x10 -/* 40C73C E012219C 8E120004 */ lw $s2, 4($s0) -/* 40C740 E01221A0 10400005 */ beqz $v0, .LE01221B8 -/* 40C744 E01221A4 2402FFEF */ addiu $v0, $zero, -0x11 -/* 40C748 E01221A8 00621024 */ and $v0, $v1, $v0 -/* 40C74C E01221AC AC820000 */ sw $v0, ($a0) -/* 40C750 E01221B0 24020010 */ addiu $v0, $zero, 0x10 -/* 40C754 E01221B4 AE020014 */ sw $v0, 0x14($s0) -.LE01221B8: -/* 40C758 E01221B8 8E030014 */ lw $v1, 0x14($s0) -/* 40C75C E01221BC 286203E8 */ slti $v0, $v1, 0x3e8 -/* 40C760 E01221C0 10400002 */ beqz $v0, .LE01221CC -/* 40C764 E01221C4 2462FFFF */ addiu $v0, $v1, -1 -/* 40C768 E01221C8 AE020014 */ sw $v0, 0x14($s0) -.LE01221CC: -/* 40C76C E01221CC 8E020018 */ lw $v0, 0x18($s0) -/* 40C770 E01221D0 8E030014 */ lw $v1, 0x14($s0) -/* 40C774 E01221D4 24510001 */ addiu $s1, $v0, 1 -/* 40C778 E01221D8 04610005 */ bgez $v1, .LE01221F0 -/* 40C77C E01221DC AE110018 */ sw $s1, 0x18($s0) -/* 40C780 E01221E0 0C080128 */ jal shim_remove_effect -/* 40C784 E01221E4 00000000 */ nop -/* 40C788 E01221E8 080489AB */ j .LE01226AC -/* 40C78C E01221EC 00000000 */ nop -.LE01221F0: -/* 40C790 E01221F0 28620010 */ slti $v0, $v1, 0x10 -/* 40C794 E01221F4 10400002 */ beqz $v0, .LE0122200 -/* 40C798 E01221F8 00031100 */ sll $v0, $v1, 4 -/* 40C79C E01221FC AE020028 */ sw $v0, 0x28($s0) -.LE0122200: -/* 40C7A0 E0122200 8E030070 */ lw $v1, 0x70($s0) -/* 40C7A4 E0122204 24020004 */ addiu $v0, $zero, 4 -/* 40C7A8 E0122208 106200D5 */ beq $v1, $v0, .LE0122560 -/* 40C7AC E012220C 28620005 */ slti $v0, $v1, 5 -/* 40C7B0 E0122210 10400007 */ beqz $v0, .LE0122230 -/* 40C7B4 E0122214 24020005 */ addiu $v0, $zero, 5 -/* 40C7B8 E0122218 1060000B */ beqz $v1, .LE0122248 -/* 40C7BC E012221C 24020001 */ addiu $v0, $zero, 1 -/* 40C7C0 E0122220 10620096 */ beq $v1, $v0, .LE012247C -/* 40C7C4 E0122224 00000000 */ nop -/* 40C7C8 E0122228 0804898B */ j .LE012262C -/* 40C7CC E012222C 00000000 */ nop -.LE0122230: -/* 40C7D0 E0122230 106200FE */ beq $v1, $v0, .LE012262C -/* 40C7D4 E0122234 24020064 */ addiu $v0, $zero, 0x64 -/* 40C7D8 E0122238 10620040 */ beq $v1, $v0, .LE012233C -/* 40C7DC E012223C 00000000 */ nop -/* 40C7E0 E0122240 0804898B */ j .LE012262C -/* 40C7E4 E0122244 00000000 */ nop -.LE0122248: -/* 40C7E8 E0122248 00111080 */ sll $v0, $s1, 2 -/* 40C7EC E012224C 00511021 */ addu $v0, $v0, $s1 -/* 40C7F0 E0122250 00021080 */ sll $v0, $v0, 2 -/* 40C7F4 E0122254 44826000 */ mtc1 $v0, $f12 -/* 40C7F8 E0122258 00000000 */ nop -/* 40C7FC E012225C 46806320 */ cvt.s.w $f12, $f12 -/* 40C800 E0122260 32230003 */ andi $v1, $s1, 3 -/* 40C804 E0122264 00031100 */ sll $v0, $v1, 4 -/* 40C808 E0122268 00431023 */ subu $v0, $v0, $v1 -/* 40C80C E012226C 00021040 */ sll $v0, $v0, 1 -/* 40C810 E0122270 8E030074 */ lw $v1, 0x74($s0) -/* 40C814 E0122274 244200C8 */ addiu $v0, $v0, 0xc8 -/* 40C818 E0122278 AE020050 */ sw $v0, 0x50($s0) -/* 40C81C E012227C 24630001 */ addiu $v1, $v1, 1 -/* 40C820 E0122280 0C080140 */ jal shim_sin_deg -/* 40C824 E0122284 AE030074 */ sw $v1, 0x74($s0) -/* 40C828 E0122288 3C01E012 */ lui $at, %hi(D_E0122CA0) -/* 40C82C E012228C D4222CA0 */ ldc1 $f2, %lo(D_E0122CA0)($at) -/* 40C830 E0122290 46000021 */ cvt.d.s $f0, $f0 -/* 40C834 E0122294 46220002 */ mul.d $f0, $f0, $f2 -/* 40C838 E0122298 00000000 */ nop -/* 40C83C E012229C 3C013FE0 */ lui $at, 0x3fe0 -/* 40C840 E01222A0 44811800 */ mtc1 $at, $f3 -/* 40C844 E01222A4 44801000 */ mtc1 $zero, $f2 -/* 40C848 E01222A8 00000000 */ nop -/* 40C84C E01222AC 46220000 */ add.d $f0, $f0, $f2 -/* 40C850 E01222B0 8E020000 */ lw $v0, ($s0) -/* 40C854 E01222B4 46200020 */ cvt.s.d $f0, $f0 -/* 40C858 E01222B8 104000E8 */ beqz $v0, .LE012265C -/* 40C85C E01222BC E6000040 */ swc1 $f0, 0x40($s0) -/* 40C860 E01222C0 44916000 */ mtc1 $s1, $f12 -/* 40C864 E01222C4 00000000 */ nop -/* 40C868 E01222C8 0C080140 */ jal shim_sin_deg -/* 40C86C E01222CC 46806320 */ cvt.s.w $f12, $f12 -/* 40C870 E01222D0 3C01E012 */ lui $at, %hi(D_E0122CA8) -/* 40C874 E01222D4 D4222CA8 */ ldc1 $f2, %lo(D_E0122CA8)($at) -/* 40C878 E01222D8 44916000 */ mtc1 $s1, $f12 -/* 40C87C E01222DC 00000000 */ nop -/* 40C880 E01222E0 46806321 */ cvt.d.w $f12, $f12 -/* 40C884 E01222E4 46226302 */ mul.d $f12, $f12, $f2 -/* 40C888 E01222E8 00000000 */ nop -/* 40C88C E01222EC C6020008 */ lwc1 $f2, 8($s0) -/* 40C890 E01222F0 46001080 */ add.s $f2, $f2, $f0 -/* 40C894 E01222F4 E6020008 */ swc1 $f2, 8($s0) -/* 40C898 E01222F8 0C080144 */ jal shim_cos_deg -/* 40C89C E01222FC 46206320 */ cvt.s.d $f12, $f12 -/* 40C8A0 E0122300 C602000C */ lwc1 $f2, 0xc($s0) -/* 40C8A4 E0122304 8E020074 */ lw $v0, 0x74($s0) -/* 40C8A8 E0122308 46001080 */ add.s $f2, $f2, $f0 -/* 40C8AC E012230C 28420033 */ slti $v0, $v0, 0x33 -/* 40C8B0 E0122310 144000D2 */ bnez $v0, .LE012265C -/* 40C8B4 E0122314 E602000C */ swc1 $f2, 0xc($s0) -/* 40C8B8 E0122318 24020003 */ addiu $v0, $zero, 3 -/* 40C8BC E012231C 16420004 */ bne $s2, $v0, .LE0122330 -/* 40C8C0 E0122320 AE000074 */ sw $zero, 0x74($s0) -/* 40C8C4 E0122324 24020064 */ addiu $v0, $zero, 0x64 -/* 40C8C8 E0122328 08048997 */ j .LE012265C -/* 40C8CC E012232C AE020070 */ sw $v0, 0x70($s0) -.LE0122330: -/* 40C8D0 E0122330 24020001 */ addiu $v0, $zero, 1 -/* 40C8D4 E0122334 08048997 */ j .LE012265C -/* 40C8D8 E0122338 AE020070 */ sw $v0, 0x70($s0) -.LE012233C: -/* 40C8DC E012233C 8E030074 */ lw $v1, 0x74($s0) -/* 40C8E0 E0122340 10600005 */ beqz $v1, .LE0122358 -/* 40C8E4 E0122344 24020001 */ addiu $v0, $zero, 1 -/* 40C8E8 E0122348 10620007 */ beq $v1, $v0, .LE0122368 -/* 40C8EC E012234C 240200FF */ addiu $v0, $zero, 0xff -/* 40C8F0 E0122350 080488DF */ j .LE012237C -/* 40C8F4 E0122354 AE00004C */ sw $zero, 0x4c($s0) -.LE0122358: -/* 40C8F8 E0122358 3C014080 */ lui $at, 0x4080 -/* 40C8FC E012235C 44810000 */ mtc1 $at, $f0 -/* 40C900 E0122360 080488DC */ j .LE0122370 -/* 40C904 E0122364 240200FF */ addiu $v0, $zero, 0xff -.LE0122368: -/* 40C908 E0122368 3C014100 */ lui $at, 0x4100 -/* 40C90C E012236C 44810000 */ mtc1 $at, $f0 -.LE0122370: -/* 40C910 E0122370 AE02005C */ sw $v0, 0x5c($s0) -/* 40C914 E0122374 080488E0 */ j .LE0122380 -/* 40C918 E0122378 E600004C */ swc1 $f0, 0x4c($s0) -.LE012237C: -/* 40C91C E012237C AE00005C */ sw $zero, 0x5c($s0) -.LE0122380: -/* 40C920 E0122380 8E040074 */ lw $a0, 0x74($s0) -/* 40C924 E0122384 2882001E */ slti $v0, $a0, 0x1e -/* 40C928 E0122388 10400017 */ beqz $v0, .LE01223E8 -/* 40C92C E012238C 00041880 */ sll $v1, $a0, 2 -/* 40C930 E0122390 3C02E012 */ lui $v0, %hi(D_E0122BA8) -/* 40C934 E0122394 24422BA8 */ addiu $v0, $v0, %lo(D_E0122BA8) -/* 40C938 E0122398 00621821 */ addu $v1, $v1, $v0 -/* 40C93C E012239C 94620000 */ lhu $v0, ($v1) -/* 40C940 E01223A0 3C01E012 */ lui $at, %hi(D_E0122CB0) -/* 40C944 E01223A4 D4202CB0 */ ldc1 $f0, %lo(D_E0122CB0)($at) -/* 40C948 E01223A8 44821000 */ mtc1 $v0, $f2 -/* 40C94C E01223AC 00000000 */ nop -/* 40C950 E01223B0 468010A0 */ cvt.s.w $f2, $f2 -/* 40C954 E01223B4 460010A1 */ cvt.d.s $f2, $f2 -/* 40C958 E01223B8 46201082 */ mul.d $f2, $f2, $f0 -/* 40C95C E01223BC 00000000 */ nop -/* 40C960 E01223C0 3C01E012 */ lui $at, %hi(D_E0122CB8) -/* 40C964 E01223C4 D4242CB8 */ ldc1 $f4, %lo(D_E0122CB8)($at) -/* 40C968 E01223C8 44840000 */ mtc1 $a0, $f0 -/* 40C96C E01223CC 00000000 */ nop -/* 40C970 E01223D0 46800021 */ cvt.d.w $f0, $f0 -/* 40C974 E01223D4 46240002 */ mul.d $f0, $f0, $f4 -/* 40C978 E01223D8 00000000 */ nop -/* 40C97C E01223DC 90620003 */ lbu $v0, 3($v1) -/* 40C980 E01223E0 0804890E */ j .LE0122438 -/* 40C984 E01223E4 46201080 */ add.d $f2, $f2, $f0 -.LE01223E8: -/* 40C988 E01223E8 3C03E012 */ lui $v1, %hi(D_E0122BA8) -/* 40C98C E01223EC 24632BA8 */ addiu $v1, $v1, %lo(D_E0122BA8) -/* 40C990 E01223F0 94620074 */ lhu $v0, 0x74($v1) -/* 40C994 E01223F4 3C01E012 */ lui $at, %hi(D_E0122CC0) -/* 40C998 E01223F8 D4202CC0 */ ldc1 $f0, %lo(D_E0122CC0)($at) -/* 40C99C E01223FC 44821000 */ mtc1 $v0, $f2 -/* 40C9A0 E0122400 00000000 */ nop -/* 40C9A4 E0122404 468010A0 */ cvt.s.w $f2, $f2 -/* 40C9A8 E0122408 460010A1 */ cvt.d.s $f2, $f2 -/* 40C9AC E012240C 46201082 */ mul.d $f2, $f2, $f0 -/* 40C9B0 E0122410 00000000 */ nop -/* 40C9B4 E0122414 3C01E012 */ lui $at, %hi(D_E0122CC8) -/* 40C9B8 E0122418 D4242CC8 */ ldc1 $f4, %lo(D_E0122CC8)($at) -/* 40C9BC E012241C 44840000 */ mtc1 $a0, $f0 -/* 40C9C0 E0122420 00000000 */ nop -/* 40C9C4 E0122424 46800021 */ cvt.d.w $f0, $f0 -/* 40C9C8 E0122428 46240002 */ mul.d $f0, $f0, $f4 -/* 40C9CC E012242C 00000000 */ nop -/* 40C9D0 E0122430 46201080 */ add.d $f2, $f2, $f0 -/* 40C9D4 E0122434 90620077 */ lbu $v0, 0x77($v1) -.LE0122438: -/* 40C9D8 E0122438 46201020 */ cvt.s.d $f0, $f2 -/* 40C9DC E012243C 3C01E012 */ lui $at, %hi(D_E0122CD0) -/* 40C9E0 E0122440 D4222CD0 */ ldc1 $f2, %lo(D_E0122CD0)($at) -/* 40C9E4 E0122444 304200FF */ andi $v0, $v0, 0xff -/* 40C9E8 E0122448 AE020054 */ sw $v0, 0x54($s0) -/* 40C9EC E012244C AE020058 */ sw $v0, 0x58($s0) -/* 40C9F0 E0122450 8E020074 */ lw $v0, 0x74($s0) -/* 40C9F4 E0122454 E6000044 */ swc1 $f0, 0x44($s0) -/* 40C9F8 E0122458 46000021 */ cvt.d.s $f0, $f0 -/* 40C9FC E012245C AE000050 */ sw $zero, 0x50($s0) -/* 40CA00 E0122460 AE000040 */ sw $zero, 0x40($s0) -/* 40CA04 E0122464 46220000 */ add.d $f0, $f0, $f2 -/* 40CA08 E0122468 24420001 */ addiu $v0, $v0, 1 -/* 40CA0C E012246C AE020074 */ sw $v0, 0x74($s0) -/* 40CA10 E0122470 46200020 */ cvt.s.d $f0, $f0 -/* 40CA14 E0122474 08048997 */ j .LE012265C -/* 40CA18 E0122478 E6000048 */ swc1 $f0, 0x48($s0) -.LE012247C: -/* 40CA1C E012247C 8E020074 */ lw $v0, 0x74($s0) -/* 40CA20 E0122480 10400005 */ beqz $v0, .LE0122498 -/* 40CA24 E0122484 00000000 */ nop -/* 40CA28 E0122488 10430007 */ beq $v0, $v1, .LE01224A8 -/* 40CA2C E012248C 240200FF */ addiu $v0, $zero, 0xff -/* 40CA30 E0122490 0804892F */ j .LE01224BC -/* 40CA34 E0122494 AE00004C */ sw $zero, 0x4c($s0) -.LE0122498: -/* 40CA38 E0122498 3C014080 */ lui $at, 0x4080 -/* 40CA3C E012249C 44810000 */ mtc1 $at, $f0 -/* 40CA40 E01224A0 0804892C */ j .LE01224B0 -/* 40CA44 E01224A4 240200FF */ addiu $v0, $zero, 0xff -.LE01224A8: -/* 40CA48 E01224A8 3C014100 */ lui $at, 0x4100 -/* 40CA4C E01224AC 44810000 */ mtc1 $at, $f0 -.LE01224B0: -/* 40CA50 E01224B0 AE02005C */ sw $v0, 0x5c($s0) -/* 40CA54 E01224B4 08048930 */ j .LE01224C0 -/* 40CA58 E01224B8 E600004C */ swc1 $f0, 0x4c($s0) -.LE01224BC: -/* 40CA5C E01224BC AE00005C */ sw $zero, 0x5c($s0) -.LE01224C0: -/* 40CA60 E01224C0 8E030074 */ lw $v1, 0x74($s0) -/* 40CA64 E01224C4 3C02E012 */ lui $v0, %hi(D_E0122BA8) -/* 40CA68 E01224C8 24422BA8 */ addiu $v0, $v0, %lo(D_E0122BA8) -/* 40CA6C E01224CC 00031880 */ sll $v1, $v1, 2 -/* 40CA70 E01224D0 00621821 */ addu $v1, $v1, $v0 -/* 40CA74 E01224D4 94620000 */ lhu $v0, ($v1) -/* 40CA78 E01224D8 3C01E012 */ lui $at, %hi(D_E0122CD8) -/* 40CA7C E01224DC D4202CD8 */ ldc1 $f0, %lo(D_E0122CD8)($at) -/* 40CA80 E01224E0 44821000 */ mtc1 $v0, $f2 -/* 40CA84 E01224E4 00000000 */ nop -/* 40CA88 E01224E8 468010A0 */ cvt.s.w $f2, $f2 -/* 40CA8C E01224EC 460010A1 */ cvt.d.s $f2, $f2 -/* 40CA90 E01224F0 46201082 */ mul.d $f2, $f2, $f0 -/* 40CA94 E01224F4 00000000 */ nop -/* 40CA98 E01224F8 3C01E012 */ lui $at, %hi(D_E0122CE0) -/* 40CA9C E01224FC D4242CE0 */ ldc1 $f4, %lo(D_E0122CE0)($at) -/* 40CAA0 E0122500 90630003 */ lbu $v1, 3($v1) -/* 40CAA4 E0122504 AE000050 */ sw $zero, 0x50($s0) -/* 40CAA8 E0122508 AE000040 */ sw $zero, 0x40($s0) -/* 40CAAC E012250C 462010A0 */ cvt.s.d $f2, $f2 -/* 40CAB0 E0122510 46001021 */ cvt.d.s $f0, $f2 -/* 40CAB4 E0122514 46240002 */ mul.d $f0, $f0, $f4 -/* 40CAB8 E0122518 00000000 */ nop -/* 40CABC E012251C 8E020074 */ lw $v0, 0x74($s0) -/* 40CAC0 E0122520 306300FF */ andi $v1, $v1, 0xff -/* 40CAC4 E0122524 AE030054 */ sw $v1, 0x54($s0) -/* 40CAC8 E0122528 AE030058 */ sw $v1, 0x58($s0) -/* 40CACC E012252C 3C014010 */ lui $at, 0x4010 -/* 40CAD0 E0122530 44812800 */ mtc1 $at, $f5 -/* 40CAD4 E0122534 44802000 */ mtc1 $zero, $f4 -/* 40CAD8 E0122538 24420001 */ addiu $v0, $v0, 1 -/* 40CADC E012253C AE020074 */ sw $v0, 0x74($s0) -/* 40CAE0 E0122540 46240000 */ add.d $f0, $f0, $f4 -/* 40CAE4 E0122544 2842001E */ slti $v0, $v0, 0x1e -/* 40CAE8 E0122548 E6020044 */ swc1 $f2, 0x44($s0) -/* 40CAEC E012254C 46200020 */ cvt.s.d $f0, $f0 -/* 40CAF0 E0122550 14400042 */ bnez $v0, .LE012265C -/* 40CAF4 E0122554 E6000048 */ swc1 $f0, 0x48($s0) -/* 40CAF8 E0122558 08048988 */ j .LE0122620 -/* 40CAFC E012255C 24020004 */ addiu $v0, $zero, 4 -.LE0122560: -/* 40CB00 E0122560 8E030074 */ lw $v1, 0x74($s0) -/* 40CB04 E0122564 2402001D */ addiu $v0, $zero, 0x1d -/* 40CB08 E0122568 00431823 */ subu $v1, $v0, $v1 -/* 40CB0C E012256C 10600005 */ beqz $v1, .LE0122584 -/* 40CB10 E0122570 24020001 */ addiu $v0, $zero, 1 -/* 40CB14 E0122574 10620007 */ beq $v1, $v0, .LE0122594 -/* 40CB18 E0122578 240200FF */ addiu $v0, $zero, 0xff -/* 40CB1C E012257C 0804896A */ j .LE01225A8 -/* 40CB20 E0122580 AE00004C */ sw $zero, 0x4c($s0) -.LE0122584: -/* 40CB24 E0122584 3C014080 */ lui $at, 0x4080 -/* 40CB28 E0122588 44810000 */ mtc1 $at, $f0 -/* 40CB2C E012258C 08048967 */ j .LE012259C -/* 40CB30 E0122590 240200FF */ addiu $v0, $zero, 0xff -.LE0122594: -/* 40CB34 E0122594 3C014100 */ lui $at, 0x4100 -/* 40CB38 E0122598 44810000 */ mtc1 $at, $f0 -.LE012259C: -/* 40CB3C E012259C AE02005C */ sw $v0, 0x5c($s0) -/* 40CB40 E01225A0 0804896B */ j .LE01225AC -/* 40CB44 E01225A4 E600004C */ swc1 $f0, 0x4c($s0) -.LE01225A8: -/* 40CB48 E01225A8 AE00005C */ sw $zero, 0x5c($s0) -.LE01225AC: -/* 40CB4C E01225AC 3C03E012 */ lui $v1, %hi(D_E0122C20) -/* 40CB50 E01225B0 24632C20 */ addiu $v1, $v1, %lo(D_E0122C20) -/* 40CB54 E01225B4 8E020074 */ lw $v0, 0x74($s0) -/* 40CB58 E01225B8 3C01E012 */ lui $at, %hi(D_E0122CE8) -/* 40CB5C E01225BC D4222CE8 */ ldc1 $f2, %lo(D_E0122CE8)($at) -/* 40CB60 E01225C0 00021080 */ sll $v0, $v0, 2 -/* 40CB64 E01225C4 00431021 */ addu $v0, $v0, $v1 -/* 40CB68 E01225C8 94430000 */ lhu $v1, ($v0) -/* 40CB6C E01225CC 90440003 */ lbu $a0, 3($v0) -/* 40CB70 E01225D0 8E020074 */ lw $v0, 0x74($s0) -/* 40CB74 E01225D4 AE000050 */ sw $zero, 0x50($s0) -/* 40CB78 E01225D8 AE000040 */ sw $zero, 0x40($s0) -/* 40CB7C E01225DC 44830000 */ mtc1 $v1, $f0 -/* 40CB80 E01225E0 00000000 */ nop -/* 40CB84 E01225E4 46800020 */ cvt.s.w $f0, $f0 -/* 40CB88 E01225E8 46000021 */ cvt.d.s $f0, $f0 -/* 40CB8C E01225EC 46220002 */ mul.d $f0, $f0, $f2 -/* 40CB90 E01225F0 00000000 */ nop -/* 40CB94 E01225F4 AE000058 */ sw $zero, 0x58($s0) -/* 40CB98 E01225F8 AE000048 */ sw $zero, 0x48($s0) -/* 40CB9C E01225FC 24420001 */ addiu $v0, $v0, 1 -/* 40CBA0 E0122600 308400FF */ andi $a0, $a0, 0xff -/* 40CBA4 E0122604 AE020074 */ sw $v0, 0x74($s0) -/* 40CBA8 E0122608 2842001E */ slti $v0, $v0, 0x1e -/* 40CBAC E012260C AE040054 */ sw $a0, 0x54($s0) -/* 40CBB0 E0122610 46200020 */ cvt.s.d $f0, $f0 -/* 40CBB4 E0122614 14400011 */ bnez $v0, .LE012265C -/* 40CBB8 E0122618 E6000044 */ swc1 $f0, 0x44($s0) -/* 40CBBC E012261C 24020005 */ addiu $v0, $zero, 5 -.LE0122620: -/* 40CBC0 E0122620 AE000074 */ sw $zero, 0x74($s0) -/* 40CBC4 E0122624 08048997 */ j .LE012265C -/* 40CBC8 E0122628 AE020070 */ sw $v0, 0x70($s0) -.LE012262C: -/* 40CBCC E012262C 8E020074 */ lw $v0, 0x74($s0) -/* 40CBD0 E0122630 AE000040 */ sw $zero, 0x40($s0) -/* 40CBD4 E0122634 AE000044 */ sw $zero, 0x44($s0) -/* 40CBD8 E0122638 AE000048 */ sw $zero, 0x48($s0) -/* 40CBDC E012263C AE000050 */ sw $zero, 0x50($s0) -/* 40CBE0 E0122640 AE000054 */ sw $zero, 0x54($s0) -/* 40CBE4 E0122644 AE000058 */ sw $zero, 0x58($s0) -/* 40CBE8 E0122648 AE00004C */ sw $zero, 0x4c($s0) -/* 40CBEC E012264C AE00005C */ sw $zero, 0x5c($s0) -/* 40CBF0 E0122650 AE00004C */ sw $zero, 0x4c($s0) -/* 40CBF4 E0122654 24420001 */ addiu $v0, $v0, 1 -/* 40CBF8 E0122658 AE020074 */ sw $v0, 0x74($s0) -.LE012265C: -/* 40CBFC E012265C 0000202D */ daddu $a0, $zero, $zero -/* 40CC00 E0122660 240500FF */ addiu $a1, $zero, 0xff -/* 40CC04 E0122664 44801000 */ mtc1 $zero, $f2 -/* 40CC08 E0122668 0200182D */ daddu $v1, $s0, $zero -.LE012266C: -/* 40CC0C E012266C 8C620050 */ lw $v0, 0x50($v1) -/* 40CC10 E0122670 28420100 */ slti $v0, $v0, 0x100 -/* 40CC14 E0122674 50400001 */ beql $v0, $zero, .LE012267C -/* 40CC18 E0122678 AC650050 */ sw $a1, 0x50($v1) -.LE012267C: -/* 40CC1C E012267C 8C620050 */ lw $v0, 0x50($v1) -/* 40CC20 E0122680 04420001 */ bltzl $v0, .LE0122688 -/* 40CC24 E0122684 AC600050 */ sw $zero, 0x50($v1) -.LE0122688: -/* 40CC28 E0122688 C4600040 */ lwc1 $f0, 0x40($v1) -/* 40CC2C E012268C 4602003C */ c.lt.s $f0, $f2 -/* 40CC30 E0122690 00000000 */ nop -/* 40CC34 E0122694 45030001 */ bc1tl .LE012269C -/* 40CC38 E0122698 E4620040 */ swc1 $f2, 0x40($v1) -.LE012269C: -/* 40CC3C E012269C 24840001 */ addiu $a0, $a0, 1 -/* 40CC40 E01226A0 28820004 */ slti $v0, $a0, 4 -/* 40CC44 E01226A4 1440FFF1 */ bnez $v0, .LE012266C -/* 40CC48 E01226A8 24630004 */ addiu $v1, $v1, 4 -.LE01226AC: -/* 40CC4C E01226AC 8FBF001C */ lw $ra, 0x1c($sp) -/* 40CC50 E01226B0 8FB20018 */ lw $s2, 0x18($sp) -/* 40CC54 E01226B4 8FB10014 */ lw $s1, 0x14($sp) -/* 40CC58 E01226B8 8FB00010 */ lw $s0, 0x10($sp) -/* 40CC5C E01226BC 03E00008 */ jr $ra -/* 40CC60 E01226C0 27BD0020 */ addiu $sp, $sp, 0x20