5 fold funcs (#856)

* matched 5 funcs

* cleaning

* UnkFoldStruct comments
This commit is contained in:
Unnunu 2022-11-14 13:34:10 +03:00 committed by GitHub
parent 8d429c8b07
commit 397cb10bc9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 374 additions and 2392 deletions

View File

@ -13,7 +13,7 @@ typedef struct {
/* 0x07 */ char unk_07[0x1];
/* 0x08 */ u16 firstVtxIdx;
/* 0x0A */ u16 lastVtxIdx;
/* 0x0C */ s16 unk_0C;
/* 0x0C */ u16 unk_0C;
/* 0x0E */ s16 unk_0E;
/* 0x10 */ s16 unk_10;
/* 0x14 */ s32 flags;
@ -41,10 +41,8 @@ typedef struct FoldGfxDescriptor {
/* 0x04 */ Gfx* gfx;
/* 0x08 */ u16 vtxCount;
/* 0x0A */ u16 gfxCount;
/* 0x0C */ s8 unk_0C;
/* 0x0D */ s8 unk_0D;
/* 0x0E */ s8 unk_0E;
/* 0x0F */ s8 unk_0F;
/* 0x0C */ u16 unk_0C;
/* 0x0E */ u16 useAbsoluteValues;
} FoldGfxDescriptor; // size = 0x10
typedef struct FoldRenderMode {
@ -53,6 +51,23 @@ typedef struct FoldRenderMode {
/* 0x8 */ u8 flags; // only checks TRUE so far. some kind of switch?
} FoldRenderMode; // size = 0xC
typedef struct UnkFoldStruct {
/* 0x00 */ s32 raster;
/* 0x04 */ s32 palette;
/* 0x08 */ u16 width;
/* 0x0A */ u16 height;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ Gfx* unk_14;
} UnkFoldStruct; // size = 0x18
typedef struct PackedVtx {
/* 0x00 */ s16 ob[3];
/* 0x06 */ u8 tc[2];;
/* 0x08 */ s8 cn[3];
/* 0x0B */ char unk_0B;
} PackedVtx; // size = 0x0C
typedef FoldState FoldStateList[90];
// BSS
@ -1107,7 +1122,198 @@ FoldGfxDescriptor* fold_load_gfx(FoldState* state) {
return descriptor;
}
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013C3F0);
void func_8013C3F0(FoldState* state) {
s32 sp10;
s32 nextStateIdx;
s32 currentStateIdx;
PackedVtx* currentAnimState;
PackedVtx* nextAnimState = NULL;
s32 animationPeriod = state->unk_1C[0][1];
s32 currentFrame = state->unk_3C[0][0];
s32 sp14 = state->unk_1C[0][2];
FoldGfxDescriptor* descriptor = fold_load_gfx(state);
u8* romStart;
s32 i;
f32 lerpAlpha;
if (descriptor == NULL) {
return;
}
if (state->flags & FOLD_STATE_FLAG_200) {
state->flags &= ~FOLD_STATE_FLAG_200;
if (state->flags & FOLD_STATE_FLAG_100) {
state->unk_3C[0][1] = descriptor->unk_0C - 1;
}
}
currentStateIdx = state->unk_3C[0][1];
sp10 = abs(animationPeriod);
if (state->flags & FOLD_STATE_FLAG_4000) {
nextStateIdx = currentStateIdx;
} else {
if (state->flags & FOLD_STATE_FLAG_100) {
nextStateIdx = currentStateIdx - 1;
if (nextStateIdx < 0) {
nextStateIdx = currentStateIdx;
if (state->flags & FOLD_STATE_FLAG_80) {
nextStateIdx = descriptor->unk_0C - 1;
}
}
} else {
nextStateIdx = currentStateIdx + 1;
if (nextStateIdx == descriptor->unk_0C) {
nextStateIdx = currentStateIdx;
if (state->flags & FOLD_STATE_FLAG_80) {
nextStateIdx = 0;
}
}
}
}
currentAnimState = heap_malloc(descriptor->vtxCount * sizeof(*currentAnimState));
romStart = (u8*)((s32)_24B7F0_ROM_START + (s32)descriptor->vtx + currentStateIdx * descriptor->vtxCount * sizeof(*currentAnimState));
dma_copy(romStart, romStart + descriptor->vtxCount * sizeof(*currentAnimState), currentAnimState);
if (animationPeriod >= 2) {
nextAnimState = heap_malloc(descriptor->vtxCount * sizeof(*nextAnimState));
romStart = (u8*)((s32)_24B7F0_ROM_START + (s32)descriptor->vtx + nextStateIdx * descriptor->vtxCount * sizeof(*currentAnimState));
dma_copy(romStart, romStart + descriptor->vtxCount * sizeof(*nextAnimState), nextAnimState);
}
lerpAlpha = (f32) currentFrame / (f32) animationPeriod;
for (i = 0; i < descriptor->vtxCount; i++) {
if (state->meshType != 2) {
return;
}
if (animationPeriod >= 2) {
if (descriptor->useAbsoluteValues & 1) {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[0] = currentAnimState[i].ob[0] + (nextAnimState[i].ob[0] - currentAnimState[i].ob[0]) * lerpAlpha;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[1] = currentAnimState[i].ob[1] + (nextAnimState[i].ob[1] - currentAnimState[i].ob[1]) * lerpAlpha;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[2] = currentAnimState[i].ob[2] + (nextAnimState[i].ob[2] - currentAnimState[i].ob[2]) * lerpAlpha;
} else {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[0] = (s16)(currentAnimState[i].ob[0] + (nextAnimState[i].ob[0] - currentAnimState[i].ob[0]) * lerpAlpha) * 0.01 * fold_currentImage->width;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[1] = (s16)(currentAnimState[i].ob[1] + (nextAnimState[i].ob[1] - currentAnimState[i].ob[1]) * lerpAlpha) * 0.01 * fold_currentImage->height;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[2] = (s16)(currentAnimState[i].ob[2] + (nextAnimState[i].ob[2] - currentAnimState[i].ob[2]) * lerpAlpha) * 0.01 * ((fold_currentImage->width + fold_currentImage->height) / 2);
}
if (state->flags & (FOLD_STATE_FLAG_8000 | FOLD_STATE_FLAG_2000)) {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[0] = (s32)(currentAnimState[i].cn[0] + (nextAnimState[i].cn[0] - currentAnimState[i].cn[0]) * lerpAlpha);
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[1] = (s32)(currentAnimState[i].cn[1] + (nextAnimState[i].cn[1] - currentAnimState[i].cn[1]) * lerpAlpha);
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[2] = (s32)(currentAnimState[i].cn[2] + (nextAnimState[i].cn[2] - currentAnimState[i].cn[2]) * lerpAlpha);
} else {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[0] =
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[1] =
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[2] = 240.0 - (currentAnimState[i].tc[0] + currentAnimState[i].tc[1]) * 1.2;
}
} else {
if (descriptor->useAbsoluteValues & 1) {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[0] = currentAnimState[i].ob[0];
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[1] = currentAnimState[i].ob[1];
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[2] = currentAnimState[i].ob[2];
} else {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[0] = currentAnimState[i].ob[0] * 0.01 * fold_currentImage->width;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[1] = currentAnimState[i].ob[1] * 0.01 * fold_currentImage->height;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.ob[2] = currentAnimState[i].ob[2] * 0.01 * ((fold_currentImage->width + fold_currentImage->height) / 2);
}
if (state->flags & (FOLD_STATE_FLAG_8000 | FOLD_STATE_FLAG_2000)) {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[0] = currentAnimState[i].cn[0];
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[1] = currentAnimState[i].cn[1];
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[2] = currentAnimState[i].cn[2];
} else {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[0] =
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[1] =
state->vtxBufs[gCurrentDisplayContextIndex][i].v.cn[2] = 240.0 - (currentAnimState[i].tc[0] + currentAnimState[i].tc[1]) * 1.2;
}
}
if (descriptor->useAbsoluteValues & 1) {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.tc[0] = (currentAnimState[i].tc[0] + 0x100) << 5;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.tc[1] = (currentAnimState[i].tc[1] + 0x100) << 5;
} else {
state->vtxBufs[gCurrentDisplayContextIndex][i].v.tc[0] = ((s32)(currentAnimState[i].tc[0] * 0.01 * fold_currentImage->width) + 0x100) << 5;
state->vtxBufs[gCurrentDisplayContextIndex][i].v.tc[1] = ((s32)(currentAnimState[i].tc[1] * 0.01 * fold_currentImage->height) + 0x100) << 5;
}
}
state->firstVtxIdx = 0;
state->lastVtxIdx = descriptor->vtxCount - 1;
heap_free(currentAnimState);
if (nextAnimState != NULL) {
heap_free(nextAnimState);
}
if (sp14 == 0 || gGameStatusPtr->frameCounter % sp14 != 0) {
return;
}
if (animationPeriod > 0) {
currentFrame++;
if (currentFrame >= animationPeriod) {
if (state->flags & FOLD_STATE_FLAG_100) {
currentStateIdx--;
if (currentStateIdx < 0) {
if (state->flags & FOLD_STATE_FLAG_80) {
currentStateIdx = descriptor->unk_0C - 1;
} else {
if (state->flags & FOLD_STATE_FLAG_800) {
currentStateIdx = 0;
state->flags |= FOLD_STATE_FLAG_4000;
} else {
state->flags |= FOLD_STATE_FLAG_1000;
}
}
}
} else {
currentStateIdx++;
if (currentStateIdx >= descriptor->unk_0C) {
if (state->flags & FOLD_STATE_FLAG_80) {
currentStateIdx = 0;
} else {
if (state->flags & FOLD_STATE_FLAG_800) {
currentStateIdx--;
state->flags |= FOLD_STATE_FLAG_4000;
} else {
state->flags |= FOLD_STATE_FLAG_1000;
}
}
}
}
currentFrame = 0;
}
} else if (animationPeriod < 0) {
if (state->flags & FOLD_STATE_FLAG_100) {
currentStateIdx -= sp10;
if (currentStateIdx < 0) {
if (state->flags & FOLD_STATE_FLAG_80) {
currentStateIdx += descriptor->unk_0C;
} else {
if (state->flags & FOLD_STATE_FLAG_800) {
currentStateIdx = 0;
state->flags |= FOLD_STATE_FLAG_4000;
} else {
state->flags |= FOLD_STATE_FLAG_1000;
}
}
}
} else {
currentStateIdx += sp10;
if (currentStateIdx >= descriptor->unk_0C) {
if (state->flags & FOLD_STATE_FLAG_80) {
currentStateIdx %= descriptor->unk_0C;
} else {
if (state->flags & FOLD_STATE_FLAG_800) {
currentStateIdx = descriptor->unk_0C - 1;
state->flags |= FOLD_STATE_FLAG_4000;
} else {
state->flags |= FOLD_STATE_FLAG_1000;
}
}
}
}
}
state->unk_3C[0][0] = currentFrame;
state->unk_3C[0][1] = currentStateIdx;
}
void func_8013CFA8(FoldState* state, Matrix4f mtx) {
s32 i;
@ -1129,7 +1335,7 @@ void func_8013CFA8(FoldState* state, Matrix4f mtx) {
s32 alpha;
s32 alpha2;
if (!(state->flags & 0x20)) {
if (!(state->flags & FOLD_STATE_FLAG_20)) {
if ((D_80151328->flags & 1) &&
(state->arrayIdx != 0) &&
(state->flags & someFlags) &&
@ -1278,11 +1484,164 @@ void func_8013CFA8(FoldState* state, Matrix4f mtx) {
}
}
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013DAB4);
void func_8013DAB4(FoldState* state, Matrix4f mtx) {
s32 i, j;
s32 firstVtxIdx;
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013E2F0);
if (!(state->flags & FOLD_STATE_FLAG_20)) {
gDPSetTextureLUT(gMasterGfxPos++, G_TT_RGBA16);
gDPLoadTLUT_pal16(gMasterGfxPos++, 0, fold_currentImage->palette);
}
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013E904);
firstVtxIdx = state->firstVtxIdx;
for (i = 0; i < state->subdivY; i++) {
for (j = 0; j < state->subdivX; j++) {
s32 ulIdx = firstVtxIdx + i * (state->subdivX + 1) + j;
s32 urIdx = firstVtxIdx + i * (state->subdivX + 1) + j + 1;
s32 llIdx = firstVtxIdx + (i + 1) * (state->subdivX + 1) + j;
s32 lrIdx = firstVtxIdx + (i + 1) * (state->subdivX + 1) + j + 1;
if (!(state->flags & FOLD_STATE_FLAG_20)) {
if ((D_80151328->flags & 1) &&
(*D_80156954)[0].arrayIdx != 0 &&
(state->flags & (FOLD_STATE_FLAG_100000 | FOLD_STATE_FLAG_80000)) &&
(state->renderType == 0 || state->renderType == 2 || state->renderType == 7)) {
s32 alpha = 255;
gDPScrollMultiTile2_4b(gMasterGfxPos++,
fold_currentImage->raster, G_IM_FMT_CI,
fold_currentImage->width, fold_currentImage->height, // img size
(fold_vtxBuf[ulIdx].v.tc[0] >> 5) - 0x100, (fold_vtxBuf[ulIdx].v.tc[1] >> 5) - 0x100, // top left
(fold_vtxBuf[lrIdx].v.tc[0] >> 5) - 0x100 - 1, (fold_vtxBuf[lrIdx].v.tc[1] >> 5) - 0x100 - 1, // bottom right
0, // palette
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, // clamp wrap mirror
8, 8, // mask
G_TX_NOLOD, G_TX_NOLOD, // shift,
0x100, 0x100); // scroll
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0100, 2, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, 2, 0, 0, 63 << 2, 0);
switch (state->renderType) {
case 0:
alpha = 255;
break;
case 2:
alpha = state->unk_1C[1][3];
break;
case 7:
alpha = -1;
break;
}
create_shading_palette(mtx,
(fold_vtxBuf[ulIdx].v.tc[0] >> 5) - 0x100, (fold_vtxBuf[ulIdx].v.tc[1] >> 5) - 0x100,
(fold_vtxBuf[lrIdx].v.tc[0] >> 5) - 0x100, (fold_vtxBuf[lrIdx].v.tc[1] >> 5) - 0x100,
alpha, state->unk_78);
} else {
gDPScrollTextureTile_4b(gMasterGfxPos++,
fold_currentImage->raster, G_IM_FMT_CI,
fold_currentImage->width, fold_currentImage->height, // img size
(fold_vtxBuf[ulIdx].v.tc[0] >> 5) - 0x100, (fold_vtxBuf[ulIdx].v.tc[1] >> 5) - 0x100, // top left
(fold_vtxBuf[lrIdx].v.tc[0] >> 5) - 0x100 - 1, (fold_vtxBuf[lrIdx].v.tc[1] >> 5) - 0x100 - 1, // bottom right
0, // palette
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, // clamp wrap mirror
8, 8, // mask
G_TX_NOLOD, G_TX_NOLOD, // shift,
0x100, 0x100); // scroll
}
}
gSPVertex(gMasterGfxPos++, &fold_vtxBuf[ulIdx], 1, 0);
gSPVertex(gMasterGfxPos++, &fold_vtxBuf[urIdx], 1, 1);
gSPVertex(gMasterGfxPos++, &fold_vtxBuf[llIdx], 1, 2);
gSPVertex(gMasterGfxPos++, &fold_vtxBuf[lrIdx], 1, 3);
gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 1, 2, 3, 0);
}
}
}
void func_8013E2F0(FoldState* state, Matrix4f mtx) {
if (state->vtxBufs[gCurrentDisplayContextIndex] == NULL || state->gfxBufs[gCurrentDisplayContextIndex] == NULL) {
return;
}
guScale(&gDisplayContext->matrixStack[gMatrixListPos], 0.1f, 0.1f, 0.1f);
gSPMatrix(gMasterGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (!(state->flags & FOLD_STATE_FLAG_20)) {
gDPSetTextureLUT(gMasterGfxPos++, G_TT_RGBA16);
gDPLoadTLUT_pal16(gMasterGfxPos++, 0, fold_currentImage->palette);
if ((D_80151328->flags & 1) && (state->flags & (FOLD_STATE_FLAG_100000 | FOLD_STATE_FLAG_80000)) &&
(state->renderType == 0 || state->renderType == 2 || state->renderType == 7 || state->renderType == 11)) {
s32 alpha = 255;
gDPScrollMultiTile2_4b(gMasterGfxPos++, fold_currentImage->raster, G_IM_FMT_CI,
fold_currentImage->width, fold_currentImage->height,
0, 0, fold_currentImage->width - 1, fold_currentImage->height - 1, 0,
G_TX_CLAMP, G_TX_CLAMP, 8, 8, G_TX_NOLOD, G_TX_NOLOD,
256, 256);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0100, 2, 0,
G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, 2, 0, 0, 252, 0);
switch (state->renderType) {
case 0:
case 11:
alpha = 255;
break;
case 2:
alpha = state->unk_1C[1][3];
break;
case 7:
alpha = -1;
break;
}
create_shading_palette(mtx, 0, 0, fold_currentImage->width, fold_currentImage->height, alpha, state->unk_78);
} else {
gDPScrollTextureTile_4b(gMasterGfxPos++, fold_currentImage->raster, G_IM_FMT_CI,
fold_currentImage->width, fold_currentImage->height,
0, 0, fold_currentImage->width - 1, fold_currentImage->height - 1, 0,
G_TX_CLAMP, G_TX_CLAMP, 8, 8, G_TX_NOLOD, G_TX_NOLOD,
256, 256);
}
}
gSPDisplayList(gMasterGfxPos++, state->gfxBufs[gCurrentDisplayContextIndex]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
void func_8013E904(FoldState* state, Matrix4f mtx) {
UnkFoldStruct* ufs = (UnkFoldStruct*)state->unk_1C[1][0];
s32 shifts = integer_log(ufs->width, 2);
s32 shiftt = integer_log(ufs->height, 2);
s32 uls, ult;
s32 lrs, lrt;
guScale(&gDisplayContext->matrixStack[gMatrixListPos], (f32)fold_currentImage->width / 100.0, (f32)fold_currentImage->height / 100.0, 1.0f);
gSPMatrix(gMasterGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetRenderMode(gMasterGfxPos++, G_RM_ZB_XLU_DECAL, G_RM_ZB_XLU_DECAL2);
if (state->renderType == 15) {
s32 temp = state->unk_1C[1][1];
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, temp);
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0);
} else {
gDPSetCombineMode(gMasterGfxPos++, G_CC_MODULATEIA, G_CC_MODULATEIA);
}
gDPSetTextureLUT(gMasterGfxPos++, G_TT_RGBA16);
gDPLoadTLUT_pal16(gMasterGfxPos++, 0, ufs->palette);
gDPScrollTextureTile_4b(gMasterGfxPos++, ufs->raster, G_IM_FMT_CI, ufs->width, ufs->height,
0, 0, ufs->width - 1, ufs->height - 1, 0,
G_TX_WRAP, G_TX_WRAP, shifts, shiftt, G_TX_NOLOD, G_TX_NOLOD,
256, 256);
uls = state->unk_3C[1][0];
ult = state->unk_3C[1][1];
lrs = ufs->width * 4 + state->unk_3C[1][0];
lrt = ufs->height * 4 + state->unk_3C[1][1];
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, uls, ult, lrs, lrt);
state->unk_3C[1][0] = (s32)(state->unk_3C[1][0] + ufs->unk_0C) % (ufs->width * 4);
state->unk_3C[1][1] = (s32)(state->unk_3C[1][1] + ufs->unk_10) % (ufs->height * 4);
gSPDisplayList(gMasterGfxPos++, ufs->unk_14);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
void func_8013EE48(FoldState* state) {
state->unk_3C[0][0] = 0.0f;
@ -1290,8 +1649,6 @@ void func_8013EE48(FoldState* state) {
state->unk_3C[0][2] = 30.0f;
}
// Reg swaps in the loop
#ifdef NON_MATCHING
void func_8013EE68(FoldState* state) {
Vtx* v1;
Vtx* v2;
@ -1350,15 +1707,16 @@ void func_8013EE68(FoldState* state) {
angle2 = state->unk_3C[0][1] + (angleInc * 45) + (sign * 180);
angle3 = state->unk_3C[0][2] + (angleInc * 45) + (sign * 180);
v1 = &fold_vtxBuf[state->firstVtxIdx + i];
//TODO find better match
v1 = (Vtx*)((state->firstVtxIdx + i) * 16 + (s32)fold_vtxBuf);
temp_f20 = v1->v.ob[0];
v1->v.ob[0] = (temp_f20 + (sin_rad(angle1) * state->unk_1C[0][0]));
v1->v.ob[0] = (temp_f20 + (sin_rad(angle1) * state->unk_1C[0][0])); // @bug? should be sin_deg?
v2 = &fold_vtxBuf[state->firstVtxIdx + i];
v2 = (Vtx*)((state->firstVtxIdx + i) * 16 + (s32)fold_vtxBuf);
temp_f20_2 = v2->v.ob[1];
v2->v.ob[1] = (temp_f20_2 + (sin_rad(angle2) * state->unk_1C[0][1]));
v3 = &fold_vtxBuf[state->firstVtxIdx + i];
v3 = (Vtx*)((state->firstVtxIdx + i) * 16 + (s32)fold_vtxBuf);
temp_f20_3 = v3->v.ob[2];
v3->v.ob[2] = (temp_f20_3 + (sin_rad(angle3) * state->unk_1C[0][2]));
@ -1369,9 +1727,6 @@ void func_8013EE68(FoldState* state) {
}
}
}
#else
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013EE68);
#endif
void func_8013F1F8(FoldState* state) {
f32 alpha = (f32)fold_currentImage->alphaMultiplier / 255.0;

View File

@ -1,808 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_801510E8
.double 0.01
dlabel D_801510F0
.double 1.2
dlabel D_801510F8
.double 1.2
.section .text
glabel func_8013C3F0
/* D2AF0 8013C3F0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* D2AF4 8013C3F4 AFB20020 */ sw $s2, 0x20($sp)
/* D2AF8 8013C3F8 0080902D */ daddu $s2, $a0, $zero
/* D2AFC 8013C3FC AFB70034 */ sw $s7, 0x34($sp)
/* D2B00 8013C400 0000B82D */ daddu $s7, $zero, $zero
/* D2B04 8013C404 AFBF003C */ sw $ra, 0x3c($sp)
/* D2B08 8013C408 AFBE0038 */ sw $fp, 0x38($sp)
/* D2B0C 8013C40C AFB60030 */ sw $s6, 0x30($sp)
/* D2B10 8013C410 AFB5002C */ sw $s5, 0x2c($sp)
/* D2B14 8013C414 AFB40028 */ sw $s4, 0x28($sp)
/* D2B18 8013C418 AFB30024 */ sw $s3, 0x24($sp)
/* D2B1C 8013C41C AFB1001C */ sw $s1, 0x1c($sp)
/* D2B20 8013C420 AFB00018 */ sw $s0, 0x18($sp)
/* D2B24 8013C424 C640003C */ lwc1 $f0, 0x3c($s2)
/* D2B28 8013C428 8E540020 */ lw $s4, 0x20($s2)
/* D2B2C 8013C42C 4600028D */ trunc.w.s $f10, $f0
/* D2B30 8013C430 44165000 */ mfc1 $s6, $f10
/* D2B34 8013C434 8E4D0024 */ lw $t5, 0x24($s2)
/* D2B38 8013C438 0C04F088 */ jal fold_load_gfx
/* D2B3C 8013C43C AFAD0014 */ sw $t5, 0x14($sp)
/* D2B40 8013C440 0040982D */ daddu $s3, $v0, $zero
/* D2B44 8013C444 126002CC */ beqz $s3, .L8013CF78
/* D2B48 8013C448 00000000 */ nop
/* D2B4C 8013C44C 8E430014 */ lw $v1, 0x14($s2)
/* D2B50 8013C450 30620200 */ andi $v0, $v1, 0x200
/* D2B54 8013C454 1040000C */ beqz $v0, .L8013C488
/* D2B58 8013C458 2402FDFF */ addiu $v0, $zero, -0x201
/* D2B5C 8013C45C 00621024 */ and $v0, $v1, $v0
/* D2B60 8013C460 AE420014 */ sw $v0, 0x14($s2)
/* D2B64 8013C464 30620100 */ andi $v0, $v1, 0x100
/* D2B68 8013C468 10400007 */ beqz $v0, .L8013C488
/* D2B6C 8013C46C 00000000 */ nop
/* D2B70 8013C470 9662000C */ lhu $v0, 0xc($s3)
/* D2B74 8013C474 2442FFFF */ addiu $v0, $v0, -1
/* D2B78 8013C478 44820000 */ mtc1 $v0, $f0
/* D2B7C 8013C47C 00000000 */ nop
/* D2B80 8013C480 46800020 */ cvt.s.w $f0, $f0
/* D2B84 8013C484 E6400040 */ swc1 $f0, 0x40($s2)
.L8013C488:
/* D2B88 8013C488 C6400040 */ lwc1 $f0, 0x40($s2)
/* D2B8C 8013C48C 8E430014 */ lw $v1, 0x14($s2)
/* D2B90 8013C490 4600028D */ trunc.w.s $f10, $f0
/* D2B94 8013C494 44115000 */ mfc1 $s1, $f10
/* D2B98 8013C498 06810002 */ bgez $s4, .L8013C4A4
/* D2B9C 8013C49C 0280682D */ daddu $t5, $s4, $zero
/* D2BA0 8013C4A0 000D6823 */ negu $t5, $t5
.L8013C4A4:
/* D2BA4 8013C4A4 30624000 */ andi $v0, $v1, 0x4000
/* D2BA8 8013C4A8 10400003 */ beqz $v0, .L8013C4B8
/* D2BAC 8013C4AC AFAD0010 */ sw $t5, 0x10($sp)
/* D2BB0 8013C4B0 0804F13F */ j .L8013C4FC
/* D2BB4 8013C4B4 0220802D */ daddu $s0, $s1, $zero
.L8013C4B8:
/* D2BB8 8013C4B8 30620100 */ andi $v0, $v1, 0x100
/* D2BBC 8013C4BC 10400008 */ beqz $v0, .L8013C4E0
/* D2BC0 8013C4C0 2630FFFF */ addiu $s0, $s1, -1
/* D2BC4 8013C4C4 0601000D */ bgez $s0, .L8013C4FC
/* D2BC8 8013C4C8 30620080 */ andi $v0, $v1, 0x80
/* D2BCC 8013C4CC 1040000B */ beqz $v0, .L8013C4FC
/* D2BD0 8013C4D0 0220802D */ daddu $s0, $s1, $zero
/* D2BD4 8013C4D4 9662000C */ lhu $v0, 0xc($s3)
/* D2BD8 8013C4D8 0804F13F */ j .L8013C4FC
/* D2BDC 8013C4DC 2450FFFF */ addiu $s0, $v0, -1
.L8013C4E0:
/* D2BE0 8013C4E0 9662000C */ lhu $v0, 0xc($s3)
/* D2BE4 8013C4E4 26300001 */ addiu $s0, $s1, 1
/* D2BE8 8013C4E8 16020004 */ bne $s0, $v0, .L8013C4FC
/* D2BEC 8013C4EC 30620080 */ andi $v0, $v1, 0x80
/* D2BF0 8013C4F0 10400002 */ beqz $v0, .L8013C4FC
/* D2BF4 8013C4F4 0220802D */ daddu $s0, $s1, $zero
/* D2BF8 8013C4F8 0000802D */ daddu $s0, $zero, $zero
.L8013C4FC:
/* D2BFC 8013C4FC 96620008 */ lhu $v0, 8($s3)
/* D2C00 8013C500 00022040 */ sll $a0, $v0, 1
/* D2C04 8013C504 00822021 */ addu $a0, $a0, $v0
/* D2C08 8013C508 0C00AB39 */ jal heap_malloc
/* D2C0C 8013C50C 00042080 */ sll $a0, $a0, 2
/* D2C10 8013C510 0040F02D */ daddu $fp, $v0, $zero
/* D2C14 8013C514 96670008 */ lhu $a3, 8($s3)
/* D2C18 8013C518 03C0302D */ daddu $a2, $fp, $zero
/* D2C1C 8013C51C 02270018 */ mult $s1, $a3
/* D2C20 8013C520 3C150025 */ lui $s5, 0x25
/* D2C24 8013C524 26B5B7F0 */ addiu $s5, $s5, -0x4810
/* D2C28 8013C528 00072840 */ sll $a1, $a3, 1
/* D2C2C 8013C52C 00A72821 */ addu $a1, $a1, $a3
/* D2C30 8013C530 00052880 */ sll $a1, $a1, 2
/* D2C34 8013C534 00001812 */ mflo $v1
/* D2C38 8013C538 00031040 */ sll $v0, $v1, 1
/* D2C3C 8013C53C 00431021 */ addu $v0, $v0, $v1
/* D2C40 8013C540 00021080 */ sll $v0, $v0, 2
/* D2C44 8013C544 8E630000 */ lw $v1, ($s3)
/* D2C48 8013C548 00551021 */ addu $v0, $v0, $s5
/* D2C4C 8013C54C 00622021 */ addu $a0, $v1, $v0
/* D2C50 8013C550 0C00A5CF */ jal dma_copy
/* D2C54 8013C554 00852821 */ addu $a1, $a0, $a1
/* D2C58 8013C558 2A820002 */ slti $v0, $s4, 2
/* D2C5C 8013C55C 14400017 */ bnez $v0, .L8013C5BC
/* D2C60 8013C560 0000502D */ daddu $t2, $zero, $zero
/* D2C64 8013C564 96620008 */ lhu $v0, 8($s3)
/* D2C68 8013C568 00022040 */ sll $a0, $v0, 1
/* D2C6C 8013C56C 00822021 */ addu $a0, $a0, $v0
/* D2C70 8013C570 0C00AB39 */ jal heap_malloc
/* D2C74 8013C574 00042080 */ sll $a0, $a0, 2
/* D2C78 8013C578 96670008 */ lhu $a3, 8($s3)
/* D2C7C 8013C57C 0040B82D */ daddu $s7, $v0, $zero
/* D2C80 8013C580 02070018 */ mult $s0, $a3
/* D2C84 8013C584 02E0302D */ daddu $a2, $s7, $zero
/* D2C88 8013C588 00072840 */ sll $a1, $a3, 1
/* D2C8C 8013C58C 00A72821 */ addu $a1, $a1, $a3
/* D2C90 8013C590 00052880 */ sll $a1, $a1, 2
/* D2C94 8013C594 00001812 */ mflo $v1
/* D2C98 8013C598 00031040 */ sll $v0, $v1, 1
/* D2C9C 8013C59C 00431021 */ addu $v0, $v0, $v1
/* D2CA0 8013C5A0 00021080 */ sll $v0, $v0, 2
/* D2CA4 8013C5A4 8E630000 */ lw $v1, ($s3)
/* D2CA8 8013C5A8 00551021 */ addu $v0, $v0, $s5
/* D2CAC 8013C5AC 00622021 */ addu $a0, $v1, $v0
/* D2CB0 8013C5B0 0C00A5CF */ jal dma_copy
/* D2CB4 8013C5B4 00852821 */ addu $a1, $a0, $a1
/* D2CB8 8013C5B8 0000502D */ daddu $t2, $zero, $zero
.L8013C5BC:
/* D2CBC 8013C5BC 44960000 */ mtc1 $s6, $f0
/* D2CC0 8013C5C0 00000000 */ nop
/* D2CC4 8013C5C4 46800020 */ cvt.s.w $f0, $f0
/* D2CC8 8013C5C8 44941000 */ mtc1 $s4, $f2
/* D2CCC 8013C5CC 00000000 */ nop
/* D2CD0 8013C5D0 468010A0 */ cvt.s.w $f2, $f2
/* D2CD4 8013C5D4 96620008 */ lhu $v0, 8($s3)
/* D2CD8 8013C5D8 104001EE */ beqz $v0, .L8013CD94
/* D2CDC 8013C5DC 46020103 */ div.s $f4, $f0, $f2
/* D2CE0 8013C5E0 3C098007 */ lui $t1, %hi(gCurrentDisplayContextIndex)
/* D2CE4 8013C5E4 252941F4 */ addiu $t1, $t1, %lo(gCurrentDisplayContextIndex)
/* D2CE8 8013C5E8 3C0B8015 */ lui $t3, %hi(fold_currentImage)
/* D2CEC 8013C5EC 256BEE10 */ addiu $t3, $t3, %lo(fold_currentImage)
/* D2CF0 8013C5F0 3C0C8000 */ lui $t4, 0x8000
/* D2CF4 8013C5F4 03C0302D */ daddu $a2, $fp, $zero
/* D2CF8 8013C5F8 0140382D */ daddu $a3, $t2, $zero
/* D2CFC 8013C5FC 02E0402D */ daddu $t0, $s7, $zero
/* D2D00 8013C600 3C018015 */ lui $at, %hi(D_801510E8)
/* D2D04 8013C604 D42610E8 */ ldc1 $f6, %lo(D_801510E8)($at)
/* D2D08 8013C608 3C0141E0 */ lui $at, 0x41e0
/* D2D0C 8013C60C 44814800 */ mtc1 $at, $f9
/* D2D10 8013C610 44804000 */ mtc1 $zero, $f8
.L8013C614:
/* D2D14 8013C614 92430001 */ lbu $v1, 1($s2)
/* D2D18 8013C618 24020002 */ addiu $v0, $zero, 2
/* D2D1C 8013C61C 14620256 */ bne $v1, $v0, .L8013CF78
/* D2D20 8013C620 0282102A */ slt $v0, $s4, $v0
/* D2D24 8013C624 14400108 */ bnez $v0, .L8013CA48
/* D2D28 8013C628 00000000 */ nop
/* D2D2C 8013C62C 9662000E */ lhu $v0, 0xe($s3)
/* D2D30 8013C630 30420001 */ andi $v0, $v0, 1
/* D2D34 8013C634 10400039 */ beqz $v0, .L8013C71C
/* D2D38 8013C638 00000000 */ nop
/* D2D3C 8013C63C 84C30000 */ lh $v1, ($a2)
/* D2D40 8013C640 85020000 */ lh $v0, ($t0)
/* D2D44 8013C644 8D240000 */ lw $a0, ($t1)
/* D2D48 8013C648 00431023 */ subu $v0, $v0, $v1
/* D2D4C 8013C64C 44821000 */ mtc1 $v0, $f2
/* D2D50 8013C650 00000000 */ nop
/* D2D54 8013C654 468010A0 */ cvt.s.w $f2, $f2
/* D2D58 8013C658 46041082 */ mul.s $f2, $f2, $f4
/* D2D5C 8013C65C 00000000 */ nop
/* D2D60 8013C660 00042080 */ sll $a0, $a0, 2
/* D2D64 8013C664 02442021 */ addu $a0, $s2, $a0
/* D2D68 8013C668 44830000 */ mtc1 $v1, $f0
/* D2D6C 8013C66C 00000000 */ nop
/* D2D70 8013C670 46800020 */ cvt.s.w $f0, $f0
/* D2D74 8013C674 8C820068 */ lw $v0, 0x68($a0)
/* D2D78 8013C678 46020000 */ add.s $f0, $f0, $f2
/* D2D7C 8013C67C 00E21021 */ addu $v0, $a3, $v0
/* D2D80 8013C680 4600028D */ trunc.w.s $f10, $f0
/* D2D84 8013C684 44035000 */ mfc1 $v1, $f10
/* D2D88 8013C688 00000000 */ nop
/* D2D8C 8013C68C A4430000 */ sh $v1, ($v0)
/* D2D90 8013C690 84C30002 */ lh $v1, 2($a2)
/* D2D94 8013C694 85020002 */ lh $v0, 2($t0)
/* D2D98 8013C698 00431023 */ subu $v0, $v0, $v1
/* D2D9C 8013C69C 44820000 */ mtc1 $v0, $f0
/* D2DA0 8013C6A0 00000000 */ nop
/* D2DA4 8013C6A4 46800020 */ cvt.s.w $f0, $f0
/* D2DA8 8013C6A8 46040002 */ mul.s $f0, $f0, $f4
/* D2DAC 8013C6AC 00000000 */ nop
/* D2DB0 8013C6B0 44831000 */ mtc1 $v1, $f2
/* D2DB4 8013C6B4 00000000 */ nop
/* D2DB8 8013C6B8 468010A0 */ cvt.s.w $f2, $f2
/* D2DBC 8013C6BC 8C820068 */ lw $v0, 0x68($a0)
/* D2DC0 8013C6C0 46001080 */ add.s $f2, $f2, $f0
/* D2DC4 8013C6C4 00E21021 */ addu $v0, $a3, $v0
/* D2DC8 8013C6C8 4600128D */ trunc.w.s $f10, $f2
/* D2DCC 8013C6CC 44035000 */ mfc1 $v1, $f10
/* D2DD0 8013C6D0 00000000 */ nop
/* D2DD4 8013C6D4 A4430002 */ sh $v1, 2($v0)
/* D2DD8 8013C6D8 84C30004 */ lh $v1, 4($a2)
/* D2DDC 8013C6DC 85020004 */ lh $v0, 4($t0)
/* D2DE0 8013C6E0 00431023 */ subu $v0, $v0, $v1
/* D2DE4 8013C6E4 44820000 */ mtc1 $v0, $f0
/* D2DE8 8013C6E8 00000000 */ nop
/* D2DEC 8013C6EC 46800020 */ cvt.s.w $f0, $f0
/* D2DF0 8013C6F0 46040002 */ mul.s $f0, $f0, $f4
/* D2DF4 8013C6F4 00000000 */ nop
/* D2DF8 8013C6F8 44831000 */ mtc1 $v1, $f2
/* D2DFC 8013C6FC 00000000 */ nop
/* D2E00 8013C700 468010A0 */ cvt.s.w $f2, $f2
/* D2E04 8013C704 8C820068 */ lw $v0, 0x68($a0)
/* D2E08 8013C708 46001080 */ add.s $f2, $f2, $f0
/* D2E0C 8013C70C 4600128D */ trunc.w.s $f10, $f2
/* D2E10 8013C710 44035000 */ mfc1 $v1, $f10
/* D2E14 8013C714 0804F233 */ j .L8013C8CC
/* D2E18 8013C718 00E21021 */ addu $v0, $a3, $v0
.L8013C71C:
/* D2E1C 8013C71C 84C30000 */ lh $v1, ($a2)
/* D2E20 8013C720 85020000 */ lh $v0, ($t0)
/* D2E24 8013C724 00431023 */ subu $v0, $v0, $v1
/* D2E28 8013C728 44821000 */ mtc1 $v0, $f2
/* D2E2C 8013C72C 00000000 */ nop
/* D2E30 8013C730 468010A0 */ cvt.s.w $f2, $f2
/* D2E34 8013C734 46041082 */ mul.s $f2, $f2, $f4
/* D2E38 8013C738 00000000 */ nop
/* D2E3C 8013C73C 44830000 */ mtc1 $v1, $f0
/* D2E40 8013C740 00000000 */ nop
/* D2E44 8013C744 46800020 */ cvt.s.w $f0, $f0
/* D2E48 8013C748 46020000 */ add.s $f0, $f0, $f2
/* D2E4C 8013C74C 4600028D */ trunc.w.s $f10, $f0
/* D2E50 8013C750 44025000 */ mfc1 $v0, $f10
/* D2E54 8013C754 00000000 */ nop
/* D2E58 8013C758 00021400 */ sll $v0, $v0, 0x10
/* D2E5C 8013C75C 00021403 */ sra $v0, $v0, 0x10
/* D2E60 8013C760 44821000 */ mtc1 $v0, $f2
/* D2E64 8013C764 00000000 */ nop
/* D2E68 8013C768 468010A1 */ cvt.d.w $f2, $f2
/* D2E6C 8013C76C 46261082 */ mul.d $f2, $f2, $f6
/* D2E70 8013C770 00000000 */ nop
/* D2E74 8013C774 8D650000 */ lw $a1, ($t3)
/* D2E78 8013C778 94A20008 */ lhu $v0, 8($a1)
/* D2E7C 8013C77C 44820000 */ mtc1 $v0, $f0
/* D2E80 8013C780 00000000 */ nop
/* D2E84 8013C784 46800021 */ cvt.d.w $f0, $f0
/* D2E88 8013C788 46201082 */ mul.d $f2, $f2, $f0
/* D2E8C 8013C78C 00000000 */ nop
/* D2E90 8013C790 8D240000 */ lw $a0, ($t1)
/* D2E94 8013C794 00042080 */ sll $a0, $a0, 2
/* D2E98 8013C798 02442021 */ addu $a0, $s2, $a0
/* D2E9C 8013C79C 8C820068 */ lw $v0, 0x68($a0)
/* D2EA0 8013C7A0 00E21021 */ addu $v0, $a3, $v0
/* D2EA4 8013C7A4 4620128D */ trunc.w.d $f10, $f2
/* D2EA8 8013C7A8 44035000 */ mfc1 $v1, $f10
/* D2EAC 8013C7AC 00000000 */ nop
/* D2EB0 8013C7B0 A4430000 */ sh $v1, ($v0)
/* D2EB4 8013C7B4 84C30002 */ lh $v1, 2($a2)
/* D2EB8 8013C7B8 85020002 */ lh $v0, 2($t0)
/* D2EBC 8013C7BC 00431023 */ subu $v0, $v0, $v1
/* D2EC0 8013C7C0 44821000 */ mtc1 $v0, $f2
/* D2EC4 8013C7C4 00000000 */ nop
/* D2EC8 8013C7C8 468010A0 */ cvt.s.w $f2, $f2
/* D2ECC 8013C7CC 46041082 */ mul.s $f2, $f2, $f4
/* D2ED0 8013C7D0 00000000 */ nop
/* D2ED4 8013C7D4 44830000 */ mtc1 $v1, $f0
/* D2ED8 8013C7D8 00000000 */ nop
/* D2EDC 8013C7DC 46800020 */ cvt.s.w $f0, $f0
/* D2EE0 8013C7E0 46020000 */ add.s $f0, $f0, $f2
/* D2EE4 8013C7E4 4600028D */ trunc.w.s $f10, $f0
/* D2EE8 8013C7E8 44025000 */ mfc1 $v0, $f10
/* D2EEC 8013C7EC 00000000 */ nop
/* D2EF0 8013C7F0 00021400 */ sll $v0, $v0, 0x10
/* D2EF4 8013C7F4 00021403 */ sra $v0, $v0, 0x10
/* D2EF8 8013C7F8 44821000 */ mtc1 $v0, $f2
/* D2EFC 8013C7FC 00000000 */ nop
/* D2F00 8013C800 468010A1 */ cvt.d.w $f2, $f2
/* D2F04 8013C804 46261082 */ mul.d $f2, $f2, $f6
/* D2F08 8013C808 00000000 */ nop
/* D2F0C 8013C80C 94A2000A */ lhu $v0, 0xa($a1)
/* D2F10 8013C810 44820000 */ mtc1 $v0, $f0
/* D2F14 8013C814 00000000 */ nop
/* D2F18 8013C818 46800021 */ cvt.d.w $f0, $f0
/* D2F1C 8013C81C 46201082 */ mul.d $f2, $f2, $f0
/* D2F20 8013C820 00000000 */ nop
/* D2F24 8013C824 8C820068 */ lw $v0, 0x68($a0)
/* D2F28 8013C828 00E21021 */ addu $v0, $a3, $v0
/* D2F2C 8013C82C 4620128D */ trunc.w.d $f10, $f2
/* D2F30 8013C830 44035000 */ mfc1 $v1, $f10
/* D2F34 8013C834 00000000 */ nop
/* D2F38 8013C838 A4430002 */ sh $v1, 2($v0)
/* D2F3C 8013C83C 84C30004 */ lh $v1, 4($a2)
/* D2F40 8013C840 85020004 */ lh $v0, 4($t0)
/* D2F44 8013C844 00431023 */ subu $v0, $v0, $v1
/* D2F48 8013C848 44821000 */ mtc1 $v0, $f2
/* D2F4C 8013C84C 00000000 */ nop
/* D2F50 8013C850 468010A0 */ cvt.s.w $f2, $f2
/* D2F54 8013C854 46041082 */ mul.s $f2, $f2, $f4
/* D2F58 8013C858 00000000 */ nop
/* D2F5C 8013C85C 44830000 */ mtc1 $v1, $f0
/* D2F60 8013C860 00000000 */ nop
/* D2F64 8013C864 46800020 */ cvt.s.w $f0, $f0
/* D2F68 8013C868 46020000 */ add.s $f0, $f0, $f2
/* D2F6C 8013C86C 4600028D */ trunc.w.s $f10, $f0
/* D2F70 8013C870 44025000 */ mfc1 $v0, $f10
/* D2F74 8013C874 00000000 */ nop
/* D2F78 8013C878 00021400 */ sll $v0, $v0, 0x10
/* D2F7C 8013C87C 00021403 */ sra $v0, $v0, 0x10
/* D2F80 8013C880 44821000 */ mtc1 $v0, $f2
/* D2F84 8013C884 00000000 */ nop
/* D2F88 8013C888 468010A1 */ cvt.d.w $f2, $f2
/* D2F8C 8013C88C 46261082 */ mul.d $f2, $f2, $f6
/* D2F90 8013C890 00000000 */ nop
/* D2F94 8013C894 94A3000A */ lhu $v1, 0xa($a1)
/* D2F98 8013C898 94A20008 */ lhu $v0, 8($a1)
/* D2F9C 8013C89C 00431021 */ addu $v0, $v0, $v1
/* D2FA0 8013C8A0 00021043 */ sra $v0, $v0, 1
/* D2FA4 8013C8A4 44820000 */ mtc1 $v0, $f0
/* D2FA8 8013C8A8 00000000 */ nop
/* D2FAC 8013C8AC 46800021 */ cvt.d.w $f0, $f0
/* D2FB0 8013C8B0 46201082 */ mul.d $f2, $f2, $f0
/* D2FB4 8013C8B4 00000000 */ nop
/* D2FB8 8013C8B8 8C820068 */ lw $v0, 0x68($a0)
/* D2FBC 8013C8BC 00E21021 */ addu $v0, $a3, $v0
/* D2FC0 8013C8C0 4620128D */ trunc.w.d $f10, $f2
/* D2FC4 8013C8C4 44035000 */ mfc1 $v1, $f10
/* D2FC8 8013C8C8 00000000 */ nop
.L8013C8CC:
/* D2FCC 8013C8CC A4430004 */ sh $v1, 4($v0)
/* D2FD0 8013C8D0 8E420014 */ lw $v0, 0x14($s2)
/* D2FD4 8013C8D4 3042A000 */ andi $v0, $v0, 0xa000
/* D2FD8 8013C8D8 10400040 */ beqz $v0, .L8013C9DC
/* D2FDC 8013C8DC 00000000 */ nop
/* D2FE0 8013C8E0 80C30008 */ lb $v1, 8($a2)
/* D2FE4 8013C8E4 81020008 */ lb $v0, 8($t0)
/* D2FE8 8013C8E8 00431023 */ subu $v0, $v0, $v1
/* D2FEC 8013C8EC 44821000 */ mtc1 $v0, $f2
/* D2FF0 8013C8F0 00000000 */ nop
/* D2FF4 8013C8F4 468010A0 */ cvt.s.w $f2, $f2
/* D2FF8 8013C8F8 46041082 */ mul.s $f2, $f2, $f4
/* D2FFC 8013C8FC 00000000 */ nop
/* D3000 8013C900 8D220000 */ lw $v0, ($t1)
/* D3004 8013C904 44830000 */ mtc1 $v1, $f0
/* D3008 8013C908 00000000 */ nop
/* D300C 8013C90C 46800020 */ cvt.s.w $f0, $f0
/* D3010 8013C910 00021080 */ sll $v0, $v0, 2
/* D3014 8013C914 02421021 */ addu $v0, $s2, $v0
/* D3018 8013C918 8C420068 */ lw $v0, 0x68($v0)
/* D301C 8013C91C 46020000 */ add.s $f0, $f0, $f2
/* D3020 8013C920 00E21021 */ addu $v0, $a3, $v0
/* D3024 8013C924 4600028D */ trunc.w.s $f10, $f0
/* D3028 8013C928 44035000 */ mfc1 $v1, $f10
/* D302C 8013C92C 00000000 */ nop
/* D3030 8013C930 A043000C */ sb $v1, 0xc($v0)
/* D3034 8013C934 80C30009 */ lb $v1, 9($a2)
/* D3038 8013C938 81020009 */ lb $v0, 9($t0)
/* D303C 8013C93C 00431023 */ subu $v0, $v0, $v1
/* D3040 8013C940 44821000 */ mtc1 $v0, $f2
/* D3044 8013C944 00000000 */ nop
/* D3048 8013C948 468010A0 */ cvt.s.w $f2, $f2
/* D304C 8013C94C 46041082 */ mul.s $f2, $f2, $f4
/* D3050 8013C950 00000000 */ nop
/* D3054 8013C954 8D220000 */ lw $v0, ($t1)
/* D3058 8013C958 44830000 */ mtc1 $v1, $f0
/* D305C 8013C95C 00000000 */ nop
/* D3060 8013C960 46800020 */ cvt.s.w $f0, $f0
/* D3064 8013C964 00021080 */ sll $v0, $v0, 2
/* D3068 8013C968 02421021 */ addu $v0, $s2, $v0
/* D306C 8013C96C 8C420068 */ lw $v0, 0x68($v0)
/* D3070 8013C970 46020000 */ add.s $f0, $f0, $f2
/* D3074 8013C974 00E21021 */ addu $v0, $a3, $v0
/* D3078 8013C978 4600028D */ trunc.w.s $f10, $f0
/* D307C 8013C97C 44035000 */ mfc1 $v1, $f10
/* D3080 8013C980 00000000 */ nop
/* D3084 8013C984 A043000D */ sb $v1, 0xd($v0)
/* D3088 8013C988 80C3000A */ lb $v1, 0xa($a2)
/* D308C 8013C98C 8102000A */ lb $v0, 0xa($t0)
/* D3090 8013C990 00431023 */ subu $v0, $v0, $v1
/* D3094 8013C994 44821000 */ mtc1 $v0, $f2
/* D3098 8013C998 00000000 */ nop
/* D309C 8013C99C 468010A0 */ cvt.s.w $f2, $f2
/* D30A0 8013C9A0 46041082 */ mul.s $f2, $f2, $f4
/* D30A4 8013C9A4 00000000 */ nop
/* D30A8 8013C9A8 8D220000 */ lw $v0, ($t1)
/* D30AC 8013C9AC 44830000 */ mtc1 $v1, $f0
/* D30B0 8013C9B0 00000000 */ nop
/* D30B4 8013C9B4 46800020 */ cvt.s.w $f0, $f0
/* D30B8 8013C9B8 00021080 */ sll $v0, $v0, 2
/* D30BC 8013C9BC 02421021 */ addu $v0, $s2, $v0
/* D30C0 8013C9C0 8C420068 */ lw $v0, 0x68($v0)
/* D30C4 8013C9C4 46020000 */ add.s $f0, $f0, $f2
/* D30C8 8013C9C8 00E21021 */ addu $v0, $a3, $v0
/* D30CC 8013C9CC 4600028D */ trunc.w.s $f10, $f0
/* D30D0 8013C9D0 44035000 */ mfc1 $v1, $f10
/* D30D4 8013C9D4 0804F321 */ j .L8013CC84
/* D30D8 8013C9D8 A043000E */ sb $v1, 0xe($v0)
.L8013C9DC:
/* D30DC 8013C9DC 90C30006 */ lbu $v1, 6($a2)
/* D30E0 8013C9E0 90C20007 */ lbu $v0, 7($a2)
/* D30E4 8013C9E4 3C018015 */ lui $at, %hi(D_801510F0)
/* D30E8 8013C9E8 D42210F0 */ ldc1 $f2, %lo(D_801510F0)($at)
/* D30EC 8013C9EC 00621821 */ addu $v1, $v1, $v0
/* D30F0 8013C9F0 44830000 */ mtc1 $v1, $f0
/* D30F4 8013C9F4 00000000 */ nop
/* D30F8 8013C9F8 46800021 */ cvt.d.w $f0, $f0
/* D30FC 8013C9FC 46220002 */ mul.d $f0, $f0, $f2
/* D3100 8013CA00 00000000 */ nop
/* D3104 8013CA04 8D220000 */ lw $v0, ($t1)
/* D3108 8013CA08 00021080 */ sll $v0, $v0, 2
/* D310C 8013CA0C 02421021 */ addu $v0, $s2, $v0
/* D3110 8013CA10 8C420068 */ lw $v0, 0x68($v0)
/* D3114 8013CA14 3C01406E */ lui $at, 0x406e
/* D3118 8013CA18 44811800 */ mtc1 $at, $f3
/* D311C 8013CA1C 44801000 */ mtc1 $zero, $f2
/* D3120 8013CA20 00E21021 */ addu $v0, $a3, $v0
/* D3124 8013CA24 2445000C */ addiu $a1, $v0, 0xc
/* D3128 8013CA28 46201001 */ sub.d $f0, $f2, $f0
/* D312C 8013CA2C 2444000D */ addiu $a0, $v0, 0xd
/* D3130 8013CA30 4620403E */ c.le.d $f8, $f0
/* D3134 8013CA34 00000000 */ nop
/* D3138 8013CA38 45000086 */ bc1f .L8013CC54
/* D313C 8013CA3C 2442000E */ addiu $v0, $v0, 0xe
/* D3140 8013CA40 0804F31A */ j .L8013CC68
/* D3144 8013CA44 46280001 */ sub.d $f0, $f0, $f8
.L8013CA48:
/* D3148 8013CA48 9662000E */ lhu $v0, 0xe($s3)
/* D314C 8013CA4C 30420001 */ andi $v0, $v0, 1
/* D3150 8013CA50 10400010 */ beqz $v0, .L8013CA94
/* D3154 8013CA54 00000000 */ nop
/* D3158 8013CA58 8D230000 */ lw $v1, ($t1)
/* D315C 8013CA5C 00031880 */ sll $v1, $v1, 2
/* D3160 8013CA60 02431821 */ addu $v1, $s2, $v1
/* D3164 8013CA64 8C620068 */ lw $v0, 0x68($v1)
/* D3168 8013CA68 94C40000 */ lhu $a0, ($a2)
/* D316C 8013CA6C 00E21021 */ addu $v0, $a3, $v0
/* D3170 8013CA70 A4440000 */ sh $a0, ($v0)
/* D3174 8013CA74 8C620068 */ lw $v0, 0x68($v1)
/* D3178 8013CA78 94C40002 */ lhu $a0, 2($a2)
/* D317C 8013CA7C 00E21021 */ addu $v0, $a3, $v0
/* D3180 8013CA80 A4440002 */ sh $a0, 2($v0)
/* D3184 8013CA84 8C620068 */ lw $v0, 0x68($v1)
/* D3188 8013CA88 94C30004 */ lhu $v1, 4($a2)
/* D318C 8013CA8C 0804F2E1 */ j .L8013CB84
/* D3190 8013CA90 00E21021 */ addu $v0, $a3, $v0
.L8013CA94:
/* D3194 8013CA94 84C20000 */ lh $v0, ($a2)
/* D3198 8013CA98 44821000 */ mtc1 $v0, $f2
/* D319C 8013CA9C 00000000 */ nop
/* D31A0 8013CAA0 468010A1 */ cvt.d.w $f2, $f2
/* D31A4 8013CAA4 46261082 */ mul.d $f2, $f2, $f6
/* D31A8 8013CAA8 00000000 */ nop
/* D31AC 8013CAAC 8D650000 */ lw $a1, ($t3)
/* D31B0 8013CAB0 94A20008 */ lhu $v0, 8($a1)
/* D31B4 8013CAB4 44820000 */ mtc1 $v0, $f0
/* D31B8 8013CAB8 00000000 */ nop
/* D31BC 8013CABC 46800021 */ cvt.d.w $f0, $f0
/* D31C0 8013CAC0 46201082 */ mul.d $f2, $f2, $f0
/* D31C4 8013CAC4 00000000 */ nop
/* D31C8 8013CAC8 8D240000 */ lw $a0, ($t1)
/* D31CC 8013CACC 00042080 */ sll $a0, $a0, 2
/* D31D0 8013CAD0 02442021 */ addu $a0, $s2, $a0
/* D31D4 8013CAD4 8C820068 */ lw $v0, 0x68($a0)
/* D31D8 8013CAD8 00E21021 */ addu $v0, $a3, $v0
/* D31DC 8013CADC 4620128D */ trunc.w.d $f10, $f2
/* D31E0 8013CAE0 44035000 */ mfc1 $v1, $f10
/* D31E4 8013CAE4 00000000 */ nop
/* D31E8 8013CAE8 A4430000 */ sh $v1, ($v0)
/* D31EC 8013CAEC 84C20002 */ lh $v0, 2($a2)
/* D31F0 8013CAF0 44821000 */ mtc1 $v0, $f2
/* D31F4 8013CAF4 00000000 */ nop
/* D31F8 8013CAF8 468010A1 */ cvt.d.w $f2, $f2
/* D31FC 8013CAFC 46261082 */ mul.d $f2, $f2, $f6
/* D3200 8013CB00 00000000 */ nop
/* D3204 8013CB04 94A2000A */ lhu $v0, 0xa($a1)
/* D3208 8013CB08 44820000 */ mtc1 $v0, $f0
/* D320C 8013CB0C 00000000 */ nop
/* D3210 8013CB10 46800021 */ cvt.d.w $f0, $f0
/* D3214 8013CB14 46201082 */ mul.d $f2, $f2, $f0
/* D3218 8013CB18 00000000 */ nop
/* D321C 8013CB1C 8C820068 */ lw $v0, 0x68($a0)
/* D3220 8013CB20 00E21021 */ addu $v0, $a3, $v0
/* D3224 8013CB24 4620128D */ trunc.w.d $f10, $f2
/* D3228 8013CB28 44035000 */ mfc1 $v1, $f10
/* D322C 8013CB2C 00000000 */ nop
/* D3230 8013CB30 A4430002 */ sh $v1, 2($v0)
/* D3234 8013CB34 84C20004 */ lh $v0, 4($a2)
/* D3238 8013CB38 44821000 */ mtc1 $v0, $f2
/* D323C 8013CB3C 00000000 */ nop
/* D3240 8013CB40 468010A1 */ cvt.d.w $f2, $f2
/* D3244 8013CB44 46261082 */ mul.d $f2, $f2, $f6
/* D3248 8013CB48 00000000 */ nop
/* D324C 8013CB4C 94A3000A */ lhu $v1, 0xa($a1)
/* D3250 8013CB50 94A20008 */ lhu $v0, 8($a1)
/* D3254 8013CB54 00431021 */ addu $v0, $v0, $v1
/* D3258 8013CB58 00021043 */ sra $v0, $v0, 1
/* D325C 8013CB5C 44820000 */ mtc1 $v0, $f0
/* D3260 8013CB60 00000000 */ nop
/* D3264 8013CB64 46800021 */ cvt.d.w $f0, $f0
/* D3268 8013CB68 46201082 */ mul.d $f2, $f2, $f0
/* D326C 8013CB6C 00000000 */ nop
/* D3270 8013CB70 8C820068 */ lw $v0, 0x68($a0)
/* D3274 8013CB74 00E21021 */ addu $v0, $a3, $v0
/* D3278 8013CB78 4620128D */ trunc.w.d $f10, $f2
/* D327C 8013CB7C 44035000 */ mfc1 $v1, $f10
/* D3280 8013CB80 00000000 */ nop
.L8013CB84:
/* D3284 8013CB84 A4430004 */ sh $v1, 4($v0)
/* D3288 8013CB88 8E420014 */ lw $v0, 0x14($s2)
/* D328C 8013CB8C 3042A000 */ andi $v0, $v0, 0xa000
/* D3290 8013CB90 10400017 */ beqz $v0, .L8013CBF0
/* D3294 8013CB94 00000000 */ nop
/* D3298 8013CB98 8D220000 */ lw $v0, ($t1)
/* D329C 8013CB9C 00021080 */ sll $v0, $v0, 2
/* D32A0 8013CBA0 02421021 */ addu $v0, $s2, $v0
/* D32A4 8013CBA4 8C420068 */ lw $v0, 0x68($v0)
/* D32A8 8013CBA8 90C30008 */ lbu $v1, 8($a2)
/* D32AC 8013CBAC 00E21021 */ addu $v0, $a3, $v0
/* D32B0 8013CBB0 A043000C */ sb $v1, 0xc($v0)
/* D32B4 8013CBB4 8D220000 */ lw $v0, ($t1)
/* D32B8 8013CBB8 00021080 */ sll $v0, $v0, 2
/* D32BC 8013CBBC 02421021 */ addu $v0, $s2, $v0
/* D32C0 8013CBC0 8C420068 */ lw $v0, 0x68($v0)
/* D32C4 8013CBC4 90C30009 */ lbu $v1, 9($a2)
/* D32C8 8013CBC8 00E21021 */ addu $v0, $a3, $v0
/* D32CC 8013CBCC A043000D */ sb $v1, 0xd($v0)
/* D32D0 8013CBD0 8D220000 */ lw $v0, ($t1)
/* D32D4 8013CBD4 00021080 */ sll $v0, $v0, 2
/* D32D8 8013CBD8 02421021 */ addu $v0, $s2, $v0
/* D32DC 8013CBDC 8C420068 */ lw $v0, 0x68($v0)
/* D32E0 8013CBE0 90C3000A */ lbu $v1, 0xa($a2)
/* D32E4 8013CBE4 00E21021 */ addu $v0, $a3, $v0
/* D32E8 8013CBE8 0804F321 */ j .L8013CC84
/* D32EC 8013CBEC A043000E */ sb $v1, 0xe($v0)
.L8013CBF0:
/* D32F0 8013CBF0 90C30006 */ lbu $v1, 6($a2)
/* D32F4 8013CBF4 90C20007 */ lbu $v0, 7($a2)
/* D32F8 8013CBF8 3C018015 */ lui $at, %hi(D_801510F8)
/* D32FC 8013CBFC D42210F8 */ ldc1 $f2, %lo(D_801510F8)($at)
/* D3300 8013CC00 00621821 */ addu $v1, $v1, $v0
/* D3304 8013CC04 44830000 */ mtc1 $v1, $f0
/* D3308 8013CC08 00000000 */ nop
/* D330C 8013CC0C 46800021 */ cvt.d.w $f0, $f0
/* D3310 8013CC10 46220002 */ mul.d $f0, $f0, $f2
/* D3314 8013CC14 00000000 */ nop
/* D3318 8013CC18 8D220000 */ lw $v0, ($t1)
/* D331C 8013CC1C 00021080 */ sll $v0, $v0, 2
/* D3320 8013CC20 02421021 */ addu $v0, $s2, $v0
/* D3324 8013CC24 8C420068 */ lw $v0, 0x68($v0)
/* D3328 8013CC28 3C01406E */ lui $at, 0x406e
/* D332C 8013CC2C 44811800 */ mtc1 $at, $f3
/* D3330 8013CC30 44801000 */ mtc1 $zero, $f2
/* D3334 8013CC34 00E21021 */ addu $v0, $a3, $v0
/* D3338 8013CC38 2445000C */ addiu $a1, $v0, 0xc
/* D333C 8013CC3C 46201001 */ sub.d $f0, $f2, $f0
/* D3340 8013CC40 2444000D */ addiu $a0, $v0, 0xd
/* D3344 8013CC44 4620403E */ c.le.d $f8, $f0
/* D3348 8013CC48 00000000 */ nop
/* D334C 8013CC4C 45010005 */ bc1t .L8013CC64
/* D3350 8013CC50 2442000E */ addiu $v0, $v0, 0xe
.L8013CC54:
/* D3354 8013CC54 4620028D */ trunc.w.d $f10, $f0
/* D3358 8013CC58 44035000 */ mfc1 $v1, $f10
/* D335C 8013CC5C 0804F31F */ j .L8013CC7C
/* D3360 8013CC60 A0430000 */ sb $v1, ($v0)
.L8013CC64:
/* D3364 8013CC64 46280001 */ sub.d $f0, $f0, $f8
.L8013CC68:
/* D3368 8013CC68 4620028D */ trunc.w.d $f10, $f0
/* D336C 8013CC6C 44035000 */ mfc1 $v1, $f10
/* D3370 8013CC70 00000000 */ nop
/* D3374 8013CC74 006C1825 */ or $v1, $v1, $t4
/* D3378 8013CC78 A0430000 */ sb $v1, ($v0)
.L8013CC7C:
/* D337C 8013CC7C A0830000 */ sb $v1, ($a0)
/* D3380 8013CC80 A0A30000 */ sb $v1, ($a1)
.L8013CC84:
/* D3384 8013CC84 9662000E */ lhu $v0, 0xe($s3)
/* D3388 8013CC88 30420001 */ andi $v0, $v0, 1
/* D338C 8013CC8C 1040000E */ beqz $v0, .L8013CCC8
/* D3390 8013CC90 00000000 */ nop
/* D3394 8013CC94 8D240000 */ lw $a0, ($t1)
/* D3398 8013CC98 90C20006 */ lbu $v0, 6($a2)
/* D339C 8013CC9C 00042080 */ sll $a0, $a0, 2
/* D33A0 8013CCA0 02442021 */ addu $a0, $s2, $a0
/* D33A4 8013CCA4 24420100 */ addiu $v0, $v0, 0x100
/* D33A8 8013CCA8 8C830068 */ lw $v1, 0x68($a0)
/* D33AC 8013CCAC 00021140 */ sll $v0, $v0, 5
/* D33B0 8013CCB0 00E31821 */ addu $v1, $a3, $v1
/* D33B4 8013CCB4 A4620008 */ sh $v0, 8($v1)
/* D33B8 8013CCB8 8C830068 */ lw $v1, 0x68($a0)
/* D33BC 8013CCBC 90C20007 */ lbu $v0, 7($a2)
/* D33C0 8013CCC0 0804F35B */ j .L8013CD6C
/* D33C4 8013CCC4 00E31821 */ addu $v1, $a3, $v1
.L8013CCC8:
/* D33C8 8013CCC8 90C20006 */ lbu $v0, 6($a2)
/* D33CC 8013CCCC 44821000 */ mtc1 $v0, $f2
/* D33D0 8013CCD0 00000000 */ nop
/* D33D4 8013CCD4 468010A1 */ cvt.d.w $f2, $f2
/* D33D8 8013CCD8 46261082 */ mul.d $f2, $f2, $f6
/* D33DC 8013CCDC 00000000 */ nop
/* D33E0 8013CCE0 8D650000 */ lw $a1, ($t3)
/* D33E4 8013CCE4 94A20008 */ lhu $v0, 8($a1)
/* D33E8 8013CCE8 44820000 */ mtc1 $v0, $f0
/* D33EC 8013CCEC 00000000 */ nop
/* D33F0 8013CCF0 46800021 */ cvt.d.w $f0, $f0
/* D33F4 8013CCF4 46201082 */ mul.d $f2, $f2, $f0
/* D33F8 8013CCF8 00000000 */ nop
/* D33FC 8013CCFC 8D240000 */ lw $a0, ($t1)
/* D3400 8013CD00 00042080 */ sll $a0, $a0, 2
/* D3404 8013CD04 02442021 */ addu $a0, $s2, $a0
/* D3408 8013CD08 8C830068 */ lw $v1, 0x68($a0)
/* D340C 8013CD0C 00E31821 */ addu $v1, $a3, $v1
/* D3410 8013CD10 4620128D */ trunc.w.d $f10, $f2
/* D3414 8013CD14 44025000 */ mfc1 $v0, $f10
/* D3418 8013CD18 00000000 */ nop
/* D341C 8013CD1C 24420100 */ addiu $v0, $v0, 0x100
/* D3420 8013CD20 00021140 */ sll $v0, $v0, 5
/* D3424 8013CD24 A4620008 */ sh $v0, 8($v1)
/* D3428 8013CD28 90C20007 */ lbu $v0, 7($a2)
/* D342C 8013CD2C 44821000 */ mtc1 $v0, $f2
/* D3430 8013CD30 00000000 */ nop
/* D3434 8013CD34 468010A1 */ cvt.d.w $f2, $f2
/* D3438 8013CD38 46261082 */ mul.d $f2, $f2, $f6
/* D343C 8013CD3C 00000000 */ nop
/* D3440 8013CD40 94A2000A */ lhu $v0, 0xa($a1)
/* D3444 8013CD44 44820000 */ mtc1 $v0, $f0
/* D3448 8013CD48 00000000 */ nop
/* D344C 8013CD4C 46800021 */ cvt.d.w $f0, $f0
/* D3450 8013CD50 46201082 */ mul.d $f2, $f2, $f0
/* D3454 8013CD54 00000000 */ nop
/* D3458 8013CD58 8C830068 */ lw $v1, 0x68($a0)
/* D345C 8013CD5C 00E31821 */ addu $v1, $a3, $v1
/* D3460 8013CD60 4620128D */ trunc.w.d $f10, $f2
/* D3464 8013CD64 44025000 */ mfc1 $v0, $f10
/* D3468 8013CD68 00000000 */ nop
.L8013CD6C:
/* D346C 8013CD6C 24420100 */ addiu $v0, $v0, 0x100
/* D3470 8013CD70 00021140 */ sll $v0, $v0, 5
/* D3474 8013CD74 A462000A */ sh $v0, 0xa($v1)
/* D3478 8013CD78 24C6000C */ addiu $a2, $a2, 0xc
/* D347C 8013CD7C 24E70010 */ addiu $a3, $a3, 0x10
/* D3480 8013CD80 96620008 */ lhu $v0, 8($s3)
/* D3484 8013CD84 254A0001 */ addiu $t2, $t2, 1
/* D3488 8013CD88 0142102A */ slt $v0, $t2, $v0
/* D348C 8013CD8C 1440FE21 */ bnez $v0, .L8013C614
/* D3490 8013CD90 2508000C */ addiu $t0, $t0, 0xc
.L8013CD94:
/* D3494 8013CD94 A6400008 */ sh $zero, 8($s2)
/* D3498 8013CD98 96620008 */ lhu $v0, 8($s3)
/* D349C 8013CD9C 03C0202D */ daddu $a0, $fp, $zero
/* D34A0 8013CDA0 2442FFFF */ addiu $v0, $v0, -1
/* D34A4 8013CDA4 0C00AB4B */ jal heap_free
/* D34A8 8013CDA8 A642000A */ sh $v0, 0xa($s2)
/* D34AC 8013CDAC 12E00003 */ beqz $s7, .L8013CDBC
/* D34B0 8013CDB0 00000000 */ nop
/* D34B4 8013CDB4 0C00AB4B */ jal heap_free
/* D34B8 8013CDB8 02E0202D */ daddu $a0, $s7, $zero
.L8013CDBC:
/* D34BC 8013CDBC 8FAD0014 */ lw $t5, 0x14($sp)
/* D34C0 8013CDC0 11A0006D */ beqz $t5, .L8013CF78
/* D34C4 8013CDC4 00000000 */ nop
/* D34C8 8013CDC8 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* D34CC 8013CDCC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* D34D0 8013CDD0 94420134 */ lhu $v0, 0x134($v0)
/* D34D4 8013CDD4 15A00002 */ bnez $t5, .L8013CDE0
/* D34D8 8013CDD8 004D001A */ div $zero, $v0, $t5
/* D34DC 8013CDDC 0007000D */ break 7
.L8013CDE0:
/* D34E0 8013CDE0 2401FFFF */ addiu $at, $zero, -1
/* D34E4 8013CDE4 15A10004 */ bne $t5, $at, .L8013CDF8
/* D34E8 8013CDE8 3C018000 */ lui $at, 0x8000
/* D34EC 8013CDEC 14410002 */ bne $v0, $at, .L8013CDF8
/* D34F0 8013CDF0 00000000 */ nop
/* D34F4 8013CDF4 0006000D */ break 6
.L8013CDF8:
/* D34F8 8013CDF8 00001810 */ mfhi $v1
/* D34FC 8013CDFC 1460005E */ bnez $v1, .L8013CF78
/* D3500 8013CE00 00000000 */ nop
/* D3504 8013CE04 1A800027 */ blez $s4, .L8013CEA4
/* D3508 8013CE08 00000000 */ nop
/* D350C 8013CE0C 26D60001 */ addiu $s6, $s6, 1
/* D3510 8013CE10 02D4102A */ slt $v0, $s6, $s4
/* D3514 8013CE14 14400050 */ bnez $v0, .L8013CF58
/* D3518 8013CE18 00000000 */ nop
/* D351C 8013CE1C 8E430014 */ lw $v1, 0x14($s2)
/* D3520 8013CE20 30620100 */ andi $v0, $v1, 0x100
/* D3524 8013CE24 5040000E */ beql $v0, $zero, .L8013CE60
/* D3528 8013CE28 26310001 */ addiu $s1, $s1, 1
/* D352C 8013CE2C 2631FFFF */ addiu $s1, $s1, -1
/* D3530 8013CE30 06230049 */ bgezl $s1, .L8013CF58
/* D3534 8013CE34 0000B02D */ daddu $s6, $zero, $zero
/* D3538 8013CE38 30620080 */ andi $v0, $v1, 0x80
/* D353C 8013CE3C 10400004 */ beqz $v0, .L8013CE50
/* D3540 8013CE40 30620800 */ andi $v0, $v1, 0x800
/* D3544 8013CE44 9662000C */ lhu $v0, 0xc($s3)
/* D3548 8013CE48 0804F3A7 */ j .L8013CE9C
/* D354C 8013CE4C 2451FFFF */ addiu $s1, $v0, -1
.L8013CE50:
/* D3550 8013CE50 10400010 */ beqz $v0, .L8013CE94
/* D3554 8013CE54 34624000 */ ori $v0, $v1, 0x4000
/* D3558 8013CE58 0804F3A6 */ j .L8013CE98
/* D355C 8013CE5C 0000882D */ daddu $s1, $zero, $zero
.L8013CE60:
/* D3560 8013CE60 9662000C */ lhu $v0, 0xc($s3)
/* D3564 8013CE64 0222102A */ slt $v0, $s1, $v0
/* D3568 8013CE68 1440003B */ bnez $v0, .L8013CF58
/* D356C 8013CE6C 0000B02D */ daddu $s6, $zero, $zero
/* D3570 8013CE70 30620080 */ andi $v0, $v1, 0x80
/* D3574 8013CE74 10400003 */ beqz $v0, .L8013CE84
/* D3578 8013CE78 30620800 */ andi $v0, $v1, 0x800
/* D357C 8013CE7C 0804F3D6 */ j .L8013CF58
/* D3580 8013CE80 0000882D */ daddu $s1, $zero, $zero
.L8013CE84:
/* D3584 8013CE84 10400003 */ beqz $v0, .L8013CE94
/* D3588 8013CE88 34624000 */ ori $v0, $v1, 0x4000
/* D358C 8013CE8C 0804F3A6 */ j .L8013CE98
/* D3590 8013CE90 2631FFFF */ addiu $s1, $s1, -1
.L8013CE94:
/* D3594 8013CE94 34621000 */ ori $v0, $v1, 0x1000
.L8013CE98:
/* D3598 8013CE98 AE420014 */ sw $v0, 0x14($s2)
.L8013CE9C:
/* D359C 8013CE9C 0804F3D6 */ j .L8013CF58
/* D35A0 8013CEA0 0000B02D */ daddu $s6, $zero, $zero
.L8013CEA4:
/* D35A4 8013CEA4 0681002C */ bgez $s4, .L8013CF58
/* D35A8 8013CEA8 00000000 */ nop
/* D35AC 8013CEAC 8E440014 */ lw $a0, 0x14($s2)
/* D35B0 8013CEB0 30820100 */ andi $v0, $a0, 0x100
/* D35B4 8013CEB4 1040000E */ beqz $v0, .L8013CEF0
/* D35B8 8013CEB8 00000000 */ nop
/* D35BC 8013CEBC 8FAD0010 */ lw $t5, 0x10($sp)
/* D35C0 8013CEC0 022D8823 */ subu $s1, $s1, $t5
/* D35C4 8013CEC4 06210024 */ bgez $s1, .L8013CF58
/* D35C8 8013CEC8 30820080 */ andi $v0, $a0, 0x80
/* D35CC 8013CECC 10400004 */ beqz $v0, .L8013CEE0
/* D35D0 8013CED0 30820800 */ andi $v0, $a0, 0x800
/* D35D4 8013CED4 9662000C */ lhu $v0, 0xc($s3)
/* D35D8 8013CED8 0804F3D6 */ j .L8013CF58
/* D35DC 8013CEDC 02228821 */ addu $s1, $s1, $v0
.L8013CEE0:
/* D35E0 8013CEE0 1040001B */ beqz $v0, .L8013CF50
/* D35E4 8013CEE4 34824000 */ ori $v0, $a0, 0x4000
/* D35E8 8013CEE8 0804F3D5 */ j .L8013CF54
/* D35EC 8013CEEC 0000882D */ daddu $s1, $zero, $zero
.L8013CEF0:
/* D35F0 8013CEF0 8FAD0010 */ lw $t5, 0x10($sp)
/* D35F4 8013CEF4 9663000C */ lhu $v1, 0xc($s3)
/* D35F8 8013CEF8 022D8821 */ addu $s1, $s1, $t5
/* D35FC 8013CEFC 0223102A */ slt $v0, $s1, $v1
/* D3600 8013CF00 14400015 */ bnez $v0, .L8013CF58
/* D3604 8013CF04 30820080 */ andi $v0, $a0, 0x80
/* D3608 8013CF08 1040000D */ beqz $v0, .L8013CF40
/* D360C 8013CF0C 30820800 */ andi $v0, $a0, 0x800
/* D3610 8013CF10 14600002 */ bnez $v1, .L8013CF1C
/* D3614 8013CF14 0223001A */ div $zero, $s1, $v1
/* D3618 8013CF18 0007000D */ break 7
.L8013CF1C:
/* D361C 8013CF1C 2401FFFF */ addiu $at, $zero, -1
/* D3620 8013CF20 14610004 */ bne $v1, $at, .L8013CF34
/* D3624 8013CF24 3C018000 */ lui $at, 0x8000
/* D3628 8013CF28 16210002 */ bne $s1, $at, .L8013CF34
/* D362C 8013CF2C 00000000 */ nop
/* D3630 8013CF30 0006000D */ break 6
.L8013CF34:
/* D3634 8013CF34 00008810 */ mfhi $s1
/* D3638 8013CF38 0804F3D6 */ j .L8013CF58
/* D363C 8013CF3C 00000000 */ nop
.L8013CF40:
/* D3640 8013CF40 10400003 */ beqz $v0, .L8013CF50
/* D3644 8013CF44 34824000 */ ori $v0, $a0, 0x4000
/* D3648 8013CF48 0804F3D5 */ j .L8013CF54
/* D364C 8013CF4C 2471FFFF */ addiu $s1, $v1, -1
.L8013CF50:
/* D3650 8013CF50 34821000 */ ori $v0, $a0, 0x1000
.L8013CF54:
/* D3654 8013CF54 AE420014 */ sw $v0, 0x14($s2)
.L8013CF58:
/* D3658 8013CF58 44960000 */ mtc1 $s6, $f0
/* D365C 8013CF5C 00000000 */ nop
/* D3660 8013CF60 46800020 */ cvt.s.w $f0, $f0
/* D3664 8013CF64 E640003C */ swc1 $f0, 0x3c($s2)
/* D3668 8013CF68 44910000 */ mtc1 $s1, $f0
/* D366C 8013CF6C 00000000 */ nop
/* D3670 8013CF70 46800020 */ cvt.s.w $f0, $f0
/* D3674 8013CF74 E6400040 */ swc1 $f0, 0x40($s2)
.L8013CF78:
/* D3678 8013CF78 8FBF003C */ lw $ra, 0x3c($sp)
/* D367C 8013CF7C 8FBE0038 */ lw $fp, 0x38($sp)
/* D3680 8013CF80 8FB70034 */ lw $s7, 0x34($sp)
/* D3684 8013CF84 8FB60030 */ lw $s6, 0x30($sp)
/* D3688 8013CF88 8FB5002C */ lw $s5, 0x2c($sp)
/* D368C 8013CF8C 8FB40028 */ lw $s4, 0x28($sp)
/* D3690 8013CF90 8FB30024 */ lw $s3, 0x24($sp)
/* D3694 8013CF94 8FB20020 */ lw $s2, 0x20($sp)
/* D3698 8013CF98 8FB1001C */ lw $s1, 0x1c($sp)
/* D369C 8013CF9C 8FB00018 */ lw $s0, 0x18($sp)
/* D36A0 8013CFA0 03E00008 */ jr $ra
/* D36A4 8013CFA4 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,544 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8013DAB4
/* D41B4 8013DAB4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* D41B8 8013DAB8 AFB40038 */ sw $s4, 0x38($sp)
/* D41BC 8013DABC 0080A02D */ daddu $s4, $a0, $zero
/* D41C0 8013DAC0 AFBF004C */ sw $ra, 0x4c($sp)
/* D41C4 8013DAC4 AFBE0048 */ sw $fp, 0x48($sp)
/* D41C8 8013DAC8 AFB70044 */ sw $s7, 0x44($sp)
/* D41CC 8013DACC AFB60040 */ sw $s6, 0x40($sp)
/* D41D0 8013DAD0 AFB5003C */ sw $s5, 0x3c($sp)
/* D41D4 8013DAD4 AFB30034 */ sw $s3, 0x34($sp)
/* D41D8 8013DAD8 AFB20030 */ sw $s2, 0x30($sp)
/* D41DC 8013DADC AFB1002C */ sw $s1, 0x2c($sp)
/* D41E0 8013DAE0 AFB00028 */ sw $s0, 0x28($sp)
/* D41E4 8013DAE4 AFA50054 */ sw $a1, 0x54($sp)
/* D41E8 8013DAE8 8E820014 */ lw $v0, 0x14($s4)
/* D41EC 8013DAEC 30420020 */ andi $v0, $v0, 0x20
/* D41F0 8013DAF0 14400030 */ bnez $v0, .L8013DBB4
/* D41F4 8013DAF4 3C03E300 */ lui $v1, 0xe300
/* D41F8 8013DAF8 34631001 */ ori $v1, $v1, 0x1001
/* D41FC 8013DAFC 3C06F500 */ lui $a2, 0xf500
/* D4200 8013DB00 34C60100 */ ori $a2, $a2, 0x100
/* D4204 8013DB04 3C070703 */ lui $a3, 0x703
/* D4208 8013DB08 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* D420C 8013DB0C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* D4210 8013DB10 8C820000 */ lw $v0, ($a0)
/* D4214 8013DB14 34E7C000 */ ori $a3, $a3, 0xc000
/* D4218 8013DB18 0040282D */ daddu $a1, $v0, $zero
/* D421C 8013DB1C 24420008 */ addiu $v0, $v0, 8
/* D4220 8013DB20 AC820000 */ sw $v0, ($a0)
/* D4224 8013DB24 ACA30000 */ sw $v1, ($a1)
/* D4228 8013DB28 34038000 */ ori $v1, $zero, 0x8000
/* D422C 8013DB2C ACA30004 */ sw $v1, 4($a1)
/* D4230 8013DB30 24430008 */ addiu $v1, $v0, 8
/* D4234 8013DB34 AC830000 */ sw $v1, ($a0)
/* D4238 8013DB38 3C058015 */ lui $a1, %hi(fold_currentImage)
/* D423C 8013DB3C 8CA5EE10 */ lw $a1, %lo(fold_currentImage)($a1)
/* D4240 8013DB40 3C03FD10 */ lui $v1, 0xfd10
/* D4244 8013DB44 AC430000 */ sw $v1, ($v0)
/* D4248 8013DB48 24430010 */ addiu $v1, $v0, 0x10
/* D424C 8013DB4C AC830000 */ sw $v1, ($a0)
/* D4250 8013DB50 8CA50004 */ lw $a1, 4($a1)
/* D4254 8013DB54 3C03E800 */ lui $v1, 0xe800
/* D4258 8013DB58 AC430008 */ sw $v1, 8($v0)
/* D425C 8013DB5C 24430018 */ addiu $v1, $v0, 0x18
/* D4260 8013DB60 AC40000C */ sw $zero, 0xc($v0)
/* D4264 8013DB64 AC830000 */ sw $v1, ($a0)
/* D4268 8013DB68 3C030700 */ lui $v1, 0x700
/* D426C 8013DB6C AC430014 */ sw $v1, 0x14($v0)
/* D4270 8013DB70 24430020 */ addiu $v1, $v0, 0x20
/* D4274 8013DB74 AC460010 */ sw $a2, 0x10($v0)
/* D4278 8013DB78 AC830000 */ sw $v1, ($a0)
/* D427C 8013DB7C 3C03E600 */ lui $v1, 0xe600
/* D4280 8013DB80 AC430018 */ sw $v1, 0x18($v0)
/* D4284 8013DB84 24430028 */ addiu $v1, $v0, 0x28
/* D4288 8013DB88 AC40001C */ sw $zero, 0x1c($v0)
/* D428C 8013DB8C AC830000 */ sw $v1, ($a0)
/* D4290 8013DB90 3C03F000 */ lui $v1, 0xf000
/* D4294 8013DB94 AC430020 */ sw $v1, 0x20($v0)
/* D4298 8013DB98 24430030 */ addiu $v1, $v0, 0x30
/* D429C 8013DB9C AC470024 */ sw $a3, 0x24($v0)
/* D42A0 8013DBA0 AC830000 */ sw $v1, ($a0)
/* D42A4 8013DBA4 3C03E700 */ lui $v1, 0xe700
/* D42A8 8013DBA8 AC430028 */ sw $v1, 0x28($v0)
/* D42AC 8013DBAC AC40002C */ sw $zero, 0x2c($v0)
/* D42B0 8013DBB0 AC450004 */ sw $a1, 4($v0)
.L8013DBB4:
/* D42B4 8013DBB4 92820004 */ lbu $v0, 4($s4)
/* D42B8 8013DBB8 968E0008 */ lhu $t6, 8($s4)
/* D42BC 8013DBBC 104001C0 */ beqz $v0, .L8013E2C0
/* D42C0 8013DBC0 0000A82D */ daddu $s5, $zero, $zero
/* D42C4 8013DBC4 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* D42C8 8013DBC8 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* D42CC 8013DBCC 3C1EF540 */ lui $fp, 0xf540
/* D42D0 8013DBD0 3C17F200 */ lui $s7, 0xf200
.L8013DBD4:
/* D42D4 8013DBD4 92830003 */ lbu $v1, 3($s4)
/* D42D8 8013DBD8 106001B4 */ beqz $v1, .L8013E2AC
/* D42DC 8013DBDC 0000902D */ daddu $s2, $zero, $zero
/* D42E0 8013DBE0 24630001 */ addiu $v1, $v1, 1
.L8013DBE4:
/* D42E4 8013DBE4 02A30018 */ mult $s5, $v1
/* D42E8 8013DBE8 00004012 */ mflo $t0
/* D42EC 8013DBEC 26A20001 */ addiu $v0, $s5, 1
/* D42F0 8013DBF0 00000000 */ nop
/* D42F4 8013DBF4 00430018 */ mult $v0, $v1
/* D42F8 8013DBF8 01C81021 */ addu $v0, $t6, $t0
/* D42FC 8013DBFC 00528821 */ addu $s1, $v0, $s2
/* D4300 8013DC00 262F0001 */ addiu $t7, $s1, 1
/* D4304 8013DC04 00001812 */ mflo $v1
/* D4308 8013DC08 01C31021 */ addu $v0, $t6, $v1
/* D430C 8013DC0C 0052B021 */ addu $s6, $v0, $s2
/* D4310 8013DC10 8E830014 */ lw $v1, 0x14($s4)
/* D4314 8013DC14 30620020 */ andi $v0, $v1, 0x20
/* D4318 8013DC18 14400173 */ bnez $v0, .L8013E1E8
/* D431C 8013DC1C 26D30001 */ addiu $s3, $s6, 1
/* D4320 8013DC20 3C028015 */ lui $v0, %hi(D_80151328)
/* D4324 8013DC24 8C421328 */ lw $v0, %lo(D_80151328)($v0)
/* D4328 8013DC28 94420000 */ lhu $v0, ($v0)
/* D432C 8013DC2C 30420001 */ andi $v0, $v0, 1
/* D4330 8013DC30 504000E9 */ beql $v0, $zero, .L8013DFD8
/* D4334 8013DC34 3C08070A */ lui $t0, 0x70a
/* D4338 8013DC38 3C028015 */ lui $v0, %hi(D_80156954)
/* D433C 8013DC3C 8C426954 */ lw $v0, %lo(D_80156954)($v0)
/* D4340 8013DC40 90420000 */ lbu $v0, ($v0)
/* D4344 8013DC44 104000E3 */ beqz $v0, .L8013DFD4
/* D4348 8013DC48 3C020018 */ lui $v0, 0x18
/* D434C 8013DC4C 00621024 */ and $v0, $v1, $v0
/* D4350 8013DC50 504000E1 */ beql $v0, $zero, .L8013DFD8
/* D4354 8013DC54 3C08070A */ lui $t0, 0x70a
/* D4358 8013DC58 92830002 */ lbu $v1, 2($s4)
/* D435C 8013DC5C 10600005 */ beqz $v1, .L8013DC74
/* D4360 8013DC60 24020002 */ addiu $v0, $zero, 2
/* D4364 8013DC64 10620003 */ beq $v1, $v0, .L8013DC74
/* D4368 8013DC68 24020007 */ addiu $v0, $zero, 7
/* D436C 8013DC6C 146200DA */ bne $v1, $v0, .L8013DFD8
/* D4370 8013DC70 3C08070A */ lui $t0, 0x70a
.L8013DC74:
/* D4374 8013DC74 3C08070A */ lui $t0, 0x70a
/* D4378 8013DC78 35080280 */ ori $t0, $t0, 0x280
/* D437C 8013DC7C 3C09010A */ lui $t1, 0x10a
/* D4380 8013DC80 35290280 */ ori $t1, $t1, 0x280
/* D4384 8013DC84 3C0B001A */ lui $t3, 0x1a
/* D4388 8013DC88 356B0280 */ ori $t3, $t3, 0x280
/* D438C 8013DC8C 3C0AF510 */ lui $t2, 0xf510
/* D4390 8013DC90 354A0900 */ ori $t2, $t2, 0x900
/* D4394 8013DC94 3C0C020F */ lui $t4, 0x20f
/* D4398 8013DC98 358CC000 */ ori $t4, $t4, 0xc000
/* D439C 8013DC9C 8E050000 */ lw $a1, ($s0)
/* D43A0 8013DCA0 3C048015 */ lui $a0, %hi(fold_currentImage)
/* D43A4 8013DCA4 8C84EE10 */ lw $a0, %lo(fold_currentImage)($a0)
/* D43A8 8013DCA8 00A0302D */ daddu $a2, $a1, $zero
/* D43AC 8013DCAC 24A50008 */ addiu $a1, $a1, 8
/* D43B0 8013DCB0 AE050000 */ sw $a1, ($s0)
/* D43B4 8013DCB4 94820008 */ lhu $v0, 8($a0)
/* D43B8 8013DCB8 24A30008 */ addiu $v1, $a1, 8
/* D43BC 8013DCBC AE030000 */ sw $v1, ($s0)
/* D43C0 8013DCC0 3C03FD48 */ lui $v1, 0xfd48
/* D43C4 8013DCC4 00021042 */ srl $v0, $v0, 1
/* D43C8 8013DCC8 2442FFFF */ addiu $v0, $v0, -1
/* D43CC 8013DCCC 30420FFF */ andi $v0, $v0, 0xfff
/* D43D0 8013DCD0 00431025 */ or $v0, $v0, $v1
/* D43D4 8013DCD4 ACC20000 */ sw $v0, ($a2)
/* D43D8 8013DCD8 8C830000 */ lw $v1, ($a0)
/* D43DC 8013DCDC 24A20010 */ addiu $v0, $a1, 0x10
/* D43E0 8013DCE0 AE020000 */ sw $v0, ($s0)
/* D43E4 8013DCE4 3C028015 */ lui $v0, %hi(fold_vtxBuf)
/* D43E8 8013DCE8 8C426950 */ lw $v0, %lo(fold_vtxBuf)($v0)
/* D43EC 8013DCEC 00133900 */ sll $a3, $s3, 4
/* D43F0 8013DCF0 00E23821 */ addu $a3, $a3, $v0
/* D43F4 8013DCF4 ACC30004 */ sw $v1, 4($a2)
/* D43F8 8013DCF8 00113100 */ sll $a2, $s1, 4
/* D43FC 8013DCFC 00C23021 */ addu $a2, $a2, $v0
/* D4400 8013DD00 94E20008 */ lhu $v0, 8($a3)
/* D4404 8013DD04 94C40008 */ lhu $a0, 8($a2)
/* D4408 8013DD08 24A30018 */ addiu $v1, $a1, 0x18
/* D440C 8013DD0C AE030000 */ sw $v1, ($s0)
/* D4410 8013DD10 3C03E600 */ lui $v1, 0xe600
/* D4414 8013DD14 ACA30008 */ sw $v1, 8($a1)
/* D4418 8013DD18 3C03F548 */ lui $v1, 0xf548
/* D441C 8013DD1C ACA80004 */ sw $t0, 4($a1)
/* D4420 8013DD20 ACA0000C */ sw $zero, 0xc($a1)
/* D4424 8013DD24 00021400 */ sll $v0, $v0, 0x10
/* D4428 8013DD28 00021543 */ sra $v0, $v0, 0x15
/* D442C 8013DD2C 00042400 */ sll $a0, $a0, 0x10
/* D4430 8013DD30 00042543 */ sra $a0, $a0, 0x15
/* D4434 8013DD34 00441023 */ subu $v0, $v0, $a0
/* D4438 8013DD38 00021043 */ sra $v0, $v0, 1
/* D443C 8013DD3C 24420007 */ addiu $v0, $v0, 7
/* D4440 8013DD40 000210C3 */ sra $v0, $v0, 3
/* D4444 8013DD44 304201FF */ andi $v0, $v0, 0x1ff
/* D4448 8013DD48 00021240 */ sll $v0, $v0, 9
/* D444C 8013DD4C 00431025 */ or $v0, $v0, $v1
/* D4450 8013DD50 ACA20000 */ sw $v0, ($a1)
/* D4454 8013DD54 24A20020 */ addiu $v0, $a1, 0x20
/* D4458 8013DD58 94C30008 */ lhu $v1, 8($a2)
/* D445C 8013DD5C 3C04F400 */ lui $a0, 0xf400
/* D4460 8013DD60 AE020000 */ sw $v0, ($s0)
/* D4464 8013DD64 94C2000A */ lhu $v0, 0xa($a2)
/* D4468 8013DD68 00031C00 */ sll $v1, $v1, 0x10
/* D446C 8013DD6C 00031D43 */ sra $v1, $v1, 0x15
/* D4470 8013DD70 2463FF00 */ addiu $v1, $v1, -0x100
/* D4474 8013DD74 00031840 */ sll $v1, $v1, 1
/* D4478 8013DD78 30630FFF */ andi $v1, $v1, 0xfff
/* D447C 8013DD7C 00031B00 */ sll $v1, $v1, 0xc
/* D4480 8013DD80 00021400 */ sll $v0, $v0, 0x10
/* D4484 8013DD84 00021543 */ sra $v0, $v0, 0x15
/* D4488 8013DD88 2442FF00 */ addiu $v0, $v0, -0x100
/* D448C 8013DD8C 00021080 */ sll $v0, $v0, 2
/* D4490 8013DD90 30420FFF */ andi $v0, $v0, 0xfff
/* D4494 8013DD94 00441025 */ or $v0, $v0, $a0
/* D4498 8013DD98 00621825 */ or $v1, $v1, $v0
/* D449C 8013DD9C ACA30010 */ sw $v1, 0x10($a1)
/* D44A0 8013DDA0 94E20008 */ lhu $v0, 8($a3)
/* D44A4 8013DDA4 94E3000A */ lhu $v1, 0xa($a3)
/* D44A8 8013DDA8 3C04E700 */ lui $a0, 0xe700
/* D44AC 8013DDAC ACA40018 */ sw $a0, 0x18($a1)
/* D44B0 8013DDB0 3C040700 */ lui $a0, 0x700
/* D44B4 8013DDB4 ACA0001C */ sw $zero, 0x1c($a1)
/* D44B8 8013DDB8 00021400 */ sll $v0, $v0, 0x10
/* D44BC 8013DDBC 00021543 */ sra $v0, $v0, 0x15
/* D44C0 8013DDC0 2442FEFF */ addiu $v0, $v0, -0x101
/* D44C4 8013DDC4 00021040 */ sll $v0, $v0, 1
/* D44C8 8013DDC8 30420FFF */ andi $v0, $v0, 0xfff
/* D44CC 8013DDCC 00021300 */ sll $v0, $v0, 0xc
/* D44D0 8013DDD0 00031C00 */ sll $v1, $v1, 0x10
/* D44D4 8013DDD4 00031D43 */ sra $v1, $v1, 0x15
/* D44D8 8013DDD8 2463FEFF */ addiu $v1, $v1, -0x101
/* D44DC 8013DDDC 00031880 */ sll $v1, $v1, 2
/* D44E0 8013DDE0 30630FFF */ andi $v1, $v1, 0xfff
/* D44E4 8013DDE4 00641825 */ or $v1, $v1, $a0
/* D44E8 8013DDE8 00431025 */ or $v0, $v0, $v1
/* D44EC 8013DDEC ACA20014 */ sw $v0, 0x14($a1)
/* D44F0 8013DDF0 94E20008 */ lhu $v0, 8($a3)
/* D44F4 8013DDF4 94C40008 */ lhu $a0, 8($a2)
/* D44F8 8013DDF8 24A30028 */ addiu $v1, $a1, 0x28
/* D44FC 8013DDFC AE030000 */ sw $v1, ($s0)
/* D4500 8013DE00 ACA90024 */ sw $t1, 0x24($a1)
/* D4504 8013DE04 00021400 */ sll $v0, $v0, 0x10
/* D4508 8013DE08 00021543 */ sra $v0, $v0, 0x15
/* D450C 8013DE0C 00042400 */ sll $a0, $a0, 0x10
/* D4510 8013DE10 00042543 */ sra $a0, $a0, 0x15
/* D4514 8013DE14 00441023 */ subu $v0, $v0, $a0
/* D4518 8013DE18 00021043 */ sra $v0, $v0, 1
/* D451C 8013DE1C 24420007 */ addiu $v0, $v0, 7
/* D4520 8013DE20 000210C3 */ sra $v0, $v0, 3
/* D4524 8013DE24 304201FF */ andi $v0, $v0, 0x1ff
/* D4528 8013DE28 00021240 */ sll $v0, $v0, 9
/* D452C 8013DE2C 005E1025 */ or $v0, $v0, $fp
/* D4530 8013DE30 ACA20020 */ sw $v0, 0x20($a1)
/* D4534 8013DE34 24A20030 */ addiu $v0, $a1, 0x30
/* D4538 8013DE38 94C30008 */ lhu $v1, 8($a2)
/* D453C 8013DE3C 3C040100 */ lui $a0, 0x100
/* D4540 8013DE40 AE020000 */ sw $v0, ($s0)
/* D4544 8013DE44 94C2000A */ lhu $v0, 0xa($a2)
/* D4548 8013DE48 000318C2 */ srl $v1, $v1, 3
/* D454C 8013DE4C 30630FFC */ andi $v1, $v1, 0xffc
/* D4550 8013DE50 00031B00 */ sll $v1, $v1, 0xc
/* D4554 8013DE54 000210C2 */ srl $v0, $v0, 3
/* D4558 8013DE58 30420FFC */ andi $v0, $v0, 0xffc
/* D455C 8013DE5C 00571025 */ or $v0, $v0, $s7
/* D4560 8013DE60 00621825 */ or $v1, $v1, $v0
/* D4564 8013DE64 24A20038 */ addiu $v0, $a1, 0x38
/* D4568 8013DE68 ACA30028 */ sw $v1, 0x28($a1)
/* D456C 8013DE6C AE020000 */ sw $v0, ($s0)
/* D4570 8013DE70 94E30008 */ lhu $v1, 8($a3)
/* D4574 8013DE74 24A20040 */ addiu $v0, $a1, 0x40
/* D4578 8013DE78 AE020000 */ sw $v0, ($s0)
/* D457C 8013DE7C 94E2000A */ lhu $v0, 0xa($a3)
/* D4580 8013DE80 00031C00 */ sll $v1, $v1, 0x10
/* D4584 8013DE84 00031D43 */ sra $v1, $v1, 0x15
/* D4588 8013DE88 2463FFFF */ addiu $v1, $v1, -1
/* D458C 8013DE8C 00031880 */ sll $v1, $v1, 2
/* D4590 8013DE90 30630FFF */ andi $v1, $v1, 0xfff
/* D4594 8013DE94 00031B00 */ sll $v1, $v1, 0xc
/* D4598 8013DE98 00021400 */ sll $v0, $v0, 0x10
/* D459C 8013DE9C 00021543 */ sra $v0, $v0, 0x15
/* D45A0 8013DEA0 2442FFFF */ addiu $v0, $v0, -1
/* D45A4 8013DEA4 00021080 */ sll $v0, $v0, 2
/* D45A8 8013DEA8 30420FFF */ andi $v0, $v0, 0xfff
/* D45AC 8013DEAC 00441025 */ or $v0, $v0, $a0
/* D45B0 8013DEB0 00621825 */ or $v1, $v1, $v0
/* D45B4 8013DEB4 ACA3002C */ sw $v1, 0x2c($a1)
/* D45B8 8013DEB8 94E20008 */ lhu $v0, 8($a3)
/* D45BC 8013DEBC 94C40008 */ lhu $a0, 8($a2)
/* D45C0 8013DEC0 24A30048 */ addiu $v1, $a1, 0x48
/* D45C4 8013DEC4 AE030000 */ sw $v1, ($s0)
/* D45C8 8013DEC8 3C030200 */ lui $v1, 0x200
/* D45CC 8013DECC ACAB0034 */ sw $t3, 0x34($a1)
/* D45D0 8013DED0 ACAA0038 */ sw $t2, 0x38($a1)
/* D45D4 8013DED4 ACA3003C */ sw $v1, 0x3c($a1)
/* D45D8 8013DED8 ACB70040 */ sw $s7, 0x40($a1)
/* D45DC 8013DEDC ACAC0044 */ sw $t4, 0x44($a1)
/* D45E0 8013DEE0 00021400 */ sll $v0, $v0, 0x10
/* D45E4 8013DEE4 00021543 */ sra $v0, $v0, 0x15
/* D45E8 8013DEE8 00042400 */ sll $a0, $a0, 0x10
/* D45EC 8013DEEC 00042543 */ sra $a0, $a0, 0x15
/* D45F0 8013DEF0 00441023 */ subu $v0, $v0, $a0
/* D45F4 8013DEF4 00021043 */ sra $v0, $v0, 1
/* D45F8 8013DEF8 24420007 */ addiu $v0, $v0, 7
/* D45FC 8013DEFC 000210C3 */ sra $v0, $v0, 3
/* D4600 8013DF00 304201FF */ andi $v0, $v0, 0x1ff
/* D4604 8013DF04 00021240 */ sll $v0, $v0, 9
/* D4608 8013DF08 005E1025 */ or $v0, $v0, $fp
/* D460C 8013DF0C ACA20030 */ sw $v0, 0x30($a1)
/* D4610 8013DF10 92830002 */ lbu $v1, 2($s4)
/* D4614 8013DF14 24020002 */ addiu $v0, $zero, 2
/* D4618 8013DF18 10620009 */ beq $v1, $v0, .L8013DF40
/* D461C 8013DF1C 240D00FF */ addiu $t5, $zero, 0xff
/* D4620 8013DF20 28620003 */ slti $v0, $v1, 3
/* D4624 8013DF24 1440000A */ bnez $v0, .L8013DF50
/* D4628 8013DF28 00111100 */ sll $v0, $s1, 4
/* D462C 8013DF2C 24020007 */ addiu $v0, $zero, 7
/* D4630 8013DF30 10620006 */ beq $v1, $v0, .L8013DF4C
/* D4634 8013DF34 00111100 */ sll $v0, $s1, 4
/* D4638 8013DF38 0804F7D4 */ j .L8013DF50
/* D463C 8013DF3C 00000000 */ nop
.L8013DF40:
/* D4640 8013DF40 8E8D0038 */ lw $t5, 0x38($s4)
/* D4644 8013DF44 0804F7D4 */ j .L8013DF50
/* D4648 8013DF48 00111100 */ sll $v0, $s1, 4
.L8013DF4C:
/* D464C 8013DF4C 240DFFFF */ addiu $t5, $zero, -1
.L8013DF50:
/* D4650 8013DF50 3C048015 */ lui $a0, %hi(fold_vtxBuf)
/* D4654 8013DF54 8C846950 */ lw $a0, %lo(fold_vtxBuf)($a0)
/* D4658 8013DF58 00131900 */ sll $v1, $s3, 4
/* D465C 8013DF5C 00441021 */ addu $v0, $v0, $a0
/* D4660 8013DF60 00641821 */ addu $v1, $v1, $a0
/* D4664 8013DF64 94450008 */ lhu $a1, 8($v0)
/* D4668 8013DF68 9446000A */ lhu $a2, 0xa($v0)
/* D466C 8013DF6C 94670008 */ lhu $a3, 8($v1)
/* D4670 8013DF70 9462000A */ lhu $v0, 0xa($v1)
/* D4674 8013DF74 8FA40054 */ lw $a0, 0x54($sp)
/* D4678 8013DF78 AFAD0014 */ sw $t5, 0x14($sp)
/* D467C 8013DF7C 00021400 */ sll $v0, $v0, 0x10
/* D4680 8013DF80 00021543 */ sra $v0, $v0, 0x15
/* D4684 8013DF84 2442FF00 */ addiu $v0, $v0, -0x100
/* D4688 8013DF88 00052C00 */ sll $a1, $a1, 0x10
/* D468C 8013DF8C 00052D43 */ sra $a1, $a1, 0x15
/* D4690 8013DF90 00063400 */ sll $a2, $a2, 0x10
/* D4694 8013DF94 00063543 */ sra $a2, $a2, 0x15
/* D4698 8013DF98 00073C00 */ sll $a3, $a3, 0x10
/* D469C 8013DF9C 00073D43 */ sra $a3, $a3, 0x15
/* D46A0 8013DFA0 24A5FF00 */ addiu $a1, $a1, -0x100
/* D46A4 8013DFA4 24C6FF00 */ addiu $a2, $a2, -0x100
/* D46A8 8013DFA8 AFA20010 */ sw $v0, 0x10($sp)
/* D46AC 8013DFAC 8E820078 */ lw $v0, 0x78($s4)
/* D46B0 8013DFB0 24E7FF00 */ addiu $a3, $a3, -0x100
/* D46B4 8013DFB4 AFAE0020 */ sw $t6, 0x20($sp)
/* D46B8 8013DFB8 AFAF0024 */ sw $t7, 0x24($sp)
/* D46BC 8013DFBC 0C052071 */ jal create_shading_palette
/* D46C0 8013DFC0 AFA20018 */ sw $v0, 0x18($sp)
/* D46C4 8013DFC4 8FAE0020 */ lw $t6, 0x20($sp)
/* D46C8 8013DFC8 8FAF0024 */ lw $t7, 0x24($sp)
/* D46CC 8013DFCC 0804F87B */ j .L8013E1EC
/* D46D0 8013DFD0 3C020100 */ lui $v0, 0x100
.L8013DFD4:
/* D46D4 8013DFD4 3C08070A */ lui $t0, 0x70a
.L8013DFD8:
/* D46D8 8013DFD8 35080280 */ ori $t0, $t0, 0x280
/* D46DC 8013DFDC 3C09000A */ lui $t1, 0xa
/* D46E0 8013DFE0 35290280 */ ori $t1, $t1, 0x280
/* D46E4 8013DFE4 8E050000 */ lw $a1, ($s0)
/* D46E8 8013DFE8 3C048015 */ lui $a0, %hi(fold_currentImage)
/* D46EC 8013DFEC 8C84EE10 */ lw $a0, %lo(fold_currentImage)($a0)
/* D46F0 8013DFF0 00A0302D */ daddu $a2, $a1, $zero
/* D46F4 8013DFF4 24A50008 */ addiu $a1, $a1, 8
/* D46F8 8013DFF8 AE050000 */ sw $a1, ($s0)
/* D46FC 8013DFFC 94820008 */ lhu $v0, 8($a0)
/* D4700 8013E000 24A30008 */ addiu $v1, $a1, 8
/* D4704 8013E004 AE030000 */ sw $v1, ($s0)
/* D4708 8013E008 3C03FD48 */ lui $v1, 0xfd48
/* D470C 8013E00C 00021042 */ srl $v0, $v0, 1
/* D4710 8013E010 2442FFFF */ addiu $v0, $v0, -1
/* D4714 8013E014 30420FFF */ andi $v0, $v0, 0xfff
/* D4718 8013E018 00431025 */ or $v0, $v0, $v1
/* D471C 8013E01C ACC20000 */ sw $v0, ($a2)
/* D4720 8013E020 8C830000 */ lw $v1, ($a0)
/* D4724 8013E024 24A20010 */ addiu $v0, $a1, 0x10
/* D4728 8013E028 AE020000 */ sw $v0, ($s0)
/* D472C 8013E02C 3C028015 */ lui $v0, %hi(fold_vtxBuf)
/* D4730 8013E030 8C426950 */ lw $v0, %lo(fold_vtxBuf)($v0)
/* D4734 8013E034 00133900 */ sll $a3, $s3, 4
/* D4738 8013E038 00E23821 */ addu $a3, $a3, $v0
/* D473C 8013E03C ACC30004 */ sw $v1, 4($a2)
/* D4740 8013E040 00113100 */ sll $a2, $s1, 4
/* D4744 8013E044 00C23021 */ addu $a2, $a2, $v0
/* D4748 8013E048 94E20008 */ lhu $v0, 8($a3)
/* D474C 8013E04C 94C40008 */ lhu $a0, 8($a2)
/* D4750 8013E050 24A30018 */ addiu $v1, $a1, 0x18
/* D4754 8013E054 AE030000 */ sw $v1, ($s0)
/* D4758 8013E058 3C03E600 */ lui $v1, 0xe600
/* D475C 8013E05C ACA30008 */ sw $v1, 8($a1)
/* D4760 8013E060 3C03F548 */ lui $v1, 0xf548
/* D4764 8013E064 ACA80004 */ sw $t0, 4($a1)
/* D4768 8013E068 ACA0000C */ sw $zero, 0xc($a1)
/* D476C 8013E06C 00021400 */ sll $v0, $v0, 0x10
/* D4770 8013E070 00021543 */ sra $v0, $v0, 0x15
/* D4774 8013E074 00042400 */ sll $a0, $a0, 0x10
/* D4778 8013E078 00042543 */ sra $a0, $a0, 0x15
/* D477C 8013E07C 00441023 */ subu $v0, $v0, $a0
/* D4780 8013E080 00021043 */ sra $v0, $v0, 1
/* D4784 8013E084 24420007 */ addiu $v0, $v0, 7
/* D4788 8013E088 000210C3 */ sra $v0, $v0, 3
/* D478C 8013E08C 304201FF */ andi $v0, $v0, 0x1ff
/* D4790 8013E090 00021240 */ sll $v0, $v0, 9
/* D4794 8013E094 00431025 */ or $v0, $v0, $v1
/* D4798 8013E098 ACA20000 */ sw $v0, ($a1)
/* D479C 8013E09C 24A20020 */ addiu $v0, $a1, 0x20
/* D47A0 8013E0A0 94C30008 */ lhu $v1, 8($a2)
/* D47A4 8013E0A4 3C04F400 */ lui $a0, 0xf400
/* D47A8 8013E0A8 AE020000 */ sw $v0, ($s0)
/* D47AC 8013E0AC 94C2000A */ lhu $v0, 0xa($a2)
/* D47B0 8013E0B0 00031C00 */ sll $v1, $v1, 0x10
/* D47B4 8013E0B4 00031D43 */ sra $v1, $v1, 0x15
/* D47B8 8013E0B8 2463FF00 */ addiu $v1, $v1, -0x100
/* D47BC 8013E0BC 00031840 */ sll $v1, $v1, 1
/* D47C0 8013E0C0 30630FFF */ andi $v1, $v1, 0xfff
/* D47C4 8013E0C4 00031B00 */ sll $v1, $v1, 0xc
/* D47C8 8013E0C8 00021400 */ sll $v0, $v0, 0x10
/* D47CC 8013E0CC 00021543 */ sra $v0, $v0, 0x15
/* D47D0 8013E0D0 2442FF00 */ addiu $v0, $v0, -0x100
/* D47D4 8013E0D4 00021080 */ sll $v0, $v0, 2
/* D47D8 8013E0D8 30420FFF */ andi $v0, $v0, 0xfff
/* D47DC 8013E0DC 00441025 */ or $v0, $v0, $a0
/* D47E0 8013E0E0 00621825 */ or $v1, $v1, $v0
/* D47E4 8013E0E4 ACA30010 */ sw $v1, 0x10($a1)
/* D47E8 8013E0E8 94E20008 */ lhu $v0, 8($a3)
/* D47EC 8013E0EC 94E3000A */ lhu $v1, 0xa($a3)
/* D47F0 8013E0F0 3C04E700 */ lui $a0, 0xe700
/* D47F4 8013E0F4 ACA40018 */ sw $a0, 0x18($a1)
/* D47F8 8013E0F8 3C040700 */ lui $a0, 0x700
/* D47FC 8013E0FC ACA0001C */ sw $zero, 0x1c($a1)
/* D4800 8013E100 00021400 */ sll $v0, $v0, 0x10
/* D4804 8013E104 00021543 */ sra $v0, $v0, 0x15
/* D4808 8013E108 2442FEFF */ addiu $v0, $v0, -0x101
/* D480C 8013E10C 00021040 */ sll $v0, $v0, 1
/* D4810 8013E110 30420FFF */ andi $v0, $v0, 0xfff
/* D4814 8013E114 00021300 */ sll $v0, $v0, 0xc
/* D4818 8013E118 00031C00 */ sll $v1, $v1, 0x10
/* D481C 8013E11C 00031D43 */ sra $v1, $v1, 0x15
/* D4820 8013E120 2463FEFF */ addiu $v1, $v1, -0x101
/* D4824 8013E124 00031880 */ sll $v1, $v1, 2
/* D4828 8013E128 30630FFF */ andi $v1, $v1, 0xfff
/* D482C 8013E12C 00641825 */ or $v1, $v1, $a0
/* D4830 8013E130 00431025 */ or $v0, $v0, $v1
/* D4834 8013E134 ACA20014 */ sw $v0, 0x14($a1)
/* D4838 8013E138 94E20008 */ lhu $v0, 8($a3)
/* D483C 8013E13C 94C40008 */ lhu $a0, 8($a2)
/* D4840 8013E140 24A30028 */ addiu $v1, $a1, 0x28
/* D4844 8013E144 AE030000 */ sw $v1, ($s0)
/* D4848 8013E148 ACA90024 */ sw $t1, 0x24($a1)
/* D484C 8013E14C 00021400 */ sll $v0, $v0, 0x10
/* D4850 8013E150 00021543 */ sra $v0, $v0, 0x15
/* D4854 8013E154 00042400 */ sll $a0, $a0, 0x10
/* D4858 8013E158 00042543 */ sra $a0, $a0, 0x15
/* D485C 8013E15C 00441023 */ subu $v0, $v0, $a0
/* D4860 8013E160 00021043 */ sra $v0, $v0, 1
/* D4864 8013E164 24420007 */ addiu $v0, $v0, 7
/* D4868 8013E168 000210C3 */ sra $v0, $v0, 3
/* D486C 8013E16C 304201FF */ andi $v0, $v0, 0x1ff
/* D4870 8013E170 00021240 */ sll $v0, $v0, 9
/* D4874 8013E174 005E1025 */ or $v0, $v0, $fp
/* D4878 8013E178 ACA20020 */ sw $v0, 0x20($a1)
/* D487C 8013E17C 94C30008 */ lhu $v1, 8($a2)
/* D4880 8013E180 24A20030 */ addiu $v0, $a1, 0x30
/* D4884 8013E184 AE020000 */ sw $v0, ($s0)
/* D4888 8013E188 94C2000A */ lhu $v0, 0xa($a2)
/* D488C 8013E18C 000318C2 */ srl $v1, $v1, 3
/* D4890 8013E190 30630FFC */ andi $v1, $v1, 0xffc
/* D4894 8013E194 00031B00 */ sll $v1, $v1, 0xc
/* D4898 8013E198 000210C2 */ srl $v0, $v0, 3
/* D489C 8013E19C 30420FFC */ andi $v0, $v0, 0xffc
/* D48A0 8013E1A0 00571025 */ or $v0, $v0, $s7
/* D48A4 8013E1A4 00621825 */ or $v1, $v1, $v0
/* D48A8 8013E1A8 ACA30028 */ sw $v1, 0x28($a1)
/* D48AC 8013E1AC 94E30008 */ lhu $v1, 8($a3)
/* D48B0 8013E1B0 94E2000A */ lhu $v0, 0xa($a3)
/* D48B4 8013E1B4 00031C00 */ sll $v1, $v1, 0x10
/* D48B8 8013E1B8 00031D43 */ sra $v1, $v1, 0x15
/* D48BC 8013E1BC 2463FFFF */ addiu $v1, $v1, -1
/* D48C0 8013E1C0 00031880 */ sll $v1, $v1, 2
/* D48C4 8013E1C4 30630FFF */ andi $v1, $v1, 0xfff
/* D48C8 8013E1C8 00031B00 */ sll $v1, $v1, 0xc
/* D48CC 8013E1CC 00021400 */ sll $v0, $v0, 0x10
/* D48D0 8013E1D0 00021543 */ sra $v0, $v0, 0x15
/* D48D4 8013E1D4 2442FFFF */ addiu $v0, $v0, -1
/* D48D8 8013E1D8 00021080 */ sll $v0, $v0, 2
/* D48DC 8013E1DC 30420FFF */ andi $v0, $v0, 0xfff
/* D48E0 8013E1E0 00621825 */ or $v1, $v1, $v0
/* D48E4 8013E1E4 ACA3002C */ sw $v1, 0x2c($a1)
.L8013E1E8:
/* D48E8 8013E1E8 3C020100 */ lui $v0, 0x100
.L8013E1EC:
/* D48EC 8013E1EC 34421002 */ ori $v0, $v0, 0x1002
/* D48F0 8013E1F0 3C060100 */ lui $a2, 0x100
/* D48F4 8013E1F4 34C61004 */ ori $a2, $a2, 0x1004
/* D48F8 8013E1F8 3C070100 */ lui $a3, 0x100
/* D48FC 8013E1FC 34E71006 */ ori $a3, $a3, 0x1006
/* D4900 8013E200 3C080100 */ lui $t0, 0x100
/* D4904 8013E204 35081008 */ ori $t0, $t0, 0x1008
/* D4908 8013E208 3C0A0600 */ lui $t2, 0x600
/* D490C 8013E20C 354A0402 */ ori $t2, $t2, 0x402
/* D4910 8013E210 8E030000 */ lw $v1, ($s0)
/* D4914 8013E214 3C090002 */ lui $t1, 2
/* D4918 8013E218 0060282D */ daddu $a1, $v1, $zero
/* D491C 8013E21C 24630008 */ addiu $v1, $v1, 8
/* D4920 8013E220 AE030000 */ sw $v1, ($s0)
/* D4924 8013E224 3C048015 */ lui $a0, %hi(fold_vtxBuf)
/* D4928 8013E228 8C846950 */ lw $a0, %lo(fold_vtxBuf)($a0)
/* D492C 8013E22C 35290406 */ ori $t1, $t1, 0x406
/* D4930 8013E230 ACA20000 */ sw $v0, ($a1)
/* D4934 8013E234 00111100 */ sll $v0, $s1, 4
/* D4938 8013E238 00821021 */ addu $v0, $a0, $v0
/* D493C 8013E23C ACA20004 */ sw $v0, 4($a1)
/* D4940 8013E240 24620008 */ addiu $v0, $v1, 8
/* D4944 8013E244 AE020000 */ sw $v0, ($s0)
/* D4948 8013E248 000F1100 */ sll $v0, $t7, 4
/* D494C 8013E24C 00821021 */ addu $v0, $a0, $v0
/* D4950 8013E250 AC620004 */ sw $v0, 4($v1)
/* D4954 8013E254 24620010 */ addiu $v0, $v1, 0x10
/* D4958 8013E258 AC660000 */ sw $a2, ($v1)
/* D495C 8013E25C AE020000 */ sw $v0, ($s0)
/* D4960 8013E260 00161100 */ sll $v0, $s6, 4
/* D4964 8013E264 00821021 */ addu $v0, $a0, $v0
/* D4968 8013E268 AC62000C */ sw $v0, 0xc($v1)
/* D496C 8013E26C 24620018 */ addiu $v0, $v1, 0x18
/* D4970 8013E270 AC670008 */ sw $a3, 8($v1)
/* D4974 8013E274 AE020000 */ sw $v0, ($s0)
/* D4978 8013E278 00131100 */ sll $v0, $s3, 4
/* D497C 8013E27C 00822021 */ addu $a0, $a0, $v0
/* D4980 8013E280 24620020 */ addiu $v0, $v1, 0x20
/* D4984 8013E284 AC680010 */ sw $t0, 0x10($v1)
/* D4988 8013E288 AC640014 */ sw $a0, 0x14($v1)
/* D498C 8013E28C AE020000 */ sw $v0, ($s0)
/* D4990 8013E290 AC6A0018 */ sw $t2, 0x18($v1)
/* D4994 8013E294 AC69001C */ sw $t1, 0x1c($v1)
/* D4998 8013E298 92830003 */ lbu $v1, 3($s4)
/* D499C 8013E29C 26520001 */ addiu $s2, $s2, 1
/* D49A0 8013E2A0 0243102A */ slt $v0, $s2, $v1
/* D49A4 8013E2A4 5440FE4F */ bnel $v0, $zero, .L8013DBE4
/* D49A8 8013E2A8 24630001 */ addiu $v1, $v1, 1
.L8013E2AC:
/* D49AC 8013E2AC 92820004 */ lbu $v0, 4($s4)
/* D49B0 8013E2B0 26B50001 */ addiu $s5, $s5, 1
/* D49B4 8013E2B4 02A2102A */ slt $v0, $s5, $v0
/* D49B8 8013E2B8 1440FE46 */ bnez $v0, .L8013DBD4
/* D49BC 8013E2BC 00000000 */ nop
.L8013E2C0:
/* D49C0 8013E2C0 8FBF004C */ lw $ra, 0x4c($sp)
/* D49C4 8013E2C4 8FBE0048 */ lw $fp, 0x48($sp)
/* D49C8 8013E2C8 8FB70044 */ lw $s7, 0x44($sp)
/* D49CC 8013E2CC 8FB60040 */ lw $s6, 0x40($sp)
/* D49D0 8013E2D0 8FB5003C */ lw $s5, 0x3c($sp)
/* D49D4 8013E2D4 8FB40038 */ lw $s4, 0x38($sp)
/* D49D8 8013E2D8 8FB30034 */ lw $s3, 0x34($sp)
/* D49DC 8013E2DC 8FB20030 */ lw $s2, 0x30($sp)
/* D49E0 8013E2E0 8FB1002C */ lw $s1, 0x2c($sp)
/* D49E4 8013E2E4 8FB00028 */ lw $s0, 0x28($sp)
/* D49E8 8013E2E8 03E00008 */ jr $ra
/* D49EC 8013E2EC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,403 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8013E2F0
/* D49F0 8013E2F0 3C028007 */ lui $v0, %hi(gCurrentDisplayContextIndex)
/* D49F4 8013E2F4 8C4241F4 */ lw $v0, %lo(gCurrentDisplayContextIndex)($v0)
/* D49F8 8013E2F8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* D49FC 8013E2FC AFB3002C */ sw $s3, 0x2c($sp)
/* D4A00 8013E300 0080982D */ daddu $s3, $a0, $zero
/* D4A04 8013E304 AFBF0034 */ sw $ra, 0x34($sp)
/* D4A08 8013E308 AFB40030 */ sw $s4, 0x30($sp)
/* D4A0C 8013E30C AFB20028 */ sw $s2, 0x28($sp)
/* D4A10 8013E310 AFB10024 */ sw $s1, 0x24($sp)
/* D4A14 8013E314 AFB00020 */ sw $s0, 0x20($sp)
/* D4A18 8013E318 00021080 */ sll $v0, $v0, 2
/* D4A1C 8013E31C 02621821 */ addu $v1, $s3, $v0
/* D4A20 8013E320 8C620068 */ lw $v0, 0x68($v1)
/* D4A24 8013E324 1040016F */ beqz $v0, .L8013E8E4
/* D4A28 8013E328 00A0A02D */ daddu $s4, $a1, $zero
/* D4A2C 8013E32C 8C620070 */ lw $v0, 0x70($v1)
/* D4A30 8013E330 1040016C */ beqz $v0, .L8013E8E4
/* D4A34 8013E334 3C120001 */ lui $s2, 1
/* D4A38 8013E338 36521630 */ ori $s2, $s2, 0x1630
/* D4A3C 8013E33C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* D4A40 8013E340 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* D4A44 8013E344 3C11800A */ lui $s1, %hi(gDisplayContext)
/* D4A48 8013E348 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* D4A4C 8013E34C 3C013DCC */ lui $at, 0x3dcc
/* D4A50 8013E350 3421CCCD */ ori $at, $at, 0xcccd
/* D4A54 8013E354 44810000 */ mtc1 $at, $f0
/* D4A58 8013E358 96040000 */ lhu $a0, ($s0)
/* D4A5C 8013E35C 8E220000 */ lw $v0, ($s1)
/* D4A60 8013E360 00042180 */ sll $a0, $a0, 6
/* D4A64 8013E364 00922021 */ addu $a0, $a0, $s2
/* D4A68 8013E368 44050000 */ mfc1 $a1, $f0
/* D4A6C 8013E36C 00442021 */ addu $a0, $v0, $a0
/* D4A70 8013E370 00A0302D */ daddu $a2, $a1, $zero
/* D4A74 8013E374 0C019DC0 */ jal guScale
/* D4A78 8013E378 00A0382D */ daddu $a3, $a1, $zero
/* D4A7C 8013E37C 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* D4A80 8013E380 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* D4A84 8013E384 8D070000 */ lw $a3, ($t0)
/* D4A88 8013E388 00E0282D */ daddu $a1, $a3, $zero
/* D4A8C 8013E38C 24E70008 */ addiu $a3, $a3, 8
/* D4A90 8013E390 AD070000 */ sw $a3, ($t0)
/* D4A94 8013E394 96040000 */ lhu $a0, ($s0)
/* D4A98 8013E398 3C02DA38 */ lui $v0, 0xda38
/* D4A9C 8013E39C ACA20000 */ sw $v0, ($a1)
/* D4AA0 8013E3A0 8E230000 */ lw $v1, ($s1)
/* D4AA4 8013E3A4 3082FFFF */ andi $v0, $a0, 0xffff
/* D4AA8 8013E3A8 00021180 */ sll $v0, $v0, 6
/* D4AAC 8013E3AC 00521021 */ addu $v0, $v0, $s2
/* D4AB0 8013E3B0 00621821 */ addu $v1, $v1, $v0
/* D4AB4 8013E3B4 3C028000 */ lui $v0, 0x8000
/* D4AB8 8013E3B8 00621821 */ addu $v1, $v1, $v0
/* D4ABC 8013E3BC ACA30004 */ sw $v1, 4($a1)
/* D4AC0 8013E3C0 8E620014 */ lw $v0, 0x14($s3)
/* D4AC4 8013E3C4 24840001 */ addiu $a0, $a0, 1
/* D4AC8 8013E3C8 30420020 */ andi $v0, $v0, 0x20
/* D4ACC 8013E3CC 14400130 */ bnez $v0, .L8013E890
/* D4AD0 8013E3D0 A6040000 */ sh $a0, ($s0)
/* D4AD4 8013E3D4 3C03E300 */ lui $v1, 0xe300
/* D4AD8 8013E3D8 34631001 */ ori $v1, $v1, 0x1001
/* D4ADC 8013E3DC 3C05F500 */ lui $a1, 0xf500
/* D4AE0 8013E3E0 34A50100 */ ori $a1, $a1, 0x100
/* D4AE4 8013E3E4 3C060703 */ lui $a2, 0x703
/* D4AE8 8013E3E8 34C6C000 */ ori $a2, $a2, 0xc000
/* D4AEC 8013E3EC 24E20008 */ addiu $v0, $a3, 8
/* D4AF0 8013E3F0 AD020000 */ sw $v0, ($t0)
/* D4AF4 8013E3F4 34028000 */ ori $v0, $zero, 0x8000
/* D4AF8 8013E3F8 ACE20004 */ sw $v0, 4($a3)
/* D4AFC 8013E3FC 24E20010 */ addiu $v0, $a3, 0x10
/* D4B00 8013E400 ACE30000 */ sw $v1, ($a3)
/* D4B04 8013E404 AD020000 */ sw $v0, ($t0)
/* D4B08 8013E408 3C02FD10 */ lui $v0, 0xfd10
/* D4B0C 8013E40C ACE20008 */ sw $v0, 8($a3)
/* D4B10 8013E410 24E20018 */ addiu $v0, $a3, 0x18
/* D4B14 8013E414 AD020000 */ sw $v0, ($t0)
/* D4B18 8013E418 24E20020 */ addiu $v0, $a3, 0x20
/* D4B1C 8013E41C AD020000 */ sw $v0, ($t0)
/* D4B20 8013E420 24E20028 */ addiu $v0, $a3, 0x28
/* D4B24 8013E424 AD020000 */ sw $v0, ($t0)
/* D4B28 8013E428 3C038015 */ lui $v1, %hi(fold_currentImage)
/* D4B2C 8013E42C 8C63EE10 */ lw $v1, %lo(fold_currentImage)($v1)
/* D4B30 8013E430 24E20030 */ addiu $v0, $a3, 0x30
/* D4B34 8013E434 AD020000 */ sw $v0, ($t0)
/* D4B38 8013E438 8C640004 */ lw $a0, 4($v1)
/* D4B3C 8013E43C 3C038015 */ lui $v1, %hi(D_80151328)
/* D4B40 8013E440 8C631328 */ lw $v1, %lo(D_80151328)($v1)
/* D4B44 8013E444 3C02E800 */ lui $v0, 0xe800
/* D4B48 8013E448 ACE20010 */ sw $v0, 0x10($a3)
/* D4B4C 8013E44C 3C020700 */ lui $v0, 0x700
/* D4B50 8013E450 ACE2001C */ sw $v0, 0x1c($a3)
/* D4B54 8013E454 3C02E600 */ lui $v0, 0xe600
/* D4B58 8013E458 ACE20020 */ sw $v0, 0x20($a3)
/* D4B5C 8013E45C 3C02F000 */ lui $v0, 0xf000
/* D4B60 8013E460 ACE20028 */ sw $v0, 0x28($a3)
/* D4B64 8013E464 3C02E700 */ lui $v0, 0xe700
/* D4B68 8013E468 ACE00014 */ sw $zero, 0x14($a3)
/* D4B6C 8013E46C ACE50018 */ sw $a1, 0x18($a3)
/* D4B70 8013E470 ACE00024 */ sw $zero, 0x24($a3)
/* D4B74 8013E474 ACE6002C */ sw $a2, 0x2c($a3)
/* D4B78 8013E478 ACE20030 */ sw $v0, 0x30($a3)
/* D4B7C 8013E47C ACE00034 */ sw $zero, 0x34($a3)
/* D4B80 8013E480 ACE4000C */ sw $a0, 0xc($a3)
/* D4B84 8013E484 94620000 */ lhu $v0, ($v1)
/* D4B88 8013E488 24E30038 */ addiu $v1, $a3, 0x38
/* D4B8C 8013E48C 30420001 */ andi $v0, $v0, 1
/* D4B90 8013E490 104000A7 */ beqz $v0, .L8013E730
/* D4B94 8013E494 AD030000 */ sw $v1, ($t0)
/* D4B98 8013E498 8E620014 */ lw $v0, 0x14($s3)
/* D4B9C 8013E49C 3C030018 */ lui $v1, 0x18
/* D4BA0 8013E4A0 00431024 */ and $v0, $v0, $v1
/* D4BA4 8013E4A4 504000A3 */ beql $v0, $zero, .L8013E734
/* D4BA8 8013E4A8 3C08070A */ lui $t0, 0x70a
/* D4BAC 8013E4AC 92630002 */ lbu $v1, 2($s3)
/* D4BB0 8013E4B0 10600007 */ beqz $v1, .L8013E4D0
/* D4BB4 8013E4B4 24020002 */ addiu $v0, $zero, 2
/* D4BB8 8013E4B8 10620005 */ beq $v1, $v0, .L8013E4D0
/* D4BBC 8013E4BC 24020007 */ addiu $v0, $zero, 7
/* D4BC0 8013E4C0 10620003 */ beq $v1, $v0, .L8013E4D0
/* D4BC4 8013E4C4 2402000B */ addiu $v0, $zero, 0xb
/* D4BC8 8013E4C8 1462009A */ bne $v1, $v0, .L8013E734
/* D4BCC 8013E4CC 3C08070A */ lui $t0, 0x70a
.L8013E4D0:
/* D4BD0 8013E4D0 240E00FF */ addiu $t6, $zero, 0xff
/* D4BD4 8013E4D4 3C08070A */ lui $t0, 0x70a
/* D4BD8 8013E4D8 35080280 */ ori $t0, $t0, 0x280
/* D4BDC 8013E4DC 3C0A010A */ lui $t2, 0x10a
/* D4BE0 8013E4E0 354A0280 */ ori $t2, $t2, 0x280
/* D4BE4 8013E4E4 3C09F240 */ lui $t1, 0xf240
/* D4BE8 8013E4E8 35290400 */ ori $t1, $t1, 0x400
/* D4BEC 8013E4EC 3C0B001A */ lui $t3, 0x1a
/* D4BF0 8013E4F0 356B0280 */ ori $t3, $t3, 0x280
/* D4BF4 8013E4F4 3C0CF510 */ lui $t4, 0xf510
/* D4BF8 8013E4F8 358C0900 */ ori $t4, $t4, 0x900
/* D4BFC 8013E4FC 3C0D020F */ lui $t5, 0x20f
/* D4C00 8013E500 3C07800A */ lui $a3, %hi(gMasterGfxPos)
/* D4C04 8013E504 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos)
/* D4C08 8013E508 8CE50000 */ lw $a1, ($a3)
/* D4C0C 8013E50C 35ADC000 */ ori $t5, $t5, 0xc000
/* D4C10 8013E510 00A0202D */ daddu $a0, $a1, $zero
/* D4C14 8013E514 24A50008 */ addiu $a1, $a1, 8
/* D4C18 8013E518 ACE50000 */ sw $a1, ($a3)
/* D4C1C 8013E51C 3C068015 */ lui $a2, %hi(fold_currentImage)
/* D4C20 8013E520 8CC6EE10 */ lw $a2, %lo(fold_currentImage)($a2)
/* D4C24 8013E524 24A20008 */ addiu $v0, $a1, 8
/* D4C28 8013E528 ACE20000 */ sw $v0, ($a3)
/* D4C2C 8013E52C 94C20008 */ lhu $v0, 8($a2)
/* D4C30 8013E530 24A30010 */ addiu $v1, $a1, 0x10
/* D4C34 8013E534 ACE30000 */ sw $v1, ($a3)
/* D4C38 8013E538 3C03FD48 */ lui $v1, 0xfd48
/* D4C3C 8013E53C 00021042 */ srl $v0, $v0, 1
/* D4C40 8013E540 2442FFFF */ addiu $v0, $v0, -1
/* D4C44 8013E544 30420FFF */ andi $v0, $v0, 0xfff
/* D4C48 8013E548 00431025 */ or $v0, $v0, $v1
/* D4C4C 8013E54C AC820000 */ sw $v0, ($a0)
/* D4C50 8013E550 8CC30000 */ lw $v1, ($a2)
/* D4C54 8013E554 24A20018 */ addiu $v0, $a1, 0x18
/* D4C58 8013E558 ACE20000 */ sw $v0, ($a3)
/* D4C5C 8013E55C AC830004 */ sw $v1, 4($a0)
/* D4C60 8013E560 94C20008 */ lhu $v0, 8($a2)
/* D4C64 8013E564 24A30020 */ addiu $v1, $a1, 0x20
/* D4C68 8013E568 ACE30000 */ sw $v1, ($a3)
/* D4C6C 8013E56C 3C03E600 */ lui $v1, 0xe600
/* D4C70 8013E570 ACA30008 */ sw $v1, 8($a1)
/* D4C74 8013E574 3C03F400 */ lui $v1, 0xf400
/* D4C78 8013E578 ACA30010 */ sw $v1, 0x10($a1)
/* D4C7C 8013E57C 3C03F548 */ lui $v1, 0xf548
/* D4C80 8013E580 3C04E700 */ lui $a0, 0xe700
/* D4C84 8013E584 ACA80004 */ sw $t0, 4($a1)
/* D4C88 8013E588 ACA0000C */ sw $zero, 0xc($a1)
/* D4C8C 8013E58C 00021042 */ srl $v0, $v0, 1
/* D4C90 8013E590 24420007 */ addiu $v0, $v0, 7
/* D4C94 8013E594 000210C3 */ sra $v0, $v0, 3
/* D4C98 8013E598 304201FF */ andi $v0, $v0, 0x1ff
/* D4C9C 8013E59C 00021240 */ sll $v0, $v0, 9
/* D4CA0 8013E5A0 00431025 */ or $v0, $v0, $v1
/* D4CA4 8013E5A4 ACA20000 */ sw $v0, ($a1)
/* D4CA8 8013E5A8 94C20008 */ lhu $v0, 8($a2)
/* D4CAC 8013E5AC 94C3000A */ lhu $v1, 0xa($a2)
/* D4CB0 8013E5B0 3C08F540 */ lui $t0, 0xf540
/* D4CB4 8013E5B4 ACA40018 */ sw $a0, 0x18($a1)
/* D4CB8 8013E5B8 3C040700 */ lui $a0, 0x700
/* D4CBC 8013E5BC ACA0001C */ sw $zero, 0x1c($a1)
/* D4CC0 8013E5C0 2442FFFF */ addiu $v0, $v0, -1
/* D4CC4 8013E5C4 00021040 */ sll $v0, $v0, 1
/* D4CC8 8013E5C8 30420FFF */ andi $v0, $v0, 0xfff
/* D4CCC 8013E5CC 00021300 */ sll $v0, $v0, 0xc
/* D4CD0 8013E5D0 2463FFFF */ addiu $v1, $v1, -1
/* D4CD4 8013E5D4 00031880 */ sll $v1, $v1, 2
/* D4CD8 8013E5D8 30630FFF */ andi $v1, $v1, 0xfff
/* D4CDC 8013E5DC 00641825 */ or $v1, $v1, $a0
/* D4CE0 8013E5E0 00431025 */ or $v0, $v0, $v1
/* D4CE4 8013E5E4 24A30028 */ addiu $v1, $a1, 0x28
/* D4CE8 8013E5E8 ACA20014 */ sw $v0, 0x14($a1)
/* D4CEC 8013E5EC 94C20008 */ lhu $v0, 8($a2)
/* D4CF0 8013E5F0 3C040100 */ lui $a0, 0x100
/* D4CF4 8013E5F4 ACE30000 */ sw $v1, ($a3)
/* D4CF8 8013E5F8 ACAA0024 */ sw $t2, 0x24($a1)
/* D4CFC 8013E5FC ACA90028 */ sw $t1, 0x28($a1)
/* D4D00 8013E600 00021042 */ srl $v0, $v0, 1
/* D4D04 8013E604 24420007 */ addiu $v0, $v0, 7
/* D4D08 8013E608 000210C3 */ sra $v0, $v0, 3
/* D4D0C 8013E60C 304201FF */ andi $v0, $v0, 0x1ff
/* D4D10 8013E610 00021240 */ sll $v0, $v0, 9
/* D4D14 8013E614 00481025 */ or $v0, $v0, $t0
/* D4D18 8013E618 ACA20020 */ sw $v0, 0x20($a1)
/* D4D1C 8013E61C 94C30008 */ lhu $v1, 8($a2)
/* D4D20 8013E620 24A20030 */ addiu $v0, $a1, 0x30
/* D4D24 8013E624 ACE20000 */ sw $v0, ($a3)
/* D4D28 8013E628 94C2000A */ lhu $v0, 0xa($a2)
/* D4D2C 8013E62C 006E1821 */ addu $v1, $v1, $t6
/* D4D30 8013E630 00031880 */ sll $v1, $v1, 2
/* D4D34 8013E634 30630FFF */ andi $v1, $v1, 0xfff
/* D4D38 8013E638 00031B00 */ sll $v1, $v1, 0xc
/* D4D3C 8013E63C 004E1021 */ addu $v0, $v0, $t6
/* D4D40 8013E640 00021080 */ sll $v0, $v0, 2
/* D4D44 8013E644 30420FFF */ andi $v0, $v0, 0xfff
/* D4D48 8013E648 00441025 */ or $v0, $v0, $a0
/* D4D4C 8013E64C 00621825 */ or $v1, $v1, $v0
/* D4D50 8013E650 ACA3002C */ sw $v1, 0x2c($a1)
/* D4D54 8013E654 94C20008 */ lhu $v0, 8($a2)
/* D4D58 8013E658 24A30038 */ addiu $v1, $a1, 0x38
/* D4D5C 8013E65C ACE30000 */ sw $v1, ($a3)
/* D4D60 8013E660 00021042 */ srl $v0, $v0, 1
/* D4D64 8013E664 24420007 */ addiu $v0, $v0, 7
/* D4D68 8013E668 000210C3 */ sra $v0, $v0, 3
/* D4D6C 8013E66C 304201FF */ andi $v0, $v0, 0x1ff
/* D4D70 8013E670 00021240 */ sll $v0, $v0, 9
/* D4D74 8013E674 00481025 */ or $v0, $v0, $t0
/* D4D78 8013E678 ACA20030 */ sw $v0, 0x30($a1)
/* D4D7C 8013E67C 24A20040 */ addiu $v0, $a1, 0x40
/* D4D80 8013E680 ACAB0034 */ sw $t3, 0x34($a1)
/* D4D84 8013E684 ACE20000 */ sw $v0, ($a3)
/* D4D88 8013E688 3C020200 */ lui $v0, 0x200
/* D4D8C 8013E68C ACA2003C */ sw $v0, 0x3c($a1)
/* D4D90 8013E690 24A20048 */ addiu $v0, $a1, 0x48
/* D4D94 8013E694 ACAC0038 */ sw $t4, 0x38($a1)
/* D4D98 8013E698 ACE20000 */ sw $v0, ($a3)
/* D4D9C 8013E69C 3C02F200 */ lui $v0, 0xf200
/* D4DA0 8013E6A0 ACA20040 */ sw $v0, 0x40($a1)
/* D4DA4 8013E6A4 ACAD0044 */ sw $t5, 0x44($a1)
/* D4DA8 8013E6A8 92630002 */ lbu $v1, 2($s3)
/* D4DAC 8013E6AC 24020002 */ addiu $v0, $zero, 2
/* D4DB0 8013E6B0 1062000D */ beq $v1, $v0, .L8013E6E8
/* D4DB4 8013E6B4 28620003 */ slti $v0, $v1, 3
/* D4DB8 8013E6B8 10400005 */ beqz $v0, .L8013E6D0
/* D4DBC 8013E6BC 24020007 */ addiu $v0, $zero, 7
/* D4DC0 8013E6C0 1060000D */ beqz $v1, .L8013E6F8
/* D4DC4 8013E6C4 00000000 */ nop
/* D4DC8 8013E6C8 0804F9BE */ j .L8013E6F8
/* D4DCC 8013E6CC 00000000 */ nop
.L8013E6D0:
/* D4DD0 8013E6D0 10620008 */ beq $v1, $v0, .L8013E6F4
/* D4DD4 8013E6D4 2402000B */ addiu $v0, $zero, 0xb
/* D4DD8 8013E6D8 14620007 */ bne $v1, $v0, .L8013E6F8
/* D4DDC 8013E6DC 00000000 */ nop
/* D4DE0 8013E6E0 0804F9BE */ j .L8013E6F8
/* D4DE4 8013E6E4 240E00FF */ addiu $t6, $zero, 0xff
.L8013E6E8:
/* D4DE8 8013E6E8 8E6E0038 */ lw $t6, 0x38($s3)
/* D4DEC 8013E6EC 0804F9BE */ j .L8013E6F8
/* D4DF0 8013E6F0 00000000 */ nop
.L8013E6F4:
/* D4DF4 8013E6F4 240EFFFF */ addiu $t6, $zero, -1
.L8013E6F8:
/* D4DF8 8013E6F8 3C028015 */ lui $v0, %hi(fold_currentImage)
/* D4DFC 8013E6FC 8C42EE10 */ lw $v0, %lo(fold_currentImage)($v0)
/* D4E00 8013E700 0280202D */ daddu $a0, $s4, $zero
/* D4E04 8013E704 94470008 */ lhu $a3, 8($v0)
/* D4E08 8013E708 9442000A */ lhu $v0, 0xa($v0)
/* D4E0C 8013E70C 0000282D */ daddu $a1, $zero, $zero
/* D4E10 8013E710 AFAE0014 */ sw $t6, 0x14($sp)
/* D4E14 8013E714 AFA20010 */ sw $v0, 0x10($sp)
/* D4E18 8013E718 8E620078 */ lw $v0, 0x78($s3)
/* D4E1C 8013E71C 00A0302D */ daddu $a2, $a1, $zero
/* D4E20 8013E720 0C052071 */ jal create_shading_palette
/* D4E24 8013E724 AFA20018 */ sw $v0, 0x18($sp)
/* D4E28 8013E728 0804FA25 */ j .L8013E894
/* D4E2C 8013E72C 3C07D838 */ lui $a3, 0xd838
.L8013E730:
/* D4E30 8013E730 3C08070A */ lui $t0, 0x70a
.L8013E734:
/* D4E34 8013E734 35080280 */ ori $t0, $t0, 0x280
/* D4E38 8013E738 3C0A000A */ lui $t2, 0xa
/* D4E3C 8013E73C 354A0280 */ ori $t2, $t2, 0x280
/* D4E40 8013E740 3C09F240 */ lui $t1, 0xf240
/* D4E44 8013E744 3C07800A */ lui $a3, %hi(gMasterGfxPos)
/* D4E48 8013E748 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos)
/* D4E4C 8013E74C 8CE50000 */ lw $a1, ($a3)
/* D4E50 8013E750 35290400 */ ori $t1, $t1, 0x400
/* D4E54 8013E754 00A0202D */ daddu $a0, $a1, $zero
/* D4E58 8013E758 24A50008 */ addiu $a1, $a1, 8
/* D4E5C 8013E75C ACE50000 */ sw $a1, ($a3)
/* D4E60 8013E760 3C068015 */ lui $a2, %hi(fold_currentImage)
/* D4E64 8013E764 8CC6EE10 */ lw $a2, %lo(fold_currentImage)($a2)
/* D4E68 8013E768 24A20008 */ addiu $v0, $a1, 8
/* D4E6C 8013E76C ACE20000 */ sw $v0, ($a3)
/* D4E70 8013E770 94C20008 */ lhu $v0, 8($a2)
/* D4E74 8013E774 24A30010 */ addiu $v1, $a1, 0x10
/* D4E78 8013E778 ACE30000 */ sw $v1, ($a3)
/* D4E7C 8013E77C 3C03FD48 */ lui $v1, 0xfd48
/* D4E80 8013E780 00021042 */ srl $v0, $v0, 1
/* D4E84 8013E784 2442FFFF */ addiu $v0, $v0, -1
/* D4E88 8013E788 30420FFF */ andi $v0, $v0, 0xfff
/* D4E8C 8013E78C 00431025 */ or $v0, $v0, $v1
/* D4E90 8013E790 AC820000 */ sw $v0, ($a0)
/* D4E94 8013E794 8CC30000 */ lw $v1, ($a2)
/* D4E98 8013E798 24A20018 */ addiu $v0, $a1, 0x18
/* D4E9C 8013E79C ACE20000 */ sw $v0, ($a3)
/* D4EA0 8013E7A0 AC830004 */ sw $v1, 4($a0)
/* D4EA4 8013E7A4 94C20008 */ lhu $v0, 8($a2)
/* D4EA8 8013E7A8 24A30020 */ addiu $v1, $a1, 0x20
/* D4EAC 8013E7AC ACE30000 */ sw $v1, ($a3)
/* D4EB0 8013E7B0 3C03E600 */ lui $v1, 0xe600
/* D4EB4 8013E7B4 ACA30008 */ sw $v1, 8($a1)
/* D4EB8 8013E7B8 3C03F400 */ lui $v1, 0xf400
/* D4EBC 8013E7BC ACA30010 */ sw $v1, 0x10($a1)
/* D4EC0 8013E7C0 3C03F548 */ lui $v1, 0xf548
/* D4EC4 8013E7C4 ACA80004 */ sw $t0, 4($a1)
/* D4EC8 8013E7C8 ACA0000C */ sw $zero, 0xc($a1)
/* D4ECC 8013E7CC 00021042 */ srl $v0, $v0, 1
/* D4ED0 8013E7D0 24420007 */ addiu $v0, $v0, 7
/* D4ED4 8013E7D4 000210C3 */ sra $v0, $v0, 3
/* D4ED8 8013E7D8 304201FF */ andi $v0, $v0, 0x1ff
/* D4EDC 8013E7DC 00021240 */ sll $v0, $v0, 9
/* D4EE0 8013E7E0 00431025 */ or $v0, $v0, $v1
/* D4EE4 8013E7E4 ACA20000 */ sw $v0, ($a1)
/* D4EE8 8013E7E8 94C20008 */ lhu $v0, 8($a2)
/* D4EEC 8013E7EC 94C3000A */ lhu $v1, 0xa($a2)
/* D4EF0 8013E7F0 3C04E700 */ lui $a0, 0xe700
/* D4EF4 8013E7F4 ACA40018 */ sw $a0, 0x18($a1)
/* D4EF8 8013E7F8 3C040700 */ lui $a0, 0x700
/* D4EFC 8013E7FC ACA0001C */ sw $zero, 0x1c($a1)
/* D4F00 8013E800 2442FFFF */ addiu $v0, $v0, -1
/* D4F04 8013E804 00021040 */ sll $v0, $v0, 1
/* D4F08 8013E808 30420FFF */ andi $v0, $v0, 0xfff
/* D4F0C 8013E80C 00021300 */ sll $v0, $v0, 0xc
/* D4F10 8013E810 2463FFFF */ addiu $v1, $v1, -1
/* D4F14 8013E814 00031880 */ sll $v1, $v1, 2
/* D4F18 8013E818 30630FFF */ andi $v1, $v1, 0xfff
/* D4F1C 8013E81C 00641825 */ or $v1, $v1, $a0
/* D4F20 8013E820 00431025 */ or $v0, $v0, $v1
/* D4F24 8013E824 ACA20014 */ sw $v0, 0x14($a1)
/* D4F28 8013E828 94C20008 */ lhu $v0, 8($a2)
/* D4F2C 8013E82C 24A30028 */ addiu $v1, $a1, 0x28
/* D4F30 8013E830 ACE30000 */ sw $v1, ($a3)
/* D4F34 8013E834 3C03F540 */ lui $v1, 0xf540
/* D4F38 8013E838 ACAA0024 */ sw $t2, 0x24($a1)
/* D4F3C 8013E83C ACA90028 */ sw $t1, 0x28($a1)
/* D4F40 8013E840 00021042 */ srl $v0, $v0, 1
/* D4F44 8013E844 24420007 */ addiu $v0, $v0, 7
/* D4F48 8013E848 000210C3 */ sra $v0, $v0, 3
/* D4F4C 8013E84C 304201FF */ andi $v0, $v0, 0x1ff
/* D4F50 8013E850 00021240 */ sll $v0, $v0, 9
/* D4F54 8013E854 00431025 */ or $v0, $v0, $v1
/* D4F58 8013E858 ACA20020 */ sw $v0, 0x20($a1)
/* D4F5C 8013E85C 94C30008 */ lhu $v1, 8($a2)
/* D4F60 8013E860 24A20030 */ addiu $v0, $a1, 0x30
/* D4F64 8013E864 ACE20000 */ sw $v0, ($a3)
/* D4F68 8013E868 94C2000A */ lhu $v0, 0xa($a2)
/* D4F6C 8013E86C 246300FF */ addiu $v1, $v1, 0xff
/* D4F70 8013E870 00031880 */ sll $v1, $v1, 2
/* D4F74 8013E874 30630FFF */ andi $v1, $v1, 0xfff
/* D4F78 8013E878 00031B00 */ sll $v1, $v1, 0xc
/* D4F7C 8013E87C 244200FF */ addiu $v0, $v0, 0xff
/* D4F80 8013E880 00021080 */ sll $v0, $v0, 2
/* D4F84 8013E884 30420FFF */ andi $v0, $v0, 0xfff
/* D4F88 8013E888 00621825 */ or $v1, $v1, $v0
/* D4F8C 8013E88C ACA3002C */ sw $v1, 0x2c($a1)
.L8013E890:
/* D4F90 8013E890 3C07D838 */ lui $a3, 0xd838
.L8013E894:
/* D4F94 8013E894 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* D4F98 8013E898 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* D4F9C 8013E89C 8CA40000 */ lw $a0, ($a1)
/* D4FA0 8013E8A0 34E70002 */ ori $a3, $a3, 2
/* D4FA4 8013E8A4 0080302D */ daddu $a2, $a0, $zero
/* D4FA8 8013E8A8 24840008 */ addiu $a0, $a0, 8
/* D4FAC 8013E8AC ACA40000 */ sw $a0, ($a1)
/* D4FB0 8013E8B0 3C028007 */ lui $v0, %hi(gCurrentDisplayContextIndex)
/* D4FB4 8013E8B4 8C4241F4 */ lw $v0, %lo(gCurrentDisplayContextIndex)($v0)
/* D4FB8 8013E8B8 3C03DE00 */ lui $v1, 0xde00
/* D4FBC 8013E8BC ACC30000 */ sw $v1, ($a2)
/* D4FC0 8013E8C0 00021080 */ sll $v0, $v0, 2
/* D4FC4 8013E8C4 02621021 */ addu $v0, $s3, $v0
/* D4FC8 8013E8C8 8C430070 */ lw $v1, 0x70($v0)
/* D4FCC 8013E8CC 24820008 */ addiu $v0, $a0, 8
/* D4FD0 8013E8D0 ACA20000 */ sw $v0, ($a1)
/* D4FD4 8013E8D4 24020040 */ addiu $v0, $zero, 0x40
/* D4FD8 8013E8D8 ACC30004 */ sw $v1, 4($a2)
/* D4FDC 8013E8DC AC870000 */ sw $a3, ($a0)
/* D4FE0 8013E8E0 AC820004 */ sw $v0, 4($a0)
.L8013E8E4:
/* D4FE4 8013E8E4 8FBF0034 */ lw $ra, 0x34($sp)
/* D4FE8 8013E8E8 8FB40030 */ lw $s4, 0x30($sp)
/* D4FEC 8013E8EC 8FB3002C */ lw $s3, 0x2c($sp)
/* D4FF0 8013E8F0 8FB20028 */ lw $s2, 0x28($sp)
/* D4FF4 8013E8F4 8FB10024 */ lw $s1, 0x24($sp)
/* D4FF8 8013E8F8 8FB00020 */ lw $s0, 0x20($sp)
/* D4FFC 8013E8FC 03E00008 */ jr $ra
/* D5000 8013E900 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,347 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8013E904
/* D5004 8013E904 27BDFFD0 */ addiu $sp, $sp, -0x30
/* D5008 8013E908 AFB40020 */ sw $s4, 0x20($sp)
/* D500C 8013E90C 0080A02D */ daddu $s4, $a0, $zero
/* D5010 8013E910 24050002 */ addiu $a1, $zero, 2
/* D5014 8013E914 AFBF002C */ sw $ra, 0x2c($sp)
/* D5018 8013E918 AFB60028 */ sw $s6, 0x28($sp)
/* D501C 8013E91C AFB50024 */ sw $s5, 0x24($sp)
/* D5020 8013E920 AFB3001C */ sw $s3, 0x1c($sp)
/* D5024 8013E924 AFB20018 */ sw $s2, 0x18($sp)
/* D5028 8013E928 AFB10014 */ sw $s1, 0x14($sp)
/* D502C 8013E92C AFB00010 */ sw $s0, 0x10($sp)
/* D5030 8013E930 8E93002C */ lw $s3, 0x2c($s4)
/* D5034 8013E934 3C120001 */ lui $s2, 1
/* D5038 8013E938 96640008 */ lhu $a0, 8($s3)
/* D503C 8013E93C 0C04BF84 */ jal integer_log
/* D5040 8013E940 36521630 */ ori $s2, $s2, 0x1630
/* D5044 8013E944 24050002 */ addiu $a1, $zero, 2
/* D5048 8013E948 9664000A */ lhu $a0, 0xa($s3)
/* D504C 8013E94C 0C04BF84 */ jal integer_log
/* D5050 8013E950 0040B02D */ daddu $s6, $v0, $zero
/* D5054 8013E954 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* D5058 8013E958 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* D505C 8013E95C 3C11800A */ lui $s1, %hi(gDisplayContext)
/* D5060 8013E960 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* D5064 8013E964 96040000 */ lhu $a0, ($s0)
/* D5068 8013E968 3C068015 */ lui $a2, %hi(fold_currentImage)
/* D506C 8013E96C 8CC6EE10 */ lw $a2, %lo(fold_currentImage)($a2)
/* D5070 8013E970 8E230000 */ lw $v1, ($s1)
/* D5074 8013E974 3C014059 */ lui $at, 0x4059
/* D5078 8013E978 44811800 */ mtc1 $at, $f3
/* D507C 8013E97C 44801000 */ mtc1 $zero, $f2
/* D5080 8013E980 3C073F80 */ lui $a3, 0x3f80
/* D5084 8013E984 00042180 */ sll $a0, $a0, 6
/* D5088 8013E988 00922021 */ addu $a0, $a0, $s2
/* D508C 8013E98C 00642021 */ addu $a0, $v1, $a0
/* D5090 8013E990 94C50008 */ lhu $a1, 8($a2)
/* D5094 8013E994 94C3000A */ lhu $v1, 0xa($a2)
/* D5098 8013E998 44850000 */ mtc1 $a1, $f0
/* D509C 8013E99C 00000000 */ nop
/* D50A0 8013E9A0 46800020 */ cvt.s.w $f0, $f0
/* D50A4 8013E9A4 46000021 */ cvt.d.s $f0, $f0
/* D50A8 8013E9A8 46220003 */ div.d $f0, $f0, $f2
/* D50AC 8013E9AC 46200020 */ cvt.s.d $f0, $f0
/* D50B0 8013E9B0 44050000 */ mfc1 $a1, $f0
/* D50B4 8013E9B4 44830000 */ mtc1 $v1, $f0
/* D50B8 8013E9B8 00000000 */ nop
/* D50BC 8013E9BC 46800020 */ cvt.s.w $f0, $f0
/* D50C0 8013E9C0 46000021 */ cvt.d.s $f0, $f0
/* D50C4 8013E9C4 46220003 */ div.d $f0, $f0, $f2
/* D50C8 8013E9C8 46200020 */ cvt.s.d $f0, $f0
/* D50CC 8013E9CC 44060000 */ mfc1 $a2, $f0
/* D50D0 8013E9D0 0C019DC0 */ jal guScale
/* D50D4 8013E9D4 0040A82D */ daddu $s5, $v0, $zero
/* D50D8 8013E9D8 3C06E200 */ lui $a2, 0xe200
/* D50DC 8013E9DC 34C6001C */ ori $a2, $a2, 0x1c
/* D50E0 8013E9E0 3C050050 */ lui $a1, 0x50
/* D50E4 8013E9E4 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* D50E8 8013E9E8 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* D50EC 8013E9EC 8D070000 */ lw $a3, ($t0)
/* D50F0 8013E9F0 34A54E50 */ ori $a1, $a1, 0x4e50
/* D50F4 8013E9F4 00E0202D */ daddu $a0, $a3, $zero
/* D50F8 8013E9F8 24E70008 */ addiu $a3, $a3, 8
/* D50FC 8013E9FC AD070000 */ sw $a3, ($t0)
/* D5100 8013EA00 96020000 */ lhu $v0, ($s0)
/* D5104 8013EA04 3C03DA38 */ lui $v1, 0xda38
/* D5108 8013EA08 AC830000 */ sw $v1, ($a0)
/* D510C 8013EA0C 24430001 */ addiu $v1, $v0, 1
/* D5110 8013EA10 3042FFFF */ andi $v0, $v0, 0xffff
/* D5114 8013EA14 00021180 */ sll $v0, $v0, 6
/* D5118 8013EA18 A6030000 */ sh $v1, ($s0)
/* D511C 8013EA1C 8E230000 */ lw $v1, ($s1)
/* D5120 8013EA20 00521021 */ addu $v0, $v0, $s2
/* D5124 8013EA24 00621821 */ addu $v1, $v1, $v0
/* D5128 8013EA28 3C028000 */ lui $v0, 0x8000
/* D512C 8013EA2C 00621821 */ addu $v1, $v1, $v0
/* D5130 8013EA30 24E20008 */ addiu $v0, $a3, 8
/* D5134 8013EA34 AC830004 */ sw $v1, 4($a0)
/* D5138 8013EA38 AD020000 */ sw $v0, ($t0)
/* D513C 8013EA3C ACE60000 */ sw $a2, ($a3)
/* D5140 8013EA40 ACE50004 */ sw $a1, 4($a3)
/* D5144 8013EA44 92830002 */ lbu $v1, 2($s4)
/* D5148 8013EA48 2402000F */ addiu $v0, $zero, 0xf
/* D514C 8013EA4C 14620010 */ bne $v1, $v0, .L8013EA90
/* D5150 8013EA50 3C04FC12 */ lui $a0, 0xfc12
/* D5154 8013EA54 3C05FC12 */ lui $a1, 0xfc12
/* D5158 8013EA58 34A51624 */ ori $a1, $a1, 0x1624
/* D515C 8013EA5C 3C04FF2F */ lui $a0, 0xff2f
/* D5160 8013EA60 3484FFFF */ ori $a0, $a0, 0xffff
/* D5164 8013EA64 24E20010 */ addiu $v0, $a3, 0x10
/* D5168 8013EA68 AD020000 */ sw $v0, ($t0)
/* D516C 8013EA6C 8E830030 */ lw $v1, 0x30($s4)
/* D5170 8013EA70 3C02FA00 */ lui $v0, 0xfa00
/* D5174 8013EA74 ACE20008 */ sw $v0, 8($a3)
/* D5178 8013EA78 24E20018 */ addiu $v0, $a3, 0x18
/* D517C 8013EA7C AD020000 */ sw $v0, ($t0)
/* D5180 8013EA80 ACE50010 */ sw $a1, 0x10($a3)
/* D5184 8013EA84 ACE40014 */ sw $a0, 0x14($a3)
/* D5188 8013EA88 0804FAAA */ j .L8013EAA8
/* D518C 8013EA8C 306300FF */ andi $v1, $v1, 0xff
.L8013EA90:
/* D5190 8013EA90 34841824 */ ori $a0, $a0, 0x1824
/* D5194 8013EA94 3C03FF33 */ lui $v1, 0xff33
/* D5198 8013EA98 3463FFFF */ ori $v1, $v1, 0xffff
/* D519C 8013EA9C 24E20010 */ addiu $v0, $a3, 0x10
/* D51A0 8013EAA0 AD020000 */ sw $v0, ($t0)
/* D51A4 8013EAA4 ACE40008 */ sw $a0, 8($a3)
.L8013EAA8:
/* D51A8 8013EAA8 ACE3000C */ sw $v1, 0xc($a3)
/* D51AC 8013EAAC 3C02E300 */ lui $v0, 0xe300
/* D51B0 8013EAB0 34421001 */ ori $v0, $v0, 0x1001
/* D51B4 8013EAB4 3C05F500 */ lui $a1, 0xf500
/* D51B8 8013EAB8 34A50100 */ ori $a1, $a1, 0x100
/* D51BC 8013EABC 3C060703 */ lui $a2, 0x703
/* D51C0 8013EAC0 34C6C000 */ ori $a2, $a2, 0xc000
/* D51C4 8013EAC4 3C07800A */ lui $a3, %hi(gMasterGfxPos)
/* D51C8 8013EAC8 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos)
/* D51CC 8013EACC 3C0BF240 */ lui $t3, 0xf240
/* D51D0 8013EAD0 3C080700 */ lui $t0, 0x700
/* D51D4 8013EAD4 3C0AE600 */ lui $t2, 0xe600
/* D51D8 8013EAD8 3C09E700 */ lui $t1, 0xe700
/* D51DC 8013EADC 8CE40000 */ lw $a0, ($a3)
/* D51E0 8013EAE0 356B0400 */ ori $t3, $t3, 0x400
/* D51E4 8013EAE4 0080182D */ daddu $v1, $a0, $zero
/* D51E8 8013EAE8 24840008 */ addiu $a0, $a0, 8
/* D51EC 8013EAEC ACE40000 */ sw $a0, ($a3)
/* D51F0 8013EAF0 AC620000 */ sw $v0, ($v1)
/* D51F4 8013EAF4 34028000 */ ori $v0, $zero, 0x8000
/* D51F8 8013EAF8 AC620004 */ sw $v0, 4($v1)
/* D51FC 8013EAFC 24820008 */ addiu $v0, $a0, 8
/* D5200 8013EB00 ACE20000 */ sw $v0, ($a3)
/* D5204 8013EB04 3C02FD10 */ lui $v0, 0xfd10
/* D5208 8013EB08 AC820000 */ sw $v0, ($a0)
/* D520C 8013EB0C 24820010 */ addiu $v0, $a0, 0x10
/* D5210 8013EB10 ACE20000 */ sw $v0, ($a3)
/* D5214 8013EB14 8E630004 */ lw $v1, 4($s3)
/* D5218 8013EB18 3C02E800 */ lui $v0, 0xe800
/* D521C 8013EB1C AC820008 */ sw $v0, 8($a0)
/* D5220 8013EB20 24820018 */ addiu $v0, $a0, 0x18
/* D5224 8013EB24 AC80000C */ sw $zero, 0xc($a0)
/* D5228 8013EB28 ACE20000 */ sw $v0, ($a3)
/* D522C 8013EB2C 24820020 */ addiu $v0, $a0, 0x20
/* D5230 8013EB30 AC850010 */ sw $a1, 0x10($a0)
/* D5234 8013EB34 AC880014 */ sw $t0, 0x14($a0)
/* D5238 8013EB38 ACE20000 */ sw $v0, ($a3)
/* D523C 8013EB3C 24820028 */ addiu $v0, $a0, 0x28
/* D5240 8013EB40 AC8A0018 */ sw $t2, 0x18($a0)
/* D5244 8013EB44 AC80001C */ sw $zero, 0x1c($a0)
/* D5248 8013EB48 ACE20000 */ sw $v0, ($a3)
/* D524C 8013EB4C 3C02F000 */ lui $v0, 0xf000
/* D5250 8013EB50 AC820020 */ sw $v0, 0x20($a0)
/* D5254 8013EB54 24820030 */ addiu $v0, $a0, 0x30
/* D5258 8013EB58 AC860024 */ sw $a2, 0x24($a0)
/* D525C 8013EB5C ACE20000 */ sw $v0, ($a3)
/* D5260 8013EB60 24820038 */ addiu $v0, $a0, 0x38
/* D5264 8013EB64 32A5000F */ andi $a1, $s5, 0xf
/* D5268 8013EB68 00052B80 */ sll $a1, $a1, 0xe
/* D526C 8013EB6C 32C6000F */ andi $a2, $s6, 0xf
/* D5270 8013EB70 00063100 */ sll $a2, $a2, 4
/* D5274 8013EB74 AC890028 */ sw $t1, 0x28($a0)
/* D5278 8013EB78 AC80002C */ sw $zero, 0x2c($a0)
/* D527C 8013EB7C ACE20000 */ sw $v0, ($a3)
/* D5280 8013EB80 AC830004 */ sw $v1, 4($a0)
/* D5284 8013EB84 96620008 */ lhu $v0, 8($s3)
/* D5288 8013EB88 24830040 */ addiu $v1, $a0, 0x40
/* D528C 8013EB8C ACE30000 */ sw $v1, ($a3)
/* D5290 8013EB90 3C03FD48 */ lui $v1, 0xfd48
/* D5294 8013EB94 00021042 */ srl $v0, $v0, 1
/* D5298 8013EB98 2442FFFF */ addiu $v0, $v0, -1
/* D529C 8013EB9C 30420FFF */ andi $v0, $v0, 0xfff
/* D52A0 8013EBA0 00431025 */ or $v0, $v0, $v1
/* D52A4 8013EBA4 AC820030 */ sw $v0, 0x30($a0)
/* D52A8 8013EBA8 8E630000 */ lw $v1, ($s3)
/* D52AC 8013EBAC 24820048 */ addiu $v0, $a0, 0x48
/* D52B0 8013EBB0 ACE20000 */ sw $v0, ($a3)
/* D52B4 8013EBB4 AC830034 */ sw $v1, 0x34($a0)
/* D52B8 8013EBB8 00C81825 */ or $v1, $a2, $t0
/* D52BC 8013EBBC 96620008 */ lhu $v0, 8($s3)
/* D52C0 8013EBC0 00A31825 */ or $v1, $a1, $v1
/* D52C4 8013EBC4 AC83003C */ sw $v1, 0x3c($a0)
/* D52C8 8013EBC8 3C03F548 */ lui $v1, 0xf548
/* D52CC 8013EBCC 00021042 */ srl $v0, $v0, 1
/* D52D0 8013EBD0 24420007 */ addiu $v0, $v0, 7
/* D52D4 8013EBD4 000210C3 */ sra $v0, $v0, 3
/* D52D8 8013EBD8 304201FF */ andi $v0, $v0, 0x1ff
/* D52DC 8013EBDC 00021240 */ sll $v0, $v0, 9
/* D52E0 8013EBE0 00431025 */ or $v0, $v0, $v1
/* D52E4 8013EBE4 AC820038 */ sw $v0, 0x38($a0)
/* D52E8 8013EBE8 3C02F400 */ lui $v0, 0xf400
/* D52EC 8013EBEC AC8A0040 */ sw $t2, 0x40($a0)
/* D52F0 8013EBF0 AC800044 */ sw $zero, 0x44($a0)
/* D52F4 8013EBF4 AC820048 */ sw $v0, 0x48($a0)
/* D52F8 8013EBF8 96620008 */ lhu $v0, 8($s3)
/* D52FC 8013EBFC 9663000A */ lhu $v1, 0xa($s3)
/* D5300 8013EC00 00A62825 */ or $a1, $a1, $a2
/* D5304 8013EC04 AC890050 */ sw $t1, 0x50($a0)
/* D5308 8013EC08 AC800054 */ sw $zero, 0x54($a0)
/* D530C 8013EC0C 2442FFFF */ addiu $v0, $v0, -1
/* D5310 8013EC10 00021040 */ sll $v0, $v0, 1
/* D5314 8013EC14 30420FFF */ andi $v0, $v0, 0xfff
/* D5318 8013EC18 00021300 */ sll $v0, $v0, 0xc
/* D531C 8013EC1C 2463FFFF */ addiu $v1, $v1, -1
/* D5320 8013EC20 00031880 */ sll $v1, $v1, 2
/* D5324 8013EC24 30630FFF */ andi $v1, $v1, 0xfff
/* D5328 8013EC28 00681825 */ or $v1, $v1, $t0
/* D532C 8013EC2C 00431025 */ or $v0, $v0, $v1
/* D5330 8013EC30 AC82004C */ sw $v0, 0x4c($a0)
/* D5334 8013EC34 96620008 */ lhu $v0, 8($s3)
/* D5338 8013EC38 3C03F540 */ lui $v1, 0xf540
/* D533C 8013EC3C AC85005C */ sw $a1, 0x5c($a0)
/* D5340 8013EC40 AC8B0060 */ sw $t3, 0x60($a0)
/* D5344 8013EC44 00021042 */ srl $v0, $v0, 1
/* D5348 8013EC48 24420007 */ addiu $v0, $v0, 7
/* D534C 8013EC4C 000210C3 */ sra $v0, $v0, 3
/* D5350 8013EC50 304201FF */ andi $v0, $v0, 0x1ff
/* D5354 8013EC54 00021240 */ sll $v0, $v0, 9
/* D5358 8013EC58 00431025 */ or $v0, $v0, $v1
/* D535C 8013EC5C AC820058 */ sw $v0, 0x58($a0)
/* D5360 8013EC60 96630008 */ lhu $v1, 8($s3)
/* D5364 8013EC64 9662000A */ lhu $v0, 0xa($s3)
/* D5368 8013EC68 246300FF */ addiu $v1, $v1, 0xff
/* D536C 8013EC6C 00031880 */ sll $v1, $v1, 2
/* D5370 8013EC70 30630FFF */ andi $v1, $v1, 0xfff
/* D5374 8013EC74 00031B00 */ sll $v1, $v1, 0xc
/* D5378 8013EC78 244200FF */ addiu $v0, $v0, 0xff
/* D537C 8013EC7C 00021080 */ sll $v0, $v0, 2
/* D5380 8013EC80 30420FFF */ andi $v0, $v0, 0xfff
/* D5384 8013EC84 00621825 */ or $v1, $v1, $v0
/* D5388 8013EC88 AC830064 */ sw $v1, 0x64($a0)
/* D538C 8013EC8C C684004C */ lwc1 $f4, 0x4c($s4)
/* D5390 8013EC90 C6860050 */ lwc1 $f6, 0x50($s4)
/* D5394 8013EC94 96630008 */ lhu $v1, 8($s3)
/* D5398 8013EC98 9662000A */ lhu $v0, 0xa($s3)
/* D539C 8013EC9C 4600220D */ trunc.w.s $f8, $f4
/* D53A0 8013ECA0 44054000 */ mfc1 $a1, $f8
/* D53A4 8013ECA4 4600320D */ trunc.w.s $f8, $f6
/* D53A8 8013ECA8 44064000 */ mfc1 $a2, $f8
/* D53AC 8013ECAC 00031880 */ sll $v1, $v1, 2
/* D53B0 8013ECB0 44831000 */ mtc1 $v1, $f2
/* D53B4 8013ECB4 00000000 */ nop
/* D53B8 8013ECB8 468010A0 */ cvt.s.w $f2, $f2
/* D53BC 8013ECBC 00021080 */ sll $v0, $v0, 2
/* D53C0 8013ECC0 44820000 */ mtc1 $v0, $f0
/* D53C4 8013ECC4 00000000 */ nop
/* D53C8 8013ECC8 46800020 */ cvt.s.w $f0, $f0
/* D53CC 8013ECCC 30A50FFF */ andi $a1, $a1, 0xfff
/* D53D0 8013ECD0 00052B00 */ sll $a1, $a1, 0xc
/* D53D4 8013ECD4 30C60FFF */ andi $a2, $a2, 0xfff
/* D53D8 8013ECD8 3C02F200 */ lui $v0, 0xf200
/* D53DC 8013ECDC 46041080 */ add.s $f2, $f2, $f4
/* D53E0 8013ECE0 00C23025 */ or $a2, $a2, $v0
/* D53E4 8013ECE4 00A62825 */ or $a1, $a1, $a2
/* D53E8 8013ECE8 46060000 */ add.s $f0, $f0, $f6
/* D53EC 8013ECEC AC850068 */ sw $a1, 0x68($a0)
/* D53F0 8013ECF0 4600120D */ trunc.w.s $f8, $f2
/* D53F4 8013ECF4 44024000 */ mfc1 $v0, $f8
/* D53F8 8013ECF8 4600020D */ trunc.w.s $f8, $f0
/* D53FC 8013ECFC 44034000 */ mfc1 $v1, $f8
/* D5400 8013ED00 30420FFF */ andi $v0, $v0, 0xfff
/* D5404 8013ED04 00021300 */ sll $v0, $v0, 0xc
/* D5408 8013ED08 30630FFF */ andi $v1, $v1, 0xfff
/* D540C 8013ED0C 00431025 */ or $v0, $v0, $v1
/* D5410 8013ED10 AC82006C */ sw $v0, 0x6c($a0)
/* D5414 8013ED14 C662000C */ lwc1 $f2, 0xc($s3)
/* D5418 8013ED18 468010A0 */ cvt.s.w $f2, $f2
/* D541C 8013ED1C C680004C */ lwc1 $f0, 0x4c($s4)
/* D5420 8013ED20 96620008 */ lhu $v0, 8($s3)
/* D5424 8013ED24 46020000 */ add.s $f0, $f0, $f2
/* D5428 8013ED28 00021080 */ sll $v0, $v0, 2
/* D542C 8013ED2C 4600020D */ trunc.w.s $f8, $f0
/* D5430 8013ED30 44034000 */ mfc1 $v1, $f8
/* D5434 8013ED34 14400002 */ bnez $v0, .L8013ED40
/* D5438 8013ED38 0062001A */ div $zero, $v1, $v0
/* D543C 8013ED3C 0007000D */ break 7
.L8013ED40:
/* D5440 8013ED40 2401FFFF */ addiu $at, $zero, -1
/* D5444 8013ED44 14410004 */ bne $v0, $at, .L8013ED58
/* D5448 8013ED48 3C018000 */ lui $at, 0x8000
/* D544C 8013ED4C 14610002 */ bne $v1, $at, .L8013ED58
/* D5450 8013ED50 00000000 */ nop
/* D5454 8013ED54 0006000D */ break 6
.L8013ED58:
/* D5458 8013ED58 00001010 */ mfhi $v0
/* D545C 8013ED5C 44820000 */ mtc1 $v0, $f0
/* D5460 8013ED60 00000000 */ nop
/* D5464 8013ED64 46800020 */ cvt.s.w $f0, $f0
/* D5468 8013ED68 E680004C */ swc1 $f0, 0x4c($s4)
/* D546C 8013ED6C C6620010 */ lwc1 $f2, 0x10($s3)
/* D5470 8013ED70 468010A0 */ cvt.s.w $f2, $f2
/* D5474 8013ED74 C6800050 */ lwc1 $f0, 0x50($s4)
/* D5478 8013ED78 9662000A */ lhu $v0, 0xa($s3)
/* D547C 8013ED7C 46020000 */ add.s $f0, $f0, $f2
/* D5480 8013ED80 00021080 */ sll $v0, $v0, 2
/* D5484 8013ED84 4600020D */ trunc.w.s $f8, $f0
/* D5488 8013ED88 44034000 */ mfc1 $v1, $f8
/* D548C 8013ED8C 14400002 */ bnez $v0, .L8013ED98
/* D5490 8013ED90 0062001A */ div $zero, $v1, $v0
/* D5494 8013ED94 0007000D */ break 7
.L8013ED98:
/* D5498 8013ED98 2401FFFF */ addiu $at, $zero, -1
/* D549C 8013ED9C 14410004 */ bne $v0, $at, .L8013EDB0
/* D54A0 8013EDA0 3C018000 */ lui $at, 0x8000
/* D54A4 8013EDA4 14610002 */ bne $v1, $at, .L8013EDB0
/* D54A8 8013EDA8 00000000 */ nop
/* D54AC 8013EDAC 0006000D */ break 6
.L8013EDB0:
/* D54B0 8013EDB0 00002810 */ mfhi $a1
/* D54B4 8013EDB4 3C06D838 */ lui $a2, 0xd838
/* D54B8 8013EDB8 34C60002 */ ori $a2, $a2, 2
/* D54BC 8013EDBC 24820050 */ addiu $v0, $a0, 0x50
/* D54C0 8013EDC0 ACE20000 */ sw $v0, ($a3)
/* D54C4 8013EDC4 24820058 */ addiu $v0, $a0, 0x58
/* D54C8 8013EDC8 ACE20000 */ sw $v0, ($a3)
/* D54CC 8013EDCC 24820060 */ addiu $v0, $a0, 0x60
/* D54D0 8013EDD0 ACE20000 */ sw $v0, ($a3)
/* D54D4 8013EDD4 24820068 */ addiu $v0, $a0, 0x68
/* D54D8 8013EDD8 ACE20000 */ sw $v0, ($a3)
/* D54DC 8013EDDC 24820070 */ addiu $v0, $a0, 0x70
/* D54E0 8013EDE0 ACE20000 */ sw $v0, ($a3)
/* D54E4 8013EDE4 24820078 */ addiu $v0, $a0, 0x78
/* D54E8 8013EDE8 44850000 */ mtc1 $a1, $f0
/* D54EC 8013EDEC 00000000 */ nop
/* D54F0 8013EDF0 46800020 */ cvt.s.w $f0, $f0
/* D54F4 8013EDF4 E6800050 */ swc1 $f0, 0x50($s4)
/* D54F8 8013EDF8 ACE20000 */ sw $v0, ($a3)
/* D54FC 8013EDFC 3C02DE00 */ lui $v0, 0xde00
/* D5500 8013EE00 AC820070 */ sw $v0, 0x70($a0)
/* D5504 8013EE04 8E630014 */ lw $v1, 0x14($s3)
/* D5508 8013EE08 24820080 */ addiu $v0, $a0, 0x80
/* D550C 8013EE0C ACE20000 */ sw $v0, ($a3)
/* D5510 8013EE10 24020040 */ addiu $v0, $zero, 0x40
/* D5514 8013EE14 AC860078 */ sw $a2, 0x78($a0)
/* D5518 8013EE18 AC82007C */ sw $v0, 0x7c($a0)
/* D551C 8013EE1C AC830074 */ sw $v1, 0x74($a0)
/* D5520 8013EE20 8FBF002C */ lw $ra, 0x2c($sp)
/* D5524 8013EE24 8FB60028 */ lw $s6, 0x28($sp)
/* D5528 8013EE28 8FB50024 */ lw $s5, 0x24($sp)
/* D552C 8013EE2C 8FB40020 */ lw $s4, 0x20($sp)
/* D5530 8013EE30 8FB3001C */ lw $s3, 0x1c($sp)
/* D5534 8013EE34 8FB20018 */ lw $s2, 0x18($sp)
/* D5538 8013EE38 8FB10014 */ lw $s1, 0x14($sp)
/* D553C 8013EE3C 8FB00010 */ lw $s0, 0x10($sp)
/* D5540 8013EE40 03E00008 */ jr $ra
/* D5544 8013EE44 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,271 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80151100
.double 10.3
dlabel D_80151108
.double 360.0
dlabel D_80151110
.double 11.2
dlabel D_80151118
.double 360.0
dlabel D_80151120
.double 10.8
dlabel D_80151128
.double 360.0
dlabel D_80151130
.double 360.0
.section .text
glabel func_8013EE68
/* D5568 8013EE68 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* D556C 8013EE6C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* D5570 8013EE70 27BDFFB8 */ addiu $sp, $sp, -0x48
/* D5574 8013EE74 AFB20018 */ sw $s2, 0x18($sp)
/* D5578 8013EE78 0080902D */ daddu $s2, $a0, $zero
/* D557C 8013EE7C AFBF002C */ sw $ra, 0x2c($sp)
/* D5580 8013EE80 AFB60028 */ sw $s6, 0x28($sp)
/* D5584 8013EE84 AFB50024 */ sw $s5, 0x24($sp)
/* D5588 8013EE88 AFB40020 */ sw $s4, 0x20($sp)
/* D558C 8013EE8C AFB3001C */ sw $s3, 0x1c($sp)
/* D5590 8013EE90 AFB10014 */ sw $s1, 0x14($sp)
/* D5594 8013EE94 AFB00010 */ sw $s0, 0x10($sp)
/* D5598 8013EE98 F7B80040 */ sdc1 $f24, 0x40($sp)
/* D559C 8013EE9C F7B60038 */ sdc1 $f22, 0x38($sp)
/* D55A0 8013EEA0 F7B40030 */ sdc1 $f20, 0x30($sp)
/* D55A4 8013EEA4 94420134 */ lhu $v0, 0x134($v0)
/* D55A8 8013EEA8 3C018015 */ lui $at, %hi(D_80151100)
/* D55AC 8013EEAC D4221100 */ ldc1 $f2, %lo(D_80151100)($at)
/* D55B0 8013EEB0 44820000 */ mtc1 $v0, $f0
/* D55B4 8013EEB4 00000000 */ nop
/* D55B8 8013EEB8 46800020 */ cvt.s.w $f0, $f0
/* D55BC 8013EEBC 46000021 */ cvt.d.s $f0, $f0
/* D55C0 8013EEC0 46220003 */ div.d $f0, $f0, $f2
/* D55C4 8013EEC4 3C018015 */ lui $at, %hi(D_80151108)
/* D55C8 8013EEC8 D4221108 */ ldc1 $f2, %lo(D_80151108)($at)
/* D55CC 8013EECC 0804FBB6 */ j .L8013EED8
/* D55D0 8013EED0 46200220 */ cvt.s.d $f8, $f0
.L8013EED4:
/* D55D4 8013EED4 46200220 */ cvt.s.d $f8, $f0
.L8013EED8:
/* D55D8 8013EED8 46004021 */ cvt.d.s $f0, $f8
/* D55DC 8013EEDC 4620103C */ c.lt.d $f2, $f0
/* D55E0 8013EEE0 00000000 */ nop
/* D55E4 8013EEE4 4503FFFB */ bc1tl .L8013EED4
/* D55E8 8013EEE8 46220001 */ sub.d $f0, $f0, $f2
/* D55EC 8013EEEC 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* D55F0 8013EEF0 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* D55F4 8013EEF4 94420134 */ lhu $v0, 0x134($v0)
/* D55F8 8013EEF8 3C018015 */ lui $at, %hi(D_80151110)
/* D55FC 8013EEFC D4221110 */ ldc1 $f2, %lo(D_80151110)($at)
/* D5600 8013EF00 24420028 */ addiu $v0, $v0, 0x28
/* D5604 8013EF04 44820000 */ mtc1 $v0, $f0
/* D5608 8013EF08 00000000 */ nop
/* D560C 8013EF0C 46800020 */ cvt.s.w $f0, $f0
/* D5610 8013EF10 46000021 */ cvt.d.s $f0, $f0
/* D5614 8013EF14 46220003 */ div.d $f0, $f0, $f2
/* D5618 8013EF18 3C018015 */ lui $at, %hi(D_80151118)
/* D561C 8013EF1C D4221118 */ ldc1 $f2, %lo(D_80151118)($at)
/* D5620 8013EF20 0804FBCB */ j .L8013EF2C
/* D5624 8013EF24 462001A0 */ cvt.s.d $f6, $f0
.L8013EF28:
/* D5628 8013EF28 462001A0 */ cvt.s.d $f6, $f0
.L8013EF2C:
/* D562C 8013EF2C 46003021 */ cvt.d.s $f0, $f6
/* D5630 8013EF30 4620103C */ c.lt.d $f2, $f0
/* D5634 8013EF34 00000000 */ nop
/* D5638 8013EF38 4503FFFB */ bc1tl .L8013EF28
/* D563C 8013EF3C 46220001 */ sub.d $f0, $f0, $f2
/* D5640 8013EF40 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* D5644 8013EF44 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* D5648 8013EF48 94420134 */ lhu $v0, 0x134($v0)
/* D564C 8013EF4C 3C018015 */ lui $at, %hi(D_80151120)
/* D5650 8013EF50 D4221120 */ ldc1 $f2, %lo(D_80151120)($at)
/* D5654 8013EF54 24420019 */ addiu $v0, $v0, 0x19
/* D5658 8013EF58 44820000 */ mtc1 $v0, $f0
/* D565C 8013EF5C 00000000 */ nop
/* D5660 8013EF60 46800020 */ cvt.s.w $f0, $f0
/* D5664 8013EF64 46000021 */ cvt.d.s $f0, $f0
/* D5668 8013EF68 46220003 */ div.d $f0, $f0, $f2
/* D566C 8013EF6C 3C018015 */ lui $at, %hi(D_80151128)
/* D5670 8013EF70 D4221128 */ ldc1 $f2, %lo(D_80151128)($at)
/* D5674 8013EF74 0804FBE0 */ j .L8013EF80
/* D5678 8013EF78 46200120 */ cvt.s.d $f4, $f0
.L8013EF7C:
/* D567C 8013EF7C 46200120 */ cvt.s.d $f4, $f0
.L8013EF80:
/* D5680 8013EF80 46002021 */ cvt.d.s $f0, $f4
/* D5684 8013EF84 4620103C */ c.lt.d $f2, $f0
/* D5688 8013EF88 00000000 */ nop
/* D568C 8013EF8C 4503FFFB */ bc1tl .L8013EF7C
/* D5690 8013EF90 46220001 */ sub.d $f0, $f0, $f2
/* D5694 8013EF94 E648003C */ swc1 $f8, 0x3c($s2)
/* D5698 8013EF98 46004006 */ mov.s $f0, $f8
/* D569C 8013EF9C 3C018015 */ lui $at, %hi(D_80151130)
/* D56A0 8013EFA0 D4221130 */ ldc1 $f2, %lo(D_80151130)($at)
/* D56A4 8013EFA4 46000021 */ cvt.d.s $f0, $f0
/* D56A8 8013EFA8 E6460040 */ swc1 $f6, 0x40($s2)
/* D56AC 8013EFAC 4620103E */ c.le.d $f2, $f0
/* D56B0 8013EFB0 00000000 */ nop
/* D56B4 8013EFB4 45000004 */ bc1f .L8013EFC8
/* D56B8 8013EFB8 E6440044 */ swc1 $f4, 0x44($s2)
/* D56BC 8013EFBC 46220001 */ sub.d $f0, $f0, $f2
/* D56C0 8013EFC0 46200020 */ cvt.s.d $f0, $f0
/* D56C4 8013EFC4 E640003C */ swc1 $f0, 0x3c($s2)
.L8013EFC8:
/* D56C8 8013EFC8 C6400040 */ lwc1 $f0, 0x40($s2)
/* D56CC 8013EFCC 46000021 */ cvt.d.s $f0, $f0
/* D56D0 8013EFD0 4620103E */ c.le.d $f2, $f0
/* D56D4 8013EFD4 00000000 */ nop
/* D56D8 8013EFD8 45000004 */ bc1f .L8013EFEC
/* D56DC 8013EFDC 00000000 */ nop
/* D56E0 8013EFE0 46220001 */ sub.d $f0, $f0, $f2
/* D56E4 8013EFE4 46200020 */ cvt.s.d $f0, $f0
/* D56E8 8013EFE8 E6400040 */ swc1 $f0, 0x40($s2)
.L8013EFEC:
/* D56EC 8013EFEC C6400044 */ lwc1 $f0, 0x44($s2)
/* D56F0 8013EFF0 46000021 */ cvt.d.s $f0, $f0
/* D56F4 8013EFF4 4620103E */ c.le.d $f2, $f0
/* D56F8 8013EFF8 00000000 */ nop
/* D56FC 8013EFFC 45000004 */ bc1f .L8013F010
/* D5700 8013F000 0000A02D */ daddu $s4, $zero, $zero
/* D5704 8013F004 46220001 */ sub.d $f0, $f0, $f2
/* D5708 8013F008 46200020 */ cvt.s.d $f0, $f0
/* D570C 8013F00C E6400044 */ swc1 $f0, 0x44($s2)
.L8013F010:
/* D5710 8013F010 9642000A */ lhu $v0, 0xa($s2)
/* D5714 8013F014 96430008 */ lhu $v1, 8($s2)
/* D5718 8013F018 92440003 */ lbu $a0, 3($s2)
/* D571C 8013F01C 00431023 */ subu $v0, $v0, $v1
/* D5720 8013F020 0044A823 */ subu $s5, $v0, $a0
/* D5724 8013F024 1AA00067 */ blez $s5, .L8013F1C4
/* D5728 8013F028 0280882D */ daddu $s1, $s4, $zero
/* D572C 8013F02C 3C168015 */ lui $s6, %hi(fold_vtxBuf)
/* D5730 8013F030 26D66950 */ addiu $s6, $s6, %lo(fold_vtxBuf)
/* D5734 8013F034 0280982D */ daddu $s3, $s4, $zero
.L8013F038:
/* D5738 8013F038 44931000 */ mtc1 $s3, $f2
/* D573C 8013F03C 00000000 */ nop
/* D5740 8013F040 468010A0 */ cvt.s.w $f2, $f2
/* D5744 8013F044 00141040 */ sll $v0, $s4, 1
/* D5748 8013F048 00541021 */ addu $v0, $v0, $s4
/* D574C 8013F04C 00021900 */ sll $v1, $v0, 4
/* D5750 8013F050 00621823 */ subu $v1, $v1, $v0
/* D5754 8013F054 00031880 */ sll $v1, $v1, 2
/* D5758 8013F058 C64C003C */ lwc1 $f12, 0x3c($s2)
/* D575C 8013F05C 44830000 */ mtc1 $v1, $f0
/* D5760 8013F060 00000000 */ nop
/* D5764 8013F064 46800020 */ cvt.s.w $f0, $f0
/* D5768 8013F068 46026300 */ add.s $f12, $f12, $f2
/* D576C 8013F06C C6560040 */ lwc1 $f22, 0x40($s2)
/* D5770 8013F070 96500008 */ lhu $s0, 8($s2)
/* D5774 8013F074 4602B580 */ add.s $f22, $f22, $f2
/* D5778 8013F078 C6580044 */ lwc1 $f24, 0x44($s2)
/* D577C 8013F07C 8EC20000 */ lw $v0, ($s6)
/* D5780 8013F080 4602C600 */ add.s $f24, $f24, $f2
/* D5784 8013F084 02118021 */ addu $s0, $s0, $s1
/* D5788 8013F088 00108100 */ sll $s0, $s0, 4
/* D578C 8013F08C 46006300 */ add.s $f12, $f12, $f0
/* D5790 8013F090 02028021 */ addu $s0, $s0, $v0
/* D5794 8013F094 86020000 */ lh $v0, ($s0)
/* D5798 8013F098 4600B580 */ add.s $f22, $f22, $f0
/* D579C 8013F09C 4482A000 */ mtc1 $v0, $f20
/* D57A0 8013F0A0 00000000 */ nop
/* D57A4 8013F0A4 4680A520 */ cvt.s.w $f20, $f20
/* D57A8 8013F0A8 0C00A85B */ jal sin_rad
/* D57AC 8013F0AC 4600C600 */ add.s $f24, $f24, $f0
/* D57B0 8013F0B0 C642001C */ lwc1 $f2, 0x1c($s2)
/* D57B4 8013F0B4 468010A0 */ cvt.s.w $f2, $f2
/* D57B8 8013F0B8 46020002 */ mul.s $f0, $f0, $f2
/* D57BC 8013F0BC 00000000 */ nop
/* D57C0 8013F0C0 4600A500 */ add.s $f20, $f20, $f0
/* D57C4 8013F0C4 4600A28D */ trunc.w.s $f10, $f20
/* D57C8 8013F0C8 44025000 */ mfc1 $v0, $f10
/* D57CC 8013F0CC 00000000 */ nop
/* D57D0 8013F0D0 A6020000 */ sh $v0, ($s0)
/* D57D4 8013F0D4 96500008 */ lhu $s0, 8($s2)
/* D57D8 8013F0D8 8EC20000 */ lw $v0, ($s6)
/* D57DC 8013F0DC 02118021 */ addu $s0, $s0, $s1
/* D57E0 8013F0E0 00108100 */ sll $s0, $s0, 4
/* D57E4 8013F0E4 02028021 */ addu $s0, $s0, $v0
/* D57E8 8013F0E8 86020002 */ lh $v0, 2($s0)
/* D57EC 8013F0EC 4482A000 */ mtc1 $v0, $f20
/* D57F0 8013F0F0 00000000 */ nop
/* D57F4 8013F0F4 4680A520 */ cvt.s.w $f20, $f20
/* D57F8 8013F0F8 0C00A85B */ jal sin_rad
/* D57FC 8013F0FC 4600B306 */ mov.s $f12, $f22
/* D5800 8013F100 C6420020 */ lwc1 $f2, 0x20($s2)
/* D5804 8013F104 468010A0 */ cvt.s.w $f2, $f2
/* D5808 8013F108 46020002 */ mul.s $f0, $f0, $f2
/* D580C 8013F10C 00000000 */ nop
/* D5810 8013F110 4600A500 */ add.s $f20, $f20, $f0
/* D5814 8013F114 4600A28D */ trunc.w.s $f10, $f20
/* D5818 8013F118 44025000 */ mfc1 $v0, $f10
/* D581C 8013F11C 00000000 */ nop
/* D5820 8013F120 A6020002 */ sh $v0, 2($s0)
/* D5824 8013F124 96500008 */ lhu $s0, 8($s2)
/* D5828 8013F128 8EC20000 */ lw $v0, ($s6)
/* D582C 8013F12C 02118021 */ addu $s0, $s0, $s1
/* D5830 8013F130 00108100 */ sll $s0, $s0, 4
/* D5834 8013F134 02028021 */ addu $s0, $s0, $v0
/* D5838 8013F138 86020004 */ lh $v0, 4($s0)
/* D583C 8013F13C 4482A000 */ mtc1 $v0, $f20
/* D5840 8013F140 00000000 */ nop
/* D5844 8013F144 4680A520 */ cvt.s.w $f20, $f20
/* D5848 8013F148 0C00A85B */ jal sin_rad
/* D584C 8013F14C 4600C306 */ mov.s $f12, $f24
/* D5850 8013F150 C6420024 */ lwc1 $f2, 0x24($s2)
/* D5854 8013F154 468010A0 */ cvt.s.w $f2, $f2
/* D5858 8013F158 46020002 */ mul.s $f0, $f0, $f2
/* D585C 8013F15C 00000000 */ nop
/* D5860 8013F160 4600A500 */ add.s $f20, $f20, $f0
/* D5864 8013F164 4600A28D */ trunc.w.s $f10, $f20
/* D5868 8013F168 44025000 */ mfc1 $v0, $f10
/* D586C 8013F16C 00000000 */ nop
/* D5870 8013F170 A6020004 */ sh $v0, 4($s0)
/* D5874 8013F174 92420003 */ lbu $v0, 3($s2)
/* D5878 8013F178 24420001 */ addiu $v0, $v0, 1
/* D587C 8013F17C 14400002 */ bnez $v0, .L8013F188
/* D5880 8013F180 0222001A */ div $zero, $s1, $v0
/* D5884 8013F184 0007000D */ break 7
.L8013F188:
/* D5888 8013F188 2401FFFF */ addiu $at, $zero, -1
/* D588C 8013F18C 14410004 */ bne $v0, $at, .L8013F1A0
/* D5890 8013F190 3C018000 */ lui $at, 0x8000
/* D5894 8013F194 16210002 */ bne $s1, $at, .L8013F1A0
/* D5898 8013F198 00000000 */ nop
/* D589C 8013F19C 0006000D */ break 6
.L8013F1A0:
/* D58A0 8013F1A0 00001810 */ mfhi $v1
/* D58A4 8013F1A4 14600003 */ bnez $v1, .L8013F1B4
/* D58A8 8013F1A8 2673002D */ addiu $s3, $s3, 0x2d
/* D58AC 8013F1AC 0000982D */ daddu $s3, $zero, $zero
/* D58B0 8013F1B0 3A940001 */ xori $s4, $s4, 1
.L8013F1B4:
/* D58B4 8013F1B4 26310001 */ addiu $s1, $s1, 1
/* D58B8 8013F1B8 0235102A */ slt $v0, $s1, $s5
/* D58BC 8013F1BC 1440FF9E */ bnez $v0, .L8013F038
/* D58C0 8013F1C0 00000000 */ nop
.L8013F1C4:
/* D58C4 8013F1C4 8FBF002C */ lw $ra, 0x2c($sp)
/* D58C8 8013F1C8 8FB60028 */ lw $s6, 0x28($sp)
/* D58CC 8013F1CC 8FB50024 */ lw $s5, 0x24($sp)
/* D58D0 8013F1D0 8FB40020 */ lw $s4, 0x20($sp)
/* D58D4 8013F1D4 8FB3001C */ lw $s3, 0x1c($sp)
/* D58D8 8013F1D8 8FB20018 */ lw $s2, 0x18($sp)
/* D58DC 8013F1DC 8FB10014 */ lw $s1, 0x14($sp)
/* D58E0 8013F1E0 8FB00010 */ lw $s0, 0x10($sp)
/* D58E4 8013F1E4 D7B80040 */ ldc1 $f24, 0x40($sp)
/* D58E8 8013F1E8 D7B60038 */ ldc1 $f22, 0x38($sp)
/* D58EC 8013F1EC D7B40030 */ ldc1 $f20, 0x30($sp)
/* D58F0 8013F1F0 03E00008 */ jr $ra
/* D58F4 8013F1F4 27BD0048 */ addiu $sp, $sp, 0x48