GCC 2.7.2 support (#633)

* name big_smoke_puff

* 0-5

* 6 -> land

* more effect stuff

* flower effects

* name fix

* cloud_puff

* flower splash

* cloud_trail

* 2 more

* more

* a bunch more

* -2F

* more

* the rest

* cleanup and the rest

* attack_result_text

* PR stuffs

* numbaz

* Attempt to get 2.7.2 support working

* Update Jenkinsfile

* try

* fix

* fix issues

* remove KMC_ASM remnants

* NON_EQUIVALENT for the effect gfx func

* We don't need wine
This commit is contained in:
Ethan Roseman 2022-01-28 20:01:26 -05:00 committed by GitHub
parent 9fa9639575
commit d2da25dc10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
63 changed files with 372 additions and 3872 deletions

3
Jenkinsfile vendored
View File

@ -11,7 +11,8 @@ pipeline {
sh 'curl -L "https://github.com/pmret/gcc-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc'
sh 'curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc'
sh 'curl -L "https://github.com/ethteck/ido-static-recomp/releases/download/per-function/ido-5.3-recomp-ubuntu-latest.tar.gz" | tar zx -C tools/build/cc/ido5.3'
sh 'curl -L "https://github.com/Mr-Wiseguy/kmc-gcc-wrapper/releases/download/master/kmc-gcc-wrapper-ubuntu-latest.tar.gz" | tar zx -C tools/build/cc/kmcgcc'
sh 'curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2'
sh 'curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2'
sh './configure'
}
}

View File

@ -439,6 +439,23 @@ typedef struct EmoteFXData {
/* 0x3C */ s32 unk_3C;
} EmoteFXData; // size = 0x40
typedef struct AttackResultTextFXData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ char unk_2C[0x4];
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
} AttackResultTextFXData; // size = 0x38
typedef struct SmallGoldSparkleFXData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;

View File

@ -1,31 +0,0 @@
#ifndef __INCLUDE_ASM_LIBULTRA_H__
#define __INCLUDE_ASM_LIBULTRA_H__
#define STRINGIFY_(x) #x
#define STRINGIFY(x) STRINGIFY_(x)
#if !defined(SPLAT) && !defined(__CTX__) && !defined(PERMUTER)
#ifndef INCLUDE_ASM_LIBULTRA
#define INCLUDE_ASM_LIBULTRA(FOLDER, NAME) \
__asm__( \
".section .text\n" \
"\t.align\t2\n" \
"\t.globl\t"#NAME"\n" \
"\t.ent\t"#NAME"\n" \
#NAME ":\n" \
"\t.include \"ver/"STRINGIFY(VERSION)"/asm/os/"FOLDER"/"#NAME".s\"\n" \
"\t.set reorder\n" \
"\t.set at\n" \
"\t.end\t"#NAME \
);
#endif
__asm__(".include \"include/macro.inc\"\n");
#ifdef MOVE_ADDU
__asm__(".include \"include/move_addu.inc\"\n");
#endif
#else
#define INCLUDE_ASM_LIBULTRA(FOLDER, NAME)
#endif
#endif

View File

@ -10,7 +10,11 @@ uname=`uname`
if [[ "$uname" == "Darwin" ]]; then
echo "Downloading gcc/binutils for macOS"
curl -L "https://github.com/pmret/gcc-papermario/releases/download/master/mac.tar.gz" | tar zx -C tools/build/cc/gcc
curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/mac.tar.gz" | tar zx -C tools/build/cc/gcc
curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/mac.tar.gz" | tar zx -C tools/build/cc/GCC
# 2.7.2
curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-mac.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-mac.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
echo "Downloading IDO 5.3 for macOS"
curl -L "https://github.com/ethteck/ido-static-recomp/releases/download/per-function/ido-5.3-recomp-macos-latest.tar.gz" | tar zx -C tools/build/cc/ido5.3
@ -23,7 +27,7 @@ if [[ "$uname" == "Darwin" ]]; then
fi
# Install packages
brew install md5sha1sum ninja gcc nanaian/brew/mips-linux-gnu-binutils wine || exit 1
brew install md5sha1sum ninja gcc nanaian/brew/mips-linux-gnu-binutils || exit 1
python3 -m pip install -U -r requirements.txt || exit 1
if [[ $1 == "--extra" ]]; then
@ -39,12 +43,13 @@ echo "Downloading gcc/binutils for Linux"
curl -L "https://github.com/pmret/gcc-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc
curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc
# 2.7.2
curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
echo "Downloading IDO 5.3 for Linux"
curl -L "https://github.com/ethteck/ido-static-recomp/releases/download/per-function/ido-5.3-recomp-ubuntu-latest.tar.gz" | tar zx -C tools/build/cc/ido5.3
echo "Downloading KMC GCC wrapper for Linux"
curl -L "https://github.com/Mr-Wiseguy/kmc-gcc-wrapper/releases/download/master/kmc-gcc-wrapper-ubuntu-latest.tar.gz" | tar zx -C tools/build/cc/kmcgcc
# Debian and derivatives (apt)
if cat /etc/os-release | grep -E 'ID=debian|ID_LIKE=(.*)debian' &> /dev/null; then
echo "Installing packages for Debian or derivative (apt)"

View File

@ -1,16 +1,296 @@
#include "common.h"
#include "effects_internal.h"
INCLUDE_ASM(s32, "effects/attack_result_text", attack_result_text_main);
extern Gfx D_09001500[];
extern Gfx D_090015A8[];
extern Gfx D_09001610[];
extern Gfx D_09001658[];
extern Gfx D_090016A0[];
extern Gfx D_090016E8[];
extern Gfx D_09001730[];
extern Gfx D_090018B8[];
extern Gfx D_090018D8[];
extern Gfx D_090018F8[];
extern Gfx D_09001918[];
extern Gfx D_09001938[];
void attack_result_text_init(void) {
Gfx* D_E0090A40[5] = { D_09001658, D_09001610, D_090016A0, D_090016E8, D_09001730 };
Gfx* D_E0090A54[5] = { D_090018D8, D_090018B8, D_090018F8, D_09001918, D_09001938 };
u8 D_E0090A68[8] = { 10, 40, 80, 120, 125, 100, 90, 100 };
u8 D_E0090A70[8] = { 60, 80, 100, 110, 112, 95, 100, 0 };
s8 D_E0090A78[5][6] = {
{ 255, 255, 255, 254, 159, 15 },
{ 215, 86, 0, 254, 207, 15 },
{ 254, 159, 15, 229, 21, 0 },
{ 0, 107, 42, 255, 217, 69 },
{ 0, 0, 215, 151, 255, 255 },
};
void attack_result_text_init(EffectInstance* effect);
void attack_result_text_update(EffectInstance* effect);
void attack_result_text_render(EffectInstance* effect);
void func_E0090428(EffectInstance* effect);
void func_E0090444(EffectInstance* effect);
EffectInstance* attack_result_text_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
EffectInstance* effect;
AttackResultTextFXData* data;
s32 numParts = 1;
bp.unk_00 = 0;
bp.init = attack_result_text_init;
bp.update = attack_result_text_update;
bp.renderWorld = attack_result_text_render;
bp.unk_14 = func_E0090428;
bp.effectID = EFFECT_ATTACK_RESULT_TEXT;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data = shim_general_heap_malloc(effect->numParts * sizeof(*data));
ASSERT(data != NULL);
data->unk_24 = 1;
data->unk_20 = 0;
data->unk_00 = arg0;
data->unk_1C = 0;
data->unk_04 = arg0 % 5;
if (arg5 <= 0) {
data->unk_18 = 100;
} else {
data->unk_18 = arg5;
}
data->unk_14 = 0xFF;
if (arg0 < 5) {
data->unk_08 = arg1;
data->unk_0C = arg2;
data->unk_10 = arg3;
data->unk_30 = 2.0f * (-shim_sin_deg(30.0f) * arg4);
data->unk_34 = 2.0f * (shim_cos_deg(30.0f) * arg4);
} else {
data->unk_08 = -100.0f;
data->unk_0C = 40.0f;
data->unk_10 = 0.0f;
data->unk_30 = 115.0f;
data->unk_34 = 0.0f;
}
return effect;
}
INCLUDE_ASM(s32, "effects/attack_result_text", attack_result_text_update);
void attack_result_text_render(void) {
void attack_result_text_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/attack_result_text", func_E0090428);
void attack_result_text_update(EffectInstance* effect) {
AttackResultTextFXData* data = effect->data;
s32 unk_00 = data->unk_00;
s32 old_unk_1C;
s32 unk_1C;
s32 unk_18;
u32 temp1C;
if (data->unk_18 < 100) {
data->unk_18--;
}
old_unk_1C = data->unk_1C;
data->unk_1C++;
unk_1C = data->unk_1C;
if (data->unk_18 < 0) {
data->unk_24 = 0;
data->unk_18 = -1;
shim_remove_effect(effect);
return;
}
unk_18 = data->unk_18;
if (unk_00 < 5) {
if (data->unk_1C < 9) {
data->unk_28 = (f32) D_E0090A68[old_unk_1C] * 0.01;
}
temp1C = old_unk_1C - 100;
if (unk_1C == 10) {
data->unk_1C = 9;
}
if (temp1C < 7) {
data->unk_28 = (f32) D_E0090A70[temp1C] * 0.01;
}
if (unk_1C == 109) {
data->unk_1C = 108;
}
if (unk_1C > 1000) {
data->unk_1C = 1000;
}
if (unk_18 >= 6) {
data->unk_30 *= 0.75;
data->unk_34 *= 0.75;
}
if (unk_18 < 5) {
data->unk_30 *= 0.7;
data->unk_34 *= 0.7;
}
} else {
if (unk_18 >= 6) {
data->unk_30 *= 0.7;
data->unk_34 *= 0.7;
}
if (unk_18 < 5) {
data->unk_30 *= 0.6;
data->unk_34 *= 0.6;
}
}
data->unk_08 += data->unk_30;
data->unk_0C += data->unk_34;
if (data->unk_20 != 0) {
data->unk_20 = 0;
data->unk_1C = 100;
data->unk_04++;
if (data->unk_04 > 2) {
data->unk_04 = 2;
}
}
}
void attack_result_text_render(EffectInstance* effect) {
}
void func_E0090428(EffectInstance* effect) {
func_E0090444(effect);
}
// gSPTextureRectangle needs a lot of work
#ifdef NON_EQUIVALENT
void func_E0090444(EffectInstance* effect) {
Matrix4f sp18;
Matrix4f sp58;
AttackResultTextFXData* data;
s32 unk_00;
s32 unk_1C;
s32 temp_a2;
s8* temp_a0_3;
f32 scale;
// f32 temp_f2;
// s32 temp_f4;
// s32 temp_f4_2;
// s32 temp_f4_3;
// s32 temp_f4_4;
// s32 temp_f4_5;
// s32 temp_v0_3;
// s32 temp_v1_4;
// u32 phi_v1;
// u32 phi_a0;
// u32 phi_v1_2;
// u32 phi_v0;
// u32 phi_v0_2;
// s32 phi_a0_2;
// s32 phi_v1_3;
// s32 phi_v0_3;
data = effect->data;
unk_00 = data->unk_00;
unk_1C = data->unk_1C;
if (data->unk_24 != 0) {
scale = data->unk_28;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effect->graphics->data));
gDPSetDepthSource(gMasterGfxPos++, G_ZS_PRIM);
temp_a2 = 200 - unk_1C;
if (temp_a2 < 0) {
temp_a2 = 0;
}
gDPSetPrimDepth(gMasterGfxPos++, temp_a2, 0);
if (unk_00 < 5) {
shim_guTranslateF(sp18, data->unk_08, data->unk_0C, data->unk_10);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, scale, scale, 1.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);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, data->unk_14);
gSPDisplayList(gMasterGfxPos++, D_090015A8);
gSPDisplayList(gMasterGfxPos++, D_E0090A40[data->unk_04]);
gSPDisplayList(gMasterGfxPos++, D_E0090A54[data->unk_04]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
} else {
unk_00 -= 5;
temp_a0_3 = D_E0090A78[unk_00];
gDPSetPrimColor(gMasterGfxPos++, 0, 0, temp_a0_3[0], temp_a0_3[1], temp_a0_3[2], data->unk_14);
gDPSetEnvColor(gMasterGfxPos++, temp_a0_3[3], temp_a0_3[4], temp_a0_3[5], 0);
gSPDisplayList(gMasterGfxPos++, D_09001500);
gSPDisplayList(gMasterGfxPos++, D_E0090A40[data->unk_04]);
// temp_f4 = (s32) ((data->unk_08 + 128.0f) * 4.0f);
// if ((s32) (s16) temp_f4 > 0) {
// phi_v0 = (((s16) temp_f4 & 0xFFF) << 0xC) | 0xE4000000;
// } else {
// phi_v0 = 0xE4000000U;
// }
// temp_f4_2 = (s32) ((data->unk_0C + 64.0f) * 4.0f);
// phi_v1 = phi_v0;
// if ((s32) (s16) temp_f4_2 > 0) {
// phi_v1 = phi_v0 | ((s16) temp_f4_2 & 0xFFF);
// }
// temp_f4_3 = (s32) (data->unk_08 * 4.0f);
// if ((s32) (s16) temp_f4_3 > 0) {
// phi_v0_2 = ((s16) temp_f4_3 & 0xFFF) << 0xC;
// } else {
// phi_v0_2 = 0U;
// }
// temp_f4_4 = (s32) (data->unk_0C * 4.0f);
// phi_a0 = phi_v0_2;
// if ((s32) (s16) temp_f4_4 > 0) {
// phi_a0 = phi_v0_2 | ((s16) temp_f4_4 & 0xFFF);
// }
// temp_f4_5 = (s32) (data->unk_08 * 4.0f);
// if ((s32) (s16) temp_f4_5 < 0) {
// temp_v0_3 = (s16) temp_f4_5 * 4;
// phi_v0_3 = temp_v0_3;
// if (temp_v0_3 > 0) {
// phi_v0_3 = 0;
// }
// phi_a0_2 = phi_v0_3 * -0x10000;
// } else {
// phi_a0_2 = 0;
// }
// temp_f2 = data->unk_0C * 4.0f;
// phi_v1_2 = phi_a0_2 | 0x400;
// if (temp_f2 < 0.0f) {
// temp_v1_4 = (s32) -(s32) ((s32) ((s32) temp_f2 << 0x10) >> 7) >> 7;
// phi_v1_3 = temp_v1_4;
// if (temp_v1_4 < 0) {
// phi_v1_3 = 0;
// }
// phi_v1_2 = phi_a0_2 | ((0x400 - phi_v1_3) & 0xFFFF);
// }
// temp_v1_2->words.w0 = E400000000000000 // data->unk_08, data->unk_0C
// temp_v1_3->words.w0 = E100000012341234 // phi_v1_2
// temp_v1_5->words.w0 = F10000000200FE00
gSPTextureRectangle(gMasterGfxPos++, 0, 0, 0, 0, G_TX_RENDERTILE, data->unk_08, data->unk_0C, 0x0200, -0x0200);
}
gDPPipeSync(gMasterGfxPos++);
gDPSetDepthSource(gMasterGfxPos++, G_ZS_PIXEL);
gDPPipeSync(gMasterGfxPos++);
}
}
#else
INCLUDE_ASM(s32, "effects/attack_result_text", func_E0090444);
#endif

View File

@ -44,7 +44,7 @@ void big_smoke_puff_main(f32 x, f32 y, f32 z) {
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = shim_general_heap_malloc(effect->numParts * sizeof(BigSmokePuffFXData));
data = shim_general_heap_malloc(effect->numParts * sizeof(*data));
effect->data = data;
ASSERT(data != NULL);

View File

@ -104,11 +104,11 @@ void landing_dust_main(s32 type, f32 x, f32 y, f32 z, f32 arg4) {
effect = shim_create_effect_instance(bpPtr);
effect->numParts = numParts;
data = shim_general_heap_malloc(numParts * sizeof(LandingDustFXData));
data = shim_general_heap_malloc(numParts * sizeof(*data));
effect->data = data;
ASSERT(effect->data != NULL);
shim_mem_clear(data, numParts * sizeof(LandingDustFXData));
shim_mem_clear(data, numParts * sizeof(*data));
switch (type) {
case 0:

View File

@ -1,10 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
s16 coss(u16 angle) {
return sins(angle + 0x4000);
}
#else
INCLUDE_ASM_LIBULTRA("coss", coss);
#endif

View File

@ -1,9 +1,7 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guFrustumF(Matrix4f mf, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) {
s32 i, j;
s32 i, j;
guMtxIdentF(mf);
@ -22,11 +20,7 @@ void guFrustumF(Matrix4f mf, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale
}
}
}
#else
INCLUDE_ASM_LIBULTRA("guFrustum", guFrustumF);
#endif
#ifndef KMC_ASM
void guFrustum(Mtx* m, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) {
Matrix4f mf;
@ -34,7 +28,3 @@ void guFrustum(Mtx* m, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) {
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("guFrustum", guFrustum);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guLookAtF(Matrix4f mf, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt,
f32 xUp, f32 yUp, f32 zUp) {
f32 len, xLook, yLook, zLook, xRight, yRight, zRight;
@ -56,12 +54,8 @@ void guLookAtF(Matrix4f mf, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32
mf[2][3] = 0;
mf[3][3] = 1;
}
#else
INCLUDE_ASM_LIBULTRA("guLookAt", guLookAtF);
#endif
#ifndef KMC_ASM
void guLookAt (Mtx *m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt,
void guLookAt(Mtx *m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt,
f32 xUp, f32 yUp, f32 zUp) {
Matrix4f mf;
@ -69,6 +63,3 @@ void guLookAt (Mtx *m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt,
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("guLookAt", guLookAt);
#endif

View File

@ -1,7 +1,5 @@
#include "PR/gu.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guOrthoF(float mf[4][4], float l, float r, float b, float t, float n, float f, float scale) {
s32 i, j;
@ -21,12 +19,7 @@ void guOrthoF(float mf[4][4], float l, float r, float b, float t, float n, float
}
}
}
#else
void guOrthoF(float mf[4][4], float l, float r, float b, float t, float n, float f, float scale);
INCLUDE_ASM_LIBULTRA("guOrtho", guOrthoF);
#endif
#ifndef KMC_ASM
void guOrtho(Mtx* m, float l, float r, float b, float t, float n, float f, float scale) {
float mf[4][4];
@ -34,6 +27,3 @@ void guOrtho(Mtx* m, float l, float r, float b, float t, float n, float f, float
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("guOrtho", guOrtho);
#endif

View File

@ -1,9 +1,7 @@
#include "common.h"
#include "include_asm_libultra.h"
extern float D_800958C0;
#ifndef KMC_ASM
void guRotateF(float mf[4][4], float a, float x, float y, float z) {
static float dtor = PI_D / 180.0;
float sine;
@ -41,12 +39,7 @@ void guRotateF(float mf[4][4], float a, float x, float y, float z) {
mf[1][0] = ab - zs;
mf[0][1] = ab + zs;
}
#else
INCLUDE_ASM_LIBULTRA("guRotate", guRotateF);
#endif
#ifndef KMC_ASM
void guRotate(Mtx *m, float a, float x, float y, float z) {
float mf[4][4];
@ -54,6 +47,3 @@ void guRotate(Mtx *m, float a, float x, float y, float z) {
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("guRotate", guRotate);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guLookAtHiliteF(Matrix4f mf, LookAt *l, Hilite *h,
f32 xEye, f32 yEye, f32 zEye,
f32 xAt, f32 yAt, f32 zAt,
@ -136,11 +134,7 @@ void guLookAtHiliteF(Matrix4f mf, LookAt *l, Hilite *h,
mf[2][3] = 0;
mf[3][3] = 1;
}
#else
INCLUDE_ASM_LIBULTRA("lookathil", guLookAtHiliteF);
#endif
#ifndef KMC_ASM
void guLookAtHilite (Mtx *m, LookAt *l, Hilite *h,
f32 xEye, f32 yEye, f32 zEye,
f32 xAt, f32 yAt, f32 zAt,
@ -156,6 +150,3 @@ void guLookAtHilite (Mtx *m, LookAt *l, Hilite *h,
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("lookathil", guLookAtHilite);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guLookAtReflectF(Matrix4f mf, LookAt *l,
f32 xEye, f32 yEye, f32 zEye,
f32 xAt, f32 yAt, f32 zAt,
@ -82,20 +80,15 @@ void guLookAtReflectF(Matrix4f mf, LookAt *l,
mf[2][3] = 0;
mf[3][3] = 1;
}
#else
INCLUDE_ASM_LIBULTRA("lookatref", guLookAtReflectF);
#endif
#ifndef KMC_ASM
void guLookAtReflect(Mtx *m, LookAt *l, f32 xEye, f32 yEye, f32 zEye,
f32 xAt, f32 yAt, f32 zAt,
f32 xUp, f32 yUp, f32 zUp) {
void guLookAtReflect(Mtx *m, LookAt *l,
f32 xEye, f32 yEye, f32 zEye,
f32 xAt, f32 yAt, f32 zAt,
f32 xUp, f32 yUp, f32 zUp)
{
Matrix4f mf;
guLookAtReflectF(mf, l, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp);
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("lookatref", guLookAtReflect);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
s32 osEPiLinkHandle(OSPiHandle* EPiHandle) {
u32 saveMask = __osDisableInt();
EPiHandle->next = __osPiTable;
@ -9,6 +7,3 @@ s32 osEPiLinkHandle(OSPiHandle* EPiHandle) {
__osRestoreInt(saveMask);
return 0;
}
#else
INCLUDE_ASM_LIBULTRA("osEPiLinkHandle", osEPiLinkHandle);
#endif

View File

@ -1,7 +1,3 @@
#ifdef KMC_ASM
#define MOVE_ADDU
#endif
#include "common.h"
s32 osEPiReadIo(OSPiHandle* pihandle, u32 devAddr, u32* data) {

View File

@ -1,7 +1,3 @@
#ifdef KMC_ASM
#define MOVE_ADDU
#endif
#include "common.h"
s32 osEPiStartDma(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) {

View File

@ -1,7 +1,3 @@
#ifdef KMC_ASM
#define MOVE_ADDU
#endif
#include "common.h"
s32 osEPiWriteIo(OSPiHandle* handle, u32 devAddr, u32 data) {

View File

@ -1,8 +1,6 @@
#include "common.h"
#include "include_asm_libultra.h"
#include <PR/osint.h>
#ifndef KMC_ASM
s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag) {
register u32 saveMask = __osDisableInt();
while (mq->validCount >= mq->msgCount)
@ -25,6 +23,3 @@ s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag) {
__osRestoreInt(saveMask);
return 0;
}
#else
INCLUDE_ASM_LIBULTRA("osJamMesg", osJamMesg);
#endif

View File

@ -1,8 +1,6 @@
#include "common.h"
#include "include_asm_libultra.h"
#include <PR/osint.h>
#ifndef KMC_ASM
s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flags) {
register u32 saveMask;
saveMask = __osDisableInt();
@ -27,7 +25,4 @@ s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flags) {
__osRestoreInt(saveMask);
return 0;
}
#else
INCLUDE_ASM_LIBULTRA("osRecvMesg", osRecvMesg);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
u32 osVirtualToPhysical(void *addr) {
if (IS_KSEG0(addr)) {
return K0_TO_PHYS(addr);
@ -11,6 +9,3 @@ u32 osVirtualToPhysical(void *addr) {
return __osProbeTLB(addr);
}
}
#else
INCLUDE_ASM_LIBULTRA("osVirtualToPhysical", osVirtualToPhysical);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guPerspectiveF(Matrix4f mf, u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale) {
f32 cot;
s32 i, j;
@ -35,11 +33,7 @@ void guPerspectiveF(Matrix4f mf, u16 *perspNorm, f32 fovy, f32 aspect, f32 near,
}
}
}
#else
INCLUDE_ASM_LIBULTRA("perspective", guPerspectiveF);
#endif
#ifndef KMC_ASM
void guPerspective(Mtx *m, u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale) {
Matrix4f mf;
@ -47,6 +41,3 @@ void guPerspective(Mtx *m, u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 f
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("perspective", guPerspective);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guPositionF(Matrix4f mf, f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z) {
static f32 dtor = 3.1415926 / 180.0;
f32 sinr, sinp, sinh;
@ -37,12 +35,7 @@ void guPositionF(Matrix4f mf, f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z) {
mf[3][2] = z;
mf[3][3] = 1.0;
}
#else
static f32 dtor = 3.1415926 / 180.0;
INCLUDE_ASM_LIBULTRA("position", guPositionF);
#endif
#ifndef KMC_ASM
void guPosition(Mtx* m, f32 r, f32 p, f32 h, f32 s,
f32 x, f32 y, f32 z) {
f32 mf[4][4];
@ -51,6 +44,3 @@ void guPosition(Mtx* m, f32 r, f32 p, f32 h, f32 s,
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("position", guPosition);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
void guRotateRPYF(Matrix4f mf, f32 r, f32 p, f32 h) {
static f32 dtor = 3.1415926 / 180.0;
f32 sinr, sinp, sinh;
@ -31,12 +29,7 @@ void guRotateRPYF(Matrix4f mf, f32 r, f32 p, f32 h) {
mf[2][1] = cosr * sinp * sinh - sinr * cosh;
mf[2][2] = cosr * cosp;
}
#else
static f32 dtor = 3.1415926 / 180.0;
INCLUDE_ASM_LIBULTRA("rotateRPY", guRotateRPYF);
#endif
#ifndef KMC_ASM
void guRotateRPY(Mtx *m, f32 r, f32 p, f32 h) {
Matrix4f mf;
@ -44,6 +37,3 @@ void guRotateRPY(Mtx *m, f32 r, f32 p, f32 h) {
guMtxF2L(mf, m);
}
#else
INCLUDE_ASM_LIBULTRA("rotateRPY", guRotateRPY);
#endif

View File

@ -1,10 +1,8 @@
#include "common.h"
#include "include_asm_libultra.h"
#include <PR/osint.h>
u32 __osPreNMI = 0;
#ifndef KMC_ASM
s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flags)
{
register u32 saveMask;
@ -33,6 +31,3 @@ s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flags)
__osRestoreInt(saveMask);
return 0;
}
#else
INCLUDE_ASM_LIBULTRA("sendmesg", osSendMesg);
#endif

View File

@ -1,9 +1,7 @@
#include "common.h"
#include "include_asm_libultra.h"
#include "sintable.inc.c"
#ifndef KMC_ASM
s16 sins(u16 x) {
/* 0 <= x < 0x10000 ==> 0 <= x < 2PI */
@ -23,6 +21,3 @@ s16 sins(u16 x) {
return val;
}
}
#else
INCLUDE_ASM_LIBULTRA("sins", sins);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
char* strchr(const char* s, int c) {
const char ch = c;
while (*s != ch) {
@ -11,11 +9,7 @@ char* strchr(const char* s, int c) {
}
return (char *)s;
}
#else
INCLUDE_ASM_LIBULTRA("string", strchr);
#endif
#ifndef KMC_ASM
size_t strlen(const char* s) {
const char* sc = s;
while (*sc) {
@ -23,11 +17,7 @@ size_t strlen(const char* s) {
}
return sc - s;
}
#else
INCLUDE_ASM_LIBULTRA("string", strlen);
#endif
#ifndef KMC_ASM
void* memcpy(void* s1, const void* s2, size_t n) {
char* su1 = (char*)s1;
const char *su2 = (const char*)s2;
@ -37,6 +27,3 @@ void* memcpy(void* s1, const void* s2, size_t n) {
}
return (void*)s1;
}
#else
INCLUDE_ASM_LIBULTRA("string", memcpy);
#endif

View File

@ -53,7 +53,8 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
cross = "mips-linux-gnu-"
cc = f"{BUILD_TOOLS}/cc/gcc/gcc"
cc_ido = f"{BUILD_TOOLS}/cc/ido5.3/cc"
cc_kmc = f"{BUILD_TOOLS}/cc/kmcgcc/gcc"
cc_272_dir = f"{BUILD_TOOLS}/cc/gcc2.7.2/"
cc_272 = f"{cc_272_dir}/gcc"
cxx = f"{BUILD_TOOLS}/cc/gcc/g++"
compile_script = f"$python {BUILD_TOOLS}/cc_dsl/compile_script.py"
@ -62,15 +63,12 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
CPPFLAGS = "-w " + CPPFLAGS_COMMON + " -nostdinc"
if sys.platform == "darwin" and not non_matching:
CPPFLAGS += " -DKMC_ASM"
CPPFLAGS_LIBULTRA = "-Iver/$version/build/include -Iinclude -Isrc -Iassets/$version -D_LANGUAGE_C -D_FINALROM " \
CPPFLAGS_272 = "-Iver/$version/build/include -Iinclude -Isrc -Iassets/$version -D_LANGUAGE_C -D_FINALROM " \
"-DVERSION=$version -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -nostdinc"
cflags = f"-c -G0 -O2 -fno-common -B {BUILD_TOOLS}/cc/gcc/ {extra_cflags}"
kmc_cflags = f"-c -G0 -mgp32 -mfp32 -mips3 {extra_cflags}"
kmc_cflags = kmc_cflags.replace("-ggdb3","-g1")
cflags_272 = f"-c -G0 -mgp32 -mfp32 -mips3 {extra_cflags}"
cflags_272 = cflags_272.replace("-ggdb3","-g1")
ninja.variable("python", sys.executable)
@ -121,9 +119,10 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
command=f"{ccache}{cc_ido} -w {CPPFLAGS_COMMON} {cppflags} $cppflags -c -mips1 -O0 -G0 -non_shared -Xfullwarn -Xcpluscomm -o $out $in",
)
ninja.rule("cc_kmc",
description="kmc $in",
command=f"bash -o pipefail -c 'N64ALIGN=ON VR4300MUL=ON {cc_kmc} {CPPFLAGS_LIBULTRA} {cppflags} $cppflags {kmc_cflags} $cflags $in -o $out && mips-linux-gnu-objcopy -N $in $out'",
ninja.rule("cc_272",
description="cc_272 $in",
command=f"bash -o pipefail -c 'COMPILER_PATH={cc_272_dir} {cc_272} {CPPFLAGS_272} {cppflags} $cppflags {cflags_272} $cflags $in -o $out && mips-linux-gnu-objcopy -N $in $out'",
depfile="$out.d",
)
ninja.rule("cxx",
@ -394,10 +393,10 @@ class Configure:
if seg.name.endswith("osFlash"):
task = "cc_ido"
elif "kmc" in cflags and (sys.platform != "darwin" or non_matching):
task = "cc_kmc"
elif "gcc_272" in cflags:
task = "cc_272"
cflags = cflags.replace("kmc", "")
cflags = cflags.replace("gcc_272", "")
build(entry.object_path, entry.src_paths, task, variables={
"cflags": cflags,

View File

@ -1,33 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0090A40
.word 0x09001658, 0x09001610, 0x090016A0, 0x090016E8, 0x09001730
dlabel D_E0090A54
.word 0x090018D8, 0x090018B8, 0x090018F8, 0x09001918, 0x09001938
dlabel D_E0090A68
.byte 0x0A, 0x28, 0x50, 0x78, 0x7D, 0x64, 0x5A, 0x64
dlabel D_E0090A70
.byte 0x3C, 0x50, 0x64, 0x6E, 0x70, 0x5F, 0x64, 0x00
dlabel D_E0090A78
.word 0xFFFFFFFE, 0x9F0FD756, 0x00FECF0F, 0xFE9F0FE5, 0x1500006B, 0x2AFFD945, 0x0000D797, 0xFFFF0000, 0x00000000, 0x00000000
dlabel D_E0090AA0
.double 0.01
dlabel D_E0090AA8
.double 0.01
dlabel D_E0090AB0
.double 0.7
dlabel D_E0090AB8
.double 0.7
dlabel D_E0090AC0
.double 0.6, 0.0

View File

@ -1,122 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel attack_result_text_main
/* 38F900 E0090000 27BDFF98 */ addiu $sp, $sp, -0x68
/* 38F904 E0090004 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 38F908 E0090008 4485C000 */ mtc1 $a1, $f24
/* 38F90C E009000C F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 38F910 E0090010 4486D000 */ mtc1 $a2, $f26
/* 38F914 E0090014 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 38F918 E0090018 4487E000 */ mtc1 $a3, $f28
/* 38F91C E009001C AFB20030 */ sw $s2, 0x30($sp)
/* 38F920 E0090020 0080902D */ daddu $s2, $a0, $zero
/* 38F924 E0090024 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 38F928 E0090028 C7B60078 */ lwc1 $f22, 0x78($sp)
/* 38F92C E009002C 27A40010 */ addiu $a0, $sp, 0x10
/* 38F930 E0090030 AFB30034 */ sw $s3, 0x34($sp)
/* 38F934 E0090034 8FB3007C */ lw $s3, 0x7c($sp)
/* 38F938 E0090038 3C02E009 */ lui $v0, %hi(attack_result_text_init)
/* 38F93C E009003C 244201C0 */ addiu $v0, $v0, %lo(attack_result_text_init)
/* 38F940 E0090040 AFA20018 */ sw $v0, 0x18($sp)
/* 38F944 E0090044 3C02E009 */ lui $v0, %hi(attack_result_text_update)
/* 38F948 E0090048 244201C8 */ addiu $v0, $v0, %lo(attack_result_text_update)
/* 38F94C E009004C AFA2001C */ sw $v0, 0x1c($sp)
/* 38F950 E0090050 3C02E009 */ lui $v0, %hi(attack_result_text_render)
/* 38F954 E0090054 24420420 */ addiu $v0, $v0, %lo(attack_result_text_render)
/* 38F958 E0090058 AFA20020 */ sw $v0, 0x20($sp)
/* 38F95C E009005C 3C02E009 */ lui $v0, %hi(func_E0090428)
/* 38F960 E0090060 24420428 */ addiu $v0, $v0, %lo(func_E0090428)
/* 38F964 E0090064 AFA20024 */ sw $v0, 0x24($sp)
/* 38F968 E0090068 24020048 */ addiu $v0, $zero, 0x48
/* 38F96C E009006C AFBF0038 */ sw $ra, 0x38($sp)
/* 38F970 E0090070 AFB1002C */ sw $s1, 0x2c($sp)
/* 38F974 E0090074 AFB00028 */ sw $s0, 0x28($sp)
/* 38F978 E0090078 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 38F97C E009007C AFA00010 */ sw $zero, 0x10($sp)
/* 38F980 E0090080 0C080124 */ jal shim_create_effect_instance
/* 38F984 E0090084 AFA20014 */ sw $v0, 0x14($sp)
/* 38F988 E0090088 24040038 */ addiu $a0, $zero, 0x38
/* 38F98C E009008C 24030001 */ addiu $v1, $zero, 1
/* 38F990 E0090090 0040882D */ daddu $s1, $v0, $zero
/* 38F994 E0090094 0C08012C */ jal shim_general_heap_malloc
/* 38F998 E0090098 AE230008 */ sw $v1, 8($s1)
/* 38F99C E009009C 0040802D */ daddu $s0, $v0, $zero
/* 38F9A0 E00900A0 16000003 */ bnez $s0, .LE00900B0
/* 38F9A4 E00900A4 AE22000C */ sw $v0, 0xc($s1)
.LE00900A8:
/* 38F9A8 E00900A8 0802402A */ j .LE00900A8
/* 38F9AC E00900AC 00000000 */ nop
.LE00900B0:
/* 38F9B0 E00900B0 3C036666 */ lui $v1, 0x6666
/* 38F9B4 E00900B4 34636667 */ ori $v1, $v1, 0x6667
/* 38F9B8 E00900B8 24020001 */ addiu $v0, $zero, 1
/* 38F9BC E00900BC 02430018 */ mult $s2, $v1
/* 38F9C0 E00900C0 AE020024 */ sw $v0, 0x24($s0)
/* 38F9C4 E00900C4 AE000020 */ sw $zero, 0x20($s0)
/* 38F9C8 E00900C8 AE120000 */ sw $s2, ($s0)
/* 38F9CC E00900CC AE00001C */ sw $zero, 0x1c($s0)
/* 38F9D0 E00900D0 00004010 */ mfhi $t0
/* 38F9D4 E00900D4 00481807 */ srav $v1, $t0, $v0
/* 38F9D8 E00900D8 001217C3 */ sra $v0, $s2, 0x1f
/* 38F9DC E00900DC 00621823 */ subu $v1, $v1, $v0
/* 38F9E0 E00900E0 00031080 */ sll $v0, $v1, 2
/* 38F9E4 E00900E4 00431021 */ addu $v0, $v0, $v1
/* 38F9E8 E00900E8 02421023 */ subu $v0, $s2, $v0
/* 38F9EC E00900EC 1E600004 */ bgtz $s3, .LE0090100
/* 38F9F0 E00900F0 AE020004 */ sw $v0, 4($s0)
/* 38F9F4 E00900F4 24020064 */ addiu $v0, $zero, 0x64
/* 38F9F8 E00900F8 08024041 */ j .LE0090104
/* 38F9FC E00900FC AE020018 */ sw $v0, 0x18($s0)
.LE0090100:
/* 38FA00 E0090100 AE130018 */ sw $s3, 0x18($s0)
.LE0090104:
/* 38FA04 E0090104 240200FF */ addiu $v0, $zero, 0xff
/* 38FA08 E0090108 AE020014 */ sw $v0, 0x14($s0)
/* 38FA0C E009010C 2A420005 */ slti $v0, $s2, 5
/* 38FA10 E0090110 50400014 */ beql $v0, $zero, .LE0090164
/* 38FA14 E0090114 AE000010 */ sw $zero, 0x10($s0)
/* 38FA18 E0090118 3C0141F0 */ lui $at, 0x41f0
/* 38FA1C E009011C 4481A000 */ mtc1 $at, $f20
/* 38FA20 E0090120 E6180008 */ swc1 $f24, 8($s0)
/* 38FA24 E0090124 E61A000C */ swc1 $f26, 0xc($s0)
/* 38FA28 E0090128 E61C0010 */ swc1 $f28, 0x10($s0)
/* 38FA2C E009012C 0C080140 */ jal shim_sin_deg
/* 38FA30 E0090130 4600A306 */ mov.s $f12, $f20
/* 38FA34 E0090134 46000007 */ neg.s $f0, $f0
/* 38FA38 E0090138 46160002 */ mul.s $f0, $f0, $f22
/* 38FA3C E009013C 00000000 */ nop
/* 38FA40 E0090140 46000000 */ add.s $f0, $f0, $f0
/* 38FA44 E0090144 4600A306 */ mov.s $f12, $f20
/* 38FA48 E0090148 0C080144 */ jal shim_cos_deg
/* 38FA4C E009014C E6000030 */ swc1 $f0, 0x30($s0)
/* 38FA50 E0090150 46160002 */ mul.s $f0, $f0, $f22
/* 38FA54 E0090154 00000000 */ nop
/* 38FA58 E0090158 46000000 */ add.s $f0, $f0, $f0
/* 38FA5C E009015C 08024063 */ j .LE009018C
/* 38FA60 E0090160 E6000034 */ swc1 $f0, 0x34($s0)
.LE0090164:
/* 38FA64 E0090164 3C01C2C8 */ lui $at, 0xc2c8
/* 38FA68 E0090168 44810000 */ mtc1 $at, $f0
/* 38FA6C E009016C 3C014220 */ lui $at, 0x4220
/* 38FA70 E0090170 44811000 */ mtc1 $at, $f2
/* 38FA74 E0090174 3C0142E6 */ lui $at, 0x42e6
/* 38FA78 E0090178 44812000 */ mtc1 $at, $f4
/* 38FA7C E009017C AE000034 */ sw $zero, 0x34($s0)
/* 38FA80 E0090180 E6000008 */ swc1 $f0, 8($s0)
/* 38FA84 E0090184 E602000C */ swc1 $f2, 0xc($s0)
/* 38FA88 E0090188 E6040030 */ swc1 $f4, 0x30($s0)
.LE009018C:
/* 38FA8C E009018C 0220102D */ daddu $v0, $s1, $zero
/* 38FA90 E0090190 8FBF0038 */ lw $ra, 0x38($sp)
/* 38FA94 E0090194 8FB30034 */ lw $s3, 0x34($sp)
/* 38FA98 E0090198 8FB20030 */ lw $s2, 0x30($sp)
/* 38FA9C E009019C 8FB1002C */ lw $s1, 0x2c($sp)
/* 38FAA0 E00901A0 8FB00028 */ lw $s0, 0x28($sp)
/* 38FAA4 E00901A4 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 38FAA8 E00901A8 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 38FAAC E00901AC D7B80050 */ ldc1 $f24, 0x50($sp)
/* 38FAB0 E00901B0 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 38FAB4 E00901B4 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 38FAB8 E00901B8 03E00008 */ jr $ra
/* 38FABC E00901BC 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,167 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel attack_result_text_update
/* 38FAC8 E00901C8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 38FACC E00901CC AFBF0010 */ sw $ra, 0x10($sp)
/* 38FAD0 E00901D0 8C85000C */ lw $a1, 0xc($a0)
/* 38FAD4 E00901D4 8CA30018 */ lw $v1, 0x18($a1)
/* 38FAD8 E00901D8 8CA70000 */ lw $a3, ($a1)
/* 38FADC E00901DC 28620064 */ slti $v0, $v1, 0x64
/* 38FAE0 E00901E0 10400002 */ beqz $v0, .LE00901EC
/* 38FAE4 E00901E4 2462FFFF */ addiu $v0, $v1, -1
/* 38FAE8 E00901E8 ACA20018 */ sw $v0, 0x18($a1)
.LE00901EC:
/* 38FAEC E00901EC 8CA3001C */ lw $v1, 0x1c($a1)
/* 38FAF0 E00901F0 8CA80018 */ lw $t0, 0x18($a1)
/* 38FAF4 E00901F4 24660001 */ addiu $a2, $v1, 1
/* 38FAF8 E00901F8 05010007 */ bgez $t0, .LE0090218
/* 38FAFC E00901FC ACA6001C */ sw $a2, 0x1c($a1)
/* 38FB00 E0090200 2402FFFF */ addiu $v0, $zero, -1
/* 38FB04 E0090204 ACA00024 */ sw $zero, 0x24($a1)
/* 38FB08 E0090208 0C080128 */ jal shim_remove_effect
/* 38FB0C E009020C ACA20018 */ sw $v0, 0x18($a1)
/* 38FB10 E0090210 08024105 */ j .LE0090414
/* 38FB14 E0090214 00000000 */ nop
.LE0090218:
/* 38FB18 E0090218 28E20005 */ slti $v0, $a3, 5
/* 38FB1C E009021C 10400048 */ beqz $v0, .LE0090340
/* 38FB20 E0090220 28C20009 */ slti $v0, $a2, 9
/* 38FB24 E0090224 1040000F */ beqz $v0, .LE0090264
/* 38FB28 E0090228 2402000A */ addiu $v0, $zero, 0xa
/* 38FB2C E009022C 3C02E009 */ lui $v0, %hi(D_E0090A68)
/* 38FB30 E0090230 00431021 */ addu $v0, $v0, $v1
/* 38FB34 E0090234 90420A68 */ lbu $v0, %lo(D_E0090A68)($v0)
/* 38FB38 E0090238 3C01E009 */ lui $at, %hi(D_E0090AA0)
/* 38FB3C E009023C D4220AA0 */ ldc1 $f2, %lo(D_E0090AA0)($at)
/* 38FB40 E0090240 44820000 */ mtc1 $v0, $f0
/* 38FB44 E0090244 00000000 */ nop
/* 38FB48 E0090248 46800020 */ cvt.s.w $f0, $f0
/* 38FB4C E009024C 46000021 */ cvt.d.s $f0, $f0
/* 38FB50 E0090250 46220002 */ mul.d $f0, $f0, $f2
/* 38FB54 E0090254 00000000 */ nop
/* 38FB58 E0090258 46200020 */ cvt.s.d $f0, $f0
/* 38FB5C E009025C E4A00028 */ swc1 $f0, 0x28($a1)
/* 38FB60 E0090260 2402000A */ addiu $v0, $zero, 0xa
.LE0090264:
/* 38FB64 E0090264 14C20003 */ bne $a2, $v0, .LE0090274
/* 38FB68 E0090268 2463FF9C */ addiu $v1, $v1, -0x64
/* 38FB6C E009026C 24020009 */ addiu $v0, $zero, 9
/* 38FB70 E0090270 ACA2001C */ sw $v0, 0x1c($a1)
.LE0090274:
/* 38FB74 E0090274 2C620007 */ sltiu $v0, $v1, 7
/* 38FB78 E0090278 1040000F */ beqz $v0, .LE00902B8
/* 38FB7C E009027C 2402006D */ addiu $v0, $zero, 0x6d
/* 38FB80 E0090280 3C02E009 */ lui $v0, %hi(D_E0090A70)
/* 38FB84 E0090284 00431021 */ addu $v0, $v0, $v1
/* 38FB88 E0090288 90420A70 */ lbu $v0, %lo(D_E0090A70)($v0)
/* 38FB8C E009028C 3C01E009 */ lui $at, %hi(D_E0090AA8)
/* 38FB90 E0090290 D4220AA8 */ ldc1 $f2, %lo(D_E0090AA8)($at)
/* 38FB94 E0090294 44820000 */ mtc1 $v0, $f0
/* 38FB98 E0090298 00000000 */ nop
/* 38FB9C E009029C 46800020 */ cvt.s.w $f0, $f0
/* 38FBA0 E00902A0 46000021 */ cvt.d.s $f0, $f0
/* 38FBA4 E00902A4 46220002 */ mul.d $f0, $f0, $f2
/* 38FBA8 E00902A8 00000000 */ nop
/* 38FBAC E00902AC 46200020 */ cvt.s.d $f0, $f0
/* 38FBB0 E00902B0 E4A00028 */ swc1 $f0, 0x28($a1)
/* 38FBB4 E00902B4 2402006D */ addiu $v0, $zero, 0x6d
.LE00902B8:
/* 38FBB8 E00902B8 14C20004 */ bne $a2, $v0, .LE00902CC
/* 38FBBC E00902BC 28C203E9 */ slti $v0, $a2, 0x3e9
/* 38FBC0 E00902C0 2402006C */ addiu $v0, $zero, 0x6c
/* 38FBC4 E00902C4 ACA2001C */ sw $v0, 0x1c($a1)
/* 38FBC8 E00902C8 28C203E9 */ slti $v0, $a2, 0x3e9
.LE00902CC:
/* 38FBCC E00902CC 14400004 */ bnez $v0, .LE00902E0
/* 38FBD0 E00902D0 29020006 */ slti $v0, $t0, 6
/* 38FBD4 E00902D4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 38FBD8 E00902D8 ACA2001C */ sw $v0, 0x1c($a1)
/* 38FBDC E00902DC 29020006 */ slti $v0, $t0, 6
.LE00902E0:
/* 38FBE0 E00902E0 14400010 */ bnez $v0, .LE0090324
/* 38FBE4 E00902E4 29020005 */ slti $v0, $t0, 5
/* 38FBE8 E00902E8 C4A00030 */ lwc1 $f0, 0x30($a1)
/* 38FBEC E00902EC 3C013FE8 */ lui $at, 0x3fe8
/* 38FBF0 E00902F0 44812800 */ mtc1 $at, $f5
/* 38FBF4 E00902F4 44802000 */ mtc1 $zero, $f4
/* 38FBF8 E00902F8 46000021 */ cvt.d.s $f0, $f0
/* 38FBFC E00902FC 46240002 */ mul.d $f0, $f0, $f4
/* 38FC00 E0090300 00000000 */ nop
/* 38FC04 E0090304 C4A20034 */ lwc1 $f2, 0x34($a1)
/* 38FC08 E0090308 460010A1 */ cvt.d.s $f2, $f2
/* 38FC0C E009030C 46241082 */ mul.d $f2, $f2, $f4
/* 38FC10 E0090310 00000000 */ nop
/* 38FC14 E0090314 46200020 */ cvt.s.d $f0, $f0
/* 38FC18 E0090318 462010A0 */ cvt.s.d $f2, $f2
/* 38FC1C E009031C E4A00030 */ swc1 $f0, 0x30($a1)
/* 38FC20 E0090320 E4A20034 */ swc1 $f2, 0x34($a1)
.LE0090324:
/* 38FC24 E0090324 10400027 */ beqz $v0, .LE00903C4
/* 38FC28 E0090328 00000000 */ nop
/* 38FC2C E009032C C4A00030 */ lwc1 $f0, 0x30($a1)
/* 38FC30 E0090330 3C01E009 */ lui $at, %hi(D_E0090AB0)
/* 38FC34 E0090334 D4240AB0 */ ldc1 $f4, %lo(D_E0090AB0)($at)
/* 38FC38 E0090338 080240E7 */ j .LE009039C
/* 38FC3C E009033C 46000021 */ cvt.d.s $f0, $f0
.LE0090340:
/* 38FC40 E0090340 29020006 */ slti $v0, $t0, 6
/* 38FC44 E0090344 1440000F */ bnez $v0, .LE0090384
/* 38FC48 E0090348 29020005 */ slti $v0, $t0, 5
/* 38FC4C E009034C C4A00030 */ lwc1 $f0, 0x30($a1)
/* 38FC50 E0090350 3C01E009 */ lui $at, %hi(D_E0090AB8)
/* 38FC54 E0090354 D4240AB8 */ ldc1 $f4, %lo(D_E0090AB8)($at)
/* 38FC58 E0090358 46000021 */ cvt.d.s $f0, $f0
/* 38FC5C E009035C 46240002 */ mul.d $f0, $f0, $f4
/* 38FC60 E0090360 00000000 */ nop
/* 38FC64 E0090364 C4A20034 */ lwc1 $f2, 0x34($a1)
/* 38FC68 E0090368 460010A1 */ cvt.d.s $f2, $f2
/* 38FC6C E009036C 46241082 */ mul.d $f2, $f2, $f4
/* 38FC70 E0090370 00000000 */ nop
/* 38FC74 E0090374 46200020 */ cvt.s.d $f0, $f0
/* 38FC78 E0090378 462010A0 */ cvt.s.d $f2, $f2
/* 38FC7C E009037C E4A00030 */ swc1 $f0, 0x30($a1)
/* 38FC80 E0090380 E4A20034 */ swc1 $f2, 0x34($a1)
.LE0090384:
/* 38FC84 E0090384 1040000F */ beqz $v0, .LE00903C4
/* 38FC88 E0090388 00000000 */ nop
/* 38FC8C E009038C C4A00030 */ lwc1 $f0, 0x30($a1)
/* 38FC90 E0090390 3C01E009 */ lui $at, %hi(D_E0090AC0)
/* 38FC94 E0090394 D4240AC0 */ ldc1 $f4, %lo(D_E0090AC0)($at)
/* 38FC98 E0090398 46000021 */ cvt.d.s $f0, $f0
.LE009039C:
/* 38FC9C E009039C 46240002 */ mul.d $f0, $f0, $f4
/* 38FCA0 E00903A0 00000000 */ nop
/* 38FCA4 E00903A4 C4A20034 */ lwc1 $f2, 0x34($a1)
/* 38FCA8 E00903A8 460010A1 */ cvt.d.s $f2, $f2
/* 38FCAC E00903AC 46241082 */ mul.d $f2, $f2, $f4
/* 38FCB0 E00903B0 00000000 */ nop
/* 38FCB4 E00903B4 46200020 */ cvt.s.d $f0, $f0
/* 38FCB8 E00903B8 462010A0 */ cvt.s.d $f2, $f2
/* 38FCBC E00903BC E4A00030 */ swc1 $f0, 0x30($a1)
/* 38FCC0 E00903C0 E4A20034 */ swc1 $f2, 0x34($a1)
.LE00903C4:
/* 38FCC4 E00903C4 C4A40008 */ lwc1 $f4, 8($a1)
/* 38FCC8 E00903C8 C4A00030 */ lwc1 $f0, 0x30($a1)
/* 38FCCC E00903CC C4A2000C */ lwc1 $f2, 0xc($a1)
/* 38FCD0 E00903D0 46002100 */ add.s $f4, $f4, $f0
/* 38FCD4 E00903D4 C4A00034 */ lwc1 $f0, 0x34($a1)
/* 38FCD8 E00903D8 8CA20020 */ lw $v0, 0x20($a1)
/* 38FCDC E00903DC 46001080 */ add.s $f2, $f2, $f0
/* 38FCE0 E00903E0 E4A40008 */ swc1 $f4, 8($a1)
/* 38FCE4 E00903E4 1040000B */ beqz $v0, .LE0090414
/* 38FCE8 E00903E8 E4A2000C */ swc1 $f2, 0xc($a1)
/* 38FCEC E00903EC 8CA20004 */ lw $v0, 4($a1)
/* 38FCF0 E00903F0 24030064 */ addiu $v1, $zero, 0x64
/* 38FCF4 E00903F4 ACA00020 */ sw $zero, 0x20($a1)
/* 38FCF8 E00903F8 ACA3001C */ sw $v1, 0x1c($a1)
/* 38FCFC E00903FC 24420001 */ addiu $v0, $v0, 1
/* 38FD00 E0090400 ACA20004 */ sw $v0, 4($a1)
/* 38FD04 E0090404 28420003 */ slti $v0, $v0, 3
/* 38FD08 E0090408 14400002 */ bnez $v0, .LE0090414
/* 38FD0C E009040C 24020002 */ addiu $v0, $zero, 2
/* 38FD10 E0090410 ACA20004 */ sw $v0, 4($a1)
.LE0090414:
/* 38FD14 E0090414 8FBF0010 */ lw $ra, 0x10($sp)
/* 38FD18 E0090418 03E00008 */ jr $ra
/* 38FD1C E009041C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E0090428
/* 38FD28 E0090428 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 38FD2C E009042C AFBF0010 */ sw $ra, 0x10($sp)
/* 38FD30 E0090430 0C024111 */ jal func_E0090444
/* 38FD34 E0090434 00000000 */ nop
/* 38FD38 E0090438 8FBF0010 */ lw $ra, 0x10($sp)
/* 38FD3C E009043C 03E00008 */ jr $ra
/* 38FD40 E0090440 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel coss
/* 3D300 80061F00 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3D304 80061F04 AFBF0010 */ sw $ra, 0x10($sp)
/* 3D308 80061F08 24844000 */ addiu $a0, $a0, 0x4000
/* 3D30C 80061F0C 0C01917C */ jal sins
/* 3D310 80061F10 3084FFFF */ andi $a0, $a0, 0xffff
/* 3D314 80061F14 00021400 */ sll $v0, $v0, 0x10
/* 3D318 80061F18 8FBF0010 */ lw $ra, 0x10($sp)
/* 3D31C 80061F1C 00021403 */ sra $v0, $v0, 0x10
/* 3D320 80061F20 03E00008 */ jr $ra
/* 3D324 80061F24 27BD0018 */ addiu $sp, $sp, 0x18
/* 3D328 80061F28 00000000 */ nop
/* 3D32C 80061F2C 00000000 */ nop

View File

@ -1,90 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guFrustum
/* 3D460 80062060 27BDFF70 */ addiu $sp, $sp, -0x90
/* 3D464 80062064 F7B80070 */ sdc1 $f24, 0x70($sp)
/* 3D468 80062068 C7B800A0 */ lwc1 $f24, 0xa0($sp)
/* 3D46C 8006206C F7B60068 */ sdc1 $f22, 0x68($sp)
/* 3D470 80062070 C7B600A4 */ lwc1 $f22, 0xa4($sp)
/* 3D474 80062074 F7B40060 */ sdc1 $f20, 0x60($sp)
/* 3D478 80062078 C7B400A8 */ lwc1 $f20, 0xa8($sp)
/* 3D47C 8006207C AFB10054 */ sw $s1, 0x54($sp)
/* 3D480 80062080 8FB100AC */ lw $s1, 0xac($sp)
/* 3D484 80062084 F7BC0080 */ sdc1 $f28, 0x80($sp)
/* 3D488 80062088 4485E000 */ mtc1 $a1, $f28
/* 3D48C 8006208C F7BA0078 */ sdc1 $f26, 0x78($sp)
/* 3D490 80062090 4486D000 */ mtc1 $a2, $f26
/* 3D494 80062094 AFB20058 */ sw $s2, 0x58($sp)
/* 3D498 80062098 00809021 */ addu $s2, $a0, $zero
/* 3D49C 8006209C AFB00050 */ sw $s0, 0x50($sp)
/* 3D4A0 800620A0 27B00010 */ addiu $s0, $sp, 0x10
/* 3D4A4 800620A4 F7BE0088 */ sdc1 $f30, 0x88($sp)
/* 3D4A8 800620A8 4487F000 */ mtc1 $a3, $f30
/* 3D4AC 800620AC AFBF005C */ sw $ra, 0x5c($sp)
/* 3D4B0 800620B0 0C019D28 */ jal guMtxIdentF
/* 3D4B4 800620B4 02002021 */ addu $a0, $s0, $zero
/* 3D4B8 800620B8 461CD001 */ sub.s $f0, $f26, $f28
/* 3D4BC 800620BC 461CD680 */ add.s $f26, $f26, $f28
/* 3D4C0 800620C0 4600D683 */ div.s $f26, $f26, $f0
/* 3D4C4 800620C4 4616B180 */ add.s $f6, $f22, $f22
/* 3D4C8 800620C8 46003203 */ div.s $f8, $f6, $f0
/* 3D4CC 800620CC 461EC081 */ sub.s $f2, $f24, $f30
/* 3D4D0 800620D0 46023183 */ div.s $f6, $f6, $f2
/* 3D4D4 800620D4 461EC600 */ add.s $f24, $f24, $f30
/* 3D4D8 800620D8 4602C603 */ div.s $f24, $f24, $f2
/* 3D4DC 800620DC 4616A101 */ sub.s $f4, $f20, $f22
/* 3D4E0 800620E0 4616A080 */ add.s $f2, $f20, $f22
/* 3D4E4 800620E4 46001087 */ neg.s $f2, $f2
/* 3D4E8 800620E8 46041083 */ div.s $f2, $f2, $f4
/* 3D4EC 800620EC 3C01C000 */ lui $at, 0xc000
/* 3D4F0 800620F0 44810000 */ mtc1 $at, $f0
/* 3D4F4 800620F4 00000000 */ nop
/* 3D4F8 800620F8 4600A502 */ mul.s $f20, $f20, $f0
/* 3D4FC 800620FC 00000000 */ nop
/* 3D500 80062100 4616A502 */ mul.s $f20, $f20, $f22
/* 3D504 80062104 4604A503 */ div.s $f20, $f20, $f4
/* 3D508 80062108 3C01BF80 */ lui $at, 0xbf80
/* 3D50C 8006210C 44810000 */ mtc1 $at, $f0
/* 3D510 80062110 00002821 */ addu $a1, $zero, $zero
/* 3D514 80062114 AFA0004C */ sw $zero, 0x4c($sp)
/* 3D518 80062118 E7A0003C */ swc1 $f0, 0x3c($sp)
/* 3D51C 8006211C E7BA0030 */ swc1 $f26, 0x30($sp)
/* 3D520 80062120 E7A80010 */ swc1 $f8, 0x10($sp)
/* 3D524 80062124 E7A60024 */ swc1 $f6, 0x24($sp)
/* 3D528 80062128 E7B80034 */ swc1 $f24, 0x34($sp)
/* 3D52C 8006212C E7A20038 */ swc1 $f2, 0x38($sp)
/* 3D530 80062130 E7B40048 */ swc1 $f20, 0x48($sp)
.L80062134:
/* 3D534 80062134 00002021 */ addu $a0, $zero, $zero
/* 3D538 80062138 02001821 */ addu $v1, $s0, $zero
.L8006213C:
/* 3D53C 8006213C C4600000 */ lwc1 $f0, ($v1)
/* 3D540 80062140 44915000 */ mtc1 $s1, $f10
/* 3D544 80062144 00000000 */ nop
/* 3D548 80062148 460A0002 */ mul.s $f0, $f0, $f10
/* 3D54C 8006214C 24840001 */ addiu $a0, $a0, 1
/* 3D550 80062150 28820004 */ slti $v0, $a0, 4
/* 3D554 80062154 E4600000 */ swc1 $f0, ($v1)
/* 3D558 80062158 1440FFF8 */ bnez $v0, .L8006213C
/* 3D55C 8006215C 24630004 */ addiu $v1, $v1, 4
/* 3D560 80062160 24A50001 */ addiu $a1, $a1, 1
/* 3D564 80062164 28A20004 */ slti $v0, $a1, 4
/* 3D568 80062168 1440FFF2 */ bnez $v0, .L80062134
/* 3D56C 8006216C 26100010 */ addiu $s0, $s0, 0x10
/* 3D570 80062170 27A40010 */ addiu $a0, $sp, 0x10
/* 3D574 80062174 0C019D40 */ jal guMtxF2L
/* 3D578 80062178 02402821 */ addu $a1, $s2, $zero
/* 3D57C 8006217C 8FBF005C */ lw $ra, 0x5c($sp)
/* 3D580 80062180 8FB20058 */ lw $s2, 0x58($sp)
/* 3D584 80062184 8FB10054 */ lw $s1, 0x54($sp)
/* 3D588 80062188 8FB00050 */ lw $s0, 0x50($sp)
/* 3D58C 8006218C D7BE0088 */ ldc1 $f30, 0x88($sp)
/* 3D590 80062190 D7BC0080 */ ldc1 $f28, 0x80($sp)
/* 3D594 80062194 D7BA0078 */ ldc1 $f26, 0x78($sp)
/* 3D598 80062198 D7B80070 */ ldc1 $f24, 0x70($sp)
/* 3D59C 8006219C D7B60068 */ ldc1 $f22, 0x68($sp)
/* 3D5A0 800621A0 D7B40060 */ ldc1 $f20, 0x60($sp)
/* 3D5A4 800621A4 03E00008 */ jr $ra
/* 3D5A8 800621A8 27BD0090 */ addiu $sp, $sp, 0x90
/* 3D5AC 800621AC 00000000 */ nop

View File

@ -1,82 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guFrustumF
/* 3D330 80061F30 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3D334 80061F34 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 3D338 80061F38 C7BA0060 */ lwc1 $f26, 0x60($sp)
/* 3D33C 80061F3C F7B60028 */ sdc1 $f22, 0x28($sp)
/* 3D340 80061F40 C7B60064 */ lwc1 $f22, 0x64($sp)
/* 3D344 80061F44 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 3D348 80061F48 C7B40068 */ lwc1 $f20, 0x68($sp)
/* 3D34C 80061F4C AFB10014 */ sw $s1, 0x14($sp)
/* 3D350 80061F50 8FB1006C */ lw $s1, 0x6c($sp)
/* 3D354 80061F54 F7BC0040 */ sdc1 $f28, 0x40($sp)
/* 3D358 80061F58 4485E000 */ mtc1 $a1, $f28
/* 3D35C 80061F5C F7B80030 */ sdc1 $f24, 0x30($sp)
/* 3D360 80061F60 4486C000 */ mtc1 $a2, $f24
/* 3D364 80061F64 AFB00010 */ sw $s0, 0x10($sp)
/* 3D368 80061F68 F7BE0048 */ sdc1 $f30, 0x48($sp)
/* 3D36C 80061F6C 4487F000 */ mtc1 $a3, $f30
/* 3D370 80061F70 AFBF0018 */ sw $ra, 0x18($sp)
/* 3D374 80061F74 0C019D28 */ jal guMtxIdentF
/* 3D378 80061F78 00808021 */ addu $s0, $a0, $zero
/* 3D37C 80061F7C 461CC001 */ sub.s $f0, $f24, $f28
/* 3D380 80061F80 461CC600 */ add.s $f24, $f24, $f28
/* 3D384 80061F84 4600C603 */ div.s $f24, $f24, $f0
/* 3D388 80061F88 4616B180 */ add.s $f6, $f22, $f22
/* 3D38C 80061F8C 46003203 */ div.s $f8, $f6, $f0
/* 3D390 80061F90 461ED081 */ sub.s $f2, $f26, $f30
/* 3D394 80061F94 46023183 */ div.s $f6, $f6, $f2
/* 3D398 80061F98 461ED680 */ add.s $f26, $f26, $f30
/* 3D39C 80061F9C 4602D683 */ div.s $f26, $f26, $f2
/* 3D3A0 80061FA0 4616A101 */ sub.s $f4, $f20, $f22
/* 3D3A4 80061FA4 4616A080 */ add.s $f2, $f20, $f22
/* 3D3A8 80061FA8 46001087 */ neg.s $f2, $f2
/* 3D3AC 80061FAC 46041083 */ div.s $f2, $f2, $f4
/* 3D3B0 80061FB0 3C01C000 */ lui $at, 0xc000
/* 3D3B4 80061FB4 44810000 */ mtc1 $at, $f0
/* 3D3B8 80061FB8 00000000 */ nop
/* 3D3BC 80061FBC 4600A502 */ mul.s $f20, $f20, $f0
/* 3D3C0 80061FC0 00000000 */ nop
/* 3D3C4 80061FC4 4616A502 */ mul.s $f20, $f20, $f22
/* 3D3C8 80061FC8 4604A503 */ div.s $f20, $f20, $f4
/* 3D3CC 80061FCC 3C01BF80 */ lui $at, 0xbf80
/* 3D3D0 80061FD0 44810000 */ mtc1 $at, $f0
/* 3D3D4 80061FD4 00002821 */ addu $a1, $zero, $zero
/* 3D3D8 80061FD8 AE00003C */ sw $zero, 0x3c($s0)
/* 3D3DC 80061FDC E600002C */ swc1 $f0, 0x2c($s0)
/* 3D3E0 80061FE0 E6180020 */ swc1 $f24, 0x20($s0)
/* 3D3E4 80061FE4 E6080000 */ swc1 $f8, ($s0)
/* 3D3E8 80061FE8 E6060014 */ swc1 $f6, 0x14($s0)
/* 3D3EC 80061FEC E61A0024 */ swc1 $f26, 0x24($s0)
/* 3D3F0 80061FF0 E6020028 */ swc1 $f2, 0x28($s0)
/* 3D3F4 80061FF4 E6140038 */ swc1 $f20, 0x38($s0)
.L80061FF8:
/* 3D3F8 80061FF8 00002021 */ addu $a0, $zero, $zero
/* 3D3FC 80061FFC 02001821 */ addu $v1, $s0, $zero
.L80062000:
/* 3D400 80062000 C4600000 */ lwc1 $f0, ($v1)
/* 3D404 80062004 44915000 */ mtc1 $s1, $f10
/* 3D408 80062008 00000000 */ nop
/* 3D40C 8006200C 460A0002 */ mul.s $f0, $f0, $f10
/* 3D410 80062010 24840001 */ addiu $a0, $a0, 1
/* 3D414 80062014 28820004 */ slti $v0, $a0, 4
/* 3D418 80062018 E4600000 */ swc1 $f0, ($v1)
/* 3D41C 8006201C 1440FFF8 */ bnez $v0, .L80062000
/* 3D420 80062020 24630004 */ addiu $v1, $v1, 4
/* 3D424 80062024 24A50001 */ addiu $a1, $a1, 1
/* 3D428 80062028 28A20004 */ slti $v0, $a1, 4
/* 3D42C 8006202C 1440FFF2 */ bnez $v0, .L80061FF8
/* 3D430 80062030 26100010 */ addiu $s0, $s0, 0x10
/* 3D434 80062034 8FBF0018 */ lw $ra, 0x18($sp)
/* 3D438 80062038 8FB10014 */ lw $s1, 0x14($sp)
/* 3D43C 8006203C 8FB00010 */ lw $s0, 0x10($sp)
/* 3D440 80062040 D7BE0048 */ ldc1 $f30, 0x48($sp)
/* 3D444 80062044 D7BC0040 */ ldc1 $f28, 0x40($sp)
/* 3D448 80062048 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 3D44C 8006204C D7B80030 */ ldc1 $f24, 0x30($sp)
/* 3D450 80062050 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 3D454 80062054 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 3D458 80062058 03E00008 */ jr $ra
/* 3D45C 8006205C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,245 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80099B60
.double -1.0
dlabel D_80099B68
.word 0x3FF00000, 0x00000000
.section .text
glabel guLookAt
/* 3D930 80062530 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 3D934 80062534 AFB20068 */ sw $s2, 0x68($sp)
/* 3D938 80062538 8FB200D4 */ lw $s2, 0xd4($sp)
/* 3D93C 8006253C AFB10064 */ sw $s1, 0x64($sp)
/* 3D940 80062540 8FB100D8 */ lw $s1, 0xd8($sp)
/* 3D944 80062544 AFB00060 */ sw $s0, 0x60($sp)
/* 3D948 80062548 8FB000DC */ lw $s0, 0xdc($sp)
/* 3D94C 8006254C F7B40088 */ sdc1 $f20, 0x88($sp)
/* 3D950 80062550 C7B400C8 */ lwc1 $f20, 0xc8($sp)
/* 3D954 80062554 F7B60090 */ sdc1 $f22, 0x90($sp)
/* 3D958 80062558 C7B600CC */ lwc1 $f22, 0xcc($sp)
/* 3D95C 8006255C F7B80098 */ sdc1 $f24, 0x98($sp)
/* 3D960 80062560 C7B800D0 */ lwc1 $f24, 0xd0($sp)
/* 3D964 80062564 AFB3006C */ sw $s3, 0x6c($sp)
/* 3D968 80062568 00A09821 */ addu $s3, $a1, $zero
/* 3D96C 8006256C AFB40070 */ sw $s4, 0x70($sp)
/* 3D970 80062570 00C0A021 */ addu $s4, $a2, $zero
/* 3D974 80062574 AFB50074 */ sw $s5, 0x74($sp)
/* 3D978 80062578 00E0A821 */ addu $s5, $a3, $zero
/* 3D97C 8006257C AFBE0080 */ sw $fp, 0x80($sp)
/* 3D980 80062580 27BE0010 */ addiu $fp, $sp, 0x10
/* 3D984 80062584 AFA40054 */ sw $a0, 0x54($sp)
/* 3D988 80062588 AFBF0084 */ sw $ra, 0x84($sp)
/* 3D98C 8006258C AFB7007C */ sw $s7, 0x7c($sp)
/* 3D990 80062590 AFB60078 */ sw $s6, 0x78($sp)
/* 3D994 80062594 F7BE00B0 */ sdc1 $f30, 0xb0($sp)
/* 3D998 80062598 F7BC00A8 */ sdc1 $f28, 0xa8($sp)
/* 3D99C 8006259C F7BA00A0 */ sdc1 $f26, 0xa0($sp)
/* 3D9A0 800625A0 0C019D28 */ jal guMtxIdentF
/* 3D9A4 800625A4 03C02021 */ addu $a0, $fp, $zero
/* 3D9A8 800625A8 44937000 */ mtc1 $s3, $f14
/* 3D9AC 800625AC 00000000 */ nop
/* 3D9B0 800625B0 460EA681 */ sub.s $f26, $f20, $f14
/* 3D9B4 800625B4 461AD002 */ mul.s $f0, $f26, $f26
/* 3D9B8 800625B8 44949000 */ mtc1 $s4, $f18
/* 3D9BC 800625BC 00000000 */ nop
/* 3D9C0 800625C0 4612B701 */ sub.s $f28, $f22, $f18
/* 3D9C4 800625C4 461CE102 */ mul.s $f4, $f28, $f28
/* 3D9C8 800625C8 44957000 */ mtc1 $s5, $f14
/* 3D9CC 800625CC 00000000 */ nop
/* 3D9D0 800625D0 460EC781 */ sub.s $f30, $f24, $f14
/* 3D9D4 800625D4 461EF082 */ mul.s $f2, $f30, $f30
/* 3D9D8 800625D8 46040000 */ add.s $f0, $f0, $f4
/* 3D9DC 800625DC 46020300 */ add.s $f12, $f0, $f2
/* 3D9E0 800625E0 46006084 */ sqrt.s $f2, $f12
/* 3D9E4 800625E4 46021032 */ c.eq.s $f2, $f2
/* 3D9E8 800625E8 00000000 */ nop
/* 3D9EC 800625EC 45010004 */ bc1t .L80062600
/* 3D9F0 800625F0 00000000 */ nop
/* 3D9F4 800625F4 0C0187BC */ jal sqrtf
/* 3D9F8 800625F8 00000000 */ nop
/* 3D9FC 800625FC 46000086 */ mov.s $f2, $f0
.L80062600:
/* 3DA00 80062600 3C01800A */ lui $at, %hi(D_80099B60)
/* 3DA04 80062604 D4209B60 */ ldc1 $f0, %lo(D_80099B60)($at)
/* 3DA08 80062608 460010A1 */ cvt.d.s $f2, $f2
/* 3DA0C 8006260C 46220003 */ div.d $f0, $f0, $f2
/* 3DA10 80062610 46200420 */ cvt.s.d $f16, $f0
/* 3DA14 80062614 4610D682 */ mul.s $f26, $f26, $f16
/* 3DA18 80062618 00000000 */ nop
/* 3DA1C 8006261C 4610F782 */ mul.s $f30, $f30, $f16
/* 3DA20 80062620 00000000 */ nop
/* 3DA24 80062624 4610E702 */ mul.s $f28, $f28, $f16
/* 3DA28 80062628 44919000 */ mtc1 $s1, $f18
/* 3DA2C 8006262C 00000000 */ nop
/* 3DA30 80062630 461E9102 */ mul.s $f4, $f18, $f30
/* 3DA34 80062634 44907000 */ mtc1 $s0, $f14
/* 3DA38 80062638 00000000 */ nop
/* 3DA3C 8006263C 461C7002 */ mul.s $f0, $f14, $f28
/* 3DA40 80062640 00000000 */ nop
/* 3DA44 80062644 461A7202 */ mul.s $f8, $f14, $f26
/* 3DA48 80062648 44929000 */ mtc1 $s2, $f18
/* 3DA4C 8006264C 00000000 */ nop
/* 3DA50 80062650 461E9082 */ mul.s $f2, $f18, $f30
/* 3DA54 80062654 00000000 */ nop
/* 3DA58 80062658 461C9282 */ mul.s $f10, $f18, $f28
/* 3DA5C 8006265C 44917000 */ mtc1 $s1, $f14
/* 3DA60 80062660 00000000 */ nop
/* 3DA64 80062664 461A7182 */ mul.s $f6, $f14, $f26
/* 3DA68 80062668 46002601 */ sub.s $f24, $f4, $f0
/* 3DA6C 8006266C 4618C002 */ mul.s $f0, $f24, $f24
/* 3DA70 80062670 46024581 */ sub.s $f22, $f8, $f2
/* 3DA74 80062674 4616B102 */ mul.s $f4, $f22, $f22
/* 3DA78 80062678 46065501 */ sub.s $f20, $f10, $f6
/* 3DA7C 8006267C 4614A082 */ mul.s $f2, $f20, $f20
/* 3DA80 80062680 46040000 */ add.s $f0, $f0, $f4
/* 3DA84 80062684 46020300 */ add.s $f12, $f0, $f2
/* 3DA88 80062688 46006004 */ sqrt.s $f0, $f12
/* 3DA8C 8006268C 46000032 */ c.eq.s $f0, $f0
/* 3DA90 80062690 00000000 */ nop
/* 3DA94 80062694 45010003 */ bc1t .L800626A4
/* 3DA98 80062698 00000000 */ nop
/* 3DA9C 8006269C 0C0187BC */ jal sqrtf
/* 3DAA0 800626A0 00000000 */ nop
.L800626A4:
/* 3DAA4 800626A4 3C01800A */ lui $at, %hi(D_80099B68)
/* 3DAA8 800626A8 8C369B68 */ lw $s6, %lo(D_80099B68)($at)
/* 3DAAC 800626AC 8C379B6C */ lw $s7, -0x6494($at)
/* 3DAB0 800626B0 44979000 */ mtc1 $s7, $f18
/* 3DAB4 800626B4 44969800 */ mtc1 $s6, $f19
/* 3DAB8 800626B8 46000021 */ cvt.d.s $f0, $f0
/* 3DABC 800626BC 46209003 */ div.d $f0, $f18, $f0
/* 3DAC0 800626C0 46200420 */ cvt.s.d $f16, $f0
/* 3DAC4 800626C4 4610C602 */ mul.s $f24, $f24, $f16
/* 3DAC8 800626C8 00000000 */ nop
/* 3DACC 800626CC 4610A502 */ mul.s $f20, $f20, $f16
/* 3DAD0 800626D0 00000000 */ nop
/* 3DAD4 800626D4 4610B582 */ mul.s $f22, $f22, $f16
/* 3DAD8 800626D8 00000000 */ nop
/* 3DADC 800626DC 4614E102 */ mul.s $f4, $f28, $f20
/* 3DAE0 800626E0 00000000 */ nop
/* 3DAE4 800626E4 4616F002 */ mul.s $f0, $f30, $f22
/* 3DAE8 800626E8 00000000 */ nop
/* 3DAEC 800626EC 4618F202 */ mul.s $f8, $f30, $f24
/* 3DAF0 800626F0 00000000 */ nop
/* 3DAF4 800626F4 4614D082 */ mul.s $f2, $f26, $f20
/* 3DAF8 800626F8 00000000 */ nop
/* 3DAFC 800626FC 4616D282 */ mul.s $f10, $f26, $f22
/* 3DB00 80062700 00000000 */ nop
/* 3DB04 80062704 4618E182 */ mul.s $f6, $f28, $f24
/* 3DB08 80062708 46002101 */ sub.s $f4, $f4, $f0
/* 3DB0C 8006270C 46042002 */ mul.s $f0, $f4, $f4
/* 3DB10 80062710 46024201 */ sub.s $f8, $f8, $f2
/* 3DB14 80062714 44122000 */ mfc1 $s2, $f4
/* 3DB18 80062718 46084102 */ mul.s $f4, $f8, $f8
/* 3DB1C 8006271C 46065281 */ sub.s $f10, $f10, $f6
/* 3DB20 80062720 460A5082 */ mul.s $f2, $f10, $f10
/* 3DB24 80062724 46040000 */ add.s $f0, $f0, $f4
/* 3DB28 80062728 46020300 */ add.s $f12, $f0, $f2
/* 3DB2C 8006272C 46006004 */ sqrt.s $f0, $f12
/* 3DB30 80062730 46000032 */ c.eq.s $f0, $f0
/* 3DB34 80062734 44114000 */ mfc1 $s1, $f8
/* 3DB38 80062738 44105000 */ mfc1 $s0, $f10
/* 3DB3C 8006273C 45010003 */ bc1t .L8006274C
/* 3DB40 80062740 00000000 */ nop
/* 3DB44 80062744 0C0187BC */ jal sqrtf
/* 3DB48 80062748 00000000 */ nop
.L8006274C:
/* 3DB4C 8006274C 44977000 */ mtc1 $s7, $f14
/* 3DB50 80062750 44967800 */ mtc1 $s6, $f15
/* 3DB54 80062754 46000021 */ cvt.d.s $f0, $f0
/* 3DB58 80062758 46207003 */ div.d $f0, $f14, $f0
/* 3DB5C 8006275C 44929000 */ mtc1 $s2, $f18
/* 3DB60 80062760 46200420 */ cvt.s.d $f16, $f0
/* 3DB64 80062764 46109482 */ mul.s $f18, $f18, $f16
/* 3DB68 80062768 44917000 */ mtc1 $s1, $f14
/* 3DB6C 8006276C 00000000 */ nop
/* 3DB70 80062770 46107382 */ mul.s $f14, $f14, $f16
/* 3DB74 80062774 44129000 */ mfc1 $s2, $f18
/* 3DB78 80062778 44939000 */ mtc1 $s3, $f18
/* 3DB7C 8006277C 00000000 */ nop
/* 3DB80 80062780 46189082 */ mul.s $f2, $f18, $f24
/* 3DB84 80062784 44117000 */ mfc1 $s1, $f14
/* 3DB88 80062788 44947000 */ mtc1 $s4, $f14
/* 3DB8C 8006278C 00000000 */ nop
/* 3DB90 80062790 46167182 */ mul.s $f6, $f14, $f22
/* 3DB94 80062794 44959000 */ mtc1 $s5, $f18
/* 3DB98 80062798 00000000 */ nop
/* 3DB9C 8006279C 46149202 */ mul.s $f8, $f18, $f20
/* 3DBA0 800627A0 44937000 */ mtc1 $s3, $f14
/* 3DBA4 800627A4 44929000 */ mtc1 $s2, $f18
/* 3DBA8 800627A8 00000000 */ nop
/* 3DBAC 800627AC 46127102 */ mul.s $f4, $f14, $f18
/* 3DBB0 800627B0 44947000 */ mtc1 $s4, $f14
/* 3DBB4 800627B4 44919000 */ mtc1 $s1, $f18
/* 3DBB8 800627B8 00000000 */ nop
/* 3DBBC 800627BC 46127282 */ mul.s $f10, $f14, $f18
/* 3DBC0 800627C0 44937000 */ mtc1 $s3, $f14
/* 3DBC4 800627C4 00000000 */ nop
/* 3DBC8 800627C8 461A7002 */ mul.s $f0, $f14, $f26
/* 3DBCC 800627CC 44949000 */ mtc1 $s4, $f18
/* 3DBD0 800627D0 00000000 */ nop
/* 3DBD4 800627D4 461C9302 */ mul.s $f12, $f18, $f28
/* 3DBD8 800627D8 44957000 */ mtc1 $s5, $f14
/* 3DBDC 800627DC 8FA50054 */ lw $a1, 0x54($sp)
/* 3DBE0 800627E0 461E7382 */ mul.s $f14, $f14, $f30
/* 3DBE4 800627E4 46061080 */ add.s $f2, $f2, $f6
/* 3DBE8 800627E8 3C013F80 */ lui $at, 0x3f80
/* 3DBEC 800627EC 44813000 */ mtc1 $at, $f6
/* 3DBF0 800627F0 03C02021 */ addu $a0, $fp, $zero
/* 3DBF4 800627F4 E7B80010 */ swc1 $f24, 0x10($sp)
/* 3DBF8 800627F8 44909000 */ mtc1 $s0, $f18
/* 3DBFC 800627FC 460C0000 */ add.s $f0, $f0, $f12
/* 3DC00 80062800 E7B60020 */ swc1 $f22, 0x20($sp)
/* 3DC04 80062804 46109482 */ mul.s $f18, $f18, $f16
/* 3DC08 80062808 E7B40030 */ swc1 $f20, 0x30($sp)
/* 3DC0C 8006280C 460E0000 */ add.s $f0, $f0, $f14
/* 3DC10 80062810 E7BA0018 */ swc1 $f26, 0x18($sp)
/* 3DC14 80062814 E7BC0028 */ swc1 $f28, 0x28($sp)
/* 3DC18 80062818 44957000 */ mtc1 $s5, $f14
/* 3DC1C 8006281C 46081080 */ add.s $f2, $f2, $f8
/* 3DC20 80062820 46127202 */ mul.s $f8, $f14, $f18
/* 3DC24 80062824 E7BE0038 */ swc1 $f30, 0x38($sp)
/* 3DC28 80062828 AFA0001C */ sw $zero, 0x1c($sp)
/* 3DC2C 8006282C 460A2100 */ add.s $f4, $f4, $f10
/* 3DC30 80062830 AFA0002C */ sw $zero, 0x2c($sp)
/* 3DC34 80062834 AFA0003C */ sw $zero, 0x3c($sp)
/* 3DC38 80062838 AFB20014 */ sw $s2, 0x14($sp)
/* 3DC3C 8006283C 46082100 */ add.s $f4, $f4, $f8
/* 3DC40 80062840 AFB10024 */ sw $s1, 0x24($sp)
/* 3DC44 80062844 E7A6004C */ swc1 $f6, 0x4c($sp)
/* 3DC48 80062848 44109000 */ mfc1 $s0, $f18
/* 3DC4C 8006284C 46001087 */ neg.s $f2, $f2
/* 3DC50 80062850 AFB00034 */ sw $s0, 0x34($sp)
/* 3DC54 80062854 46000007 */ neg.s $f0, $f0
/* 3DC58 80062858 E7A20040 */ swc1 $f2, 0x40($sp)
/* 3DC5C 8006285C 46002107 */ neg.s $f4, $f4
/* 3DC60 80062860 E7A00048 */ swc1 $f0, 0x48($sp)
/* 3DC64 80062864 0C019D40 */ jal guMtxF2L
/* 3DC68 80062868 E7A40044 */ swc1 $f4, 0x44($sp)
/* 3DC6C 8006286C 8FBF0084 */ lw $ra, 0x84($sp)
/* 3DC70 80062870 8FBE0080 */ lw $fp, 0x80($sp)
/* 3DC74 80062874 8FB7007C */ lw $s7, 0x7c($sp)
/* 3DC78 80062878 8FB60078 */ lw $s6, 0x78($sp)
/* 3DC7C 8006287C 8FB50074 */ lw $s5, 0x74($sp)
/* 3DC80 80062880 8FB40070 */ lw $s4, 0x70($sp)
/* 3DC84 80062884 8FB3006C */ lw $s3, 0x6c($sp)
/* 3DC88 80062888 8FB20068 */ lw $s2, 0x68($sp)
/* 3DC8C 8006288C 8FB10064 */ lw $s1, 0x64($sp)
/* 3DC90 80062890 8FB00060 */ lw $s0, 0x60($sp)
/* 3DC94 80062894 D7BE00B0 */ ldc1 $f30, 0xb0($sp)
/* 3DC98 80062898 D7BC00A8 */ ldc1 $f28, 0xa8($sp)
/* 3DC9C 8006289C D7BA00A0 */ ldc1 $f26, 0xa0($sp)
/* 3DCA0 800628A0 D7B80098 */ ldc1 $f24, 0x98($sp)
/* 3DCA4 800628A4 D7B60090 */ ldc1 $f22, 0x90($sp)
/* 3DCA8 800628A8 D7B40088 */ ldc1 $f20, 0x88($sp)
/* 3DCAC 800628AC 03E00008 */ jr $ra
/* 3DCB0 800628B0 27BD00B8 */ addiu $sp, $sp, 0xb8
/* 3DCB4 800628B4 00000000 */ nop
/* 3DCB8 800628B8 00000000 */ nop
/* 3DCBC 800628BC 00000000 */ nop

View File

@ -1,241 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80099B50
.double -1.0
dlabel D_80099B58
.word 0x3FF00000, 0x00000000
.section .text
glabel guLookAtF
/* 3D5B0 800621B0 27BDFF90 */ addiu $sp, $sp, -0x70
/* 3D5B4 800621B4 AFB30024 */ sw $s3, 0x24($sp)
/* 3D5B8 800621B8 8FB3008C */ lw $s3, 0x8c($sp)
/* 3D5BC 800621BC AFB20020 */ sw $s2, 0x20($sp)
/* 3D5C0 800621C0 8FB20090 */ lw $s2, 0x90($sp)
/* 3D5C4 800621C4 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 3D5C8 800621C8 C7BA0094 */ lwc1 $f26, 0x94($sp)
/* 3D5CC 800621CC F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3D5D0 800621D0 C7B40080 */ lwc1 $f20, 0x80($sp)
/* 3D5D4 800621D4 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3D5D8 800621D8 C7B60084 */ lwc1 $f22, 0x84($sp)
/* 3D5DC 800621DC F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3D5E0 800621E0 C7B80088 */ lwc1 $f24, 0x88($sp)
/* 3D5E4 800621E4 AFB00018 */ sw $s0, 0x18($sp)
/* 3D5E8 800621E8 00808021 */ addu $s0, $a0, $zero
/* 3D5EC 800621EC AFB40028 */ sw $s4, 0x28($sp)
/* 3D5F0 800621F0 00A0A021 */ addu $s4, $a1, $zero
/* 3D5F4 800621F4 AFB5002C */ sw $s5, 0x2c($sp)
/* 3D5F8 800621F8 00C0A821 */ addu $s5, $a2, $zero
/* 3D5FC 800621FC AFBE0038 */ sw $fp, 0x38($sp)
/* 3D600 80062200 AFBF003C */ sw $ra, 0x3c($sp)
/* 3D604 80062204 AFB70034 */ sw $s7, 0x34($sp)
/* 3D608 80062208 AFB60030 */ sw $s6, 0x30($sp)
/* 3D60C 8006220C AFB1001C */ sw $s1, 0x1c($sp)
/* 3D610 80062210 F7BE0068 */ sdc1 $f30, 0x68($sp)
/* 3D614 80062214 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 3D618 80062218 0C019D28 */ jal guMtxIdentF
/* 3D61C 8006221C 00E0F021 */ addu $fp, $a3, $zero
/* 3D620 80062220 44947000 */ mtc1 $s4, $f14
/* 3D624 80062224 00000000 */ nop
/* 3D628 80062228 460EA701 */ sub.s $f28, $f20, $f14
/* 3D62C 8006222C 44959000 */ mtc1 $s5, $f18
/* 3D630 80062230 461CE002 */ mul.s $f0, $f28, $f28
/* 3D634 80062234 4612B781 */ sub.s $f30, $f22, $f18
/* 3D638 80062238 449E7000 */ mtc1 $fp, $f14
/* 3D63C 8006223C 00000000 */ nop
/* 3D640 80062240 460EC381 */ sub.s $f14, $f24, $f14
/* 3D644 80062244 461EF102 */ mul.s $f4, $f30, $f30
/* 3D648 80062248 44117000 */ mfc1 $s1, $f14
/* 3D64C 8006224C 00000000 */ nop
/* 3D650 80062250 44919000 */ mtc1 $s1, $f18
/* 3D654 80062254 00000000 */ nop
/* 3D658 80062258 46127082 */ mul.s $f2, $f14, $f18
/* 3D65C 8006225C 46040000 */ add.s $f0, $f0, $f4
/* 3D660 80062260 46020300 */ add.s $f12, $f0, $f2
/* 3D664 80062264 46006084 */ sqrt.s $f2, $f12
/* 3D668 80062268 46021032 */ c.eq.s $f2, $f2
/* 3D66C 8006226C 00000000 */ nop
/* 3D670 80062270 45010004 */ bc1t .L80062284
/* 3D674 80062274 00000000 */ nop
/* 3D678 80062278 0C0187BC */ jal sqrtf
/* 3D67C 8006227C 00000000 */ nop
/* 3D680 80062280 46000086 */ mov.s $f2, $f0
.L80062284:
/* 3D684 80062284 3C01800A */ lui $at, %hi(D_80099B50)
/* 3D688 80062288 D4209B50 */ ldc1 $f0, %lo(D_80099B50)($at)
/* 3D68C 8006228C 460010A1 */ cvt.d.s $f2, $f2
/* 3D690 80062290 46220003 */ div.d $f0, $f0, $f2
/* 3D694 80062294 46200420 */ cvt.s.d $f16, $f0
/* 3D698 80062298 4610E702 */ mul.s $f28, $f28, $f16
/* 3D69C 8006229C 44917000 */ mtc1 $s1, $f14
/* 3D6A0 800622A0 00000000 */ nop
/* 3D6A4 800622A4 46107382 */ mul.s $f14, $f14, $f16
/* 3D6A8 800622A8 00000000 */ nop
/* 3D6AC 800622AC 4610F782 */ mul.s $f30, $f30, $f16
/* 3D6B0 800622B0 44929000 */ mtc1 $s2, $f18
/* 3D6B4 800622B4 00000000 */ nop
/* 3D6B8 800622B8 460E9102 */ mul.s $f4, $f18, $f14
/* 3D6BC 800622BC 00000000 */ nop
/* 3D6C0 800622C0 461ED002 */ mul.s $f0, $f26, $f30
/* 3D6C4 800622C4 00000000 */ nop
/* 3D6C8 800622C8 461CD202 */ mul.s $f8, $f26, $f28
/* 3D6CC 800622CC 44939000 */ mtc1 $s3, $f18
/* 3D6D0 800622D0 00000000 */ nop
/* 3D6D4 800622D4 460E9082 */ mul.s $f2, $f18, $f14
/* 3D6D8 800622D8 00000000 */ nop
/* 3D6DC 800622DC 461E9282 */ mul.s $f10, $f18, $f30
/* 3D6E0 800622E0 44117000 */ mfc1 $s1, $f14
/* 3D6E4 800622E4 44927000 */ mtc1 $s2, $f14
/* 3D6E8 800622E8 00000000 */ nop
/* 3D6EC 800622EC 461C7182 */ mul.s $f6, $f14, $f28
/* 3D6F0 800622F0 46002601 */ sub.s $f24, $f4, $f0
/* 3D6F4 800622F4 4618C002 */ mul.s $f0, $f24, $f24
/* 3D6F8 800622F8 46024581 */ sub.s $f22, $f8, $f2
/* 3D6FC 800622FC 4616B102 */ mul.s $f4, $f22, $f22
/* 3D700 80062300 46065501 */ sub.s $f20, $f10, $f6
/* 3D704 80062304 4614A082 */ mul.s $f2, $f20, $f20
/* 3D708 80062308 46040000 */ add.s $f0, $f0, $f4
/* 3D70C 8006230C 46020300 */ add.s $f12, $f0, $f2
/* 3D710 80062310 46006004 */ sqrt.s $f0, $f12
/* 3D714 80062314 46000032 */ c.eq.s $f0, $f0
/* 3D718 80062318 00000000 */ nop
/* 3D71C 8006231C 45010003 */ bc1t .L8006232C
/* 3D720 80062320 00000000 */ nop
/* 3D724 80062324 0C0187BC */ jal sqrtf
/* 3D728 80062328 00000000 */ nop
.L8006232C:
/* 3D72C 8006232C 3C01800A */ lui $at, %hi(D_80099B58)
/* 3D730 80062330 8C369B58 */ lw $s6, %lo(D_80099B58)($at)
/* 3D734 80062334 8C379B5C */ lw $s7, -0x64a4($at)
/* 3D738 80062338 44979000 */ mtc1 $s7, $f18
/* 3D73C 8006233C 44969800 */ mtc1 $s6, $f19
/* 3D740 80062340 46000021 */ cvt.d.s $f0, $f0
/* 3D744 80062344 46209003 */ div.d $f0, $f18, $f0
/* 3D748 80062348 46200420 */ cvt.s.d $f16, $f0
/* 3D74C 8006234C 4610C602 */ mul.s $f24, $f24, $f16
/* 3D750 80062350 00000000 */ nop
/* 3D754 80062354 4610A502 */ mul.s $f20, $f20, $f16
/* 3D758 80062358 00000000 */ nop
/* 3D75C 8006235C 4610B582 */ mul.s $f22, $f22, $f16
/* 3D760 80062360 00000000 */ nop
/* 3D764 80062364 4614F102 */ mul.s $f4, $f30, $f20
/* 3D768 80062368 44917000 */ mtc1 $s1, $f14
/* 3D76C 8006236C 00000000 */ nop
/* 3D770 80062370 46167002 */ mul.s $f0, $f14, $f22
/* 3D774 80062374 00000000 */ nop
/* 3D778 80062378 46187202 */ mul.s $f8, $f14, $f24
/* 3D77C 8006237C 00000000 */ nop
/* 3D780 80062380 4614E082 */ mul.s $f2, $f28, $f20
/* 3D784 80062384 00000000 */ nop
/* 3D788 80062388 4616E282 */ mul.s $f10, $f28, $f22
/* 3D78C 8006238C 00000000 */ nop
/* 3D790 80062390 4618F182 */ mul.s $f6, $f30, $f24
/* 3D794 80062394 46002101 */ sub.s $f4, $f4, $f0
/* 3D798 80062398 46042002 */ mul.s $f0, $f4, $f4
/* 3D79C 8006239C 46024201 */ sub.s $f8, $f8, $f2
/* 3D7A0 800623A0 44132000 */ mfc1 $s3, $f4
/* 3D7A4 800623A4 46084102 */ mul.s $f4, $f8, $f8
/* 3D7A8 800623A8 46065681 */ sub.s $f26, $f10, $f6
/* 3D7AC 800623AC 461AD082 */ mul.s $f2, $f26, $f26
/* 3D7B0 800623B0 46040000 */ add.s $f0, $f0, $f4
/* 3D7B4 800623B4 46020300 */ add.s $f12, $f0, $f2
/* 3D7B8 800623B8 46006004 */ sqrt.s $f0, $f12
/* 3D7BC 800623BC 46000032 */ c.eq.s $f0, $f0
/* 3D7C0 800623C0 44124000 */ mfc1 $s2, $f8
/* 3D7C4 800623C4 00000000 */ nop
/* 3D7C8 800623C8 45030006 */ bc1tl .L800623E4
/* 3D7CC 800623CC 46000021 */ cvt.d.s $f0, $f0
/* 3D7D0 800623D0 0C0187BC */ jal sqrtf
/* 3D7D4 800623D4 00000000 */ nop
/* 3D7D8 800623D8 44979000 */ mtc1 $s7, $f18
/* 3D7DC 800623DC 44969800 */ mtc1 $s6, $f19
/* 3D7E0 800623E0 46000021 */ cvt.d.s $f0, $f0
.L800623E4:
/* 3D7E4 800623E4 46209003 */ div.d $f0, $f18, $f0
/* 3D7E8 800623E8 44937000 */ mtc1 $s3, $f14
/* 3D7EC 800623EC 46200420 */ cvt.s.d $f16, $f0
/* 3D7F0 800623F0 46107382 */ mul.s $f14, $f14, $f16
/* 3D7F4 800623F4 44929000 */ mtc1 $s2, $f18
/* 3D7F8 800623F8 00000000 */ nop
/* 3D7FC 800623FC 46109482 */ mul.s $f18, $f18, $f16
/* 3D800 80062400 00000000 */ nop
/* 3D804 80062404 4610D682 */ mul.s $f26, $f26, $f16
/* 3D808 80062408 44137000 */ mfc1 $s3, $f14
/* 3D80C 8006240C 44947000 */ mtc1 $s4, $f14
/* 3D810 80062410 00000000 */ nop
/* 3D814 80062414 46187082 */ mul.s $f2, $f14, $f24
/* 3D818 80062418 44129000 */ mfc1 $s2, $f18
/* 3D81C 8006241C 44959000 */ mtc1 $s5, $f18
/* 3D820 80062420 00000000 */ nop
/* 3D824 80062424 46169182 */ mul.s $f6, $f18, $f22
/* 3D828 80062428 449E7000 */ mtc1 $fp, $f14
/* 3D82C 8006242C 00000000 */ nop
/* 3D830 80062430 46147202 */ mul.s $f8, $f14, $f20
/* 3D834 80062434 44949000 */ mtc1 $s4, $f18
/* 3D838 80062438 44937000 */ mtc1 $s3, $f14
/* 3D83C 8006243C 00000000 */ nop
/* 3D840 80062440 460E9102 */ mul.s $f4, $f18, $f14
/* 3D844 80062444 44959000 */ mtc1 $s5, $f18
/* 3D848 80062448 44927000 */ mtc1 $s2, $f14
/* 3D84C 8006244C 00000000 */ nop
/* 3D850 80062450 460E9282 */ mul.s $f10, $f18, $f14
/* 3D854 80062454 44949000 */ mtc1 $s4, $f18
/* 3D858 80062458 00000000 */ nop
/* 3D85C 8006245C 461C9002 */ mul.s $f0, $f18, $f28
/* 3D860 80062460 44957000 */ mtc1 $s5, $f14
/* 3D864 80062464 00000000 */ nop
/* 3D868 80062468 461E7302 */ mul.s $f12, $f14, $f30
/* 3D86C 8006246C 46061080 */ add.s $f2, $f2, $f6
/* 3D870 80062470 44917000 */ mtc1 $s1, $f14
/* 3D874 80062474 449E9000 */ mtc1 $fp, $f18
/* 3D878 80062478 46081080 */ add.s $f2, $f2, $f8
/* 3D87C 8006247C E6180000 */ swc1 $f24, ($s0)
/* 3D880 80062480 460E9382 */ mul.s $f14, $f18, $f14
/* 3D884 80062484 E6160010 */ swc1 $f22, 0x10($s0)
/* 3D888 80062488 460A2100 */ add.s $f4, $f4, $f10
/* 3D88C 8006248C E6140020 */ swc1 $f20, 0x20($s0)
/* 3D890 80062490 E61C0008 */ swc1 $f28, 8($s0)
/* 3D894 80062494 3C013F80 */ lui $at, 0x3f80
/* 3D898 80062498 44813000 */ mtc1 $at, $f6
/* 3D89C 8006249C 460C0000 */ add.s $f0, $f0, $f12
/* 3D8A0 800624A0 461A9202 */ mul.s $f8, $f18, $f26
/* 3D8A4 800624A4 E61E0018 */ swc1 $f30, 0x18($s0)
/* 3D8A8 800624A8 AE110028 */ sw $s1, 0x28($s0)
/* 3D8AC 800624AC 460E0000 */ add.s $f0, $f0, $f14
/* 3D8B0 800624B0 AE00000C */ sw $zero, 0xc($s0)
/* 3D8B4 800624B4 AE00001C */ sw $zero, 0x1c($s0)
/* 3D8B8 800624B8 AE00002C */ sw $zero, 0x2c($s0)
/* 3D8BC 800624BC 46082100 */ add.s $f4, $f4, $f8
/* 3D8C0 800624C0 E61A0024 */ swc1 $f26, 0x24($s0)
/* 3D8C4 800624C4 AE130004 */ sw $s3, 4($s0)
/* 3D8C8 800624C8 AE120014 */ sw $s2, 0x14($s0)
/* 3D8CC 800624CC 46001087 */ neg.s $f2, $f2
/* 3D8D0 800624D0 E606003C */ swc1 $f6, 0x3c($s0)
/* 3D8D4 800624D4 46000007 */ neg.s $f0, $f0
/* 3D8D8 800624D8 E6020030 */ swc1 $f2, 0x30($s0)
/* 3D8DC 800624DC 46002107 */ neg.s $f4, $f4
/* 3D8E0 800624E0 E6000038 */ swc1 $f0, 0x38($s0)
/* 3D8E4 800624E4 E6040034 */ swc1 $f4, 0x34($s0)
/* 3D8E8 800624E8 8FBF003C */ lw $ra, 0x3c($sp)
/* 3D8EC 800624EC 8FBE0038 */ lw $fp, 0x38($sp)
/* 3D8F0 800624F0 8FB70034 */ lw $s7, 0x34($sp)
/* 3D8F4 800624F4 8FB60030 */ lw $s6, 0x30($sp)
/* 3D8F8 800624F8 8FB5002C */ lw $s5, 0x2c($sp)
/* 3D8FC 800624FC 8FB40028 */ lw $s4, 0x28($sp)
/* 3D900 80062500 8FB30024 */ lw $s3, 0x24($sp)
/* 3D904 80062504 8FB20020 */ lw $s2, 0x20($sp)
/* 3D908 80062508 8FB1001C */ lw $s1, 0x1c($sp)
/* 3D90C 8006250C 8FB00018 */ lw $s0, 0x18($sp)
/* 3D910 80062510 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* 3D914 80062514 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 3D918 80062518 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 3D91C 8006251C D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3D920 80062520 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3D924 80062524 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3D928 80062528 03E00008 */ jr $ra
/* 3D92C 8006252C 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,90 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guOrtho
/* 3EE40 80063A40 27BDFF70 */ addiu $sp, $sp, -0x90
/* 3EE44 80063A44 F7B60068 */ sdc1 $f22, 0x68($sp)
/* 3EE48 80063A48 C7B600A0 */ lwc1 $f22, 0xa0($sp)
/* 3EE4C 80063A4C F7BC0080 */ sdc1 $f28, 0x80($sp)
/* 3EE50 80063A50 C7BC00A4 */ lwc1 $f28, 0xa4($sp)
/* 3EE54 80063A54 F7B40060 */ sdc1 $f20, 0x60($sp)
/* 3EE58 80063A58 C7B400A8 */ lwc1 $f20, 0xa8($sp)
/* 3EE5C 80063A5C AFB10054 */ sw $s1, 0x54($sp)
/* 3EE60 80063A60 8FB100AC */ lw $s1, 0xac($sp)
/* 3EE64 80063A64 F7BA0078 */ sdc1 $f26, 0x78($sp)
/* 3EE68 80063A68 4485D000 */ mtc1 $a1, $f26
/* 3EE6C 80063A6C F7B80070 */ sdc1 $f24, 0x70($sp)
/* 3EE70 80063A70 4486C000 */ mtc1 $a2, $f24
/* 3EE74 80063A74 AFB20058 */ sw $s2, 0x58($sp)
/* 3EE78 80063A78 00809021 */ addu $s2, $a0, $zero
/* 3EE7C 80063A7C AFB00050 */ sw $s0, 0x50($sp)
/* 3EE80 80063A80 27B00010 */ addiu $s0, $sp, 0x10
/* 3EE84 80063A84 F7BE0088 */ sdc1 $f30, 0x88($sp)
/* 3EE88 80063A88 4487F000 */ mtc1 $a3, $f30
/* 3EE8C 80063A8C AFBF005C */ sw $ra, 0x5c($sp)
/* 3EE90 80063A90 0C019D28 */ jal guMtxIdentF
/* 3EE94 80063A94 02002021 */ addu $a0, $s0, $zero
/* 3EE98 80063A98 461AC001 */ sub.s $f0, $f24, $f26
/* 3EE9C 80063A9C 3C014000 */ lui $at, 0x4000
/* 3EEA0 80063AA0 44811000 */ mtc1 $at, $f2
/* 3EEA4 80063AA4 00000000 */ nop
/* 3EEA8 80063AA8 46001283 */ div.s $f10, $f2, $f0
/* 3EEAC 80063AAC 461EB181 */ sub.s $f6, $f22, $f30
/* 3EEB0 80063AB0 46061083 */ div.s $f2, $f2, $f6
/* 3EEB4 80063AB4 461CA201 */ sub.s $f8, $f20, $f28
/* 3EEB8 80063AB8 3C01C000 */ lui $at, 0xc000
/* 3EEBC 80063ABC 44812000 */ mtc1 $at, $f4
/* 3EEC0 80063AC0 00000000 */ nop
/* 3EEC4 80063AC4 46082103 */ div.s $f4, $f4, $f8
/* 3EEC8 80063AC8 461AC600 */ add.s $f24, $f24, $f26
/* 3EECC 80063ACC 4600C607 */ neg.s $f24, $f24
/* 3EED0 80063AD0 4600C603 */ div.s $f24, $f24, $f0
/* 3EED4 80063AD4 461EB580 */ add.s $f22, $f22, $f30
/* 3EED8 80063AD8 4600B587 */ neg.s $f22, $f22
/* 3EEDC 80063ADC 4606B583 */ div.s $f22, $f22, $f6
/* 3EEE0 80063AE0 461CA500 */ add.s $f20, $f20, $f28
/* 3EEE4 80063AE4 4600A507 */ neg.s $f20, $f20
/* 3EEE8 80063AE8 4608A503 */ div.s $f20, $f20, $f8
/* 3EEEC 80063AEC 3C013F80 */ lui $at, 0x3f80
/* 3EEF0 80063AF0 44810000 */ mtc1 $at, $f0
/* 3EEF4 80063AF4 00002821 */ addu $a1, $zero, $zero
/* 3EEF8 80063AF8 E7A0004C */ swc1 $f0, 0x4c($sp)
/* 3EEFC 80063AFC E7AA0010 */ swc1 $f10, 0x10($sp)
/* 3EF00 80063B00 E7B80040 */ swc1 $f24, 0x40($sp)
/* 3EF04 80063B04 E7A20024 */ swc1 $f2, 0x24($sp)
/* 3EF08 80063B08 E7A40038 */ swc1 $f4, 0x38($sp)
/* 3EF0C 80063B0C E7B60044 */ swc1 $f22, 0x44($sp)
/* 3EF10 80063B10 E7B40048 */ swc1 $f20, 0x48($sp)
.L80063B14:
/* 3EF14 80063B14 00002021 */ addu $a0, $zero, $zero
/* 3EF18 80063B18 02001821 */ addu $v1, $s0, $zero
.L80063B1C:
/* 3EF1C 80063B1C C4600000 */ lwc1 $f0, ($v1)
/* 3EF20 80063B20 44916000 */ mtc1 $s1, $f12
/* 3EF24 80063B24 00000000 */ nop
/* 3EF28 80063B28 460C0002 */ mul.s $f0, $f0, $f12
/* 3EF2C 80063B2C 24840001 */ addiu $a0, $a0, 1
/* 3EF30 80063B30 28820004 */ slti $v0, $a0, 4
/* 3EF34 80063B34 E4600000 */ swc1 $f0, ($v1)
/* 3EF38 80063B38 1440FFF8 */ bnez $v0, .L80063B1C
/* 3EF3C 80063B3C 24630004 */ addiu $v1, $v1, 4
/* 3EF40 80063B40 24A50001 */ addiu $a1, $a1, 1
/* 3EF44 80063B44 28A20004 */ slti $v0, $a1, 4
/* 3EF48 80063B48 1440FFF2 */ bnez $v0, .L80063B14
/* 3EF4C 80063B4C 26100010 */ addiu $s0, $s0, 0x10
/* 3EF50 80063B50 27A40010 */ addiu $a0, $sp, 0x10
/* 3EF54 80063B54 0C019D40 */ jal guMtxF2L
/* 3EF58 80063B58 02402821 */ addu $a1, $s2, $zero
/* 3EF5C 80063B5C 8FBF005C */ lw $ra, 0x5c($sp)
/* 3EF60 80063B60 8FB20058 */ lw $s2, 0x58($sp)
/* 3EF64 80063B64 8FB10054 */ lw $s1, 0x54($sp)
/* 3EF68 80063B68 8FB00050 */ lw $s0, 0x50($sp)
/* 3EF6C 80063B6C D7BE0088 */ ldc1 $f30, 0x88($sp)
/* 3EF70 80063B70 D7BC0080 */ ldc1 $f28, 0x80($sp)
/* 3EF74 80063B74 D7BA0078 */ ldc1 $f26, 0x78($sp)
/* 3EF78 80063B78 D7B80070 */ ldc1 $f24, 0x70($sp)
/* 3EF7C 80063B7C D7B60068 */ ldc1 $f22, 0x68($sp)
/* 3EF80 80063B80 D7B40060 */ ldc1 $f20, 0x60($sp)
/* 3EF84 80063B84 03E00008 */ jr $ra
/* 3EF88 80063B88 27BD0090 */ addiu $sp, $sp, 0x90
/* 3EF8C 80063B8C 00000000 */ nop

View File

@ -1,82 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guOrthoF
/* 3ED10 80063910 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3ED14 80063914 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 3ED18 80063918 C7B80060 */ lwc1 $f24, 0x60($sp)
/* 3ED1C 8006391C F7BE0048 */ sdc1 $f30, 0x48($sp)
/* 3ED20 80063920 C7BE0064 */ lwc1 $f30, 0x64($sp)
/* 3ED24 80063924 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 3ED28 80063928 C7B60068 */ lwc1 $f22, 0x68($sp)
/* 3ED2C 8006392C AFB10014 */ sw $s1, 0x14($sp)
/* 3ED30 80063930 8FB1006C */ lw $s1, 0x6c($sp)
/* 3ED34 80063934 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 3ED38 80063938 4485D000 */ mtc1 $a1, $f26
/* 3ED3C 8006393C F7B40020 */ sdc1 $f20, 0x20($sp)
/* 3ED40 80063940 4486A000 */ mtc1 $a2, $f20
/* 3ED44 80063944 AFB00010 */ sw $s0, 0x10($sp)
/* 3ED48 80063948 F7BC0040 */ sdc1 $f28, 0x40($sp)
/* 3ED4C 8006394C 4487E000 */ mtc1 $a3, $f28
/* 3ED50 80063950 AFBF0018 */ sw $ra, 0x18($sp)
/* 3ED54 80063954 0C019D28 */ jal guMtxIdentF
/* 3ED58 80063958 00808021 */ addu $s0, $a0, $zero
/* 3ED5C 8006395C 461AA001 */ sub.s $f0, $f20, $f26
/* 3ED60 80063960 3C014000 */ lui $at, 0x4000
/* 3ED64 80063964 44811000 */ mtc1 $at, $f2
/* 3ED68 80063968 00000000 */ nop
/* 3ED6C 8006396C 46001283 */ div.s $f10, $f2, $f0
/* 3ED70 80063970 461CC181 */ sub.s $f6, $f24, $f28
/* 3ED74 80063974 46061083 */ div.s $f2, $f2, $f6
/* 3ED78 80063978 461EB201 */ sub.s $f8, $f22, $f30
/* 3ED7C 8006397C 3C01C000 */ lui $at, 0xc000
/* 3ED80 80063980 44812000 */ mtc1 $at, $f4
/* 3ED84 80063984 00000000 */ nop
/* 3ED88 80063988 46082103 */ div.s $f4, $f4, $f8
/* 3ED8C 8006398C 461AA500 */ add.s $f20, $f20, $f26
/* 3ED90 80063990 4600A507 */ neg.s $f20, $f20
/* 3ED94 80063994 4600A503 */ div.s $f20, $f20, $f0
/* 3ED98 80063998 461CC600 */ add.s $f24, $f24, $f28
/* 3ED9C 8006399C 4600C607 */ neg.s $f24, $f24
/* 3EDA0 800639A0 4606C603 */ div.s $f24, $f24, $f6
/* 3EDA4 800639A4 461EB580 */ add.s $f22, $f22, $f30
/* 3EDA8 800639A8 4600B587 */ neg.s $f22, $f22
/* 3EDAC 800639AC 4608B583 */ div.s $f22, $f22, $f8
/* 3EDB0 800639B0 3C013F80 */ lui $at, 0x3f80
/* 3EDB4 800639B4 44810000 */ mtc1 $at, $f0
/* 3EDB8 800639B8 00002821 */ addu $a1, $zero, $zero
/* 3EDBC 800639BC E600003C */ swc1 $f0, 0x3c($s0)
/* 3EDC0 800639C0 E60A0000 */ swc1 $f10, ($s0)
/* 3EDC4 800639C4 E6140030 */ swc1 $f20, 0x30($s0)
/* 3EDC8 800639C8 E6020014 */ swc1 $f2, 0x14($s0)
/* 3EDCC 800639CC E6040028 */ swc1 $f4, 0x28($s0)
/* 3EDD0 800639D0 E6180034 */ swc1 $f24, 0x34($s0)
/* 3EDD4 800639D4 E6160038 */ swc1 $f22, 0x38($s0)
.L800639D8:
/* 3EDD8 800639D8 00002021 */ addu $a0, $zero, $zero
/* 3EDDC 800639DC 02001821 */ addu $v1, $s0, $zero
.L800639E0:
/* 3EDE0 800639E0 C4600000 */ lwc1 $f0, ($v1)
/* 3EDE4 800639E4 44916000 */ mtc1 $s1, $f12
/* 3EDE8 800639E8 00000000 */ nop
/* 3EDEC 800639EC 460C0002 */ mul.s $f0, $f0, $f12
/* 3EDF0 800639F0 24840001 */ addiu $a0, $a0, 1
/* 3EDF4 800639F4 28820004 */ slti $v0, $a0, 4
/* 3EDF8 800639F8 E4600000 */ swc1 $f0, ($v1)
/* 3EDFC 800639FC 1440FFF8 */ bnez $v0, .L800639E0
/* 3EE00 80063A00 24630004 */ addiu $v1, $v1, 4
/* 3EE04 80063A04 24A50001 */ addiu $a1, $a1, 1
/* 3EE08 80063A08 28A20004 */ slti $v0, $a1, 4
/* 3EE0C 80063A0C 1440FFF2 */ bnez $v0, .L800639D8
/* 3EE10 80063A10 26100010 */ addiu $s0, $s0, 0x10
/* 3EE14 80063A14 8FBF0018 */ lw $ra, 0x18($sp)
/* 3EE18 80063A18 8FB10014 */ lw $s1, 0x14($sp)
/* 3EE1C 80063A1C 8FB00010 */ lw $s0, 0x10($sp)
/* 3EE20 80063A20 D7BE0048 */ ldc1 $f30, 0x48($sp)
/* 3EE24 80063A24 D7BC0040 */ ldc1 $f28, 0x40($sp)
/* 3EE28 80063A28 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 3EE2C 80063A2C D7B80030 */ ldc1 $f24, 0x30($sp)
/* 3EE30 80063A30 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 3EE34 80063A34 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 3EE38 80063A38 03E00008 */ jr $ra
/* 3EE3C 80063A3C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,100 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guRotate
/* 43080 80067C80 27BDFF58 */ addiu $sp, $sp, -0xa8
/* 43084 80067C84 C7A000B8 */ lwc1 $f0, 0xb8($sp)
/* 43088 80067C88 AFB1006C */ sw $s1, 0x6c($sp)
/* 4308C 80067C8C 00808821 */ addu $s1, $a0, $zero
/* 43090 80067C90 27A40058 */ addiu $a0, $sp, 0x58
/* 43094 80067C94 F7B40078 */ sdc1 $f20, 0x78($sp)
/* 43098 80067C98 4485A000 */ mtc1 $a1, $f20
/* 4309C 80067C9C 27A5005C */ addiu $a1, $sp, 0x5c
/* 430A0 80067CA0 AFA60058 */ sw $a2, 0x58($sp)
/* 430A4 80067CA4 27A60060 */ addiu $a2, $sp, 0x60
/* 430A8 80067CA8 AFBF0070 */ sw $ra, 0x70($sp)
/* 430AC 80067CAC AFB00068 */ sw $s0, 0x68($sp)
/* 430B0 80067CB0 F7BE00A0 */ sdc1 $f30, 0xa0($sp)
/* 430B4 80067CB4 F7BC0098 */ sdc1 $f28, 0x98($sp)
/* 430B8 80067CB8 F7BA0090 */ sdc1 $f26, 0x90($sp)
/* 430BC 80067CBC F7B80088 */ sdc1 $f24, 0x88($sp)
/* 430C0 80067CC0 F7B60080 */ sdc1 $f22, 0x80($sp)
/* 430C4 80067CC4 AFA7005C */ sw $a3, 0x5c($sp)
/* 430C8 80067CC8 0C01B2F0 */ jal guNormalize
/* 430CC 80067CCC E7A00060 */ swc1 $f0, 0x60($sp)
/* 430D0 80067CD0 3C018009 */ lui $at, %hi(D_800958C0)
/* 430D4 80067CD4 C42058C0 */ lwc1 $f0, %lo(D_800958C0)($at)
/* 430D8 80067CD8 4600A502 */ mul.s $f20, $f20, $f0
/* 430DC 80067CDC 0C00A85B */ jal sin_rad
/* 430E0 80067CE0 4600A306 */ mov.s $f12, $f20
/* 430E4 80067CE4 4600A306 */ mov.s $f12, $f20
/* 430E8 80067CE8 0C00A874 */ jal cos_rad
/* 430EC 80067CEC 46000786 */ mov.s $f30, $f0
/* 430F0 80067CF0 C7A20058 */ lwc1 $f2, 0x58($sp)
/* 430F4 80067CF4 C7B6005C */ lwc1 $f22, 0x5c($sp)
/* 430F8 80067CF8 46161702 */ mul.s $f28, $f2, $f22
/* 430FC 80067CFC C7B40060 */ lwc1 $f20, 0x60($sp)
/* 43100 80067D00 4614B582 */ mul.s $f22, $f22, $f20
/* 43104 80067D04 3C013F80 */ lui $at, 0x3f80
/* 43108 80067D08 4481D000 */ mtc1 $at, $f26
/* 4310C 80067D0C 4602A502 */ mul.s $f20, $f20, $f2
/* 43110 80067D10 46000606 */ mov.s $f24, $f0
/* 43114 80067D14 4618D301 */ sub.s $f12, $f26, $f24
/* 43118 80067D18 460CE702 */ mul.s $f28, $f28, $f12
/* 4311C 80067D1C 00000000 */ nop
/* 43120 80067D20 460CB582 */ mul.s $f22, $f22, $f12
/* 43124 80067D24 00000000 */ nop
/* 43128 80067D28 460CA502 */ mul.s $f20, $f20, $f12
/* 4312C 80067D2C 27B00010 */ addiu $s0, $sp, 0x10
/* 43130 80067D30 0C019D28 */ jal guMtxIdentF
/* 43134 80067D34 02002021 */ addu $a0, $s0, $zero
/* 43138 80067D38 C7A00058 */ lwc1 $f0, 0x58($sp)
/* 4313C 80067D3C 46000302 */ mul.s $f12, $f0, $f0
/* 43140 80067D40 460CD181 */ sub.s $f6, $f26, $f12
/* 43144 80067D44 4606C182 */ mul.s $f6, $f24, $f6
/* 43148 80067D48 C7A2005C */ lwc1 $f2, 0x5c($sp)
/* 4314C 80067D4C 46066180 */ add.s $f6, $f12, $f6
/* 43150 80067D50 46021302 */ mul.s $f12, $f2, $f2
/* 43154 80067D54 00000000 */ nop
/* 43158 80067D58 461E0002 */ mul.s $f0, $f0, $f30
/* 4315C 80067D5C 460CD101 */ sub.s $f4, $f26, $f12
/* 43160 80067D60 4604C102 */ mul.s $f4, $f24, $f4
/* 43164 80067D64 4600B281 */ sub.s $f10, $f22, $f0
/* 43168 80067D68 461E1082 */ mul.s $f2, $f2, $f30
/* 4316C 80067D6C 4600B580 */ add.s $f22, $f22, $f0
/* 43170 80067D70 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 43174 80067D74 46046100 */ add.s $f4, $f12, $f4
/* 43178 80067D78 46000302 */ mul.s $f12, $f0, $f0
/* 4317C 80067D7C 4602A200 */ add.s $f8, $f20, $f2
/* 43180 80067D80 4602A501 */ sub.s $f20, $f20, $f2
/* 43184 80067D84 461E0002 */ mul.s $f0, $f0, $f30
/* 43188 80067D88 460CD681 */ sub.s $f26, $f26, $f12
/* 4318C 80067D8C 02002021 */ addu $a0, $s0, $zero
/* 43190 80067D90 02202821 */ addu $a1, $s1, $zero
/* 43194 80067D94 4600E081 */ sub.s $f2, $f28, $f0
/* 43198 80067D98 461AC602 */ mul.s $f24, $f24, $f26
/* 4319C 80067D9C E7AA0034 */ swc1 $f10, 0x34($sp)
/* 431A0 80067DA0 E7B60028 */ swc1 $f22, 0x28($sp)
/* 431A4 80067DA4 4600E700 */ add.s $f28, $f28, $f0
/* 431A8 80067DA8 E7A60010 */ swc1 $f6, 0x10($sp)
/* 431AC 80067DAC E7A80030 */ swc1 $f8, 0x30($sp)
/* 431B0 80067DB0 E7B40018 */ swc1 $f20, 0x18($sp)
/* 431B4 80067DB4 46186600 */ add.s $f24, $f12, $f24
/* 431B8 80067DB8 E7A40024 */ swc1 $f4, 0x24($sp)
/* 431BC 80067DBC E7A20020 */ swc1 $f2, 0x20($sp)
/* 431C0 80067DC0 E7BC0014 */ swc1 $f28, 0x14($sp)
/* 431C4 80067DC4 0C019D40 */ jal guMtxF2L
/* 431C8 80067DC8 E7B80038 */ swc1 $f24, 0x38($sp)
/* 431CC 80067DCC 8FBF0070 */ lw $ra, 0x70($sp)
/* 431D0 80067DD0 8FB1006C */ lw $s1, 0x6c($sp)
/* 431D4 80067DD4 8FB00068 */ lw $s0, 0x68($sp)
/* 431D8 80067DD8 D7BE00A0 */ ldc1 $f30, 0xa0($sp)
/* 431DC 80067DDC D7BC0098 */ ldc1 $f28, 0x98($sp)
/* 431E0 80067DE0 D7BA0090 */ ldc1 $f26, 0x90($sp)
/* 431E4 80067DE4 D7B80088 */ ldc1 $f24, 0x88($sp)
/* 431E8 80067DE8 D7B60080 */ ldc1 $f22, 0x80($sp)
/* 431EC 80067DEC D7B40078 */ ldc1 $f20, 0x78($sp)
/* 431F0 80067DF0 03E00008 */ jr $ra
/* 431F4 80067DF4 27BD00A8 */ addiu $sp, $sp, 0xa8
/* 431F8 80067DF8 00000000 */ nop
/* 431FC 80067DFC 00000000 */ nop

View File

@ -1,92 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guRotateF
/* 42F20 80067B20 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 42F24 80067B24 AFB00010 */ sw $s0, 0x10($sp)
/* 42F28 80067B28 00808021 */ addu $s0, $a0, $zero
/* 42F2C 80067B2C 27A40050 */ addiu $a0, $sp, 0x50
/* 42F30 80067B30 F7B40018 */ sdc1 $f20, 0x18($sp)
/* 42F34 80067B34 4485A000 */ mtc1 $a1, $f20
/* 42F38 80067B38 27A50054 */ addiu $a1, $sp, 0x54
/* 42F3C 80067B3C AFA60050 */ sw $a2, 0x50($sp)
/* 42F40 80067B40 27A60058 */ addiu $a2, $sp, 0x58
/* 42F44 80067B44 AFBF0014 */ sw $ra, 0x14($sp)
/* 42F48 80067B48 F7BE0040 */ sdc1 $f30, 0x40($sp)
/* 42F4C 80067B4C F7BC0038 */ sdc1 $f28, 0x38($sp)
/* 42F50 80067B50 F7BA0030 */ sdc1 $f26, 0x30($sp)
/* 42F54 80067B54 F7B80028 */ sdc1 $f24, 0x28($sp)
/* 42F58 80067B58 F7B60020 */ sdc1 $f22, 0x20($sp)
/* 42F5C 80067B5C 0C01B2F0 */ jal guNormalize
/* 42F60 80067B60 AFA70054 */ sw $a3, 0x54($sp)
/* 42F64 80067B64 3C018009 */ lui $at, %hi(D_800958C0)
/* 42F68 80067B68 C42058C0 */ lwc1 $f0, %lo(D_800958C0)($at)
/* 42F6C 80067B6C 4600A502 */ mul.s $f20, $f20, $f0
/* 42F70 80067B70 0C00A85B */ jal sin_rad
/* 42F74 80067B74 4600A306 */ mov.s $f12, $f20
/* 42F78 80067B78 4600A306 */ mov.s $f12, $f20
/* 42F7C 80067B7C 0C00A874 */ jal cos_rad
/* 42F80 80067B80 46000786 */ mov.s $f30, $f0
/* 42F84 80067B84 C7A20050 */ lwc1 $f2, 0x50($sp)
/* 42F88 80067B88 C7B60054 */ lwc1 $f22, 0x54($sp)
/* 42F8C 80067B8C 46161702 */ mul.s $f28, $f2, $f22
/* 42F90 80067B90 C7B40058 */ lwc1 $f20, 0x58($sp)
/* 42F94 80067B94 4614B582 */ mul.s $f22, $f22, $f20
/* 42F98 80067B98 3C013F80 */ lui $at, 0x3f80
/* 42F9C 80067B9C 4481D000 */ mtc1 $at, $f26
/* 42FA0 80067BA0 4602A502 */ mul.s $f20, $f20, $f2
/* 42FA4 80067BA4 46000606 */ mov.s $f24, $f0
/* 42FA8 80067BA8 4618D301 */ sub.s $f12, $f26, $f24
/* 42FAC 80067BAC 460CE702 */ mul.s $f28, $f28, $f12
/* 42FB0 80067BB0 00000000 */ nop
/* 42FB4 80067BB4 460CB582 */ mul.s $f22, $f22, $f12
/* 42FB8 80067BB8 00000000 */ nop
/* 42FBC 80067BBC 460CA502 */ mul.s $f20, $f20, $f12
/* 42FC0 80067BC0 0C019D28 */ jal guMtxIdentF
/* 42FC4 80067BC4 02002021 */ addu $a0, $s0, $zero
/* 42FC8 80067BC8 C7A20050 */ lwc1 $f2, 0x50($sp)
/* 42FCC 80067BCC 46021302 */ mul.s $f12, $f2, $f2
/* 42FD0 80067BD0 460CD001 */ sub.s $f0, $f26, $f12
/* 42FD4 80067BD4 4600C002 */ mul.s $f0, $f24, $f0
/* 42FD8 80067BD8 C7A40054 */ lwc1 $f4, 0x54($sp)
/* 42FDC 80067BDC C7A80058 */ lwc1 $f8, 0x58($sp)
/* 42FE0 80067BE0 46006000 */ add.s $f0, $f12, $f0
/* 42FE4 80067BE4 461E2102 */ mul.s $f4, $f4, $f30
/* 42FE8 80067BE8 E6000000 */ swc1 $f0, ($s0)
/* 42FEC 80067BEC C7A00054 */ lwc1 $f0, 0x54($sp)
/* 42FF0 80067BF0 46000302 */ mul.s $f12, $f0, $f0
/* 42FF4 80067BF4 00000000 */ nop
/* 42FF8 80067BF8 461E1082 */ mul.s $f2, $f2, $f30
/* 42FFC 80067BFC 460CD181 */ sub.s $f6, $f26, $f12
/* 43000 80067C00 4604A000 */ add.s $f0, $f20, $f4
/* 43004 80067C04 4606C182 */ mul.s $f6, $f24, $f6
/* 43008 80067C08 4602B281 */ sub.s $f10, $f22, $f2
/* 4300C 80067C0C E6000020 */ swc1 $f0, 0x20($s0)
/* 43010 80067C10 C7A00058 */ lwc1 $f0, 0x58($sp)
/* 43014 80067C14 46066180 */ add.s $f6, $f12, $f6
/* 43018 80067C18 46000302 */ mul.s $f12, $f0, $f0
/* 4301C 80067C1C 4602B580 */ add.s $f22, $f22, $f2
/* 43020 80067C20 4604A501 */ sub.s $f20, $f20, $f4
/* 43024 80067C24 461E4202 */ mul.s $f8, $f8, $f30
/* 43028 80067C28 460CD681 */ sub.s $f26, $f26, $f12
/* 4302C 80067C2C 4608E001 */ sub.s $f0, $f28, $f8
/* 43030 80067C30 461AC602 */ mul.s $f24, $f24, $f26
/* 43034 80067C34 4608E700 */ add.s $f28, $f28, $f8
/* 43038 80067C38 E60A0024 */ swc1 $f10, 0x24($s0)
/* 4303C 80067C3C E6160018 */ swc1 $f22, 0x18($s0)
/* 43040 80067C40 E6140008 */ swc1 $f20, 8($s0)
/* 43044 80067C44 46186600 */ add.s $f24, $f12, $f24
/* 43048 80067C48 E61C0004 */ swc1 $f28, 4($s0)
/* 4304C 80067C4C E6000010 */ swc1 $f0, 0x10($s0)
/* 43050 80067C50 E6060014 */ swc1 $f6, 0x14($s0)
/* 43054 80067C54 E6180028 */ swc1 $f24, 0x28($s0)
/* 43058 80067C58 8FBF0014 */ lw $ra, 0x14($sp)
/* 4305C 80067C5C 8FB00010 */ lw $s0, 0x10($sp)
/* 43060 80067C60 D7BE0040 */ ldc1 $f30, 0x40($sp)
/* 43064 80067C64 D7BC0038 */ ldc1 $f28, 0x38($sp)
/* 43068 80067C68 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* 4306C 80067C6C D7B80028 */ ldc1 $f24, 0x28($sp)
/* 43070 80067C70 D7B60020 */ ldc1 $f22, 0x20($sp)
/* 43074 80067C74 D7B40018 */ ldc1 $f20, 0x18($sp)
/* 43078 80067C78 03E00008 */ jr $ra
/* 4307C 80067C7C 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,59 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guLookAtHilite
/* 3E644 80063244 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 3E648 80063248 C7A000C8 */ lwc1 $f0, 0xc8($sp)
/* 3E64C 8006324C C7A200CC */ lwc1 $f2, 0xcc($sp)
/* 3E650 80063250 C7A400D0 */ lwc1 $f4, 0xd0($sp)
/* 3E654 80063254 C7A600D4 */ lwc1 $f6, 0xd4($sp)
/* 3E658 80063258 C7A800D8 */ lwc1 $f8, 0xd8($sp)
/* 3E65C 8006325C C7AA00DC */ lwc1 $f10, 0xdc($sp)
/* 3E660 80063260 C7AC00E0 */ lwc1 $f12, 0xe0($sp)
/* 3E664 80063264 C7AE00E4 */ lwc1 $f14, 0xe4($sp)
/* 3E668 80063268 C7B000E8 */ lwc1 $f16, 0xe8($sp)
/* 3E66C 8006326C C7B200EC */ lwc1 $f18, 0xec($sp)
/* 3E670 80063270 F7B40098 */ sdc1 $f20, 0x98($sp)
/* 3E674 80063274 C7B400F0 */ lwc1 $f20, 0xf0($sp)
/* 3E678 80063278 F7B600A0 */ sdc1 $f22, 0xa0($sp)
/* 3E67C 8006327C C7B600F4 */ lwc1 $f22, 0xf4($sp)
/* 3E680 80063280 F7B800A8 */ sdc1 $f24, 0xa8($sp)
/* 3E684 80063284 C7B800F8 */ lwc1 $f24, 0xf8($sp)
/* 3E688 80063288 F7BA00B0 */ sdc1 $f26, 0xb0($sp)
/* 3E68C 8006328C C7BA00FC */ lwc1 $f26, 0xfc($sp)
/* 3E690 80063290 8FA20100 */ lw $v0, 0x100($sp)
/* 3E694 80063294 8FA30104 */ lw $v1, 0x104($sp)
/* 3E698 80063298 AFB00090 */ sw $s0, 0x90($sp)
/* 3E69C 8006329C 00808021 */ addu $s0, $a0, $zero
/* 3E6A0 800632A0 27A40050 */ addiu $a0, $sp, 0x50
/* 3E6A4 800632A4 AFBF0094 */ sw $ra, 0x94($sp)
/* 3E6A8 800632A8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3E6AC 800632AC E7A20014 */ swc1 $f2, 0x14($sp)
/* 3E6B0 800632B0 E7A40018 */ swc1 $f4, 0x18($sp)
/* 3E6B4 800632B4 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 3E6B8 800632B8 E7A80020 */ swc1 $f8, 0x20($sp)
/* 3E6BC 800632BC E7AA0024 */ swc1 $f10, 0x24($sp)
/* 3E6C0 800632C0 E7AC0028 */ swc1 $f12, 0x28($sp)
/* 3E6C4 800632C4 E7AE002C */ swc1 $f14, 0x2c($sp)
/* 3E6C8 800632C8 E7B00030 */ swc1 $f16, 0x30($sp)
/* 3E6CC 800632CC E7B20034 */ swc1 $f18, 0x34($sp)
/* 3E6D0 800632D0 E7B40038 */ swc1 $f20, 0x38($sp)
/* 3E6D4 800632D4 E7B6003C */ swc1 $f22, 0x3c($sp)
/* 3E6D8 800632D8 E7B80040 */ swc1 $f24, 0x40($sp)
/* 3E6DC 800632DC E7BA0044 */ swc1 $f26, 0x44($sp)
/* 3E6E0 800632E0 AFA20048 */ sw $v0, 0x48($sp)
/* 3E6E4 800632E4 0C018A30 */ jal guLookAtHiliteF
/* 3E6E8 800632E8 AFA3004C */ sw $v1, 0x4c($sp)
/* 3E6EC 800632EC 27A40050 */ addiu $a0, $sp, 0x50
/* 3E6F0 800632F0 0C019D40 */ jal guMtxF2L
/* 3E6F4 800632F4 02002821 */ addu $a1, $s0, $zero
/* 3E6F8 800632F8 8FBF0094 */ lw $ra, 0x94($sp)
/* 3E6FC 800632FC 8FB00090 */ lw $s0, 0x90($sp)
/* 3E700 80063300 D7BA00B0 */ ldc1 $f26, 0xb0($sp)
/* 3E704 80063304 D7B800A8 */ ldc1 $f24, 0xa8($sp)
/* 3E708 80063308 D7B600A0 */ ldc1 $f22, 0xa0($sp)
/* 3E70C 8006330C D7B40098 */ ldc1 $f20, 0x98($sp)
/* 3E710 80063310 03E00008 */ jr $ra
/* 3E714 80063314 27BD00B8 */ addiu $sp, $sp, 0xb8
/* 3E718 80063318 00000000 */ nop
/* 3E71C 8006331C 00000000 */ nop

View File

@ -1,654 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80099B70
.double -1.0
dlabel D_80099B78
.double 1.0
dlabel D_80099B80
.double 0.1
dlabel D_80099B88
.double 1.0
dlabel D_80099B90
.double 0.1, 0.0
.section .text
glabel guLookAtHiliteF
/* 3DCC0 800628C0 27BDFF88 */ addiu $sp, $sp, -0x78
/* 3DCC4 800628C4 F7BE0070 */ sdc1 $f30, 0x70($sp)
/* 3DCC8 800628C8 C7BE009C */ lwc1 $f30, 0x9c($sp)
/* 3DCCC 800628CC AFB50034 */ sw $s5, 0x34($sp)
/* 3DCD0 800628D0 8FB500A0 */ lw $s5, 0xa0($sp)
/* 3DCD4 800628D4 F7BC0068 */ sdc1 $f28, 0x68($sp)
/* 3DCD8 800628D8 C7BC00A4 */ lwc1 $f28, 0xa4($sp)
/* 3DCDC 800628DC F7B40048 */ sdc1 $f20, 0x48($sp)
/* 3DCE0 800628E0 C7B40090 */ lwc1 $f20, 0x90($sp)
/* 3DCE4 800628E4 F7B60050 */ sdc1 $f22, 0x50($sp)
/* 3DCE8 800628E8 C7B60094 */ lwc1 $f22, 0x94($sp)
/* 3DCEC 800628EC F7B80058 */ sdc1 $f24, 0x58($sp)
/* 3DCF0 800628F0 C7B80098 */ lwc1 $f24, 0x98($sp)
/* 3DCF4 800628F4 AFB10024 */ sw $s1, 0x24($sp)
/* 3DCF8 800628F8 00808821 */ addu $s1, $a0, $zero
/* 3DCFC 800628FC AFB00020 */ sw $s0, 0x20($sp)
/* 3DD00 80062900 00A08021 */ addu $s0, $a1, $zero
/* 3DD04 80062904 AFBF0044 */ sw $ra, 0x44($sp)
/* 3DD08 80062908 AFBE0040 */ sw $fp, 0x40($sp)
/* 3DD0C 8006290C AFB7003C */ sw $s7, 0x3c($sp)
/* 3DD10 80062910 AFB60038 */ sw $s6, 0x38($sp)
/* 3DD14 80062914 AFB40030 */ sw $s4, 0x30($sp)
/* 3DD18 80062918 AFB3002C */ sw $s3, 0x2c($sp)
/* 3DD1C 8006291C AFB20028 */ sw $s2, 0x28($sp)
/* 3DD20 80062920 F7BA0060 */ sdc1 $f26, 0x60($sp)
/* 3DD24 80062924 AFA60014 */ sw $a2, 0x14($sp)
/* 3DD28 80062928 0C019D28 */ jal guMtxIdentF
/* 3DD2C 8006292C AFA7001C */ sw $a3, 0x1c($sp)
/* 3DD30 80062930 C7B00088 */ lwc1 $f16, 0x88($sp)
/* 3DD34 80062934 4610B401 */ sub.s $f16, $f22, $f16
/* 3DD38 80062938 C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 3DD3C 8006293C 44178000 */ mfc1 $s7, $f16
/* 3DD40 80062940 460EA501 */ sub.s $f20, $f20, $f14
/* 3DD44 80062944 44977000 */ mtc1 $s7, $f14
/* 3DD48 80062948 00000000 */ nop
/* 3DD4C 8006294C 460E8102 */ mul.s $f4, $f16, $f14
/* 3DD50 80062950 C7B0008C */ lwc1 $f16, 0x8c($sp)
/* 3DD54 80062954 4610C401 */ sub.s $f16, $f24, $f16
/* 3DD58 80062958 4614A002 */ mul.s $f0, $f20, $f20
/* 3DD5C 8006295C 44168000 */ mfc1 $s6, $f16
/* 3DD60 80062960 00000000 */ nop
/* 3DD64 80062964 44967000 */ mtc1 $s6, $f14
/* 3DD68 80062968 00000000 */ nop
/* 3DD6C 8006296C 460E8082 */ mul.s $f2, $f16, $f14
/* 3DD70 80062970 46040000 */ add.s $f0, $f0, $f4
/* 3DD74 80062974 46020300 */ add.s $f12, $f0, $f2
/* 3DD78 80062978 46006084 */ sqrt.s $f2, $f12
/* 3DD7C 8006297C 46021032 */ c.eq.s $f2, $f2
/* 3DD80 80062980 441EA000 */ mfc1 $fp, $f20
/* 3DD84 80062984 45010004 */ bc1t .L80062998
/* 3DD88 80062988 00000000 */ nop
/* 3DD8C 8006298C 0C0187BC */ jal sqrtf
/* 3DD90 80062990 00000000 */ nop
/* 3DD94 80062994 46000086 */ mov.s $f2, $f0
.L80062998:
/* 3DD98 80062998 3C01800A */ lui $at, %hi(D_80099B70)
/* 3DD9C 8006299C D4209B70 */ ldc1 $f0, %lo(D_80099B70)($at)
/* 3DDA0 800629A0 460010A1 */ cvt.d.s $f2, $f2
/* 3DDA4 800629A4 46220003 */ div.d $f0, $f0, $f2
/* 3DDA8 800629A8 449E8000 */ mtc1 $fp, $f16
/* 3DDAC 800629AC 46200020 */ cvt.s.d $f0, $f0
/* 3DDB0 800629B0 46008402 */ mul.s $f16, $f16, $f0
/* 3DDB4 800629B4 441E8000 */ mfc1 $fp, $f16
/* 3DDB8 800629B8 44978000 */ mtc1 $s7, $f16
/* 3DDBC 800629BC 00000000 */ nop
/* 3DDC0 800629C0 46008402 */ mul.s $f16, $f16, $f0
/* 3DDC4 800629C4 44967000 */ mtc1 $s6, $f14
/* 3DDC8 800629C8 00000000 */ nop
/* 3DDCC 800629CC 46007382 */ mul.s $f14, $f14, $f0
/* 3DDD0 800629D0 44178000 */ mfc1 $s7, $f16
/* 3DDD4 800629D4 44958000 */ mtc1 $s5, $f16
/* 3DDD8 800629D8 00000000 */ nop
/* 3DDDC 800629DC 460E8102 */ mul.s $f4, $f16, $f14
/* 3DDE0 800629E0 44167000 */ mfc1 $s6, $f14
/* 3DDE4 800629E4 44977000 */ mtc1 $s7, $f14
/* 3DDE8 800629E8 00000000 */ nop
/* 3DDEC 800629EC 460EE002 */ mul.s $f0, $f28, $f14
/* 3DDF0 800629F0 449E8000 */ mtc1 $fp, $f16
/* 3DDF4 800629F4 00000000 */ nop
/* 3DDF8 800629F8 4610E202 */ mul.s $f8, $f28, $f16
/* 3DDFC 800629FC 44967000 */ mtc1 $s6, $f14
/* 3DE00 80062A00 00000000 */ nop
/* 3DE04 80062A04 460EF082 */ mul.s $f2, $f30, $f14
/* 3DE08 80062A08 44978000 */ mtc1 $s7, $f16
/* 3DE0C 80062A0C 00000000 */ nop
/* 3DE10 80062A10 4610F282 */ mul.s $f10, $f30, $f16
/* 3DE14 80062A14 44957000 */ mtc1 $s5, $f14
/* 3DE18 80062A18 449E8000 */ mtc1 $fp, $f16
/* 3DE1C 80062A1C 00000000 */ nop
/* 3DE20 80062A20 46107182 */ mul.s $f6, $f14, $f16
/* 3DE24 80062A24 46002101 */ sub.s $f4, $f4, $f0
/* 3DE28 80062A28 46042002 */ mul.s $f0, $f4, $f4
/* 3DE2C 80062A2C 46024201 */ sub.s $f8, $f8, $f2
/* 3DE30 80062A30 44122000 */ mfc1 $s2, $f4
/* 3DE34 80062A34 46084102 */ mul.s $f4, $f8, $f8
/* 3DE38 80062A38 46065281 */ sub.s $f10, $f10, $f6
/* 3DE3C 80062A3C 460A5082 */ mul.s $f2, $f10, $f10
/* 3DE40 80062A40 46040000 */ add.s $f0, $f0, $f4
/* 3DE44 80062A44 46020300 */ add.s $f12, $f0, $f2
/* 3DE48 80062A48 46006004 */ sqrt.s $f0, $f12
/* 3DE4C 80062A4C 46000032 */ c.eq.s $f0, $f0
/* 3DE50 80062A50 44134000 */ mfc1 $s3, $f8
/* 3DE54 80062A54 44145000 */ mfc1 $s4, $f10
/* 3DE58 80062A58 45010003 */ bc1t .L80062A68
/* 3DE5C 80062A5C 00000000 */ nop
/* 3DE60 80062A60 0C0187BC */ jal sqrtf
/* 3DE64 80062A64 00000000 */ nop
.L80062A68:
/* 3DE68 80062A68 3C01800A */ lui $at, %hi(D_80099B78)
/* 3DE6C 80062A6C D43A9B78 */ ldc1 $f26, %lo(D_80099B78)($at)
/* 3DE70 80062A70 46000021 */ cvt.d.s $f0, $f0
/* 3DE74 80062A74 4620D003 */ div.d $f0, $f26, $f0
/* 3DE78 80062A78 44927000 */ mtc1 $s2, $f14
/* 3DE7C 80062A7C 46200020 */ cvt.s.d $f0, $f0
/* 3DE80 80062A80 46007382 */ mul.s $f14, $f14, $f0
/* 3DE84 80062A84 44127000 */ mfc1 $s2, $f14
/* 3DE88 80062A88 44937000 */ mtc1 $s3, $f14
/* 3DE8C 80062A8C 00000000 */ nop
/* 3DE90 80062A90 46007382 */ mul.s $f14, $f14, $f0
/* 3DE94 80062A94 44948000 */ mtc1 $s4, $f16
/* 3DE98 80062A98 00000000 */ nop
/* 3DE9C 80062A9C 46008402 */ mul.s $f16, $f16, $f0
/* 3DEA0 80062AA0 44137000 */ mfc1 $s3, $f14
/* 3DEA4 80062AA4 44977000 */ mtc1 $s7, $f14
/* 3DEA8 80062AA8 00000000 */ nop
/* 3DEAC 80062AAC 46107102 */ mul.s $f4, $f14, $f16
/* 3DEB0 80062AB0 44148000 */ mfc1 $s4, $f16
/* 3DEB4 80062AB4 44968000 */ mtc1 $s6, $f16
/* 3DEB8 80062AB8 44937000 */ mtc1 $s3, $f14
/* 3DEBC 80062ABC 00000000 */ nop
/* 3DEC0 80062AC0 460E8002 */ mul.s $f0, $f16, $f14
/* 3DEC4 80062AC4 44927000 */ mtc1 $s2, $f14
/* 3DEC8 80062AC8 00000000 */ nop
/* 3DECC 80062ACC 460E8202 */ mul.s $f8, $f16, $f14
/* 3DED0 80062AD0 449E8000 */ mtc1 $fp, $f16
/* 3DED4 80062AD4 44947000 */ mtc1 $s4, $f14
/* 3DED8 80062AD8 00000000 */ nop
/* 3DEDC 80062ADC 460E8082 */ mul.s $f2, $f16, $f14
/* 3DEE0 80062AE0 44937000 */ mtc1 $s3, $f14
/* 3DEE4 80062AE4 00000000 */ nop
/* 3DEE8 80062AE8 460E8282 */ mul.s $f10, $f16, $f14
/* 3DEEC 80062AEC 44978000 */ mtc1 $s7, $f16
/* 3DEF0 80062AF0 44927000 */ mtc1 $s2, $f14
/* 3DEF4 80062AF4 00000000 */ nop
/* 3DEF8 80062AF8 460E8182 */ mul.s $f6, $f16, $f14
/* 3DEFC 80062AFC 46002781 */ sub.s $f30, $f4, $f0
/* 3DF00 80062B00 461EF002 */ mul.s $f0, $f30, $f30
/* 3DF04 80062B04 46024201 */ sub.s $f8, $f8, $f2
/* 3DF08 80062B08 46084102 */ mul.s $f4, $f8, $f8
/* 3DF0C 80062B0C 46065701 */ sub.s $f28, $f10, $f6
/* 3DF10 80062B10 461CE082 */ mul.s $f2, $f28, $f28
/* 3DF14 80062B14 46040000 */ add.s $f0, $f0, $f4
/* 3DF18 80062B18 46020300 */ add.s $f12, $f0, $f2
/* 3DF1C 80062B1C 46006184 */ sqrt.s $f6, $f12
/* 3DF20 80062B20 46063032 */ c.eq.s $f6, $f6
/* 3DF24 80062B24 44154000 */ mfc1 $s5, $f8
/* 3DF28 80062B28 45010004 */ bc1t .L80062B3C
/* 3DF2C 80062B2C 00000000 */ nop
/* 3DF30 80062B30 0C0187BC */ jal sqrtf
/* 3DF34 80062B34 00000000 */ nop
/* 3DF38 80062B38 46000186 */ mov.s $f6, $f0
.L80062B3C:
/* 3DF3C 80062B3C C7B000A8 */ lwc1 $f16, 0xa8($sp)
/* 3DF40 80062B40 C7AE00A8 */ lwc1 $f14, 0xa8($sp)
/* 3DF44 80062B44 460E8002 */ mul.s $f0, $f16, $f14
/* 3DF48 80062B48 C7B000AC */ lwc1 $f16, 0xac($sp)
/* 3DF4C 80062B4C C7AE00AC */ lwc1 $f14, 0xac($sp)
/* 3DF50 80062B50 460E8082 */ mul.s $f2, $f16, $f14
/* 3DF54 80062B54 C7B000B0 */ lwc1 $f16, 0xb0($sp)
/* 3DF58 80062B58 C7AE00B0 */ lwc1 $f14, 0xb0($sp)
/* 3DF5C 80062B5C 460E8102 */ mul.s $f4, $f16, $f14
/* 3DF60 80062B60 46020000 */ add.s $f0, $f0, $f2
/* 3DF64 80062B64 46040300 */ add.s $f12, $f0, $f4
/* 3DF68 80062B68 46006084 */ sqrt.s $f2, $f12
/* 3DF6C 80062B6C 46003021 */ cvt.d.s $f0, $f6
/* 3DF70 80062B70 4620D003 */ div.d $f0, $f26, $f0
/* 3DF74 80062B74 46200020 */ cvt.s.d $f0, $f0
/* 3DF78 80062B78 4600F782 */ mul.s $f30, $f30, $f0
/* 3DF7C 80062B7C 44958000 */ mtc1 $s5, $f16
/* 3DF80 80062B80 00000000 */ nop
/* 3DF84 80062B84 46008402 */ mul.s $f16, $f16, $f0
/* 3DF88 80062B88 46021032 */ c.eq.s $f2, $f2
/* 3DF8C 80062B8C 44158000 */ mfc1 $s5, $f16
/* 3DF90 80062B90 00000000 */ nop
/* 3DF94 80062B94 45010004 */ bc1t .L80062BA8
/* 3DF98 80062B98 4600E702 */ mul.s $f28, $f28, $f0
/* 3DF9C 80062B9C 0C0187BC */ jal sqrtf
/* 3DFA0 80062BA0 00000000 */ nop
/* 3DFA4 80062BA4 46000086 */ mov.s $f2, $f0
.L80062BA8:
/* 3DFA8 80062BA8 46001021 */ cvt.d.s $f0, $f2
/* 3DFAC 80062BAC 4620D003 */ div.d $f0, $f26, $f0
/* 3DFB0 80062BB0 C7AE00A8 */ lwc1 $f14, 0xa8($sp)
/* 3DFB4 80062BB4 46200020 */ cvt.s.d $f0, $f0
/* 3DFB8 80062BB8 46007382 */ mul.s $f14, $f14, $f0
/* 3DFBC 80062BBC C7B000AC */ lwc1 $f16, 0xac($sp)
/* 3DFC0 80062BC0 46008402 */ mul.s $f16, $f16, $f0
/* 3DFC4 80062BC4 E7AE00A8 */ swc1 $f14, 0xa8($sp)
/* 3DFC8 80062BC8 C7AE00B0 */ lwc1 $f14, 0xb0($sp)
/* 3DFCC 80062BCC 46007382 */ mul.s $f14, $f14, $f0
/* 3DFD0 80062BD0 E7B000AC */ swc1 $f16, 0xac($sp)
/* 3DFD4 80062BD4 C7B000A8 */ lwc1 $f16, 0xa8($sp)
/* 3DFD8 80062BD8 E7AE00B0 */ swc1 $f14, 0xb0($sp)
/* 3DFDC 80062BDC 449E7000 */ mtc1 $fp, $f14
/* 3DFE0 80062BE0 00000000 */ nop
/* 3DFE4 80062BE4 460E8600 */ add.s $f24, $f16, $f14
/* 3DFE8 80062BE8 C7B000AC */ lwc1 $f16, 0xac($sp)
/* 3DFEC 80062BEC 4618C002 */ mul.s $f0, $f24, $f24
/* 3DFF0 80062BF0 44977000 */ mtc1 $s7, $f14
/* 3DFF4 80062BF4 00000000 */ nop
/* 3DFF8 80062BF8 460E8500 */ add.s $f20, $f16, $f14
/* 3DFFC 80062BFC C7B000B0 */ lwc1 $f16, 0xb0($sp)
/* 3E000 80062C00 4614A102 */ mul.s $f4, $f20, $f20
/* 3E004 80062C04 44967000 */ mtc1 $s6, $f14
/* 3E008 80062C08 00000000 */ nop
/* 3E00C 80062C0C 460E8580 */ add.s $f22, $f16, $f14
/* 3E010 80062C10 4616B082 */ mul.s $f2, $f22, $f22
/* 3E014 80062C14 46040000 */ add.s $f0, $f0, $f4
/* 3E018 80062C18 46020300 */ add.s $f12, $f0, $f2
/* 3E01C 80062C1C 46006084 */ sqrt.s $f2, $f12
/* 3E020 80062C20 46021032 */ c.eq.s $f2, $f2
/* 3E024 80062C24 00000000 */ nop
/* 3E028 80062C28 45010004 */ bc1t .L80062C3C
/* 3E02C 80062C2C 00000000 */ nop
/* 3E030 80062C30 0C0187BC */ jal sqrtf
/* 3E034 80062C34 00000000 */ nop
/* 3E038 80062C38 46000086 */ mov.s $f2, $f0
.L80062C3C:
/* 3E03C 80062C3C 3C01800A */ lui $at, %hi(D_80099B80)
/* 3E040 80062C40 D4209B80 */ ldc1 $f0, %lo(D_80099B80)($at)
/* 3E044 80062C44 460010A1 */ cvt.d.s $f2, $f2
/* 3E048 80062C48 4622003C */ c.lt.d $f0, $f2
/* 3E04C 80062C4C 00000000 */ nop
/* 3E050 80062C50 45000035 */ bc1f .L80062D28
/* 3E054 80062C54 00000000 */ nop
/* 3E058 80062C58 4622D003 */ div.d $f0, $f26, $f2
/* 3E05C 80062C5C 46200020 */ cvt.s.d $f0, $f0
/* 3E060 80062C60 4600C602 */ mul.s $f24, $f24, $f0
/* 3E064 80062C64 00000000 */ nop
/* 3E068 80062C68 4600A502 */ mul.s $f20, $f20, $f0
/* 3E06C 80062C6C 00000000 */ nop
/* 3E070 80062C70 4600B582 */ mul.s $f22, $f22, $f0
/* 3E074 80062C74 44928000 */ mtc1 $s2, $f16
/* 3E078 80062C78 00000000 */ nop
/* 3E07C 80062C7C 4610C002 */ mul.s $f0, $f24, $f16
/* 3E080 80062C80 44937000 */ mtc1 $s3, $f14
/* 3E084 80062C84 00000000 */ nop
/* 3E088 80062C88 460EA102 */ mul.s $f4, $f20, $f14
/* 3E08C 80062C8C 00000000 */ nop
/* 3E090 80062C90 461EC082 */ mul.s $f2, $f24, $f30
/* 3E094 80062C94 44948000 */ mtc1 $s4, $f16
/* 3E098 80062C98 00000000 */ nop
/* 3E09C 80062C9C 4610B182 */ mul.s $f6, $f22, $f16
/* 3E0A0 80062CA0 44957000 */ mtc1 $s5, $f14
/* 3E0A4 80062CA4 00000000 */ nop
/* 3E0A8 80062CA8 460EA202 */ mul.s $f8, $f20, $f14
/* 3E0AC 80062CAC 46040000 */ add.s $f0, $f0, $f4
/* 3E0B0 80062CB0 461CB282 */ mul.s $f10, $f22, $f28
/* 3E0B4 80062CB4 46060000 */ add.s $f0, $f0, $f6
/* 3E0B8 80062CB8 C7A400C0 */ lwc1 $f4, 0xc0($sp)
/* 3E0BC 80062CBC 46802120 */ cvt.s.w $f4, $f4
/* 3E0C0 80062CC0 46081080 */ add.s $f2, $f2, $f8
/* 3E0C4 80062CC4 46040002 */ mul.s $f0, $f0, $f4
/* 3E0C8 80062CC8 460A1080 */ add.s $f2, $f2, $f10
/* 3E0CC 80062CCC C7A400C4 */ lwc1 $f4, 0xc4($sp)
/* 3E0D0 80062CD0 46802120 */ cvt.s.w $f4, $f4
/* 3E0D4 80062CD4 46041082 */ mul.s $f2, $f2, $f4
/* 3E0D8 80062CD8 46000000 */ add.s $f0, $f0, $f0
/* 3E0DC 80062CDC 8FA300C0 */ lw $v1, 0xc0($sp)
/* 3E0E0 80062CE0 46021080 */ add.s $f2, $f2, $f2
/* 3E0E4 80062CE4 00031080 */ sll $v0, $v1, 2
/* 3E0E8 80062CE8 8FA300C4 */ lw $v1, 0xc4($sp)
/* 3E0EC 80062CEC 44822000 */ mtc1 $v0, $f4
/* 3E0F0 80062CF0 00000000 */ nop
/* 3E0F4 80062CF4 46802120 */ cvt.s.w $f4, $f4
/* 3E0F8 80062CF8 46002100 */ add.s $f4, $f4, $f0
/* 3E0FC 80062CFC 00031080 */ sll $v0, $v1, 2
/* 3E100 80062D00 8FA30014 */ lw $v1, 0x14($sp)
/* 3E104 80062D04 44820000 */ mtc1 $v0, $f0
/* 3E108 80062D08 00000000 */ nop
/* 3E10C 80062D0C 46800020 */ cvt.s.w $f0, $f0
/* 3E110 80062D10 46020000 */ add.s $f0, $f0, $f2
/* 3E114 80062D14 4600208D */ trunc.w.s $f2, $f4
/* 3E118 80062D18 E4620000 */ swc1 $f2, ($v1)
/* 3E11C 80062D1C 4600008D */ trunc.w.s $f2, $f0
/* 3E120 80062D20 08018B52 */ j .L80062D48
/* 3E124 80062D24 E4620004 */ swc1 $f2, 4($v1)
.L80062D28:
/* 3E128 80062D28 8FA300C0 */ lw $v1, 0xc0($sp)
/* 3E12C 80062D2C 00031040 */ sll $v0, $v1, 1
/* 3E130 80062D30 8FA30014 */ lw $v1, 0x14($sp)
/* 3E134 80062D34 AC620000 */ sw $v0, ($v1)
/* 3E138 80062D38 8FA300C4 */ lw $v1, 0xc4($sp)
/* 3E13C 80062D3C 00031040 */ sll $v0, $v1, 1
/* 3E140 80062D40 8FA30014 */ lw $v1, 0x14($sp)
/* 3E144 80062D44 AC620004 */ sw $v0, 4($v1)
.L80062D48:
/* 3E148 80062D48 C7AE00B4 */ lwc1 $f14, 0xb4($sp)
/* 3E14C 80062D4C C7B000B4 */ lwc1 $f16, 0xb4($sp)
/* 3E150 80062D50 46107002 */ mul.s $f0, $f14, $f16
/* 3E154 80062D54 C7AE00B8 */ lwc1 $f14, 0xb8($sp)
/* 3E158 80062D58 C7B000B8 */ lwc1 $f16, 0xb8($sp)
/* 3E15C 80062D5C 46107082 */ mul.s $f2, $f14, $f16
/* 3E160 80062D60 C7AE00BC */ lwc1 $f14, 0xbc($sp)
/* 3E164 80062D64 C7B000BC */ lwc1 $f16, 0xbc($sp)
/* 3E168 80062D68 46107102 */ mul.s $f4, $f14, $f16
/* 3E16C 80062D6C 46020000 */ add.s $f0, $f0, $f2
/* 3E170 80062D70 46040300 */ add.s $f12, $f0, $f4
/* 3E174 80062D74 46006004 */ sqrt.s $f0, $f12
/* 3E178 80062D78 46000032 */ c.eq.s $f0, $f0
/* 3E17C 80062D7C 00000000 */ nop
/* 3E180 80062D80 45010003 */ bc1t .L80062D90
/* 3E184 80062D84 00000000 */ nop
/* 3E188 80062D88 0C0187BC */ jal sqrtf
/* 3E18C 80062D8C 00000000 */ nop
.L80062D90:
/* 3E190 80062D90 3C01800A */ lui $at, %hi(D_80099B88)
/* 3E194 80062D94 D43A9B88 */ ldc1 $f26, %lo(D_80099B88)($at)
/* 3E198 80062D98 46000021 */ cvt.d.s $f0, $f0
/* 3E19C 80062D9C 4620D003 */ div.d $f0, $f26, $f0
/* 3E1A0 80062DA0 C7AE00B4 */ lwc1 $f14, 0xb4($sp)
/* 3E1A4 80062DA4 46200020 */ cvt.s.d $f0, $f0
/* 3E1A8 80062DA8 46007382 */ mul.s $f14, $f14, $f0
/* 3E1AC 80062DAC C7B000B8 */ lwc1 $f16, 0xb8($sp)
/* 3E1B0 80062DB0 46008402 */ mul.s $f16, $f16, $f0
/* 3E1B4 80062DB4 E7AE00B4 */ swc1 $f14, 0xb4($sp)
/* 3E1B8 80062DB8 C7AE00BC */ lwc1 $f14, 0xbc($sp)
/* 3E1BC 80062DBC 46007382 */ mul.s $f14, $f14, $f0
/* 3E1C0 80062DC0 E7B000B8 */ swc1 $f16, 0xb8($sp)
/* 3E1C4 80062DC4 C7B000B4 */ lwc1 $f16, 0xb4($sp)
/* 3E1C8 80062DC8 E7AE00BC */ swc1 $f14, 0xbc($sp)
/* 3E1CC 80062DCC 449E7000 */ mtc1 $fp, $f14
/* 3E1D0 80062DD0 00000000 */ nop
/* 3E1D4 80062DD4 460E8600 */ add.s $f24, $f16, $f14
/* 3E1D8 80062DD8 C7B000B8 */ lwc1 $f16, 0xb8($sp)
/* 3E1DC 80062DDC 4618C002 */ mul.s $f0, $f24, $f24
/* 3E1E0 80062DE0 44977000 */ mtc1 $s7, $f14
/* 3E1E4 80062DE4 00000000 */ nop
/* 3E1E8 80062DE8 460E8500 */ add.s $f20, $f16, $f14
/* 3E1EC 80062DEC C7B000BC */ lwc1 $f16, 0xbc($sp)
/* 3E1F0 80062DF0 4614A102 */ mul.s $f4, $f20, $f20
/* 3E1F4 80062DF4 44967000 */ mtc1 $s6, $f14
/* 3E1F8 80062DF8 00000000 */ nop
/* 3E1FC 80062DFC 460E8580 */ add.s $f22, $f16, $f14
/* 3E200 80062E00 4616B082 */ mul.s $f2, $f22, $f22
/* 3E204 80062E04 46040000 */ add.s $f0, $f0, $f4
/* 3E208 80062E08 46020300 */ add.s $f12, $f0, $f2
/* 3E20C 80062E0C 46006084 */ sqrt.s $f2, $f12
/* 3E210 80062E10 46021032 */ c.eq.s $f2, $f2
/* 3E214 80062E14 00000000 */ nop
/* 3E218 80062E18 45010004 */ bc1t .L80062E2C
/* 3E21C 80062E1C 00000000 */ nop
/* 3E220 80062E20 0C0187BC */ jal sqrtf
/* 3E224 80062E24 00000000 */ nop
/* 3E228 80062E28 46000086 */ mov.s $f2, $f0
.L80062E2C:
/* 3E22C 80062E2C 3C01800A */ lui $at, %hi(D_80099B90)
/* 3E230 80062E30 D4209B90 */ ldc1 $f0, %lo(D_80099B90)($at)
/* 3E234 80062E34 460010A1 */ cvt.d.s $f2, $f2
/* 3E238 80062E38 4622003C */ c.lt.d $f0, $f2
/* 3E23C 80062E3C 00000000 */ nop
/* 3E240 80062E40 45000035 */ bc1f .L80062F18
/* 3E244 80062E44 00000000 */ nop
/* 3E248 80062E48 4622D003 */ div.d $f0, $f26, $f2
/* 3E24C 80062E4C 46200020 */ cvt.s.d $f0, $f0
/* 3E250 80062E50 4600C602 */ mul.s $f24, $f24, $f0
/* 3E254 80062E54 00000000 */ nop
/* 3E258 80062E58 4600A502 */ mul.s $f20, $f20, $f0
/* 3E25C 80062E5C 00000000 */ nop
/* 3E260 80062E60 4600B582 */ mul.s $f22, $f22, $f0
/* 3E264 80062E64 44928000 */ mtc1 $s2, $f16
/* 3E268 80062E68 00000000 */ nop
/* 3E26C 80062E6C 4610C002 */ mul.s $f0, $f24, $f16
/* 3E270 80062E70 44937000 */ mtc1 $s3, $f14
/* 3E274 80062E74 00000000 */ nop
/* 3E278 80062E78 460EA102 */ mul.s $f4, $f20, $f14
/* 3E27C 80062E7C 00000000 */ nop
/* 3E280 80062E80 461EC082 */ mul.s $f2, $f24, $f30
/* 3E284 80062E84 44948000 */ mtc1 $s4, $f16
/* 3E288 80062E88 00000000 */ nop
/* 3E28C 80062E8C 4610B182 */ mul.s $f6, $f22, $f16
/* 3E290 80062E90 44957000 */ mtc1 $s5, $f14
/* 3E294 80062E94 00000000 */ nop
/* 3E298 80062E98 460EA202 */ mul.s $f8, $f20, $f14
/* 3E29C 80062E9C 46040000 */ add.s $f0, $f0, $f4
/* 3E2A0 80062EA0 461CB282 */ mul.s $f10, $f22, $f28
/* 3E2A4 80062EA4 46060000 */ add.s $f0, $f0, $f6
/* 3E2A8 80062EA8 C7A400C0 */ lwc1 $f4, 0xc0($sp)
/* 3E2AC 80062EAC 46802120 */ cvt.s.w $f4, $f4
/* 3E2B0 80062EB0 46081080 */ add.s $f2, $f2, $f8
/* 3E2B4 80062EB4 46040002 */ mul.s $f0, $f0, $f4
/* 3E2B8 80062EB8 460A1080 */ add.s $f2, $f2, $f10
/* 3E2BC 80062EBC C7A400C4 */ lwc1 $f4, 0xc4($sp)
/* 3E2C0 80062EC0 46802120 */ cvt.s.w $f4, $f4
/* 3E2C4 80062EC4 46041082 */ mul.s $f2, $f2, $f4
/* 3E2C8 80062EC8 46000000 */ add.s $f0, $f0, $f0
/* 3E2CC 80062ECC 8FA300C0 */ lw $v1, 0xc0($sp)
/* 3E2D0 80062ED0 46021080 */ add.s $f2, $f2, $f2
/* 3E2D4 80062ED4 00031080 */ sll $v0, $v1, 2
/* 3E2D8 80062ED8 8FA300C4 */ lw $v1, 0xc4($sp)
/* 3E2DC 80062EDC 44822000 */ mtc1 $v0, $f4
/* 3E2E0 80062EE0 00000000 */ nop
/* 3E2E4 80062EE4 46802120 */ cvt.s.w $f4, $f4
/* 3E2E8 80062EE8 46002100 */ add.s $f4, $f4, $f0
/* 3E2EC 80062EEC 00031080 */ sll $v0, $v1, 2
/* 3E2F0 80062EF0 8FA30014 */ lw $v1, 0x14($sp)
/* 3E2F4 80062EF4 44820000 */ mtc1 $v0, $f0
/* 3E2F8 80062EF8 00000000 */ nop
/* 3E2FC 80062EFC 46800020 */ cvt.s.w $f0, $f0
/* 3E300 80062F00 46020000 */ add.s $f0, $f0, $f2
/* 3E304 80062F04 4600208D */ trunc.w.s $f2, $f4
/* 3E308 80062F08 E4620008 */ swc1 $f2, 8($v1)
/* 3E30C 80062F0C 4600008D */ trunc.w.s $f2, $f0
/* 3E310 80062F10 08018BCE */ j .L80062F38
/* 3E314 80062F14 E462000C */ swc1 $f2, 0xc($v1)
.L80062F18:
/* 3E318 80062F18 8FA300C0 */ lw $v1, 0xc0($sp)
/* 3E31C 80062F1C 00031040 */ sll $v0, $v1, 1
/* 3E320 80062F20 8FA30014 */ lw $v1, 0x14($sp)
/* 3E324 80062F24 AC620008 */ sw $v0, 8($v1)
/* 3E328 80062F28 8FA300C4 */ lw $v1, 0xc4($sp)
/* 3E32C 80062F2C 00031040 */ sll $v0, $v1, 1
/* 3E330 80062F30 8FA30014 */ lw $v1, 0x14($sp)
/* 3E334 80062F34 AC62000C */ sw $v0, 0xc($v1)
.L80062F38:
/* 3E338 80062F38 3C014300 */ lui $at, 0x4300
/* 3E33C 80062F3C 44810000 */ mtc1 $at, $f0
/* 3E340 80062F40 44927000 */ mtc1 $s2, $f14
/* 3E344 80062F44 00000000 */ nop
/* 3E348 80062F48 46007082 */ mul.s $f2, $f14, $f0
/* 3E34C 80062F4C 3C0142FE */ lui $at, 0x42fe
/* 3E350 80062F50 44810000 */ mtc1 $at, $f0
/* 3E354 80062F54 00000000 */ nop
/* 3E358 80062F58 4600103C */ c.lt.s $f2, $f0
/* 3E35C 80062F5C 00000000 */ nop
/* 3E360 80062F60 00000000 */ nop
/* 3E364 80062F64 45000003 */ bc1f .L80062F74
/* 3E368 80062F68 2402007F */ addiu $v0, $zero, 0x7f
/* 3E36C 80062F6C 4600100D */ trunc.w.s $f0, $f2
/* 3E370 80062F70 44020000 */ mfc1 $v0, $f0
.L80062F74:
/* 3E374 80062F74 3C014300 */ lui $at, 0x4300
/* 3E378 80062F78 44810000 */ mtc1 $at, $f0
/* 3E37C 80062F7C 44938000 */ mtc1 $s3, $f16
/* 3E380 80062F80 00000000 */ nop
/* 3E384 80062F84 46008082 */ mul.s $f2, $f16, $f0
/* 3E388 80062F88 3C0142FE */ lui $at, 0x42fe
/* 3E38C 80062F8C 44810000 */ mtc1 $at, $f0
/* 3E390 80062F90 00000000 */ nop
/* 3E394 80062F94 4600103C */ c.lt.s $f2, $f0
/* 3E398 80062F98 00000000 */ nop
/* 3E39C 80062F9C 00000000 */ nop
/* 3E3A0 80062FA0 45000005 */ bc1f .L80062FB8
/* 3E3A4 80062FA4 A2020008 */ sb $v0, 8($s0)
/* 3E3A8 80062FA8 4600100D */ trunc.w.s $f0, $f2
/* 3E3AC 80062FAC 44020000 */ mfc1 $v0, $f0
/* 3E3B0 80062FB0 08018BEF */ j .L80062FBC
/* 3E3B4 80062FB4 00000000 */ nop
.L80062FB8:
/* 3E3B8 80062FB8 2402007F */ addiu $v0, $zero, 0x7f
.L80062FBC:
/* 3E3BC 80062FBC 3C014300 */ lui $at, 0x4300
/* 3E3C0 80062FC0 44810000 */ mtc1 $at, $f0
/* 3E3C4 80062FC4 44947000 */ mtc1 $s4, $f14
/* 3E3C8 80062FC8 00000000 */ nop
/* 3E3CC 80062FCC 46007082 */ mul.s $f2, $f14, $f0
/* 3E3D0 80062FD0 3C0142FE */ lui $at, 0x42fe
/* 3E3D4 80062FD4 44810000 */ mtc1 $at, $f0
/* 3E3D8 80062FD8 00000000 */ nop
/* 3E3DC 80062FDC 4600103C */ c.lt.s $f2, $f0
/* 3E3E0 80062FE0 00000000 */ nop
/* 3E3E4 80062FE4 00000000 */ nop
/* 3E3E8 80062FE8 45000005 */ bc1f .L80063000
/* 3E3EC 80062FEC A2020009 */ sb $v0, 9($s0)
/* 3E3F0 80062FF0 4600100D */ trunc.w.s $f0, $f2
/* 3E3F4 80062FF4 44020000 */ mfc1 $v0, $f0
/* 3E3F8 80062FF8 08018C01 */ j .L80063004
/* 3E3FC 80062FFC 00000000 */ nop
.L80063000:
/* 3E400 80063000 2402007F */ addiu $v0, $zero, 0x7f
.L80063004:
/* 3E404 80063004 3C014300 */ lui $at, 0x4300
/* 3E408 80063008 44810000 */ mtc1 $at, $f0
/* 3E40C 8006300C 00000000 */ nop
/* 3E410 80063010 4600F082 */ mul.s $f2, $f30, $f0
/* 3E414 80063014 3C0142FE */ lui $at, 0x42fe
/* 3E418 80063018 44810000 */ mtc1 $at, $f0
/* 3E41C 8006301C 00000000 */ nop
/* 3E420 80063020 4600103C */ c.lt.s $f2, $f0
/* 3E424 80063024 00000000 */ nop
/* 3E428 80063028 00000000 */ nop
/* 3E42C 8006302C 45000005 */ bc1f .L80063044
/* 3E430 80063030 A202000A */ sb $v0, 0xa($s0)
/* 3E434 80063034 4600100D */ trunc.w.s $f0, $f2
/* 3E438 80063038 44020000 */ mfc1 $v0, $f0
/* 3E43C 8006303C 08018C12 */ j .L80063048
/* 3E440 80063040 00000000 */ nop
.L80063044:
/* 3E444 80063044 2402007F */ addiu $v0, $zero, 0x7f
.L80063048:
/* 3E448 80063048 3C014300 */ lui $at, 0x4300
/* 3E44C 8006304C 44810000 */ mtc1 $at, $f0
/* 3E450 80063050 44958000 */ mtc1 $s5, $f16
/* 3E454 80063054 00000000 */ nop
/* 3E458 80063058 46008082 */ mul.s $f2, $f16, $f0
/* 3E45C 8006305C 3C0142FE */ lui $at, 0x42fe
/* 3E460 80063060 44810000 */ mtc1 $at, $f0
/* 3E464 80063064 00000000 */ nop
/* 3E468 80063068 4600103C */ c.lt.s $f2, $f0
/* 3E46C 8006306C 00000000 */ nop
/* 3E470 80063070 00000000 */ nop
/* 3E474 80063074 45000005 */ bc1f .L8006308C
/* 3E478 80063078 A2020018 */ sb $v0, 0x18($s0)
/* 3E47C 8006307C 4600100D */ trunc.w.s $f0, $f2
/* 3E480 80063080 44020000 */ mfc1 $v0, $f0
/* 3E484 80063084 08018C24 */ j .L80063090
/* 3E488 80063088 00000000 */ nop
.L8006308C:
/* 3E48C 8006308C 2402007F */ addiu $v0, $zero, 0x7f
.L80063090:
/* 3E490 80063090 3C014300 */ lui $at, 0x4300
/* 3E494 80063094 44810000 */ mtc1 $at, $f0
/* 3E498 80063098 00000000 */ nop
/* 3E49C 8006309C 4600E082 */ mul.s $f2, $f28, $f0
/* 3E4A0 800630A0 3C0142FE */ lui $at, 0x42fe
/* 3E4A4 800630A4 44810000 */ mtc1 $at, $f0
/* 3E4A8 800630A8 00000000 */ nop
/* 3E4AC 800630AC 4600103C */ c.lt.s $f2, $f0
/* 3E4B0 800630B0 00000000 */ nop
/* 3E4B4 800630B4 00000000 */ nop
/* 3E4B8 800630B8 45000006 */ bc1f .L800630D4
/* 3E4BC 800630BC A2020019 */ sb $v0, 0x19($s0)
/* 3E4C0 800630C0 4600100D */ trunc.w.s $f0, $f2
/* 3E4C4 800630C4 44020000 */ mfc1 $v0, $f0
/* 3E4C8 800630C8 00000000 */ nop
/* 3E4CC 800630CC 08018C37 */ j .L800630DC
/* 3E4D0 800630D0 A202001A */ sb $v0, 0x1a($s0)
.L800630D4:
/* 3E4D4 800630D4 2402007F */ addiu $v0, $zero, 0x7f
/* 3E4D8 800630D8 A202001A */ sb $v0, 0x1a($s0)
.L800630DC:
/* 3E4DC 800630DC C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 3E4E0 800630E0 44928000 */ mtc1 $s2, $f16
/* 3E4E4 800630E4 00000000 */ nop
/* 3E4E8 800630E8 46107102 */ mul.s $f4, $f14, $f16
/* 3E4EC 800630EC C7AE0088 */ lwc1 $f14, 0x88($sp)
/* 3E4F0 800630F0 44938000 */ mtc1 $s3, $f16
/* 3E4F4 800630F4 00000000 */ nop
/* 3E4F8 800630F8 46107182 */ mul.s $f6, $f14, $f16
/* 3E4FC 800630FC C7AE008C */ lwc1 $f14, 0x8c($sp)
/* 3E500 80063100 44948000 */ mtc1 $s4, $f16
/* 3E504 80063104 00000000 */ nop
/* 3E508 80063108 46107202 */ mul.s $f8, $f14, $f16
/* 3E50C 8006310C C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 3E510 80063110 A2000000 */ sb $zero, ($s0)
/* 3E514 80063114 A2000001 */ sb $zero, 1($s0)
/* 3E518 80063118 C7B00088 */ lwc1 $f16, 0x88($sp)
/* 3E51C 8006311C 461E7082 */ mul.s $f2, $f14, $f30
/* 3E520 80063120 44957000 */ mtc1 $s5, $f14
/* 3E524 80063124 A2000002 */ sb $zero, 2($s0)
/* 3E528 80063128 A2000003 */ sb $zero, 3($s0)
/* 3E52C 8006312C A2000004 */ sb $zero, 4($s0)
/* 3E530 80063130 A2000005 */ sb $zero, 5($s0)
/* 3E534 80063134 A2000006 */ sb $zero, 6($s0)
/* 3E538 80063138 A2000007 */ sb $zero, 7($s0)
/* 3E53C 8006313C 460E8282 */ mul.s $f10, $f16, $f14
/* 3E540 80063140 C7B0008C */ lwc1 $f16, 0x8c($sp)
/* 3E544 80063144 24020080 */ addiu $v0, $zero, 0x80
/* 3E548 80063148 A2000010 */ sb $zero, 0x10($s0)
/* 3E54C 8006314C A2020011 */ sb $v0, 0x11($s0)
/* 3E550 80063150 A2000012 */ sb $zero, 0x12($s0)
/* 3E554 80063154 461C8302 */ mul.s $f12, $f16, $f28
/* 3E558 80063158 A2000013 */ sb $zero, 0x13($s0)
/* 3E55C 8006315C A2000014 */ sb $zero, 0x14($s0)
/* 3E560 80063160 C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 3E564 80063164 449E8000 */ mtc1 $fp, $f16
/* 3E568 80063168 46062100 */ add.s $f4, $f4, $f6
/* 3E56C 8006316C 46107002 */ mul.s $f0, $f14, $f16
/* 3E570 80063170 A2020015 */ sb $v0, 0x15($s0)
/* 3E574 80063174 A2000016 */ sb $zero, 0x16($s0)
/* 3E578 80063178 A2000017 */ sb $zero, 0x17($s0)
/* 3E57C 8006317C AE320000 */ sw $s2, ($s1)
/* 3E580 80063180 C7AE0088 */ lwc1 $f14, 0x88($sp)
/* 3E584 80063184 44978000 */ mtc1 $s7, $f16
/* 3E588 80063188 46082100 */ add.s $f4, $f4, $f8
/* 3E58C 8006318C 46107202 */ mul.s $f8, $f14, $f16
/* 3E590 80063190 AE330010 */ sw $s3, 0x10($s1)
/* 3E594 80063194 AE340020 */ sw $s4, 0x20($s1)
/* 3E598 80063198 E63E0004 */ swc1 $f30, 4($s1)
/* 3E59C 8006319C C7AE008C */ lwc1 $f14, 0x8c($sp)
/* 3E5A0 800631A0 460A1080 */ add.s $f2, $f2, $f10
/* 3E5A4 800631A4 44968000 */ mtc1 $s6, $f16
/* 3E5A8 800631A8 3C013F80 */ lui $at, 0x3f80
/* 3E5AC 800631AC 44815000 */ mtc1 $at, $f10
/* 3E5B0 800631B0 46002107 */ neg.s $f4, $f4
/* 3E5B4 800631B4 46107182 */ mul.s $f6, $f14, $f16
/* 3E5B8 800631B8 460C1080 */ add.s $f2, $f2, $f12
/* 3E5BC 800631BC AE350014 */ sw $s5, 0x14($s1)
/* 3E5C0 800631C0 E63C0024 */ swc1 $f28, 0x24($s1)
/* 3E5C4 800631C4 AE3E0008 */ sw $fp, 8($s1)
/* 3E5C8 800631C8 46080000 */ add.s $f0, $f0, $f8
/* 3E5CC 800631CC AE370018 */ sw $s7, 0x18($s1)
/* 3E5D0 800631D0 AE360028 */ sw $s6, 0x28($s1)
/* 3E5D4 800631D4 AE20000C */ sw $zero, 0xc($s1)
/* 3E5D8 800631D8 46060000 */ add.s $f0, $f0, $f6
/* 3E5DC 800631DC AE20001C */ sw $zero, 0x1c($s1)
/* 3E5E0 800631E0 AE20002C */ sw $zero, 0x2c($s1)
/* 3E5E4 800631E4 E62A003C */ swc1 $f10, 0x3c($s1)
/* 3E5E8 800631E8 46001087 */ neg.s $f2, $f2
/* 3E5EC 800631EC E6240030 */ swc1 $f4, 0x30($s1)
/* 3E5F0 800631F0 46000007 */ neg.s $f0, $f0
/* 3E5F4 800631F4 E6220034 */ swc1 $f2, 0x34($s1)
/* 3E5F8 800631F8 E6200038 */ swc1 $f0, 0x38($s1)
/* 3E5FC 800631FC 8FBF0044 */ lw $ra, 0x44($sp)
/* 3E600 80063200 8FBE0040 */ lw $fp, 0x40($sp)
/* 3E604 80063204 8FB7003C */ lw $s7, 0x3c($sp)
/* 3E608 80063208 8FB60038 */ lw $s6, 0x38($sp)
/* 3E60C 8006320C 8FB50034 */ lw $s5, 0x34($sp)
/* 3E610 80063210 8FB40030 */ lw $s4, 0x30($sp)
/* 3E614 80063214 8FB3002C */ lw $s3, 0x2c($sp)
/* 3E618 80063218 8FB20028 */ lw $s2, 0x28($sp)
/* 3E61C 8006321C 8FB10024 */ lw $s1, 0x24($sp)
/* 3E620 80063220 8FB00020 */ lw $s0, 0x20($sp)
/* 3E624 80063224 D7BE0070 */ ldc1 $f30, 0x70($sp)
/* 3E628 80063228 D7BC0068 */ ldc1 $f28, 0x68($sp)
/* 3E62C 8006322C D7BA0060 */ ldc1 $f26, 0x60($sp)
/* 3E630 80063230 D7B80058 */ ldc1 $f24, 0x58($sp)
/* 3E634 80063234 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 3E638 80063238 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 3E63C 8006323C 03E00008 */ jr $ra
/* 3E640 80063240 27BD0078 */ addiu $sp, $sp, 0x78

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guLookAtReflect
/* 3EC98 80063898 27BDFF88 */ addiu $sp, $sp, -0x78
/* 3EC9C 8006389C C7A00088 */ lwc1 $f0, 0x88($sp)
/* 3ECA0 800638A0 C7A2008C */ lwc1 $f2, 0x8c($sp)
/* 3ECA4 800638A4 C7A40090 */ lwc1 $f4, 0x90($sp)
/* 3ECA8 800638A8 C7A60094 */ lwc1 $f6, 0x94($sp)
/* 3ECAC 800638AC C7A80098 */ lwc1 $f8, 0x98($sp)
/* 3ECB0 800638B0 C7AA009C */ lwc1 $f10, 0x9c($sp)
/* 3ECB4 800638B4 C7AC00A0 */ lwc1 $f12, 0xa0($sp)
/* 3ECB8 800638B8 AFB00070 */ sw $s0, 0x70($sp)
/* 3ECBC 800638BC 00808021 */ addu $s0, $a0, $zero
/* 3ECC0 800638C0 27A40030 */ addiu $a0, $sp, 0x30
/* 3ECC4 800638C4 AFBF0074 */ sw $ra, 0x74($sp)
/* 3ECC8 800638C8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3ECCC 800638CC E7A20014 */ swc1 $f2, 0x14($sp)
/* 3ECD0 800638D0 E7A40018 */ swc1 $f4, 0x18($sp)
/* 3ECD4 800638D4 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 3ECD8 800638D8 E7A80020 */ swc1 $f8, 0x20($sp)
/* 3ECDC 800638DC E7AA0024 */ swc1 $f10, 0x24($sp)
/* 3ECE0 800638E0 0C018CC8 */ jal guLookAtReflectF
/* 3ECE4 800638E4 E7AC0028 */ swc1 $f12, 0x28($sp)
/* 3ECE8 800638E8 27A40030 */ addiu $a0, $sp, 0x30
/* 3ECEC 800638EC 0C019D40 */ jal guMtxF2L
/* 3ECF0 800638F0 02002821 */ addu $a1, $s0, $zero
/* 3ECF4 800638F4 8FBF0074 */ lw $ra, 0x74($sp)
/* 3ECF8 800638F8 8FB00070 */ lw $s0, 0x70($sp)
/* 3ECFC 800638FC 03E00008 */ jr $ra
/* 3ED00 80063900 27BD0078 */ addiu $sp, $sp, 0x78
/* 3ED04 80063904 00000000 */ nop
/* 3ED08 80063908 00000000 */ nop
/* 3ED0C 8006390C 00000000 */ nop

View File

@ -1,379 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80099BA0
.double -1.0
dlabel D_80099BA8
.word 0x3FF00000, 0x00000000
.section .text
glabel guLookAtReflectF
/* 3E720 80063320 27BDFF98 */ addiu $sp, $sp, -0x68
/* 3E724 80063324 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* 3E728 80063328 C7BC0088 */ lwc1 $f28, 0x88($sp)
/* 3E72C 8006332C F7BE0060 */ sdc1 $f30, 0x60($sp)
/* 3E730 80063330 C7BE008C */ lwc1 $f30, 0x8c($sp)
/* 3E734 80063334 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 3E738 80063338 C7BA0090 */ lwc1 $f26, 0x90($sp)
/* 3E73C 8006333C F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3E740 80063340 C7B4007C */ lwc1 $f20, 0x7c($sp)
/* 3E744 80063344 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3E748 80063348 C7B60080 */ lwc1 $f22, 0x80($sp)
/* 3E74C 8006334C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3E750 80063350 C7B80084 */ lwc1 $f24, 0x84($sp)
/* 3E754 80063354 AFB10014 */ sw $s1, 0x14($sp)
/* 3E758 80063358 00808821 */ addu $s1, $a0, $zero
/* 3E75C 8006335C AFB00010 */ sw $s0, 0x10($sp)
/* 3E760 80063360 00A08021 */ addu $s0, $a1, $zero
/* 3E764 80063364 AFB50024 */ sw $s5, 0x24($sp)
/* 3E768 80063368 00C0A821 */ addu $s5, $a2, $zero
/* 3E76C 8006336C AFBE0030 */ sw $fp, 0x30($sp)
/* 3E770 80063370 00E0F021 */ addu $fp, $a3, $zero
/* 3E774 80063374 AFBF0034 */ sw $ra, 0x34($sp)
/* 3E778 80063378 AFB7002C */ sw $s7, 0x2c($sp)
/* 3E77C 8006337C AFB60028 */ sw $s6, 0x28($sp)
/* 3E780 80063380 AFB40020 */ sw $s4, 0x20($sp)
/* 3E784 80063384 AFB3001C */ sw $s3, 0x1c($sp)
/* 3E788 80063388 0C019D28 */ jal guMtxIdentF
/* 3E78C 8006338C AFB20018 */ sw $s2, 0x18($sp)
/* 3E790 80063390 44957000 */ mtc1 $s5, $f14
/* 3E794 80063394 00000000 */ nop
/* 3E798 80063398 460EA381 */ sub.s $f14, $f20, $f14
/* 3E79C 8006339C 44147000 */ mfc1 $s4, $f14
/* 3E7A0 800633A0 00000000 */ nop
/* 3E7A4 800633A4 44948000 */ mtc1 $s4, $f16
/* 3E7A8 800633A8 00000000 */ nop
/* 3E7AC 800633AC 46107002 */ mul.s $f0, $f14, $f16
/* 3E7B0 800633B0 449E7000 */ mtc1 $fp, $f14
/* 3E7B4 800633B4 00000000 */ nop
/* 3E7B8 800633B8 460EB381 */ sub.s $f14, $f22, $f14
/* 3E7BC 800633BC 44137000 */ mfc1 $s3, $f14
/* 3E7C0 800633C0 00000000 */ nop
/* 3E7C4 800633C4 44938000 */ mtc1 $s3, $f16
/* 3E7C8 800633C8 00000000 */ nop
/* 3E7CC 800633CC 46107102 */ mul.s $f4, $f14, $f16
/* 3E7D0 800633D0 C7AE0078 */ lwc1 $f14, 0x78($sp)
/* 3E7D4 800633D4 460EC381 */ sub.s $f14, $f24, $f14
/* 3E7D8 800633D8 44127000 */ mfc1 $s2, $f14
/* 3E7DC 800633DC 00000000 */ nop
/* 3E7E0 800633E0 44928000 */ mtc1 $s2, $f16
/* 3E7E4 800633E4 00000000 */ nop
/* 3E7E8 800633E8 46107082 */ mul.s $f2, $f14, $f16
/* 3E7EC 800633EC 46040000 */ add.s $f0, $f0, $f4
/* 3E7F0 800633F0 46020300 */ add.s $f12, $f0, $f2
/* 3E7F4 800633F4 46006084 */ sqrt.s $f2, $f12
/* 3E7F8 800633F8 46021032 */ c.eq.s $f2, $f2
/* 3E7FC 800633FC 00000000 */ nop
/* 3E800 80063400 45010004 */ bc1t .L80063414
/* 3E804 80063404 00000000 */ nop
/* 3E808 80063408 0C0187BC */ jal sqrtf
/* 3E80C 8006340C 00000000 */ nop
/* 3E810 80063410 46000086 */ mov.s $f2, $f0
.L80063414:
/* 3E814 80063414 3C01800A */ lui $at, %hi(D_80099BA0)
/* 3E818 80063418 D4209BA0 */ ldc1 $f0, %lo(D_80099BA0)($at)
/* 3E81C 8006341C 460010A1 */ cvt.d.s $f2, $f2
/* 3E820 80063420 46220003 */ div.d $f0, $f0, $f2
/* 3E824 80063424 44928000 */ mtc1 $s2, $f16
/* 3E828 80063428 462000A0 */ cvt.s.d $f2, $f0
/* 3E82C 8006342C 46028402 */ mul.s $f16, $f16, $f2
/* 3E830 80063430 44947000 */ mtc1 $s4, $f14
/* 3E834 80063434 00000000 */ nop
/* 3E838 80063438 46027382 */ mul.s $f14, $f14, $f2
/* 3E83C 8006343C 00000000 */ nop
/* 3E840 80063440 4610F102 */ mul.s $f4, $f30, $f16
/* 3E844 80063444 44147000 */ mfc1 $s4, $f14
/* 3E848 80063448 44937000 */ mtc1 $s3, $f14
/* 3E84C 8006344C 00000000 */ nop
/* 3E850 80063450 46027382 */ mul.s $f14, $f14, $f2
/* 3E854 80063454 44128000 */ mfc1 $s2, $f16
/* 3E858 80063458 44948000 */ mtc1 $s4, $f16
/* 3E85C 8006345C 00000000 */ nop
/* 3E860 80063460 4610D202 */ mul.s $f8, $f26, $f16
/* 3E864 80063464 00000000 */ nop
/* 3E868 80063468 460ED002 */ mul.s $f0, $f26, $f14
/* 3E86C 8006346C 44137000 */ mfc1 $s3, $f14
/* 3E870 80063470 44927000 */ mtc1 $s2, $f14
/* 3E874 80063474 00000000 */ nop
/* 3E878 80063478 460EE082 */ mul.s $f2, $f28, $f14
/* 3E87C 8006347C 44938000 */ mtc1 $s3, $f16
/* 3E880 80063480 00000000 */ nop
/* 3E884 80063484 4610E282 */ mul.s $f10, $f28, $f16
/* 3E888 80063488 44947000 */ mtc1 $s4, $f14
/* 3E88C 8006348C 00000000 */ nop
/* 3E890 80063490 460EF182 */ mul.s $f6, $f30, $f14
/* 3E894 80063494 46002501 */ sub.s $f20, $f4, $f0
/* 3E898 80063498 4614A002 */ mul.s $f0, $f20, $f20
/* 3E89C 8006349C 46024581 */ sub.s $f22, $f8, $f2
/* 3E8A0 800634A0 4616B102 */ mul.s $f4, $f22, $f22
/* 3E8A4 800634A4 46065601 */ sub.s $f24, $f10, $f6
/* 3E8A8 800634A8 4618C082 */ mul.s $f2, $f24, $f24
/* 3E8AC 800634AC 46040000 */ add.s $f0, $f0, $f4
/* 3E8B0 800634B0 46020300 */ add.s $f12, $f0, $f2
/* 3E8B4 800634B4 46006004 */ sqrt.s $f0, $f12
/* 3E8B8 800634B8 46000032 */ c.eq.s $f0, $f0
/* 3E8BC 800634BC 00000000 */ nop
/* 3E8C0 800634C0 45010003 */ bc1t .L800634D0
/* 3E8C4 800634C4 00000000 */ nop
/* 3E8C8 800634C8 0C0187BC */ jal sqrtf
/* 3E8CC 800634CC 00000000 */ nop
.L800634D0:
/* 3E8D0 800634D0 3C01800A */ lui $at, %hi(D_80099BA8)
/* 3E8D4 800634D4 8C369BA8 */ lw $s6, %lo(D_80099BA8)($at)
/* 3E8D8 800634D8 8C379BAC */ lw $s7, -0x6454($at)
/* 3E8DC 800634DC 44978000 */ mtc1 $s7, $f16
/* 3E8E0 800634E0 44968800 */ mtc1 $s6, $f17
/* 3E8E4 800634E4 46000021 */ cvt.d.s $f0, $f0
/* 3E8E8 800634E8 46208003 */ div.d $f0, $f16, $f0
/* 3E8EC 800634EC 462000A0 */ cvt.s.d $f2, $f0
/* 3E8F0 800634F0 4602A502 */ mul.s $f20, $f20, $f2
/* 3E8F4 800634F4 00000000 */ nop
/* 3E8F8 800634F8 4602C602 */ mul.s $f24, $f24, $f2
/* 3E8FC 800634FC 00000000 */ nop
/* 3E900 80063500 4602B582 */ mul.s $f22, $f22, $f2
/* 3E904 80063504 44937000 */ mtc1 $s3, $f14
/* 3E908 80063508 00000000 */ nop
/* 3E90C 8006350C 46187102 */ mul.s $f4, $f14, $f24
/* 3E910 80063510 44928000 */ mtc1 $s2, $f16
/* 3E914 80063514 00000000 */ nop
/* 3E918 80063518 46168002 */ mul.s $f0, $f16, $f22
/* 3E91C 8006351C 00000000 */ nop
/* 3E920 80063520 46148202 */ mul.s $f8, $f16, $f20
/* 3E924 80063524 44947000 */ mtc1 $s4, $f14
/* 3E928 80063528 00000000 */ nop
/* 3E92C 8006352C 46187082 */ mul.s $f2, $f14, $f24
/* 3E930 80063530 00000000 */ nop
/* 3E934 80063534 46167282 */ mul.s $f10, $f14, $f22
/* 3E938 80063538 44938000 */ mtc1 $s3, $f16
/* 3E93C 8006353C 00000000 */ nop
/* 3E940 80063540 46148182 */ mul.s $f6, $f16, $f20
/* 3E944 80063544 46002701 */ sub.s $f28, $f4, $f0
/* 3E948 80063548 461CE002 */ mul.s $f0, $f28, $f28
/* 3E94C 8006354C 46024781 */ sub.s $f30, $f8, $f2
/* 3E950 80063550 461EF102 */ mul.s $f4, $f30, $f30
/* 3E954 80063554 46065681 */ sub.s $f26, $f10, $f6
/* 3E958 80063558 461AD082 */ mul.s $f2, $f26, $f26
/* 3E95C 8006355C 46040000 */ add.s $f0, $f0, $f4
/* 3E960 80063560 46020300 */ add.s $f12, $f0, $f2
/* 3E964 80063564 46006004 */ sqrt.s $f0, $f12
/* 3E968 80063568 46000032 */ c.eq.s $f0, $f0
/* 3E96C 8006356C 00000000 */ nop
/* 3E970 80063570 45010003 */ bc1t .L80063580
/* 3E974 80063574 00000000 */ nop
/* 3E978 80063578 0C0187BC */ jal sqrtf
/* 3E97C 8006357C 00000000 */ nop
.L80063580:
/* 3E980 80063580 44977000 */ mtc1 $s7, $f14
/* 3E984 80063584 44967800 */ mtc1 $s6, $f15
/* 3E988 80063588 46000021 */ cvt.d.s $f0, $f0
/* 3E98C 8006358C 46207003 */ div.d $f0, $f14, $f0
/* 3E990 80063590 462000A0 */ cvt.s.d $f2, $f0
/* 3E994 80063594 4602E702 */ mul.s $f28, $f28, $f2
/* 3E998 80063598 3C014300 */ lui $at, 0x4300
/* 3E99C 8006359C 44810000 */ mtc1 $at, $f0
/* 3E9A0 800635A0 00000000 */ nop
/* 3E9A4 800635A4 4600A102 */ mul.s $f4, $f20, $f0
/* 3E9A8 800635A8 00000000 */ nop
/* 3E9AC 800635AC 4602F782 */ mul.s $f30, $f30, $f2
/* 3E9B0 800635B0 3C0142FE */ lui $at, 0x42fe
/* 3E9B4 800635B4 44810000 */ mtc1 $at, $f0
/* 3E9B8 800635B8 00000000 */ nop
/* 3E9BC 800635BC 4600203C */ c.lt.s $f4, $f0
/* 3E9C0 800635C0 00000000 */ nop
/* 3E9C4 800635C4 00000000 */ nop
/* 3E9C8 800635C8 45000005 */ bc1f .L800635E0
/* 3E9CC 800635CC 4602D682 */ mul.s $f26, $f26, $f2
/* 3E9D0 800635D0 4600200D */ trunc.w.s $f0, $f4
/* 3E9D4 800635D4 44020000 */ mfc1 $v0, $f0
/* 3E9D8 800635D8 08018D79 */ j .L800635E4
/* 3E9DC 800635DC 00000000 */ nop
.L800635E0:
/* 3E9E0 800635E0 2402007F */ addiu $v0, $zero, 0x7f
.L800635E4:
/* 3E9E4 800635E4 3C014300 */ lui $at, 0x4300
/* 3E9E8 800635E8 44810000 */ mtc1 $at, $f0
/* 3E9EC 800635EC 00000000 */ nop
/* 3E9F0 800635F0 4600B082 */ mul.s $f2, $f22, $f0
/* 3E9F4 800635F4 3C0142FE */ lui $at, 0x42fe
/* 3E9F8 800635F8 44810000 */ mtc1 $at, $f0
/* 3E9FC 800635FC 00000000 */ nop
/* 3EA00 80063600 4600103C */ c.lt.s $f2, $f0
/* 3EA04 80063604 00000000 */ nop
/* 3EA08 80063608 00000000 */ nop
/* 3EA0C 8006360C 45000005 */ bc1f .L80063624
/* 3EA10 80063610 A2020008 */ sb $v0, 8($s0)
/* 3EA14 80063614 4600100D */ trunc.w.s $f0, $f2
/* 3EA18 80063618 44020000 */ mfc1 $v0, $f0
/* 3EA1C 8006361C 08018D8A */ j .L80063628
/* 3EA20 80063620 00000000 */ nop
.L80063624:
/* 3EA24 80063624 2402007F */ addiu $v0, $zero, 0x7f
.L80063628:
/* 3EA28 80063628 3C014300 */ lui $at, 0x4300
/* 3EA2C 8006362C 44810000 */ mtc1 $at, $f0
/* 3EA30 80063630 00000000 */ nop
/* 3EA34 80063634 4600C082 */ mul.s $f2, $f24, $f0
/* 3EA38 80063638 3C0142FE */ lui $at, 0x42fe
/* 3EA3C 8006363C 44810000 */ mtc1 $at, $f0
/* 3EA40 80063640 00000000 */ nop
/* 3EA44 80063644 4600103C */ c.lt.s $f2, $f0
/* 3EA48 80063648 00000000 */ nop
/* 3EA4C 8006364C 00000000 */ nop
/* 3EA50 80063650 45000005 */ bc1f .L80063668
/* 3EA54 80063654 A2020009 */ sb $v0, 9($s0)
/* 3EA58 80063658 4600100D */ trunc.w.s $f0, $f2
/* 3EA5C 8006365C 44020000 */ mfc1 $v0, $f0
/* 3EA60 80063660 08018D9B */ j .L8006366C
/* 3EA64 80063664 00000000 */ nop
.L80063668:
/* 3EA68 80063668 2402007F */ addiu $v0, $zero, 0x7f
.L8006366C:
/* 3EA6C 8006366C 3C014300 */ lui $at, 0x4300
/* 3EA70 80063670 44810000 */ mtc1 $at, $f0
/* 3EA74 80063674 00000000 */ nop
/* 3EA78 80063678 4600E082 */ mul.s $f2, $f28, $f0
/* 3EA7C 8006367C 3C0142FE */ lui $at, 0x42fe
/* 3EA80 80063680 44810000 */ mtc1 $at, $f0
/* 3EA84 80063684 00000000 */ nop
/* 3EA88 80063688 4600103C */ c.lt.s $f2, $f0
/* 3EA8C 8006368C 00000000 */ nop
/* 3EA90 80063690 00000000 */ nop
/* 3EA94 80063694 45000005 */ bc1f .L800636AC
/* 3EA98 80063698 A202000A */ sb $v0, 0xa($s0)
/* 3EA9C 8006369C 4600100D */ trunc.w.s $f0, $f2
/* 3EAA0 800636A0 44020000 */ mfc1 $v0, $f0
/* 3EAA4 800636A4 08018DAC */ j .L800636B0
/* 3EAA8 800636A8 00000000 */ nop
.L800636AC:
/* 3EAAC 800636AC 2402007F */ addiu $v0, $zero, 0x7f
.L800636B0:
/* 3EAB0 800636B0 3C014300 */ lui $at, 0x4300
/* 3EAB4 800636B4 44810000 */ mtc1 $at, $f0
/* 3EAB8 800636B8 00000000 */ nop
/* 3EABC 800636BC 4600F082 */ mul.s $f2, $f30, $f0
/* 3EAC0 800636C0 3C0142FE */ lui $at, 0x42fe
/* 3EAC4 800636C4 44810000 */ mtc1 $at, $f0
/* 3EAC8 800636C8 00000000 */ nop
/* 3EACC 800636CC 4600103C */ c.lt.s $f2, $f0
/* 3EAD0 800636D0 00000000 */ nop
/* 3EAD4 800636D4 00000000 */ nop
/* 3EAD8 800636D8 45000005 */ bc1f .L800636F0
/* 3EADC 800636DC A2020018 */ sb $v0, 0x18($s0)
/* 3EAE0 800636E0 4600100D */ trunc.w.s $f0, $f2
/* 3EAE4 800636E4 44020000 */ mfc1 $v0, $f0
/* 3EAE8 800636E8 08018DBD */ j .L800636F4
/* 3EAEC 800636EC 00000000 */ nop
.L800636F0:
/* 3EAF0 800636F0 2402007F */ addiu $v0, $zero, 0x7f
.L800636F4:
/* 3EAF4 800636F4 3C014300 */ lui $at, 0x4300
/* 3EAF8 800636F8 44810000 */ mtc1 $at, $f0
/* 3EAFC 800636FC 00000000 */ nop
/* 3EB00 80063700 4600D082 */ mul.s $f2, $f26, $f0
/* 3EB04 80063704 3C0142FE */ lui $at, 0x42fe
/* 3EB08 80063708 44810000 */ mtc1 $at, $f0
/* 3EB0C 8006370C 00000000 */ nop
/* 3EB10 80063710 4600103C */ c.lt.s $f2, $f0
/* 3EB14 80063714 00000000 */ nop
/* 3EB18 80063718 00000000 */ nop
/* 3EB1C 8006371C 45000006 */ bc1f .L80063738
/* 3EB20 80063720 A2020019 */ sb $v0, 0x19($s0)
/* 3EB24 80063724 4600100D */ trunc.w.s $f0, $f2
/* 3EB28 80063728 44020000 */ mfc1 $v0, $f0
/* 3EB2C 8006372C 00000000 */ nop
/* 3EB30 80063730 08018DD0 */ j .L80063740
/* 3EB34 80063734 A202001A */ sb $v0, 0x1a($s0)
.L80063738:
/* 3EB38 80063738 2402007F */ addiu $v0, $zero, 0x7f
/* 3EB3C 8006373C A202001A */ sb $v0, 0x1a($s0)
.L80063740:
/* 3EB40 80063740 44958000 */ mtc1 $s5, $f16
/* 3EB44 80063744 00000000 */ nop
/* 3EB48 80063748 46148102 */ mul.s $f4, $f16, $f20
/* 3EB4C 8006374C 449E7000 */ mtc1 $fp, $f14
/* 3EB50 80063750 00000000 */ nop
/* 3EB54 80063754 46167182 */ mul.s $f6, $f14, $f22
/* 3EB58 80063758 44957000 */ mtc1 $s5, $f14
/* 3EB5C 8006375C 00000000 */ nop
/* 3EB60 80063760 461C7082 */ mul.s $f2, $f14, $f28
/* 3EB64 80063764 C7B00078 */ lwc1 $f16, 0x78($sp)
/* 3EB68 80063768 46188202 */ mul.s $f8, $f16, $f24
/* 3EB6C 8006376C 449E8000 */ mtc1 $fp, $f16
/* 3EB70 80063770 A2000000 */ sb $zero, ($s0)
/* 3EB74 80063774 A2000001 */ sb $zero, 1($s0)
/* 3EB78 80063778 A2000002 */ sb $zero, 2($s0)
/* 3EB7C 8006377C A2000003 */ sb $zero, 3($s0)
/* 3EB80 80063780 A2000004 */ sb $zero, 4($s0)
/* 3EB84 80063784 461E8282 */ mul.s $f10, $f16, $f30
/* 3EB88 80063788 A2000005 */ sb $zero, 5($s0)
/* 3EB8C 8006378C A2000006 */ sb $zero, 6($s0)
/* 3EB90 80063790 A2000007 */ sb $zero, 7($s0)
/* 3EB94 80063794 C7AE0078 */ lwc1 $f14, 0x78($sp)
/* 3EB98 80063798 461A7302 */ mul.s $f12, $f14, $f26
/* 3EB9C 8006379C 44958000 */ mtc1 $s5, $f16
/* 3EBA0 800637A0 44947000 */ mtc1 $s4, $f14
/* 3EBA4 800637A4 24020080 */ addiu $v0, $zero, 0x80
/* 3EBA8 800637A8 A2000010 */ sb $zero, 0x10($s0)
/* 3EBAC 800637AC A2020011 */ sb $v0, 0x11($s0)
/* 3EBB0 800637B0 A2000012 */ sb $zero, 0x12($s0)
/* 3EBB4 800637B4 A2000013 */ sb $zero, 0x13($s0)
/* 3EBB8 800637B8 A2000014 */ sb $zero, 0x14($s0)
/* 3EBBC 800637BC A2020015 */ sb $v0, 0x15($s0)
/* 3EBC0 800637C0 A2000016 */ sb $zero, 0x16($s0)
/* 3EBC4 800637C4 A2000017 */ sb $zero, 0x17($s0)
/* 3EBC8 800637C8 E6340000 */ swc1 $f20, ($s1)
/* 3EBCC 800637CC 460E8002 */ mul.s $f0, $f16, $f14
/* 3EBD0 800637D0 46062100 */ add.s $f4, $f4, $f6
/* 3EBD4 800637D4 E6360010 */ swc1 $f22, 0x10($s1)
/* 3EBD8 800637D8 449E8000 */ mtc1 $fp, $f16
/* 3EBDC 800637DC 44937000 */ mtc1 $s3, $f14
/* 3EBE0 800637E0 46082100 */ add.s $f4, $f4, $f8
/* 3EBE4 800637E4 E6380020 */ swc1 $f24, 0x20($s1)
/* 3EBE8 800637E8 E63C0004 */ swc1 $f28, 4($s1)
/* 3EBEC 800637EC 460E8202 */ mul.s $f8, $f16, $f14
/* 3EBF0 800637F0 460A1080 */ add.s $f2, $f2, $f10
/* 3EBF4 800637F4 3C013F80 */ lui $at, 0x3f80
/* 3EBF8 800637F8 44815000 */ mtc1 $at, $f10
/* 3EBFC 800637FC C7B00078 */ lwc1 $f16, 0x78($sp)
/* 3EC00 80063800 44927000 */ mtc1 $s2, $f14
/* 3EC04 80063804 460C1080 */ add.s $f2, $f2, $f12
/* 3EC08 80063808 460E8182 */ mul.s $f6, $f16, $f14
/* 3EC0C 8006380C E63E0014 */ swc1 $f30, 0x14($s1)
/* 3EC10 80063810 E63A0024 */ swc1 $f26, 0x24($s1)
/* 3EC14 80063814 46080000 */ add.s $f0, $f0, $f8
/* 3EC18 80063818 AE340008 */ sw $s4, 8($s1)
/* 3EC1C 8006381C AE330018 */ sw $s3, 0x18($s1)
/* 3EC20 80063820 AE320028 */ sw $s2, 0x28($s1)
/* 3EC24 80063824 46060000 */ add.s $f0, $f0, $f6
/* 3EC28 80063828 AE20000C */ sw $zero, 0xc($s1)
/* 3EC2C 8006382C AE20001C */ sw $zero, 0x1c($s1)
/* 3EC30 80063830 AE20002C */ sw $zero, 0x2c($s1)
/* 3EC34 80063834 46002107 */ neg.s $f4, $f4
/* 3EC38 80063838 E62A003C */ swc1 $f10, 0x3c($s1)
/* 3EC3C 8006383C 46001087 */ neg.s $f2, $f2
/* 3EC40 80063840 E6240030 */ swc1 $f4, 0x30($s1)
/* 3EC44 80063844 46000007 */ neg.s $f0, $f0
/* 3EC48 80063848 E6220034 */ swc1 $f2, 0x34($s1)
/* 3EC4C 8006384C E6200038 */ swc1 $f0, 0x38($s1)
/* 3EC50 80063850 8FBF0034 */ lw $ra, 0x34($sp)
/* 3EC54 80063854 8FBE0030 */ lw $fp, 0x30($sp)
/* 3EC58 80063858 8FB7002C */ lw $s7, 0x2c($sp)
/* 3EC5C 8006385C 8FB60028 */ lw $s6, 0x28($sp)
/* 3EC60 80063860 8FB50024 */ lw $s5, 0x24($sp)
/* 3EC64 80063864 8FB40020 */ lw $s4, 0x20($sp)
/* 3EC68 80063868 8FB3001C */ lw $s3, 0x1c($sp)
/* 3EC6C 8006386C 8FB20018 */ lw $s2, 0x18($sp)
/* 3EC70 80063870 8FB10014 */ lw $s1, 0x14($sp)
/* 3EC74 80063874 8FB00010 */ lw $s0, 0x10($sp)
/* 3EC78 80063878 D7BE0060 */ ldc1 $f30, 0x60($sp)
/* 3EC7C 8006387C D7BC0058 */ ldc1 $f28, 0x58($sp)
/* 3EC80 80063880 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 3EC84 80063884 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3EC88 80063888 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3EC8C 8006388C D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3EC90 80063890 03E00008 */ jr $ra
/* 3EC94 80063894 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osEPiLinkHandle
/* 3C2C0 80060EC0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3C2C4 80060EC4 AFB00010 */ sw $s0, 0x10($sp)
/* 3C2C8 80060EC8 AFBF0014 */ sw $ra, 0x14($sp)
/* 3C2CC 80060ECC 0C01ACD8 */ jal __osDisableInt
/* 3C2D0 80060ED0 00808021 */ addu $s0, $a0, $zero
/* 3C2D4 80060ED4 3C038009 */ lui $v1, %hi(__osPiTable)
/* 3C2D8 80060ED8 8C633D6C */ lw $v1, %lo(__osPiTable)($v1)
/* 3C2DC 80060EDC 00402021 */ addu $a0, $v0, $zero
/* 3C2E0 80060EE0 3C018009 */ lui $at, %hi(__osPiTable)
/* 3C2E4 80060EE4 AC303D6C */ sw $s0, %lo(__osPiTable)($at)
/* 3C2E8 80060EE8 0C01ACF4 */ jal __osRestoreInt
/* 3C2EC 80060EEC AE030000 */ sw $v1, ($s0)
/* 3C2F0 80060EF0 00001021 */ addu $v0, $zero, $zero
/* 3C2F4 80060EF4 8FBF0014 */ lw $ra, 0x14($sp)
/* 3C2F8 80060EF8 8FB00010 */ lw $s0, 0x10($sp)
/* 3C2FC 80060EFC 03E00008 */ jr $ra
/* 3C300 80060F00 27BD0018 */ addiu $sp, $sp, 0x18
/* 3C304 80060F04 00000000 */ nop
/* 3C308 80060F08 00000000 */ nop
/* 3C30C 80060F0C 00000000 */ nop

View File

@ -1,91 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osJamMesg
/* 409B0 800655B0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 409B4 800655B4 AFB00010 */ sw $s0, 0x10($sp)
/* 409B8 800655B8 00808021 */ addu $s0, $a0, $zero
/* 409BC 800655BC AFB50024 */ sw $s5, 0x24($sp)
/* 409C0 800655C0 00A0A821 */ addu $s5, $a1, $zero
/* 409C4 800655C4 AFB20018 */ sw $s2, 0x18($sp)
/* 409C8 800655C8 00C09021 */ addu $s2, $a2, $zero
/* 409CC 800655CC AFBF0028 */ sw $ra, 0x28($sp)
/* 409D0 800655D0 AFB40020 */ sw $s4, 0x20($sp)
/* 409D4 800655D4 AFB3001C */ sw $s3, 0x1c($sp)
/* 409D8 800655D8 0C01ACD8 */ jal __osDisableInt
/* 409DC 800655DC AFB10014 */ sw $s1, 0x14($sp)
/* 409E0 800655E0 8E030008 */ lw $v1, 8($s0)
/* 409E4 800655E4 8E040010 */ lw $a0, 0x10($s0)
/* 409E8 800655E8 0064182A */ slt $v1, $v1, $a0
/* 409EC 800655EC 14600012 */ bnez $v1, .L80065638
/* 409F0 800655F0 00408821 */ addu $s1, $v0, $zero
/* 409F4 800655F4 24140001 */ addiu $s4, $zero, 1
/* 409F8 800655F8 24130008 */ addiu $s3, $zero, 8
.L800655FC:
/* 409FC 800655FC 12540005 */ beq $s2, $s4, .L80065614
/* 40A00 80065600 26040004 */ addiu $a0, $s0, 4
/* 40A04 80065604 0C01ACF4 */ jal __osRestoreInt
/* 40A08 80065608 02202021 */ addu $a0, $s1, $zero
/* 40A0C 8006560C 080195B0 */ j .L800656C0
/* 40A10 80065610 2402FFFF */ addiu $v0, $zero, -1
.L80065614:
/* 40A14 80065614 3C028009 */ lui $v0, %hi(__osRunningThread)
/* 40A18 80065618 8C424660 */ lw $v0, %lo(__osRunningThread)($v0)
/* 40A1C 8006561C 0C01AC1B */ jal __osEnqueueAndYield
/* 40A20 80065620 A4530010 */ sh $s3, 0x10($v0)
/* 40A24 80065624 8E020008 */ lw $v0, 8($s0)
/* 40A28 80065628 8E030010 */ lw $v1, 0x10($s0)
/* 40A2C 8006562C 0043102A */ slt $v0, $v0, $v1
/* 40A30 80065630 1040FFF2 */ beqz $v0, .L800655FC
/* 40A34 80065634 00000000 */ nop
.L80065638:
/* 40A38 80065638 8E02000C */ lw $v0, 0xc($s0)
/* 40A3C 8006563C 8E030010 */ lw $v1, 0x10($s0)
/* 40A40 80065640 00431021 */ addu $v0, $v0, $v1
/* 40A44 80065644 2442FFFF */ addiu $v0, $v0, -1
/* 40A48 80065648 0043001A */ div $zero, $v0, $v1
/* 40A4C 8006564C 14600002 */ bnez $v1, .L80065658
/* 40A50 80065650 00000000 */ nop
/* 40A54 80065654 0007000D */ break 7
.L80065658:
/* 40A58 80065658 2401FFFF */ addiu $at, $zero, -1
/* 40A5C 8006565C 14610004 */ bne $v1, $at, .L80065670
/* 40A60 80065660 3C018000 */ lui $at, 0x8000
/* 40A64 80065664 14410002 */ bne $v0, $at, .L80065670
/* 40A68 80065668 00000000 */ nop
/* 40A6C 8006566C 0006000D */ break 6
.L80065670:
/* 40A70 80065670 00001810 */ mfhi $v1
/* 40A74 80065674 8E020014 */ lw $v0, 0x14($s0)
/* 40A78 80065678 AE03000C */ sw $v1, 0xc($s0)
/* 40A7C 8006567C 00031880 */ sll $v1, $v1, 2
/* 40A80 80065680 00621821 */ addu $v1, $v1, $v0
/* 40A84 80065684 AC750000 */ sw $s5, ($v1)
/* 40A88 80065688 8E020008 */ lw $v0, 8($s0)
/* 40A8C 8006568C 8E030000 */ lw $v1, ($s0)
/* 40A90 80065690 24420001 */ addiu $v0, $v0, 1
/* 40A94 80065694 AE020008 */ sw $v0, 8($s0)
/* 40A98 80065698 8C620000 */ lw $v0, ($v1)
/* 40A9C 8006569C 10400005 */ beqz $v0, .L800656B4
/* 40AA0 800656A0 00000000 */ nop
/* 40AA4 800656A4 0C01AC6F */ jal __osPopThread
/* 40AA8 800656A8 02002021 */ addu $a0, $s0, $zero
/* 40AAC 800656AC 0C019808 */ jal osStartThread
/* 40AB0 800656B0 00402021 */ addu $a0, $v0, $zero
.L800656B4:
/* 40AB4 800656B4 0C01ACF4 */ jal __osRestoreInt
/* 40AB8 800656B8 02202021 */ addu $a0, $s1, $zero
/* 40ABC 800656BC 00001021 */ addu $v0, $zero, $zero
.L800656C0:
/* 40AC0 800656C0 8FBF0028 */ lw $ra, 0x28($sp)
/* 40AC4 800656C4 8FB50024 */ lw $s5, 0x24($sp)
/* 40AC8 800656C8 8FB40020 */ lw $s4, 0x20($sp)
/* 40ACC 800656CC 8FB3001C */ lw $s3, 0x1c($sp)
/* 40AD0 800656D0 8FB20018 */ lw $s2, 0x18($sp)
/* 40AD4 800656D4 8FB10014 */ lw $s1, 0x14($sp)
/* 40AD8 800656D8 8FB00010 */ lw $s0, 0x10($sp)
/* 40ADC 800656DC 03E00008 */ jr $ra
/* 40AE0 800656E0 27BD0030 */ addiu $sp, $sp, 0x30
/* 40AE4 800656E4 00000000 */ nop
/* 40AE8 800656E8 00000000 */ nop
/* 40AEC 800656EC 00000000 */ nop

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osRecvMesg
/* 40AF0 800656F0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 40AF4 800656F4 AFB00010 */ sw $s0, 0x10($sp)
/* 40AF8 800656F8 00808021 */ addu $s0, $a0, $zero
/* 40AFC 800656FC AFB40020 */ sw $s4, 0x20($sp)
/* 40B00 80065700 00A0A021 */ addu $s4, $a1, $zero
/* 40B04 80065704 AFB10014 */ sw $s1, 0x14($sp)
/* 40B08 80065708 00C08821 */ addu $s1, $a2, $zero
/* 40B0C 8006570C AFBF0024 */ sw $ra, 0x24($sp)
/* 40B10 80065710 AFB3001C */ sw $s3, 0x1c($sp)
/* 40B14 80065714 0C01ACD8 */ jal __osDisableInt
/* 40B18 80065718 AFB20018 */ sw $s2, 0x18($sp)
/* 40B1C 8006571C 8E030008 */ lw $v1, 8($s0)
/* 40B20 80065720 1460000F */ bnez $v1, .L80065760
/* 40B24 80065724 00409021 */ addu $s2, $v0, $zero
/* 40B28 80065728 24130008 */ addiu $s3, $zero, 8
.L8006572C:
/* 40B2C 8006572C 16200005 */ bnez $s1, .L80065744
/* 40B30 80065730 02002021 */ addu $a0, $s0, $zero
/* 40B34 80065734 0C01ACF4 */ jal __osRestoreInt
/* 40B38 80065738 02402021 */ addu $a0, $s2, $zero
/* 40B3C 8006573C 080195FD */ j .L800657F4
/* 40B40 80065740 2402FFFF */ addiu $v0, $zero, -1
.L80065744:
/* 40B44 80065744 3C028009 */ lui $v0, %hi(__osRunningThread)
/* 40B48 80065748 8C424660 */ lw $v0, %lo(__osRunningThread)($v0)
/* 40B4C 8006574C 0C01AC1B */ jal __osEnqueueAndYield
/* 40B50 80065750 A4530010 */ sh $s3, 0x10($v0)
/* 40B54 80065754 8E020008 */ lw $v0, 8($s0)
/* 40B58 80065758 1040FFF4 */ beqz $v0, .L8006572C
/* 40B5C 8006575C 00000000 */ nop
.L80065760:
/* 40B60 80065760 12800007 */ beqz $s4, .L80065780
/* 40B64 80065764 00000000 */ nop
/* 40B68 80065768 8E02000C */ lw $v0, 0xc($s0)
/* 40B6C 8006576C 8E030014 */ lw $v1, 0x14($s0)
/* 40B70 80065770 00021080 */ sll $v0, $v0, 2
/* 40B74 80065774 00431021 */ addu $v0, $v0, $v1
/* 40B78 80065778 8C420000 */ lw $v0, ($v0)
/* 40B7C 8006577C AE820000 */ sw $v0, ($s4)
.L80065780:
/* 40B80 80065780 8E02000C */ lw $v0, 0xc($s0)
/* 40B84 80065784 8E030010 */ lw $v1, 0x10($s0)
/* 40B88 80065788 24420001 */ addiu $v0, $v0, 1
/* 40B8C 8006578C 0043001A */ div $zero, $v0, $v1
/* 40B90 80065790 14600002 */ bnez $v1, .L8006579C
/* 40B94 80065794 00000000 */ nop
/* 40B98 80065798 0007000D */ break 7
.L8006579C:
/* 40B9C 8006579C 2401FFFF */ addiu $at, $zero, -1
/* 40BA0 800657A0 14610004 */ bne $v1, $at, .L800657B4
/* 40BA4 800657A4 3C018000 */ lui $at, 0x8000
/* 40BA8 800657A8 14410002 */ bne $v0, $at, .L800657B4
/* 40BAC 800657AC 00000000 */ nop
/* 40BB0 800657B0 0006000D */ break 6
.L800657B4:
/* 40BB4 800657B4 00002010 */ mfhi $a0
/* 40BB8 800657B8 8E020008 */ lw $v0, 8($s0)
/* 40BBC 800657BC 8E030004 */ lw $v1, 4($s0)
/* 40BC0 800657C0 2442FFFF */ addiu $v0, $v0, -1
/* 40BC4 800657C4 AE020008 */ sw $v0, 8($s0)
/* 40BC8 800657C8 AE04000C */ sw $a0, 0xc($s0)
/* 40BCC 800657CC 8C620000 */ lw $v0, ($v1)
/* 40BD0 800657D0 10400005 */ beqz $v0, .L800657E8
/* 40BD4 800657D4 00000000 */ nop
/* 40BD8 800657D8 0C01AC6F */ jal __osPopThread
/* 40BDC 800657DC 26040004 */ addiu $a0, $s0, 4
/* 40BE0 800657E0 0C019808 */ jal osStartThread
/* 40BE4 800657E4 00402021 */ addu $a0, $v0, $zero
.L800657E8:
/* 40BE8 800657E8 0C01ACF4 */ jal __osRestoreInt
/* 40BEC 800657EC 02402021 */ addu $a0, $s2, $zero
/* 40BF0 800657F0 00001021 */ addu $v0, $zero, $zero
.L800657F4:
/* 40BF4 800657F4 8FBF0024 */ lw $ra, 0x24($sp)
/* 40BF8 800657F8 8FB40020 */ lw $s4, 0x20($sp)
/* 40BFC 800657FC 8FB3001C */ lw $s3, 0x1c($sp)
/* 40C00 80065800 8FB20018 */ lw $s2, 0x18($sp)
/* 40C04 80065804 8FB10014 */ lw $s1, 0x14($sp)
/* 40C08 80065808 8FB00010 */ lw $s0, 0x10($sp)
/* 40C0C 8006580C 03E00008 */ jr $ra
/* 40C10 80065810 27BD0028 */ addiu $sp, $sp, 0x28
/* 40C14 80065814 00000000 */ nop
/* 40C18 80065818 00000000 */ nop
/* 40C1C 8006581C 00000000 */ nop

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osVirtualToPhysical
/* 3D290 80061E90 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3D294 80061E94 3C031FFF */ lui $v1, 0x1fff
/* 3D298 80061E98 3463FFFF */ ori $v1, $v1, 0xffff
/* 3D29C 80061E9C 3C028000 */ lui $v0, 0x8000
/* 3D2A0 80061EA0 00821023 */ subu $v0, $a0, $v0
/* 3D2A4 80061EA4 0062102B */ sltu $v0, $v1, $v0
/* 3D2A8 80061EA8 1040000A */ beqz $v0, .L80061ED4
/* 3D2AC 80061EAC AFBF0010 */ sw $ra, 0x10($sp)
/* 3D2B0 80061EB0 3C026000 */ lui $v0, 0x6000
/* 3D2B4 80061EB4 00821021 */ addu $v0, $a0, $v0
/* 3D2B8 80061EB8 0062102B */ sltu $v0, $v1, $v0
/* 3D2BC 80061EBC 10400006 */ beqz $v0, .L80061ED8
/* 3D2C0 80061EC0 00831024 */ and $v0, $a0, $v1
/* 3D2C4 80061EC4 0C019A18 */ jal __osProbeTLB
/* 3D2C8 80061EC8 00000000 */ nop
/* 3D2CC 80061ECC 080187B6 */ j .L80061ED8
/* 3D2D0 80061ED0 00000000 */ nop
.L80061ED4:
/* 3D2D4 80061ED4 00831024 */ and $v0, $a0, $v1
.L80061ED8:
/* 3D2D8 80061ED8 8FBF0010 */ lw $ra, 0x10($sp)
/* 3D2DC 80061EDC 03E00008 */ jr $ra
/* 3D2E0 80061EE0 27BD0018 */ addiu $sp, $sp, 0x18
/* 3D2E4 80061EE4 00000000 */ nop
/* 3D2E8 80061EE8 00000000 */ nop
/* 3D2EC 80061EEC 00000000 */ nop

View File

@ -1,142 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80099BD0
.double 0.017453292222222222
dlabel D_80099BD8
.double 2.0
dlabel D_80099BE0
.double 131072.0
dlabel D_80099BE8
.double 2147483648.0
.section .text
glabel guPerspective
/* 3F140 80063D40 27BDFF78 */ addiu $sp, $sp, -0x88
/* 3F144 80063D44 F7B80070 */ sdc1 $f24, 0x70($sp)
/* 3F148 80063D48 C7B80098 */ lwc1 $f24, 0x98($sp)
/* 3F14C 80063D4C F7BA0078 */ sdc1 $f26, 0x78($sp)
/* 3F150 80063D50 C7BA009C */ lwc1 $f26, 0x9c($sp)
/* 3F154 80063D54 F7BC0080 */ sdc1 $f28, 0x80($sp)
/* 3F158 80063D58 C7BC00A0 */ lwc1 $f28, 0xa0($sp)
/* 3F15C 80063D5C F7B40060 */ sdc1 $f20, 0x60($sp)
/* 3F160 80063D60 4486A000 */ mtc1 $a2, $f20
/* 3F164 80063D64 AFB20058 */ sw $s2, 0x58($sp)
/* 3F168 80063D68 00809021 */ addu $s2, $a0, $zero
/* 3F16C 80063D6C AFB10054 */ sw $s1, 0x54($sp)
/* 3F170 80063D70 00A08821 */ addu $s1, $a1, $zero
/* 3F174 80063D74 AFB00050 */ sw $s0, 0x50($sp)
/* 3F178 80063D78 27B00010 */ addiu $s0, $sp, 0x10
/* 3F17C 80063D7C F7B60068 */ sdc1 $f22, 0x68($sp)
/* 3F180 80063D80 4487B000 */ mtc1 $a3, $f22
/* 3F184 80063D84 AFBF005C */ sw $ra, 0x5c($sp)
/* 3F188 80063D88 0C019D28 */ jal guMtxIdentF
/* 3F18C 80063D8C 02002021 */ addu $a0, $s0, $zero
/* 3F190 80063D90 3C01800A */ lui $at, %hi(D_80099BD0)
/* 3F194 80063D94 D4209BD0 */ ldc1 $f0, %lo(D_80099BD0)($at)
/* 3F198 80063D98 4600A521 */ cvt.d.s $f20, $f20
/* 3F19C 80063D9C 4620A502 */ mul.d $f20, $f20, $f0
/* 3F1A0 80063DA0 3C014000 */ lui $at, 0x4000
/* 3F1A4 80063DA4 44810000 */ mtc1 $at, $f0
/* 3F1A8 80063DA8 4620A520 */ cvt.s.d $f20, $f20
/* 3F1AC 80063DAC 4600A503 */ div.s $f20, $f20, $f0
/* 3F1B0 80063DB0 0C00A874 */ jal cos_rad
/* 3F1B4 80063DB4 4600A306 */ mov.s $f12, $f20
/* 3F1B8 80063DB8 4600A306 */ mov.s $f12, $f20
/* 3F1BC 80063DBC 0C00A85B */ jal sin_rad
/* 3F1C0 80063DC0 46000506 */ mov.s $f20, $f0
/* 3F1C4 80063DC4 4600A503 */ div.s $f20, $f20, $f0
/* 3F1C8 80063DC8 461AC100 */ add.s $f4, $f24, $f26
/* 3F1CC 80063DCC 461AC081 */ sub.s $f2, $f24, $f26
/* 3F1D0 80063DD0 46022103 */ div.s $f4, $f4, $f2
/* 3F1D4 80063DD4 4618C000 */ add.s $f0, $f24, $f24
/* 3F1D8 80063DD8 461A0002 */ mul.s $f0, $f0, $f26
/* 3F1DC 80063DDC 46020003 */ div.s $f0, $f0, $f2
/* 3F1E0 80063DE0 4616A583 */ div.s $f22, $f20, $f22
/* 3F1E4 80063DE4 3C01BF80 */ lui $at, 0xbf80
/* 3F1E8 80063DE8 44811000 */ mtc1 $at, $f2
/* 3F1EC 80063DEC 00002821 */ addu $a1, $zero, $zero
/* 3F1F0 80063DF0 AFA0004C */ sw $zero, 0x4c($sp)
/* 3F1F4 80063DF4 E7A2003C */ swc1 $f2, 0x3c($sp)
/* 3F1F8 80063DF8 E7B40024 */ swc1 $f20, 0x24($sp)
/* 3F1FC 80063DFC E7A40038 */ swc1 $f4, 0x38($sp)
/* 3F200 80063E00 E7A00048 */ swc1 $f0, 0x48($sp)
/* 3F204 80063E04 E7B60010 */ swc1 $f22, 0x10($sp)
.L80063E08:
/* 3F208 80063E08 00002021 */ addu $a0, $zero, $zero
/* 3F20C 80063E0C 02001821 */ addu $v1, $s0, $zero
.L80063E10:
/* 3F210 80063E10 C4600000 */ lwc1 $f0, ($v1)
/* 3F214 80063E14 461C0002 */ mul.s $f0, $f0, $f28
/* 3F218 80063E18 24840001 */ addiu $a0, $a0, 1
/* 3F21C 80063E1C 28820004 */ slti $v0, $a0, 4
/* 3F220 80063E20 E4600000 */ swc1 $f0, ($v1)
/* 3F224 80063E24 1440FFFA */ bnez $v0, .L80063E10
/* 3F228 80063E28 24630004 */ addiu $v1, $v1, 4
/* 3F22C 80063E2C 24A50001 */ addiu $a1, $a1, 1
/* 3F230 80063E30 28A20004 */ slti $v0, $a1, 4
/* 3F234 80063E34 1440FFF4 */ bnez $v0, .L80063E08
/* 3F238 80063E38 26100010 */ addiu $s0, $s0, 0x10
/* 3F23C 80063E3C 52200025 */ beql $s1, $zero, .L80063ED4
/* 3F240 80063E40 27A40010 */ addiu $a0, $sp, 0x10
/* 3F244 80063E44 461AC080 */ add.s $f2, $f24, $f26
/* 3F248 80063E48 3C01800A */ lui $at, %hi(D_80099BD8)
/* 3F24C 80063E4C D4209BD8 */ ldc1 $f0, %lo(D_80099BD8)($at)
/* 3F250 80063E50 460010A1 */ cvt.d.s $f2, $f2
/* 3F254 80063E54 4620103E */ c.le.d $f2, $f0
/* 3F258 80063E58 00000000 */ nop
/* 3F25C 80063E5C 00000000 */ nop
/* 3F260 80063E60 4501001A */ bc1t .L80063ECC
/* 3F264 80063E64 3402FFFF */ ori $v0, $zero, 0xffff
/* 3F268 80063E68 3C01800A */ lui $at, %hi(D_80099BE0)
/* 3F26C 80063E6C D4209BE0 */ ldc1 $f0, %lo(D_80099BE0)($at)
/* 3F270 80063E70 46220083 */ div.d $f2, $f0, $f2
/* 3F274 80063E74 3C01800A */ lui $at, %hi(D_80099BE8)
/* 3F278 80063E78 D4209BE8 */ ldc1 $f0, %lo(D_80099BE8)($at)
/* 3F27C 80063E7C 4622003E */ c.le.d $f0, $f2
/* 3F280 80063E80 00000000 */ nop
/* 3F284 80063E84 00000000 */ nop
/* 3F288 80063E88 45030006 */ bc1tl .L80063EA4
/* 3F28C 80063E8C 46201001 */ sub.d $f0, $f2, $f0
/* 3F290 80063E90 4620100D */ trunc.w.d $f0, $f2
/* 3F294 80063E94 44030000 */ mfc1 $v1, $f0
/* 3F298 80063E98 00000000 */ nop
/* 3F29C 80063E9C 08018FAE */ j .L80063EB8
/* 3F2A0 80063EA0 00601021 */ addu $v0, $v1, $zero
.L80063EA4:
/* 3F2A4 80063EA4 4620008D */ trunc.w.d $f2, $f0
/* 3F2A8 80063EA8 44031000 */ mfc1 $v1, $f2
/* 3F2AC 80063EAC 3C028000 */ lui $v0, 0x8000
/* 3F2B0 80063EB0 00621825 */ or $v1, $v1, $v0
/* 3F2B4 80063EB4 00601021 */ addu $v0, $v1, $zero
.L80063EB8:
/* 3F2B8 80063EB8 A6220000 */ sh $v0, ($s1)
/* 3F2BC 80063EBC 3042FFFF */ andi $v0, $v0, 0xffff
/* 3F2C0 80063EC0 14400004 */ bnez $v0, .L80063ED4
/* 3F2C4 80063EC4 27A40010 */ addiu $a0, $sp, 0x10
/* 3F2C8 80063EC8 24020001 */ addiu $v0, $zero, 1
.L80063ECC:
/* 3F2CC 80063ECC A6220000 */ sh $v0, ($s1)
/* 3F2D0 80063ED0 27A40010 */ addiu $a0, $sp, 0x10
.L80063ED4:
/* 3F2D4 80063ED4 0C019D40 */ jal guMtxF2L
/* 3F2D8 80063ED8 02402821 */ addu $a1, $s2, $zero
/* 3F2DC 80063EDC 8FBF005C */ lw $ra, 0x5c($sp)
/* 3F2E0 80063EE0 8FB20058 */ lw $s2, 0x58($sp)
/* 3F2E4 80063EE4 8FB10054 */ lw $s1, 0x54($sp)
/* 3F2E8 80063EE8 8FB00050 */ lw $s0, 0x50($sp)
/* 3F2EC 80063EEC D7BC0080 */ ldc1 $f28, 0x80($sp)
/* 3F2F0 80063EF0 D7BA0078 */ ldc1 $f26, 0x78($sp)
/* 3F2F4 80063EF4 D7B80070 */ ldc1 $f24, 0x70($sp)
/* 3F2F8 80063EF8 D7B60068 */ ldc1 $f22, 0x68($sp)
/* 3F2FC 80063EFC D7B40060 */ ldc1 $f20, 0x60($sp)
/* 3F300 80063F00 03E00008 */ jr $ra
/* 3F304 80063F04 27BD0088 */ addiu $sp, $sp, 0x88
/* 3F308 80063F08 00000000 */ nop
/* 3F30C 80063F0C 00000000 */ nop

View File

@ -1,134 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80099BB0
.double 0.017453292222222222
dlabel D_80099BB8
.double 2.0
dlabel D_80099BC0
.double 131072.0
dlabel D_80099BC8
.double 2147483648.0
.section .text
glabel guPerspectiveF
/* 3EF90 80063B90 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3EF94 80063B94 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 3EF98 80063B98 C7BA0060 */ lwc1 $f26, 0x60($sp)
/* 3EF9C 80063B9C F7BC0040 */ sdc1 $f28, 0x40($sp)
/* 3EFA0 80063BA0 C7BC0064 */ lwc1 $f28, 0x64($sp)
/* 3EFA4 80063BA4 F7BE0048 */ sdc1 $f30, 0x48($sp)
/* 3EFA8 80063BA8 C7BE0068 */ lwc1 $f30, 0x68($sp)
/* 3EFAC 80063BAC F7B80030 */ sdc1 $f24, 0x30($sp)
/* 3EFB0 80063BB0 4486C000 */ mtc1 $a2, $f24
/* 3EFB4 80063BB4 AFB00010 */ sw $s0, 0x10($sp)
/* 3EFB8 80063BB8 00808021 */ addu $s0, $a0, $zero
/* 3EFBC 80063BBC AFB10014 */ sw $s1, 0x14($sp)
/* 3EFC0 80063BC0 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 3EFC4 80063BC4 4487B000 */ mtc1 $a3, $f22
/* 3EFC8 80063BC8 AFBF0018 */ sw $ra, 0x18($sp)
/* 3EFCC 80063BCC F7B40020 */ sdc1 $f20, 0x20($sp)
/* 3EFD0 80063BD0 0C019D28 */ jal guMtxIdentF
/* 3EFD4 80063BD4 00A08821 */ addu $s1, $a1, $zero
/* 3EFD8 80063BD8 3C01800A */ lui $at, %hi(D_80099BB0)
/* 3EFDC 80063BDC D4229BB0 */ ldc1 $f2, %lo(D_80099BB0)($at)
/* 3EFE0 80063BE0 4600C021 */ cvt.d.s $f0, $f24
/* 3EFE4 80063BE4 46220002 */ mul.d $f0, $f0, $f2
/* 3EFE8 80063BE8 3C014000 */ lui $at, 0x4000
/* 3EFEC 80063BEC 4481A000 */ mtc1 $at, $f20
/* 3EFF0 80063BF0 46200620 */ cvt.s.d $f24, $f0
/* 3EFF4 80063BF4 4614C503 */ div.s $f20, $f24, $f20
/* 3EFF8 80063BF8 0C00A874 */ jal cos_rad
/* 3EFFC 80063BFC 4600A306 */ mov.s $f12, $f20
/* 3F000 80063C00 4600A306 */ mov.s $f12, $f20
/* 3F004 80063C04 0C00A85B */ jal sin_rad
/* 3F008 80063C08 46000506 */ mov.s $f20, $f0
/* 3F00C 80063C0C 4600A503 */ div.s $f20, $f20, $f0
/* 3F010 80063C10 461CD100 */ add.s $f4, $f26, $f28
/* 3F014 80063C14 461CD081 */ sub.s $f2, $f26, $f28
/* 3F018 80063C18 46022103 */ div.s $f4, $f4, $f2
/* 3F01C 80063C1C 461AD000 */ add.s $f0, $f26, $f26
/* 3F020 80063C20 461C0002 */ mul.s $f0, $f0, $f28
/* 3F024 80063C24 46020003 */ div.s $f0, $f0, $f2
/* 3F028 80063C28 4616A583 */ div.s $f22, $f20, $f22
/* 3F02C 80063C2C 3C01BF80 */ lui $at, 0xbf80
/* 3F030 80063C30 44811000 */ mtc1 $at, $f2
/* 3F034 80063C34 00002821 */ addu $a1, $zero, $zero
/* 3F038 80063C38 AE00003C */ sw $zero, 0x3c($s0)
/* 3F03C 80063C3C E602002C */ swc1 $f2, 0x2c($s0)
/* 3F040 80063C40 E6140014 */ swc1 $f20, 0x14($s0)
/* 3F044 80063C44 E6040028 */ swc1 $f4, 0x28($s0)
/* 3F048 80063C48 E6000038 */ swc1 $f0, 0x38($s0)
/* 3F04C 80063C4C E6160000 */ swc1 $f22, ($s0)
.L80063C50:
/* 3F050 80063C50 00002021 */ addu $a0, $zero, $zero
/* 3F054 80063C54 02001821 */ addu $v1, $s0, $zero
.L80063C58:
/* 3F058 80063C58 C4600000 */ lwc1 $f0, ($v1)
/* 3F05C 80063C5C 461E0002 */ mul.s $f0, $f0, $f30
/* 3F060 80063C60 24840001 */ addiu $a0, $a0, 1
/* 3F064 80063C64 28820004 */ slti $v0, $a0, 4
/* 3F068 80063C68 E4600000 */ swc1 $f0, ($v1)
/* 3F06C 80063C6C 1440FFFA */ bnez $v0, .L80063C58
/* 3F070 80063C70 24630004 */ addiu $v1, $v1, 4
/* 3F074 80063C74 24A50001 */ addiu $a1, $a1, 1
/* 3F078 80063C78 28A20004 */ slti $v0, $a1, 4
/* 3F07C 80063C7C 1440FFF4 */ bnez $v0, .L80063C50
/* 3F080 80063C80 26100010 */ addiu $s0, $s0, 0x10
/* 3F084 80063C84 12200023 */ beqz $s1, .L80063D14
/* 3F088 80063C88 00000000 */ nop
/* 3F08C 80063C8C 461CD080 */ add.s $f2, $f26, $f28
/* 3F090 80063C90 3C01800A */ lui $at, %hi(D_80099BB8)
/* 3F094 80063C94 D4209BB8 */ ldc1 $f0, %lo(D_80099BB8)($at)
/* 3F098 80063C98 460010A1 */ cvt.d.s $f2, $f2
/* 3F09C 80063C9C 4620103E */ c.le.d $f2, $f0
/* 3F0A0 80063CA0 00000000 */ nop
/* 3F0A4 80063CA4 00000000 */ nop
/* 3F0A8 80063CA8 45010019 */ bc1t .L80063D10
/* 3F0AC 80063CAC 3402FFFF */ ori $v0, $zero, 0xffff
/* 3F0B0 80063CB0 3C01800A */ lui $at, %hi(D_80099BC0)
/* 3F0B4 80063CB4 D4209BC0 */ ldc1 $f0, %lo(D_80099BC0)($at)
/* 3F0B8 80063CB8 46220083 */ div.d $f2, $f0, $f2
/* 3F0BC 80063CBC 3C01800A */ lui $at, %hi(D_80099BC8)
/* 3F0C0 80063CC0 D4209BC8 */ ldc1 $f0, %lo(D_80099BC8)($at)
/* 3F0C4 80063CC4 4622003E */ c.le.d $f0, $f2
/* 3F0C8 80063CC8 00000000 */ nop
/* 3F0CC 80063CCC 00000000 */ nop
/* 3F0D0 80063CD0 45030006 */ bc1tl .L80063CEC
/* 3F0D4 80063CD4 46201001 */ sub.d $f0, $f2, $f0
/* 3F0D8 80063CD8 4620100D */ trunc.w.d $f0, $f2
/* 3F0DC 80063CDC 44030000 */ mfc1 $v1, $f0
/* 3F0E0 80063CE0 00000000 */ nop
/* 3F0E4 80063CE4 08018F40 */ j .L80063D00
/* 3F0E8 80063CE8 00601021 */ addu $v0, $v1, $zero
.L80063CEC:
/* 3F0EC 80063CEC 4620008D */ trunc.w.d $f2, $f0
/* 3F0F0 80063CF0 44031000 */ mfc1 $v1, $f2
/* 3F0F4 80063CF4 3C028000 */ lui $v0, 0x8000
/* 3F0F8 80063CF8 00621825 */ or $v1, $v1, $v0
/* 3F0FC 80063CFC 00601021 */ addu $v0, $v1, $zero
.L80063D00:
/* 3F100 80063D00 A6220000 */ sh $v0, ($s1)
/* 3F104 80063D04 3042FFFF */ andi $v0, $v0, 0xffff
/* 3F108 80063D08 14400002 */ bnez $v0, .L80063D14
/* 3F10C 80063D0C 24020001 */ addiu $v0, $zero, 1
.L80063D10:
/* 3F110 80063D10 A6220000 */ sh $v0, ($s1)
.L80063D14:
/* 3F114 80063D14 8FBF0018 */ lw $ra, 0x18($sp)
/* 3F118 80063D18 8FB10014 */ lw $s1, 0x14($sp)
/* 3F11C 80063D1C 8FB00010 */ lw $s0, 0x10($sp)
/* 3F120 80063D20 D7BE0048 */ ldc1 $f30, 0x48($sp)
/* 3F124 80063D24 D7BC0040 */ ldc1 $f28, 0x40($sp)
/* 3F128 80063D28 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 3F12C 80063D2C D7B80030 */ ldc1 $f24, 0x30($sp)
/* 3F130 80063D30 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 3F134 80063D34 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 3F138 80063D38 03E00008 */ jr $ra
/* 3F13C 80063D3C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guPosition
/* 3F4E8 800640E8 3C018009 */ lui $at, %hi(dtor)
/* 3F4EC 800640EC C4203DC0 */ lwc1 $f0, %lo(dtor)($at)
/* 3F4F0 800640F0 44859000 */ mtc1 $a1, $f18
/* 3F4F4 800640F4 27BDFF70 */ addiu $sp, $sp, -0x90
/* 3F4F8 800640F8 F7B40060 */ sdc1 $f20, 0x60($sp)
/* 3F4FC 800640FC 46009502 */ mul.s $f20, $f18, $f0
/* 3F500 80064100 44869000 */ mtc1 $a2, $f18
/* 3F504 80064104 F7BA0078 */ sdc1 $f26, 0x78($sp)
/* 3F508 80064108 F7B80070 */ sdc1 $f24, 0x70($sp)
/* 3F50C 8006410C 46009682 */ mul.s $f26, $f18, $f0
/* 3F510 80064110 C7B800A0 */ lwc1 $f24, 0xa0($sp)
/* 3F514 80064114 AFB10054 */ sw $s1, 0x54($sp)
/* 3F518 80064118 44879000 */ mtc1 $a3, $f18
/* 3F51C 8006411C 00808821 */ addu $s1, $a0, $zero
/* 3F520 80064120 46009482 */ mul.s $f18, $f18, $f0
/* 3F524 80064124 AFBF0058 */ sw $ra, 0x58($sp)
/* 3F528 80064128 AFB00050 */ sw $s0, 0x50($sp)
/* 3F52C 8006412C F7BE0088 */ sdc1 $f30, 0x88($sp)
/* 3F530 80064130 F7BC0080 */ sdc1 $f28, 0x80($sp)
/* 3F534 80064134 F7B60068 */ sdc1 $f22, 0x68($sp)
/* 3F538 80064138 44109000 */ mfc1 $s0, $f18
/* 3F53C 8006413C 00000000 */ nop
/* 3F540 80064140 0C00A85B */ jal sin_rad
/* 3F544 80064144 4600A306 */ mov.s $f12, $f20
/* 3F548 80064148 4600A306 */ mov.s $f12, $f20
/* 3F54C 8006414C 0C00A874 */ jal cos_rad
/* 3F550 80064150 46000786 */ mov.s $f30, $f0
/* 3F554 80064154 4600D306 */ mov.s $f12, $f26
/* 3F558 80064158 0C00A85B */ jal sin_rad
/* 3F55C 8006415C 46000586 */ mov.s $f22, $f0
/* 3F560 80064160 4600D306 */ mov.s $f12, $f26
/* 3F564 80064164 0C00A874 */ jal cos_rad
/* 3F568 80064168 46000506 */ mov.s $f20, $f0
/* 3F56C 8006416C 44906000 */ mtc1 $s0, $f12
/* 3F570 80064170 00000000 */ nop
/* 3F574 80064174 0C00A85B */ jal sin_rad
/* 3F578 80064178 46000706 */ mov.s $f28, $f0
/* 3F57C 8006417C 44906000 */ mtc1 $s0, $f12
/* 3F580 80064180 00000000 */ nop
/* 3F584 80064184 0C00A874 */ jal cos_rad
/* 3F588 80064188 46000686 */ mov.s $f26, $f0
/* 3F58C 8006418C 00000000 */ nop
/* 3F590 80064190 4600E382 */ mul.s $f14, $f28, $f0
/* 3F594 80064194 00000000 */ nop
/* 3F598 80064198 461AE402 */ mul.s $f16, $f28, $f26
/* 3F59C 8006419C 00000000 */ nop
/* 3F5A0 800641A0 4614F102 */ mul.s $f4, $f30, $f20
/* 3F5A4 800641A4 00000000 */ nop
/* 3F5A8 800641A8 461AB082 */ mul.s $f2, $f22, $f26
/* 3F5AC 800641AC 00000000 */ nop
/* 3F5B0 800641B0 4600B182 */ mul.s $f6, $f22, $f0
/* 3F5B4 800641B4 4600A307 */ neg.s $f12, $f20
/* 3F5B8 800641B8 4614B502 */ mul.s $f20, $f22, $f20
/* 3F5BC 800641BC 00000000 */ nop
/* 3F5C0 800641C0 461CF282 */ mul.s $f10, $f30, $f28
/* 3F5C4 800641C4 00000000 */ nop
/* 3F5C8 800641C8 461CB582 */ mul.s $f22, $f22, $f28
/* 3F5CC 800641CC 00000000 */ nop
/* 3F5D0 800641D0 46186302 */ mul.s $f12, $f12, $f24
/* 3F5D4 800641D4 00000000 */ nop
/* 3F5D8 800641D8 46187382 */ mul.s $f14, $f14, $f24
/* 3F5DC 800641DC 00000000 */ nop
/* 3F5E0 800641E0 46188402 */ mul.s $f16, $f16, $f24
/* 3F5E4 800641E4 00000000 */ nop
/* 3F5E8 800641E8 46002202 */ mul.s $f8, $f4, $f0
/* 3F5EC 800641EC 00000000 */ nop
/* 3F5F0 800641F0 461A2102 */ mul.s $f4, $f4, $f26
/* 3F5F4 800641F4 00000000 */ nop
/* 3F5F8 800641F8 46185282 */ mul.s $f10, $f10, $f24
/* 3F5FC 800641FC 00000000 */ nop
/* 3F600 80064200 4618B582 */ mul.s $f22, $f22, $f24
/* 3F604 80064204 46062100 */ add.s $f4, $f4, $f6
/* 3F608 80064208 4600A182 */ mul.s $f6, $f20, $f0
/* 3F60C 8006420C 46024201 */ sub.s $f8, $f8, $f2
/* 3F610 80064210 461AF082 */ mul.s $f2, $f30, $f26
/* 3F614 80064214 00000000 */ nop
/* 3F618 80064218 461AA502 */ mul.s $f20, $f20, $f26
/* 3F61C 8006421C 00000000 */ nop
/* 3F620 80064220 4600F782 */ mul.s $f30, $f30, $f0
/* 3F624 80064224 C7B200A4 */ lwc1 $f18, 0xa4($sp)
/* 3F628 80064228 46184202 */ mul.s $f8, $f8, $f24
/* 3F62C 8006422C E7B20040 */ swc1 $f18, 0x40($sp)
/* 3F630 80064230 C7B200A8 */ lwc1 $f18, 0xa8($sp)
/* 3F634 80064234 27A40010 */ addiu $a0, $sp, 0x10
/* 3F638 80064238 E7B20044 */ swc1 $f18, 0x44($sp)
/* 3F63C 8006423C 46182102 */ mul.s $f4, $f4, $f24
/* 3F640 80064240 C7B200AC */ lwc1 $f18, 0xac($sp)
/* 3F644 80064244 3C013F80 */ lui $at, 0x3f80
/* 3F648 80064248 44810000 */ mtc1 $at, $f0
/* 3F64C 8006424C 46023180 */ add.s $f6, $f6, $f2
/* 3F650 80064250 02202821 */ addu $a1, $s1, $zero
/* 3F654 80064254 AFA0001C */ sw $zero, 0x1c($sp)
/* 3F658 80064258 AFA0002C */ sw $zero, 0x2c($sp)
/* 3F65C 8006425C 46183182 */ mul.s $f6, $f6, $f24
/* 3F660 80064260 AFA0003C */ sw $zero, 0x3c($sp)
/* 3F664 80064264 E7B20048 */ swc1 $f18, 0x48($sp)
/* 3F668 80064268 461EA501 */ sub.s $f20, $f20, $f30
/* 3F66C 8006426C E7AC0018 */ swc1 $f12, 0x18($sp)
/* 3F670 80064270 E7AE0010 */ swc1 $f14, 0x10($sp)
/* 3F674 80064274 E7B00014 */ swc1 $f16, 0x14($sp)
/* 3F678 80064278 4618A502 */ mul.s $f20, $f20, $f24
/* 3F67C 8006427C E7AA0028 */ swc1 $f10, 0x28($sp)
/* 3F680 80064280 E7B60038 */ swc1 $f22, 0x38($sp)
/* 3F684 80064284 E7A0004C */ swc1 $f0, 0x4c($sp)
/* 3F688 80064288 E7A80020 */ swc1 $f8, 0x20($sp)
/* 3F68C 8006428C E7A40024 */ swc1 $f4, 0x24($sp)
/* 3F690 80064290 E7A60030 */ swc1 $f6, 0x30($sp)
/* 3F694 80064294 0C019D40 */ jal guMtxF2L
/* 3F698 80064298 E7B40034 */ swc1 $f20, 0x34($sp)
/* 3F69C 8006429C 8FBF0058 */ lw $ra, 0x58($sp)
/* 3F6A0 800642A0 8FB10054 */ lw $s1, 0x54($sp)
/* 3F6A4 800642A4 8FB00050 */ lw $s0, 0x50($sp)
/* 3F6A8 800642A8 D7BE0088 */ ldc1 $f30, 0x88($sp)
/* 3F6AC 800642AC D7BC0080 */ ldc1 $f28, 0x80($sp)
/* 3F6B0 800642B0 D7BA0078 */ ldc1 $f26, 0x78($sp)
/* 3F6B4 800642B4 D7B80070 */ ldc1 $f24, 0x70($sp)
/* 3F6B8 800642B8 D7B60068 */ ldc1 $f22, 0x68($sp)
/* 3F6BC 800642BC D7B40060 */ ldc1 $f20, 0x60($sp)
/* 3F6C0 800642C0 03E00008 */ jr $ra
/* 3F6C4 800642C4 27BD0090 */ addiu $sp, $sp, 0x90
/* 3F6C8 800642C8 00000000 */ nop
/* 3F6CC 800642CC 00000000 */ nop

View File

@ -1,122 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guPositionF
/* 3F310 80063F10 3C018009 */ lui $at, %hi(dtor)
/* 3F314 80063F14 C4203DC0 */ lwc1 $f0, %lo(dtor)($at)
/* 3F318 80063F18 44859000 */ mtc1 $a1, $f18
/* 3F31C 80063F1C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3F320 80063F20 F7BC0040 */ sdc1 $f28, 0x40($sp)
/* 3F324 80063F24 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 3F328 80063F28 46009502 */ mul.s $f20, $f18, $f0
/* 3F32C 80063F2C C7BC0060 */ lwc1 $f28, 0x60($sp)
/* 3F330 80063F30 44869000 */ mtc1 $a2, $f18
/* 3F334 80063F34 AFB00010 */ sw $s0, 0x10($sp)
/* 3F338 80063F38 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 3F33C 80063F3C 46009582 */ mul.s $f22, $f18, $f0
/* 3F340 80063F40 44879000 */ mtc1 $a3, $f18
/* 3F344 80063F44 00808021 */ addu $s0, $a0, $zero
/* 3F348 80063F48 AFBF0018 */ sw $ra, 0x18($sp)
/* 3F34C 80063F4C AFB10014 */ sw $s1, 0x14($sp)
/* 3F350 80063F50 F7BE0048 */ sdc1 $f30, 0x48($sp)
/* 3F354 80063F54 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 3F358 80063F58 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 3F35C 80063F5C 46009602 */ mul.s $f24, $f18, $f0
/* 3F360 80063F60 0C00A85B */ jal sin_rad
/* 3F364 80063F64 4600A306 */ mov.s $f12, $f20
/* 3F368 80063F68 44110000 */ mfc1 $s1, $f0
/* 3F36C 80063F6C 00000000 */ nop
/* 3F370 80063F70 0C00A874 */ jal cos_rad
/* 3F374 80063F74 4600A306 */ mov.s $f12, $f20
/* 3F378 80063F78 46000686 */ mov.s $f26, $f0
/* 3F37C 80063F7C 0C00A85B */ jal sin_rad
/* 3F380 80063F80 4600B306 */ mov.s $f12, $f22
/* 3F384 80063F84 4600B306 */ mov.s $f12, $f22
/* 3F388 80063F88 0C00A874 */ jal cos_rad
/* 3F38C 80063F8C 46000506 */ mov.s $f20, $f0
/* 3F390 80063F90 46000786 */ mov.s $f30, $f0
/* 3F394 80063F94 0C00A85B */ jal sin_rad
/* 3F398 80063F98 4600C306 */ mov.s $f12, $f24
/* 3F39C 80063F9C 4600C306 */ mov.s $f12, $f24
/* 3F3A0 80063FA0 0C00A874 */ jal cos_rad
/* 3F3A4 80063FA4 46000586 */ mov.s $f22, $f0
/* 3F3A8 80063FA8 00000000 */ nop
/* 3F3AC 80063FAC 4600F382 */ mul.s $f14, $f30, $f0
/* 3F3B0 80063FB0 00000000 */ nop
/* 3F3B4 80063FB4 4616F402 */ mul.s $f16, $f30, $f22
/* 3F3B8 80063FB8 00000000 */ nop
/* 3F3BC 80063FBC 4616D082 */ mul.s $f2, $f26, $f22
/* 3F3C0 80063FC0 00000000 */ nop
/* 3F3C4 80063FC4 4600D182 */ mul.s $f6, $f26, $f0
/* 3F3C8 80063FC8 44919000 */ mtc1 $s1, $f18
/* 3F3CC 80063FCC 00000000 */ nop
/* 3F3D0 80063FD0 46149102 */ mul.s $f4, $f18, $f20
/* 3F3D4 80063FD4 4600A307 */ neg.s $f12, $f20
/* 3F3D8 80063FD8 461C6302 */ mul.s $f12, $f12, $f28
/* 3F3DC 80063FDC 00000000 */ nop
/* 3F3E0 80063FE0 4614D502 */ mul.s $f20, $f26, $f20
/* 3F3E4 80063FE4 00000000 */ nop
/* 3F3E8 80063FE8 461E9282 */ mul.s $f10, $f18, $f30
/* 3F3EC 80063FEC 00000000 */ nop
/* 3F3F0 80063FF0 461ED682 */ mul.s $f26, $f26, $f30
/* 3F3F4 80063FF4 00000000 */ nop
/* 3F3F8 80063FF8 461C7382 */ mul.s $f14, $f14, $f28
/* 3F3FC 80063FFC 00000000 */ nop
/* 3F400 80064000 461C8402 */ mul.s $f16, $f16, $f28
/* 3F404 80064004 00000000 */ nop
/* 3F408 80064008 46002202 */ mul.s $f8, $f4, $f0
/* 3F40C 8006400C 00000000 */ nop
/* 3F410 80064010 46162102 */ mul.s $f4, $f4, $f22
/* 3F414 80064014 00000000 */ nop
/* 3F418 80064018 461C5282 */ mul.s $f10, $f10, $f28
/* 3F41C 8006401C 00000000 */ nop
/* 3F420 80064020 461CD682 */ mul.s $f26, $f26, $f28
/* 3F424 80064024 46062100 */ add.s $f4, $f4, $f6
/* 3F428 80064028 4600A182 */ mul.s $f6, $f20, $f0
/* 3F42C 8006402C 46024201 */ sub.s $f8, $f8, $f2
/* 3F430 80064030 46169082 */ mul.s $f2, $f18, $f22
/* 3F434 80064034 00000000 */ nop
/* 3F438 80064038 4616A502 */ mul.s $f20, $f20, $f22
/* 3F43C 8006403C 00000000 */ nop
/* 3F440 80064040 46009482 */ mul.s $f18, $f18, $f0
/* 3F444 80064044 3C013F80 */ lui $at, 0x3f80
/* 3F448 80064048 44810000 */ mtc1 $at, $f0
/* 3F44C 8006404C 461C4202 */ mul.s $f8, $f8, $f28
/* 3F450 80064050 AE00000C */ sw $zero, 0xc($s0)
/* 3F454 80064054 AE00001C */ sw $zero, 0x1c($s0)
/* 3F458 80064058 AE00002C */ sw $zero, 0x2c($s0)
/* 3F45C 8006405C 44119000 */ mfc1 $s1, $f18
/* 3F460 80064060 C7B20064 */ lwc1 $f18, 0x64($sp)
/* 3F464 80064064 461C2102 */ mul.s $f4, $f4, $f28
/* 3F468 80064068 E6120030 */ swc1 $f18, 0x30($s0)
/* 3F46C 8006406C C7B20068 */ lwc1 $f18, 0x68($sp)
/* 3F470 80064070 46023180 */ add.s $f6, $f6, $f2
/* 3F474 80064074 E6120034 */ swc1 $f18, 0x34($s0)
/* 3F478 80064078 C7B2006C */ lwc1 $f18, 0x6c($sp)
/* 3F47C 8006407C 461C3182 */ mul.s $f6, $f6, $f28
/* 3F480 80064080 E6120038 */ swc1 $f18, 0x38($s0)
/* 3F484 80064084 44919000 */ mtc1 $s1, $f18
/* 3F488 80064088 00000000 */ nop
/* 3F48C 8006408C 4612A501 */ sub.s $f20, $f20, $f18
/* 3F490 80064090 E600003C */ swc1 $f0, 0x3c($s0)
/* 3F494 80064094 E60C0008 */ swc1 $f12, 8($s0)
/* 3F498 80064098 E60E0000 */ swc1 $f14, ($s0)
/* 3F49C 8006409C 461CA502 */ mul.s $f20, $f20, $f28
/* 3F4A0 800640A0 E6100004 */ swc1 $f16, 4($s0)
/* 3F4A4 800640A4 E60A0018 */ swc1 $f10, 0x18($s0)
/* 3F4A8 800640A8 E61A0028 */ swc1 $f26, 0x28($s0)
/* 3F4AC 800640AC E6080010 */ swc1 $f8, 0x10($s0)
/* 3F4B0 800640B0 E6040014 */ swc1 $f4, 0x14($s0)
/* 3F4B4 800640B4 E6060020 */ swc1 $f6, 0x20($s0)
/* 3F4B8 800640B8 E6140024 */ swc1 $f20, 0x24($s0)
/* 3F4BC 800640BC 8FBF0018 */ lw $ra, 0x18($sp)
/* 3F4C0 800640C0 8FB10014 */ lw $s1, 0x14($sp)
/* 3F4C4 800640C4 8FB00010 */ lw $s0, 0x10($sp)
/* 3F4C8 800640C8 D7BE0048 */ ldc1 $f30, 0x48($sp)
/* 3F4CC 800640CC D7BC0040 */ ldc1 $f28, 0x40($sp)
/* 3F4D0 800640D0 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 3F4D4 800640D4 D7B80030 */ ldc1 $f24, 0x30($sp)
/* 3F4D8 800640D8 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 3F4DC 800640DC D7B40020 */ ldc1 $f20, 0x20($sp)
/* 3F4E0 800640E0 03E00008 */ jr $ra
/* 3F4E4 800640E4 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,106 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guRotateRPY
/* 3F858 80064458 3C018009 */ lui $at, %hi(D_80093DD0)
/* 3F85C 8006445C C4203DD0 */ lwc1 $f0, %lo(D_80093DD0)($at)
/* 3F860 80064460 44854000 */ mtc1 $a1, $f8
/* 3F864 80064464 27BDFF68 */ addiu $sp, $sp, -0x98
/* 3F868 80064468 F7B40068 */ sdc1 $f20, 0x68($sp)
/* 3F86C 8006446C 46004502 */ mul.s $f20, $f8, $f0
/* 3F870 80064470 44864000 */ mtc1 $a2, $f8
/* 3F874 80064474 F7B60070 */ sdc1 $f22, 0x70($sp)
/* 3F878 80064478 46004582 */ mul.s $f22, $f8, $f0
/* 3F87C 8006447C AFB1005C */ sw $s1, 0x5c($sp)
/* 3F880 80064480 44874000 */ mtc1 $a3, $f8
/* 3F884 80064484 00808821 */ addu $s1, $a0, $zero
/* 3F888 80064488 AFBF0060 */ sw $ra, 0x60($sp)
/* 3F88C 8006448C 46004202 */ mul.s $f8, $f8, $f0
/* 3F890 80064490 AFB00058 */ sw $s0, 0x58($sp)
/* 3F894 80064494 F7BE0090 */ sdc1 $f30, 0x90($sp)
/* 3F898 80064498 F7BC0088 */ sdc1 $f28, 0x88($sp)
/* 3F89C 8006449C F7BA0080 */ sdc1 $f26, 0x80($sp)
/* 3F8A0 800644A0 F7B80078 */ sdc1 $f24, 0x78($sp)
/* 3F8A4 800644A4 44104000 */ mfc1 $s0, $f8
/* 3F8A8 800644A8 00000000 */ nop
/* 3F8AC 800644AC 0C00A85B */ jal sin_rad
/* 3F8B0 800644B0 4600A306 */ mov.s $f12, $f20
/* 3F8B4 800644B4 4600A306 */ mov.s $f12, $f20
/* 3F8B8 800644B8 0C00A874 */ jal cos_rad
/* 3F8BC 800644BC 46000786 */ mov.s $f30, $f0
/* 3F8C0 800644C0 4600B306 */ mov.s $f12, $f22
/* 3F8C4 800644C4 0C00A85B */ jal sin_rad
/* 3F8C8 800644C8 46000706 */ mov.s $f28, $f0
/* 3F8CC 800644CC 4600B306 */ mov.s $f12, $f22
/* 3F8D0 800644D0 0C00A874 */ jal cos_rad
/* 3F8D4 800644D4 46000686 */ mov.s $f26, $f0
/* 3F8D8 800644D8 44906000 */ mtc1 $s0, $f12
/* 3F8DC 800644DC 00000000 */ nop
/* 3F8E0 800644E0 0C00A85B */ jal sin_rad
/* 3F8E4 800644E4 46000606 */ mov.s $f24, $f0
/* 3F8E8 800644E8 44906000 */ mtc1 $s0, $f12
/* 3F8EC 800644EC 00000000 */ nop
/* 3F8F0 800644F0 0C00A874 */ jal cos_rad
/* 3F8F4 800644F4 46000506 */ mov.s $f20, $f0
/* 3F8F8 800644F8 27B00010 */ addiu $s0, $sp, 0x10
/* 3F8FC 800644FC 02002021 */ addu $a0, $s0, $zero
/* 3F900 80064500 0C019D28 */ jal guMtxIdentF
/* 3F904 80064504 46000586 */ mov.s $f22, $f0
/* 3F908 80064508 00000000 */ nop
/* 3F90C 8006450C 4616C402 */ mul.s $f16, $f24, $f22
/* 3F910 80064510 00000000 */ nop
/* 3F914 80064514 461AF082 */ mul.s $f2, $f30, $f26
/* 3F918 80064518 00000000 */ nop
/* 3F91C 8006451C 4614C482 */ mul.s $f18, $f24, $f20
/* 3F920 80064520 00000000 */ nop
/* 3F924 80064524 4614E202 */ mul.s $f8, $f28, $f20
/* 3F928 80064528 00000000 */ nop
/* 3F92C 8006452C 4616E282 */ mul.s $f10, $f28, $f22
/* 3F930 80064530 00000000 */ nop
/* 3F934 80064534 461AE002 */ mul.s $f0, $f28, $f26
/* 3F938 80064538 00000000 */ nop
/* 3F93C 8006453C 4618F382 */ mul.s $f14, $f30, $f24
/* 3F940 80064540 00000000 */ nop
/* 3F944 80064544 4614F302 */ mul.s $f12, $f30, $f20
/* 3F948 80064548 00000000 */ nop
/* 3F94C 8006454C 4618E702 */ mul.s $f28, $f28, $f24
/* 3F950 80064550 00000000 */ nop
/* 3F954 80064554 4616F782 */ mul.s $f30, $f30, $f22
/* 3F958 80064558 00000000 */ nop
/* 3F95C 8006455C 46161182 */ mul.s $f6, $f2, $f22
/* 3F960 80064560 00000000 */ nop
/* 3F964 80064564 46141082 */ mul.s $f2, $f2, $f20
/* 3F968 80064568 00000000 */ nop
/* 3F96C 8006456C 46160102 */ mul.s $f4, $f0, $f22
/* 3F970 80064570 46083181 */ sub.s $f6, $f6, $f8
/* 3F974 80064574 02002021 */ addu $a0, $s0, $zero
/* 3F978 80064578 4600D687 */ neg.s $f26, $f26
/* 3F97C 8006457C 02202821 */ addu $a1, $s1, $zero
/* 3F980 80064580 460A1080 */ add.s $f2, $f2, $f10
/* 3F984 80064584 46140002 */ mul.s $f0, $f0, $f20
/* 3F988 80064588 E7BA0018 */ swc1 $f26, 0x18($sp)
/* 3F98C 8006458C E7B00010 */ swc1 $f16, 0x10($sp)
/* 3F990 80064590 460C2100 */ add.s $f4, $f4, $f12
/* 3F994 80064594 E7B20014 */ swc1 $f18, 0x14($sp)
/* 3F998 80064598 E7AE0028 */ swc1 $f14, 0x28($sp)
/* 3F99C 8006459C E7BC0038 */ swc1 $f28, 0x38($sp)
/* 3F9A0 800645A0 461E0001 */ sub.s $f0, $f0, $f30
/* 3F9A4 800645A4 E7A60020 */ swc1 $f6, 0x20($sp)
/* 3F9A8 800645A8 E7A20024 */ swc1 $f2, 0x24($sp)
/* 3F9AC 800645AC E7A40030 */ swc1 $f4, 0x30($sp)
/* 3F9B0 800645B0 0C019D40 */ jal guMtxF2L
/* 3F9B4 800645B4 E7A00034 */ swc1 $f0, 0x34($sp)
/* 3F9B8 800645B8 8FBF0060 */ lw $ra, 0x60($sp)
/* 3F9BC 800645BC 8FB1005C */ lw $s1, 0x5c($sp)
/* 3F9C0 800645C0 8FB00058 */ lw $s0, 0x58($sp)
/* 3F9C4 800645C4 D7BE0090 */ ldc1 $f30, 0x90($sp)
/* 3F9C8 800645C8 D7BC0088 */ ldc1 $f28, 0x88($sp)
/* 3F9CC 800645CC D7BA0080 */ ldc1 $f26, 0x80($sp)
/* 3F9D0 800645D0 D7B80078 */ ldc1 $f24, 0x78($sp)
/* 3F9D4 800645D4 D7B60070 */ ldc1 $f22, 0x70($sp)
/* 3F9D8 800645D8 D7B40068 */ ldc1 $f20, 0x68($sp)
/* 3F9DC 800645DC 03E00008 */ jr $ra
/* 3F9E0 800645E0 27BD0098 */ addiu $sp, $sp, 0x98
/* 3F9E4 800645E4 00000000 */ nop
/* 3F9E8 800645E8 00000000 */ nop
/* 3F9EC 800645EC 00000000 */ nop

View File

@ -1,102 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel guRotateRPYF
/* 3F6D0 800642D0 3C018009 */ lui $at, %hi(D_80093DD0)
/* 3F6D4 800642D4 C4203DD0 */ lwc1 $f0, %lo(D_80093DD0)($at)
/* 3F6D8 800642D8 44854000 */ mtc1 $a1, $f8
/* 3F6DC 800642DC 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3F6E0 800642E0 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 3F6E4 800642E4 46004502 */ mul.s $f20, $f8, $f0
/* 3F6E8 800642E8 44864000 */ mtc1 $a2, $f8
/* 3F6EC 800642EC AFB00018 */ sw $s0, 0x18($sp)
/* 3F6F0 800642F0 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 3F6F4 800642F4 46004582 */ mul.s $f22, $f8, $f0
/* 3F6F8 800642F8 44874000 */ mtc1 $a3, $f8
/* 3F6FC 800642FC 00808021 */ addu $s0, $a0, $zero
/* 3F700 80064300 AFBF0020 */ sw $ra, 0x20($sp)
/* 3F704 80064304 AFB1001C */ sw $s1, 0x1c($sp)
/* 3F708 80064308 F7BE0050 */ sdc1 $f30, 0x50($sp)
/* 3F70C 8006430C F7BC0048 */ sdc1 $f28, 0x48($sp)
/* 3F710 80064310 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* 3F714 80064314 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 3F718 80064318 46004602 */ mul.s $f24, $f8, $f0
/* 3F71C 8006431C 0C00A85B */ jal sin_rad
/* 3F720 80064320 4600A306 */ mov.s $f12, $f20
/* 3F724 80064324 44110000 */ mfc1 $s1, $f0
/* 3F728 80064328 00000000 */ nop
/* 3F72C 8006432C 0C00A874 */ jal cos_rad
/* 3F730 80064330 4600A306 */ mov.s $f12, $f20
/* 3F734 80064334 46000786 */ mov.s $f30, $f0
/* 3F738 80064338 0C00A85B */ jal sin_rad
/* 3F73C 8006433C 4600B306 */ mov.s $f12, $f22
/* 3F740 80064340 4600B306 */ mov.s $f12, $f22
/* 3F744 80064344 0C00A874 */ jal cos_rad
/* 3F748 80064348 46000706 */ mov.s $f28, $f0
/* 3F74C 8006434C 46000686 */ mov.s $f26, $f0
/* 3F750 80064350 0C00A85B */ jal sin_rad
/* 3F754 80064354 4600C306 */ mov.s $f12, $f24
/* 3F758 80064358 4600C306 */ mov.s $f12, $f24
/* 3F75C 8006435C 0C00A874 */ jal cos_rad
/* 3F760 80064360 46000506 */ mov.s $f20, $f0
/* 3F764 80064364 46000586 */ mov.s $f22, $f0
/* 3F768 80064368 0C019D28 */ jal guMtxIdentF
/* 3F76C 8006436C 02002021 */ addu $a0, $s0, $zero
/* 3F770 80064370 00000000 */ nop
/* 3F774 80064374 4616D402 */ mul.s $f16, $f26, $f22
/* 3F778 80064378 00000000 */ nop
/* 3F77C 8006437C 4614D482 */ mul.s $f18, $f26, $f20
/* 3F780 80064380 00000000 */ nop
/* 3F784 80064384 4616F282 */ mul.s $f10, $f30, $f22
/* 3F788 80064388 00000000 */ nop
/* 3F78C 8006438C 461CF002 */ mul.s $f0, $f30, $f28
/* 3F790 80064390 44914000 */ mtc1 $s1, $f8
/* 3F794 80064394 00000000 */ nop
/* 3F798 80064398 461C4082 */ mul.s $f2, $f8, $f28
/* 3F79C 8006439C 00000000 */ nop
/* 3F7A0 800643A0 4614F202 */ mul.s $f8, $f30, $f20
/* 3F7A4 800643A4 00000000 */ nop
/* 3F7A8 800643A8 461AF782 */ mul.s $f30, $f30, $f26
/* 3F7AC 800643AC 00000000 */ nop
/* 3F7B0 800643B0 46160102 */ mul.s $f4, $f0, $f22
/* 3F7B4 800643B4 00000000 */ nop
/* 3F7B8 800643B8 46161182 */ mul.s $f6, $f2, $f22
/* 3F7BC 800643BC 00000000 */ nop
/* 3F7C0 800643C0 46141082 */ mul.s $f2, $f2, $f20
/* 3F7C4 800643C4 E7A80014 */ swc1 $f8, 0x14($sp)
/* 3F7C8 800643C8 44914000 */ mtc1 $s1, $f8
/* 3F7CC 800643CC 00000000 */ nop
/* 3F7D0 800643D0 461A4382 */ mul.s $f14, $f8, $f26
/* 3F7D4 800643D4 00000000 */ nop
/* 3F7D8 800643D8 46144302 */ mul.s $f12, $f8, $f20
/* 3F7DC 800643DC C7A80014 */ lwc1 $f8, 0x14($sp)
/* 3F7E0 800643E0 46083181 */ sub.s $f6, $f6, $f8
/* 3F7E4 800643E4 44914000 */ mtc1 $s1, $f8
/* 3F7E8 800643E8 00000000 */ nop
/* 3F7EC 800643EC 46164202 */ mul.s $f8, $f8, $f22
/* 3F7F0 800643F0 4600E707 */ neg.s $f28, $f28
/* 3F7F4 800643F4 46140002 */ mul.s $f0, $f0, $f20
/* 3F7F8 800643F8 460A1080 */ add.s $f2, $f2, $f10
/* 3F7FC 800643FC E61C0008 */ swc1 $f28, 8($s0)
/* 3F800 80064400 E6100000 */ swc1 $f16, ($s0)
/* 3F804 80064404 44114000 */ mfc1 $s1, $f8
/* 3F808 80064408 460C2100 */ add.s $f4, $f4, $f12
/* 3F80C 8006440C E6120004 */ swc1 $f18, 4($s0)
/* 3F810 80064410 E61E0028 */ swc1 $f30, 0x28($s0)
/* 3F814 80064414 E60E0018 */ swc1 $f14, 0x18($s0)
/* 3F818 80064418 46080001 */ sub.s $f0, $f0, $f8
/* 3F81C 8006441C E6060010 */ swc1 $f6, 0x10($s0)
/* 3F820 80064420 E6020014 */ swc1 $f2, 0x14($s0)
/* 3F824 80064424 E6040020 */ swc1 $f4, 0x20($s0)
/* 3F828 80064428 E6000024 */ swc1 $f0, 0x24($s0)
/* 3F82C 8006442C 8FBF0020 */ lw $ra, 0x20($sp)
/* 3F830 80064430 8FB1001C */ lw $s1, 0x1c($sp)
/* 3F834 80064434 8FB00018 */ lw $s0, 0x18($sp)
/* 3F838 80064438 D7BE0050 */ ldc1 $f30, 0x50($sp)
/* 3F83C 8006443C D7BC0048 */ ldc1 $f28, 0x48($sp)
/* 3F840 80064440 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* 3F844 80064444 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 3F848 80064448 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 3F84C 8006444C D7B40028 */ ldc1 $f20, 0x28($sp)
/* 3F850 80064450 03E00008 */ jr $ra
/* 3F854 80064454 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,87 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osSendMesg
/* 40C20 80065820 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 40C24 80065824 AFB00010 */ sw $s0, 0x10($sp)
/* 40C28 80065828 00808021 */ addu $s0, $a0, $zero
/* 40C2C 8006582C AFB50024 */ sw $s5, 0x24($sp)
/* 40C30 80065830 00A0A821 */ addu $s5, $a1, $zero
/* 40C34 80065834 AFB20018 */ sw $s2, 0x18($sp)
/* 40C38 80065838 00C09021 */ addu $s2, $a2, $zero
/* 40C3C 8006583C AFBF0028 */ sw $ra, 0x28($sp)
/* 40C40 80065840 AFB40020 */ sw $s4, 0x20($sp)
/* 40C44 80065844 AFB3001C */ sw $s3, 0x1c($sp)
/* 40C48 80065848 0C01ACD8 */ jal __osDisableInt
/* 40C4C 8006584C AFB10014 */ sw $s1, 0x14($sp)
/* 40C50 80065850 8E030008 */ lw $v1, 8($s0)
/* 40C54 80065854 8E040010 */ lw $a0, 0x10($s0)
/* 40C58 80065858 0064182A */ slt $v1, $v1, $a0
/* 40C5C 8006585C 14600012 */ bnez $v1, .L800658A8
/* 40C60 80065860 00408821 */ addu $s1, $v0, $zero
/* 40C64 80065864 24140001 */ addiu $s4, $zero, 1
/* 40C68 80065868 24130008 */ addiu $s3, $zero, 8
.L8006586C:
/* 40C6C 8006586C 12540005 */ beq $s2, $s4, .L80065884
/* 40C70 80065870 26040004 */ addiu $a0, $s0, 4
/* 40C74 80065874 0C01ACF4 */ jal __osRestoreInt
/* 40C78 80065878 02202021 */ addu $a0, $s1, $zero
/* 40C7C 8006587C 0801964B */ j .L8006592C
/* 40C80 80065880 2402FFFF */ addiu $v0, $zero, -1
.L80065884:
/* 40C84 80065884 3C028009 */ lui $v0, %hi(__osRunningThread)
/* 40C88 80065888 8C424660 */ lw $v0, %lo(__osRunningThread)($v0)
/* 40C8C 8006588C 0C01AC1B */ jal __osEnqueueAndYield
/* 40C90 80065890 A4530010 */ sh $s3, 0x10($v0)
/* 40C94 80065894 8E020008 */ lw $v0, 8($s0)
/* 40C98 80065898 8E030010 */ lw $v1, 0x10($s0)
/* 40C9C 8006589C 0043102A */ slt $v0, $v0, $v1
/* 40CA0 800658A0 1040FFF2 */ beqz $v0, .L8006586C
/* 40CA4 800658A4 00000000 */ nop
.L800658A8:
/* 40CA8 800658A8 8E03000C */ lw $v1, 0xc($s0)
/* 40CAC 800658AC 8E040008 */ lw $a0, 8($s0)
/* 40CB0 800658B0 8E020010 */ lw $v0, 0x10($s0)
/* 40CB4 800658B4 00641821 */ addu $v1, $v1, $a0
/* 40CB8 800658B8 0062001A */ div $zero, $v1, $v0
/* 40CBC 800658BC 14400002 */ bnez $v0, .L800658C8
/* 40CC0 800658C0 00000000 */ nop
/* 40CC4 800658C4 0007000D */ break 7
.L800658C8:
/* 40CC8 800658C8 2401FFFF */ addiu $at, $zero, -1
/* 40CCC 800658CC 14410004 */ bne $v0, $at, .L800658E0
/* 40CD0 800658D0 3C018000 */ lui $at, 0x8000
/* 40CD4 800658D4 14610002 */ bne $v1, $at, .L800658E0
/* 40CD8 800658D8 00000000 */ nop
/* 40CDC 800658DC 0006000D */ break 6
.L800658E0:
/* 40CE0 800658E0 00001010 */ mfhi $v0
/* 40CE4 800658E4 8E030014 */ lw $v1, 0x14($s0)
/* 40CE8 800658E8 00021080 */ sll $v0, $v0, 2
/* 40CEC 800658EC 00431021 */ addu $v0, $v0, $v1
/* 40CF0 800658F0 AC550000 */ sw $s5, ($v0)
/* 40CF4 800658F4 8E020008 */ lw $v0, 8($s0)
/* 40CF8 800658F8 8E030000 */ lw $v1, ($s0)
/* 40CFC 800658FC 24420001 */ addiu $v0, $v0, 1
/* 40D00 80065900 AE020008 */ sw $v0, 8($s0)
/* 40D04 80065904 8C620000 */ lw $v0, ($v1)
/* 40D08 80065908 10400005 */ beqz $v0, .L80065920
/* 40D0C 8006590C 00000000 */ nop
/* 40D10 80065910 0C01AC6F */ jal __osPopThread
/* 40D14 80065914 02002021 */ addu $a0, $s0, $zero
/* 40D18 80065918 0C019808 */ jal osStartThread
/* 40D1C 8006591C 00402021 */ addu $a0, $v0, $zero
.L80065920:
/* 40D20 80065920 0C01ACF4 */ jal __osRestoreInt
/* 40D24 80065924 02202021 */ addu $a0, $s1, $zero
/* 40D28 80065928 00001021 */ addu $v0, $zero, $zero
.L8006592C:
/* 40D2C 8006592C 8FBF0028 */ lw $ra, 0x28($sp)
/* 40D30 80065930 8FB50024 */ lw $s5, 0x24($sp)
/* 40D34 80065934 8FB40020 */ lw $s4, 0x20($sp)
/* 40D38 80065938 8FB3001C */ lw $s3, 0x1c($sp)
/* 40D3C 8006593C 8FB20018 */ lw $s2, 0x18($sp)
/* 40D40 80065940 8FB10014 */ lw $s1, 0x14($sp)
/* 40D44 80065944 8FB00010 */ lw $s0, 0x10($sp)
/* 40D48 80065948 03E00008 */ jr $ra
/* 40D4C 8006594C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel sins
/* 3F9F0 800645F0 3084FFFF */ andi $a0, $a0, 0xffff
/* 3F9F4 800645F4 00042102 */ srl $a0, $a0, 4
/* 3F9F8 800645F8 30820400 */ andi $v0, $a0, 0x400
/* 3F9FC 800645FC 10400004 */ beqz $v0, .L80064610
/* 3FA00 80064600 00802821 */ addu $a1, $a0, $zero
/* 3FA04 80064604 00041027 */ nor $v0, $zero, $a0
/* 3FA08 80064608 08019185 */ j .L80064614
/* 3FA0C 8006460C 304203FF */ andi $v0, $v0, 0x3ff
.L80064610:
/* 3FA10 80064610 308203FF */ andi $v0, $a0, 0x3ff
.L80064614:
/* 3FA14 80064614 00021040 */ sll $v0, $v0, 1
/* 3FA18 80064618 3C038009 */ lui $v1, %hi(sintable)
/* 3FA1C 8006461C 00621821 */ addu $v1, $v1, $v0
/* 3FA20 80064620 94633DE0 */ lhu $v1, %lo(sintable)($v1)
/* 3FA24 80064624 30A20800 */ andi $v0, $a1, 0x800
/* 3FA28 80064628 14400003 */ bnez $v0, .L80064638
/* 3FA2C 8006462C 00031023 */ negu $v0, $v1
/* 3FA30 80064630 0801918F */ j .L8006463C
/* 3FA34 80064634 00031400 */ sll $v0, $v1, 0x10
.L80064638:
/* 3FA38 80064638 00021400 */ sll $v0, $v0, 0x10
.L8006463C:
/* 3FA3C 8006463C 03E00008 */ jr $ra
/* 3FA40 80064640 00021403 */ sra $v0, $v0, 0x10
/* 3FA44 80064644 00000000 */ nop
/* 3FA48 80064648 00000000 */ nop
/* 3FA4C 8006464C 00000000 */ nop

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel memcpy
/* 3FE74 80064A74 10C00007 */ beqz $a2, .L80064A94
/* 3FE78 80064A78 00801821 */ addu $v1, $a0, $zero
.L80064A7C:
/* 3FE7C 80064A7C 90A20000 */ lbu $v0, ($a1)
/* 3FE80 80064A80 24A50001 */ addiu $a1, $a1, 1
/* 3FE84 80064A84 24C6FFFF */ addiu $a2, $a2, -1
/* 3FE88 80064A88 A0620000 */ sb $v0, ($v1)
/* 3FE8C 80064A8C 14C0FFFB */ bnez $a2, .L80064A7C
/* 3FE90 80064A90 24630001 */ addiu $v1, $v1, 1
.L80064A94:
/* 3FE94 80064A94 03E00008 */ jr $ra
/* 3FE98 80064A98 00801021 */ addu $v0, $a0, $zero
/* 3FE9C 80064A9C 00000000 */ nop

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel strchr
/* 3FE10 80064A10 90830000 */ lbu $v1, ($a0)
/* 3FE14 80064A14 80820000 */ lb $v0, ($a0)
/* 3FE18 80064A18 00052E00 */ sll $a1, $a1, 0x18
/* 3FE1C 80064A1C 00052E03 */ sra $a1, $a1, 0x18
/* 3FE20 80064A20 10450008 */ beq $v0, $a1, .L80064A44
/* 3FE24 80064A24 27BDFFF0 */ addiu $sp, $sp, -0x10
.L80064A28:
/* 3FE28 80064A28 14600003 */ bnez $v1, .L80064A38
/* 3FE2C 80064A2C 24840001 */ addiu $a0, $a0, 1
/* 3FE30 80064A30 08019292 */ j .L80064A48
/* 3FE34 80064A34 00001021 */ addu $v0, $zero, $zero
.L80064A38:
/* 3FE38 80064A38 80820000 */ lb $v0, ($a0)
/* 3FE3C 80064A3C 1445FFFA */ bne $v0, $a1, .L80064A28
/* 3FE40 80064A40 90830000 */ lbu $v1, ($a0)
.L80064A44:
/* 3FE44 80064A44 00801021 */ addu $v0, $a0, $zero
.L80064A48:
/* 3FE48 80064A48 03E00008 */ jr $ra
/* 3FE4C 80064A4C 27BD0010 */ addiu $sp, $sp, 0x10

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel strlen
/* 3FE50 80064A50 80820000 */ lb $v0, ($a0)
/* 3FE54 80064A54 10400005 */ beqz $v0, .L80064A6C
/* 3FE58 80064A58 00801821 */ addu $v1, $a0, $zero
/* 3FE5C 80064A5C 24630001 */ addiu $v1, $v1, 1
.L80064A60:
/* 3FE60 80064A60 80620000 */ lb $v0, ($v1)
/* 3FE64 80064A64 5440FFFE */ bnel $v0, $zero, .L80064A60
/* 3FE68 80064A68 24630001 */ addiu $v1, $v1, 1
.L80064A6C:
/* 3FE6C 80064A6C 03E00008 */ jr $ra
/* 3FE70 80064A70 00641023 */ subu $v0, $v1, $a0

View File

@ -126,10 +126,10 @@ segments:
- [0x3BD20, c, os/nusys/nuContQueryRead]
- [0x3BD40, hasm, os/osSetIntMask]
- [0x3BDE0, c, os/osCreatePiManager]
- [0x3C160, c, os/osEPiWriteIo, kmc -O3]
- [0x3C1C0, c, os/osEPiReadIo, kmc -O3]
- [0x3C220, c, os/osEPiStartDma, kmc -O3]
- [0x3C2C0, c, os/osEPiLinkHandle, kmc -O3]
- [0x3C160, c, os/osEPiWriteIo, gcc_272 -O3]
- [0x3C1C0, c, os/osEPiReadIo, gcc_272 -O3]
- [0x3C220, c, os/osEPiStartDma, gcc_272 -O3]
- [0x3C2C0, c, os/osEPiLinkHandle, gcc_272 -O3]
- [0x3C310, c, os/osCartRomInit]
- [0x3C490, c, os/3c490_len_3c0]
- [0x3C850, c, os/3c850_len_f0]
@ -141,27 +141,27 @@ segments:
- [0x3CCD0, hasm, os/osWritebackDCacheAll]
- [0x3CD00, c, os/3cd00_len_5f0] # MOVE_ADDU
- [0x3CF80, c, os/controller]
- [0x3D290, c, os/osVirtualToPhysical, kmc -O3]
- [0x3D290, c, os/osVirtualToPhysical, gcc_272 -O3]
- [0x3D2F0, c, os/sqrtf, -ffast-math]
- [0x3D300, c, os/coss, kmc -O3]
- [0x3D330, c, os/guFrustum, kmc -O3]
- [0x3D5B0, c, os/guLookAt, kmc -O3]
- [0x3DCC0, c, os/lookathil, kmc -O3]
- [0x3E720, c, os/lookatref, kmc -O3]
- [0x3ED10, c, os/guOrtho, kmc -O3]
- [0x3EF90, c, os/perspective, kmc -O3]
- [0x3F310, c, os/position, kmc -O3]
- [0x3F6D0, c, os/rotateRPY, kmc -O3]
- [0x3F9F0, c, os/sins, kmc -O3]
- [0x3D300, c, os/coss, gcc_272 -O3]
- [0x3D330, c, os/guFrustum, gcc_272 -O3]
- [0x3D5B0, c, os/guLookAt, gcc_272 -O3]
- [0x3DCC0, c, os/lookathil, gcc_272 -O3]
- [0x3E720, c, os/lookatref, gcc_272 -O3]
- [0x3ED10, c, os/guOrtho, gcc_272 -O3]
- [0x3EF90, c, os/perspective, gcc_272 -O3]
- [0x3F310, c, os/position, gcc_272 -O3]
- [0x3F6D0, c, os/rotateRPY, gcc_272 -O3]
- [0x3F9F0, c, os/sins, gcc_272 -O3]
- [0x3FA50, hasm, os/bcopy]
- [0x3FD70, hasm, os/bzero]
- [0x3FE10, c, os/string, kmc -O3]
- [0x3FE10, c, os/string, gcc_272 -O3]
- [0x3FEA0, c, os/3FEA0]
- [0x408EC, c, os/sprintf] # MOVE_ADDU
- [0x40980, c, os/osCreateMesgQueue]
- [0x409B0, c, os/osJamMesg, kmc -O3]
- [0x40AF0, c, os/osRecvMesg, kmc -O3]
- [0x40C20, c, os/sendmesg, kmc -O3]
- [0x409B0, c, os/osJamMesg, gcc_272 -O3]
- [0x40AF0, c, os/osRecvMesg, gcc_272 -O3]
- [0x40C20, c, os/sendmesg, gcc_272 -O3]
- [0x40D50, c, os/seteventmesg]
- [0x40E00, hasm, os/osGetCount]
- [0x40E10, c, os/40E10]
@ -209,7 +209,7 @@ segments:
- [0x42D60, c, os/42d60_len_80]
- [0x42DE0, c, os/42de0_len_90]
- [0x42E70, c, os/42e70_len_390]
- [0x42F20, c, os/guRotate, kmc -O3]
- [0x42F20, c, os/guRotate, gcc_272 -O3]
- [0x43200, c, os/43200_len_7c0]
- [0x43590, c, os/43590]
- [0x439C0, c, os/439c0_len_220]
@ -2767,7 +2767,7 @@ segments:
vram: 0xE0090000
subsegments:
- [0x38F900, c, attack_result_text]
- [0x390340, data]
- [0x390340]
- type: group # attack_result_text gfx
start: 0x3903D0
subsegments:

View File

@ -67,10 +67,6 @@ D_7012BC11 = 0x7012BC11;
D_80026AC7 = 0x80026AC7;
D_8004AA85 = 0x8004AA85;
// KMC_ASM statics
dtor = 0x80093DC0;
D_80093DD0 = 0x80093DD0;
// effect_1
D_09000FA0 = 0x09000FA0;
D_09001060 = 0x09001060;
@ -144,6 +140,20 @@ D_09001358 = 0x09001358;
D_09001430 = 0x09001430;
D_09001508 = 0x09001508;
// effect_attack_result_text
D_09001500 = 0x09001500;
D_090015A8 = 0x090015A8;
D_09001610 = 0x09001610;
D_09001658 = 0x09001658;
D_090016A0 = 0x090016A0;
D_090016E8 = 0x090016E8;
D_09001730 = 0x09001730;
D_090018B8 = 0x090018B8;
D_090018D8 = 0x090018D8;
D_090018F8 = 0x090018F8;
D_09001918 = 0x09001918;
D_09001938 = 0x09001938;
// effect_134
D_09000800 = 0x09000800;
D_09000BA8 = 0x09000BA8;