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/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/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/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' sh './configure'
} }
} }

View File

@ -439,6 +439,23 @@ typedef struct EmoteFXData {
/* 0x3C */ s32 unk_3C; /* 0x3C */ s32 unk_3C;
} EmoteFXData; // size = 0x40 } 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 { typedef struct SmallGoldSparkleFXData {
/* 0x00 */ s32 unk_00; /* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04; /* 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 if [[ "$uname" == "Darwin" ]]; then
echo "Downloading gcc/binutils for macOS" 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/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" 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 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 fi
# Install packages # 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 python3 -m pip install -U -r requirements.txt || exit 1
if [[ $1 == "--extra" ]]; then 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/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 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" 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 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) # Debian and derivatives (apt)
if cat /etc/os-release | grep -E 'ID=debian|ID_LIKE=(.*)debian' &> /dev/null; then if cat /etc/os-release | grep -E 'ID=debian|ID_LIKE=(.*)debian' &> /dev/null; then
echo "Installing packages for Debian or derivative (apt)" echo "Installing packages for Debian or derivative (apt)"

View File

@ -1,16 +1,296 @@
#include "common.h" #include "common.h"
#include "effects_internal.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;
} }
INCLUDE_ASM(s32, "effects/attack_result_text", attack_result_text_update); data->unk_14 = 0xFF;
void attack_result_text_render(void) { 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;
} }
INCLUDE_ASM(s32, "effects/attack_result_text", func_E0090428); return effect;
}
void attack_result_text_init(EffectInstance* effect) {
}
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); 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 = shim_create_effect_instance(&bp);
effect->numParts = numParts; effect->numParts = numParts;
data = shim_general_heap_malloc(effect->numParts * sizeof(BigSmokePuffFXData)); data = shim_general_heap_malloc(effect->numParts * sizeof(*data));
effect->data = data; effect->data = data;
ASSERT(data != NULL); 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 = shim_create_effect_instance(bpPtr);
effect->numParts = numParts; effect->numParts = numParts;
data = shim_general_heap_malloc(numParts * sizeof(LandingDustFXData)); data = shim_general_heap_malloc(numParts * sizeof(*data));
effect->data = data; effect->data = data;
ASSERT(effect->data != NULL); ASSERT(effect->data != NULL);
shim_mem_clear(data, numParts * sizeof(LandingDustFXData)); shim_mem_clear(data, numParts * sizeof(*data));
switch (type) { switch (type) {
case 0: case 0:

View File

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

View File

@ -1,7 +1,5 @@
#include "common.h" #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) { void guFrustumF(Matrix4f mf, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) {
s32 i, j; s32 i, j;
@ -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) { void guFrustum(Mtx* m, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) {
Matrix4f mf; 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); guMtxF2L(mf, m);
} }
#else
INCLUDE_ASM_LIBULTRA("guFrustum", guFrustum);
#endif

View File

@ -1,7 +1,5 @@
#include "common.h" #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, void guLookAtF(Matrix4f mf, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt,
f32 xUp, f32 yUp, f32 zUp) { f32 xUp, f32 yUp, f32 zUp) {
f32 len, xLook, yLook, zLook, xRight, yRight, zRight; f32 len, xLook, yLook, zLook, xRight, yRight, zRight;
@ -56,11 +54,7 @@ void guLookAtF(Matrix4f mf, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32
mf[2][3] = 0; mf[2][3] = 0;
mf[3][3] = 1; 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) { f32 xUp, f32 yUp, f32 zUp) {
Matrix4f mf; 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); guMtxF2L(mf, m);
} }
#else
INCLUDE_ASM_LIBULTRA("guLookAt", guLookAt);
#endif

View File

@ -1,7 +1,5 @@
#include "PR/gu.h" #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) { void guOrthoF(float mf[4][4], float l, float r, float b, float t, float n, float f, float scale) {
s32 i, j; 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) { void guOrtho(Mtx* m, float l, float r, float b, float t, float n, float f, float scale) {
float mf[4][4]; 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); guMtxF2L(mf, m);
} }
#else
INCLUDE_ASM_LIBULTRA("guOrtho", guOrtho);
#endif

View File

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

View File

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

View File

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

View File

@ -1,7 +1,5 @@
#include "common.h" #include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
s32 osEPiLinkHandle(OSPiHandle* EPiHandle) { s32 osEPiLinkHandle(OSPiHandle* EPiHandle) {
u32 saveMask = __osDisableInt(); u32 saveMask = __osDisableInt();
EPiHandle->next = __osPiTable; EPiHandle->next = __osPiTable;
@ -9,6 +7,3 @@ s32 osEPiLinkHandle(OSPiHandle* EPiHandle) {
__osRestoreInt(saveMask); __osRestoreInt(saveMask);
return 0; 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" #include "common.h"
s32 osEPiReadIo(OSPiHandle* pihandle, u32 devAddr, u32* data) { s32 osEPiReadIo(OSPiHandle* pihandle, u32 devAddr, u32* data) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,5 @@
#include "common.h" #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) { 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; static f32 dtor = 3.1415926 / 180.0;
f32 sinr, sinp, sinh; 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][2] = z;
mf[3][3] = 1.0; 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, void guPosition(Mtx* m, f32 r, f32 p, f32 h, f32 s,
f32 x, f32 y, f32 z) { f32 x, f32 y, f32 z) {
f32 mf[4][4]; f32 mf[4][4];
@ -51,6 +44,3 @@ void guPosition(Mtx* m, f32 r, f32 p, f32 h, f32 s,
guMtxF2L(mf, m); guMtxF2L(mf, m);
} }
#else
INCLUDE_ASM_LIBULTRA("position", guPosition);
#endif

View File

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

View File

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

View File

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

View File

@ -1,7 +1,5 @@
#include "common.h" #include "common.h"
#include "include_asm_libultra.h"
#ifndef KMC_ASM
char* strchr(const char* s, int c) { char* strchr(const char* s, int c) {
const char ch = c; const char ch = c;
while (*s != ch) { while (*s != ch) {
@ -11,11 +9,7 @@ char* strchr(const char* s, int c) {
} }
return (char *)s; return (char *)s;
} }
#else
INCLUDE_ASM_LIBULTRA("string", strchr);
#endif
#ifndef KMC_ASM
size_t strlen(const char* s) { size_t strlen(const char* s) {
const char* sc = s; const char* sc = s;
while (*sc) { while (*sc) {
@ -23,11 +17,7 @@ size_t strlen(const char* s) {
} }
return sc - s; return sc - s;
} }
#else
INCLUDE_ASM_LIBULTRA("string", strlen);
#endif
#ifndef KMC_ASM
void* memcpy(void* s1, const void* s2, size_t n) { void* memcpy(void* s1, const void* s2, size_t n) {
char* su1 = (char*)s1; char* su1 = (char*)s1;
const char *su2 = (const char*)s2; const char *su2 = (const char*)s2;
@ -37,6 +27,3 @@ void* memcpy(void* s1, const void* s2, size_t n) {
} }
return (void*)s1; 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-" cross = "mips-linux-gnu-"
cc = f"{BUILD_TOOLS}/cc/gcc/gcc" cc = f"{BUILD_TOOLS}/cc/gcc/gcc"
cc_ido = f"{BUILD_TOOLS}/cc/ido5.3/cc" 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++" cxx = f"{BUILD_TOOLS}/cc/gcc/g++"
compile_script = f"$python {BUILD_TOOLS}/cc_dsl/compile_script.py" 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" CPPFLAGS = "-w " + CPPFLAGS_COMMON + " -nostdinc"
if sys.platform == "darwin" and not non_matching: CPPFLAGS_272 = "-Iver/$version/build/include -Iinclude -Isrc -Iassets/$version -D_LANGUAGE_C -D_FINALROM " \
CPPFLAGS += " -DKMC_ASM"
CPPFLAGS_LIBULTRA = "-Iver/$version/build/include -Iinclude -Isrc -Iassets/$version -D_LANGUAGE_C -D_FINALROM " \
"-DVERSION=$version -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -nostdinc" "-DVERSION=$version -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -nostdinc"
cflags = f"-c -G0 -O2 -fno-common -B {BUILD_TOOLS}/cc/gcc/ {extra_cflags}" cflags = f"-c -G0 -O2 -fno-common -B {BUILD_TOOLS}/cc/gcc/ {extra_cflags}"
kmc_cflags = f"-c -G0 -mgp32 -mfp32 -mips3 {extra_cflags}" cflags_272 = f"-c -G0 -mgp32 -mfp32 -mips3 {extra_cflags}"
kmc_cflags = kmc_cflags.replace("-ggdb3","-g1") cflags_272 = cflags_272.replace("-ggdb3","-g1")
ninja.variable("python", sys.executable) 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", 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", ninja.rule("cc_272",
description="kmc $in", description="cc_272 $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'", 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", ninja.rule("cxx",
@ -394,10 +393,10 @@ class Configure:
if seg.name.endswith("osFlash"): if seg.name.endswith("osFlash"):
task = "cc_ido" task = "cc_ido"
elif "kmc" in cflags and (sys.platform != "darwin" or non_matching): elif "gcc_272" in cflags:
task = "cc_kmc" task = "cc_272"
cflags = cflags.replace("kmc", "") cflags = cflags.replace("gcc_272", "")
build(entry.object_path, entry.src_paths, task, variables={ build(entry.object_path, entry.src_paths, task, variables={
"cflags": cflags, "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] - [0x3BD20, c, os/nusys/nuContQueryRead]
- [0x3BD40, hasm, os/osSetIntMask] - [0x3BD40, hasm, os/osSetIntMask]
- [0x3BDE0, c, os/osCreatePiManager] - [0x3BDE0, c, os/osCreatePiManager]
- [0x3C160, c, os/osEPiWriteIo, kmc -O3] - [0x3C160, c, os/osEPiWriteIo, gcc_272 -O3]
- [0x3C1C0, c, os/osEPiReadIo, kmc -O3] - [0x3C1C0, c, os/osEPiReadIo, gcc_272 -O3]
- [0x3C220, c, os/osEPiStartDma, kmc -O3] - [0x3C220, c, os/osEPiStartDma, gcc_272 -O3]
- [0x3C2C0, c, os/osEPiLinkHandle, kmc -O3] - [0x3C2C0, c, os/osEPiLinkHandle, gcc_272 -O3]
- [0x3C310, c, os/osCartRomInit] - [0x3C310, c, os/osCartRomInit]
- [0x3C490, c, os/3c490_len_3c0] - [0x3C490, c, os/3c490_len_3c0]
- [0x3C850, c, os/3c850_len_f0] - [0x3C850, c, os/3c850_len_f0]
@ -141,27 +141,27 @@ segments:
- [0x3CCD0, hasm, os/osWritebackDCacheAll] - [0x3CCD0, hasm, os/osWritebackDCacheAll]
- [0x3CD00, c, os/3cd00_len_5f0] # MOVE_ADDU - [0x3CD00, c, os/3cd00_len_5f0] # MOVE_ADDU
- [0x3CF80, c, os/controller] - [0x3CF80, c, os/controller]
- [0x3D290, c, os/osVirtualToPhysical, kmc -O3] - [0x3D290, c, os/osVirtualToPhysical, gcc_272 -O3]
- [0x3D2F0, c, os/sqrtf, -ffast-math] - [0x3D2F0, c, os/sqrtf, -ffast-math]
- [0x3D300, c, os/coss, kmc -O3] - [0x3D300, c, os/coss, gcc_272 -O3]
- [0x3D330, c, os/guFrustum, kmc -O3] - [0x3D330, c, os/guFrustum, gcc_272 -O3]
- [0x3D5B0, c, os/guLookAt, kmc -O3] - [0x3D5B0, c, os/guLookAt, gcc_272 -O3]
- [0x3DCC0, c, os/lookathil, kmc -O3] - [0x3DCC0, c, os/lookathil, gcc_272 -O3]
- [0x3E720, c, os/lookatref, kmc -O3] - [0x3E720, c, os/lookatref, gcc_272 -O3]
- [0x3ED10, c, os/guOrtho, kmc -O3] - [0x3ED10, c, os/guOrtho, gcc_272 -O3]
- [0x3EF90, c, os/perspective, kmc -O3] - [0x3EF90, c, os/perspective, gcc_272 -O3]
- [0x3F310, c, os/position, kmc -O3] - [0x3F310, c, os/position, gcc_272 -O3]
- [0x3F6D0, c, os/rotateRPY, kmc -O3] - [0x3F6D0, c, os/rotateRPY, gcc_272 -O3]
- [0x3F9F0, c, os/sins, kmc -O3] - [0x3F9F0, c, os/sins, gcc_272 -O3]
- [0x3FA50, hasm, os/bcopy] - [0x3FA50, hasm, os/bcopy]
- [0x3FD70, hasm, os/bzero] - [0x3FD70, hasm, os/bzero]
- [0x3FE10, c, os/string, kmc -O3] - [0x3FE10, c, os/string, gcc_272 -O3]
- [0x3FEA0, c, os/3FEA0] - [0x3FEA0, c, os/3FEA0]
- [0x408EC, c, os/sprintf] # MOVE_ADDU - [0x408EC, c, os/sprintf] # MOVE_ADDU
- [0x40980, c, os/osCreateMesgQueue] - [0x40980, c, os/osCreateMesgQueue]
- [0x409B0, c, os/osJamMesg, kmc -O3] - [0x409B0, c, os/osJamMesg, gcc_272 -O3]
- [0x40AF0, c, os/osRecvMesg, kmc -O3] - [0x40AF0, c, os/osRecvMesg, gcc_272 -O3]
- [0x40C20, c, os/sendmesg, kmc -O3] - [0x40C20, c, os/sendmesg, gcc_272 -O3]
- [0x40D50, c, os/seteventmesg] - [0x40D50, c, os/seteventmesg]
- [0x40E00, hasm, os/osGetCount] - [0x40E00, hasm, os/osGetCount]
- [0x40E10, c, os/40E10] - [0x40E10, c, os/40E10]
@ -209,7 +209,7 @@ segments:
- [0x42D60, c, os/42d60_len_80] - [0x42D60, c, os/42d60_len_80]
- [0x42DE0, c, os/42de0_len_90] - [0x42DE0, c, os/42de0_len_90]
- [0x42E70, c, os/42e70_len_390] - [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] - [0x43200, c, os/43200_len_7c0]
- [0x43590, c, os/43590] - [0x43590, c, os/43590]
- [0x439C0, c, os/439c0_len_220] - [0x439C0, c, os/439c0_len_220]
@ -2767,7 +2767,7 @@ segments:
vram: 0xE0090000 vram: 0xE0090000
subsegments: subsegments:
- [0x38F900, c, attack_result_text] - [0x38F900, c, attack_result_text]
- [0x390340, data] - [0x390340]
- type: group # attack_result_text gfx - type: group # attack_result_text gfx
start: 0x3903D0 start: 0x3903D0
subsegments: subsegments:

View File

@ -67,10 +67,6 @@ D_7012BC11 = 0x7012BC11;
D_80026AC7 = 0x80026AC7; D_80026AC7 = 0x80026AC7;
D_8004AA85 = 0x8004AA85; D_8004AA85 = 0x8004AA85;
// KMC_ASM statics
dtor = 0x80093DC0;
D_80093DD0 = 0x80093DD0;
// effect_1 // effect_1
D_09000FA0 = 0x09000FA0; D_09000FA0 = 0x09000FA0;
D_09001060 = 0x09001060; D_09001060 = 0x09001060;
@ -144,6 +140,20 @@ D_09001358 = 0x09001358;
D_09001430 = 0x09001430; D_09001430 = 0x09001430;
D_09001508 = 0x09001508; 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 // effect_134
D_09000800 = 0x09000800; D_09000800 = 0x09000800;
D_09000BA8 = 0x09000BA8; D_09000BA8 = 0x09000BA8;