JP rom beginnings (#197)

* data, splat fixes

* fix .gitrepo?

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "fb8315b319"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "fb8315b319"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* audio updates (thanks Clover)

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "c56195a9c5"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "c56195a9c5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* work on jp rom

* remove comment

* fix duplicate asm labels

* git subrepo pull (merge) tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "db51ae16c2"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "db51ae16c2"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* fix configure and delete grub

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "97e51bdf21"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "97e51bdf21"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* file split, moving things into os

* header
This commit is contained in:
Ethan Roseman 2021-03-04 04:00:56 -05:00 committed by GitHub
parent 9e6cf181bd
commit ab79244991
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
527 changed files with 5253 additions and 4210 deletions

View File

@ -53,7 +53,6 @@ def stuff(version):
matched = [f for f in matched if not f in partial_matched]
matched_but_undeleted_asm = set([f for f in matched if f in non_matched and not f in partial_matched])
orphan_asm = set(non_matched) - set(asm) - matched_but_undeleted_asm
missing_asm = set(asm) - set(non_matched)
to_delete = matched_but_undeleted_asm | orphan_asm
@ -63,17 +62,8 @@ def stuff(version):
print("--delete delete obsolete .s functions without asking")
exit()
if len(matched_but_undeleted_asm) > 0:
print(f"The following functions have been matched but their .s files remain: {matched_but_undeleted_asm}")
"""
if len(set(asm)) != len(set(non_matched)):
if len(set(non_matched)) > len(set(asm)) and len(orphan_asm) > 0:
print(f"The following functions are unmatched but are also unINCLUDEd: {orphan_asm}")
elif len(missing_asm) > 0:
print(f"warning: The following .s files are INCLUDEd but don't exist: {missing_asm}")
"""
if len(to_delete) > 0:
print(f"The following functions can be deleted: {to_delete}")
if "--fail-undeleted" in sys.argv:
exit(1)
elif "--delete" in sys.argv or input("Delete them [y/N]? ").upper() == "Y":

View File

@ -402,7 +402,6 @@ ApiStatus func_8027CC10(ScriptInstance* script, s32 isInitialCall) {
INCLUDE_ASM(s32, "code_1A5830", EnemyDamageTarget);
//INCLUDE_ASM(s32, "code_1A5830", EnemyFollowupAfflictTarget);
ApiStatus EnemyFollowupAfflictTarget(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
BattleStatus* anotherBattleStatus = &gBattleStatus;

View File

@ -1,7 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "code_3CF80", osContInit, OSMesgQueue* arg0, u8* arg1, OSContStatus* arg2);
INCLUDE_ASM(s32, "code_3CF80", osContGetInitData);
INCLUDE_ASM(s32, "code_3CF80", osPackRequestData);

View File

@ -1,9 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "code_3FEA0", _Printf);
INCLUDE_ASM(s32, "code_3FEA0", _Putfld);
INCLUDE_ASM(int, "code_3FEA0", sprintf, char* s, const char* fmt, ...);
INCLUDE_ASM(s32, "code_3FEA0", proutSprintf);

View File

@ -1,5 +0,0 @@
#include "common.h"
INCLUDE_ASM(void, "code_40E10", osSpTaskLoad, OSTask* tp);
INCLUDE_ASM(void, "code_40E10", osSpTaskStartGo, OSTask* tp);

View File

@ -1,9 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "code_41880", osTimerServicesInit);
INCLUDE_ASM(s32, "code_41880", osTimerInterrupt);
INCLUDE_ASM(s32, "code_41880", osSetTimerIntr);
INCLUDE_ASM(s32, "code_41880", osInsertTimer);

View File

@ -6,61 +6,6 @@
u16 D_80074260 = 0;
s32 D_80074264 = 0;
// probably padding
s32 D_80074268[2] = {0, 0};
s32 D_80074270 = 0;
f32 D_80074274[] = {
0.0f, 0.017452f, 0.034899f, 0.052336f, 0.069756f, 0.087156f, 0.104528f, 0.121869f, 0.139173f,
0.156434f, 0.173648f, 0.190809f, 0.207912f, 0.224951f, 0.241922f, 0.258819f, 0.275637f, 0.292372f, 0.309017f,
0.325568f, 0.34202f, 0.358368f, 0.374607f, 0.390731f, 0.406737f, 0.422618f, 0.438371f, 0.45399f, 0.469472f,
0.48481f, 0.5f, 0.515038f, 0.529919f, 0.544639f, 0.559193f, 0.573576f, 0.587785f, 0.601815f, 0.615661f, 0.62932f,
0.642788f, 0.656059f, 0.669131f, 0.681998f, 0.694658f, 0.707107f, 0.71934f, 0.731354f, 0.743145f, 0.75471f,
0.766044f, 0.777146f, 0.788011f, 0.798636f, 0.809017f, 0.819152f, 0.829038f, 0.838671f, 0.848048f, 0.857167f,
0.866025f, 0.87462f, 0.882948f, 0.891007f, 0.898794f, 0.906308f, 0.913545f, 0.920505f, 0.927184f, 0.93358f,
0.939693f, 0.945519f, 0.951057f, 0.956305f, 0.961262f, 0.965926f, 0.970296f, 0.97437f, 0.978148f, 0.981627f,
0.984808f, 0.987688f, 0.990268f, 0.992546f, 0.994522f, 0.996195f, 0.997564f, 0.99863f, 0.999391f, 0.999848f, 1.0f
};
s8 D_800743E0[] = {
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
s32 gRandSeed = 1;
f32 D_80074414[] = {
1.0f, 1.273187f, 1.27303f, 1.272768f, 1.272402f, 1.271932f, 1.271358f, 1.270681f, 1.269902f, 1.269021f, 1.268038f,
1.266956f, 1.265774f, 1.264494f, 1.263116f, 1.261643f, 1.260075f, 1.258413f, 1.256659f, 1.254815f, 1.252881f,
1.250859f, 1.248752f, 1.24656f, 1.244285f, 1.241929f, 1.239494f, 1.236981f, 1.234393f, 1.231731f, 1.228997f,
1.226192f, 1.22332f, 1.220382f, 1.217379f, 1.214315f, 1.211189f, 1.208006f, 1.204766f, 1.201471f, 1.198124f,
1.194727f, 1.191281f, 1.187787f, 1.18425f, 1.180669f, 1.177047f, 1.173386f, 1.169687f, 1.165952f, 1.162184f,
1.158384f, 1.154553f, 1.150693f, 1.146806f, 1.142893f, 1.138957f, 1.134998f, 1.131018f, 1.127019f, 1.123002f,
1.118969f, 1.11492f, 1.110858f, 1.106783f, 1.102697f, 1.098601f, 1.094496f, 1.090384f, 1.086266f, 1.082142f,
1.078014f, 1.073883f, 1.06975f, 1.065616f, 1.061482f, 1.057348f, 1.053216f, 1.049087f, 1.04496f, 1.040838f,
1.036721f, 1.03261f, 1.028504f, 1.024406f, 1.020316f, 1.016234f, 1.01216f, 1.008097f, 1.004043f, 1.0f
};
Gfx D_80074580[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureConvert(G_TC_FILT),
gsSPEndDisplayList(),
};
void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta);
void func_80029860(s32 romStart, s32 vramDest, s32 length);
#define ROM_CHUNK_SIZE 0x2000
void poll_rumble(void) {
nuContRmbCheck(0);
nuContRmbModeSet(0, 2);
@ -103,316 +48,3 @@ void update_max_rumble_duration(void) {
void reset_max_rumble_duration(void) {
D_80074260 = 300;
}
f32 length2D(f32 x, f32 y) {
return sqrtf(SQ(x) + SQ(y));
}
HeapNode* _heap_create(s32* addr, u32 size) {
if (size < 32) {
return (HeapNode*) - 1;
} else {
HeapNode* heapNode = ALIGN16((s32)addr);
size -= ((s8*)heapNode - (s8*)addr);
heapNode->next = NULL;
heapNode->length = size - sizeof(HeapNode);
heapNode->allocated = 0;
heapNode->capacity = size;
return heapNode;
}
}
INCLUDE_ASM(s32, "code_42e0_len_1f60", _heap_malloc);
INCLUDE_ASM(s32, "code_42e0_len_1f60", _heap_malloc_tail);
INCLUDE_ASM(s32, "code_42e0_len_1f60", _heap_free);
INCLUDE_ASM(s32, "code_42e0_len_1f60", _heap_realloc);
INCLUDE_ASM(s32, "code_42e0_len_1f60", cosine);
s32 sign(s32 val) {
s32 sign = -1;
if (val >= 0) {
sign = val > 0;
}
return sign;
}
INCLUDE_ASM(s32, "code_42e0_len_1f60", int_to_string);
// should maybe be called bzero
void mem_clear(s8* data, s32 numBytes) {
while (numBytes > 0) {
*data = 0;
data++;
numBytes--;
}
}
INCLUDE_ASM(s32, "code_42e0_len_1f60", transform_point);
void copy_matrix(Matrix4f* src, Matrix4f* dest) {
bcopy(src, dest, sizeof(Matrix4f));
}
s32 dma_copy(s32 romStart, s32 romEnd, void* vramDest) {
u32 length = romEnd - romStart;
s32 i;
osInvalICache(vramDest, length);
for (i = 0; i + ROM_CHUNK_SIZE < length; i += ROM_CHUNK_SIZE) {
nuPiReadRom(romStart + i, vramDest + i, ROM_CHUNK_SIZE);
}
if (i != length) {
nuPiReadRom(romStart + i, vramDest + i, length - i);
}
return length;
}
s32 func_800297D4(s32 romStart, s32 romEnd, void* vramDest) {
u32 length = romEnd - romStart;
s32 i;
for (i = 0; i + ROM_CHUNK_SIZE < length; i += ROM_CHUNK_SIZE) {
func_80029860(romStart + i, vramDest + i, ROM_CHUNK_SIZE);
}
if (i != length) {
func_80029860(romStart + i, vramDest + i, length - i);
}
return length;
}
void func_80029860(s32 dramAddr, s32 devAddr, s32 size) {
OSIoMesg osIoMesg;
OSMesg osMesg;
OSMesgQueue osMesgQueue;
osWritebackDCache(dramAddr, size);
osCreateMesgQueue(&osMesgQueue, &osMesg, 1);
osIoMesg.hdr.pri = 0;
osIoMesg.hdr.retQueue = &osMesgQueue;
osIoMesg.dramAddr = dramAddr;
osIoMesg.devAddr = devAddr;
osIoMesg.size = size;
osEPiStartDma(carthandle, &osIoMesg, 1);
osRecvMesg(&osMesgQueue, &osMesg, 1);
}
s32 _advance_rng(void) {
s32* rngVal = &gRandSeed;
(*gGameStatusPtr)->nextRNG = *rngVal = (*rngVal * 0x5D588B65) + 1;
return *rngVal;
}
f32 func_80029934(void) {
s32 temp_v0 = _advance_rng() & 0x7FFF;
f64 temp_f2 = temp_v0;
if (temp_v0 < 0) {
temp_f2 += 4294967296.0;
}
return temp_f2 * 3.0517578125e-05;
}
s32 func_80029994(s32 arg0) {
u32 div = -1;
s32 plusOne = arg0 + 1;
u32 result;
div /= plusOne;
if (div == 0) {
div = 1;
}
do {
result = _advance_rng() / div;
} while (result >= plusOne);
return result;
}
// Issue with the negation at the beginning
#ifdef NON_MATCHING
s32 rand_int(s32 arg0) {
s32 ret;
if (arg0 < 0) {
arg0 = -arg0;
}
ret = 0;
if (arg0 != 0) {
if (arg0 == 1) {
return (func_80029994(1000) < 501) ^ 1;
}
if (arg0 != 100) {
return func_80029994(arg0);
}
ret = func_80029994(1009) / 10;
}
return ret;
}
#else
INCLUDE_ASM(s32, "code_42e0_len_1f60", rand_int, s32 arg0);
#endif
f32 signF(f32 val) {
f32 sign;
if (!(val > 0.0f)) {
sign = -1.0f;
if (!(val < 0.0f)) {
sign = 0.0f;
}
} else {
sign = 1.0f;
}
return sign;
}
s32 round(f32 arg0) {
if (!(arg0 >= 0.0f)) {
return -(s32)(0.5 - arg0);
} else {
return (s32)(0.5 + arg0);
}
}
INCLUDE_ASM(f32, "code_42e0_len_1f60", clamp_angle, f32 theta);
f32 get_clamped_angle_diff(f32 a, f32 b) {
if (fabsf(b - a) >= 180.0f) {
if (b < a) {
b += 360.0f;
} else {
b -= 360.0f;
}
}
return b - a;
}
INCLUDE_ASM(f32, "code_42e0_len_1f60", atan2, f32 startX, f32 startZ, f32 endX, f32 endZ);
f32 get_player_normal_yaw(void) {
return atan2(0, 0, (*gGameStatusPtr)->playerTraceNormal.x, (*gGameStatusPtr)->playerTraceNormal.z);
}
f32 get_player_normal_pitch(void) {
f32 traceNormalX = (*gGameStatusPtr)->playerTraceNormal.x;
f32 traceNormalZ = (*gGameStatusPtr)->playerTraceNormal.z;
f32 sqrt = sqrtf(SQ(traceNormalX) + SQ(traceNormalZ));
return atan2(0.0f, 0.0f, sqrt, -(*gGameStatusPtr)->playerTraceNormal.y);
}
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by) {
f32 xDiff = bx - ax;
f32 yDiff = by - ay;
return sqrtf(SQ(xDiff) + SQ(yDiff));
}
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz) {
f32 xDiff = bx - ax;
f32 yDiff = by - ay;
f32 zDiff = bz - az;
return sqrtf(SQ(xDiff) + SQ(yDiff) + SQ(zDiff));
}
void add_vec2D_polar(f32* x, f32* y, f32 r, f32 theta) {
f32 sinTheta;
f32 cosTheta;
sin_cos_rad((theta * 6.28318f) / 360.0f, &sinTheta, &cosTheta);
*x += r * sinTheta;
*y -= r * cosTheta;
}
u16 _wrap_trig_lookup_value(f32 theta) {
f32 ret = theta;
if (theta >= 1048576.0f || theta <= -1048576.0f) {
ret = theta * 0.0000009536743f;
ret = theta - ((s32) ret) * 1048576.0f;
}
return (s32) ret;
}
void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta) {
u16 theta = _wrap_trig_lookup_value(rad * 10430.378f);
*outSinTheta = sins(theta) * 3.051851e-05;
*outCosTheta = coss(theta) * 3.051851e-05;
}
f32 sin_rad(f32 angle) {
return sins(_wrap_trig_lookup_value(angle * 10430.378f)) * 3.051851e-05;
}
f32 cos_rad(f32 angle) {
return coss(_wrap_trig_lookup_value(angle * 10430.378f)) * 3.051851e-05;
}
void sin_cos_deg(f32 rad, f32* outSinTheta, f32* outCosTheta) {
u16 theta = _wrap_trig_lookup_value(rad * 182.04445f);
*outSinTheta = sins(theta) * 3.051851e-05;
*outCosTheta = coss(theta) * 3.051851e-05;
}
f32 sin_deg(f32 angle) {
return sins(_wrap_trig_lookup_value(angle * 182.04445f)) * 3.051851e-05;
}
f32 cos_deg(f32 angle) {
return coss(_wrap_trig_lookup_value(angle * 182.04445f)) * 3.051851e-05;
}
INCLUDE_ASM(f32, "code_42e0_len_1f60", update_lerp, Easing easing, f32 start, f32 end, s32 elapsed, s32 duration);
//void func_8002A904(u8 arg0, u8 arg1, u8 arg2, u8 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7);
INCLUDE_ASM(void, "code_42e0_len_1f60", func_8002A904, u8 arg0, u8 arg1, u8 arg2, u8 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7);
INCLUDE_ASM(s32, "code_42e0_len_1f60", func_8002AAC4);
// void func_8002AAC4(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7) {
// s16 phi_t0;
// s16 phi_t1;
// s16 phi_t2;
// s16 phi_t3;
// phi_t0 = arg0;
// phi_t2 = arg2;
// if (arg2 < arg0) {
// phi_t0 = arg2;
// phi_t2 = arg0;
// }
// phi_t1 = arg1;
// phi_t3 = arg3;
// if (arg3 < arg1) {
// phi_t1 = arg3;
// phi_t3 = arg1;
// }
// func_8002A904(arg4, arg5, arg6, arg7, phi_t0, phi_t1, phi_t2, phi_t3);
// }
INCLUDE_ASM(s32, "code_42e0_len_1f60", func_8002AB5C);

View File

@ -1,6 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "code_43590", osPfsAllocateFile, OSPfs* pfs, u16 unk1, u32 unk2, u8* unk3, u8* unk4,
int unk5, s32* unk6);
INCLUDE_ASM(s32, "code_43590", osPfsDeclearPage);

366
src/code_43F0.c Normal file
View File

@ -0,0 +1,366 @@
#include "common.h"
s32 D_80074270 = 0;
f32 D_80074274[] = {
0.0f, 0.017452f, 0.034899f, 0.052336f, 0.069756f, 0.087156f, 0.104528f, 0.121869f, 0.139173f,
0.156434f, 0.173648f, 0.190809f, 0.207912f, 0.224951f, 0.241922f, 0.258819f, 0.275637f, 0.292372f, 0.309017f,
0.325568f, 0.34202f, 0.358368f, 0.374607f, 0.390731f, 0.406737f, 0.422618f, 0.438371f, 0.45399f, 0.469472f,
0.48481f, 0.5f, 0.515038f, 0.529919f, 0.544639f, 0.559193f, 0.573576f, 0.587785f, 0.601815f, 0.615661f, 0.62932f,
0.642788f, 0.656059f, 0.669131f, 0.681998f, 0.694658f, 0.707107f, 0.71934f, 0.731354f, 0.743145f, 0.75471f,
0.766044f, 0.777146f, 0.788011f, 0.798636f, 0.809017f, 0.819152f, 0.829038f, 0.838671f, 0.848048f, 0.857167f,
0.866025f, 0.87462f, 0.882948f, 0.891007f, 0.898794f, 0.906308f, 0.913545f, 0.920505f, 0.927184f, 0.93358f,
0.939693f, 0.945519f, 0.951057f, 0.956305f, 0.961262f, 0.965926f, 0.970296f, 0.97437f, 0.978148f, 0.981627f,
0.984808f, 0.987688f, 0.990268f, 0.992546f, 0.994522f, 0.996195f, 0.997564f, 0.99863f, 0.999391f, 0.999848f, 1.0f
};
s8 D_800743E0[] = {
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
s32 gRandSeed = 1;
f32 D_80074414[] = {
1.0f, 1.273187f, 1.27303f, 1.272768f, 1.272402f, 1.271932f, 1.271358f, 1.270681f, 1.269902f, 1.269021f, 1.268038f,
1.266956f, 1.265774f, 1.264494f, 1.263116f, 1.261643f, 1.260075f, 1.258413f, 1.256659f, 1.254815f, 1.252881f,
1.250859f, 1.248752f, 1.24656f, 1.244285f, 1.241929f, 1.239494f, 1.236981f, 1.234393f, 1.231731f, 1.228997f,
1.226192f, 1.22332f, 1.220382f, 1.217379f, 1.214315f, 1.211189f, 1.208006f, 1.204766f, 1.201471f, 1.198124f,
1.194727f, 1.191281f, 1.187787f, 1.18425f, 1.180669f, 1.177047f, 1.173386f, 1.169687f, 1.165952f, 1.162184f,
1.158384f, 1.154553f, 1.150693f, 1.146806f, 1.142893f, 1.138957f, 1.134998f, 1.131018f, 1.127019f, 1.123002f,
1.118969f, 1.11492f, 1.110858f, 1.106783f, 1.102697f, 1.098601f, 1.094496f, 1.090384f, 1.086266f, 1.082142f,
1.078014f, 1.073883f, 1.06975f, 1.065616f, 1.061482f, 1.057348f, 1.053216f, 1.049087f, 1.04496f, 1.040838f,
1.036721f, 1.03261f, 1.028504f, 1.024406f, 1.020316f, 1.016234f, 1.01216f, 1.008097f, 1.004043f, 1.0f
};
Gfx D_80074580[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureConvert(G_TC_FILT),
gsSPEndDisplayList(),
};
void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta);
void func_80029860(s32 romStart, s32 vramDest, s32 length);
#define ROM_CHUNK_SIZE 0x2000
f32 length2D(f32 x, f32 y) {
return sqrtf(SQ(x) + SQ(y));
}
HeapNode* _heap_create(s32* addr, u32 size) {
if (size < 32) {
return (HeapNode*) - 1;
} else {
HeapNode* heapNode = ALIGN16((s32)addr);
size -= ((s8*)heapNode - (s8*)addr);
heapNode->next = NULL;
heapNode->length = size - sizeof(HeapNode);
heapNode->allocated = 0;
heapNode->capacity = size;
return heapNode;
}
}
INCLUDE_ASM(s32, "code_43F0", _heap_malloc);
INCLUDE_ASM(s32, "code_43F0", _heap_malloc_tail);
INCLUDE_ASM(s32, "code_43F0", _heap_free);
INCLUDE_ASM(s32, "code_43F0", _heap_realloc);
INCLUDE_ASM(s32, "code_43F0", cosine);
s32 sign(s32 val) {
s32 sign = -1;
if (val >= 0) {
sign = val > 0;
}
return sign;
}
INCLUDE_ASM(s32, "code_43F0", int_to_string);
// should maybe be called bzero
void mem_clear(s8* data, s32 numBytes) {
while (numBytes > 0) {
*data = 0;
data++;
numBytes--;
}
}
INCLUDE_ASM(s32, "code_43F0", transform_point);
void copy_matrix(Matrix4f* src, Matrix4f* dest) {
bcopy(src, dest, sizeof(Matrix4f));
}
s32 dma_copy(s32 romStart, s32 romEnd, void* vramDest) {
u32 length = romEnd - romStart;
s32 i;
osInvalICache(vramDest, length);
for (i = 0; i + ROM_CHUNK_SIZE < length; i += ROM_CHUNK_SIZE) {
nuPiReadRom(romStart + i, vramDest + i, ROM_CHUNK_SIZE);
}
if (i != length) {
nuPiReadRom(romStart + i, vramDest + i, length - i);
}
return length;
}
s32 func_800297D4(s32 romStart, s32 romEnd, void* vramDest) {
u32 length = romEnd - romStart;
s32 i;
for (i = 0; i + ROM_CHUNK_SIZE < length; i += ROM_CHUNK_SIZE) {
func_80029860(romStart + i, vramDest + i, ROM_CHUNK_SIZE);
}
if (i != length) {
func_80029860(romStart + i, vramDest + i, length - i);
}
return length;
}
void func_80029860(s32 dramAddr, s32 devAddr, s32 size) {
OSIoMesg osIoMesg;
OSMesg osMesg;
OSMesgQueue osMesgQueue;
osWritebackDCache(dramAddr, size);
osCreateMesgQueue(&osMesgQueue, &osMesg, 1);
osIoMesg.hdr.pri = 0;
osIoMesg.hdr.retQueue = &osMesgQueue;
osIoMesg.dramAddr = dramAddr;
osIoMesg.devAddr = devAddr;
osIoMesg.size = size;
osEPiStartDma(carthandle, &osIoMesg, 1);
osRecvMesg(&osMesgQueue, &osMesg, 1);
}
s32 _advance_rng(void) {
s32* rngVal = &gRandSeed;
(*gGameStatusPtr)->nextRNG = *rngVal = (*rngVal * 0x5D588B65) + 1;
return *rngVal;
}
f32 func_80029934(void) {
s32 temp_v0 = _advance_rng() & 0x7FFF;
f64 temp_f2 = temp_v0;
if (temp_v0 < 0) {
temp_f2 += 4294967296.0;
}
return temp_f2 * 3.0517578125e-05;
}
s32 func_80029994(s32 arg0) {
u32 div = -1;
s32 plusOne = arg0 + 1;
u32 result;
div /= plusOne;
if (div == 0) {
div = 1;
}
do {
result = _advance_rng() / div;
} while (result >= plusOne);
return result;
}
// Issue with the negation at the beginning
#ifdef NON_MATCHING
s32 rand_int(s32 arg0) {
s32 ret;
if (arg0 < 0) {
arg0 = -arg0;
}
ret = 0;
if (arg0 != 0) {
if (arg0 == 1) {
return (func_80029994(1000) < 501) ^ 1;
}
if (arg0 != 100) {
return func_80029994(arg0);
}
ret = func_80029994(1009) / 10;
}
return ret;
}
#else
INCLUDE_ASM(s32, "code_43F0", rand_int, s32 arg0);
#endif
f32 signF(f32 val) {
f32 sign;
if (!(val > 0.0f)) {
sign = -1.0f;
if (!(val < 0.0f)) {
sign = 0.0f;
}
} else {
sign = 1.0f;
}
return sign;
}
s32 round(f32 arg0) {
if (!(arg0 >= 0.0f)) {
return -(s32)(0.5 - arg0);
} else {
return (s32)(0.5 + arg0);
}
}
INCLUDE_ASM(f32, "code_43F0", clamp_angle, f32 theta);
f32 get_clamped_angle_diff(f32 a, f32 b) {
if (fabsf(b - a) >= 180.0f) {
if (b < a) {
b += 360.0f;
} else {
b -= 360.0f;
}
}
return b - a;
}
INCLUDE_ASM(f32, "code_43F0", atan2, f32 startX, f32 startZ, f32 endX, f32 endZ);
f32 get_player_normal_yaw(void) {
return atan2(0, 0, (*gGameStatusPtr)->playerTraceNormal.x, (*gGameStatusPtr)->playerTraceNormal.z);
}
f32 get_player_normal_pitch(void) {
f32 traceNormalX = (*gGameStatusPtr)->playerTraceNormal.x;
f32 traceNormalZ = (*gGameStatusPtr)->playerTraceNormal.z;
f32 sqrt = sqrtf(SQ(traceNormalX) + SQ(traceNormalZ));
return atan2(0.0f, 0.0f, sqrt, -(*gGameStatusPtr)->playerTraceNormal.y);
}
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by) {
f32 xDiff = bx - ax;
f32 yDiff = by - ay;
return sqrtf(SQ(xDiff) + SQ(yDiff));
}
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz) {
f32 xDiff = bx - ax;
f32 yDiff = by - ay;
f32 zDiff = bz - az;
return sqrtf(SQ(xDiff) + SQ(yDiff) + SQ(zDiff));
}
void add_vec2D_polar(f32* x, f32* y, f32 r, f32 theta) {
f32 sinTheta;
f32 cosTheta;
sin_cos_rad((theta * 6.28318f) / 360.0f, &sinTheta, &cosTheta);
*x += r * sinTheta;
*y -= r * cosTheta;
}
u16 _wrap_trig_lookup_value(f32 theta) {
f32 ret = theta;
if (theta >= 1048576.0f || theta <= -1048576.0f) {
ret = theta * 0.0000009536743f;
ret = theta - ((s32) ret) * 1048576.0f;
}
return (s32) ret;
}
void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta) {
u16 theta = _wrap_trig_lookup_value(rad * 10430.378f);
*outSinTheta = sins(theta) * 3.051851e-05;
*outCosTheta = coss(theta) * 3.051851e-05;
}
f32 sin_rad(f32 angle) {
return sins(_wrap_trig_lookup_value(angle * 10430.378f)) * 3.051851e-05;
}
f32 cos_rad(f32 angle) {
return coss(_wrap_trig_lookup_value(angle * 10430.378f)) * 3.051851e-05;
}
void sin_cos_deg(f32 rad, f32* outSinTheta, f32* outCosTheta) {
u16 theta = _wrap_trig_lookup_value(rad * 182.04445f);
*outSinTheta = sins(theta) * 3.051851e-05;
*outCosTheta = coss(theta) * 3.051851e-05;
}
f32 sin_deg(f32 angle) {
return sins(_wrap_trig_lookup_value(angle * 182.04445f)) * 3.051851e-05;
}
f32 cos_deg(f32 angle) {
return coss(_wrap_trig_lookup_value(angle * 182.04445f)) * 3.051851e-05;
}
INCLUDE_ASM(f32, "code_43F0", update_lerp, Easing easing, f32 start, f32 end, s32 elapsed, s32 duration);
//void func_8002A904(u8 arg0, u8 arg1, u8 arg2, u8 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7);
INCLUDE_ASM(void, "code_43F0", func_8002A904, u8 arg0, u8 arg1, u8 arg2, u8 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7);
INCLUDE_ASM(s32, "code_43F0", func_8002AAC4);
// void func_8002AAC4(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7) {
// s16 phi_t0;
// s16 phi_t1;
// s16 phi_t2;
// s16 phi_t3;
// phi_t0 = arg0;
// phi_t2 = arg2;
// if (arg2 < arg0) {
// phi_t0 = arg2;
// phi_t2 = arg0;
// }
// phi_t1 = arg1;
// phi_t3 = arg3;
// if (arg3 < arg1) {
// phi_t1 = arg3;
// phi_t3 = arg1;
// }
// func_8002A904(arg4, arg5, arg6, arg7, phi_t0, phi_t1, phi_t2, phi_t3);
// }
INCLUDE_ASM(s32, "code_43F0", func_8002AB5C);

View File

@ -1,7 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "code_44490", osPfsNumFiles, OSPfs* pfs, s32* unk1, s32* unk2);
INCLUDE_ASM(s32, "code_44490", osPfsInitPak, OSMesgQueue* queue, OSPfs* pfs, int unk1);
INCLUDE_ASM(s32, "code_44490", osPfsCheckRamArea);

View File

@ -1,31 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "main_1000", func_80025C00);
INCLUDE_ASM(s32, "main_1000", func_80025C60);
INCLUDE_ASM(s32, "main_1000", func_80025CC0);
INCLUDE_ASM(s32, "main_1000", func_80025CFC);
INCLUDE_ASM(s32, "main_1000", func_80025D38);
INCLUDE_ASM(s32, "main_1000", func_80025D74);
INCLUDE_ASM(s32, "main_1000", func_80025F44);
INCLUDE_ASM(s32, "main_1000", func_80026148);
INCLUDE_ASM(s32, "main_1000", func_800266E8);
INCLUDE_ASM(s32, "main_1000", func_80026710);
INCLUDE_ASM(s32, "main_1000", func_800269C0);
INCLUDE_ASM(s32, "main_1000", func_80026AD4);
INCLUDE_ASM(s32, "main_1000", func_80026DA8);
INCLUDE_ASM(s32, "main_1000", func_80027054);
INCLUDE_ASM(s32, "main_1000", func_8002715C);

88
src/jp/main_1060.c Normal file
View File

@ -0,0 +1,88 @@
#include "common.h"
#include "stdlib/stdarg.h"
u32 func_80025D74(void* arg0, const unsigned char* str, s32 count);
void func_80025C60(void) {
OSPiHandle** handle = &carthandle;
osEPiWriteIo(*handle, 0xB3FF0014, 0);
osEPiWriteIo(*handle, 0xB3FF0004, 0);
osEPiWriteIo(*handle, 0xB3FF0000, ASCII_TO_U32('I', 'S', '6', '4'));
}
void func_80025CC0(const char* fmt, ...) {
va_list args;
va_start(args, fmt);
_Printf(&func_80025D74, NULL, fmt, args);
}
void func_80025CFC(const char* fmt, ...) {
va_list args;
va_start(args, fmt);
_Printf(&func_80025D74, NULL, fmt, args);
}
void func_80025D38(const char* fmt, ...) {
va_list args;
va_start(args, fmt);
_Printf(&func_80025D74, NULL, fmt, args);
}
u32 func_80025D74(void* arg0, const unsigned char* str, s32 count) {
u32 data;
s32 pos;
s32 start;
s32 end;
OSPiHandle** handle = &carthandle;
osEPiReadIo(*handle, 0xB3FF0000, &data);
if (data != ASCII_TO_U32('I', 'S', '6', '4')) {
return 1;
}
osEPiReadIo(*handle, 0xB3FF0004, &data);
pos = data;
osEPiReadIo(*handle, 0xB3FF0014, &data);
start = data;
end = start + count;
if (end >= 0xffe0) {
end -= 0xffe0;
if (pos < end || start < pos) {
return 1;
}
} else {
if (start < pos && pos < end) {
return 1;
}
}
while (count) {
if (*str) {
u32 addr = 0xB3FF0020 + (start & 0xffffffc);
s32 shift = ((3 - (start & 3)) * 8);
OSPiHandle** handle2 = &carthandle;
osEPiReadIo(*handle2, addr, &data);
osEPiWriteIo(*handle2, addr, (data & ~(0xff << shift)) | (*str << shift));
start++;
if (start >= 0xffe0) {
start -= 0xffe0;
}
}
count--;
str++;
}
osEPiWriteIo(carthandle, 0xB3FF0014, start);
return 1;
}
extern const char D_80097D10[]; // "File:%s Line:%d %s \n\0\0\0"
void func_80025F44(char* arg0, char* file, s32 line, char* arg3) {
func_80025CFC(D_80097D10, file, line, arg0);
PANIC();
}

12
src/jp/main_1370.c Normal file
View File

@ -0,0 +1,12 @@
#include "common.h"
extern s32* D_80073DE0;
INCLUDE_ASM(s32, "main_1370", func_80025F70);
INCLUDE_ASM(s32, "main_1370", func_80026148);
void gfxPreNMI_Callback(void) {
D_80073DE0 = 1;
nuContRmbForceStop();
}

13
src/jp/main_1B10.c Normal file
View File

@ -0,0 +1,13 @@
#include "common.h"
INCLUDE_ASM(s32, "main_1B10", func_80026710);
INCLUDE_ASM(s32, "main_1B10", func_800269C0);
INCLUDE_ASM(s32, "main_1B10", func_80026AD4);
INCLUDE_ASM(s32, "main_1B10", func_80026DA8);
INCLUDE_ASM(s32, "main_1B10", func_80027054);
INCLUDE_ASM(s32, "main_1B10", func_8002715C);

View File

@ -1,7 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "main_3B150", func_8005FD50);
INCLUDE_ASM(s32, "main_3B150", func_8005FD70);
INCLUDE_ASM(s32, "main_3B150", func_8005FD90);

View File

@ -1,3 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "main_3C130", func_80060D30);

View File

@ -1,3 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "main_3C190", func_80060D90);

View File

@ -1,6 +1,6 @@
#include "common.h"
INCLUDE_ASM(s32, "main_3FE70", func_80064A70);
INCLUDE_ASM(s32, "main_3FE70", _Printf);
INCLUDE_ASM(s32, "main_3FE70", func_80064FF0);

View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM(s32, "os/nusys/code_3B150", nuContRmbForceStop);
INCLUDE_ASM(s32, "os/nusys/code_3B150", func_8005FD70);
INCLUDE_ASM(s32, "os/nusys/code_3B150", func_8005FD90);

3
src/jp/os/osEPiReadIo.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "os/osEPiReadIo", osEPiReadIo, OSPiHandle* handle, u32 size, u32* out);

3
src/jp/os/osEPiWriteIo.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "os/osEPiWriteIo", osEPiWriteIo, OSPiHandle* handle, u32 devAddr, u32 data);

7
src/os/code_3CF80.c Normal file
View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM(s32, "os/code_3CF80", osContInit, OSMesgQueue* arg0, u8* arg1, OSContStatus* arg2);
INCLUDE_ASM(s32, "os/code_3CF80", osContGetInitData);
INCLUDE_ASM(s32, "os/code_3CF80", osPackRequestData);

9
src/os/code_3FEA0.c Normal file
View File

@ -0,0 +1,9 @@
#include "common.h"
INCLUDE_ASM(s32, "os/code_3FEA0", _Printf);
INCLUDE_ASM(s32, "os/code_3FEA0", _Putfld);
INCLUDE_ASM(int, "os/code_3FEA0", sprintf, char* s, const char* fmt, ...);
INCLUDE_ASM(s32, "os/code_3FEA0", proutSprintf);

9
src/os/code_41880.c Normal file
View File

@ -0,0 +1,9 @@
#include "common.h"
INCLUDE_ASM(s32, "os/code_41880", osTimerServicesInit);
INCLUDE_ASM(s32, "os/code_41880", osTimerInterrupt);
INCLUDE_ASM(s32, "os/code_41880", osSetTimerIntr);
INCLUDE_ASM(s32, "os/code_41880", osInsertTimer);

6
src/os/code_43590.c Normal file
View File

@ -0,0 +1,6 @@
#include "common.h"
INCLUDE_ASM(s32, "os/code_43590", osPfsAllocateFile, OSPfs* pfs, u16 unk1, u32 unk2, u8* unk3, u8* unk4,
int unk5, s32* unk6);
INCLUDE_ASM(s32, "os/code_43590", osPfsDeclearPage);

7
src/os/code_44490.c Normal file
View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM(s32, "os/code_44490", osPfsNumFiles, OSPfs* pfs, s32* unk1, s32* unk2);
INCLUDE_ASM(s32, "os/code_44490", osPfsInitPak, OSMesgQueue* queue, OSPfs* pfs, int unk1);
INCLUDE_ASM(s32, "os/code_44490", osPfsCheckRamArea);

View File

@ -6,7 +6,7 @@
[subrepo]
remote = https://github.com/ethteck/splat.git
branch = master
commit = c56195a9c53db272350ee7796535c1b50174d62d
parent = b82530ae1f4d1dc90072317b9e5b63ad1d06ddb2
commit = 97e51bdf2124a90a856fcb0c695f01fa15360e5d
parent = 1af3672136ec6d609d9ce31f23fb472cf1e359f0
method = merge
cmdver = 0.4.3

View File

@ -18,7 +18,10 @@ def main(rom_path):
basename: {2}
options:
find_file_boundaries: True
compiler: "IDO"
compiler: IDO
platform: n64
out_dir: .
target_path: baserom.z64
""".format(rom.name.title(), rom.get_country_name(), basename)
with open(rom_path, "rb") as f:
@ -31,9 +34,6 @@ options:
- name: header
type: header
start: 0x0
vram: 0
files:
- [0x0, header, header]
- name: boot
type: bin
start: 0x40
@ -41,7 +41,7 @@ options:
type: code
start: 0x1000
vram: 0x{:X}
files:
subsections:
- [0x1000, asm]
- type: bin
start: 0x{:X}

View File

@ -655,11 +655,11 @@ class N64SegCode(N64Segment):
for insn in funcs[func]:
insn_addr = insn[0].address
# Add a label if we need one
if insn_addr in self.labels_to_add:
self.labels_to_add.remove(insn_addr)
func_text.append(".L{:X}:".format(insn_addr))
if insn_addr in self.jtbl_glabels_to_add:
func_text.append(f"glabel L{insn_addr:X}_{insn[3]:X}")
elif insn_addr in self.labels_to_add:
self.labels_to_add.remove(insn_addr)
func_text.append(".L{:X}:".format(insn_addr))
if rom_addr_padding:
rom_str = "{0:0{1}X}".format(insn[3], rom_addr_padding)
@ -673,6 +673,12 @@ class N64SegCode(N64Segment):
else:
op_str = insn[2]
if self.is_branch_insn(insn[0].mnemonic):
branch_addr = int(insn[0].op_str.split(",")[-1].strip(), 0)
if branch_addr in self.jtbl_glabels_to_add:
label_str = f"L{branch_addr:X}_{self.ram_to_rom(branch_addr):X}"
op_str = ", ".join(insn[2].split(", ")[:-1] + [label_str])
insn_text = insn[1]
if indent_next:
indent_next = False

View File

@ -3,6 +3,7 @@ from segtypes.n64.segment import N64Segment
from util.color import unpack_color
from util.n64 import Yay0decompress
from util.iter import iter_in_groups
import sys
class N64SegPalette(N64Segment):
require_unique_name = False
@ -20,6 +21,13 @@ class N64SegPalette(N64Segment):
self.compressed = segment.get("compressed", False) if type(
segment) is dict else False
if self.max_length():
expected_len = int(self.max_length())
actual_len = self.rom_end - self.rom_start
if actual_len > expected_len:
print(f"Error: {self.name} should end at 0x{self.rom_start + expected_len:X}, but it ends at 0x{self.rom_end:X}\n(hint: add a 'bin' segment after it)")
sys.exit(1)
def should_run(self):
return super().should_run() or (
"img" in self.options["modes"] or

View File

@ -23,6 +23,13 @@ class N64SegRgba16(N64Segment):
self.height = segment[4]
self.flip = "noflip"
if self.max_length():
expected_len = int(self.max_length())
actual_len = self.rom_end - self.rom_start
if actual_len > expected_len:
print(f"Error: {self.name} should end at 0x{self.rom_start + expected_len:X}, but it ends at 0x{self.rom_end:X}\n(hint: add a 'bin' segment after it)")
sys.exit(1)
@property
def flip_vertical(self):
return self.flip == "both" or self.flip.startswith("v") or self.flip == "y"

View File

@ -1,6 +1,7 @@
from pathlib import Path, PurePath
from util import log
import re
import sys
default_subalign = 16
@ -59,14 +60,9 @@ class Segment:
self.warnings = []
self.did_run = False
def check(self):
if self.rom_start > self.rom_end:
self.warn(f"out-of-order (starts at 0x{self.rom_start:X}, but next segment starts at 0x{self.rom_end:X})")
elif self.max_length():
expected_len = int(self.max_length())
actual_len = self.rom_end - self.rom_start
if actual_len > expected_len:
print(f"should end at 0x{self.rom_start + expected_len:X}, but it ends at 0x{self.rom_end:X}\n(hint: add a 'bin' segment after {self.name})")
print(f"Error: segments out of order - ({self.name} starts at 0x{self.rom_start:X}, but next segment starts at 0x{self.rom_end:X})")
sys.exit(1)
@property
def size(self):

View File

@ -312,8 +312,6 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
segment.all_symbols = all_symbols
segment.symbol_ranges = symbol_ranges
segment.check()
typ = segment.type
if segment.type == "bin" and segment.is_name_default():
typ = "unk"

View File

@ -1,5 +1,11 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .text, "ax"
glabel func_80025C00
/* 1000 80025C00 3C08800A */ lui $t0, %hi(D_8009A590)

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80025C60
/* 1060 80025C60 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1064 80025C64 3C05B3FF */ lui $a1, 0xb3ff
/* 1068 80025C68 34A50014 */ ori $a1, $a1, 0x14
/* 106C 80025C6C AFB00010 */ sw $s0, 0x10($sp)
/* 1070 80025C70 3C10800A */ lui $s0, %hi(D_8009A618)
/* 1074 80025C74 2610A618 */ addiu $s0, $s0, %lo(D_8009A618)
/* 1078 80025C78 AFBF0014 */ sw $ra, 0x14($sp)
/* 107C 80025C7C 8E040000 */ lw $a0, ($s0)
/* 1080 80025C80 0C01834C */ jal func_80060D30
/* 1084 80025C84 0000302D */ daddu $a2, $zero, $zero
/* 1088 80025C88 3C05B3FF */ lui $a1, 0xb3ff
/* 108C 80025C8C 34A50004 */ ori $a1, $a1, 4
/* 1090 80025C90 8E040000 */ lw $a0, ($s0)
/* 1094 80025C94 0C01834C */ jal func_80060D30
/* 1098 80025C98 0000302D */ daddu $a2, $zero, $zero
/* 109C 80025C9C 3C05B3FF */ lui $a1, 0xb3ff
/* 10A0 80025CA0 3C064953 */ lui $a2, 0x4953
/* 10A4 80025CA4 8E040000 */ lw $a0, ($s0)
/* 10A8 80025CA8 0C01834C */ jal func_80060D30
/* 10AC 80025CAC 34C63634 */ ori $a2, $a2, 0x3634
/* 10B0 80025CB0 8FBF0014 */ lw $ra, 0x14($sp)
/* 10B4 80025CB4 8FB00010 */ lw $s0, 0x10($sp)
/* 10B8 80025CB8 03E00008 */ jr $ra
/* 10BC 80025CBC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80025CC0
/* 10C0 80025CC0 AFA40000 */ sw $a0, ($sp)
/* 10C4 80025CC4 AFA50004 */ sw $a1, 4($sp)
/* 10C8 80025CC8 AFA60008 */ sw $a2, 8($sp)
/* 10CC 80025CCC AFA7000C */ sw $a3, 0xc($sp)
/* 10D0 80025CD0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 10D4 80025CD4 0080302D */ daddu $a2, $a0, $zero
/* 10D8 80025CD8 3C048002 */ lui $a0, %hi(func_80025D74)
/* 10DC 80025CDC 24845D74 */ addiu $a0, $a0, %lo(func_80025D74)
/* 10E0 80025CE0 0000282D */ daddu $a1, $zero, $zero
/* 10E4 80025CE4 AFBF0010 */ sw $ra, 0x10($sp)
/* 10E8 80025CE8 0C01929C */ jal func_80064A70
/* 10EC 80025CEC 27A7001C */ addiu $a3, $sp, 0x1c
/* 10F0 80025CF0 8FBF0010 */ lw $ra, 0x10($sp)
/* 10F4 80025CF4 03E00008 */ jr $ra
/* 10F8 80025CF8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80025CFC
/* 10FC 80025CFC AFA40000 */ sw $a0, ($sp)
/* 1100 80025D00 AFA50004 */ sw $a1, 4($sp)
/* 1104 80025D04 AFA60008 */ sw $a2, 8($sp)
/* 1108 80025D08 AFA7000C */ sw $a3, 0xc($sp)
/* 110C 80025D0C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1110 80025D10 0080302D */ daddu $a2, $a0, $zero
/* 1114 80025D14 3C048002 */ lui $a0, %hi(func_80025D74)
/* 1118 80025D18 24845D74 */ addiu $a0, $a0, %lo(func_80025D74)
/* 111C 80025D1C 0000282D */ daddu $a1, $zero, $zero
/* 1120 80025D20 AFBF0010 */ sw $ra, 0x10($sp)
/* 1124 80025D24 0C01929C */ jal func_80064A70
/* 1128 80025D28 27A7001C */ addiu $a3, $sp, 0x1c
/* 112C 80025D2C 8FBF0010 */ lw $ra, 0x10($sp)
/* 1130 80025D30 03E00008 */ jr $ra
/* 1134 80025D34 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80025D38
/* 1138 80025D38 AFA40000 */ sw $a0, ($sp)
/* 113C 80025D3C AFA50004 */ sw $a1, 4($sp)
/* 1140 80025D40 AFA60008 */ sw $a2, 8($sp)
/* 1144 80025D44 AFA7000C */ sw $a3, 0xc($sp)
/* 1148 80025D48 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 114C 80025D4C 0080302D */ daddu $a2, $a0, $zero
/* 1150 80025D50 3C048002 */ lui $a0, %hi(func_80025D74)
/* 1154 80025D54 24845D74 */ addiu $a0, $a0, %lo(func_80025D74)
/* 1158 80025D58 0000282D */ daddu $a1, $zero, $zero
/* 115C 80025D5C AFBF0010 */ sw $ra, 0x10($sp)
/* 1160 80025D60 0C01929C */ jal func_80064A70
/* 1164 80025D64 27A7001C */ addiu $a3, $sp, 0x1c
/* 1168 80025D68 8FBF0010 */ lw $ra, 0x10($sp)
/* 116C 80025D6C 03E00008 */ jr $ra
/* 1170 80025D70 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80025D74
/* 1174 80025D74 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 1178 80025D78 AFB30024 */ sw $s3, 0x24($sp)
/* 117C 80025D7C 00A0982D */ daddu $s3, $a1, $zero
/* 1180 80025D80 AFB40028 */ sw $s4, 0x28($sp)
/* 1184 80025D84 00C0A02D */ daddu $s4, $a2, $zero
/* 1188 80025D88 3C05B3FF */ lui $a1, 0xb3ff
/* 118C 80025D8C AFB1001C */ sw $s1, 0x1c($sp)
/* 1190 80025D90 3C11800A */ lui $s1, %hi(D_8009A618)
/* 1194 80025D94 2631A618 */ addiu $s1, $s1, %lo(D_8009A618)
/* 1198 80025D98 AFB00018 */ sw $s0, 0x18($sp)
/* 119C 80025D9C 27B00010 */ addiu $s0, $sp, 0x10
/* 11A0 80025DA0 AFBF003C */ sw $ra, 0x3c($sp)
/* 11A4 80025DA4 AFBE0038 */ sw $fp, 0x38($sp)
/* 11A8 80025DA8 AFB70034 */ sw $s7, 0x34($sp)
/* 11AC 80025DAC AFB60030 */ sw $s6, 0x30($sp)
/* 11B0 80025DB0 AFB5002C */ sw $s5, 0x2c($sp)
/* 11B4 80025DB4 AFB20020 */ sw $s2, 0x20($sp)
/* 11B8 80025DB8 8E240000 */ lw $a0, ($s1)
/* 11BC 80025DBC 0C018364 */ jal func_80060D90
/* 11C0 80025DC0 0200302D */ daddu $a2, $s0, $zero
/* 11C4 80025DC4 3C034953 */ lui $v1, 0x4953
/* 11C8 80025DC8 8FA20010 */ lw $v0, 0x10($sp)
/* 11CC 80025DCC 34633634 */ ori $v1, $v1, 0x3634
/* 11D0 80025DD0 14430050 */ bne $v0, $v1, .L80025F14
/* 11D4 80025DD4 24020001 */ addiu $v0, $zero, 1
/* 11D8 80025DD8 3C05B3FF */ lui $a1, 0xb3ff
/* 11DC 80025DDC 34A50004 */ ori $a1, $a1, 4
/* 11E0 80025DE0 8E240000 */ lw $a0, ($s1)
/* 11E4 80025DE4 0C018364 */ jal func_80060D90
/* 11E8 80025DE8 0200302D */ daddu $a2, $s0, $zero
/* 11EC 80025DEC 3C05B3FF */ lui $a1, 0xb3ff
/* 11F0 80025DF0 0200302D */ daddu $a2, $s0, $zero
/* 11F4 80025DF4 8E240000 */ lw $a0, ($s1)
/* 11F8 80025DF8 8FB00010 */ lw $s0, 0x10($sp)
/* 11FC 80025DFC 0C018364 */ jal func_80060D90
/* 1200 80025E00 34A50014 */ ori $a1, $a1, 0x14
/* 1204 80025E04 8FB20010 */ lw $s2, 0x10($sp)
/* 1208 80025E08 3402FFDF */ ori $v0, $zero, 0xffdf
/* 120C 80025E0C 02541821 */ addu $v1, $s2, $s4
/* 1210 80025E10 0043102A */ slt $v0, $v0, $v1
/* 1214 80025E14 1040000B */ beqz $v0, .L80025E44
/* 1218 80025E18 3C02FFFF */ lui $v0, 0xffff
/* 121C 80025E1C 34420020 */ ori $v0, $v0, 0x20
/* 1220 80025E20 00621821 */ addu $v1, $v1, $v0
/* 1224 80025E24 0203102A */ slt $v0, $s0, $v1
/* 1228 80025E28 1440003A */ bnez $v0, .L80025F14
/* 122C 80025E2C 24020001 */ addiu $v0, $zero, 1
/* 1230 80025E30 0250102A */ slt $v0, $s2, $s0
/* 1234 80025E34 10400008 */ beqz $v0, .L80025E58
/* 1238 80025E38 24020001 */ addiu $v0, $zero, 1
/* 123C 80025E3C 080097C5 */ j .L80025F14
/* 1240 80025E40 00000000 */ nop
.L80025E44:
/* 1244 80025E44 0250102A */ slt $v0, $s2, $s0
/* 1248 80025E48 10400003 */ beqz $v0, .L80025E58
/* 124C 80025E4C 0203102A */ slt $v0, $s0, $v1
/* 1250 80025E50 14400030 */ bnez $v0, .L80025F14
/* 1254 80025E54 24020001 */ addiu $v0, $zero, 1
.L80025E58:
/* 1258 80025E58 12800027 */ beqz $s4, .L80025EF8
/* 125C 80025E5C 3C1E0FFF */ lui $fp, 0xfff
/* 1260 80025E60 37DEFFFC */ ori $fp, $fp, 0xfffc
/* 1264 80025E64 3C17B3FF */ lui $s7, 0xb3ff
/* 1268 80025E68 36F70020 */ ori $s7, $s7, 0x20
/* 126C 80025E6C 3C15800A */ lui $s5, %hi(D_8009A618)
/* 1270 80025E70 26B5A618 */ addiu $s5, $s5, %lo(D_8009A618)
/* 1274 80025E74 3C16FFFF */ lui $s6, 0xffff
/* 1278 80025E78 36D60020 */ ori $s6, $s6, 0x20
.L80025E7C:
/* 127C 80025E7C 92620000 */ lbu $v0, ($s3)
/* 1280 80025E80 1040001A */ beqz $v0, .L80025EEC
/* 1284 80025E84 025E8824 */ and $s1, $s2, $fp
/* 1288 80025E88 02378821 */ addu $s1, $s1, $s7
/* 128C 80025E8C 0220282D */ daddu $a1, $s1, $zero
/* 1290 80025E90 27A60010 */ addiu $a2, $sp, 0x10
/* 1294 80025E94 32500003 */ andi $s0, $s2, 3
/* 1298 80025E98 26520001 */ addiu $s2, $s2, 1
/* 129C 80025E9C 24070003 */ addiu $a3, $zero, 3
/* 12A0 80025EA0 00F08023 */ subu $s0, $a3, $s0
/* 12A4 80025EA4 8EA40000 */ lw $a0, ($s5)
/* 12A8 80025EA8 0C018364 */ jal func_80060D90
/* 12AC 80025EAC 00F08004 */ sllv $s0, $s0, $a3
/* 12B0 80025EB0 0220282D */ daddu $a1, $s1, $zero
/* 12B4 80025EB4 240700FF */ addiu $a3, $zero, 0xff
/* 12B8 80025EB8 02071004 */ sllv $v0, $a3, $s0
/* 12BC 80025EBC 00021027 */ nor $v0, $zero, $v0
/* 12C0 80025EC0 8EA40000 */ lw $a0, ($s5)
/* 12C4 80025EC4 8FA30010 */ lw $v1, 0x10($sp)
/* 12C8 80025EC8 92660000 */ lbu $a2, ($s3)
/* 12CC 80025ECC 00621824 */ and $v1, $v1, $v0
/* 12D0 80025ED0 02063004 */ sllv $a2, $a2, $s0
/* 12D4 80025ED4 0C01834C */ jal func_80060D30
/* 12D8 80025ED8 00663025 */ or $a2, $v1, $a2
/* 12DC 80025EDC 3407FFDF */ ori $a3, $zero, 0xffdf
/* 12E0 80025EE0 00F2102A */ slt $v0, $a3, $s2
/* 12E4 80025EE4 54400001 */ bnel $v0, $zero, .L80025EEC
/* 12E8 80025EE8 02569021 */ addu $s2, $s2, $s6
.L80025EEC:
/* 12EC 80025EEC 2694FFFF */ addiu $s4, $s4, -1
/* 12F0 80025EF0 1680FFE2 */ bnez $s4, .L80025E7C
/* 12F4 80025EF4 26730001 */ addiu $s3, $s3, 1
.L80025EF8:
/* 12F8 80025EF8 3C04800A */ lui $a0, %hi(D_8009A618)
/* 12FC 80025EFC 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 1300 80025F00 3C05B3FF */ lui $a1, 0xb3ff
/* 1304 80025F04 34A50014 */ ori $a1, $a1, 0x14
/* 1308 80025F08 0C01834C */ jal func_80060D30
/* 130C 80025F0C 0240302D */ daddu $a2, $s2, $zero
/* 1310 80025F10 24020001 */ addiu $v0, $zero, 1
.L80025F14:
/* 1314 80025F14 8FBF003C */ lw $ra, 0x3c($sp)
/* 1318 80025F18 8FBE0038 */ lw $fp, 0x38($sp)
/* 131C 80025F1C 8FB70034 */ lw $s7, 0x34($sp)
/* 1320 80025F20 8FB60030 */ lw $s6, 0x30($sp)
/* 1324 80025F24 8FB5002C */ lw $s5, 0x2c($sp)
/* 1328 80025F28 8FB40028 */ lw $s4, 0x28($sp)
/* 132C 80025F2C 8FB30024 */ lw $s3, 0x24($sp)
/* 1330 80025F30 8FB20020 */ lw $s2, 0x20($sp)
/* 1334 80025F34 8FB1001C */ lw $s1, 0x1c($sp)
/* 1338 80025F38 8FB00018 */ lw $s0, 0x18($sp)
/* 133C 80025F3C 03E00008 */ jr $ra
/* 1340 80025F40 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800266E8
/* 1AE8 800266E8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1AEC 800266EC 24020001 */ addiu $v0, $zero, 1
/* 1AF0 800266F0 AFBF0010 */ sw $ra, 0x10($sp)
/* 1AF4 800266F4 3C018007 */ lui $at, %hi(D_80073DE0)
/* 1AF8 800266F8 AC223DE0 */ sw $v0, %lo(D_80073DE0)($at)
/* 1AFC 800266FC 0C017F54 */ jal func_8005FD50
/* 1B00 80026700 00000000 */ nop
/* 1B04 80026704 8FBF0010 */ lw $ra, 0x10($sp)
/* 1B08 80026708 03E00008 */ jr $ra
/* 1B0C 8002670C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -41,7 +41,7 @@ glabel func_80035DFC
/* 1128C 80035E8C 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
/* 11290 80035E90 8C620000 */ lw $v0, ($v1)
/* 11294 80035E94 34420008 */ ori $v0, $v0, 8
/* 11298 80035E98 0C017F54 */ jal func_8005FD50
/* 11298 80035E98 0C017F54 */ jal nuContRmbForceStop
/* 1129C 80035E9C AC620000 */ sw $v0, ($v1)
/* 112A0 80035EA0 3C04800A */ lui $a0, %hi(D_8009E754)
/* 112A4 80035EA4 2484E754 */ addiu $a0, $a0, %lo(D_8009E754)

View File

@ -31,7 +31,7 @@ glabel func_800360EC
/* 1154C 8003614C 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
/* 11550 80036150 8C620000 */ lw $v0, ($v1)
/* 11554 80036154 34420008 */ ori $v0, $v0, 8
/* 11558 80036158 0C017F54 */ jal func_8005FD50
/* 11558 80036158 0C017F54 */ jal nuContRmbForceStop
/* 1155C 8003615C AC620000 */ sw $v0, ($v1)
/* 11560 80036160 96020000 */ lhu $v0, ($s0)
/* 11564 80036164 24030004 */ addiu $v1, $zero, 4

View File

@ -1,19 +1,7 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80025F44
/* 1344 80025F44 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1348 80025F48 AFBF0010 */ sw $ra, 0x10($sp)
/* 134C 80025F4C 0080382D */ daddu $a3, $a0, $zero
/* 1350 80025F50 3C048009 */ lui $a0, %hi(D_80097D10)
/* 1354 80025F54 24847D10 */ addiu $a0, $a0, %lo(D_80097D10)
/* 1358 80025F58 0C00973F */ jal func_80025CFC
/* 135C 80025F5C 00000000 */ nop
.L80025F60:
/* 1360 80025F60 080097D8 */ j .L80025F60
/* 1364 80025F64 00000000 */ nop
/* 1368 80025F68 00000000 */ nop
/* 136C 80025F6C 00000000 */ nop
glabel func_80025F70
/* 1370 80025F70 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1374 80025F74 3C038000 */ lui $v1, %hi(D_80000300)
/* 1378 80025F78 8C630300 */ lw $v1, %lo(D_80000300)($v1)
@ -54,8 +42,8 @@ glabel func_80025F44
/* 13FC 80025FFC 24846040 */ addiu $a0, $a0, %lo(D_80026040)
/* 1400 80026000 0C017BC0 */ jal func_8005EF00
/* 1404 80026004 00000000 */ nop
/* 1408 80026008 3C048002 */ lui $a0, %hi(func_800266E8)
/* 140C 8002600C 248466E8 */ addiu $a0, $a0, %lo(func_800266E8)
/* 1408 80026008 3C048002 */ lui $a0, %hi(gfxPreNMI_Callback)
/* 140C 8002600C 248466E8 */ addiu $a0, $a0, %lo(gfxPreNMI_Callback)
/* 1410 80026010 0C017BD0 */ jal func_8005EF40
/* 1414 80026014 00000000 */ nop
/* 1418 80026018 0C019674 */ jal func_800659D0

View File

@ -0,0 +1,368 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80026148
/* 1548 80026148 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 154C 8002614C 3C038007 */ lui $v1, %hi(D_800741D4)
/* 1550 80026150 8C6341D4 */ lw $v1, %lo(D_800741D4)($v1)
/* 1554 80026154 3C048016 */ lui $a0, %hi(D_80164000)
/* 1558 80026158 24844000 */ addiu $a0, $a0, %lo(D_80164000)
/* 155C 8002615C AFB20020 */ sw $s2, 0x20($sp)
/* 1560 80026160 3C12800A */ lui $s2, %hi(D_8009A64C)
/* 1564 80026164 2652A64C */ addiu $s2, $s2, %lo(D_8009A64C)
/* 1568 80026168 AFBF003C */ sw $ra, 0x3c($sp)
/* 156C 8002616C AFBE0038 */ sw $fp, 0x38($sp)
/* 1570 80026170 AFB70034 */ sw $s7, 0x34($sp)
/* 1574 80026174 AFB60030 */ sw $s6, 0x30($sp)
/* 1578 80026178 AFB5002C */ sw $s5, 0x2c($sp)
/* 157C 8002617C AFB40028 */ sw $s4, 0x28($sp)
/* 1580 80026180 AFB30024 */ sw $s3, 0x24($sp)
/* 1584 80026184 AFB1001C */ sw $s1, 0x1c($sp)
/* 1588 80026188 AFB00018 */ sw $s0, 0x18($sp)
/* 158C 8002618C 3C018007 */ lui $at, %hi(D_800741D0)
/* 1590 80026190 A42041D0 */ sh $zero, %lo(D_800741D0)($at)
/* 1594 80026194 00031040 */ sll $v0, $v1, 1
/* 1598 80026198 00431021 */ addu $v0, $v0, $v1
/* 159C 8002619C 00021940 */ sll $v1, $v0, 5
/* 15A0 800261A0 00431021 */ addu $v0, $v0, $v1
/* 15A4 800261A4 00021980 */ sll $v1, $v0, 6
/* 15A8 800261A8 00431021 */ addu $v0, $v0, $v1
/* 15AC 800261AC 00021100 */ sll $v0, $v0, 4
/* 15B0 800261B0 00441021 */ addu $v0, $v0, $a0
/* 15B4 800261B4 3C01800A */ lui $at, %hi(D_8009A654)
/* 15B8 800261B8 AC22A654 */ sw $v0, %lo(D_8009A654)($at)
/* 15BC 800261BC 24420230 */ addiu $v0, $v0, 0x230
/* 15C0 800261C0 AE420000 */ sw $v0, ($s2)
/* 15C4 800261C4 3C118007 */ lui $s1, %hi(D_80073DE4)
/* 15C8 800261C8 8E313DE4 */ lw $s1, %lo(D_80073DE4)($s1)
/* 15CC 800261CC 0C009C5C */ jal func_80027170
/* 15D0 800261D0 3C13070F */ lui $s3, 0x70f
/* 15D4 800261D4 3C06FF10 */ lui $a2, 0xff10
/* 15D8 800261D8 34C6013F */ ori $a2, $a2, 0x13f
/* 15DC 800261DC 3C02FE00 */ lui $v0, 0xfe00
/* 15E0 800261E0 8E500000 */ lw $s0, ($s2)
/* 15E4 800261E4 3C038000 */ lui $v1, 0x8000
/* 15E8 800261E8 0200282D */ daddu $a1, $s0, $zero
/* 15EC 800261EC 26100008 */ addiu $s0, $s0, 8
/* 15F0 800261F0 AE500000 */ sw $s0, ($s2)
/* 15F4 800261F4 ACA20000 */ sw $v0, ($a1)
/* 15F8 800261F8 3C02800A */ lui $v0, %hi(D_8009A5BC)
/* 15FC 800261FC 8C42A5BC */ lw $v0, %lo(D_8009A5BC)($v0)
/* 1600 80026200 0220202D */ daddu $a0, $s1, $zero
/* 1604 80026204 00431021 */ addu $v0, $v0, $v1
/* 1608 80026208 ACA20004 */ sw $v0, 4($a1)
/* 160C 8002620C 26020008 */ addiu $v0, $s0, 8
/* 1610 80026210 AE420000 */ sw $v0, ($s2)
/* 1614 80026214 0C018798 */ jal func_80061E60
/* 1618 80026218 AE060000 */ sw $a2, ($s0)
/* 161C 8002621C 3C050050 */ lui $a1, 0x50
/* 1620 80026220 34A503C0 */ ori $a1, $a1, 0x3c0
/* 1624 80026224 3C06D700 */ lui $a2, 0xd700
/* 1628 80026228 34C60002 */ ori $a2, $a2, 2
/* 162C 8002622C 3C07E300 */ lui $a3, 0xe300
/* 1630 80026230 34E70A01 */ ori $a3, $a3, 0xa01
/* 1634 80026234 3C08E300 */ lui $t0, 0xe300
/* 1638 80026238 35080C00 */ ori $t0, $t0, 0xc00
/* 163C 8002623C 3C09E300 */ lui $t1, 0xe300
/* 1640 80026240 35291001 */ ori $t1, $t1, 0x1001
/* 1644 80026244 3C0BE200 */ lui $t3, 0xe200
/* 1648 80026248 356B001C */ ori $t3, $t3, 0x1c
/* 164C 8002624C 3C0A0F0A */ lui $t2, 0xf0a
/* 1650 80026250 354A4000 */ ori $t2, $t2, 0x4000
/* 1654 80026254 3C0CE300 */ lui $t4, 0xe300
/* 1658 80026258 358C1201 */ ori $t4, $t4, 0x1201
/* 165C 8002625C 3C0DFCFF */ lui $t5, 0xfcff
/* 1660 80026260 35ADFFFF */ ori $t5, $t5, 0xffff
/* 1664 80026264 3C0EE200 */ lui $t6, 0xe200
/* 1668 80026268 35CE1E01 */ ori $t6, $t6, 0x1e01
/* 166C 8002626C 3C0FFD88 */ lui $t7, 0xfd88
/* 1670 80026270 35EF003F */ ori $t7, $t7, 0x3f
/* 1674 80026274 3C11F588 */ lui $s1, 0xf588
/* 1678 80026278 36311000 */ ori $s1, $s1, 0x1000
/* 167C 8002627C 3673E01C */ ori $s3, $s3, 0xe01c
/* 1680 80026280 3C14F580 */ lui $s4, 0xf580
/* 1684 80026284 36941000 */ ori $s4, $s4, 0x1000
/* 1688 80026288 3C15001F */ lui $s5, 0x1f
/* 168C 8002628C 36B5C01C */ ori $s5, $s5, 0xc01c
/* 1690 80026290 0000B02D */ daddu $s6, $zero, $zero
/* 1694 80026294 3C17E400 */ lui $s7, 0xe400
/* 1698 80026298 3C19E100 */ lui $t9, 0xe100
/* 169C 8002629C 3C18F100 */ lui $t8, 0xf100
/* 16A0 800262A0 8E430000 */ lw $v1, ($s2)
/* 16A4 800262A4 241E0098 */ addiu $fp, $zero, 0x98
/* 16A8 800262A8 AE020004 */ sw $v0, 4($s0)
/* 16AC 800262AC 3C02ED00 */ lui $v0, 0xed00
/* 16B0 800262B0 0060202D */ daddu $a0, $v1, $zero
/* 16B4 800262B4 24630008 */ addiu $v1, $v1, 8
/* 16B8 800262B8 AE430000 */ sw $v1, ($s2)
/* 16BC 800262BC AC820000 */ sw $v0, ($a0)
/* 16C0 800262C0 24620008 */ addiu $v0, $v1, 8
/* 16C4 800262C4 AC850004 */ sw $a1, 4($a0)
/* 16C8 800262C8 AE420000 */ sw $v0, ($s2)
/* 16CC 800262CC 2402FFFF */ addiu $v0, $zero, -1
/* 16D0 800262D0 AC620004 */ sw $v0, 4($v1)
/* 16D4 800262D4 24620010 */ addiu $v0, $v1, 0x10
/* 16D8 800262D8 AC660000 */ sw $a2, ($v1)
/* 16DC 800262DC AE420000 */ sw $v0, ($s2)
/* 16E0 800262E0 24620018 */ addiu $v0, $v1, 0x18
/* 16E4 800262E4 AC670008 */ sw $a3, 8($v1)
/* 16E8 800262E8 AC60000C */ sw $zero, 0xc($v1)
/* 16EC 800262EC AE420000 */ sw $v0, ($s2)
/* 16F0 800262F0 24620020 */ addiu $v0, $v1, 0x20
/* 16F4 800262F4 AC680010 */ sw $t0, 0x10($v1)
/* 16F8 800262F8 AC600014 */ sw $zero, 0x14($v1)
/* 16FC 800262FC AE420000 */ sw $v0, ($s2)
/* 1700 80026300 24620028 */ addiu $v0, $v1, 0x28
/* 1704 80026304 AC690018 */ sw $t1, 0x18($v1)
/* 1708 80026308 AC60001C */ sw $zero, 0x1c($v1)
/* 170C 8002630C AE420000 */ sw $v0, ($s2)
/* 1710 80026310 24620030 */ addiu $v0, $v1, 0x30
/* 1714 80026314 AC6B0020 */ sw $t3, 0x20($v1)
/* 1718 80026318 AC6A0024 */ sw $t2, 0x24($v1)
/* 171C 8002631C AE420000 */ sw $v0, ($s2)
/* 1720 80026320 24620038 */ addiu $v0, $v1, 0x38
/* 1724 80026324 AC6C0028 */ sw $t4, 0x28($v1)
/* 1728 80026328 AC60002C */ sw $zero, 0x2c($v1)
/* 172C 8002632C AE420000 */ sw $v0, ($s2)
/* 1730 80026330 2402F3F9 */ addiu $v0, $zero, -0xc07
/* 1734 80026334 AC620034 */ sw $v0, 0x34($v1)
/* 1738 80026338 24620040 */ addiu $v0, $v1, 0x40
/* 173C 8002633C AC6D0030 */ sw $t5, 0x30($v1)
/* 1740 80026340 AE420000 */ sw $v0, ($s2)
/* 1744 80026344 24020001 */ addiu $v0, $zero, 1
/* 1748 80026348 AC62003C */ sw $v0, 0x3c($v1)
/* 174C 8002634C 24620048 */ addiu $v0, $v1, 0x48
/* 1750 80026350 AC6E0038 */ sw $t6, 0x38($v1)
/* 1754 80026354 AE420000 */ sw $v0, ($s2)
/* 1758 80026358 3C02F900 */ lui $v0, 0xf900
/* 175C 8002635C AC620040 */ sw $v0, 0x40($v1)
/* 1760 80026360 2402007F */ addiu $v0, $zero, 0x7f
/* 1764 80026364 AC620044 */ sw $v0, 0x44($v1)
/* 1768 80026368 24620050 */ addiu $v0, $v1, 0x50
/* 176C 8002636C AE420000 */ sw $v0, ($s2)
/* 1770 80026370 3C028007 */ lui $v0, %hi(D_80073DF0)
/* 1774 80026374 24423DF0 */ addiu $v0, $v0, %lo(D_80073DF0)
/* 1778 80026378 AC6F0048 */ sw $t7, 0x48($v1)
/* 177C 8002637C AC62004C */ sw $v0, 0x4c($v1)
/* 1780 80026380 24620058 */ addiu $v0, $v1, 0x58
/* 1784 80026384 AE420000 */ sw $v0, ($s2)
/* 1788 80026388 3C020700 */ lui $v0, 0x700
/* 178C 8002638C AC620054 */ sw $v0, 0x54($v1)
/* 1790 80026390 24620060 */ addiu $v0, $v1, 0x60
/* 1794 80026394 AC710050 */ sw $s1, 0x50($v1)
/* 1798 80026398 AE420000 */ sw $v0, ($s2)
/* 179C 8002639C 3C02E600 */ lui $v0, 0xe600
/* 17A0 800263A0 AC620058 */ sw $v0, 0x58($v1)
/* 17A4 800263A4 24620068 */ addiu $v0, $v1, 0x68
/* 17A8 800263A8 AC60005C */ sw $zero, 0x5c($v1)
/* 17AC 800263AC AE420000 */ sw $v0, ($s2)
/* 17B0 800263B0 3C02F400 */ lui $v0, 0xf400
/* 17B4 800263B4 AC620060 */ sw $v0, 0x60($v1)
/* 17B8 800263B8 24620070 */ addiu $v0, $v1, 0x70
/* 17BC 800263BC AC730064 */ sw $s3, 0x64($v1)
/* 17C0 800263C0 AE420000 */ sw $v0, ($s2)
/* 17C4 800263C4 3C02E700 */ lui $v0, 0xe700
/* 17C8 800263C8 AC620068 */ sw $v0, 0x68($v1)
/* 17CC 800263CC 24620078 */ addiu $v0, $v1, 0x78
/* 17D0 800263D0 AC60006C */ sw $zero, 0x6c($v1)
/* 17D4 800263D4 AE420000 */ sw $v0, ($s2)
/* 17D8 800263D8 24620080 */ addiu $v0, $v1, 0x80
/* 17DC 800263DC AC740070 */ sw $s4, 0x70($v1)
/* 17E0 800263E0 AC600074 */ sw $zero, 0x74($v1)
/* 17E4 800263E4 AE420000 */ sw $v0, ($s2)
/* 17E8 800263E8 3C02F200 */ lui $v0, 0xf200
/* 17EC 800263EC AC620078 */ sw $v0, 0x78($v1)
/* 17F0 800263F0 AC75007C */ sw $s5, 0x7c($v1)
/* 17F4 800263F4 0000702D */ daddu $t6, $zero, $zero
.L800263F8:
/* 17F8 800263F8 00161C00 */ sll $v1, $s6, 0x10
/* 17FC 800263FC 00031C03 */ sra $v1, $v1, 0x10
/* 1800 80026400 2474000E */ addiu $s4, $v1, 0xe
/* 1804 80026404 000318C0 */ sll $v1, $v1, 3
/* 1808 80026408 246200A8 */ addiu $v0, $v1, 0xa8
/* 180C 8002640C 00021080 */ sll $v0, $v0, 2
/* 1810 80026410 30420FFF */ andi $v0, $v0, 0xfff
/* 1814 80026414 00029B00 */ sll $s3, $v0, 0xc
/* 1818 80026418 246200A0 */ addiu $v0, $v1, 0xa0
/* 181C 8002641C 00021080 */ sll $v0, $v0, 2
/* 1820 80026420 30420FFF */ andi $v0, $v0, 0xfff
/* 1824 80026424 00028B00 */ sll $s1, $v0, 0xc
/* 1828 80026428 241500A0 */ addiu $s5, $zero, 0xa0
/* 182C 8002642C 02A31023 */ subu $v0, $s5, $v1
/* 1830 80026430 00021080 */ sll $v0, $v0, 2
/* 1834 80026434 30420FFF */ andi $v0, $v0, 0xfff
/* 1838 80026438 00028300 */ sll $s0, $v0, 0xc
/* 183C 8002643C 03C31823 */ subu $v1, $fp, $v1
/* 1840 80026440 00031880 */ sll $v1, $v1, 2
/* 1844 80026444 30630FFF */ andi $v1, $v1, 0xfff
/* 1848 80026448 00037B00 */ sll $t7, $v1, 0xc
/* 184C 8002644C 000E1400 */ sll $v0, $t6, 0x10
.L80026450:
/* 1850 80026450 00023C03 */ sra $a3, $v0, 0x10
/* 1854 80026454 02871823 */ subu $v1, $s4, $a3
/* 1858 80026458 24020021 */ addiu $v0, $zero, 0x21
/* 185C 8002645C 00431023 */ subu $v0, $v0, $v1
/* 1860 80026460 00021FC2 */ srl $v1, $v0, 0x1f
/* 1864 80026464 00431021 */ addu $v0, $v0, $v1
/* 1868 80026468 3C038007 */ lui $v1, %hi(D_80073FF0)
/* 186C 8002646C 94633FF0 */ lhu $v1, %lo(D_80073FF0)($v1)
/* 1870 80026470 00021043 */ sra $v0, $v0, 1
/* 1874 80026474 2463FFF1 */ addiu $v1, $v1, -0xf
/* 1878 80026478 00431023 */ subu $v0, $v0, $v1
/* 187C 8002647C 00021400 */ sll $v0, $v0, 0x10
/* 1880 80026480 00026C03 */ sra $t5, $v0, 0x10
/* 1884 80026484 29A20010 */ slti $v0, $t5, 0x10
/* 1888 80026488 1040005C */ beqz $v0, .L800265FC
/* 188C 8002648C 25C20001 */ addiu $v0, $t6, 1
/* 1890 80026490 05A2005B */ bltzl $t5, .L80026600
/* 1894 80026494 0040702D */ daddu $t6, $v0, $zero
/* 1898 80026498 3C060400 */ lui $a2, 0x400
/* 189C 8002649C 34C60400 */ ori $a2, $a2, 0x400
/* 18A0 800264A0 3C0A0400 */ lui $t2, 0x400
/* 18A4 800264A4 354AFC00 */ ori $t2, $t2, 0xfc00
/* 18A8 800264A8 3C0BFC00 */ lui $t3, 0xfc00
/* 18AC 800264AC 356B0400 */ ori $t3, $t3, 0x400
/* 18B0 800264B0 3C0CFC00 */ lui $t4, 0xfc00
/* 18B4 800264B4 358CFC00 */ ori $t4, $t4, 0xfc00
/* 18B8 800264B8 000748C0 */ sll $t1, $a3, 3
/* 18BC 800264BC 25240008 */ addiu $a0, $t1, 8
/* 18C0 800264C0 00042080 */ sll $a0, $a0, 2
/* 18C4 800264C4 30840FFF */ andi $a0, $a0, 0xfff
/* 18C8 800264C8 00972025 */ or $a0, $a0, $s7
/* 18CC 800264CC 02641025 */ or $v0, $s3, $a0
/* 18D0 800264D0 00073940 */ sll $a3, $a3, 5
/* 18D4 800264D4 30E70FFF */ andi $a3, $a3, 0xfff
/* 18D8 800264D8 000D4600 */ sll $t0, $t5, 0x18
/* 18DC 800264DC 8E430000 */ lw $v1, ($s2)
/* 18E0 800264E0 02042025 */ or $a0, $s0, $a0
/* 18E4 800264E4 0060282D */ daddu $a1, $v1, $zero
/* 18E8 800264E8 24630008 */ addiu $v1, $v1, 8
/* 18EC 800264EC AE430000 */ sw $v1, ($s2)
/* 18F0 800264F0 ACA20000 */ sw $v0, ($a1)
/* 18F4 800264F4 02271025 */ or $v0, $s1, $a3
/* 18F8 800264F8 ACA20004 */ sw $v0, 4($a1)
/* 18FC 800264FC 24620008 */ addiu $v0, $v1, 8
/* 1900 80026500 AE420000 */ sw $v0, ($s2)
/* 1904 80026504 24620010 */ addiu $v0, $v1, 0x10
/* 1908 80026508 AC790000 */ sw $t9, ($v1)
/* 190C 8002650C AC680004 */ sw $t0, 4($v1)
/* 1910 80026510 AE420000 */ sw $v0, ($s2)
/* 1914 80026514 24620018 */ addiu $v0, $v1, 0x18
/* 1918 80026518 240500F0 */ addiu $a1, $zero, 0xf0
/* 191C 8002651C 00A92823 */ subu $a1, $a1, $t1
/* 1920 80026520 00052880 */ sll $a1, $a1, 2
/* 1924 80026524 30A50FFF */ andi $a1, $a1, 0xfff
/* 1928 80026528 00B72825 */ or $a1, $a1, $s7
/* 192C 8002652C AC780008 */ sw $t8, 8($v1)
/* 1930 80026530 AC66000C */ sw $a2, 0xc($v1)
/* 1934 80026534 AE420000 */ sw $v0, ($s2)
/* 1938 80026538 02651025 */ or $v0, $s3, $a1
/* 193C 8002653C 240600E8 */ addiu $a2, $zero, 0xe8
/* 1940 80026540 00C93023 */ subu $a2, $a2, $t1
/* 1944 80026544 00063080 */ sll $a2, $a2, 2
/* 1948 80026548 30C60FFF */ andi $a2, $a2, 0xfff
/* 194C 8002654C AC620010 */ sw $v0, 0x10($v1)
/* 1950 80026550 02261025 */ or $v0, $s1, $a2
/* 1954 80026554 AC620014 */ sw $v0, 0x14($v1)
/* 1958 80026558 24620020 */ addiu $v0, $v1, 0x20
/* 195C 8002655C 350800E0 */ ori $t0, $t0, 0xe0
/* 1960 80026560 AE420000 */ sw $v0, ($s2)
/* 1964 80026564 24620028 */ addiu $v0, $v1, 0x28
/* 1968 80026568 AC790018 */ sw $t9, 0x18($v1)
/* 196C 8002656C AC68001C */ sw $t0, 0x1c($v1)
/* 1970 80026570 AE420000 */ sw $v0, ($s2)
/* 1974 80026574 24620030 */ addiu $v0, $v1, 0x30
/* 1978 80026578 01E73825 */ or $a3, $t7, $a3
/* 197C 8002657C AC780020 */ sw $t8, 0x20($v1)
/* 1980 80026580 AC6A0024 */ sw $t2, 0x24($v1)
/* 1984 80026584 AE420000 */ sw $v0, ($s2)
/* 1988 80026588 24620038 */ addiu $v0, $v1, 0x38
/* 198C 8002658C AC640028 */ sw $a0, 0x28($v1)
/* 1990 80026590 000D2200 */ sll $a0, $t5, 8
/* 1994 80026594 348400E0 */ ori $a0, $a0, 0xe0
/* 1998 80026598 00042400 */ sll $a0, $a0, 0x10
/* 199C 8002659C AC67002C */ sw $a3, 0x2c($v1)
/* 19A0 800265A0 AE420000 */ sw $v0, ($s2)
/* 19A4 800265A4 24620040 */ addiu $v0, $v1, 0x40
/* 19A8 800265A8 AC790030 */ sw $t9, 0x30($v1)
/* 19AC 800265AC AC640034 */ sw $a0, 0x34($v1)
/* 19B0 800265B0 AE420000 */ sw $v0, ($s2)
/* 19B4 800265B4 24620048 */ addiu $v0, $v1, 0x48
/* 19B8 800265B8 02052825 */ or $a1, $s0, $a1
/* 19BC 800265BC 01E63025 */ or $a2, $t7, $a2
/* 19C0 800265C0 AC780038 */ sw $t8, 0x38($v1)
/* 19C4 800265C4 AC6B003C */ sw $t3, 0x3c($v1)
/* 19C8 800265C8 AE420000 */ sw $v0, ($s2)
/* 19CC 800265CC 24620050 */ addiu $v0, $v1, 0x50
/* 19D0 800265D0 348400E0 */ ori $a0, $a0, 0xe0
/* 19D4 800265D4 AC650040 */ sw $a1, 0x40($v1)
/* 19D8 800265D8 AC660044 */ sw $a2, 0x44($v1)
/* 19DC 800265DC AE420000 */ sw $v0, ($s2)
/* 19E0 800265E0 24620058 */ addiu $v0, $v1, 0x58
/* 19E4 800265E4 AC790048 */ sw $t9, 0x48($v1)
/* 19E8 800265E8 AC64004C */ sw $a0, 0x4c($v1)
/* 19EC 800265EC AE420000 */ sw $v0, ($s2)
/* 19F0 800265F0 AC780050 */ sw $t8, 0x50($v1)
/* 19F4 800265F4 AC6C0054 */ sw $t4, 0x54($v1)
/* 19F8 800265F8 25C20001 */ addiu $v0, $t6, 1
.L800265FC:
/* 19FC 800265FC 0040702D */ daddu $t6, $v0, $zero
.L80026600:
/* 1A00 80026600 00021400 */ sll $v0, $v0, 0x10
/* 1A04 80026604 00021403 */ sra $v0, $v0, 0x10
/* 1A08 80026608 2842000F */ slti $v0, $v0, 0xf
/* 1A0C 8002660C 1440FF90 */ bnez $v0, .L80026450
/* 1A10 80026610 000E1400 */ sll $v0, $t6, 0x10
/* 1A14 80026614 26C20001 */ addiu $v0, $s6, 1
/* 1A18 80026618 0040B02D */ daddu $s6, $v0, $zero
/* 1A1C 8002661C 00021400 */ sll $v0, $v0, 0x10
/* 1A20 80026620 00021403 */ sra $v0, $v0, 0x10
/* 1A24 80026624 28420014 */ slti $v0, $v0, 0x14
/* 1A28 80026628 1440FF73 */ bnez $v0, .L800263F8
/* 1A2C 8002662C 0000702D */ daddu $t6, $zero, $zero
/* 1A30 80026630 3C06800A */ lui $a2, %hi(D_8009A64C)
/* 1A34 80026634 24C6A64C */ addiu $a2, $a2, %lo(D_8009A64C)
/* 1A38 80026638 3C038007 */ lui $v1, %hi(D_80073FF0)
/* 1A3C 8002663C 24633FF0 */ addiu $v1, $v1, %lo(D_80073FF0)
/* 1A40 80026640 8CC50000 */ lw $a1, ($a2)
/* 1A44 80026644 3C08800A */ lui $t0, %hi(D_8009A654)
/* 1A48 80026648 8D08A654 */ lw $t0, %lo(D_8009A654)($t0)
/* 1A4C 8002664C 94620000 */ lhu $v0, ($v1)
/* 1A50 80026650 00A0382D */ daddu $a3, $a1, $zero
/* 1A54 80026654 24A50008 */ addiu $a1, $a1, 8
/* 1A58 80026658 25040230 */ addiu $a0, $t0, 0x230
/* 1A5C 8002665C 24420001 */ addiu $v0, $v0, 1
/* 1A60 80026660 A4620000 */ sh $v0, ($v1)
/* 1A64 80026664 3C02E900 */ lui $v0, 0xe900
/* 1A68 80026668 ACC50000 */ sw $a1, ($a2)
/* 1A6C 8002666C ACE20000 */ sw $v0, ($a3)
/* 1A70 80026670 24A20008 */ addiu $v0, $a1, 8
/* 1A74 80026674 ACE00004 */ sw $zero, 4($a3)
/* 1A78 80026678 ACC20000 */ sw $v0, ($a2)
/* 1A7C 8002667C 3C02DF00 */ lui $v0, 0xdf00
/* 1A80 80026680 ACA20000 */ sw $v0, ($a1)
/* 1A84 80026684 ACA00004 */ sw $zero, 4($a1)
/* 1A88 80026688 24A5FDD8 */ addiu $a1, $a1, -0x228
/* 1A8C 8002668C 00A82823 */ subu $a1, $a1, $t0
/* 1A90 80026690 000528C3 */ sra $a1, $a1, 3
/* 1A94 80026694 000528C0 */ sll $a1, $a1, 3
/* 1A98 80026698 0000302D */ daddu $a2, $zero, $zero
/* 1A9C 8002669C 0C00B3C9 */ jal func_8002CF24
/* 1AA0 800266A0 3C070004 */ lui $a3, 4
/* 1AA4 800266A4 3C038007 */ lui $v1, %hi(D_800741D4)
/* 1AA8 800266A8 246341D4 */ addiu $v1, $v1, %lo(D_800741D4)
/* 1AAC 800266AC 8C620000 */ lw $v0, ($v1)
/* 1AB0 800266B0 38420001 */ xori $v0, $v0, 1
/* 1AB4 800266B4 AC620000 */ sw $v0, ($v1)
/* 1AB8 800266B8 8FBF003C */ lw $ra, 0x3c($sp)
/* 1ABC 800266BC 8FBE0038 */ lw $fp, 0x38($sp)
/* 1AC0 800266C0 8FB70034 */ lw $s7, 0x34($sp)
/* 1AC4 800266C4 8FB60030 */ lw $s6, 0x30($sp)
/* 1AC8 800266C8 8FB5002C */ lw $s5, 0x2c($sp)
/* 1ACC 800266CC 8FB40028 */ lw $s4, 0x28($sp)
/* 1AD0 800266D0 8FB30024 */ lw $s3, 0x24($sp)
/* 1AD4 800266D4 8FB20020 */ lw $s2, 0x20($sp)
/* 1AD8 800266D8 8FB1001C */ lw $s1, 0x1c($sp)
/* 1ADC 800266DC 8FB00018 */ lw $s0, 0x18($sp)
/* 1AE0 800266E0 03E00008 */ jr $ra
/* 1AE4 800266E4 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -0,0 +1,188 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80026710
/* 1B10 80026710 3C038007 */ lui $v1, %hi(D_8007417C)
/* 1B14 80026714 8C63417C */ lw $v1, %lo(D_8007417C)($v1)
/* 1B18 80026718 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1B1C 8002671C AFBF0018 */ sw $ra, 0x18($sp)
/* 1B20 80026720 AFB10014 */ sw $s1, 0x14($sp)
/* 1B24 80026724 AFB00010 */ sw $s0, 0x10($sp)
/* 1B28 80026728 94620134 */ lhu $v0, 0x134($v1)
/* 1B2C 8002672C 3C040CDF */ lui $a0, 0xcdf
/* 1B30 80026730 24420001 */ addiu $v0, $v0, 1
/* 1B34 80026734 A4620134 */ sh $v0, 0x134($v1)
/* 1B38 80026738 3C038011 */ lui $v1, %hi(D_8010F450)
/* 1B3C 8002673C 2463F450 */ addiu $v1, $v1, %lo(D_8010F450)
/* 1B40 80026740 8C6202BC */ lw $v0, 0x2bc($v1)
/* 1B44 80026744 3484E5FF */ ori $a0, $a0, 0xe5ff
/* 1B48 80026748 24420002 */ addiu $v0, $v0, 2
/* 1B4C 8002674C AC6202BC */ sw $v0, 0x2bc($v1)
/* 1B50 80026750 0082102B */ sltu $v0, $a0, $v0
/* 1B54 80026754 54400001 */ bnel $v0, $zero, .L8002675C
/* 1B58 80026758 AC6402BC */ sw $a0, 0x2bc($v1)
.L8002675C:
/* 1B5C 8002675C 0C00A211 */ jal func_80028844
/* 1B60 80026760 00000000 */ nop
/* 1B64 80026764 0C00A3D3 */ jal func_80028F4C
/* 1B68 80026768 00000000 */ nop
/* 1B6C 8002676C 3C048007 */ lui $a0, %hi(D_80074001)
/* 1B70 80026770 24844001 */ addiu $a0, $a0, %lo(D_80074001)
/* 1B74 80026774 80820000 */ lb $v0, ($a0)
/* 1B78 80026778 90830000 */ lbu $v1, ($a0)
/* 1B7C 8002677C 10400008 */ beqz $v0, .L800267A0
/* 1B80 80026780 2462FFFF */ addiu $v0, $v1, -1
/* 1B84 80026784 A0820000 */ sb $v0, ($a0)
/* 1B88 80026788 00021600 */ sll $v0, $v0, 0x18
/* 1B8C 8002678C 14400087 */ bnez $v0, .L800269AC
/* 1B90 80026790 00000000 */ nop
/* 1B94 80026794 3C028007 */ lui $v0, %hi(D_80074000)
/* 1B98 80026798 90424000 */ lbu $v0, %lo(D_80074000)($v0)
/* 1B9C 8002679C A0820000 */ sb $v0, ($a0)
.L800267A0:
/* 1BA0 800267A0 0C04833E */ jal func_80120CF8
/* 1BA4 800267A4 00000000 */ nop
/* 1BA8 800267A8 0C00E08F */ jal func_8003823C
/* 1BAC 800267AC 00000000 */ nop
/* 1BB0 800267B0 0C04A185 */ jal func_80128614
/* 1BB4 800267B4 00000000 */ nop
/* 1BB8 800267B8 0C052A44 */ jal func_8014A910
/* 1BBC 800267BC 00000000 */ nop
/* 1BC0 800267C0 0C0B0F5D */ jal func_802C3D74
/* 1BC4 800267C4 00000000 */ nop
/* 1BC8 800267C8 0C04A298 */ jal func_80128A60
/* 1BCC 800267CC 00000000 */ nop
/* 1BD0 800267D0 0C0519B0 */ jal func_801466C0
/* 1BD4 800267D4 00000000 */ nop
/* 1BD8 800267D8 0C046022 */ jal func_80118088
/* 1BDC 800267DC 00000000 */ nop
/* 1BE0 800267E0 0C045238 */ jal func_801148E0
/* 1BE4 800267E4 00000000 */ nop
/* 1BE8 800267E8 0C04F492 */ jal func_8013D248
/* 1BEC 800267EC 00000000 */ nop
/* 1BF0 800267F0 0C053D7E */ jal func_8014F5F8
/* 1BF4 800267F4 00000000 */ nop
/* 1BF8 800267F8 0C0530C5 */ jal func_8014C314
/* 1BFC 800267FC 00000000 */ nop
/* 1C00 80026800 0C0539F9 */ jal func_8014E7E4
/* 1C04 80026804 00000000 */ nop
/* 1C08 80026808 0C053131 */ jal func_8014C4C4
/* 1C0C 8002680C 00000000 */ nop
/* 1C10 80026810 0C00AE8E */ jal func_8002BA38
/* 1C14 80026814 00000000 */ nop
/* 1C18 80026818 3C10800A */ lui $s0, %hi(D_8009A630)
/* 1C1C 8002681C 2610A630 */ addiu $s0, $s0, %lo(D_8009A630)
/* 1C20 80026820 8E040000 */ lw $a0, ($s0)
/* 1C24 80026824 30820020 */ andi $v0, $a0, 0x20
/* 1C28 80026828 10400035 */ beqz $v0, .L80026900
/* 1C2C 8002682C 00000000 */ nop
/* 1C30 80026830 3C118007 */ lui $s1, %hi(D_80074182)
/* 1C34 80026834 26314182 */ addiu $s1, $s1, %lo(D_80074182)
/* 1C38 80026838 86230000 */ lh $v1, ($s1)
/* 1C3C 8002683C 10600005 */ beqz $v1, .L80026854
/* 1C40 80026840 24020001 */ addiu $v0, $zero, 1
/* 1C44 80026844 1062001C */ beq $v1, $v0, .L800268B8
/* 1C48 80026848 34840008 */ ori $a0, $a0, 8
/* 1C4C 8002684C 08009A44 */ j .L80026910
/* 1C50 80026850 00000000 */ nop
.L80026854:
/* 1C54 80026854 34820200 */ ori $v0, $a0, 0x200
/* 1C58 80026858 0C038056 */ jal func_800E0158
/* 1C5C 8002685C AE020000 */ sw $v0, ($s0)
/* 1C60 80026860 3C048007 */ lui $a0, %hi(D_80074180)
/* 1C64 80026864 24844180 */ addiu $a0, $a0, %lo(D_80074180)
/* 1C68 80026868 240500FF */ addiu $a1, $zero, 0xff
/* 1C6C 8002686C 84820000 */ lh $v0, ($a0)
/* 1C70 80026870 94830000 */ lhu $v1, ($a0)
/* 1C74 80026874 14450008 */ bne $v0, $a1, .L80026898
/* 1C78 80026878 2462000A */ addiu $v0, $v1, 0xa
/* 1C7C 8002687C 24020001 */ addiu $v0, $zero, 1
/* 1C80 80026880 A6220000 */ sh $v0, ($s1)
/* 1C84 80026884 24020003 */ addiu $v0, $zero, 3
/* 1C88 80026888 3C01800A */ lui $at, %hi(D_8009A670)
/* 1C8C 8002688C A422A670 */ sh $v0, %lo(D_8009A670)($at)
/* 1C90 80026890 08009A44 */ j .L80026910
/* 1C94 80026894 00000000 */ nop
.L80026898:
/* 1C98 80026898 A4820000 */ sh $v0, ($a0)
/* 1C9C 8002689C 00021400 */ sll $v0, $v0, 0x10
/* 1CA0 800268A0 00021403 */ sra $v0, $v0, 0x10
/* 1CA4 800268A4 28420100 */ slti $v0, $v0, 0x100
/* 1CA8 800268A8 50400019 */ beql $v0, $zero, .L80026910
/* 1CAC 800268AC A4850000 */ sh $a1, ($a0)
/* 1CB0 800268B0 08009A44 */ j .L80026910
/* 1CB4 800268B4 00000000 */ nop
.L800268B8:
/* 1CB8 800268B8 3C02800A */ lui $v0, %hi(D_8009A670)
/* 1CBC 800268BC 2442A670 */ addiu $v0, $v0, %lo(D_8009A670)
/* 1CC0 800268C0 94430000 */ lhu $v1, ($v0)
/* 1CC4 800268C4 AE040000 */ sw $a0, ($s0)
/* 1CC8 800268C8 2463FFFF */ addiu $v1, $v1, -1
/* 1CCC 800268CC A4430000 */ sh $v1, ($v0)
/* 1CD0 800268D0 00031C00 */ sll $v1, $v1, 0x10
/* 1CD4 800268D4 1460000E */ bnez $v1, .L80026910
/* 1CD8 800268D8 00000000 */ nop
/* 1CDC 800268DC 0C053A3A */ jal func_8014E8E8
/* 1CE0 800268E0 00000000 */ nop
/* 1CE4 800268E4 0C00CC60 */ jal func_80033180
/* 1CE8 800268E8 0000202D */ daddu $a0, $zero, $zero
/* 1CEC 800268EC 8E020000 */ lw $v0, ($s0)
/* 1CF0 800268F0 2403FFDF */ addiu $v1, $zero, -0x21
/* 1CF4 800268F4 00431024 */ and $v0, $v0, $v1
/* 1CF8 800268F8 08009A44 */ j .L80026910
/* 1CFC 800268FC AE020000 */ sw $v0, ($s0)
.L80026900:
/* 1D00 80026900 3C018007 */ lui $at, %hi(D_80074180)
/* 1D04 80026904 A4204180 */ sh $zero, %lo(D_80074180)($at)
/* 1D08 80026908 3C018007 */ lui $at, %hi(D_80074182)
/* 1D0C 8002690C A4204182 */ sh $zero, %lo(D_80074182)($at)
.L80026910:
/* 1D10 80026910 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D14 80026914 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D18 80026918 8C830000 */ lw $v1, ($a0)
/* 1D1C 8002691C 30620100 */ andi $v0, $v1, 0x100
/* 1D20 80026920 14400003 */ bnez $v0, .L80026930
/* 1D24 80026924 34621000 */ ori $v0, $v1, 0x1000
/* 1D28 80026928 2402EFFF */ addiu $v0, $zero, -0x1001
/* 1D2C 8002692C 00621024 */ and $v0, $v1, $v0
.L80026930:
/* 1D30 80026930 AC820000 */ sw $v0, ($a0)
/* 1D34 80026934 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D38 80026938 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D3C 8002693C 8C830000 */ lw $v1, ($a0)
/* 1D40 80026940 30620200 */ andi $v0, $v1, 0x200
/* 1D44 80026944 14400003 */ bnez $v0, .L80026954
/* 1D48 80026948 34622000 */ ori $v0, $v1, 0x2000
/* 1D4C 8002694C 2402DFFF */ addiu $v0, $zero, -0x2001
/* 1D50 80026950 00621024 */ and $v0, $v1, $v0
.L80026954:
/* 1D54 80026954 AC820000 */ sw $v0, ($a0)
/* 1D58 80026958 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D5C 8002695C 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D60 80026960 8C830000 */ lw $v1, ($a0)
/* 1D64 80026964 30620400 */ andi $v0, $v1, 0x400
/* 1D68 80026968 14400003 */ bnez $v0, .L80026978
/* 1D6C 8002696C 34624000 */ ori $v0, $v1, 0x4000
/* 1D70 80026970 2402BFFF */ addiu $v0, $zero, -0x4001
/* 1D74 80026974 00621024 */ and $v0, $v1, $v0
.L80026978:
/* 1D78 80026978 AC820000 */ sw $v0, ($a0)
/* 1D7C 8002697C 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D80 80026980 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D84 80026984 8C830000 */ lw $v1, ($a0)
/* 1D88 80026988 30620800 */ andi $v0, $v1, 0x800
/* 1D8C 8002698C 14400004 */ bnez $v0, .L800269A0
/* 1D90 80026990 34628000 */ ori $v0, $v1, 0x8000
/* 1D94 80026994 3C02FFFF */ lui $v0, 0xffff
/* 1D98 80026998 34427FFF */ ori $v0, $v0, 0x7fff
/* 1D9C 8002699C 00621024 */ and $v0, $v1, $v0
.L800269A0:
/* 1DA0 800269A0 AC820000 */ sw $v0, ($a0)
/* 1DA4 800269A4 0C00A66F */ jal func_800299BC
/* 1DA8 800269A8 24040001 */ addiu $a0, $zero, 1
.L800269AC:
/* 1DAC 800269AC 8FBF0018 */ lw $ra, 0x18($sp)
/* 1DB0 800269B0 8FB10014 */ lw $s1, 0x14($sp)
/* 1DB4 800269B4 8FB00010 */ lw $s0, 0x10($sp)
/* 1DB8 800269B8 03E00008 */ jr $ra
/* 1DBC 800269BC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,75 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800269C0
/* 1DC0 800269C0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1DC4 800269C4 AFB20018 */ sw $s2, 0x18($sp)
/* 1DC8 800269C8 3C120001 */ lui $s2, 1
/* 1DCC 800269CC 36520230 */ ori $s2, $s2, 0x230
/* 1DD0 800269D0 AFB10014 */ sw $s1, 0x14($sp)
/* 1DD4 800269D4 3C11800A */ lui $s1, %hi(D_8009A654)
/* 1DD8 800269D8 2631A654 */ addiu $s1, $s1, %lo(D_8009A654)
/* 1DDC 800269DC 3C038007 */ lui $v1, %hi(D_800741D4)
/* 1DE0 800269E0 8C6341D4 */ lw $v1, %lo(D_800741D4)($v1)
/* 1DE4 800269E4 3C048016 */ lui $a0, %hi(D_80164000)
/* 1DE8 800269E8 24844000 */ addiu $a0, $a0, %lo(D_80164000)
/* 1DEC 800269EC AFB00010 */ sw $s0, 0x10($sp)
/* 1DF0 800269F0 3C10800A */ lui $s0, %hi(D_8009A64C)
/* 1DF4 800269F4 2610A64C */ addiu $s0, $s0, %lo(D_8009A64C)
/* 1DF8 800269F8 AFBF001C */ sw $ra, 0x1c($sp)
/* 1DFC 800269FC 00031040 */ sll $v0, $v1, 1
/* 1E00 80026A00 00431021 */ addu $v0, $v0, $v1
/* 1E04 80026A04 00021940 */ sll $v1, $v0, 5
/* 1E08 80026A08 00431021 */ addu $v0, $v0, $v1
/* 1E0C 80026A0C 00021980 */ sll $v1, $v0, 6
/* 1E10 80026A10 00431021 */ addu $v0, $v0, $v1
/* 1E14 80026A14 00021100 */ sll $v0, $v0, 4
/* 1E18 80026A18 00441021 */ addu $v0, $v0, $a0
/* 1E1C 80026A1C AE220000 */ sw $v0, ($s1)
/* 1E20 80026A20 00521021 */ addu $v0, $v0, $s2
/* 1E24 80026A24 0C009C5C */ jal func_80027170
/* 1E28 80026A28 AE020000 */ sw $v0, ($s0)
/* 1E2C 80026A2C 0C009F78 */ jal func_80027DE0
/* 1E30 80026A30 00000000 */ nop
/* 1E34 80026A34 8E030000 */ lw $v1, ($s0)
/* 1E38 80026A38 3C02E900 */ lui $v0, 0xe900
/* 1E3C 80026A3C 0060202D */ daddu $a0, $v1, $zero
/* 1E40 80026A40 24630008 */ addiu $v1, $v1, 8
/* 1E44 80026A44 AE030000 */ sw $v1, ($s0)
/* 1E48 80026A48 AC820000 */ sw $v0, ($a0)
/* 1E4C 80026A4C 24620008 */ addiu $v0, $v1, 8
/* 1E50 80026A50 AC800004 */ sw $zero, 4($a0)
/* 1E54 80026A54 3C04DF00 */ lui $a0, 0xdf00
/* 1E58 80026A58 AE020000 */ sw $v0, ($s0)
/* 1E5C 80026A5C AC640000 */ sw $a0, ($v1)
/* 1E60 80026A60 AC600004 */ sw $zero, 4($v1)
/* 1E64 80026A64 8E230000 */ lw $v1, ($s1)
/* 1E68 80026A68 00521023 */ subu $v0, $v0, $s2
/* 1E6C 80026A6C 00431023 */ subu $v0, $v0, $v1
/* 1E70 80026A70 000210C2 */ srl $v0, $v0, 3
/* 1E74 80026A74 28420200 */ slti $v0, $v0, 0x200
/* 1E78 80026A78 14400003 */ bnez $v0, .L80026A88
/* 1E7C 80026A7C 3C040001 */ lui $a0, 1
.L80026A80:
/* 1E80 80026A80 08009AA0 */ j .L80026A80
/* 1E84 80026A84 00000000 */ nop
.L80026A88:
/* 1E88 80026A88 34840230 */ ori $a0, $a0, 0x230
/* 1E8C 80026A8C 0000302D */ daddu $a2, $zero, $zero
/* 1E90 80026A90 00C0382D */ daddu $a3, $a2, $zero
/* 1E94 80026A94 3C05800A */ lui $a1, %hi(D_8009A64C)
/* 1E98 80026A98 8CA5A64C */ lw $a1, %lo(D_8009A64C)($a1)
/* 1E9C 80026A9C 3C02800A */ lui $v0, %hi(D_8009A654)
/* 1EA0 80026AA0 8C42A654 */ lw $v0, %lo(D_8009A654)($v0)
/* 1EA4 80026AA4 00A42823 */ subu $a1, $a1, $a0
/* 1EA8 80026AA8 00A22823 */ subu $a1, $a1, $v0
/* 1EAC 80026AAC 000528C3 */ sra $a1, $a1, 3
/* 1EB0 80026AB0 00442021 */ addu $a0, $v0, $a0
/* 1EB4 80026AB4 0C00B3C9 */ jal func_8002CF24
/* 1EB8 80026AB8 000528C0 */ sll $a1, $a1, 3
/* 1EBC 80026ABC 8FBF001C */ lw $ra, 0x1c($sp)
/* 1EC0 80026AC0 8FB20018 */ lw $s2, 0x18($sp)
/* 1EC4 80026AC4 8FB10014 */ lw $s1, 0x14($sp)
/* 1EC8 80026AC8 8FB00010 */ lw $s0, 0x10($sp)
/* 1ECC 80026ACC 03E00008 */ jr $ra
/* 1ED0 80026AD0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,197 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80026AD4
/* 1ED4 80026AD4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1ED8 80026AD8 3C04800A */ lui $a0, %hi(D_8009A654)
/* 1EDC 80026ADC 8C84A654 */ lw $a0, %lo(D_8009A654)($a0)
/* 1EE0 80026AE0 3C05800A */ lui $a1, %hi(D_8009A64C)
/* 1EE4 80026AE4 24A5A64C */ addiu $a1, $a1, %lo(D_8009A64C)
/* 1EE8 80026AE8 AFB00010 */ sw $s0, 0x10($sp)
/* 1EEC 80026AEC 3C10800A */ lui $s0, %hi(D_8009A630)
/* 1EF0 80026AF0 2610A630 */ addiu $s0, $s0, %lo(D_8009A630)
/* 1EF4 80026AF4 AFBF0018 */ sw $ra, 0x18($sp)
/* 1EF8 80026AF8 AFB10014 */ sw $s1, 0x14($sp)
/* 1EFC 80026AFC 3C018007 */ lui $at, %hi(D_800741D0)
/* 1F00 80026B00 A42041D0 */ sh $zero, %lo(D_800741D0)($at)
/* 1F04 80026B04 8E020000 */ lw $v0, ($s0)
/* 1F08 80026B08 24830230 */ addiu $v1, $a0, 0x230
/* 1F0C 80026B0C 30420008 */ andi $v0, $v0, 8
/* 1F10 80026B10 10400007 */ beqz $v0, .L80026B30
/* 1F14 80026B14 ACA30000 */ sw $v1, ($a1)
/* 1F18 80026B18 3C038007 */ lui $v1, %hi(D_800741D4)
/* 1F1C 80026B1C 246341D4 */ addiu $v1, $v1, %lo(D_800741D4)
/* 1F20 80026B20 8C620000 */ lw $v0, ($v1)
/* 1F24 80026B24 38420001 */ xori $v0, $v0, 1
/* 1F28 80026B28 08009B65 */ j .L80026D94
/* 1F2C 80026B2C AC620000 */ sw $v0, ($v1)
.L80026B30:
/* 1F30 80026B30 3C03DA38 */ lui $v1, 0xda38
/* 1F34 80026B34 34630003 */ ori $v1, $v1, 3
/* 1F38 80026B38 24820238 */ addiu $v0, $a0, 0x238
/* 1F3C 80026B3C ACA20000 */ sw $v0, ($a1)
/* 1F40 80026B40 3C028007 */ lui $v0, %hi(D_80074188)
/* 1F44 80026B44 24424188 */ addiu $v0, $v0, %lo(D_80074188)
/* 1F48 80026B48 AC830230 */ sw $v1, 0x230($a0)
/* 1F4C 80026B4C 0C04456C */ jal func_801115B0
/* 1F50 80026B50 AC820234 */ sw $v0, 0x234($a0)
/* 1F54 80026B54 8E020000 */ lw $v0, ($s0)
/* 1F58 80026B58 30420002 */ andi $v0, $v0, 2
/* 1F5C 80026B5C 14400003 */ bnez $v0, .L80026B6C
/* 1F60 80026B60 00000000 */ nop
/* 1F64 80026B64 0C00B4F3 */ jal func_8002D3CC
/* 1F68 80026B68 0000202D */ daddu $a0, $zero, $zero
.L80026B6C:
/* 1F6C 80026B6C 0C038090 */ jal func_800E0240
/* 1F70 80026B70 00000000 */ nop
/* 1F74 80026B74 0C0B0FB9 */ jal func_802C3EE4
/* 1F78 80026B78 00000000 */ nop
/* 1F7C 80026B7C 0C04F4B4 */ jal func_8013D2D0
/* 1F80 80026B80 00000000 */ nop
/* 1F84 80026B84 0C04A1D8 */ jal func_80128760
/* 1F88 80026B88 00000000 */ nop
/* 1F8C 80026B8C 0C051CB0 */ jal func_801472C0
/* 1F90 80026B90 00000000 */ nop
/* 1F94 80026B94 0C016711 */ jal func_80059C44
/* 1F98 80026B98 00000000 */ nop
/* 1F9C 80026B9C 0C04605A */ jal func_80118168
/* 1FA0 80026BA0 00000000 */ nop
/* 1FA4 80026BA4 8E020000 */ lw $v0, ($s0)
/* 1FA8 80026BA8 3C030001 */ lui $v1, 1
/* 1FAC 80026BAC 00431024 */ and $v0, $v0, $v1
/* 1FB0 80026BB0 14400003 */ bnez $v0, .L80026BC0
/* 1FB4 80026BB4 00000000 */ nop
/* 1FB8 80026BB8 0C0532DD */ jal func_8014CB74
/* 1FBC 80026BBC 00000000 */ nop
.L80026BC0:
/* 1FC0 80026BC0 8E020000 */ lw $v0, ($s0)
/* 1FC4 80026BC4 30420002 */ andi $v0, $v0, 2
/* 1FC8 80026BC8 14400009 */ bnez $v0, .L80026BF0
/* 1FCC 80026BCC 3C100010 */ lui $s0, 0x10
/* 1FD0 80026BD0 3C028007 */ lui $v0, %hi(D_8007417C)
/* 1FD4 80026BD4 8C42417C */ lw $v0, %lo(D_8007417C)($v0)
/* 1FD8 80026BD8 80420078 */ lb $v0, 0x78($v0)
/* 1FDC 80026BDC 14400004 */ bnez $v0, .L80026BF0
/* 1FE0 80026BE0 00000000 */ nop
/* 1FE4 80026BE4 0C00B4F3 */ jal func_8002D3CC
/* 1FE8 80026BE8 24040001 */ addiu $a0, $zero, 1
/* 1FEC 80026BEC 3C100010 */ lui $s0, 0x10
.L80026BF0:
/* 1FF0 80026BF0 3C11800A */ lui $s1, %hi(D_8009A630)
/* 1FF4 80026BF4 2631A630 */ addiu $s1, $s1, %lo(D_8009A630)
/* 1FF8 80026BF8 8E220000 */ lw $v0, ($s1)
/* 1FFC 80026BFC 36100010 */ ori $s0, $s0, 0x10
/* 2000 80026C00 00501024 */ and $v0, $v0, $s0
/* 2004 80026C04 14400003 */ bnez $v0, .L80026C14
/* 2008 80026C08 00000000 */ nop
/* 200C 80026C0C 0C04A523 */ jal func_8012948C
/* 2010 80026C10 00000000 */ nop
.L80026C14:
/* 2014 80026C14 0C04A1BC */ jal func_801286F0
/* 2018 80026C18 00000000 */ nop
/* 201C 80026C1C 0C051DF3 */ jal func_801477CC
/* 2020 80026C20 00000000 */ nop
/* 2024 80026C24 0C04F494 */ jal func_8013D250
/* 2028 80026C28 00000000 */ nop
/* 202C 80026C2C 8E220000 */ lw $v0, ($s1)
/* 2030 80026C30 24030010 */ addiu $v1, $zero, 0x10
/* 2034 80026C34 00501024 */ and $v0, $v0, $s0
/* 2038 80026C38 14430003 */ bne $v0, $v1, .L80026C48
/* 203C 80026C3C 00000000 */ nop
/* 2040 80026C40 0C04A523 */ jal func_8012948C
/* 2044 80026C44 00000000 */ nop
.L80026C48:
/* 2048 80026C48 0C00AE90 */ jal func_8002BA40
/* 204C 80026C4C 00000000 */ nop
/* 2050 80026C50 8E220000 */ lw $v0, ($s1)
/* 2054 80026C54 3C030010 */ lui $v1, 0x10
/* 2058 80026C58 00431024 */ and $v0, $v0, $v1
/* 205C 80026C5C 10400003 */ beqz $v0, .L80026C6C
/* 2060 80026C60 00000000 */ nop
/* 2064 80026C64 0C04A523 */ jal func_8012948C
/* 2068 80026C68 00000000 */ nop
.L80026C6C:
/* 206C 80026C6C 8E220000 */ lw $v0, ($s1)
/* 2070 80026C70 3C030001 */ lui $v1, 1
/* 2074 80026C74 00431024 */ and $v0, $v0, $v1
/* 2078 80026C78 10400003 */ beqz $v0, .L80026C88
/* 207C 80026C7C 00000000 */ nop
/* 2080 80026C80 0C0532DD */ jal func_8014CB74
/* 2084 80026C84 00000000 */ nop
.L80026C88:
/* 2088 80026C88 0C046075 */ jal func_801181D4
/* 208C 80026C8C 00000000 */ nop
/* 2090 80026C90 8E220000 */ lw $v0, ($s1)
/* 2094 80026C94 30420020 */ andi $v0, $v0, 0x20
/* 2098 80026C98 10400010 */ beqz $v0, .L80026CDC
/* 209C 80026C9C 00000000 */ nop
/* 20A0 80026CA0 3C038007 */ lui $v1, %hi(D_80074182)
/* 20A4 80026CA4 84634182 */ lh $v1, %lo(D_80074182)($v1)
/* 20A8 80026CA8 28620002 */ slti $v0, $v1, 2
/* 20AC 80026CAC 1040000B */ beqz $v0, .L80026CDC
/* 20B0 80026CB0 00000000 */ nop
/* 20B4 80026CB4 04600009 */ bltz $v1, .L80026CDC
/* 20B8 80026CB8 24040007 */ addiu $a0, $zero, 7
/* 20BC 80026CBC 3C028007 */ lui $v0, %hi(D_80074180)
/* 20C0 80026CC0 84424180 */ lh $v0, %lo(D_80074180)($v0)
/* 20C4 80026CC4 44820000 */ mtc1 $v0, $f0
/* 20C8 80026CC8 00000000 */ nop
/* 20CC 80026CCC 46800020 */ cvt.s.w $f0, $f0
/* 20D0 80026CD0 44050000 */ mfc1 $a1, $f0
/* 20D4 80026CD4 0C04EECC */ jal func_8013BB30
/* 20D8 80026CD8 0000302D */ daddu $a2, $zero, $zero
.L80026CDC:
/* 20DC 80026CDC 3C02800A */ lui $v0, %hi(D_8009A64C)
/* 20E0 80026CE0 8C42A64C */ lw $v0, %lo(D_8009A64C)($v0)
/* 20E4 80026CE4 3C03800A */ lui $v1, %hi(D_8009A654)
/* 20E8 80026CE8 8C63A654 */ lw $v1, %lo(D_8009A654)($v1)
/* 20EC 80026CEC 2442FDD0 */ addiu $v0, $v0, -0x230
/* 20F0 80026CF0 00431023 */ subu $v0, $v0, $v1
/* 20F4 80026CF4 000210C2 */ srl $v0, $v0, 3
/* 20F8 80026CF8 28422000 */ slti $v0, $v0, 0x2000
/* 20FC 80026CFC 54400003 */ bnel $v0, $zero, .L80026D0C
/* 2100 80026D00 0000302D */ daddu $a2, $zero, $zero
.L80026D04:
/* 2104 80026D04 08009B41 */ j .L80026D04
/* 2108 80026D08 00000000 */ nop
.L80026D0C:
/* 210C 80026D0C 3C070004 */ lui $a3, 4
/* 2110 80026D10 3C08800A */ lui $t0, %hi(D_8009A64C)
/* 2114 80026D14 2508A64C */ addiu $t0, $t0, %lo(D_8009A64C)
/* 2118 80026D18 34E70001 */ ori $a3, $a3, 1
/* 211C 80026D1C 8D030000 */ lw $v1, ($t0)
/* 2120 80026D20 3C02800A */ lui $v0, %hi(D_8009A654)
/* 2124 80026D24 8C42A654 */ lw $v0, %lo(D_8009A654)($v0)
/* 2128 80026D28 0060482D */ daddu $t1, $v1, $zero
/* 212C 80026D2C 24630008 */ addiu $v1, $v1, 8
/* 2130 80026D30 24440230 */ addiu $a0, $v0, 0x230
/* 2134 80026D34 2465FDD8 */ addiu $a1, $v1, -0x228
/* 2138 80026D38 00A22823 */ subu $a1, $a1, $v0
/* 213C 80026D3C 000528C3 */ sra $a1, $a1, 3
/* 2140 80026D40 000528C0 */ sll $a1, $a1, 3
/* 2144 80026D44 3C02E900 */ lui $v0, 0xe900
/* 2148 80026D48 AD030000 */ sw $v1, ($t0)
/* 214C 80026D4C AD220000 */ sw $v0, ($t1)
/* 2150 80026D50 24620008 */ addiu $v0, $v1, 8
/* 2154 80026D54 AD200004 */ sw $zero, 4($t1)
/* 2158 80026D58 AD020000 */ sw $v0, ($t0)
/* 215C 80026D5C 3C02DF00 */ lui $v0, 0xdf00
/* 2160 80026D60 AC620000 */ sw $v0, ($v1)
/* 2164 80026D64 0C00B3C9 */ jal func_8002CF24
/* 2168 80026D68 AC600004 */ sw $zero, 4($v1)
/* 216C 80026D6C 24050140 */ addiu $a1, $zero, 0x140
/* 2170 80026D70 240600F0 */ addiu $a2, $zero, 0xf0
/* 2174 80026D74 3C038007 */ lui $v1, %hi(D_800741D4)
/* 2178 80026D78 246341D4 */ addiu $v1, $v1, %lo(D_800741D4)
/* 217C 80026D7C 8C620000 */ lw $v0, ($v1)
/* 2180 80026D80 3C04800A */ lui $a0, %hi(D_8009A62C)
/* 2184 80026D84 8C84A62C */ lw $a0, %lo(D_8009A62C)($a0)
/* 2188 80026D88 38420001 */ xori $v0, $v0, 1
/* 218C 80026D8C 0C00B214 */ jal func_8002C850
/* 2190 80026D90 AC620000 */ sw $v0, ($v1)
.L80026D94:
/* 2194 80026D94 8FBF0018 */ lw $ra, 0x18($sp)
/* 2198 80026D98 8FB10014 */ lw $s1, 0x14($sp)
/* 219C 80026D9C 8FB00010 */ lw $s0, 0x10($sp)
/* 21A0 80026DA0 03E00008 */ jr $ra
/* 21A4 80026DA4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,176 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80026DA8
/* 21A8 80026DA8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 21AC 80026DAC 3C04000A */ lui $a0, 0xa
/* 21B0 80026DB0 24845F90 */ addiu $a0, $a0, 0x5f90
/* 21B4 80026DB4 3C05000B */ lui $a1, 0xb
/* 21B8 80026DB8 24A59770 */ addiu $a1, $a1, -0x6890
/* 21BC 80026DBC 3C068011 */ lui $a2, %hi(D_8010F890)
/* 21C0 80026DC0 24C6F890 */ addiu $a2, $a2, %lo(D_8010F890)
/* 21C4 80026DC4 AFBF0014 */ sw $ra, 0x14($sp)
/* 21C8 80026DC8 0C00A5BF */ jal func_800296FC
/* 21CC 80026DCC AFB00010 */ sw $s0, 0x10($sp)
/* 21D0 80026DD0 3C040007 */ lui $a0, 7
/* 21D4 80026DD4 24845990 */ addiu $a0, $a0, 0x5990
/* 21D8 80026DD8 3C05000A */ lui $a1, 0xa
/* 21DC 80026DDC 24A55F90 */ addiu $a1, $a1, 0x5f90
/* 21E0 80026DE0 3C06800E */ lui $a2, %hi(D_800DC4E0)
/* 21E4 80026DE4 24C6C4E0 */ addiu $a2, $a2, %lo(D_800DC4E0)
/* 21E8 80026DE8 0C00A5BF */ jal func_800296FC
/* 21EC 80026DEC 00000000 */ nop
/* 21F0 80026DF0 3C04000F */ lui $a0, 0xf
/* 21F4 80026DF4 2484B1A0 */ addiu $a0, $a0, -0x4e60
/* 21F8 80026DF8 3C050010 */ lui $a1, 0x10
/* 21FC 80026DFC 24A52620 */ addiu $a1, $a1, 0x2620
/* 2200 80026E00 3C06802C */ lui $a2, %hi(D_802C3000)
/* 2204 80026E04 24C63000 */ addiu $a2, $a2, %lo(D_802C3000)
/* 2208 80026E08 0C00A5BF */ jal func_800296FC
/* 220C 80026E0C 00000000 */ nop
/* 2210 80026E10 3C040010 */ lui $a0, 0x10
/* 2214 80026E14 24842620 */ addiu $a0, $a0, 0x2620
/* 2218 80026E18 3C050011 */ lui $a1, 0x11
/* 221C 80026E1C 24A5CC20 */ addiu $a1, $a1, -0x33e0
/* 2220 80026E20 3C06802E */ lui $a2, %hi(D_802DBD40)
/* 2224 80026E24 24C6BD40 */ addiu $a2, $a2, %lo(D_802DBD40)
/* 2228 80026E28 0C00A5BF */ jal func_800296FC
/* 222C 80026E2C 00000000 */ nop
/* 2230 80026E30 3C04000B */ lui $a0, 0xb
/* 2234 80026E34 24849770 */ addiu $a0, $a0, -0x6890
/* 2238 80026E38 3C05000F */ lui $a1, 0xf
/* 223C 80026E3C 24A5B1A0 */ addiu $a1, $a1, -0x4e60
/* 2240 80026E40 3C068011 */ lui $a2, %hi(func_801148E0)
/* 2244 80026E44 24C648E0 */ addiu $a2, $a2, %lo(func_801148E0)
/* 2248 80026E48 0C00A5BF */ jal func_800296FC
/* 224C 80026E4C 00000000 */ nop
/* 2250 80026E50 3C040011 */ lui $a0, 0x11
/* 2254 80026E54 2484CC20 */ addiu $a0, $a0, -0x33e0
/* 2258 80026E58 3C050011 */ lui $a1, 0x11
/* 225C 80026E5C 24A5F330 */ addiu $a1, $a1, -0xcd0
/* 2260 80026E60 3C06802E */ lui $a2, %hi(D_802E6380)
/* 2264 80026E64 24C66380 */ addiu $a2, $a2, %lo(D_802E6380)
/* 2268 80026E68 0C00A5BF */ jal func_800296FC
/* 226C 80026E6C 00000000 */ nop
/* 2270 80026E70 3C108007 */ lui $s0, %hi(D_8007417C)
/* 2274 80026E74 2610417C */ addiu $s0, $s0, %lo(D_8007417C)
/* 2278 80026E78 8E020000 */ lw $v0, ($s0)
/* 227C 80026E7C 3C01800A */ lui $at, %hi(D_8009A630)
/* 2280 80026E80 AC20A630 */ sw $zero, %lo(D_8009A630)($at)
/* 2284 80026E84 A0400079 */ sb $zero, 0x79($v0)
/* 2288 80026E88 8E030000 */ lw $v1, ($s0)
/* 228C 80026E8C 24040001 */ addiu $a0, $zero, 1
/* 2290 80026E90 A064007A */ sb $a0, 0x7a($v1)
/* 2294 80026E94 8E020000 */ lw $v0, ($s0)
/* 2298 80026E98 A4600148 */ sh $zero, 0x148($v1)
/* 229C 80026E9C A044007C */ sb $a0, 0x7c($v0)
/* 22A0 80026EA0 8E030000 */ lw $v1, ($s0)
/* 22A4 80026EA4 2402FFFF */ addiu $v0, $zero, -1
/* 22A8 80026EA8 A06200A8 */ sb $v0, 0xa8($v1)
/* 22AC 80026EAC 8E020000 */ lw $v0, ($s0)
/* 22B0 80026EB0 A04000AA */ sb $zero, 0xaa($v0)
/* 22B4 80026EB4 8E020000 */ lw $v0, ($s0)
/* 22B8 80026EB8 A0400081 */ sb $zero, 0x81($v0)
/* 22BC 80026EBC 8E030000 */ lw $v1, ($s0)
/* 22C0 80026EC0 2402FFF8 */ addiu $v0, $zero, -8
/* 22C4 80026EC4 A0620082 */ sb $v0, 0x82($v1)
/* 22C8 80026EC8 8E030000 */ lw $v1, ($s0)
/* 22CC 80026ECC 24020004 */ addiu $v0, $zero, 4
/* 22D0 80026ED0 A0620083 */ sb $v0, 0x83($v1)
/* 22D4 80026ED4 8E020000 */ lw $v0, ($s0)
/* 22D8 80026ED8 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 22DC 80026EDC AC20A5B8 */ sw $zero, %lo(D_8009A5B8)($at)
/* 22E0 80026EE0 A440013C */ sh $zero, 0x13c($v0)
/* 22E4 80026EE4 A0400075 */ sb $zero, 0x75($v0)
/* 22E8 80026EE8 8E030000 */ lw $v1, ($s0)
/* 22EC 80026EEC 24020005 */ addiu $v0, $zero, 5
/* 22F0 80026EF0 3C018007 */ lui $at, %hi(D_80074001)
/* 22F4 80026EF4 A0224001 */ sb $v0, %lo(D_80074001)($at)
/* 22F8 80026EF8 0C00AE03 */ jal func_8002B80C
/* 22FC 80026EFC AC600168 */ sw $zero, 0x168($v1)
/* 2300 80026F00 0C00A202 */ jal func_80028808
/* 2304 80026F04 00000000 */ nop
/* 2308 80026F08 0C00AAF0 */ jal func_8002ABC0
/* 230C 80026F0C 00000000 */ nop
/* 2310 80026F10 0C048AA8 */ jal func_80122AA0
/* 2314 80026F14 00000000 */ nop
/* 2318 80026F18 0C04A0B2 */ jal func_801282C8
/* 231C 80026F1C 00000000 */ nop
/* 2320 80026F20 0C0B0C77 */ jal func_802C31DC
/* 2324 80026F24 00000000 */ nop
/* 2328 80026F28 0C00B6E1 */ jal func_8002DB84
/* 232C 80026F2C 00000000 */ nop
/* 2330 80026F30 0C037F0C */ jal func_800DFC30
/* 2334 80026F34 00000000 */ nop
/* 2338 80026F38 0C044512 */ jal func_80111448
/* 233C 80026F3C 0000202D */ daddu $a0, $zero, $zero
/* 2340 80026F40 0C049770 */ jal func_80125DC0
/* 2344 80026F44 00000000 */ nop
/* 2348 80026F48 0C048D0D */ jal func_80123434
/* 234C 80026F4C 00000000 */ nop
/* 2350 80026F50 0C046BD5 */ jal func_8011AF54
/* 2354 80026F54 00000000 */ nop
/* 2358 80026F58 0C05343C */ jal func_8014D0F0
/* 235C 80026F5C 00000000 */ nop
/* 2360 80026F60 0C052BAA */ jal func_8014AEA8
/* 2364 80026F64 00000000 */ nop
/* 2368 80026F68 0C04A21C */ jal func_80128870
/* 236C 80026F6C 00000000 */ nop
/* 2370 80026F70 0C04A221 */ jal func_80128884
/* 2374 80026F74 00000000 */ nop
/* 2378 80026F78 0C045F6A */ jal func_80117DA8
/* 237C 80026F7C 00000000 */ nop
/* 2380 80026F80 0C00E05F */ jal func_8003817C
/* 2384 80026F84 00000000 */ nop
/* 2388 80026F88 0C05186C */ jal func_801461B0
/* 238C 80026F8C 00000000 */ nop
/* 2390 80026F90 0C0529CC */ jal func_8014A730
/* 2394 80026F94 00000000 */ nop
/* 2398 80026F98 0C0457B2 */ jal func_80115EC8
/* 239C 80026F9C 0000202D */ daddu $a0, $zero, $zero
/* 23A0 80026FA0 0C039CD0 */ jal func_800E7340
/* 23A4 80026FA4 00000000 */ nop
/* 23A8 80026FA8 0C00F7FE */ jal func_8003DFF8
/* 23AC 80026FAC 00000000 */ nop
/* 23B0 80026FB0 0C04F46E */ jal func_8013D1B8
/* 23B4 80026FB4 00000000 */ nop
/* 23B8 80026FB8 0C016653 */ jal func_8005994C
/* 23BC 80026FBC 00000000 */ nop
/* 23C0 80026FC0 0C0528F4 */ jal func_8014A3D0
/* 23C4 80026FC4 00000000 */ nop
/* 23C8 80026FC8 0C04D85C */ jal func_80136170
/* 23CC 80026FCC 00000000 */ nop
/* 23D0 80026FD0 0C053D52 */ jal func_8014F548
/* 23D4 80026FD4 00000000 */ nop
/* 23D8 80026FD8 0C0530B8 */ jal func_8014C2E0
/* 23DC 80026FDC 00000000 */ nop
/* 23E0 80026FE0 0C0539B2 */ jal func_8014E6C8
/* 23E4 80026FE4 00000000 */ nop
/* 23E8 80026FE8 0C053128 */ jal func_8014C4A0
/* 23EC 80026FEC 00000000 */ nop
/* 23F0 80026FF0 0C00AE80 */ jal func_8002BA00
/* 23F4 80026FF4 00000000 */ nop
/* 23F8 80026FF8 0C00A3AC */ jal func_80028EB0
/* 23FC 80026FFC 00000000 */ nop
/* 2400 80027000 0000182D */ daddu $v1, $zero, $zero
/* 2404 80027004 24050003 */ addiu $a1, $zero, 3
/* 2408 80027008 2404000C */ addiu $a0, $zero, 0xc
/* 240C 8002700C 8E100000 */ lw $s0, ($s0)
.L80027010:
/* 2410 80027010 A6050050 */ sh $a1, 0x50($s0)
/* 2414 80027014 A6040048 */ sh $a0, 0x48($s0)
/* 2418 80027018 24630001 */ addiu $v1, $v1, 1
/* 241C 8002701C 28620004 */ slti $v0, $v1, 4
/* 2420 80027020 1440FFFB */ bnez $v0, .L80027010
/* 2424 80027024 26100002 */ addiu $s0, $s0, 2
/* 2428 80027028 3C03800A */ lui $v1, %hi(D_8009A630)
/* 242C 8002702C 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
/* 2430 80027030 8C620000 */ lw $v0, ($v1)
/* 2434 80027034 0000202D */ daddu $a0, $zero, $zero
/* 2438 80027038 34420008 */ ori $v0, $v0, 8
/* 243C 8002703C 0C00CC60 */ jal func_80033180
/* 2440 80027040 AC620000 */ sw $v0, ($v1)
/* 2444 80027044 8FBF0014 */ lw $ra, 0x14($sp)
/* 2448 80027048 8FB00010 */ lw $s0, 0x10($sp)
/* 244C 8002704C 03E00008 */ jr $ra
/* 2450 80027050 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,72 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80027054
/* 2454 80027054 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 2458 80027058 0080282D */ daddu $a1, $a0, $zero
/* 245C 8002705C 2CA20005 */ sltiu $v0, $a1, 5
/* 2460 80027060 1040003B */ beqz $v0, .L80027150
/* 2464 80027064 AFBF0010 */ sw $ra, 0x10($sp)
/* 2468 80027068 00051080 */ sll $v0, $a1, 2
/* 246C 8002706C 3C018009 */ lui $at, %hi(D_80097D28)
/* 2470 80027070 00220821 */ addu $at, $at, $v0
/* 2474 80027074 8C227D28 */ lw $v0, %lo(D_80097D28)($at)
/* 2478 80027078 00400008 */ jr $v0
/* 247C 8002707C 00000000 */ nop
/* 2480 80027080 24040003 */ addiu $a0, $zero, 3
/* 2484 80027084 3C02800A */ lui $v0, %hi(D_8009A630)
/* 2488 80027088 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 248C 8002708C 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 2490 80027090 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 2494 80027094 8C430000 */ lw $v1, ($v0)
/* 2498 80027098 2405F0FF */ addiu $a1, $zero, -0xf01
/* 249C 8002709C 00651824 */ and $v1, $v1, $a1
/* 24A0 800270A0 0C0B1192 */ jal func_802C4648
/* 24A4 800270A4 AC430000 */ sw $v1, ($v0)
/* 24A8 800270A8 08009C54 */ j .L80027150
/* 24AC 800270AC 00000000 */ nop
/* 24B0 800270B0 24040001 */ addiu $a0, $zero, 1
/* 24B4 800270B4 3C02800A */ lui $v0, %hi(D_8009A630)
/* 24B8 800270B8 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 24BC 800270BC 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 24C0 800270C0 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 24C4 800270C4 8C430000 */ lw $v1, ($v0)
/* 24C8 800270C8 2405F1FF */ addiu $a1, $zero, -0xe01
/* 24CC 800270CC 00651824 */ and $v1, $v1, $a1
/* 24D0 800270D0 08009C49 */ j .L80027124
/* 24D4 800270D4 34630100 */ ori $v1, $v1, 0x100
/* 24D8 800270D8 24040002 */ addiu $a0, $zero, 2
/* 24DC 800270DC 3C02800A */ lui $v0, %hi(D_8009A630)
/* 24E0 800270E0 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 24E4 800270E4 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 24E8 800270E8 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 24EC 800270EC 8C430000 */ lw $v1, ($v0)
/* 24F0 800270F0 2405F3FF */ addiu $a1, $zero, -0xc01
/* 24F4 800270F4 00651824 */ and $v1, $v1, $a1
/* 24F8 800270F8 08009C49 */ j .L80027124
/* 24FC 800270FC 34630300 */ ori $v1, $v1, 0x300
/* 2500 80027100 24040002 */ addiu $a0, $zero, 2
/* 2504 80027104 3C02800A */ lui $v0, %hi(D_8009A630)
/* 2508 80027108 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 250C 8002710C 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 2510 80027110 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 2514 80027114 8C430000 */ lw $v1, ($v0)
/* 2518 80027118 2405F7FF */ addiu $a1, $zero, -0x801
/* 251C 8002711C 00651824 */ and $v1, $v1, $a1
/* 2520 80027120 34630700 */ ori $v1, $v1, 0x700
.L80027124:
/* 2524 80027124 0C0B117A */ jal func_802C45E8
/* 2528 80027128 AC430000 */ sw $v1, ($v0)
/* 252C 8002712C 08009C54 */ j .L80027150
/* 2530 80027130 00000000 */ nop
/* 2534 80027134 3C03800A */ lui $v1, %hi(D_8009A630)
/* 2538 80027138 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
/* 253C 8002713C 8C620000 */ lw $v0, ($v1)
/* 2540 80027140 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 2544 80027144 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 2548 80027148 34420F00 */ ori $v0, $v0, 0xf00
/* 254C 8002714C AC620000 */ sw $v0, ($v1)
.L80027150:
/* 2550 80027150 8FBF0010 */ lw $ra, 0x10($sp)
/* 2554 80027154 03E00008 */ jr $ra
/* 2558 80027158 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,9 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002715C
/* 255C 8002715C 3C02800A */ lui $v0, %hi(D_8009A5B8)
/* 2560 80027160 8C42A5B8 */ lw $v0, %lo(D_8009A5B8)($v0)
/* 2564 80027164 03E00008 */ jr $ra
/* 2568 80027168 00000000 */ nop
/* 256C 8002716C 00000000 */ nop

View File

@ -0,0 +1,188 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80026710
/* 1B10 80026710 3C038007 */ lui $v1, %hi(D_8007417C)
/* 1B14 80026714 8C63417C */ lw $v1, %lo(D_8007417C)($v1)
/* 1B18 80026718 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1B1C 8002671C AFBF0018 */ sw $ra, 0x18($sp)
/* 1B20 80026720 AFB10014 */ sw $s1, 0x14($sp)
/* 1B24 80026724 AFB00010 */ sw $s0, 0x10($sp)
/* 1B28 80026728 94620134 */ lhu $v0, 0x134($v1)
/* 1B2C 8002672C 3C040CDF */ lui $a0, 0xcdf
/* 1B30 80026730 24420001 */ addiu $v0, $v0, 1
/* 1B34 80026734 A4620134 */ sh $v0, 0x134($v1)
/* 1B38 80026738 3C038011 */ lui $v1, %hi(D_8010F450)
/* 1B3C 8002673C 2463F450 */ addiu $v1, $v1, %lo(D_8010F450)
/* 1B40 80026740 8C6202BC */ lw $v0, 0x2bc($v1)
/* 1B44 80026744 3484E5FF */ ori $a0, $a0, 0xe5ff
/* 1B48 80026748 24420002 */ addiu $v0, $v0, 2
/* 1B4C 8002674C AC6202BC */ sw $v0, 0x2bc($v1)
/* 1B50 80026750 0082102B */ sltu $v0, $a0, $v0
/* 1B54 80026754 54400001 */ bnel $v0, $zero, .L8002675C
/* 1B58 80026758 AC6402BC */ sw $a0, 0x2bc($v1)
.L8002675C:
/* 1B5C 8002675C 0C00A211 */ jal func_80028844
/* 1B60 80026760 00000000 */ nop
/* 1B64 80026764 0C00A3D3 */ jal func_80028F4C
/* 1B68 80026768 00000000 */ nop
/* 1B6C 8002676C 3C048007 */ lui $a0, %hi(D_80074001)
/* 1B70 80026770 24844001 */ addiu $a0, $a0, %lo(D_80074001)
/* 1B74 80026774 80820000 */ lb $v0, ($a0)
/* 1B78 80026778 90830000 */ lbu $v1, ($a0)
/* 1B7C 8002677C 10400008 */ beqz $v0, .L800267A0
/* 1B80 80026780 2462FFFF */ addiu $v0, $v1, -1
/* 1B84 80026784 A0820000 */ sb $v0, ($a0)
/* 1B88 80026788 00021600 */ sll $v0, $v0, 0x18
/* 1B8C 8002678C 14400087 */ bnez $v0, .L800269AC
/* 1B90 80026790 00000000 */ nop
/* 1B94 80026794 3C028007 */ lui $v0, %hi(D_80074000)
/* 1B98 80026798 90424000 */ lbu $v0, %lo(D_80074000)($v0)
/* 1B9C 8002679C A0820000 */ sb $v0, ($a0)
.L800267A0:
/* 1BA0 800267A0 0C04833E */ jal func_80120CF8
/* 1BA4 800267A4 00000000 */ nop
/* 1BA8 800267A8 0C00E08F */ jal func_8003823C
/* 1BAC 800267AC 00000000 */ nop
/* 1BB0 800267B0 0C04A185 */ jal func_80128614
/* 1BB4 800267B4 00000000 */ nop
/* 1BB8 800267B8 0C052A44 */ jal func_8014A910
/* 1BBC 800267BC 00000000 */ nop
/* 1BC0 800267C0 0C0B0F5D */ jal func_802C3D74
/* 1BC4 800267C4 00000000 */ nop
/* 1BC8 800267C8 0C04A298 */ jal func_80128A60
/* 1BCC 800267CC 00000000 */ nop
/* 1BD0 800267D0 0C0519B0 */ jal func_801466C0
/* 1BD4 800267D4 00000000 */ nop
/* 1BD8 800267D8 0C046022 */ jal func_80118088
/* 1BDC 800267DC 00000000 */ nop
/* 1BE0 800267E0 0C045238 */ jal func_801148E0
/* 1BE4 800267E4 00000000 */ nop
/* 1BE8 800267E8 0C04F492 */ jal func_8013D248
/* 1BEC 800267EC 00000000 */ nop
/* 1BF0 800267F0 0C053D7E */ jal func_8014F5F8
/* 1BF4 800267F4 00000000 */ nop
/* 1BF8 800267F8 0C0530C5 */ jal func_8014C314
/* 1BFC 800267FC 00000000 */ nop
/* 1C00 80026800 0C0539F9 */ jal func_8014E7E4
/* 1C04 80026804 00000000 */ nop
/* 1C08 80026808 0C053131 */ jal func_8014C4C4
/* 1C0C 8002680C 00000000 */ nop
/* 1C10 80026810 0C00AE8E */ jal func_8002BA38
/* 1C14 80026814 00000000 */ nop
/* 1C18 80026818 3C10800A */ lui $s0, %hi(D_8009A630)
/* 1C1C 8002681C 2610A630 */ addiu $s0, $s0, %lo(D_8009A630)
/* 1C20 80026820 8E040000 */ lw $a0, ($s0)
/* 1C24 80026824 30820020 */ andi $v0, $a0, 0x20
/* 1C28 80026828 10400035 */ beqz $v0, .L80026900
/* 1C2C 8002682C 00000000 */ nop
/* 1C30 80026830 3C118007 */ lui $s1, %hi(D_80074182)
/* 1C34 80026834 26314182 */ addiu $s1, $s1, %lo(D_80074182)
/* 1C38 80026838 86230000 */ lh $v1, ($s1)
/* 1C3C 8002683C 10600005 */ beqz $v1, .L80026854
/* 1C40 80026840 24020001 */ addiu $v0, $zero, 1
/* 1C44 80026844 1062001C */ beq $v1, $v0, .L800268B8
/* 1C48 80026848 34840008 */ ori $a0, $a0, 8
/* 1C4C 8002684C 08009A44 */ j .L80026910
/* 1C50 80026850 00000000 */ nop
.L80026854:
/* 1C54 80026854 34820200 */ ori $v0, $a0, 0x200
/* 1C58 80026858 0C038056 */ jal func_800E0158
/* 1C5C 8002685C AE020000 */ sw $v0, ($s0)
/* 1C60 80026860 3C048007 */ lui $a0, %hi(D_80074180)
/* 1C64 80026864 24844180 */ addiu $a0, $a0, %lo(D_80074180)
/* 1C68 80026868 240500FF */ addiu $a1, $zero, 0xff
/* 1C6C 8002686C 84820000 */ lh $v0, ($a0)
/* 1C70 80026870 94830000 */ lhu $v1, ($a0)
/* 1C74 80026874 14450008 */ bne $v0, $a1, .L80026898
/* 1C78 80026878 2462000A */ addiu $v0, $v1, 0xa
/* 1C7C 8002687C 24020001 */ addiu $v0, $zero, 1
/* 1C80 80026880 A6220000 */ sh $v0, ($s1)
/* 1C84 80026884 24020003 */ addiu $v0, $zero, 3
/* 1C88 80026888 3C01800A */ lui $at, %hi(D_8009A670)
/* 1C8C 8002688C A422A670 */ sh $v0, %lo(D_8009A670)($at)
/* 1C90 80026890 08009A44 */ j .L80026910
/* 1C94 80026894 00000000 */ nop
.L80026898:
/* 1C98 80026898 A4820000 */ sh $v0, ($a0)
/* 1C9C 8002689C 00021400 */ sll $v0, $v0, 0x10
/* 1CA0 800268A0 00021403 */ sra $v0, $v0, 0x10
/* 1CA4 800268A4 28420100 */ slti $v0, $v0, 0x100
/* 1CA8 800268A8 50400019 */ beql $v0, $zero, .L80026910
/* 1CAC 800268AC A4850000 */ sh $a1, ($a0)
/* 1CB0 800268B0 08009A44 */ j .L80026910
/* 1CB4 800268B4 00000000 */ nop
.L800268B8:
/* 1CB8 800268B8 3C02800A */ lui $v0, %hi(D_8009A670)
/* 1CBC 800268BC 2442A670 */ addiu $v0, $v0, %lo(D_8009A670)
/* 1CC0 800268C0 94430000 */ lhu $v1, ($v0)
/* 1CC4 800268C4 AE040000 */ sw $a0, ($s0)
/* 1CC8 800268C8 2463FFFF */ addiu $v1, $v1, -1
/* 1CCC 800268CC A4430000 */ sh $v1, ($v0)
/* 1CD0 800268D0 00031C00 */ sll $v1, $v1, 0x10
/* 1CD4 800268D4 1460000E */ bnez $v1, .L80026910
/* 1CD8 800268D8 00000000 */ nop
/* 1CDC 800268DC 0C053A3A */ jal func_8014E8E8
/* 1CE0 800268E0 00000000 */ nop
/* 1CE4 800268E4 0C00CC60 */ jal func_80033180
/* 1CE8 800268E8 0000202D */ daddu $a0, $zero, $zero
/* 1CEC 800268EC 8E020000 */ lw $v0, ($s0)
/* 1CF0 800268F0 2403FFDF */ addiu $v1, $zero, -0x21
/* 1CF4 800268F4 00431024 */ and $v0, $v0, $v1
/* 1CF8 800268F8 08009A44 */ j .L80026910
/* 1CFC 800268FC AE020000 */ sw $v0, ($s0)
.L80026900:
/* 1D00 80026900 3C018007 */ lui $at, %hi(D_80074180)
/* 1D04 80026904 A4204180 */ sh $zero, %lo(D_80074180)($at)
/* 1D08 80026908 3C018007 */ lui $at, %hi(D_80074182)
/* 1D0C 8002690C A4204182 */ sh $zero, %lo(D_80074182)($at)
.L80026910:
/* 1D10 80026910 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D14 80026914 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D18 80026918 8C830000 */ lw $v1, ($a0)
/* 1D1C 8002691C 30620100 */ andi $v0, $v1, 0x100
/* 1D20 80026920 14400003 */ bnez $v0, .L80026930
/* 1D24 80026924 34621000 */ ori $v0, $v1, 0x1000
/* 1D28 80026928 2402EFFF */ addiu $v0, $zero, -0x1001
/* 1D2C 8002692C 00621024 */ and $v0, $v1, $v0
.L80026930:
/* 1D30 80026930 AC820000 */ sw $v0, ($a0)
/* 1D34 80026934 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D38 80026938 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D3C 8002693C 8C830000 */ lw $v1, ($a0)
/* 1D40 80026940 30620200 */ andi $v0, $v1, 0x200
/* 1D44 80026944 14400003 */ bnez $v0, .L80026954
/* 1D48 80026948 34622000 */ ori $v0, $v1, 0x2000
/* 1D4C 8002694C 2402DFFF */ addiu $v0, $zero, -0x2001
/* 1D50 80026950 00621024 */ and $v0, $v1, $v0
.L80026954:
/* 1D54 80026954 AC820000 */ sw $v0, ($a0)
/* 1D58 80026958 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D5C 8002695C 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D60 80026960 8C830000 */ lw $v1, ($a0)
/* 1D64 80026964 30620400 */ andi $v0, $v1, 0x400
/* 1D68 80026968 14400003 */ bnez $v0, .L80026978
/* 1D6C 8002696C 34624000 */ ori $v0, $v1, 0x4000
/* 1D70 80026970 2402BFFF */ addiu $v0, $zero, -0x4001
/* 1D74 80026974 00621024 */ and $v0, $v1, $v0
.L80026978:
/* 1D78 80026978 AC820000 */ sw $v0, ($a0)
/* 1D7C 8002697C 3C04800A */ lui $a0, %hi(D_8009A630)
/* 1D80 80026980 2484A630 */ addiu $a0, $a0, %lo(D_8009A630)
/* 1D84 80026984 8C830000 */ lw $v1, ($a0)
/* 1D88 80026988 30620800 */ andi $v0, $v1, 0x800
/* 1D8C 8002698C 14400004 */ bnez $v0, .L800269A0
/* 1D90 80026990 34628000 */ ori $v0, $v1, 0x8000
/* 1D94 80026994 3C02FFFF */ lui $v0, 0xffff
/* 1D98 80026998 34427FFF */ ori $v0, $v0, 0x7fff
/* 1D9C 8002699C 00621024 */ and $v0, $v1, $v0
.L800269A0:
/* 1DA0 800269A0 AC820000 */ sw $v0, ($a0)
/* 1DA4 800269A4 0C00A66F */ jal func_800299BC
/* 1DA8 800269A8 24040001 */ addiu $a0, $zero, 1
.L800269AC:
/* 1DAC 800269AC 8FBF0018 */ lw $ra, 0x18($sp)
/* 1DB0 800269B0 8FB10014 */ lw $s1, 0x14($sp)
/* 1DB4 800269B4 8FB00010 */ lw $s0, 0x10($sp)
/* 1DB8 800269B8 03E00008 */ jr $ra
/* 1DBC 800269BC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,75 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800269C0
/* 1DC0 800269C0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1DC4 800269C4 AFB20018 */ sw $s2, 0x18($sp)
/* 1DC8 800269C8 3C120001 */ lui $s2, 1
/* 1DCC 800269CC 36520230 */ ori $s2, $s2, 0x230
/* 1DD0 800269D0 AFB10014 */ sw $s1, 0x14($sp)
/* 1DD4 800269D4 3C11800A */ lui $s1, %hi(D_8009A654)
/* 1DD8 800269D8 2631A654 */ addiu $s1, $s1, %lo(D_8009A654)
/* 1DDC 800269DC 3C038007 */ lui $v1, %hi(D_800741D4)
/* 1DE0 800269E0 8C6341D4 */ lw $v1, %lo(D_800741D4)($v1)
/* 1DE4 800269E4 3C048016 */ lui $a0, %hi(D_80164000)
/* 1DE8 800269E8 24844000 */ addiu $a0, $a0, %lo(D_80164000)
/* 1DEC 800269EC AFB00010 */ sw $s0, 0x10($sp)
/* 1DF0 800269F0 3C10800A */ lui $s0, %hi(D_8009A64C)
/* 1DF4 800269F4 2610A64C */ addiu $s0, $s0, %lo(D_8009A64C)
/* 1DF8 800269F8 AFBF001C */ sw $ra, 0x1c($sp)
/* 1DFC 800269FC 00031040 */ sll $v0, $v1, 1
/* 1E00 80026A00 00431021 */ addu $v0, $v0, $v1
/* 1E04 80026A04 00021940 */ sll $v1, $v0, 5
/* 1E08 80026A08 00431021 */ addu $v0, $v0, $v1
/* 1E0C 80026A0C 00021980 */ sll $v1, $v0, 6
/* 1E10 80026A10 00431021 */ addu $v0, $v0, $v1
/* 1E14 80026A14 00021100 */ sll $v0, $v0, 4
/* 1E18 80026A18 00441021 */ addu $v0, $v0, $a0
/* 1E1C 80026A1C AE220000 */ sw $v0, ($s1)
/* 1E20 80026A20 00521021 */ addu $v0, $v0, $s2
/* 1E24 80026A24 0C009C5C */ jal func_80027170
/* 1E28 80026A28 AE020000 */ sw $v0, ($s0)
/* 1E2C 80026A2C 0C009F78 */ jal func_80027DE0
/* 1E30 80026A30 00000000 */ nop
/* 1E34 80026A34 8E030000 */ lw $v1, ($s0)
/* 1E38 80026A38 3C02E900 */ lui $v0, 0xe900
/* 1E3C 80026A3C 0060202D */ daddu $a0, $v1, $zero
/* 1E40 80026A40 24630008 */ addiu $v1, $v1, 8
/* 1E44 80026A44 AE030000 */ sw $v1, ($s0)
/* 1E48 80026A48 AC820000 */ sw $v0, ($a0)
/* 1E4C 80026A4C 24620008 */ addiu $v0, $v1, 8
/* 1E50 80026A50 AC800004 */ sw $zero, 4($a0)
/* 1E54 80026A54 3C04DF00 */ lui $a0, 0xdf00
/* 1E58 80026A58 AE020000 */ sw $v0, ($s0)
/* 1E5C 80026A5C AC640000 */ sw $a0, ($v1)
/* 1E60 80026A60 AC600004 */ sw $zero, 4($v1)
/* 1E64 80026A64 8E230000 */ lw $v1, ($s1)
/* 1E68 80026A68 00521023 */ subu $v0, $v0, $s2
/* 1E6C 80026A6C 00431023 */ subu $v0, $v0, $v1
/* 1E70 80026A70 000210C2 */ srl $v0, $v0, 3
/* 1E74 80026A74 28420200 */ slti $v0, $v0, 0x200
/* 1E78 80026A78 14400003 */ bnez $v0, .L80026A88
/* 1E7C 80026A7C 3C040001 */ lui $a0, 1
.L80026A80:
/* 1E80 80026A80 08009AA0 */ j .L80026A80
/* 1E84 80026A84 00000000 */ nop
.L80026A88:
/* 1E88 80026A88 34840230 */ ori $a0, $a0, 0x230
/* 1E8C 80026A8C 0000302D */ daddu $a2, $zero, $zero
/* 1E90 80026A90 00C0382D */ daddu $a3, $a2, $zero
/* 1E94 80026A94 3C05800A */ lui $a1, %hi(D_8009A64C)
/* 1E98 80026A98 8CA5A64C */ lw $a1, %lo(D_8009A64C)($a1)
/* 1E9C 80026A9C 3C02800A */ lui $v0, %hi(D_8009A654)
/* 1EA0 80026AA0 8C42A654 */ lw $v0, %lo(D_8009A654)($v0)
/* 1EA4 80026AA4 00A42823 */ subu $a1, $a1, $a0
/* 1EA8 80026AA8 00A22823 */ subu $a1, $a1, $v0
/* 1EAC 80026AAC 000528C3 */ sra $a1, $a1, 3
/* 1EB0 80026AB0 00442021 */ addu $a0, $v0, $a0
/* 1EB4 80026AB4 0C00B3C9 */ jal func_8002CF24
/* 1EB8 80026AB8 000528C0 */ sll $a1, $a1, 3
/* 1EBC 80026ABC 8FBF001C */ lw $ra, 0x1c($sp)
/* 1EC0 80026AC0 8FB20018 */ lw $s2, 0x18($sp)
/* 1EC4 80026AC4 8FB10014 */ lw $s1, 0x14($sp)
/* 1EC8 80026AC8 8FB00010 */ lw $s0, 0x10($sp)
/* 1ECC 80026ACC 03E00008 */ jr $ra
/* 1ED0 80026AD0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,197 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80026AD4
/* 1ED4 80026AD4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1ED8 80026AD8 3C04800A */ lui $a0, %hi(D_8009A654)
/* 1EDC 80026ADC 8C84A654 */ lw $a0, %lo(D_8009A654)($a0)
/* 1EE0 80026AE0 3C05800A */ lui $a1, %hi(D_8009A64C)
/* 1EE4 80026AE4 24A5A64C */ addiu $a1, $a1, %lo(D_8009A64C)
/* 1EE8 80026AE8 AFB00010 */ sw $s0, 0x10($sp)
/* 1EEC 80026AEC 3C10800A */ lui $s0, %hi(D_8009A630)
/* 1EF0 80026AF0 2610A630 */ addiu $s0, $s0, %lo(D_8009A630)
/* 1EF4 80026AF4 AFBF0018 */ sw $ra, 0x18($sp)
/* 1EF8 80026AF8 AFB10014 */ sw $s1, 0x14($sp)
/* 1EFC 80026AFC 3C018007 */ lui $at, %hi(D_800741D0)
/* 1F00 80026B00 A42041D0 */ sh $zero, %lo(D_800741D0)($at)
/* 1F04 80026B04 8E020000 */ lw $v0, ($s0)
/* 1F08 80026B08 24830230 */ addiu $v1, $a0, 0x230
/* 1F0C 80026B0C 30420008 */ andi $v0, $v0, 8
/* 1F10 80026B10 10400007 */ beqz $v0, .L80026B30
/* 1F14 80026B14 ACA30000 */ sw $v1, ($a1)
/* 1F18 80026B18 3C038007 */ lui $v1, %hi(D_800741D4)
/* 1F1C 80026B1C 246341D4 */ addiu $v1, $v1, %lo(D_800741D4)
/* 1F20 80026B20 8C620000 */ lw $v0, ($v1)
/* 1F24 80026B24 38420001 */ xori $v0, $v0, 1
/* 1F28 80026B28 08009B65 */ j .L80026D94
/* 1F2C 80026B2C AC620000 */ sw $v0, ($v1)
.L80026B30:
/* 1F30 80026B30 3C03DA38 */ lui $v1, 0xda38
/* 1F34 80026B34 34630003 */ ori $v1, $v1, 3
/* 1F38 80026B38 24820238 */ addiu $v0, $a0, 0x238
/* 1F3C 80026B3C ACA20000 */ sw $v0, ($a1)
/* 1F40 80026B40 3C028007 */ lui $v0, %hi(D_80074188)
/* 1F44 80026B44 24424188 */ addiu $v0, $v0, %lo(D_80074188)
/* 1F48 80026B48 AC830230 */ sw $v1, 0x230($a0)
/* 1F4C 80026B4C 0C04456C */ jal func_801115B0
/* 1F50 80026B50 AC820234 */ sw $v0, 0x234($a0)
/* 1F54 80026B54 8E020000 */ lw $v0, ($s0)
/* 1F58 80026B58 30420002 */ andi $v0, $v0, 2
/* 1F5C 80026B5C 14400003 */ bnez $v0, .L80026B6C
/* 1F60 80026B60 00000000 */ nop
/* 1F64 80026B64 0C00B4F3 */ jal func_8002D3CC
/* 1F68 80026B68 0000202D */ daddu $a0, $zero, $zero
.L80026B6C:
/* 1F6C 80026B6C 0C038090 */ jal func_800E0240
/* 1F70 80026B70 00000000 */ nop
/* 1F74 80026B74 0C0B0FB9 */ jal func_802C3EE4
/* 1F78 80026B78 00000000 */ nop
/* 1F7C 80026B7C 0C04F4B4 */ jal func_8013D2D0
/* 1F80 80026B80 00000000 */ nop
/* 1F84 80026B84 0C04A1D8 */ jal func_80128760
/* 1F88 80026B88 00000000 */ nop
/* 1F8C 80026B8C 0C051CB0 */ jal func_801472C0
/* 1F90 80026B90 00000000 */ nop
/* 1F94 80026B94 0C016711 */ jal func_80059C44
/* 1F98 80026B98 00000000 */ nop
/* 1F9C 80026B9C 0C04605A */ jal func_80118168
/* 1FA0 80026BA0 00000000 */ nop
/* 1FA4 80026BA4 8E020000 */ lw $v0, ($s0)
/* 1FA8 80026BA8 3C030001 */ lui $v1, 1
/* 1FAC 80026BAC 00431024 */ and $v0, $v0, $v1
/* 1FB0 80026BB0 14400003 */ bnez $v0, .L80026BC0
/* 1FB4 80026BB4 00000000 */ nop
/* 1FB8 80026BB8 0C0532DD */ jal func_8014CB74
/* 1FBC 80026BBC 00000000 */ nop
.L80026BC0:
/* 1FC0 80026BC0 8E020000 */ lw $v0, ($s0)
/* 1FC4 80026BC4 30420002 */ andi $v0, $v0, 2
/* 1FC8 80026BC8 14400009 */ bnez $v0, .L80026BF0
/* 1FCC 80026BCC 3C100010 */ lui $s0, 0x10
/* 1FD0 80026BD0 3C028007 */ lui $v0, %hi(D_8007417C)
/* 1FD4 80026BD4 8C42417C */ lw $v0, %lo(D_8007417C)($v0)
/* 1FD8 80026BD8 80420078 */ lb $v0, 0x78($v0)
/* 1FDC 80026BDC 14400004 */ bnez $v0, .L80026BF0
/* 1FE0 80026BE0 00000000 */ nop
/* 1FE4 80026BE4 0C00B4F3 */ jal func_8002D3CC
/* 1FE8 80026BE8 24040001 */ addiu $a0, $zero, 1
/* 1FEC 80026BEC 3C100010 */ lui $s0, 0x10
.L80026BF0:
/* 1FF0 80026BF0 3C11800A */ lui $s1, %hi(D_8009A630)
/* 1FF4 80026BF4 2631A630 */ addiu $s1, $s1, %lo(D_8009A630)
/* 1FF8 80026BF8 8E220000 */ lw $v0, ($s1)
/* 1FFC 80026BFC 36100010 */ ori $s0, $s0, 0x10
/* 2000 80026C00 00501024 */ and $v0, $v0, $s0
/* 2004 80026C04 14400003 */ bnez $v0, .L80026C14
/* 2008 80026C08 00000000 */ nop
/* 200C 80026C0C 0C04A523 */ jal func_8012948C
/* 2010 80026C10 00000000 */ nop
.L80026C14:
/* 2014 80026C14 0C04A1BC */ jal func_801286F0
/* 2018 80026C18 00000000 */ nop
/* 201C 80026C1C 0C051DF3 */ jal func_801477CC
/* 2020 80026C20 00000000 */ nop
/* 2024 80026C24 0C04F494 */ jal func_8013D250
/* 2028 80026C28 00000000 */ nop
/* 202C 80026C2C 8E220000 */ lw $v0, ($s1)
/* 2030 80026C30 24030010 */ addiu $v1, $zero, 0x10
/* 2034 80026C34 00501024 */ and $v0, $v0, $s0
/* 2038 80026C38 14430003 */ bne $v0, $v1, .L80026C48
/* 203C 80026C3C 00000000 */ nop
/* 2040 80026C40 0C04A523 */ jal func_8012948C
/* 2044 80026C44 00000000 */ nop
.L80026C48:
/* 2048 80026C48 0C00AE90 */ jal func_8002BA40
/* 204C 80026C4C 00000000 */ nop
/* 2050 80026C50 8E220000 */ lw $v0, ($s1)
/* 2054 80026C54 3C030010 */ lui $v1, 0x10
/* 2058 80026C58 00431024 */ and $v0, $v0, $v1
/* 205C 80026C5C 10400003 */ beqz $v0, .L80026C6C
/* 2060 80026C60 00000000 */ nop
/* 2064 80026C64 0C04A523 */ jal func_8012948C
/* 2068 80026C68 00000000 */ nop
.L80026C6C:
/* 206C 80026C6C 8E220000 */ lw $v0, ($s1)
/* 2070 80026C70 3C030001 */ lui $v1, 1
/* 2074 80026C74 00431024 */ and $v0, $v0, $v1
/* 2078 80026C78 10400003 */ beqz $v0, .L80026C88
/* 207C 80026C7C 00000000 */ nop
/* 2080 80026C80 0C0532DD */ jal func_8014CB74
/* 2084 80026C84 00000000 */ nop
.L80026C88:
/* 2088 80026C88 0C046075 */ jal func_801181D4
/* 208C 80026C8C 00000000 */ nop
/* 2090 80026C90 8E220000 */ lw $v0, ($s1)
/* 2094 80026C94 30420020 */ andi $v0, $v0, 0x20
/* 2098 80026C98 10400010 */ beqz $v0, .L80026CDC
/* 209C 80026C9C 00000000 */ nop
/* 20A0 80026CA0 3C038007 */ lui $v1, %hi(D_80074182)
/* 20A4 80026CA4 84634182 */ lh $v1, %lo(D_80074182)($v1)
/* 20A8 80026CA8 28620002 */ slti $v0, $v1, 2
/* 20AC 80026CAC 1040000B */ beqz $v0, .L80026CDC
/* 20B0 80026CB0 00000000 */ nop
/* 20B4 80026CB4 04600009 */ bltz $v1, .L80026CDC
/* 20B8 80026CB8 24040007 */ addiu $a0, $zero, 7
/* 20BC 80026CBC 3C028007 */ lui $v0, %hi(D_80074180)
/* 20C0 80026CC0 84424180 */ lh $v0, %lo(D_80074180)($v0)
/* 20C4 80026CC4 44820000 */ mtc1 $v0, $f0
/* 20C8 80026CC8 00000000 */ nop
/* 20CC 80026CCC 46800020 */ cvt.s.w $f0, $f0
/* 20D0 80026CD0 44050000 */ mfc1 $a1, $f0
/* 20D4 80026CD4 0C04EECC */ jal func_8013BB30
/* 20D8 80026CD8 0000302D */ daddu $a2, $zero, $zero
.L80026CDC:
/* 20DC 80026CDC 3C02800A */ lui $v0, %hi(D_8009A64C)
/* 20E0 80026CE0 8C42A64C */ lw $v0, %lo(D_8009A64C)($v0)
/* 20E4 80026CE4 3C03800A */ lui $v1, %hi(D_8009A654)
/* 20E8 80026CE8 8C63A654 */ lw $v1, %lo(D_8009A654)($v1)
/* 20EC 80026CEC 2442FDD0 */ addiu $v0, $v0, -0x230
/* 20F0 80026CF0 00431023 */ subu $v0, $v0, $v1
/* 20F4 80026CF4 000210C2 */ srl $v0, $v0, 3
/* 20F8 80026CF8 28422000 */ slti $v0, $v0, 0x2000
/* 20FC 80026CFC 54400003 */ bnel $v0, $zero, .L80026D0C
/* 2100 80026D00 0000302D */ daddu $a2, $zero, $zero
.L80026D04:
/* 2104 80026D04 08009B41 */ j .L80026D04
/* 2108 80026D08 00000000 */ nop
.L80026D0C:
/* 210C 80026D0C 3C070004 */ lui $a3, 4
/* 2110 80026D10 3C08800A */ lui $t0, %hi(D_8009A64C)
/* 2114 80026D14 2508A64C */ addiu $t0, $t0, %lo(D_8009A64C)
/* 2118 80026D18 34E70001 */ ori $a3, $a3, 1
/* 211C 80026D1C 8D030000 */ lw $v1, ($t0)
/* 2120 80026D20 3C02800A */ lui $v0, %hi(D_8009A654)
/* 2124 80026D24 8C42A654 */ lw $v0, %lo(D_8009A654)($v0)
/* 2128 80026D28 0060482D */ daddu $t1, $v1, $zero
/* 212C 80026D2C 24630008 */ addiu $v1, $v1, 8
/* 2130 80026D30 24440230 */ addiu $a0, $v0, 0x230
/* 2134 80026D34 2465FDD8 */ addiu $a1, $v1, -0x228
/* 2138 80026D38 00A22823 */ subu $a1, $a1, $v0
/* 213C 80026D3C 000528C3 */ sra $a1, $a1, 3
/* 2140 80026D40 000528C0 */ sll $a1, $a1, 3
/* 2144 80026D44 3C02E900 */ lui $v0, 0xe900
/* 2148 80026D48 AD030000 */ sw $v1, ($t0)
/* 214C 80026D4C AD220000 */ sw $v0, ($t1)
/* 2150 80026D50 24620008 */ addiu $v0, $v1, 8
/* 2154 80026D54 AD200004 */ sw $zero, 4($t1)
/* 2158 80026D58 AD020000 */ sw $v0, ($t0)
/* 215C 80026D5C 3C02DF00 */ lui $v0, 0xdf00
/* 2160 80026D60 AC620000 */ sw $v0, ($v1)
/* 2164 80026D64 0C00B3C9 */ jal func_8002CF24
/* 2168 80026D68 AC600004 */ sw $zero, 4($v1)
/* 216C 80026D6C 24050140 */ addiu $a1, $zero, 0x140
/* 2170 80026D70 240600F0 */ addiu $a2, $zero, 0xf0
/* 2174 80026D74 3C038007 */ lui $v1, %hi(D_800741D4)
/* 2178 80026D78 246341D4 */ addiu $v1, $v1, %lo(D_800741D4)
/* 217C 80026D7C 8C620000 */ lw $v0, ($v1)
/* 2180 80026D80 3C04800A */ lui $a0, %hi(D_8009A62C)
/* 2184 80026D84 8C84A62C */ lw $a0, %lo(D_8009A62C)($a0)
/* 2188 80026D88 38420001 */ xori $v0, $v0, 1
/* 218C 80026D8C 0C00B214 */ jal func_8002C850
/* 2190 80026D90 AC620000 */ sw $v0, ($v1)
.L80026D94:
/* 2194 80026D94 8FBF0018 */ lw $ra, 0x18($sp)
/* 2198 80026D98 8FB10014 */ lw $s1, 0x14($sp)
/* 219C 80026D9C 8FB00010 */ lw $s0, 0x10($sp)
/* 21A0 80026DA0 03E00008 */ jr $ra
/* 21A4 80026DA4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,176 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80026DA8
/* 21A8 80026DA8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 21AC 80026DAC 3C04000A */ lui $a0, 0xa
/* 21B0 80026DB0 24845F90 */ addiu $a0, $a0, 0x5f90
/* 21B4 80026DB4 3C05000B */ lui $a1, 0xb
/* 21B8 80026DB8 24A59770 */ addiu $a1, $a1, -0x6890
/* 21BC 80026DBC 3C068011 */ lui $a2, %hi(D_8010F890)
/* 21C0 80026DC0 24C6F890 */ addiu $a2, $a2, %lo(D_8010F890)
/* 21C4 80026DC4 AFBF0014 */ sw $ra, 0x14($sp)
/* 21C8 80026DC8 0C00A5BF */ jal func_800296FC
/* 21CC 80026DCC AFB00010 */ sw $s0, 0x10($sp)
/* 21D0 80026DD0 3C040007 */ lui $a0, 7
/* 21D4 80026DD4 24845990 */ addiu $a0, $a0, 0x5990
/* 21D8 80026DD8 3C05000A */ lui $a1, 0xa
/* 21DC 80026DDC 24A55F90 */ addiu $a1, $a1, 0x5f90
/* 21E0 80026DE0 3C06800E */ lui $a2, %hi(D_800DC4E0)
/* 21E4 80026DE4 24C6C4E0 */ addiu $a2, $a2, %lo(D_800DC4E0)
/* 21E8 80026DE8 0C00A5BF */ jal func_800296FC
/* 21EC 80026DEC 00000000 */ nop
/* 21F0 80026DF0 3C04000F */ lui $a0, 0xf
/* 21F4 80026DF4 2484B1A0 */ addiu $a0, $a0, -0x4e60
/* 21F8 80026DF8 3C050010 */ lui $a1, 0x10
/* 21FC 80026DFC 24A52620 */ addiu $a1, $a1, 0x2620
/* 2200 80026E00 3C06802C */ lui $a2, %hi(D_802C3000)
/* 2204 80026E04 24C63000 */ addiu $a2, $a2, %lo(D_802C3000)
/* 2208 80026E08 0C00A5BF */ jal func_800296FC
/* 220C 80026E0C 00000000 */ nop
/* 2210 80026E10 3C040010 */ lui $a0, 0x10
/* 2214 80026E14 24842620 */ addiu $a0, $a0, 0x2620
/* 2218 80026E18 3C050011 */ lui $a1, 0x11
/* 221C 80026E1C 24A5CC20 */ addiu $a1, $a1, -0x33e0
/* 2220 80026E20 3C06802E */ lui $a2, %hi(D_802DBD40)
/* 2224 80026E24 24C6BD40 */ addiu $a2, $a2, %lo(D_802DBD40)
/* 2228 80026E28 0C00A5BF */ jal func_800296FC
/* 222C 80026E2C 00000000 */ nop
/* 2230 80026E30 3C04000B */ lui $a0, 0xb
/* 2234 80026E34 24849770 */ addiu $a0, $a0, -0x6890
/* 2238 80026E38 3C05000F */ lui $a1, 0xf
/* 223C 80026E3C 24A5B1A0 */ addiu $a1, $a1, -0x4e60
/* 2240 80026E40 3C068011 */ lui $a2, %hi(func_801148E0)
/* 2244 80026E44 24C648E0 */ addiu $a2, $a2, %lo(func_801148E0)
/* 2248 80026E48 0C00A5BF */ jal func_800296FC
/* 224C 80026E4C 00000000 */ nop
/* 2250 80026E50 3C040011 */ lui $a0, 0x11
/* 2254 80026E54 2484CC20 */ addiu $a0, $a0, -0x33e0
/* 2258 80026E58 3C050011 */ lui $a1, 0x11
/* 225C 80026E5C 24A5F330 */ addiu $a1, $a1, -0xcd0
/* 2260 80026E60 3C06802E */ lui $a2, %hi(D_802E6380)
/* 2264 80026E64 24C66380 */ addiu $a2, $a2, %lo(D_802E6380)
/* 2268 80026E68 0C00A5BF */ jal func_800296FC
/* 226C 80026E6C 00000000 */ nop
/* 2270 80026E70 3C108007 */ lui $s0, %hi(D_8007417C)
/* 2274 80026E74 2610417C */ addiu $s0, $s0, %lo(D_8007417C)
/* 2278 80026E78 8E020000 */ lw $v0, ($s0)
/* 227C 80026E7C 3C01800A */ lui $at, %hi(D_8009A630)
/* 2280 80026E80 AC20A630 */ sw $zero, %lo(D_8009A630)($at)
/* 2284 80026E84 A0400079 */ sb $zero, 0x79($v0)
/* 2288 80026E88 8E030000 */ lw $v1, ($s0)
/* 228C 80026E8C 24040001 */ addiu $a0, $zero, 1
/* 2290 80026E90 A064007A */ sb $a0, 0x7a($v1)
/* 2294 80026E94 8E020000 */ lw $v0, ($s0)
/* 2298 80026E98 A4600148 */ sh $zero, 0x148($v1)
/* 229C 80026E9C A044007C */ sb $a0, 0x7c($v0)
/* 22A0 80026EA0 8E030000 */ lw $v1, ($s0)
/* 22A4 80026EA4 2402FFFF */ addiu $v0, $zero, -1
/* 22A8 80026EA8 A06200A8 */ sb $v0, 0xa8($v1)
/* 22AC 80026EAC 8E020000 */ lw $v0, ($s0)
/* 22B0 80026EB0 A04000AA */ sb $zero, 0xaa($v0)
/* 22B4 80026EB4 8E020000 */ lw $v0, ($s0)
/* 22B8 80026EB8 A0400081 */ sb $zero, 0x81($v0)
/* 22BC 80026EBC 8E030000 */ lw $v1, ($s0)
/* 22C0 80026EC0 2402FFF8 */ addiu $v0, $zero, -8
/* 22C4 80026EC4 A0620082 */ sb $v0, 0x82($v1)
/* 22C8 80026EC8 8E030000 */ lw $v1, ($s0)
/* 22CC 80026ECC 24020004 */ addiu $v0, $zero, 4
/* 22D0 80026ED0 A0620083 */ sb $v0, 0x83($v1)
/* 22D4 80026ED4 8E020000 */ lw $v0, ($s0)
/* 22D8 80026ED8 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 22DC 80026EDC AC20A5B8 */ sw $zero, %lo(D_8009A5B8)($at)
/* 22E0 80026EE0 A440013C */ sh $zero, 0x13c($v0)
/* 22E4 80026EE4 A0400075 */ sb $zero, 0x75($v0)
/* 22E8 80026EE8 8E030000 */ lw $v1, ($s0)
/* 22EC 80026EEC 24020005 */ addiu $v0, $zero, 5
/* 22F0 80026EF0 3C018007 */ lui $at, %hi(D_80074001)
/* 22F4 80026EF4 A0224001 */ sb $v0, %lo(D_80074001)($at)
/* 22F8 80026EF8 0C00AE03 */ jal func_8002B80C
/* 22FC 80026EFC AC600168 */ sw $zero, 0x168($v1)
/* 2300 80026F00 0C00A202 */ jal func_80028808
/* 2304 80026F04 00000000 */ nop
/* 2308 80026F08 0C00AAF0 */ jal func_8002ABC0
/* 230C 80026F0C 00000000 */ nop
/* 2310 80026F10 0C048AA8 */ jal func_80122AA0
/* 2314 80026F14 00000000 */ nop
/* 2318 80026F18 0C04A0B2 */ jal func_801282C8
/* 231C 80026F1C 00000000 */ nop
/* 2320 80026F20 0C0B0C77 */ jal func_802C31DC
/* 2324 80026F24 00000000 */ nop
/* 2328 80026F28 0C00B6E1 */ jal func_8002DB84
/* 232C 80026F2C 00000000 */ nop
/* 2330 80026F30 0C037F0C */ jal func_800DFC30
/* 2334 80026F34 00000000 */ nop
/* 2338 80026F38 0C044512 */ jal func_80111448
/* 233C 80026F3C 0000202D */ daddu $a0, $zero, $zero
/* 2340 80026F40 0C049770 */ jal func_80125DC0
/* 2344 80026F44 00000000 */ nop
/* 2348 80026F48 0C048D0D */ jal func_80123434
/* 234C 80026F4C 00000000 */ nop
/* 2350 80026F50 0C046BD5 */ jal func_8011AF54
/* 2354 80026F54 00000000 */ nop
/* 2358 80026F58 0C05343C */ jal func_8014D0F0
/* 235C 80026F5C 00000000 */ nop
/* 2360 80026F60 0C052BAA */ jal func_8014AEA8
/* 2364 80026F64 00000000 */ nop
/* 2368 80026F68 0C04A21C */ jal func_80128870
/* 236C 80026F6C 00000000 */ nop
/* 2370 80026F70 0C04A221 */ jal func_80128884
/* 2374 80026F74 00000000 */ nop
/* 2378 80026F78 0C045F6A */ jal func_80117DA8
/* 237C 80026F7C 00000000 */ nop
/* 2380 80026F80 0C00E05F */ jal func_8003817C
/* 2384 80026F84 00000000 */ nop
/* 2388 80026F88 0C05186C */ jal func_801461B0
/* 238C 80026F8C 00000000 */ nop
/* 2390 80026F90 0C0529CC */ jal func_8014A730
/* 2394 80026F94 00000000 */ nop
/* 2398 80026F98 0C0457B2 */ jal func_80115EC8
/* 239C 80026F9C 0000202D */ daddu $a0, $zero, $zero
/* 23A0 80026FA0 0C039CD0 */ jal func_800E7340
/* 23A4 80026FA4 00000000 */ nop
/* 23A8 80026FA8 0C00F7FE */ jal func_8003DFF8
/* 23AC 80026FAC 00000000 */ nop
/* 23B0 80026FB0 0C04F46E */ jal func_8013D1B8
/* 23B4 80026FB4 00000000 */ nop
/* 23B8 80026FB8 0C016653 */ jal func_8005994C
/* 23BC 80026FBC 00000000 */ nop
/* 23C0 80026FC0 0C0528F4 */ jal func_8014A3D0
/* 23C4 80026FC4 00000000 */ nop
/* 23C8 80026FC8 0C04D85C */ jal func_80136170
/* 23CC 80026FCC 00000000 */ nop
/* 23D0 80026FD0 0C053D52 */ jal func_8014F548
/* 23D4 80026FD4 00000000 */ nop
/* 23D8 80026FD8 0C0530B8 */ jal func_8014C2E0
/* 23DC 80026FDC 00000000 */ nop
/* 23E0 80026FE0 0C0539B2 */ jal func_8014E6C8
/* 23E4 80026FE4 00000000 */ nop
/* 23E8 80026FE8 0C053128 */ jal func_8014C4A0
/* 23EC 80026FEC 00000000 */ nop
/* 23F0 80026FF0 0C00AE80 */ jal func_8002BA00
/* 23F4 80026FF4 00000000 */ nop
/* 23F8 80026FF8 0C00A3AC */ jal func_80028EB0
/* 23FC 80026FFC 00000000 */ nop
/* 2400 80027000 0000182D */ daddu $v1, $zero, $zero
/* 2404 80027004 24050003 */ addiu $a1, $zero, 3
/* 2408 80027008 2404000C */ addiu $a0, $zero, 0xc
/* 240C 8002700C 8E100000 */ lw $s0, ($s0)
.L80027010:
/* 2410 80027010 A6050050 */ sh $a1, 0x50($s0)
/* 2414 80027014 A6040048 */ sh $a0, 0x48($s0)
/* 2418 80027018 24630001 */ addiu $v1, $v1, 1
/* 241C 8002701C 28620004 */ slti $v0, $v1, 4
/* 2420 80027020 1440FFFB */ bnez $v0, .L80027010
/* 2424 80027024 26100002 */ addiu $s0, $s0, 2
/* 2428 80027028 3C03800A */ lui $v1, %hi(D_8009A630)
/* 242C 8002702C 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
/* 2430 80027030 8C620000 */ lw $v0, ($v1)
/* 2434 80027034 0000202D */ daddu $a0, $zero, $zero
/* 2438 80027038 34420008 */ ori $v0, $v0, 8
/* 243C 8002703C 0C00CC60 */ jal func_80033180
/* 2440 80027040 AC620000 */ sw $v0, ($v1)
/* 2444 80027044 8FBF0014 */ lw $ra, 0x14($sp)
/* 2448 80027048 8FB00010 */ lw $s0, 0x10($sp)
/* 244C 8002704C 03E00008 */ jr $ra
/* 2450 80027050 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,72 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80027054
/* 2454 80027054 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 2458 80027058 0080282D */ daddu $a1, $a0, $zero
/* 245C 8002705C 2CA20005 */ sltiu $v0, $a1, 5
/* 2460 80027060 1040003B */ beqz $v0, .L80027150
/* 2464 80027064 AFBF0010 */ sw $ra, 0x10($sp)
/* 2468 80027068 00051080 */ sll $v0, $a1, 2
/* 246C 8002706C 3C018009 */ lui $at, %hi(D_80097D28)
/* 2470 80027070 00220821 */ addu $at, $at, $v0
/* 2474 80027074 8C227D28 */ lw $v0, %lo(D_80097D28)($at)
/* 2478 80027078 00400008 */ jr $v0
/* 247C 8002707C 00000000 */ nop
/* 2480 80027080 24040003 */ addiu $a0, $zero, 3
/* 2484 80027084 3C02800A */ lui $v0, %hi(D_8009A630)
/* 2488 80027088 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 248C 8002708C 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 2490 80027090 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 2494 80027094 8C430000 */ lw $v1, ($v0)
/* 2498 80027098 2405F0FF */ addiu $a1, $zero, -0xf01
/* 249C 8002709C 00651824 */ and $v1, $v1, $a1
/* 24A0 800270A0 0C0B1192 */ jal func_802C4648
/* 24A4 800270A4 AC430000 */ sw $v1, ($v0)
/* 24A8 800270A8 08009C54 */ j .L80027150
/* 24AC 800270AC 00000000 */ nop
/* 24B0 800270B0 24040001 */ addiu $a0, $zero, 1
/* 24B4 800270B4 3C02800A */ lui $v0, %hi(D_8009A630)
/* 24B8 800270B8 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 24BC 800270BC 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 24C0 800270C0 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 24C4 800270C4 8C430000 */ lw $v1, ($v0)
/* 24C8 800270C8 2405F1FF */ addiu $a1, $zero, -0xe01
/* 24CC 800270CC 00651824 */ and $v1, $v1, $a1
/* 24D0 800270D0 08009C49 */ j .L80027124
/* 24D4 800270D4 34630100 */ ori $v1, $v1, 0x100
/* 24D8 800270D8 24040002 */ addiu $a0, $zero, 2
/* 24DC 800270DC 3C02800A */ lui $v0, %hi(D_8009A630)
/* 24E0 800270E0 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 24E4 800270E4 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 24E8 800270E8 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 24EC 800270EC 8C430000 */ lw $v1, ($v0)
/* 24F0 800270F0 2405F3FF */ addiu $a1, $zero, -0xc01
/* 24F4 800270F4 00651824 */ and $v1, $v1, $a1
/* 24F8 800270F8 08009C49 */ j .L80027124
/* 24FC 800270FC 34630300 */ ori $v1, $v1, 0x300
/* 2500 80027100 24040002 */ addiu $a0, $zero, 2
/* 2504 80027104 3C02800A */ lui $v0, %hi(D_8009A630)
/* 2508 80027108 2442A630 */ addiu $v0, $v0, %lo(D_8009A630)
/* 250C 8002710C 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 2510 80027110 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 2514 80027114 8C430000 */ lw $v1, ($v0)
/* 2518 80027118 2405F7FF */ addiu $a1, $zero, -0x801
/* 251C 8002711C 00651824 */ and $v1, $v1, $a1
/* 2520 80027120 34630700 */ ori $v1, $v1, 0x700
.L80027124:
/* 2524 80027124 0C0B117A */ jal func_802C45E8
/* 2528 80027128 AC430000 */ sw $v1, ($v0)
/* 252C 8002712C 08009C54 */ j .L80027150
/* 2530 80027130 00000000 */ nop
/* 2534 80027134 3C03800A */ lui $v1, %hi(D_8009A630)
/* 2538 80027138 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
/* 253C 8002713C 8C620000 */ lw $v0, ($v1)
/* 2540 80027140 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 2544 80027144 AC25A5B8 */ sw $a1, %lo(D_8009A5B8)($at)
/* 2548 80027148 34420F00 */ ori $v0, $v0, 0xf00
/* 254C 8002714C AC620000 */ sw $v0, ($v1)
.L80027150:
/* 2550 80027150 8FBF0010 */ lw $ra, 0x10($sp)
/* 2554 80027154 03E00008 */ jr $ra
/* 2558 80027158 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,9 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002715C
/* 255C 8002715C 3C02800A */ lui $v0, %hi(D_8009A5B8)
/* 2560 80027160 8C42A5B8 */ lw $v0, %lo(D_8009A5B8)($v0)
/* 2564 80027164 03E00008 */ jr $ra
/* 2568 80027168 00000000 */ nop
/* 256C 8002716C 00000000 */ nop

View File

@ -267,8 +267,8 @@ glabel func_8004AAB8
/* 26278 8004AE78 AE22000C */ sw $v0, 0xc($s1)
/* 2627C 8004AE7C AC830000 */ sw $v1, ($a0)
/* 26280 8004AE80 A0A00002 */ sb $zero, 2($a1)
/* 26284 8004AE84 3C04800A */ lui $a0, %hi(D_8009A618)
/* 26288 8004AE88 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 26284 8004AE84 3C04800A */ lui $a0, %hi(carthandle)
/* 26288 8004AE88 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 2628C 8004AE8C 3C02800A */ lui $v0, %hi(D_800A1450)
/* 26290 8004AE90 24421450 */ addiu $v0, $v0, %lo(D_800A1450)
/* 26294 8004AE94 ACA20004 */ sw $v0, 4($a1)

View File

@ -21,8 +21,8 @@ glabel func_8005E5BC
/* 399FC 8005E5FC 24428570 */ addiu $v0, $v0, %lo(D_800B8570)
/* 39A00 8005E600 AFA20010 */ sw $v0, 0x10($sp)
/* 39A04 8005E604 2402000A */ addiu $v0, $zero, 0xa
/* 39A08 8005E608 3C068002 */ lui $a2, %hi(D_80025F70)
/* 39A0C 8005E60C 24C65F70 */ addiu $a2, $a2, %lo(D_80025F70)
/* 39A08 8005E608 3C068002 */ lui $a2, %hi(func_80025F70)
/* 39A0C 8005E60C 24C65F70 */ addiu $a2, $a2, %lo(func_80025F70)
/* 39A10 8005E610 0000382D */ daddu $a3, $zero, $zero
/* 39A14 8005E614 0C01978C */ jal func_80065E30
/* 39A18 8005E618 AFA20014 */ sw $v0, 0x14($sp)

View File

@ -14,7 +14,7 @@ glabel func_8005F100
/* 3A524 8005F124 0C0183B8 */ jal func_80060EE0
/* 3A528 8005F128 00000000 */ nop
/* 3A52C 8005F12C 8FBF0010 */ lw $ra, 0x10($sp)
/* 3A530 8005F130 3C01800A */ lui $at, %hi(D_8009A618)
/* 3A534 8005F134 AC22A618 */ sw $v0, %lo(D_8009A618)($at)
/* 3A530 8005F130 3C01800A */ lui $at, %hi(carthandle)
/* 3A534 8005F134 AC22A618 */ sw $v0, %lo(carthandle)($at)
/* 3A538 8005F138 03E00008 */ jr $ra
/* 3A53C 8005F13C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -33,8 +33,8 @@ glabel func_8005F140
/* 3A5AC 8005F1AC 24104000 */ addiu $s0, $zero, 0x4000
.L8005F1B0:
/* 3A5B0 8005F1B0 27A50010 */ addiu $a1, $sp, 0x10
/* 3A5B4 8005F1B4 3C04800A */ lui $a0, %hi(D_8009A618)
/* 3A5B8 8005F1B8 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 3A5B4 8005F1B4 3C04800A */ lui $a0, %hi(carthandle)
/* 3A5B8 8005F1B8 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 3A5BC 8005F1BC 0000302D */ daddu $a2, $zero, $zero
/* 3A5C0 8005F1C0 AFB20018 */ sw $s2, 0x18($sp)
/* 3A5C4 8005F1C4 AFB3001C */ sw $s3, 0x1c($sp)

View File

@ -1,7 +1,7 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80064A70
glabel _Printf
/* 3FE70 80064A70 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 3FE74 80064A74 AFB400A0 */ sw $s4, 0xa0($sp)
/* 3FE78 80064A78 0080A021 */ addu $s4, $a0, $zero

View File

@ -13,7 +13,7 @@ glabel func_800654C0
/* 408E0 800654E0 24845518 */ addiu $a0, $a0, %lo(func_80065518)
/* 408E4 800654E4 02002821 */ addu $a1, $s0, $zero
/* 408E8 800654E8 AFBF0014 */ sw $ra, 0x14($sp)
/* 408EC 800654EC 0C01929C */ jal func_80064A70
/* 408EC 800654EC 0C01929C */ jal _Printf
/* 408F0 800654F0 27A70020 */ addiu $a3, $sp, 0x20
/* 408F4 800654F4 00401821 */ addu $v1, $v0, $zero
/* 408F8 800654F8 04600002 */ bltz $v1, .L80065504

View File

@ -21,8 +21,8 @@ glabel func_80029820
/* 4C60 80029860 0C019554 */ jal func_80065550
/* 4C64 80029864 24060001 */ addiu $a2, $zero, 1
/* 4C68 80029868 27A50010 */ addiu $a1, $sp, 0x10
/* 4C6C 8002986C 3C04800A */ lui $a0, %hi(D_8009A618)
/* 4C70 80029870 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 4C6C 8002986C 3C04800A */ lui $a0, %hi(carthandle)
/* 4C70 80029870 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 4C74 80029874 24060001 */ addiu $a2, $zero, 1
/* 4C78 80029878 A3A00012 */ sb $zero, 0x12($sp)
/* 4C7C 8002987C AFB00014 */ sw $s0, 0x14($sp)

View File

@ -13,14 +13,14 @@ glabel func_8006F098
/* 4A4B8 8006F0B8 00A17025 */ or $t6, $a1, $at
/* 4A4BC 8006F0BC 01C02825 */ or $a1, $t6, $zero
/* 4A4C0 8006F0C0 3C06D200 */ lui $a2, 0xd200
/* 4A4C4 8006F0C4 0C01834C */ jal func_80060D30
/* 4A4C4 8006F0C4 0C01834C */ jal osEPiWriteIo
/* 4A4C8 8006F0C8 00000000 */ nop
/* 4A4CC 8006F0CC 3C04800B */ lui $a0, %hi(D_800B0C50)
/* 4A4D0 8006F0D0 24840C50 */ addiu $a0, $a0, %lo(D_800B0C50)
/* 4A4D4 8006F0D4 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4A4D8 8006F0D8 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4A4DC 8006F0DC 27A6001C */ addiu $a2, $sp, 0x1c
/* 4A4E0 8006F0E0 0C018364 */ jal func_80060D90
/* 4A4E0 8006F0E0 0C018364 */ jal osEPiReadIo
/* 4A4E4 8006F0E4 00000000 */ nop
/* 4A4E8 8006F0E8 3C04800B */ lui $a0, %hi(D_800B0C50)
/* 4A4EC 8006F0EC 24840C50 */ addiu $a0, $a0, %lo(D_800B0C50)
@ -30,14 +30,14 @@ glabel func_8006F098
/* 4A4FC 8006F0FC 00A17825 */ or $t7, $a1, $at
/* 4A500 8006F100 01E02825 */ or $a1, $t7, $zero
/* 4A504 8006F104 3C06D200 */ lui $a2, 0xd200
/* 4A508 8006F108 0C01834C */ jal func_80060D30
/* 4A508 8006F108 0C01834C */ jal osEPiWriteIo
/* 4A50C 8006F10C 00000000 */ nop
/* 4A510 8006F110 3C04800B */ lui $a0, %hi(D_800B0C50)
/* 4A514 8006F114 24840C50 */ addiu $a0, $a0, %lo(D_800B0C50)
/* 4A518 8006F118 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4A51C 8006F11C 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4A520 8006F120 27A6001C */ addiu $a2, $sp, 0x1c
/* 4A524 8006F124 0C018364 */ jal func_80060D90
/* 4A524 8006F124 0C018364 */ jal osEPiReadIo
/* 4A528 8006F128 00000000 */ nop
/* 4A52C 8006F12C 8FB8001C */ lw $t8, 0x1c($sp)
/* 4A530 8006F130 00000000 */ nop

View File

@ -17,7 +17,7 @@ glabel func_8006F164
/* 4A594 8006F194 00A17025 */ or $t6, $a1, $at
/* 4A598 8006F198 01C02825 */ or $a1, $t6, $zero
/* 4A59C 8006F19C 3C06E100 */ lui $a2, 0xe100
/* 4A5A0 8006F1A0 0C01834C */ jal func_80060D30
/* 4A5A0 8006F1A0 0C01834C */ jal osEPiWriteIo
/* 4A5A4 8006F1A4 00000000 */ nop
/* 4A5A8 8006F1A8 3C01800B */ lui $at, %hi(D_800B0C22)
/* 4A5AC 8006F1AC A0200C22 */ sb $zero, %lo(D_800B0C22)($at)

View File

@ -12,14 +12,14 @@ glabel func_8006F27C
/* 4A698 8006F298 00A17025 */ or $t6, $a1, $at
/* 4A69C 8006F29C 01C02825 */ or $a1, $t6, $zero
/* 4A6A0 8006F2A0 3C06D200 */ lui $a2, 0xd200
/* 4A6A4 8006F2A4 0C01834C */ jal func_80060D30
/* 4A6A4 8006F2A4 0C01834C */ jal osEPiWriteIo
/* 4A6A8 8006F2A8 00000000 */ nop
/* 4A6AC 8006F2AC 3C04800B */ lui $a0, %hi(D_800B0C50)
/* 4A6B0 8006F2B0 24840C50 */ addiu $a0, $a0, %lo(D_800B0C50)
/* 4A6B4 8006F2B4 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4A6B8 8006F2B8 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4A6BC 8006F2BC 00003025 */ or $a2, $zero, $zero
/* 4A6C0 8006F2C0 0C01834C */ jal func_80060D30
/* 4A6C0 8006F2C0 0C01834C */ jal osEPiWriteIo
/* 4A6C4 8006F2C4 00000000 */ nop
/* 4A6C8 8006F2C8 10000003 */ b .L8006F2D8
/* 4A6CC 8006F2CC 00000000 */ nop

View File

@ -12,7 +12,7 @@ glabel func_8006F2E8
/* 4A704 8006F304 00A17025 */ or $t6, $a1, $at
/* 4A708 8006F308 01C02825 */ or $a1, $t6, $zero
/* 4A70C 8006F30C 3C063C00 */ lui $a2, 0x3c00
/* 4A710 8006F310 0C01834C */ jal func_80060D30
/* 4A710 8006F310 0C01834C */ jal osEPiWriteIo
/* 4A714 8006F314 00000000 */ nop
/* 4A718 8006F318 3C04800B */ lui $a0, %hi(D_800B0C50)
/* 4A71C 8006F31C 24840C50 */ addiu $a0, $a0, %lo(D_800B0C50)
@ -22,7 +22,7 @@ glabel func_8006F2E8
/* 4A72C 8006F32C 00A17825 */ or $t7, $a1, $at
/* 4A730 8006F330 01E02825 */ or $a1, $t7, $zero
/* 4A734 8006F334 3C067800 */ lui $a2, 0x7800
/* 4A738 8006F338 0C01834C */ jal func_80060D30
/* 4A738 8006F338 0C01834C */ jal osEPiWriteIo
/* 4A73C 8006F33C 00000000 */ nop
.L8006F340:
/* 4A740 8006F340 3C04800B */ lui $a0, %hi(D_800B0C50)
@ -30,7 +30,7 @@ glabel func_8006F2E8
/* 4A748 8006F348 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4A74C 8006F34C 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4A750 8006F350 27A6001C */ addiu $a2, $sp, 0x1c
/* 4A754 8006F354 0C018364 */ jal func_80060D90
/* 4A754 8006F354 0C018364 */ jal osEPiReadIo
/* 4A758 8006F358 00000000 */ nop
/* 4A75C 8006F35C 8FB8001C */ lw $t8, 0x1c($sp)
/* 4A760 8006F360 00000000 */ nop
@ -43,7 +43,7 @@ glabel func_8006F2E8
/* 4A77C 8006F37C 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4A780 8006F380 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4A784 8006F384 27A6001C */ addiu $a2, $sp, 0x1c
/* 4A788 8006F388 0C018364 */ jal func_80060D90
/* 4A788 8006F388 0C018364 */ jal osEPiReadIo
/* 4A78C 8006F38C 00000000 */ nop
/* 4A790 8006F390 0C01BC9F */ jal func_8006F27C
/* 4A794 8006F394 00000000 */ nop

View File

@ -16,7 +16,7 @@ glabel func_8006F404
/* 4A830 8006F430 3C014B00 */ lui $at, 0x4b00
/* 4A834 8006F434 00C17825 */ or $t7, $a2, $at
/* 4A838 8006F438 01E03025 */ or $a2, $t7, $zero
/* 4A83C 8006F43C 0C01834C */ jal func_80060D30
/* 4A83C 8006F43C 0C01834C */ jal osEPiWriteIo
/* 4A840 8006F440 00000000 */ nop
/* 4A844 8006F444 3C04800B */ lui $a0, %hi(D_800B0C50)
/* 4A848 8006F448 24840C50 */ addiu $a0, $a0, %lo(D_800B0C50)
@ -26,7 +26,7 @@ glabel func_8006F404
/* 4A858 8006F458 00A1C025 */ or $t8, $a1, $at
/* 4A85C 8006F45C 03002825 */ or $a1, $t8, $zero
/* 4A860 8006F460 3C067800 */ lui $a2, 0x7800
/* 4A864 8006F464 0C01834C */ jal func_80060D30
/* 4A864 8006F464 0C01834C */ jal osEPiWriteIo
/* 4A868 8006F468 00000000 */ nop
.L8006F46C:
/* 4A86C 8006F46C 3C04800B */ lui $a0, %hi(D_800B0C50)
@ -34,7 +34,7 @@ glabel func_8006F404
/* 4A874 8006F474 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4A878 8006F478 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4A87C 8006F47C 27A6001C */ addiu $a2, $sp, 0x1c
/* 4A880 8006F480 0C018364 */ jal func_80060D90
/* 4A880 8006F480 0C018364 */ jal osEPiReadIo
/* 4A884 8006F484 00000000 */ nop
/* 4A888 8006F488 8FB9001C */ lw $t9, 0x1c($sp)
/* 4A88C 8006F48C 00000000 */ nop
@ -47,7 +47,7 @@ glabel func_8006F404
/* 4A8A8 8006F4A8 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4A8AC 8006F4AC 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4A8B0 8006F4B0 27A6001C */ addiu $a2, $sp, 0x1c
/* 4A8B4 8006F4B4 0C018364 */ jal func_80060D90
/* 4A8B4 8006F4B4 0C018364 */ jal osEPiReadIo
/* 4A8B8 8006F4B8 00000000 */ nop
/* 4A8BC 8006F4BC 0C01BC9F */ jal func_8006F27C
/* 4A8C0 8006F4C0 00000000 */ nop

View File

@ -16,7 +16,7 @@ glabel func_8006F530
/* 4A95C 8006F55C 00A17025 */ or $t6, $a1, $at
/* 4A960 8006F560 01C02825 */ or $a1, $t6, $zero
/* 4A964 8006F564 3C06B400 */ lui $a2, 0xb400
/* 4A968 8006F568 0C01834C */ jal func_80060D30
/* 4A968 8006F568 0C01834C */ jal osEPiWriteIo
/* 4A96C 8006F56C 00000000 */ nop
/* 4A970 8006F570 8FAF0024 */ lw $t7, 0x24($sp)
/* 4A974 8006F574 8FB80020 */ lw $t8, 0x20($sp)

View File

@ -18,7 +18,7 @@ glabel func_8006F5FC
/* 4AA30 8006F630 00A17825 */ or $t7, $a1, $at
/* 4AA34 8006F634 01E02825 */ or $a1, $t7, $zero
/* 4AA38 8006F638 3C06B400 */ lui $a2, 0xb400
/* 4AA3C 8006F63C 0C01834C */ jal func_80060D30
/* 4AA3C 8006F63C 0C01834C */ jal osEPiWriteIo
/* 4AA40 8006F640 00000000 */ nop
.L8006F644:
/* 4AA44 8006F644 3C04800B */ lui $a0, %hi(D_800B0C50)
@ -32,7 +32,7 @@ glabel func_8006F5FC
/* 4AA64 8006F664 3C01A500 */ lui $at, 0xa500
/* 4AA68 8006F668 00C1C825 */ or $t9, $a2, $at
/* 4AA6C 8006F66C 03203025 */ or $a2, $t9, $zero
/* 4AA70 8006F670 0C01834C */ jal func_80060D30
/* 4AA70 8006F670 0C01834C */ jal osEPiWriteIo
/* 4AA74 8006F674 00000000 */ nop
.L8006F678:
/* 4AA78 8006F678 3C04800B */ lui $a0, %hi(D_800B0C50)
@ -40,7 +40,7 @@ glabel func_8006F5FC
/* 4AA80 8006F680 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4AA84 8006F684 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4AA88 8006F688 27A6001C */ addiu $a2, $sp, 0x1c
/* 4AA8C 8006F68C 0C018364 */ jal func_80060D90
/* 4AA8C 8006F68C 0C018364 */ jal osEPiReadIo
/* 4AA90 8006F690 00000000 */ nop
/* 4AA94 8006F694 8FA8001C */ lw $t0, 0x1c($sp)
/* 4AA98 8006F698 00000000 */ nop
@ -53,7 +53,7 @@ glabel func_8006F5FC
/* 4AAB4 8006F6B4 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4AAB8 8006F6B8 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4AABC 8006F6BC 27A6001C */ addiu $a2, $sp, 0x1c
/* 4AAC0 8006F6C0 0C018364 */ jal func_80060D90
/* 4AAC0 8006F6C0 0C018364 */ jal osEPiReadIo
/* 4AAC4 8006F6C4 00000000 */ nop
/* 4AAC8 8006F6C8 0C01BC9F */ jal func_8006F27C
/* 4AACC 8006F6CC 00000000 */ nop

View File

@ -16,14 +16,14 @@ glabel func_8006F73C
/* 4AB68 8006F768 00A17025 */ or $t6, $a1, $at
/* 4AB6C 8006F76C 01C02825 */ or $a1, $t6, $zero
/* 4AB70 8006F770 3C06F000 */ lui $a2, 0xf000
/* 4AB74 8006F774 0C01834C */ jal func_80060D30
/* 4AB74 8006F774 0C01834C */ jal osEPiWriteIo
/* 4AB78 8006F778 00000000 */ nop
/* 4AB7C 8006F77C 3C04800B */ lui $a0, %hi(D_800B0C50)
/* 4AB80 8006F780 24840C50 */ addiu $a0, $a0, %lo(D_800B0C50)
/* 4AB84 8006F784 3C05800B */ lui $a1, %hi(D_800B0C5C)
/* 4AB88 8006F788 8CA50C5C */ lw $a1, %lo(D_800B0C5C)($a1)
/* 4AB8C 8006F78C 27A60018 */ addiu $a2, $sp, 0x18
/* 4AB90 8006F790 0C018364 */ jal func_80060D90
/* 4AB90 8006F790 0C018364 */ jal osEPiReadIo
/* 4AB94 8006F794 00000000 */ nop
/* 4AB98 8006F798 8FAF0024 */ lw $t7, 0x24($sp)
/* 4AB9C 8006F79C 8FB80020 */ lw $t8, 0x20($sp)

View File

@ -17,7 +17,7 @@ glabel func_8002C1C8
/* 75F8 8002C1F8 AFB40120 */ sw $s4, 0x120($sp)
/* 75FC 8002C1FC AFB3011C */ sw $s3, 0x11c($sp)
/* 7600 8002C200 AFB10114 */ sw $s1, 0x114($sp)
/* 7604 8002C204 0C01929C */ jal func_80064A70
/* 7604 8002C204 0C01929C */ jal _Printf
/* 7608 8002C208 AFB00110 */ sw $s0, 0x110($sp)
/* 760C 8002C20C 0040802D */ daddu $s0, $v0, $zero
/* 7610 8002C210 1A000010 */ blez $s0, .L8002C254

View File

@ -18,7 +18,7 @@ glabel func_8002C90C
/* 7D40 8002C940 AFBF0128 */ sw $ra, 0x128($sp)
/* 7D44 8002C944 AFB50124 */ sw $s5, 0x124($sp)
/* 7D48 8002C948 AFB40120 */ sw $s4, 0x120($sp)
/* 7D4C 8002C94C 0C01929C */ jal func_80064A70
/* 7D4C 8002C94C 0C01929C */ jal _Printf
/* 7D50 8002C950 AFB10114 */ sw $s1, 0x114($sp)
/* 7D54 8002C954 0040882D */ daddu $s1, $v0, $zero
/* 7D58 8002C958 1A20001D */ blez $s1, .L8002C9D0

View File

@ -16,14 +16,14 @@ glabel func_8002CA00
/* 7E2C 8002CA2C 0000802D */ daddu $s0, $zero, $zero
/* 7E30 8002CA30 3C05B000 */ lui $a1, 0xb000
/* 7E34 8002CA34 34A50D10 */ ori $a1, $a1, 0xd10
/* 7E38 8002CA38 3C04800A */ lui $a0, %hi(D_8009A618)
/* 7E3C 8002CA3C 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 7E38 8002CA38 3C04800A */ lui $a0, %hi(carthandle)
/* 7E3C 8002CA3C 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 7E40 8002CA40 27A60010 */ addiu $a2, $sp, 0x10
/* 7E44 8002CA44 AFB20020 */ sw $s2, 0x20($sp)
/* 7E48 8002CA48 0200902D */ daddu $s2, $s0, $zero
/* 7E4C 8002CA4C AFB40028 */ sw $s4, 0x28($sp)
/* 7E50 8002CA50 3C148006 */ lui $s4, %hi(func_80060D90)
/* 7E54 8002CA54 26940D90 */ addiu $s4, $s4, %lo(func_80060D90)
/* 7E50 8002CA50 3C148006 */ lui $s4, %hi(osEPiReadIo)
/* 7E54 8002CA54 26940D90 */ addiu $s4, $s4, %lo(osEPiReadIo)
/* 7E58 8002CA58 AFBF003C */ sw $ra, 0x3c($sp)
/* 7E5C 8002CA5C AFBE0038 */ sw $fp, 0x38($sp)
/* 7E60 8002CA60 AFB70034 */ sw $s7, 0x34($sp)
@ -41,8 +41,8 @@ glabel func_8002CA00
/* 7E90 8002CA90 0060B82D */ daddu $s7, $v1, $zero
.L8002CA94:
/* 7E94 8002CA94 0220282D */ daddu $a1, $s1, $zero
/* 7E98 8002CA98 3C04800A */ lui $a0, %hi(D_8009A618)
/* 7E9C 8002CA9C 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 7E98 8002CA98 3C04800A */ lui $a0, %hi(carthandle)
/* 7E9C 8002CA9C 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 7EA0 8002CAA0 0280F809 */ jalr $s4
/* 7EA4 8002CAA4 27A60010 */ addiu $a2, $sp, 0x10
/* 7EA8 8002CAA8 8FA30010 */ lw $v1, 0x10($sp)
@ -96,10 +96,10 @@ glabel func_8002CA00
/* 7F58 8002CB58 3C05B000 */ lui $a1, 0xb000
/* 7F5C 8002CB5C 34A50E38 */ ori $a1, $a1, 0xe38
/* 7F60 8002CB60 27A60014 */ addiu $a2, $sp, 0x14
/* 7F64 8002CB64 3C04800A */ lui $a0, %hi(D_8009A618)
/* 7F68 8002CB68 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 7F6C 8002CB6C 3C148006 */ lui $s4, %hi(func_80060D90)
/* 7F70 8002CB70 26940D90 */ addiu $s4, $s4, %lo(func_80060D90)
/* 7F64 8002CB64 3C04800A */ lui $a0, %hi(carthandle)
/* 7F68 8002CB68 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 7F6C 8002CB6C 3C148006 */ lui $s4, %hi(osEPiReadIo)
/* 7F70 8002CB70 26940D90 */ addiu $s4, $s4, %lo(osEPiReadIo)
/* 7F74 8002CB74 0280F809 */ jalr $s4
/* 7F78 8002CB78 0200902D */ daddu $s2, $s0, $zero
/* 7F7C 8002CB7C 3C110032 */ lui $s1, 0x32
@ -114,8 +114,8 @@ glabel func_8002CA00
/* 7FA0 8002CBA0 0060B82D */ daddu $s7, $v1, $zero
.L8002CBA4:
/* 7FA4 8002CBA4 0220282D */ daddu $a1, $s1, $zero
/* 7FA8 8002CBA8 3C04800A */ lui $a0, %hi(D_8009A618)
/* 7FAC 8002CBAC 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 7FA8 8002CBA8 3C04800A */ lui $a0, %hi(carthandle)
/* 7FAC 8002CBAC 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 7FB0 8002CBB0 0280F809 */ jalr $s4
/* 7FB4 8002CBB4 27A60014 */ addiu $a2, $sp, 0x14
/* 7FB8 8002CBB8 8FA30014 */ lw $v1, 0x14($sp)

View File

@ -23,7 +23,7 @@ glabel func_80033574
/* E9BC 800335BC 8C430000 */ lw $v1, ($v0)
/* E9C0 800335C0 A2040000 */ sb $a0, ($s0)
/* E9C4 800335C4 34630008 */ ori $v1, $v1, 8
/* E9C8 800335C8 0C017F54 */ jal func_8005FD50
/* E9C8 800335C8 0C017F54 */ jal nuContRmbForceStop
/* E9CC 800335CC AC430000 */ sw $v1, ($v0)
.L800335D0:
/* E9D0 800335D0 82030000 */ lb $v1, ($s0)

View File

@ -8,7 +8,7 @@ glabel func_80033818
/* EC24 80033824 AFBF0010 */ sw $ra, 0x10($sp)
/* EC28 80033828 8C430000 */ lw $v1, ($v0)
/* EC2C 8003382C 34630008 */ ori $v1, $v1, 8
/* EC30 80033830 0C017F54 */ jal func_8005FD50
/* EC30 80033830 0C017F54 */ jal nuContRmbForceStop
/* EC34 80033834 AC430000 */ sw $v1, ($v0)
/* EC38 80033838 8FBF0010 */ lw $ra, 0x10($sp)
/* EC3C 8003383C 24020005 */ addiu $v0, $zero, 5

View File

@ -45,7 +45,7 @@ glabel func_80033B00
/* EFA0 80033BA0 AC23E724 */ sw $v1, %lo(D_8009E724)($at)
/* EFA4 80033BA4 3C01800A */ lui $at, %hi(D_8009E72C)
/* EFA8 80033BA8 AC22E72C */ sw $v0, %lo(D_8009E72C)($at)
/* EFAC 80033BAC 0C017F54 */ jal func_8005FD50
/* EFAC 80033BAC 0C017F54 */ jal nuContRmbForceStop
/* EFB0 80033BB0 00000000 */ nop
/* EFB4 80033BB4 0C00B6E1 */ jal func_8002DB84
/* EFB8 80033BB8 00000000 */ nop

View File

@ -79,7 +79,7 @@ glabel func_800345FC
/* FB18 80034718 A0510070 */ sb $s1, 0x70($v0)
/* FB1C 8003471C 0C00AB18 */ jal func_8002AC60
/* FB20 80034720 00000000 */ nop
/* FB24 80034724 0C017F54 */ jal func_8005FD50
/* FB24 80034724 0C017F54 */ jal nuContRmbForceStop
/* FB28 80034728 00000000 */ nop
/* FB2C 8003472C 0C0539C8 */ jal func_8014E720
/* FB30 80034730 0000202D */ daddu $a0, $zero, $zero

View File

@ -40,8 +40,8 @@ glabel func_8005FD90
/* 3B218 8005FE18 24104000 */ addiu $s0, $zero, 0x4000
.L8005FE1C:
/* 3B21C 8005FE1C 27A50010 */ addiu $a1, $sp, 0x10
/* 3B220 8005FE20 3C04800A */ lui $a0, %hi(D_8009A618)
/* 3B224 8005FE24 8C84A618 */ lw $a0, %lo(D_8009A618)($a0)
/* 3B220 8005FE20 3C04800A */ lui $a0, %hi(carthandle)
/* 3B224 8005FE24 8C84A618 */ lw $a0, %lo(carthandle)($a0)
/* 3B228 8005FE28 0000302D */ daddu $a2, $zero, $zero
/* 3B22C 8005FE2C AFB30018 */ sw $s3, 0x18($sp)
/* 3B230 8005FE30 AFB2001C */ sw $s2, 0x1c($sp)

View File

@ -1,7 +1,7 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8005FD50
glabel nuContRmbForceStop
/* 3B150 8005FD50 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3B154 8005FD54 24040304 */ addiu $a0, $zero, 0x304
/* 3B158 8005FD58 AFBF0010 */ sw $ra, 0x10($sp)

View File

@ -1,7 +1,7 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80060D90
glabel osEPiReadIo
/* 3C190 80060D90 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 3C194 80060D94 AFB00010 */ sw $s0, 0x10($sp)
/* 3C198 80060D98 00808021 */ addu $s0, $a0, $zero

View File

@ -1,7 +1,7 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80060D30
glabel osEPiWriteIo
/* 3C130 80060D30 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 3C134 80060D34 AFB00010 */ sw $s0, 0x10($sp)
/* 3C138 80060D38 00808021 */ addu $s0, $a0, $zero

View File

@ -17,9 +17,6 @@ segments:
- name: header
type: header
start: 0x00
vram: 0
subsections:
- [0x0000, header, header]
- [0x0040, bin]
- name: main
type: code
@ -27,13 +24,16 @@ segments:
vram: 0x80025C00
subalign: 8
subsections:
- [0x1000, c]
- [0x1000, hasm, entry_point]
- [0x1060, c] # 1060 (identical)
- [0x1370, c] # 1370
- [0x1B10, c] # 1B40
- [0x2570, c]
- [0x3BC0, c]
- [0x42B0, c]
- [0x5FC0, c]
- [0x6200, c]
- [0x6E00, c]
- [0x6E00, c] # 6E40?
- [0x7300, c]
- [0x7E00, c]
- [0x80A0, c]
@ -86,7 +86,7 @@ segments:
- [0x3AF40, c]
- [0x3AFA0, c]
- [0x3B040, c]
- [0x3B150, c]
- [0x3B150, c, os/nusys/code_3B150] # 3b4a0
- [0x3B2A0, c]
- [0x3B400, c]
- [0x3B420, c]
@ -94,8 +94,8 @@ segments:
- [0x3B7C0, c]
- [0x3B8E0, c]
- [0x3BCF0, c]
- [0x3C130, c]
- [0x3C190, c]
- [0x3C130, c, os/osEPiWriteIo]
- [0x3C190, c, os/osEPiReadIo]
- [0x3C1F0, c]
- [0x3C290, c]
- [0x3C2E0, c]

View File

@ -0,0 +1,6 @@
gfxPreNMI_Callback = 0x800266E8; // type:func
nuContRmbForceStop = 0x8005FD50; // type:func
osEPiWriteIo = 0x80060D30; // type:func rom:0x3C130
osEPiReadIo = 0x80060D90; // type:func rom:0x3C190
_Printf = 0x80064A70; // type:func rom:0x3FE70
carthandle = 0x8009A618; //

View File

@ -1,7 +1,7 @@
carthandle = 0x8009A618;
D_8009A590 = 0x8009A590;
D_800B6570 = 0x800B6570;
D_8005E560 = 0x8005E560;
D_8009A618 = 0x8009A618;
D_80097D10 = 0x80097D10;
D_80000300 = 0x80000300;
D_80095800 = 0x80095800;
@ -541,7 +541,6 @@ D_800A2080 = 0x800A2080;
D_800A43E0 = 0x800A43E0;
D_8009A610 = 0x8009A610;
D_800A2230 = 0x800A2230;
D_80025F70 = 0x80025F70;
D_800DAA8C = 0x800DAA8C;
D_800DA494 = 0x800DA494;
D_80094680 = 0x80094680;

View File

@ -15,7 +15,7 @@ glabel func_802195F4_6BD184
/* 6BD1AC 8021961C 0040182D */ daddu $v1, $v0, $zero
/* 6BD1B0 80219620 2610FFFF */ addiu $s0, $s0, -1
/* 6BD1B4 80219624 2E020009 */ sltiu $v0, $s0, 9
/* 6BD1B8 80219628 1040001E */ beqz $v0, .L802196A4
/* 6BD1B8 80219628 1040001E */ beqz $v0, L802196A4_6BD234
/* 6BD1BC 8021962C 0000202D */ daddu $a0, $zero, $zero
/* 6BD1C0 80219630 00101080 */ sll $v0, $s0, 2
/* 6BD1C4 80219634 3C018023 */ lui $at, %hi(jtbl_80228450_6CBFE0)
@ -25,36 +25,35 @@ glabel func_802195F4_6BD184
/* 6BD1D4 80219644 00000000 */ nop
glabel L80219648_6BD1D8
/* 6BD1D8 80219648 3C048022 */ lui $a0, %hi(D_8021E990_6C2520)
/* 6BD1DC 8021964C 080865A9 */ j .L802196A4
/* 6BD1DC 8021964C 080865A9 */ j L802196A4_6BD234
/* 6BD1E0 80219650 2484E990 */ addiu $a0, $a0, %lo(D_8021E990_6C2520)
glabel L80219654_6BD1E4
/* 6BD1E4 80219654 3C048022 */ lui $a0, %hi(D_80220644_6C41D4)
/* 6BD1E8 80219658 080865A9 */ j .L802196A4
/* 6BD1E8 80219658 080865A9 */ j L802196A4_6BD234
/* 6BD1EC 8021965C 24840644 */ addiu $a0, $a0, %lo(D_80220644_6C41D4)
glabel L80219660_6BD1F0
/* 6BD1F0 80219660 3C048022 */ lui $a0, %hi(D_802218A4_6C5434)
/* 6BD1F4 80219664 080865A9 */ j .L802196A4
/* 6BD1F4 80219664 080865A9 */ j L802196A4_6BD234
/* 6BD1F8 80219668 248418A4 */ addiu $a0, $a0, %lo(D_802218A4_6C5434)
glabel L8021966C_6BD1FC
/* 6BD1FC 8021966C 3C048022 */ lui $a0, %hi(D_80222830_6C63C0)
/* 6BD200 80219670 080865A9 */ j .L802196A4
/* 6BD200 80219670 080865A9 */ j L802196A4_6BD234
/* 6BD204 80219674 24842830 */ addiu $a0, $a0, %lo(D_80222830_6C63C0)
glabel L80219678_6BD208
/* 6BD208 80219678 3C048022 */ lui $a0, %hi(D_80223C00_6C7790)
/* 6BD20C 8021967C 080865A9 */ j .L802196A4
/* 6BD20C 8021967C 080865A9 */ j L802196A4_6BD234
/* 6BD210 80219680 24843C00 */ addiu $a0, $a0, %lo(D_80223C00_6C7790)
glabel L80219684_6BD214
/* 6BD214 80219684 3C048022 */ lui $a0, %hi(D_80224AFC_6C868C)
/* 6BD218 80219688 080865A9 */ j .L802196A4
/* 6BD218 80219688 080865A9 */ j L802196A4_6BD234
/* 6BD21C 8021968C 24844AFC */ addiu $a0, $a0, %lo(D_80224AFC_6C868C)
glabel L80219690_6BD220
/* 6BD220 80219690 3C048022 */ lui $a0, %hi(D_80226494_6CA024)
/* 6BD224 80219694 080865A9 */ j .L802196A4
/* 6BD224 80219694 080865A9 */ j L802196A4_6BD234
/* 6BD228 80219698 24846494 */ addiu $a0, $a0, %lo(D_80226494_6CA024)
glabel L8021969C_6BD22C
/* 6BD22C 8021969C 3C048022 */ lui $a0, %hi(D_80227734_6CB2C4)
/* 6BD230 802196A0 24847734 */ addiu $a0, $a0, %lo(D_80227734_6CB2C4)
.L802196A4:
glabel L802196A4_6BD234
/* 6BD234 802196A4 806301F1 */ lb $v1, 0x1f1($v1)
/* 6BD238 802196A8 AC830008 */ sw $v1, 8($a0)

View File

@ -15,7 +15,7 @@ glabel func_80219824_465CB4
/* 465CDC 8021984C 0040182D */ daddu $v1, $v0, $zero
/* 465CE0 80219850 2610FFFF */ addiu $s0, $s0, -1
/* 465CE4 80219854 2E020009 */ sltiu $v0, $s0, 9
/* 465CE8 80219858 1040001E */ beqz $v0, .L802198D4
/* 465CE8 80219858 1040001E */ beqz $v0, L802198D4_465D64
/* 465CEC 8021985C 0000202D */ daddu $a0, $zero, $zero
/* 465CF0 80219860 00101080 */ sll $v0, $s0, 2
/* 465CF4 80219864 3C018023 */ lui $at, %hi(jtbl_80232B40_47EFD0)
@ -25,36 +25,35 @@ glabel func_80219824_465CB4
/* 465D04 80219874 00000000 */ nop
glabel L80219878_465D08
/* 465D08 80219878 3C048022 */ lui $a0, %hi(D_80220524_46C9B4)
/* 465D0C 8021987C 08086635 */ j .L802198D4
/* 465D0C 8021987C 08086635 */ j L802198D4_465D64
/* 465D10 80219880 24840524 */ addiu $a0, $a0, %lo(D_80220524_46C9B4)
glabel L80219884_465D14
/* 465D14 80219884 3C048022 */ lui $a0, %hi(D_80222274_46E704)
/* 465D18 80219888 08086635 */ j .L802198D4
/* 465D18 80219888 08086635 */ j L802198D4_465D64
/* 465D1C 8021988C 24842274 */ addiu $a0, $a0, %lo(D_80222274_46E704)
glabel L80219890_465D20
/* 465D20 80219890 3C048022 */ lui $a0, %hi(D_8022336C_46F7FC)
/* 465D24 80219894 08086635 */ j .L802198D4
/* 465D24 80219894 08086635 */ j L802198D4_465D64
/* 465D28 80219898 2484336C */ addiu $a0, $a0, %lo(D_8022336C_46F7FC)
glabel L8021989C_465D2C
/* 465D2C 8021989C 3C048022 */ lui $a0, %hi(D_802243F4_470884)
/* 465D30 802198A0 08086635 */ j .L802198D4
/* 465D30 802198A0 08086635 */ j L802198D4_465D64
/* 465D34 802198A4 248443F4 */ addiu $a0, $a0, %lo(D_802243F4_470884)
glabel L802198A8_465D38
/* 465D38 802198A8 3C048022 */ lui $a0, %hi(D_80225958_471DE8)
/* 465D3C 802198AC 08086635 */ j .L802198D4
/* 465D3C 802198AC 08086635 */ j L802198D4_465D64
/* 465D40 802198B0 24845958 */ addiu $a0, $a0, %lo(D_80225958_471DE8)
glabel L802198B4_465D44
/* 465D44 802198B4 3C048022 */ lui $a0, %hi(D_80226960_472DF0)
/* 465D48 802198B8 08086635 */ j .L802198D4
/* 465D48 802198B8 08086635 */ j L802198D4_465D64
/* 465D4C 802198BC 24846960 */ addiu $a0, $a0, %lo(D_80226960_472DF0)
glabel L802198C0_465D50
/* 465D50 802198C0 3C048023 */ lui $a0, %hi(D_802283F0_474880)
/* 465D54 802198C4 08086635 */ j .L802198D4
/* 465D54 802198C4 08086635 */ j L802198D4_465D64
/* 465D58 802198C8 248483F0 */ addiu $a0, $a0, %lo(D_802283F0_474880)
glabel L802198CC_465D5C
/* 465D5C 802198CC 3C048023 */ lui $a0, %hi(D_8022972C_475BBC)
/* 465D60 802198D0 2484972C */ addiu $a0, $a0, %lo(D_8022972C_475BBC)
.L802198D4:
glabel L802198D4_465D64
/* 465D64 802198D4 806301F1 */ lb $v1, 0x1f1($v1)
/* 465D68 802198D8 2463000A */ addiu $v1, $v1, 0xa

View File

@ -15,7 +15,7 @@ glabel func_80219524_66B2A4
/* 66B2CC 8021954C 0040182D */ daddu $v1, $v0, $zero
/* 66B2D0 80219550 2610FFFF */ addiu $s0, $s0, -1
/* 66B2D4 80219554 2E020009 */ sltiu $v0, $s0, 9
/* 66B2D8 80219558 1040001E */ beqz $v0, .L802195D4
/* 66B2D8 80219558 1040001E */ beqz $v0, L802195D4_66B354
/* 66B2DC 8021955C 0000202D */ daddu $a0, $zero, $zero
/* 66B2E0 80219560 00101080 */ sll $v0, $s0, 2
/* 66B2E4 80219564 3C018023 */ lui $at, %hi(jtbl_80232A20_6847A0)
@ -25,36 +25,35 @@ glabel func_80219524_66B2A4
/* 66B2F4 80219574 00000000 */ nop
glabel L80219578_66B2F8
/* 66B2F8 80219578 3C048022 */ lui $a0, %hi(D_8021D6E0_66F460)
/* 66B2FC 8021957C 08086575 */ j .L802195D4
/* 66B2FC 8021957C 08086575 */ j L802195D4_66B354
/* 66B300 80219580 2484D6E0 */ addiu $a0, $a0, %lo(D_8021D6E0_66F460)
glabel L80219584_66B304
/* 66B304 80219584 3C048022 */ lui $a0, %hi(D_8021F394_671114)
/* 66B308 80219588 08086575 */ j .L802195D4
/* 66B308 80219588 08086575 */ j L802195D4_66B354
/* 66B30C 8021958C 2484F394 */ addiu $a0, $a0, %lo(D_8021F394_671114)
glabel L80219590_66B310
/* 66B310 80219590 3C048022 */ lui $a0, %hi(D_802205F4_672374)
/* 66B314 80219594 08086575 */ j .L802195D4
/* 66B314 80219594 08086575 */ j L802195D4_66B354
/* 66B318 80219598 248405F4 */ addiu $a0, $a0, %lo(D_802205F4_672374)
glabel L8021959C_66B31C
/* 66B31C 8021959C 3C048022 */ lui $a0, %hi(D_80221580_673300)
/* 66B320 802195A0 08086575 */ j .L802195D4
/* 66B320 802195A0 08086575 */ j L802195D4_66B354
/* 66B324 802195A4 24841580 */ addiu $a0, $a0, %lo(D_80221580_673300)
glabel L802195A8_66B328
/* 66B328 802195A8 3C048022 */ lui $a0, %hi(D_80222950_6746D0)
/* 66B32C 802195AC 08086575 */ j .L802195D4
/* 66B32C 802195AC 08086575 */ j L802195D4_66B354
/* 66B330 802195B0 24842950 */ addiu $a0, $a0, %lo(D_80222950_6746D0)
glabel L802195B4_66B334
/* 66B334 802195B4 3C048022 */ lui $a0, %hi(D_8022384C_6755CC)
/* 66B338 802195B8 08086575 */ j .L802195D4
/* 66B338 802195B8 08086575 */ j L802195D4_66B354
/* 66B33C 802195BC 2484384C */ addiu $a0, $a0, %lo(D_8022384C_6755CC)
glabel L802195C0_66B340
/* 66B340 802195C0 3C048022 */ lui $a0, %hi(D_802251E4_676F64)
/* 66B344 802195C4 08086575 */ j .L802195D4
/* 66B344 802195C4 08086575 */ j L802195D4_66B354
/* 66B348 802195C8 248451E4 */ addiu $a0, $a0, %lo(D_802251E4_676F64)
glabel L802195CC_66B34C
/* 66B34C 802195CC 3C048022 */ lui $a0, %hi(D_80226484_678204)
/* 66B350 802195D0 24846484 */ addiu $a0, $a0, %lo(D_80226484_678204)
.L802195D4:
glabel L802195D4_66B354
/* 66B354 802195D4 806301F1 */ lb $v1, 0x1f1($v1)
/* 66B358 802195D8 AC830008 */ sw $v1, 8($a0)

View File

@ -15,7 +15,7 @@ glabel func_80219524_6250C4
/* 6250EC 8021954C 0040182D */ daddu $v1, $v0, $zero
/* 6250F0 80219550 2610FFFF */ addiu $s0, $s0, -1
/* 6250F4 80219554 2E020009 */ sltiu $v0, $s0, 9
/* 6250F8 80219558 1040001E */ beqz $v0, .L802195D4
/* 6250F8 80219558 1040001E */ beqz $v0, L802195D4_625174
/* 6250FC 8021955C 0000202D */ daddu $a0, $zero, $zero
/* 625100 80219560 00101080 */ sll $v0, $s0, 2
/* 625104 80219564 3C018023 */ lui $at, %hi(jtbl_80231320_63CEC0)
@ -25,36 +25,35 @@ glabel func_80219524_6250C4
/* 625114 80219574 00000000 */ nop
glabel L80219578_625118
/* 625118 80219578 3C048022 */ lui $a0, %hi(D_8021E660_62A200)
/* 62511C 8021957C 08086575 */ j .L802195D4
/* 62511C 8021957C 08086575 */ j L802195D4_625174
/* 625120 80219580 2484E660 */ addiu $a0, $a0, %lo(D_8021E660_62A200)
glabel L80219584_625124
/* 625124 80219584 3C048022 */ lui $a0, %hi(D_80220314_62BEB4)
/* 625128 80219588 08086575 */ j .L802195D4
/* 625128 80219588 08086575 */ j L802195D4_625174
/* 62512C 8021958C 24840314 */ addiu $a0, $a0, %lo(D_80220314_62BEB4)
glabel L80219590_625130
/* 625130 80219590 3C048022 */ lui $a0, %hi(D_80221574_62D114)
/* 625134 80219594 08086575 */ j .L802195D4
/* 625134 80219594 08086575 */ j L802195D4_625174
/* 625138 80219598 24841574 */ addiu $a0, $a0, %lo(D_80221574_62D114)
glabel L8021959C_62513C
/* 62513C 8021959C 3C048022 */ lui $a0, %hi(D_80222500_62E0A0)
/* 625140 802195A0 08086575 */ j .L802195D4
/* 625140 802195A0 08086575 */ j L802195D4_625174
/* 625144 802195A4 24842500 */ addiu $a0, $a0, %lo(D_80222500_62E0A0)
glabel L802195A8_625148
/* 625148 802195A8 3C048022 */ lui $a0, %hi(D_802238D0_62F470)
/* 62514C 802195AC 08086575 */ j .L802195D4
/* 62514C 802195AC 08086575 */ j L802195D4_625174
/* 625150 802195B0 248438D0 */ addiu $a0, $a0, %lo(D_802238D0_62F470)
glabel L802195B4_625154
/* 625154 802195B4 3C048022 */ lui $a0, %hi(D_802247CC_63036C)
/* 625158 802195B8 08086575 */ j .L802195D4
/* 625158 802195B8 08086575 */ j L802195D4_625174
/* 62515C 802195BC 248447CC */ addiu $a0, $a0, %lo(D_802247CC_63036C)
glabel L802195C0_625160
/* 625160 802195C0 3C048022 */ lui $a0, %hi(D_80226164_631D04)
/* 625164 802195C4 08086575 */ j .L802195D4
/* 625164 802195C4 08086575 */ j L802195D4_625174
/* 625168 802195C8 24846164 */ addiu $a0, $a0, %lo(D_80226164_631D04)
glabel L802195CC_62516C
/* 62516C 802195CC 3C048022 */ lui $a0, %hi(D_80227404_632FA4)
/* 625170 802195D0 24847404 */ addiu $a0, $a0, %lo(D_80227404_632FA4)
.L802195D4:
glabel L802195D4_625174
/* 625174 802195D4 806301F1 */ lb $v1, 0x1f1($v1)
/* 625178 802195D8 AC830008 */ sw $v1, 8($a0)

View File

@ -250,7 +250,7 @@ glabel func_802A1518_799CC8
.L802A1890:
/* 79A040 802A1890 2C620016 */ sltiu $v0, $v1, 0x16
.L802A1894:
/* 79A044 802A1894 104002E1 */ beqz $v0, .L802A241C
/* 79A044 802A1894 104002E1 */ beqz $v0, L802A241C_79ABCC
/* 79A048 802A1898 00031080 */ sll $v0, $v1, 2
/* 79A04C 802A189C 3C01802A */ lui $at, %hi(jtbl_802A3790_79BF40)
/* 79A050 802A18A0 00220821 */ addu $at, $at, $v0
@ -345,7 +345,7 @@ glabel L802A18B0_79A060
/* 79A19C 802A19EC 0C05272D */ jal play_sound
/* 79A1A0 802A19F0 00000000 */ nop
/* 79A1A4 802A19F4 24020001 */ addiu $v0, $zero, 1
/* 79A1A8 802A19F8 080A8907 */ j .L802A241C
/* 79A1A8 802A19F8 080A8907 */ j L802A241C_79ABCC
/* 79A1AC 802A19FC AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1A00_79A1B0
/* 79A1B0 802A1A00 C6200010 */ lwc1 $f0, 0x10($s1)
@ -380,7 +380,7 @@ glabel L802A1A00_79A1B0
/* 79A224 802A1A74 24020014 */ addiu $v0, $zero, 0x14
/* 79A228 802A1A78 AFC20074 */ sw $v0, 0x74($fp)
/* 79A22C 802A1A7C 24020002 */ addiu $v0, $zero, 2
/* 79A230 802A1A80 080A8907 */ j .L802A241C
/* 79A230 802A1A80 080A8907 */ j L802A241C_79ABCC
/* 79A234 802A1A84 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1A88_79A238
/* 79A238 802A1A88 8FC20074 */ lw $v0, 0x74($fp)
@ -393,7 +393,7 @@ glabel L802A1A88_79A238
/* 79A254 802A1AA4 2402000F */ addiu $v0, $zero, 0xf
/* 79A258 802A1AA8 AFC20074 */ sw $v0, 0x74($fp)
/* 79A25C 802A1AAC 24020003 */ addiu $v0, $zero, 3
/* 79A260 802A1AB0 080A8907 */ j .L802A241C
/* 79A260 802A1AB0 080A8907 */ j L802A241C_79ABCC
/* 79A264 802A1AB4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1AB8_79A268
/* 79A268 802A1AB8 C624004C */ lwc1 $f4, 0x4c($s1)
@ -435,7 +435,7 @@ glabel L802A1AB8_79A268
/* 79A2F0 802A1B40 0C05272D */ jal play_sound
/* 79A2F4 802A1B44 00000000 */ nop
/* 79A2F8 802A1B48 24020004 */ addiu $v0, $zero, 4
/* 79A2FC 802A1B4C 080A8907 */ j .L802A241C
/* 79A2FC 802A1B4C 080A8907 */ j L802A241C_79ABCC
/* 79A300 802A1B50 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1B54_79A304
/* 79A304 802A1B54 C624004C */ lwc1 $f4, 0x4c($s1)
@ -572,7 +572,7 @@ glabel L802A1B54_79A304
/* 79A4F4 802A1D44 AC400008 */ sw $zero, 8($v0)
/* 79A4F8 802A1D48 8C62000C */ lw $v0, 0xc($v1)
/* 79A4FC 802A1D4C C6200008 */ lwc1 $f0, 8($s1)
/* 79A500 802A1D50 16E001B2 */ bnez $s7, .L802A241C
/* 79A500 802A1D50 16E001B2 */ bnez $s7, L802A241C_79ABCC
/* 79A504 802A1D54 E440000C */ swc1 $f0, 0xc($v0)
/* 79A508 802A1D58 C620000C */ lwc1 $f0, 0xc($s1)
/* 79A50C 802A1D5C C6220010 */ lwc1 $f2, 0x10($s1)
@ -630,7 +630,7 @@ glabel L802A1B54_79A304
/* 79A5D0 802A1E20 2402000F */ addiu $v0, $zero, 0xf
/* 79A5D4 802A1E24 AFC20074 */ sw $v0, 0x74($fp)
/* 79A5D8 802A1E28 24020005 */ addiu $v0, $zero, 5
/* 79A5DC 802A1E2C 080A8907 */ j .L802A241C
/* 79A5DC 802A1E2C 080A8907 */ j L802A241C_79ABCC
/* 79A5E0 802A1E30 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1E34_79A5E4
/* 79A5E4 802A1E34 8FC20074 */ lw $v0, 0x74($fp)
@ -686,7 +686,7 @@ glabel L802A1E34_79A5E4
/* 79A6A8 802A1EF8 2402002D */ addiu $v0, $zero, 0x2d
/* 79A6AC 802A1EFC AFC20074 */ sw $v0, 0x74($fp)
/* 79A6B0 802A1F00 24020006 */ addiu $v0, $zero, 6
/* 79A6B4 802A1F04 080A8907 */ j .L802A241C
/* 79A6B4 802A1F04 080A8907 */ j L802A241C_79ABCC
/* 79A6B8 802A1F08 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1F0C_79A6BC
/* 79A6BC 802A1F0C 96220064 */ lhu $v0, 0x64($s1)
@ -730,14 +730,14 @@ glabel L802A1F0C_79A6BC
/* 79A750 802A1FA0 00431024 */ and $v0, $v0, $v1
/* 79A754 802A1FA4 10400003 */ beqz $v0, .L802A1FB4
/* 79A758 802A1FA8 24020014 */ addiu $v0, $zero, 0x14
/* 79A75C 802A1FAC 080A8907 */ j .L802A241C
/* 79A75C 802A1FAC 080A8907 */ j L802A241C_79ABCC
/* 79A760 802A1FB0 AFC20070 */ sw $v0, 0x70($fp)
.L802A1FB4:
/* 79A764 802A1FB4 2402000F */ addiu $v0, $zero, 0xf
.L802A1FB8:
/* 79A768 802A1FB8 AFC20074 */ sw $v0, 0x74($fp)
/* 79A76C 802A1FBC 24020007 */ addiu $v0, $zero, 7
/* 79A770 802A1FC0 080A8907 */ j .L802A241C
/* 79A770 802A1FC0 080A8907 */ j L802A241C_79ABCC
/* 79A774 802A1FC4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1FC8_79A778
/* 79A778 802A1FC8 8FC20074 */ lw $v0, 0x74($fp)
@ -746,7 +746,7 @@ glabel L802A1FC8_79A778
/* 79A784 802A1FD4 2402000A */ addiu $v0, $zero, 0xa
/* 79A788 802A1FD8 AFC20074 */ sw $v0, 0x74($fp)
/* 79A78C 802A1FDC 24020008 */ addiu $v0, $zero, 8
/* 79A790 802A1FE0 080A8907 */ j .L802A241C
/* 79A790 802A1FE0 080A8907 */ j L802A241C_79ABCC
/* 79A794 802A1FE4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1FE8_79A798
/* 79A798 802A1FE8 96220064 */ lhu $v0, 0x64($s1)
@ -770,14 +770,14 @@ glabel L802A1FE8_79A798
/* 79A7DC 802A202C 2402000A */ addiu $v0, $zero, 0xa
/* 79A7E0 802A2030 AFC20074 */ sw $v0, 0x74($fp)
/* 79A7E4 802A2034 24020009 */ addiu $v0, $zero, 9
/* 79A7E8 802A2038 080A8907 */ j .L802A241C
/* 79A7E8 802A2038 080A8907 */ j L802A241C_79ABCC
/* 79A7EC 802A203C AFC20070 */ sw $v0, 0x70($fp)
glabel L802A2040_79A7F0
/* 79A7F0 802A2040 8FC20074 */ lw $v0, 0x74($fp)
/* 79A7F4 802A2044 10400003 */ beqz $v0, .L802A2054
/* 79A7F8 802A2048 2442FFFF */ addiu $v0, $v0, -1
.L802A204C:
/* 79A7FC 802A204C 080A8907 */ j .L802A241C
/* 79A7FC 802A204C 080A8907 */ j L802A241C_79ABCC
/* 79A800 802A2050 AFC20074 */ sw $v0, 0x74($fp)
.L802A2054:
/* 79A804 802A2054 3C01432A */ lui $at, 0x432a
@ -789,7 +789,7 @@ glabel L802A2040_79A7F0
/* 79A81C 802A206C E6200010 */ swc1 $f0, 0x10($s1)
/* 79A820 802A2070 AFC20074 */ sw $v0, 0x74($fp)
/* 79A824 802A2074 2402000A */ addiu $v0, $zero, 0xa
/* 79A828 802A2078 080A8907 */ j .L802A241C
/* 79A828 802A2078 080A8907 */ j L802A241C_79ABCC
/* 79A82C 802A207C AFC20070 */ sw $v0, 0x70($fp)
glabel L802A2080_79A830
/* 79A830 802A2080 8FC20074 */ lw $v0, 0x74($fp)
@ -895,7 +895,7 @@ glabel L802A219C_79A94C
/* 79A994 802A21E4 0C05269B */ jal func_80149A6C
/* 79A998 802A21E8 0000282D */ daddu $a1, $zero, $zero
/* 79A99C 802A21EC 24020015 */ addiu $v0, $zero, 0x15
/* 79A9A0 802A21F0 080A8907 */ j .L802A241C
/* 79A9A0 802A21F0 080A8907 */ j L802A241C_79ABCC
/* 79A9A4 802A21F4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A21F8_79A9A8
/* 79A9A8 802A21F8 0000B82D */ daddu $s7, $zero, $zero
@ -1044,7 +1044,6 @@ glabel L802A21F8_79A9A8
/* 79ABC0 802A2410 34840010 */ ori $a0, $a0, 0x10
/* 79ABC4 802A2414 080A8908 */ j .L802A2420
/* 79ABC8 802A2418 AC640000 */ sw $a0, ($v1)
.L802A241C:
glabel L802A241C_79ABCC
/* 79ABCC 802A241C 0000102D */ daddu $v0, $zero, $zero
.L802A2420:

View File

@ -250,7 +250,7 @@ glabel func_802A1518_7974D8
.L802A1890:
/* 797850 802A1890 2C620016 */ sltiu $v0, $v1, 0x16
.L802A1894:
/* 797854 802A1894 104002E1 */ beqz $v0, .L802A241C
/* 797854 802A1894 104002E1 */ beqz $v0, L802A241C_7983DC
/* 797858 802A1898 00031080 */ sll $v0, $v1, 2
/* 79785C 802A189C 3C01802A */ lui $at, %hi(jtbl_802A3790_799750)
/* 797860 802A18A0 00220821 */ addu $at, $at, $v0
@ -345,7 +345,7 @@ glabel L802A18B0_797870
/* 7979AC 802A19EC 0C05272D */ jal play_sound
/* 7979B0 802A19F0 00000000 */ nop
/* 7979B4 802A19F4 24020001 */ addiu $v0, $zero, 1
/* 7979B8 802A19F8 080A8907 */ j .L802A241C
/* 7979B8 802A19F8 080A8907 */ j L802A241C_7983DC
/* 7979BC 802A19FC AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1A00_7979C0
/* 7979C0 802A1A00 C6200010 */ lwc1 $f0, 0x10($s1)
@ -380,7 +380,7 @@ glabel L802A1A00_7979C0
/* 797A34 802A1A74 24020014 */ addiu $v0, $zero, 0x14
/* 797A38 802A1A78 AFC20074 */ sw $v0, 0x74($fp)
/* 797A3C 802A1A7C 24020002 */ addiu $v0, $zero, 2
/* 797A40 802A1A80 080A8907 */ j .L802A241C
/* 797A40 802A1A80 080A8907 */ j L802A241C_7983DC
/* 797A44 802A1A84 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1A88_797A48
/* 797A48 802A1A88 8FC20074 */ lw $v0, 0x74($fp)
@ -393,7 +393,7 @@ glabel L802A1A88_797A48
/* 797A64 802A1AA4 2402000F */ addiu $v0, $zero, 0xf
/* 797A68 802A1AA8 AFC20074 */ sw $v0, 0x74($fp)
/* 797A6C 802A1AAC 24020003 */ addiu $v0, $zero, 3
/* 797A70 802A1AB0 080A8907 */ j .L802A241C
/* 797A70 802A1AB0 080A8907 */ j L802A241C_7983DC
/* 797A74 802A1AB4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1AB8_797A78
/* 797A78 802A1AB8 C624004C */ lwc1 $f4, 0x4c($s1)
@ -435,7 +435,7 @@ glabel L802A1AB8_797A78
/* 797B00 802A1B40 0C05272D */ jal play_sound
/* 797B04 802A1B44 00000000 */ nop
/* 797B08 802A1B48 24020004 */ addiu $v0, $zero, 4
/* 797B0C 802A1B4C 080A8907 */ j .L802A241C
/* 797B0C 802A1B4C 080A8907 */ j L802A241C_7983DC
/* 797B10 802A1B50 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1B54_797B14
/* 797B14 802A1B54 C624004C */ lwc1 $f4, 0x4c($s1)
@ -572,7 +572,7 @@ glabel L802A1B54_797B14
/* 797D04 802A1D44 AC400008 */ sw $zero, 8($v0)
/* 797D08 802A1D48 8C62000C */ lw $v0, 0xc($v1)
/* 797D0C 802A1D4C C6200008 */ lwc1 $f0, 8($s1)
/* 797D10 802A1D50 16E001B2 */ bnez $s7, .L802A241C
/* 797D10 802A1D50 16E001B2 */ bnez $s7, L802A241C_7983DC
/* 797D14 802A1D54 E440000C */ swc1 $f0, 0xc($v0)
/* 797D18 802A1D58 C620000C */ lwc1 $f0, 0xc($s1)
/* 797D1C 802A1D5C C6220010 */ lwc1 $f2, 0x10($s1)
@ -630,7 +630,7 @@ glabel L802A1B54_797B14
/* 797DE0 802A1E20 2402000F */ addiu $v0, $zero, 0xf
/* 797DE4 802A1E24 AFC20074 */ sw $v0, 0x74($fp)
/* 797DE8 802A1E28 24020005 */ addiu $v0, $zero, 5
/* 797DEC 802A1E2C 080A8907 */ j .L802A241C
/* 797DEC 802A1E2C 080A8907 */ j L802A241C_7983DC
/* 797DF0 802A1E30 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1E34_797DF4
/* 797DF4 802A1E34 8FC20074 */ lw $v0, 0x74($fp)
@ -686,7 +686,7 @@ glabel L802A1E34_797DF4
/* 797EB8 802A1EF8 2402002D */ addiu $v0, $zero, 0x2d
/* 797EBC 802A1EFC AFC20074 */ sw $v0, 0x74($fp)
/* 797EC0 802A1F00 24020006 */ addiu $v0, $zero, 6
/* 797EC4 802A1F04 080A8907 */ j .L802A241C
/* 797EC4 802A1F04 080A8907 */ j L802A241C_7983DC
/* 797EC8 802A1F08 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1F0C_797ECC
/* 797ECC 802A1F0C 96220064 */ lhu $v0, 0x64($s1)
@ -730,14 +730,14 @@ glabel L802A1F0C_797ECC
/* 797F60 802A1FA0 00431024 */ and $v0, $v0, $v1
/* 797F64 802A1FA4 10400003 */ beqz $v0, .L802A1FB4
/* 797F68 802A1FA8 24020014 */ addiu $v0, $zero, 0x14
/* 797F6C 802A1FAC 080A8907 */ j .L802A241C
/* 797F6C 802A1FAC 080A8907 */ j L802A241C_7983DC
/* 797F70 802A1FB0 AFC20070 */ sw $v0, 0x70($fp)
.L802A1FB4:
/* 797F74 802A1FB4 2402000F */ addiu $v0, $zero, 0xf
.L802A1FB8:
/* 797F78 802A1FB8 AFC20074 */ sw $v0, 0x74($fp)
/* 797F7C 802A1FBC 24020007 */ addiu $v0, $zero, 7
/* 797F80 802A1FC0 080A8907 */ j .L802A241C
/* 797F80 802A1FC0 080A8907 */ j L802A241C_7983DC
/* 797F84 802A1FC4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1FC8_797F88
/* 797F88 802A1FC8 8FC20074 */ lw $v0, 0x74($fp)
@ -746,7 +746,7 @@ glabel L802A1FC8_797F88
/* 797F94 802A1FD4 2402000A */ addiu $v0, $zero, 0xa
/* 797F98 802A1FD8 AFC20074 */ sw $v0, 0x74($fp)
/* 797F9C 802A1FDC 24020008 */ addiu $v0, $zero, 8
/* 797FA0 802A1FE0 080A8907 */ j .L802A241C
/* 797FA0 802A1FE0 080A8907 */ j L802A241C_7983DC
/* 797FA4 802A1FE4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A1FE8_797FA8
/* 797FA8 802A1FE8 96220064 */ lhu $v0, 0x64($s1)
@ -770,14 +770,14 @@ glabel L802A1FE8_797FA8
/* 797FEC 802A202C 2402000A */ addiu $v0, $zero, 0xa
/* 797FF0 802A2030 AFC20074 */ sw $v0, 0x74($fp)
/* 797FF4 802A2034 24020009 */ addiu $v0, $zero, 9
/* 797FF8 802A2038 080A8907 */ j .L802A241C
/* 797FF8 802A2038 080A8907 */ j L802A241C_7983DC
/* 797FFC 802A203C AFC20070 */ sw $v0, 0x70($fp)
glabel L802A2040_798000
/* 798000 802A2040 8FC20074 */ lw $v0, 0x74($fp)
/* 798004 802A2044 10400003 */ beqz $v0, .L802A2054
/* 798008 802A2048 2442FFFF */ addiu $v0, $v0, -1
.L802A204C:
/* 79800C 802A204C 080A8907 */ j .L802A241C
/* 79800C 802A204C 080A8907 */ j L802A241C_7983DC
/* 798010 802A2050 AFC20074 */ sw $v0, 0x74($fp)
.L802A2054:
/* 798014 802A2054 3C01432A */ lui $at, 0x432a
@ -789,7 +789,7 @@ glabel L802A2040_798000
/* 79802C 802A206C E6200010 */ swc1 $f0, 0x10($s1)
/* 798030 802A2070 AFC20074 */ sw $v0, 0x74($fp)
/* 798034 802A2074 2402000A */ addiu $v0, $zero, 0xa
/* 798038 802A2078 080A8907 */ j .L802A241C
/* 798038 802A2078 080A8907 */ j L802A241C_7983DC
/* 79803C 802A207C AFC20070 */ sw $v0, 0x70($fp)
glabel L802A2080_798040
/* 798040 802A2080 8FC20074 */ lw $v0, 0x74($fp)
@ -895,7 +895,7 @@ glabel L802A219C_79815C
/* 7981A4 802A21E4 0C05269B */ jal func_80149A6C
/* 7981A8 802A21E8 0000282D */ daddu $a1, $zero, $zero
/* 7981AC 802A21EC 24020015 */ addiu $v0, $zero, 0x15
/* 7981B0 802A21F0 080A8907 */ j .L802A241C
/* 7981B0 802A21F0 080A8907 */ j L802A241C_7983DC
/* 7981B4 802A21F4 AFC20070 */ sw $v0, 0x70($fp)
glabel L802A21F8_7981B8
/* 7981B8 802A21F8 0000B82D */ daddu $s7, $zero, $zero
@ -1044,7 +1044,6 @@ glabel L802A21F8_7981B8
/* 7983D0 802A2410 34840010 */ ori $a0, $a0, 0x10
/* 7983D4 802A2414 080A8908 */ j .L802A2420
/* 7983D8 802A2418 AC640000 */ sw $a0, ($v1)
.L802A241C:
glabel L802A241C_7983DC
/* 7983DC 802A241C 0000102D */ daddu $v0, $zero, $zero
.L802A2420:

View File

@ -71,7 +71,7 @@ glabel step_intro
/* 11D44 80036944 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 11D48 80036948 804300AC */ lb $v1, 0xac($v0)
/* 11D4C 8003694C 2C620016 */ sltiu $v0, $v1, 0x16
/* 11D50 80036950 10400109 */ beqz $v0, .L80036D78
/* 11D50 80036950 10400109 */ beqz $v0, L80036D78_12178
/* 11D54 80036954 00031080 */ sll $v0, $v1, 2
/* 11D58 80036958 3C01800A */ lui $at, %hi(jtbl_80098338)
/* 11D5C 8003695C 00220821 */ addu $at, $at, $v0
@ -97,13 +97,13 @@ glabel L8003696C_11D6C
/* 11DA8 800369A8 84840956 */ lh $a0, %lo(D_800A0956)($a0)
/* 11DAC 800369AC 0C00CE0C */ jal intro_logos_fade_out
/* 11DB0 800369B0 00000000 */ nop
/* 11DB4 800369B4 104000F0 */ beqz $v0, .L80036D78
/* 11DB4 800369B4 104000F0 */ beqz $v0, L80036D78_12178
/* 11DB8 800369B8 24020001 */ addiu $v0, $zero, 1
/* 11DBC 800369BC 0000202D */ daddu $a0, $zero, $zero
/* 11DC0 800369C0 8E030000 */ lw $v1, ($s0)
/* 11DC4 800369C4 0C00AFC1 */ jal set_curtain_draw_callback
/* 11DC8 800369C8 A06200AC */ sb $v0, 0xac($v1)
/* 11DCC 800369CC 0800DB5E */ j .L80036D78
/* 11DCC 800369CC 0800DB5E */ j L80036D78_12178
/* 11DD0 800369D0 00000000 */ nop
.L800369D4:
/* 11DD4 800369D4 3C05800A */ lui $a1, %hi(D_800A0954)
@ -116,14 +116,14 @@ glabel L8003696C_11D6C
/* 11DF0 800369F0 00021400 */ sll $v0, $v0, 0x10
/* 11DF4 800369F4 00021403 */ sra $v0, $v0, 0x10
/* 11DF8 800369F8 284200FF */ slti $v0, $v0, 0xff
/* 11DFC 800369FC 144000DE */ bnez $v0, .L80036D78
/* 11DFC 800369FC 144000DE */ bnez $v0, L80036D78_12178
/* 11E00 80036A00 240200FF */ addiu $v0, $zero, 0xff
/* 11E04 80036A04 0000202D */ daddu $a0, $zero, $zero
/* 11E08 80036A08 A4A20000 */ sh $v0, ($a1)
/* 11E0C 80036A0C 24020001 */ addiu $v0, $zero, 1
/* 11E10 80036A10 0C00AFC1 */ jal set_curtain_draw_callback
/* 11E14 80036A14 A0C200AC */ sb $v0, 0xac($a2)
/* 11E18 80036A18 0800DB5E */ j .L80036D78
/* 11E18 80036A18 0800DB5E */ j L80036D78_12178
/* 11E1C 80036A1C 00000000 */ nop
glabel L80036A20_11E20
/* 11E20 80036A20 3C04800A */ lui $a0, %hi(D_8009A650)
@ -137,7 +137,7 @@ glabel L80036A20_11E20
/* 11E40 80036A40 3C03800A */ lui $v1, %hi(D_800A0960)
/* 11E44 80036A44 8C630960 */ lw $v1, %lo(D_800A0960)($v1)
/* 11E48 80036A48 2402000E */ addiu $v0, $zero, 0xe
/* 11E4C 80036A4C 106200CA */ beq $v1, $v0, .L80036D78
/* 11E4C 80036A4C 106200CA */ beq $v1, $v0, L80036D78_12178
/* 11E50 80036A50 00000000 */ nop
/* 11E54 80036A54 0800DAA3 */ j .L80036A8C
/* 11E58 80036A58 00000000 */ nop
@ -146,7 +146,7 @@ glabel L80036A5C_11E5C
/* 11E60 80036A60 24630950 */ addiu $v1, $v1, %lo(D_800A0950)
/* 11E64 80036A64 8C620000 */ lw $v0, ($v1)
/* 11E68 80036A68 2442FFFF */ addiu $v0, $v0, -1
/* 11E6C 80036A6C 1C4000C2 */ bgtz $v0, .L80036D78
/* 11E6C 80036A6C 1C4000C2 */ bgtz $v0, L80036D78_12178
/* 11E70 80036A70 AC620000 */ sw $v0, ($v1)
/* 11E74 80036A74 3C04800A */ lui $a0, %hi(D_8009A650)
/* 11E78 80036A78 2484A650 */ addiu $a0, $a0, %lo(D_8009A650)
@ -158,7 +158,7 @@ glabel L80036A5C_11E5C
/* 11E8C 80036A8C 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 11E90 80036A90 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 11E94 80036A94 24020002 */ addiu $v0, $zero, 2
/* 11E98 80036A98 0800DB5E */ j .L80036D78
/* 11E98 80036A98 0800DB5E */ j L80036D78_12178
/* 11E9C 80036A9C A06200AC */ sb $v0, 0xac($v1)
glabel L80036AA0_11EA0
/* 11EA0 80036AA0 0C00AFC1 */ jal set_curtain_draw_callback
@ -265,7 +265,7 @@ glabel L80036AA0_11EA0
/* 1202C 80036C2C 24020003 */ addiu $v0, $zero, 3
/* 12030 80036C30 0C03805E */ jal disable_player_input
/* 12034 80036C34 A06200AC */ sb $v0, 0xac($v1)
/* 12038 80036C38 0800DB5E */ j .L80036D78
/* 12038 80036C38 0800DB5E */ j L80036D78_12178
/* 1203C 80036C3C 00000000 */ nop
glabel L80036C40_12040
/* 12040 80036C40 3C04800A */ lui $a0, %hi(D_800A0960)
@ -316,7 +316,7 @@ glabel L80036C40_12040
/* 120F0 80036CF0 8E020000 */ lw $v0, ($s0)
/* 120F4 80036CF4 94440086 */ lhu $a0, 0x86($v0)
/* 120F8 80036CF8 A04300AC */ sb $v1, 0xac($v0)
/* 120FC 80036CFC 0800DB5E */ j .L80036D78
/* 120FC 80036CFC 0800DB5E */ j L80036D78_12178
/* 12100 80036D00 A4440088 */ sh $a0, 0x88($v0)
glabel L80036D04_12104
/* 12104 80036D04 0C016754 */ jal update_effects
@ -339,7 +339,7 @@ glabel L80036D04_12104
/* 12148 80036D48 4405A000 */ mfc1 $a1, $f20
/* 1214C 80036D4C 0C04DF69 */ jal set_transition_stencil_zoom_1
/* 12150 80036D50 240400FF */ addiu $a0, $zero, 0xff
/* 12154 80036D54 0800DB5E */ j .L80036D78
/* 12154 80036D54 0800DB5E */ j L80036D78_12178
/* 12158 80036D58 00000000 */ nop
.L80036D5C:
/* 1215C 80036D5C 3C02800A */ lui $v0, %hi(D_800A0958)
@ -347,9 +347,8 @@ glabel L80036D04_12104
/* 12164 80036D64 00621023 */ subu $v0, $v1, $v0
/* 12168 80036D68 A4820000 */ sh $v0, ($a0)
/* 1216C 80036D6C 00021400 */ sll $v0, $v0, 0x10
/* 12170 80036D70 04420001 */ bltzl $v0, .L80036D78
/* 12170 80036D70 04420001 */ bltzl $v0, L80036D78_12178
/* 12174 80036D74 A4800000 */ sh $zero, ($a0)
.L80036D78:
glabel L80036D78_12178
/* 12178 80036D78 3C02800A */ lui $v0, %hi(D_800A0954)
/* 1217C 80036D7C 84420954 */ lh $v0, %lo(D_800A0954)($v0)

Some files were not shown because too many files have changed in this diff Show More