matched some gfx and model functions (#830)

* matched 3 functions

* two iwa functions

* matched 4 model functions

* alpha decimal

* PR suggestions
This commit is contained in:
Unnunu 2022-10-18 01:58:52 +03:00 committed by GitHub
parent 77ee6c819b
commit 9a876d74f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 538 additions and 2342 deletions

View File

@ -63,4 +63,26 @@
(lrs + scrolls)<<G_TEXTURE_IMAGE_FRAC, \ (lrs + scrolls)<<G_TEXTURE_IMAGE_FRAC, \
(lrt + scrollt)<<G_TEXTURE_IMAGE_FRAC) \ (lrt + scrollt)<<G_TEXTURE_IMAGE_FRAC) \
#define gDPScrollTextureBlock_4b(pkt, timg, fmt, width, height, \
pal, cms, cmt, masks, maskt, shifts, shiftt, scrolls, scrollt) \
{ \
gDPSetTextureImage(pkt, fmt, G_IM_SIZ_16b, 1, timg); \
gDPSetTile(pkt, fmt, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, \
cmt, maskt, shiftt, cms, masks, shifts); \
gDPLoadSync(pkt); \
gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \
(((width)*(height)+3)>>2)-1, \
CALC_DXT_4b(width)); \
gDPPipeSync(pkt); \
gDPSetTile(pkt, fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), 0, \
G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \
shifts); \
gDPSetTileSize(pkt, G_TX_RENDERTILE,\
(scrolls) << G_TEXTURE_IMAGE_FRAC,\
(scrollt) << G_TEXTURE_IMAGE_FRAC, \
((width)-1 + scrolls) << G_TEXTURE_IMAGE_FRAC, \
((height)-1 + scrollt) << G_TEXTURE_IMAGE_FRAC) \
}
#endif #endif

View File

@ -202,10 +202,95 @@ void spr_appendGfx_component_flat(
f32 arg5, f32 arg5,
Matrix4f mtx, Matrix4f mtx,
s32 alpha s32 alpha
); ) {
gDPLoadTLUT_pal16(gMasterGfxPos++, 0, palette);
if (D_80151328->flags & 1) {
gDPScrollMultiTile2_4b(gMasterGfxPos++, raster, G_IM_FMT_CI, width, height,
0, 0, width - 1, 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, 63 << 2, 0);
if (D_80151328->flags & 2) {
Camera* camera = &gCameras[gCurrentCamID];
if (gGameStatusPtr->isBattle == 2) {
gSPViewport(gMasterGfxPos++, &D_802DF3E0);
} else {
gSPViewport(gMasterGfxPos++, &camera->vpAlt);
}
if (alpha == 255) {
gDPSetRenderMode(gMasterGfxPos++, AA_EN | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
G_RM_PASS, AA_EN | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM));
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
}
INCLUDE_ASM(s32, "sprite", spr_appendGfx_component_flat); gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, alpha);
gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, 0, ENVIRONMENT, 0, TEXEL1, 0, 0, 0, 0, 0, 0, 0, 0, COMBINED);
gSPVertex(gMasterGfxPos++, vertices, 4, 0);
gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 0, 3, 2, 0);
gDPPipeSync(gMasterGfxPos++);
}
create_shading_palette(mtx, 0, 0, width, height, alpha, alpha == 255 ? 0x111238 : 0x104B50); // TODO make macro for render mode
} else {
gDPScrollTextureBlock_4b(gMasterGfxPos++, raster, G_IM_FMT_CI, width, height, 0,
G_TX_CLAMP, G_TX_CLAMP, 8, 8, G_TX_NOLOD, G_TX_NOLOD,
256, 256);
if (D_80151328->flags & 2) {
Camera* camera = &gCameras[gCurrentCamID];
if (gGameStatusPtr->isBattle == 2) {
gSPViewport(gMasterGfxPos++, &D_802DF3E0);
} else {
gSPViewport(gMasterGfxPos++, &camera->vpAlt);
}
if (alpha == 255) {
gDPSetRenderMode(gMasterGfxPos++, AA_EN | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | ALPHA_CVG_SEL | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | ALPHA_CVG_SEL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM));
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2);
}
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, alpha);
gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, 0, ENVIRONMENT, 0, TEXEL0, 0, 0, 0, 0, 0, ENVIRONMENT, 0,
TEXEL0, 0);
gSPVertex(gMasterGfxPos++, vertices, 4, 0);
gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 0, 3, 2, 0);
gDPPipeSync(gMasterGfxPos++);
if (alpha == 255) {
gDPSetRenderMode(gMasterGfxPos++, AA_EN | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM),
AA_EN | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM));
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2);
}
gDPSetEnvColor(gMasterGfxPos++, 100, 100, 100, 255);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, alpha);
gDPSetCombineLERP(gMasterGfxPos++, SHADE, ENVIRONMENT, TEXEL0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0, SHADE,
ENVIRONMENT, TEXEL0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0);
gDPSetColorDither(gMasterGfxPos++, G_CD_MAGICSQ);
}
}
if (D_80151328->flags & 2) {
Camera* camera = &gCameras[gCurrentCamID];
if (gGameStatusPtr->isBattle == 2) {
gSPViewport(gMasterGfxPos++, &D_802DF3D0);
D_802DF3E0.vp.vtrans[0] = D_802DF3D0.vp.vtrans[0] + gGameStatusPtr->unk_82;
D_802DF3E0.vp.vtrans[1] = D_802DF3D0.vp.vtrans[1] + gGameStatusPtr->unk_83;
} else {
gSPViewport(gMasterGfxPos++, &camera->vp);
}
}
gSPVertex(gMasterGfxPos++, vertices, 4, 0);
gSP2Triangles(gMasterGfxPos++, 0, 2, 1, 0, 0, 3, 2, 0);
gDPPipeSync(gMasterGfxPos++);
}
void spr_appendGfx_component( void spr_appendGfx_component(
SpriteRasterCacheEntry* cache, SpriteRasterCacheEntry* cache,

View File

@ -2,9 +2,88 @@
#include "nu/nusys.h" #include "nu/nusys.h"
#include "model.h" #include "model.h"
void N(UnkModelFunc000)(s32, s32, s32, s32); void N(UnkModelFunc000)(s32 x1, s32 y1, s32 x2, s32 y2) {
s32 i;
f32 f0;
s32 n, m;
u16* img;
s32 alpha;
INCLUDE_ASM(void, "world/area_flo/flo_10/CB96B0", flo_10_UnkModelFunc000); N(D_80244070_CBD270) += 5;
if (x1 >= x2 || y1 >= y2) {
return;
}
if (x1 < 0) {
x1 = 0;
}
if (y1 < 0) {
y1 = 0;
}
if (x2 < 0) {
x2 = 0;
}
if (y2 < 0) {
y2 = 0;
}
if (x1 >= SCREEN_WIDTH) {
x1 = SCREEN_WIDTH - 1;
}
if (y1 >= SCREEN_HEIGHT) {
y1 = SCREEN_HEIGHT - 1;
}
if (x2 >= SCREEN_WIDTH) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT) {
y2 = SCREEN_HEIGHT - 1;
}
if (x1 == x2 || y1 == y2) {
return;
}
x1 = x1 / 4 * 4;
x2 = x2 / 4 * 4 + 4;
n = (y2 - y1) / 6;
m = (y2 - y1) % 6;
img = nuGfxCfb_ptr;
for (i = 0; i < n; i++) {
alpha = (y1 - 6 * i - 6) * 2;
if (y1 - 6 * i - 6 >= 0) {
if (alpha > 255) {
alpha = 255;
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0xFF, 0xFF, 0xFF, alpha);
gDPLoadTextureTile(gMasterGfxPos++, osVirtualToPhysical(img), G_IM_FMT_RGBA, G_IM_SIZ_16b,
SCREEN_WIDTH, 6,
x1, y1 - 6 * i - 6, x2 - 1, y1 - 6 * i - 1, 0,
G_TX_WRAP, G_TX_WRAP, 9, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gMasterGfxPos++, x1 * 4, (y1 + i * 6) * 4, x2 * 4, (y1 + i * 6 + 6) * 4,
G_TX_RENDERTILE, x1 * 32, (y1 - i * 6) * 32, 1024, (s32)(sin_deg(N(D_80244070_CBD270) + i * 30) * 500.0f) - 500);
}
}
if (m != 0) {
alpha = (y1 - 6 * i - 6) * 2;
if (y1 - 6 * i - 6 >= 0) {
if (alpha > 255) {
alpha = 255;
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0xFF, 0xFF, 0xFF, alpha);
gDPLoadTextureTile(gMasterGfxPos++, osVirtualToPhysical(img), G_IM_FMT_RGBA, G_IM_SIZ_16b,
SCREEN_WIDTH, 6,
x1, y1 - 6 * i - m, x2 - 1, y1 - 6 * i - 1, 0,
G_TX_WRAP, G_TX_WRAP, 9, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gMasterGfxPos++, x1 * 4, (y1 + i * 6) * 4, x2 * 4, (y1 + i * 6 + m) * 4,
G_TX_RENDERTILE, x1 * 32, (y1 - i * 6) * 32, 1024, -1024);
}
}
}
void N(UnkModelFunc001)(void) { void N(UnkModelFunc001)(void) {
Camera* camera = &gCameras[gCurrentCameraID]; Camera* camera = &gCameras[gCurrentCameraID];

View File

@ -4,6 +4,7 @@ static char* N(exit_str_0) = "hos_01";
static char* N(exit_str_1) = "hos_03"; static char* N(exit_str_1) = "hos_03";
extern u16 D_802433AC_A195CC; extern u16 D_802433AC_A195CC;
extern u16 D_802433AE_A195CE;
extern u16 D_802433B0_A195D0; extern u16 D_802433B0_A195D0;
extern u16 D_802433B2_A195D2; extern u16 D_802433B2_A195D2;
extern u16 D_802433B4_A195D4; extern u16 D_802433B4_A195D4;
@ -20,7 +21,28 @@ void func_8024030C_A1652C(void) {
G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
} }
INCLUDE_ASM(s32, "world/area_hos/hos_02/A16220", func_80240434_A16654); void func_80240434_A16654(void) {
Vtx* firstVertex;
Vtx* copiedVertices;
s32 numVertices;
s32 i;
s32 temp3;
mdl_get_copied_vertices(0, &firstVertex, &copiedVertices, &numVertices);
for (i = 0; i < numVertices; i++) {
u8* colors = copiedVertices[i].v.cn;
s16 temp1 = (sins(D_802433AE_A195CE * (i % 3 + 1) + i) + 0x8000) / 2;
colors[0] = temp1 * 155 / 0x8000 + 100;
colors[1] = temp1 * 155 / 0x8000 + 100;
temp3 = sins(D_802433AE_A195CE / 0x8000 * (((i / 2) % 3 + 1) << 15) + D_802433AE_A195CE / 0x4000 * 0x8000 + i) + 0x8000;
colors[2] = colors[0] * temp3 / 0x10000;
}
gSPDisplayList(gMasterGfxPos++, mdl_get_copied_gfx(0));
D_802433AE_A195CE += 0x253;
}
void func_80240610_A16830(void) { void func_80240610_A16830(void) {
Vtx* firstVertex; Vtx* firstVertex;

View File

@ -1,14 +1,83 @@
#include "hos_03.h" #include "hos_03.h"
extern u16 D_80243BCC_A1ECCC;
extern u16 D_80243BCE_A1ECCE;
extern u16 D_80243BD0_A1ECD0;
extern u16 D_80243BD2_A1ECD2;
extern u16 D_80243BD4_A1ECD4; extern u16 D_80243BD4_A1ECD4;
#include "world/common/atomic/TexturePan.inc.c" #include "world/common/atomic/TexturePan.inc.c"
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1B130", func_8024033C_A1B43C); void func_8024033C_A1B43C(void) {
Vtx* firstVertex;
Vtx* copiedVertices;
s32 numVertices;
s32 i;
s32 temp3;
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1B130", func_8024060C_A1B70C); f32 angle = sins(D_80243BCC_A1ECCC) / 32768.0f * 45.0f;
D_80243BCC_A1ECCC += 0x400;
guRotate(&gDisplayContext->matrixStack[gMatrixListPos], angle, 0.0f, 1.0f, 0.0f);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
INCLUDE_ASM(s32, "world/area_hos/hos_03/A1B130", func_802407E8_A1B8E8); mdl_get_copied_vertices(1, &firstVertex, &copiedVertices, &numVertices);
for (i = 0; i < numVertices; i++) {
u8* colors = copiedVertices[i].v.cn;
s16 temp1 = (sins(D_80243BCE_A1ECCE * (i % 3 + 1) + i) + 0x8000) / 2;
colors[0] = temp1 * 155 / 0x8000 + 100;
colors[1] = temp1 * 155 / 0x8000 + 100;
temp3 = sins(D_80243BCE_A1ECCE / 0x8000 * (((i / 2) % 3 + 1) << 15) + D_80243BCE_A1ECCE / 0x4000 * 0x8000 + i) + 0x8000;
colors[2] = colors[0] * temp3 / 0x10000;
}
gSPClearGeometryMode(gMasterGfxPos++, G_CULL_BOTH);
gSPDisplayList(gMasterGfxPos++, mdl_get_copied_gfx(1));
D_80243BCE_A1ECCE += 0x666;
}
void func_8024060C_A1B70C(void) {
Vtx* firstVertex;
Vtx* copiedVertices;
s32 numVertices;
s32 i;
s32 temp3;
mdl_get_copied_vertices(2, &firstVertex, &copiedVertices, &numVertices);
for (i = 0; i < numVertices; i++) {
u8* colors = copiedVertices[i].v.cn;
s16 temp1 = (sins(D_80243BD0_A1ECD0 * (i % 3 + 1) + i) + 0x8000) / 2;
colors[0] = temp1 * 155 / 0x8000 + 100;
colors[1] = temp1 * 155 / 0x8000 + 100;
temp3 = sins(D_80243BD0_A1ECD0 / 0x8000 * (((i / 2) % 3 + 1) << 15) + D_80243BD0_A1ECD0 / 0x4000 * 0x8000 + i) + 0x8000;
colors[2] = colors[0] * temp3 / 0x10000;
}
gSPDisplayList(gMasterGfxPos++, mdl_get_copied_gfx(2));
D_80243BD0_A1ECD0 += 0x253;
}
void func_802407E8_A1B8E8(void) {
Vtx* firstVertex;
Vtx* copiedVertices;
s32 numVertices;
s32 i;
mdl_get_copied_vertices(0, &firstVertex, &copiedVertices, &numVertices);
for (i = 0; i < numVertices; i++) {
Vtx* vtxDst = &copiedVertices[i];
Vtx* vtxSrc = &firstVertex[i];
s32 v0 = sins(D_80243BD2_A1ECD2 * (i % 3 + 1) + i * 0x2AAA) * 50;
vtxDst->v.ob[1] = vtxSrc->v.ob[1] + v0 / 0x8000;
}
gSPDisplayList(gMasterGfxPos++, mdl_get_copied_gfx(0));
D_80243BD2_A1ECD2 += 0xA3;
}
void func_80240928_A1BA28(void) { void func_80240928_A1BA28(void) {
f32 scale = ((sins(D_80243BD4_A1ECD4) * (1 / 32768.0f)) * 0.5 * 0.5) + 1.05; f32 scale = ((sins(D_80243BD4_A1ECD4) * (1 / 32768.0f)) * 0.5 * 0.5) + 1.05;

View File

@ -21,6 +21,10 @@ enum {
NPC_Cleft = 8, NPC_Cleft = 8,
}; };
enum {
MV_SplashState = MapVar(15),
};
#define NAMESPACE iwa_01 #define NAMESPACE iwa_01
extern EvtScript N(EVS_Main); extern EvtScript N(EVS_Main);

View File

@ -73,3 +73,5 @@ EvtScript N(EVS_Main) = {
EVT_RETURN EVT_RETURN
EVT_END EVT_END
}; };
MAP_RODATA_PAD(1, pad)

View File

@ -1,21 +1,101 @@
#include "iwa_01.h" #include "iwa_01.h"
MAP_RODATA_PAD(1,splash);
#include "world/area_iwa/iwa_01/splash.png.inc.c" #include "world/area_iwa/iwa_01/splash.png.inc.c"
#include "world/area_iwa/iwa_01/splash.vtx.inc.c" #include "world/area_iwa/iwa_01/splash.vtx.inc.c"
#include "world/area_iwa/iwa_01/splash.gfx.inc.c" #include "world/area_iwa/iwa_01/splash.gfx.inc.c"
API_CALLABLE(N(func_80240398_90FA48)); #define NUM_SPLASHES (20)
void N(gfx_build_splash)(void);
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90F6B0", iwa_01_gfx_build_splash); typedef struct SplashState {
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90F6B0", iwa_01_func_80240398_90FA48); /* 0x00 */ Vec3f pos;
MAP_DATA_SECTION_START; /* 0x0C */ f32 scale;
/* 0x10 */ Vec3f rot;
/* 0x1C */ Vec3f vel;
} SplashState; // size = 0x28
void N(gfx_build_splashes)(s32 index) {
s32 i;
s32 alpha;
SplashState* splash = (SplashState*)evt_get_variable(NULL, MV_SplashState);
for (i = 0; i < NUM_SPLASHES; i++, splash++) {
if (splash->pos.y < -30.0f) {
splash->pos.x = 0.0f;
splash->pos.y = 5.0f;
splash->pos.z = -20.0f;
splash->vel.x = (rand_int(8) - 4) / 10.0f;
splash->vel.y = rand_int(10) / 10.0f;
splash->vel.z = (rand_int(10) + 30) / 10.0f;
splash->scale = 1.0f;
splash->rot.x = rand_int(20) + 80;
splash->rot.y = rand_int(359);
splash->rot.z = 0;
}
splash->vel.x *= 0.98;
splash->vel.y += -0.1;
splash->vel.z *= 0.98;
splash->pos.x += splash->vel.x;
splash->pos.y += splash->vel.y;
splash->pos.z += splash->vel.z;
splash->rot.x += 2.0f;
alpha = splash->pos.y * 255.0f / -30.0f;
if (alpha < 0) {
alpha = 0;
}
if (alpha > 255) {
alpha = 255;
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 230, 255, 255, 255);
gDPSetBlendColor(gMasterGfxPos++, 0, 0, 0, alpha);
guPosition(&gDisplayContext->matrixStack[gMatrixListPos],
splash->rot.x, splash->rot.y, splash->rot.z,
splash->scale,
splash->pos.x, splash->pos.y, splash->pos.z);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, N(splash_gfx));
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
gDPPipeSync(gMasterGfxPos++);
}
API_CALLABLE(N(InitSplashes)) {
SplashState* splash = heap_malloc(NUM_SPLASHES * sizeof(*splash));
s32 i;
evt_set_variable(NULL, MV_SplashState, (s32)splash);
for (i = 0; i < NUM_SPLASHES; i++, splash++) {
splash->pos.x = 0.0f;
splash->pos.y = -i * 30 / NUM_SPLASHES;
splash->pos.z = 0.0f;
splash->vel.x = 0.0f;
splash->vel.y = rand_int(10) / 10.0f - (f32)i * 0.1;
splash->vel.z = 0.0f;
splash->scale = 1.0f;
splash->rot.x = rand_int(359);
splash->rot.y = rand_int(359);
splash->rot.z = rand_int(359);
}
return ApiStatus_DONE2;
}
EvtScript N(EVS_MakeSplashes) = { EvtScript N(EVS_MakeSplashes) = {
EVT_CALL(N(func_80240398_90FA48)) EVT_CALL(N(InitSplashes))
EVT_CALL(SetCustomGfxBuilders, 0, 0, EVT_PTR(N(gfx_build_splash))) EVT_CALL(SetCustomGfxBuilders, 0, 0, EVT_PTR(N(gfx_build_splashes)))
EVT_CALL(SetModelCustomGfx, MODEL_dummy_sprash2, 0, -1) EVT_CALL(SetModelCustomGfx, MODEL_dummy_sprash2, 0, -1)
EVT_RETURN EVT_RETURN
EVT_END EVT_END

View File

@ -4,13 +4,159 @@
#include "model.h" #include "model.h"
// rodata // rodata
extern char D_80244BB8_ED8DD8[]; extern char D_80244BB8_ED8DD8[]; // 'GBI Error (aligned 8) File:%s Line:%d Adrs:%08x \n'
extern char D_80244BEC_ED8E0C[]; extern char D_80244BEC_ED8E0C[]; // evt_underwater.c
void N(UnkModelFunc000)(s32, s32, s32, s32); void N(UnkModelFunc000)(s32 x1, s32 y1, s32 x2, s32 y2) {
INCLUDE_ASM(s32, "ED46D0", ED46D0_UnkModelFunc000); s32 i;
f32 f0;
s32 n, m;
u16* img;
s32 alpha;
s32 func_80066FE0(u16*); N(D_80244160_ED8380) += 5;
if (x1 >= x2 || y1 >= y2) {
return;
}
if (x1 < 0) {
x1 = 0;
}
if (y1 < 0) {
y1 = 0;
}
if (x2 < 0) {
x2 = 0;
}
if (y2 < 0) {
y2 = 0;
}
if (x1 >= SCREEN_WIDTH) {
x1 = SCREEN_WIDTH - 1;
}
if (y1 >= SCREEN_HEIGHT) {
y1 = SCREEN_HEIGHT - 1;
}
if (x2 >= SCREEN_WIDTH) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT) {
y2 = SCREEN_HEIGHT - 1;
}
if (x1 == x2 || y1 == y2) {
return;
}
x1 = x1 / 4 * 4;
x2 = x2 / 4 * 4 + 4;
n = (y2 - y1) / 6;
m = (y2 - y1) % 6;
img = nuGfxCfb_ptr;
for (i = 0; i < n; i++) {
alpha = (y1 - 6 * i - 6) * 2;
if (y1 - 6 * i - 6 >= 0) {
if (alpha > 255) {
alpha = 255;
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0xFF, 0xFF, 0xFF, alpha);
//gDPLoadTextureTile(gMasterGfxPos++, osVirtualToPhysical(img), G_IM_FMT_RGBA, G_IM_SIZ_16b,
//SCREEN_WIDTH, 6,
//x1, y1 - 6 * i - 6, x2 - 1, y1 - 6 * i - 1, 0,
//G_TX_WRAP, G_TX_WRAP, 9, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
//gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(img));
{
Gfx *_g = (Gfx *)(gMasterGfxPos++);
if ((osVirtualToPhysical(img) % 8) != 0) {
osSyncPrintf(D_80244BB8_ED8DD8, D_80244BEC_ED8E0C, 83, osVirtualToPhysical(img));
}
_g->words.w0 = _SHIFTL(G_SETTIMG, 24, 8) | _SHIFTL(G_IM_FMT_RGBA, 21, 3) |
_SHIFTL(G_IM_SIZ_16b, 19, 2) | _SHIFTL((SCREEN_WIDTH)-1, 0, 12);
_g->words.w1 = (unsigned int)(osVirtualToPhysical(img));
}
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b,
(((((x2 - 1)-(x1)+1) * G_IM_SIZ_16b_TILE_BYTES)+7)>>3), 0,
G_TX_LOADTILE, 0 , G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP, 9,
G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile( gMasterGfxPos++, G_TX_LOADTILE,
(x1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - 6)<<G_TEXTURE_IMAGE_FRAC,
(x2 - 1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - 1)<<G_TEXTURE_IMAGE_FRAC);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b,
(((((x2 - 1)-(x1)+1) * G_IM_SIZ_16b_LINE_BYTES)+7)>>3), 0,
G_TX_RENDERTILE, 0, G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP, 9,
G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(x1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - 6)<<G_TEXTURE_IMAGE_FRAC,
(x2 - 1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - 1)<<G_TEXTURE_IMAGE_FRAC)
gSPTextureRectangle(gMasterGfxPos++, x1 * 4, (y1 + i * 6) * 4, x2 * 4, (y1 + i * 6 + 6) * 4,
G_TX_RENDERTILE, x1 * 32, (y1 - i * 6) * 32, 1024, (s32)(sin_deg(N(D_80244160_ED8380) + i * 30) * 500.0f) - 500);
}
}
if (m != 0) {
alpha = (y1 - 6 * i - 6) * 2;
if (y1 - 6 * i - 6 >= 0) {
if (alpha > 255) {
alpha = 255;
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0xFF, 0xFF, 0xFF, alpha);
//gDPLoadTextureTile(gMasterGfxPos++, osVirtualToPhysical(img), G_IM_FMT_RGBA, G_IM_SIZ_16b,
// SCREEN_WIDTH, 6,
// x1, y1 - 6 * i - m, x2 - 1, y1 - 6 * i - 1, 0,
// G_TX_WRAP, G_TX_WRAP, 9, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
//gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(img));
{
Gfx *_g = (Gfx *)(gMasterGfxPos++);
if ((osVirtualToPhysical(img) % 8) != 0) {
osSyncPrintf(D_80244BB8_ED8DD8, D_80244BEC_ED8E0C, 107, osVirtualToPhysical(img));
}
_g->words.w0 = _SHIFTL(G_SETTIMG, 24, 8) | _SHIFTL(G_IM_FMT_RGBA, 21, 3) |
_SHIFTL(G_IM_SIZ_16b, 19, 2) | _SHIFTL((SCREEN_WIDTH)-1, 0, 12);
_g->words.w1 = (unsigned int)(osVirtualToPhysical(img));
}
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b,
(((((x2 - 1)-(x1)+1) * G_IM_SIZ_16b_TILE_BYTES)+7)>>3), 0,
G_TX_LOADTILE, 0 , G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP, 9,
G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile( gMasterGfxPos++, G_TX_LOADTILE,
(x1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - m)<<G_TEXTURE_IMAGE_FRAC,
(x2 - 1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - 1)<<G_TEXTURE_IMAGE_FRAC);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b,
(((((x2 - 1)-(x1)+1) * G_IM_SIZ_16b_LINE_BYTES)+7)>>3), 0,
G_TX_RENDERTILE, 0, G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP, 9,
G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(x1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - m)<<G_TEXTURE_IMAGE_FRAC,
(x2 - 1)<<G_TEXTURE_IMAGE_FRAC,
(y1 - 6 * i - 1)<<G_TEXTURE_IMAGE_FRAC)
gSPTextureRectangle(gMasterGfxPos++, x1 * 4, (y1 + i * 6) * 4, x2 * 4, (y1 + i * 6 + m) * 4,
G_TX_RENDERTILE, x1 * 32, (y1 - i * 6) * 32, 1024, -1024);
}
}
}
// Similar to the flo_10 counterpart but contains debug code // Similar to the flo_10 counterpart but contains debug code
void N(UnkModelFunc001)(void) { void N(UnkModelFunc001)(void) {
@ -150,8 +296,8 @@ void N(UnkModelFunc001)(void) {
Z_CMP | CVG_DST_CLAMP | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)); Z_CMP | CVG_DST_CLAMP | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1));
new_var = gMasterGfxPos++; new_var = gMasterGfxPos++;
if ((func_80066FE0(nuGfxZBuffer) % 8) != 0) { if ((osVirtualToPhysical(nuGfxZBuffer) % 8) != 0) {
osSyncPrintf(D_80244BB8_ED8DD8, D_80244BEC_ED8E0C, 175, func_80066FE0(nuGfxZBuffer)); osSyncPrintf(D_80244BB8_ED8DD8, D_80244BEC_ED8E0C, 175, osVirtualToPhysical(nuGfxZBuffer));
} }
gDPSetColorImage(new_var, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxZBuffer)); gDPSetColorImage(new_var, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxZBuffer));
@ -163,8 +309,8 @@ void N(UnkModelFunc001)(void) {
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);
new_var = gMasterGfxPos++; new_var = gMasterGfxPos++;
if ((func_80066FE0(nuGfxCfb_ptr) % 8) != 0) { if ((osVirtualToPhysical(nuGfxCfb_ptr) % 8) != 0) {
osSyncPrintf(D_80244BB8_ED8DD8, D_80244BEC_ED8E0C, 186, func_80066FE0(nuGfxCfb_ptr)); osSyncPrintf(D_80244BB8_ED8DD8, D_80244BEC_ED8E0C, 186, osVirtualToPhysical(nuGfxCfb_ptr));
} }
gDPSetColorImage(new_var, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr)); gDPSetColorImage(new_var, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr));

View File

@ -5,3 +5,5 @@
#include "dead_structs.h" #include "dead_structs.h"
#define NAMESPACE dead_flo_10 #define NAMESPACE dead_flo_10
extern s32 N(D_80244160_ED8380);

View File

@ -110,7 +110,7 @@ dlabel D_80243F54_ED8174
dlabel D_80244144_ED8364 dlabel D_80244144_ED8364
.word 0x00000001, D_80243F54_ED8174, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 .word 0x00000001, D_80243F54_ED8174, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
dlabel D_80244160_ED8380 dlabel dead_flo_10_D_80244160_ED8380
.word 0x00000000 .word 0x00000000
dlabel D_80244164_ED8384 dlabel D_80244164_ED8384

View File

@ -1,430 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel dead_flo_10_UnkModelFunc000
/* ED46D0 802404B0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* ED46D4 802404B4 AFB60040 */ sw $s6, 0x40($sp)
/* ED46D8 802404B8 0080B02D */ daddu $s6, $a0, $zero
/* ED46DC 802404BC 3C028024 */ lui $v0, %hi(D_80244160_ED8380)
/* ED46E0 802404C0 24424160 */ addiu $v0, $v0, %lo(D_80244160_ED8380)
/* ED46E4 802404C4 AFBF004C */ sw $ra, 0x4c($sp)
/* ED46E8 802404C8 AFBE0048 */ sw $fp, 0x48($sp)
/* ED46EC 802404CC AFB70044 */ sw $s7, 0x44($sp)
/* ED46F0 802404D0 AFB5003C */ sw $s5, 0x3c($sp)
/* ED46F4 802404D4 AFB40038 */ sw $s4, 0x38($sp)
/* ED46F8 802404D8 AFB30034 */ sw $s3, 0x34($sp)
/* ED46FC 802404DC AFB20030 */ sw $s2, 0x30($sp)
/* ED4700 802404E0 AFB1002C */ sw $s1, 0x2c($sp)
/* ED4704 802404E4 AFB00028 */ sw $s0, 0x28($sp)
/* ED4708 802404E8 AFA50054 */ sw $a1, 0x54($sp)
/* ED470C 802404EC 8C430000 */ lw $v1, ($v0)
/* ED4710 802404F0 00C0A02D */ daddu $s4, $a2, $zero
/* ED4714 802404F4 24630005 */ addiu $v1, $v1, 5
/* ED4718 802404F8 AC430000 */ sw $v1, ($v0)
/* ED471C 802404FC 02D4102A */ slt $v0, $s6, $s4
/* ED4720 80240500 10400177 */ beqz $v0, .L80240AE0
/* ED4724 80240504 00000000 */ nop
/* ED4728 80240508 8FAA0054 */ lw $t2, 0x54($sp)
/* ED472C 8024050C 0147102A */ slt $v0, $t2, $a3
/* ED4730 80240510 10400173 */ beqz $v0, .L80240AE0
/* ED4734 80240514 00000000 */ nop
/* ED4738 80240518 06C20002 */ bltzl $s6, .L80240524
/* ED473C 8024051C 0000B02D */ daddu $s6, $zero, $zero
/* ED4740 80240520 8FAA0054 */ lw $t2, 0x54($sp)
.L80240524:
/* ED4744 80240524 05420001 */ bltzl $t2, .L8024052C
/* ED4748 80240528 AFA00054 */ sw $zero, 0x54($sp)
.L8024052C:
/* ED474C 8024052C 06820001 */ bltzl $s4, .L80240534
/* ED4750 80240530 0000A02D */ daddu $s4, $zero, $zero
.L80240534:
/* ED4754 80240534 04E20001 */ bltzl $a3, .L8024053C
/* ED4758 80240538 0000382D */ daddu $a3, $zero, $zero
.L8024053C:
/* ED475C 8024053C 2AC20140 */ slti $v0, $s6, 0x140
/* ED4760 80240540 50400001 */ beql $v0, $zero, .L80240548
/* ED4764 80240544 2416013F */ addiu $s6, $zero, 0x13f
.L80240548:
/* ED4768 80240548 8FAA0054 */ lw $t2, 0x54($sp)
/* ED476C 8024054C 294200F0 */ slti $v0, $t2, 0xf0
/* ED4770 80240550 14400003 */ bnez $v0, .L80240560
/* ED4774 80240554 2A820140 */ slti $v0, $s4, 0x140
/* ED4778 80240558 240A00EF */ addiu $t2, $zero, 0xef
/* ED477C 8024055C AFAA0054 */ sw $t2, 0x54($sp)
.L80240560:
/* ED4780 80240560 50400001 */ beql $v0, $zero, .L80240568
/* ED4784 80240564 2414013F */ addiu $s4, $zero, 0x13f
.L80240568:
/* ED4788 80240568 28E200F0 */ slti $v0, $a3, 0xf0
/* ED478C 8024056C 50400001 */ beql $v0, $zero, .L80240574
/* ED4790 80240570 240700EF */ addiu $a3, $zero, 0xef
.L80240574:
/* ED4794 80240574 12D4015A */ beq $s6, $s4, .L80240AE0
/* ED4798 80240578 00000000 */ nop
/* ED479C 8024057C 8FAA0054 */ lw $t2, 0x54($sp)
/* ED47A0 80240580 11470157 */ beq $t2, $a3, .L80240AE0
/* ED47A4 80240584 00000000 */ nop
/* ED47A8 80240588 06C10002 */ bgez $s6, .L80240594
/* ED47AC 8024058C 02C0102D */ daddu $v0, $s6, $zero
/* ED47B0 80240590 26C20003 */ addiu $v0, $s6, 3
.L80240594:
/* ED47B4 80240594 00021083 */ sra $v0, $v0, 2
/* ED47B8 80240598 0002B080 */ sll $s6, $v0, 2
/* ED47BC 8024059C 06810002 */ bgez $s4, .L802405A8
/* ED47C0 802405A0 0280102D */ daddu $v0, $s4, $zero
/* ED47C4 802405A4 26820003 */ addiu $v0, $s4, 3
.L802405A8:
/* ED47C8 802405A8 3C042AAA */ lui $a0, 0x2aaa
/* ED47CC 802405AC 3484AAAB */ ori $a0, $a0, 0xaaab
/* ED47D0 802405B0 8FAA0054 */ lw $t2, 0x54($sp)
/* ED47D4 802405B4 00021083 */ sra $v0, $v0, 2
/* ED47D8 802405B8 00EA1823 */ subu $v1, $a3, $t2
/* ED47DC 802405BC 00640018 */ mult $v1, $a0
/* ED47E0 802405C0 00021080 */ sll $v0, $v0, 2
/* ED47E4 802405C4 24540004 */ addiu $s4, $v0, 4
/* ED47E8 802405C8 0000F02D */ daddu $fp, $zero, $zero
/* ED47EC 802405CC 000317C3 */ sra $v0, $v1, 0x1f
/* ED47F0 802405D0 00005010 */ mfhi $t2
/* ED47F4 802405D4 01425023 */ subu $t2, $t2, $v0
/* ED47F8 802405D8 000A1040 */ sll $v0, $t2, 1
/* ED47FC 802405DC 004A1021 */ addu $v0, $v0, $t2
/* ED4800 802405E0 AFAA0014 */ sw $t2, 0x14($sp)
/* ED4804 802405E4 AFAA0010 */ sw $t2, 0x10($sp)
/* ED4808 802405E8 3C0A800A */ lui $t2, %hi(dead_nuGfxCfb_ptr)
/* ED480C 802405EC 8D4A15A4 */ lw $t2, %lo(dead_nuGfxCfb_ptr)($t2)
/* ED4810 802405F0 00021040 */ sll $v0, $v0, 1
/* ED4814 802405F4 AFAA0018 */ sw $t2, 0x18($sp)
/* ED4818 802405F8 8FAA0010 */ lw $t2, 0x10($sp)
/* ED481C 802405FC 00621823 */ subu $v1, $v1, $v0
/* ED4820 80240600 194000A6 */ blez $t2, .L8024089C
/* ED4824 80240604 AFA30014 */ sw $v1, 0x14($sp)
/* ED4828 80240608 3C13800A */ lui $s3, %hi(D_800A15C4)
/* ED482C 8024060C 267315C4 */ addiu $s3, $s3, %lo(D_800A15C4)
/* ED4830 80240610 02961023 */ subu $v0, $s4, $s6
/* ED4834 80240614 00021040 */ sll $v0, $v0, 1
/* ED4838 80240618 24420007 */ addiu $v0, $v0, 7
/* ED483C 8024061C 000210C3 */ sra $v0, $v0, 3
/* ED4840 80240620 304201FF */ andi $v0, $v0, 0x1ff
/* ED4844 80240624 00021240 */ sll $v0, $v0, 9
/* ED4848 80240628 3C03F510 */ lui $v1, 0xf510
/* ED484C 8024062C 8FB70054 */ lw $s7, 0x54($sp)
/* ED4850 80240630 00431025 */ or $v0, $v0, $v1
/* ED4854 80240634 AFA2001C */ sw $v0, 0x1c($sp)
/* ED4858 80240638 AFA00020 */ sw $zero, 0x20($sp)
/* ED485C 8024063C 02E0A82D */ daddu $s5, $s7, $zero
.L80240640:
/* ED4860 80240640 26B2FFFA */ addiu $s2, $s5, -6
/* ED4864 80240644 0640008C */ bltz $s2, .L80240878
/* ED4868 80240648 00122840 */ sll $a1, $s2, 1
/* ED486C 8024064C 28A20100 */ slti $v0, $a1, 0x100
/* ED4870 80240650 50400001 */ beql $v0, $zero, .L80240658
/* ED4874 80240654 240500FF */ addiu $a1, $zero, 0xff
.L80240658:
/* ED4878 80240658 3C02FA00 */ lui $v0, 0xfa00
/* ED487C 8024065C 8E710000 */ lw $s1, ($s3)
/* ED4880 80240660 8FA40018 */ lw $a0, 0x18($sp)
/* ED4884 80240664 0220182D */ daddu $v1, $s1, $zero
/* ED4888 80240668 26310008 */ addiu $s1, $s1, 8
/* ED488C 8024066C AE710000 */ sw $s1, ($s3)
/* ED4890 80240670 AC620000 */ sw $v0, ($v1)
/* ED4894 80240674 2402FF00 */ addiu $v0, $zero, -0x100
/* ED4898 80240678 00A21025 */ or $v0, $a1, $v0
/* ED489C 8024067C AC620004 */ sw $v0, 4($v1)
/* ED48A0 80240680 26220008 */ addiu $v0, $s1, 8
/* ED48A4 80240684 0C019BF8 */ jal func_80066FE0
/* ED48A8 80240688 AE620000 */ sw $v0, ($s3)
/* ED48AC 8024068C 30420007 */ andi $v0, $v0, 7
/* ED48B0 80240690 1040000C */ beqz $v0, .L802406C4
/* ED48B4 80240694 3C02FD10 */ lui $v0, 0xfd10
/* ED48B8 80240698 8FA40018 */ lw $a0, 0x18($sp)
/* ED48BC 8024069C 0C019BF8 */ jal func_80066FE0
/* ED48C0 802406A0 00000000 */ nop
/* ED48C4 802406A4 3C048024 */ lui $a0, %hi(D_80244BB8_ED8DD8)
/* ED48C8 802406A8 24844BB8 */ addiu $a0, $a0, %lo(D_80244BB8_ED8DD8)
/* ED48CC 802406AC 3C058024 */ lui $a1, %hi(D_80244BEC_ED8E0C)
/* ED48D0 802406B0 24A54BEC */ addiu $a1, $a1, %lo(D_80244BEC_ED8E0C)
/* ED48D4 802406B4 24060053 */ addiu $a2, $zero, 0x53
/* ED48D8 802406B8 0C00973F */ jal osSyncPrintf
/* ED48DC 802406BC 0040382D */ daddu $a3, $v0, $zero
/* ED48E0 802406C0 3C02FD10 */ lui $v0, 0xfd10
.L802406C4:
/* ED48E4 802406C4 8FA40018 */ lw $a0, 0x18($sp)
/* ED48E8 802406C8 3442013F */ ori $v0, $v0, 0x13f
/* ED48EC 802406CC 0C019BF8 */ jal func_80066FE0
/* ED48F0 802406D0 AE220000 */ sw $v0, ($s1)
/* ED48F4 802406D4 3C030700 */ lui $v1, 0x700
/* ED48F8 802406D8 34630090 */ ori $v1, $v1, 0x90
/* ED48FC 802406DC 00163080 */ sll $a2, $s6, 2
/* ED4900 802406E0 30C60FFF */ andi $a2, $a2, 0xfff
/* ED4904 802406E4 00063300 */ sll $a2, $a2, 0xc
/* ED4908 802406E8 00122080 */ sll $a0, $s2, 2
/* ED490C 802406EC 30840FFF */ andi $a0, $a0, 0xfff
/* ED4910 802406F0 26A5FFFF */ addiu $a1, $s5, -1
/* ED4914 802406F4 8E700000 */ lw $s0, ($s3)
/* ED4918 802406F8 00052880 */ sll $a1, $a1, 2
/* ED491C 802406FC AE220004 */ sw $v0, 4($s1)
/* ED4920 80240700 0200102D */ daddu $v0, $s0, $zero
/* ED4924 80240704 26100008 */ addiu $s0, $s0, 8
/* ED4928 80240708 AE700000 */ sw $s0, ($s3)
/* ED492C 8024070C 8FAA001C */ lw $t2, 0x1c($sp)
/* ED4930 80240710 30A50FFF */ andi $a1, $a1, 0xfff
/* ED4934 80240714 AC430004 */ sw $v1, 4($v0)
/* ED4938 80240718 2683FFFF */ addiu $v1, $s4, -1
/* ED493C 8024071C 00031880 */ sll $v1, $v1, 2
/* ED4940 80240720 30630FFF */ andi $v1, $v1, 0xfff
/* ED4944 80240724 00031B00 */ sll $v1, $v1, 0xc
/* ED4948 80240728 AC4A0000 */ sw $t2, ($v0)
/* ED494C 8024072C 26020008 */ addiu $v0, $s0, 8
/* ED4950 80240730 AE620000 */ sw $v0, ($s3)
/* ED4954 80240734 3C02E600 */ lui $v0, 0xe600
/* ED4958 80240738 AE020000 */ sw $v0, ($s0)
/* ED495C 8024073C 26020010 */ addiu $v0, $s0, 0x10
/* ED4960 80240740 AE000004 */ sw $zero, 4($s0)
/* ED4964 80240744 AE620000 */ sw $v0, ($s3)
/* ED4968 80240748 3C02F400 */ lui $v0, 0xf400
/* ED496C 8024074C 00821025 */ or $v0, $a0, $v0
/* ED4970 80240750 00C21025 */ or $v0, $a2, $v0
/* ED4974 80240754 AE020008 */ sw $v0, 8($s0)
/* ED4978 80240758 3C020700 */ lui $v0, 0x700
/* ED497C 8024075C 00A21025 */ or $v0, $a1, $v0
/* ED4980 80240760 00621025 */ or $v0, $v1, $v0
/* ED4984 80240764 AE02000C */ sw $v0, 0xc($s0)
/* ED4988 80240768 26020018 */ addiu $v0, $s0, 0x18
/* ED498C 8024076C AE620000 */ sw $v0, ($s3)
/* ED4990 80240770 3C02E700 */ lui $v0, 0xe700
/* ED4994 80240774 AE020010 */ sw $v0, 0x10($s0)
/* ED4998 80240778 26020020 */ addiu $v0, $s0, 0x20
/* ED499C 8024077C AE000014 */ sw $zero, 0x14($s0)
/* ED49A0 80240780 AE620000 */ sw $v0, ($s3)
/* ED49A4 80240784 24020090 */ addiu $v0, $zero, 0x90
/* ED49A8 80240788 AE02001C */ sw $v0, 0x1c($s0)
/* ED49AC 8024078C 26020028 */ addiu $v0, $s0, 0x28
/* ED49B0 80240790 AE0A0018 */ sw $t2, 0x18($s0)
/* ED49B4 80240794 AE620000 */ sw $v0, ($s3)
/* ED49B8 80240798 3C02F200 */ lui $v0, 0xf200
/* ED49BC 8024079C 00822025 */ or $a0, $a0, $v0
/* ED49C0 802407A0 00C42025 */ or $a0, $a2, $a0
/* ED49C4 802407A4 00651825 */ or $v1, $v1, $a1
/* ED49C8 802407A8 26020030 */ addiu $v0, $s0, 0x30
/* ED49CC 802407AC AE040020 */ sw $a0, 0x20($s0)
/* ED49D0 802407B0 00142080 */ sll $a0, $s4, 2
/* ED49D4 802407B4 30840FFF */ andi $a0, $a0, 0xfff
/* ED49D8 802407B8 00042300 */ sll $a0, $a0, 0xc
/* ED49DC 802407BC AE030024 */ sw $v1, 0x24($s0)
/* ED49E0 802407C0 AE620000 */ sw $v0, ($s3)
/* ED49E4 802407C4 26E20006 */ addiu $v0, $s7, 6
/* ED49E8 802407C8 00021080 */ sll $v0, $v0, 2
/* ED49EC 802407CC 30420FFF */ andi $v0, $v0, 0xfff
/* ED49F0 802407D0 3C03E400 */ lui $v1, 0xe400
/* ED49F4 802407D4 00431025 */ or $v0, $v0, $v1
/* ED49F8 802407D8 00822025 */ or $a0, $a0, $v0
/* ED49FC 802407DC 00171080 */ sll $v0, $s7, 2
/* ED4A00 802407E0 30420FFF */ andi $v0, $v0, 0xfff
/* ED4A04 802407E4 00C23025 */ or $a2, $a2, $v0
/* ED4A08 802407E8 26020038 */ addiu $v0, $s0, 0x38
/* ED4A0C 802407EC AE040028 */ sw $a0, 0x28($s0)
/* ED4A10 802407F0 AE06002C */ sw $a2, 0x2c($s0)
/* ED4A14 802407F4 AE620000 */ sw $v0, ($s3)
/* ED4A18 802407F8 3C02E100 */ lui $v0, 0xe100
/* ED4A1C 802407FC 00161D40 */ sll $v1, $s6, 0x15
/* ED4A20 80240800 AE020030 */ sw $v0, 0x30($s0)
/* ED4A24 80240804 00151140 */ sll $v0, $s5, 5
/* ED4A28 80240808 3042FFFF */ andi $v0, $v0, 0xffff
/* ED4A2C 8024080C 00621825 */ or $v1, $v1, $v0
/* ED4A30 80240810 26020040 */ addiu $v0, $s0, 0x40
/* ED4A34 80240814 AE030034 */ sw $v1, 0x34($s0)
/* ED4A38 80240818 AE620000 */ sw $v0, ($s3)
/* ED4A3C 8024081C 3C038024 */ lui $v1, %hi(D_80244160_ED8380)
/* ED4A40 80240820 8C634160 */ lw $v1, %lo(D_80244160_ED8380)($v1)
/* ED4A44 80240824 3C02F100 */ lui $v0, 0xf100
/* ED4A48 80240828 AE020038 */ sw $v0, 0x38($s0)
/* ED4A4C 8024082C 8FAA0020 */ lw $t2, 0x20($sp)
/* ED4A50 80240830 006A1821 */ addu $v1, $v1, $t2
/* ED4A54 80240834 44836000 */ mtc1 $v1, $f12
/* ED4A58 80240838 00000000 */ nop
/* ED4A5C 8024083C 0C00AD77 */ jal dead_sin_deg
/* ED4A60 80240840 46806320 */ cvt.s.w $f12, $f12
/* ED4A64 80240844 3C0143FA */ lui $at, 0x43fa
/* ED4A68 80240848 44811000 */ mtc1 $at, $f2
/* ED4A6C 8024084C 00000000 */ nop
/* ED4A70 80240850 46020002 */ mul.s $f0, $f0, $f2
/* ED4A74 80240854 00000000 */ nop
/* ED4A78 80240858 3C030400 */ lui $v1, 0x400
/* ED4A7C 8024085C 4600010D */ trunc.w.s $f4, $f0
/* ED4A80 80240860 44022000 */ mfc1 $v0, $f4
/* ED4A84 80240864 00000000 */ nop
/* ED4A88 80240868 2442FE0C */ addiu $v0, $v0, -0x1f4
/* ED4A8C 8024086C 3042FFFF */ andi $v0, $v0, 0xffff
/* ED4A90 80240870 00431025 */ or $v0, $v0, $v1
/* ED4A94 80240874 AE02003C */ sw $v0, 0x3c($s0)
.L80240878:
/* ED4A98 80240878 26F70006 */ addiu $s7, $s7, 6
/* ED4A9C 8024087C 8FAA0020 */ lw $t2, 0x20($sp)
/* ED4AA0 80240880 254A001E */ addiu $t2, $t2, 0x1e
/* ED4AA4 80240884 AFAA0020 */ sw $t2, 0x20($sp)
/* ED4AA8 80240888 8FAA0010 */ lw $t2, 0x10($sp)
/* ED4AAC 8024088C 27DE0001 */ addiu $fp, $fp, 1
/* ED4AB0 80240890 03CA102A */ slt $v0, $fp, $t2
/* ED4AB4 80240894 1440FF6A */ bnez $v0, .L80240640
/* ED4AB8 80240898 26B5FFFA */ addiu $s5, $s5, -6
.L8024089C:
/* ED4ABC 8024089C 8FAA0014 */ lw $t2, 0x14($sp)
/* ED4AC0 802408A0 1140008F */ beqz $t2, .L80240AE0
/* ED4AC4 802408A4 001E1040 */ sll $v0, $fp, 1
/* ED4AC8 802408A8 005E1021 */ addu $v0, $v0, $fp
/* ED4ACC 802408AC 8FAA0054 */ lw $t2, 0x54($sp)
/* ED4AD0 802408B0 00029840 */ sll $s3, $v0, 1
/* ED4AD4 802408B4 01539023 */ subu $s2, $t2, $s3
/* ED4AD8 802408B8 2642FFFA */ addiu $v0, $s2, -6
/* ED4ADC 802408BC 04400088 */ bltz $v0, .L80240AE0
/* ED4AE0 802408C0 00022840 */ sll $a1, $v0, 1
/* ED4AE4 802408C4 28A20100 */ slti $v0, $a1, 0x100
/* ED4AE8 802408C8 50400001 */ beql $v0, $zero, .L802408D0
/* ED4AEC 802408CC 240500FF */ addiu $a1, $zero, 0xff
.L802408D0:
/* ED4AF0 802408D0 3C11800A */ lui $s1, %hi(D_800A15C4)
/* ED4AF4 802408D4 263115C4 */ addiu $s1, $s1, %lo(D_800A15C4)
/* ED4AF8 802408D8 3C02FA00 */ lui $v0, 0xfa00
/* ED4AFC 802408DC 8E300000 */ lw $s0, ($s1)
/* ED4B00 802408E0 8FA40018 */ lw $a0, 0x18($sp)
/* ED4B04 802408E4 0200182D */ daddu $v1, $s0, $zero
/* ED4B08 802408E8 26100008 */ addiu $s0, $s0, 8
/* ED4B0C 802408EC AE300000 */ sw $s0, ($s1)
/* ED4B10 802408F0 AC620000 */ sw $v0, ($v1)
/* ED4B14 802408F4 2402FF00 */ addiu $v0, $zero, -0x100
/* ED4B18 802408F8 00A21025 */ or $v0, $a1, $v0
/* ED4B1C 802408FC AC620004 */ sw $v0, 4($v1)
/* ED4B20 80240900 26020008 */ addiu $v0, $s0, 8
/* ED4B24 80240904 0C019BF8 */ jal func_80066FE0
/* ED4B28 80240908 AE220000 */ sw $v0, ($s1)
/* ED4B2C 8024090C 30420007 */ andi $v0, $v0, 7
/* ED4B30 80240910 1040000C */ beqz $v0, .L80240944
/* ED4B34 80240914 3C02FD10 */ lui $v0, 0xfd10
/* ED4B38 80240918 8FA40018 */ lw $a0, 0x18($sp)
/* ED4B3C 8024091C 0C019BF8 */ jal func_80066FE0
/* ED4B40 80240920 00000000 */ nop
/* ED4B44 80240924 3C048024 */ lui $a0, %hi(D_80244BB8_ED8DD8)
/* ED4B48 80240928 24844BB8 */ addiu $a0, $a0, %lo(D_80244BB8_ED8DD8)
/* ED4B4C 8024092C 3C058024 */ lui $a1, %hi(D_80244BEC_ED8E0C)
/* ED4B50 80240930 24A54BEC */ addiu $a1, $a1, %lo(D_80244BEC_ED8E0C)
/* ED4B54 80240934 2406006B */ addiu $a2, $zero, 0x6b
/* ED4B58 80240938 0C00973F */ jal osSyncPrintf
/* ED4B5C 8024093C 0040382D */ daddu $a3, $v0, $zero
/* ED4B60 80240940 3C02FD10 */ lui $v0, 0xfd10
.L80240944:
/* ED4B64 80240944 8FA40018 */ lw $a0, 0x18($sp)
/* ED4B68 80240948 3442013F */ ori $v0, $v0, 0x13f
/* ED4B6C 8024094C 0C019BF8 */ jal func_80066FE0
/* ED4B70 80240950 AE020000 */ sw $v0, ($s0)
/* ED4B74 80240954 3C050700 */ lui $a1, 0x700
/* ED4B78 80240958 34A50090 */ ori $a1, $a1, 0x90
/* ED4B7C 8024095C 3C090400 */ lui $t1, 0x400
/* ED4B80 80240960 3529FC00 */ ori $t1, $t1, 0xfc00
/* ED4B84 80240964 02962023 */ subu $a0, $s4, $s6
/* ED4B88 80240968 00042040 */ sll $a0, $a0, 1
/* ED4B8C 8024096C 24840007 */ addiu $a0, $a0, 7
/* ED4B90 80240970 000420C3 */ sra $a0, $a0, 3
/* ED4B94 80240974 308401FF */ andi $a0, $a0, 0x1ff
/* ED4B98 80240978 8E260000 */ lw $a2, ($s1)
/* ED4B9C 8024097C 00042240 */ sll $a0, $a0, 9
/* ED4BA0 80240980 AE020004 */ sw $v0, 4($s0)
/* ED4BA4 80240984 3C02F510 */ lui $v0, 0xf510
/* ED4BA8 80240988 00822025 */ or $a0, $a0, $v0
/* ED4BAC 8024098C 00164080 */ sll $t0, $s6, 2
/* ED4BB0 80240990 31080FFF */ andi $t0, $t0, 0xfff
/* ED4BB4 80240994 00084300 */ sll $t0, $t0, 0xc
/* ED4BB8 80240998 2647FFFF */ addiu $a3, $s2, -1
/* ED4BBC 8024099C 00073880 */ sll $a3, $a3, 2
/* ED4BC0 802409A0 30E70FFF */ andi $a3, $a3, 0xfff
/* ED4BC4 802409A4 00C0182D */ daddu $v1, $a2, $zero
/* ED4BC8 802409A8 24C60008 */ addiu $a2, $a2, 8
/* ED4BCC 802409AC 24C20008 */ addiu $v0, $a2, 8
/* ED4BD0 802409B0 AE260000 */ sw $a2, ($s1)
/* ED4BD4 802409B4 AC640000 */ sw $a0, ($v1)
/* ED4BD8 802409B8 AC650004 */ sw $a1, 4($v1)
/* ED4BDC 802409BC AE220000 */ sw $v0, ($s1)
/* ED4BE0 802409C0 3C02E600 */ lui $v0, 0xe600
/* ED4BE4 802409C4 ACC20000 */ sw $v0, ($a2)
/* ED4BE8 802409C8 24C20010 */ addiu $v0, $a2, 0x10
/* ED4BEC 802409CC ACC00004 */ sw $zero, 4($a2)
/* ED4BF0 802409D0 AE220000 */ sw $v0, ($s1)
/* ED4BF4 802409D4 3C02F400 */ lui $v0, 0xf400
/* ED4BF8 802409D8 2683FFFF */ addiu $v1, $s4, -1
/* ED4BFC 802409DC 00031880 */ sll $v1, $v1, 2
/* ED4C00 802409E0 30630FFF */ andi $v1, $v1, 0xfff
/* ED4C04 802409E4 8FAA0014 */ lw $t2, 0x14($sp)
/* ED4C08 802409E8 00031B00 */ sll $v1, $v1, 0xc
/* ED4C0C 802409EC 024A2823 */ subu $a1, $s2, $t2
/* ED4C10 802409F0 00052880 */ sll $a1, $a1, 2
/* ED4C14 802409F4 30A50FFF */ andi $a1, $a1, 0xfff
/* ED4C18 802409F8 00A21025 */ or $v0, $a1, $v0
/* ED4C1C 802409FC 01021025 */ or $v0, $t0, $v0
/* ED4C20 80240A00 ACC20008 */ sw $v0, 8($a2)
/* ED4C24 80240A04 3C020700 */ lui $v0, 0x700
/* ED4C28 80240A08 00E21025 */ or $v0, $a3, $v0
/* ED4C2C 80240A0C 00621025 */ or $v0, $v1, $v0
/* ED4C30 80240A10 ACC2000C */ sw $v0, 0xc($a2)
/* ED4C34 80240A14 24C20018 */ addiu $v0, $a2, 0x18
/* ED4C38 80240A18 AE220000 */ sw $v0, ($s1)
/* ED4C3C 80240A1C 3C02E700 */ lui $v0, 0xe700
/* ED4C40 80240A20 ACC20010 */ sw $v0, 0x10($a2)
/* ED4C44 80240A24 24C20020 */ addiu $v0, $a2, 0x20
/* ED4C48 80240A28 ACC00014 */ sw $zero, 0x14($a2)
/* ED4C4C 80240A2C AE220000 */ sw $v0, ($s1)
/* ED4C50 80240A30 24020090 */ addiu $v0, $zero, 0x90
/* ED4C54 80240A34 ACC2001C */ sw $v0, 0x1c($a2)
/* ED4C58 80240A38 24C20028 */ addiu $v0, $a2, 0x28
/* ED4C5C 80240A3C ACC40018 */ sw $a0, 0x18($a2)
/* ED4C60 80240A40 AE220000 */ sw $v0, ($s1)
/* ED4C64 80240A44 3C02F200 */ lui $v0, 0xf200
/* ED4C68 80240A48 00A22825 */ or $a1, $a1, $v0
/* ED4C6C 80240A4C 01052825 */ or $a1, $t0, $a1
/* ED4C70 80240A50 00671825 */ or $v1, $v1, $a3
/* ED4C74 80240A54 24C20030 */ addiu $v0, $a2, 0x30
/* ED4C78 80240A58 ACC30024 */ sw $v1, 0x24($a2)
/* ED4C7C 80240A5C 00141880 */ sll $v1, $s4, 2
/* ED4C80 80240A60 30630FFF */ andi $v1, $v1, 0xfff
/* ED4C84 80240A64 ACC50020 */ sw $a1, 0x20($a2)
/* ED4C88 80240A68 AE220000 */ sw $v0, ($s1)
/* ED4C8C 80240A6C 8FAA0054 */ lw $t2, 0x54($sp)
/* ED4C90 80240A70 00031B00 */ sll $v1, $v1, 0xc
/* ED4C94 80240A74 01532821 */ addu $a1, $t2, $s3
/* ED4C98 80240A78 8FAA0014 */ lw $t2, 0x14($sp)
/* ED4C9C 80240A7C 3C04E400 */ lui $a0, 0xe400
/* ED4CA0 80240A80 00AA1021 */ addu $v0, $a1, $t2
/* ED4CA4 80240A84 00021080 */ sll $v0, $v0, 2
/* ED4CA8 80240A88 30420FFF */ andi $v0, $v0, 0xfff
/* ED4CAC 80240A8C 00441025 */ or $v0, $v0, $a0
/* ED4CB0 80240A90 00621825 */ or $v1, $v1, $v0
/* ED4CB4 80240A94 00052880 */ sll $a1, $a1, 2
/* ED4CB8 80240A98 30A50FFF */ andi $a1, $a1, 0xfff
/* ED4CBC 80240A9C 01054025 */ or $t0, $t0, $a1
/* ED4CC0 80240AA0 24C20038 */ addiu $v0, $a2, 0x38
/* ED4CC4 80240AA4 ACC30028 */ sw $v1, 0x28($a2)
/* ED4CC8 80240AA8 ACC8002C */ sw $t0, 0x2c($a2)
/* ED4CCC 80240AAC AE220000 */ sw $v0, ($s1)
/* ED4CD0 80240AB0 3C02E100 */ lui $v0, 0xe100
/* ED4CD4 80240AB4 00161D40 */ sll $v1, $s6, 0x15
/* ED4CD8 80240AB8 ACC20030 */ sw $v0, 0x30($a2)
/* ED4CDC 80240ABC 00121140 */ sll $v0, $s2, 5
/* ED4CE0 80240AC0 3042FFFF */ andi $v0, $v0, 0xffff
/* ED4CE4 80240AC4 00621825 */ or $v1, $v1, $v0
/* ED4CE8 80240AC8 24C20040 */ addiu $v0, $a2, 0x40
/* ED4CEC 80240ACC ACC30034 */ sw $v1, 0x34($a2)
/* ED4CF0 80240AD0 AE220000 */ sw $v0, ($s1)
/* ED4CF4 80240AD4 3C02F100 */ lui $v0, 0xf100
/* ED4CF8 80240AD8 ACC20038 */ sw $v0, 0x38($a2)
/* ED4CFC 80240ADC ACC9003C */ sw $t1, 0x3c($a2)
.L80240AE0:
/* ED4D00 80240AE0 8FBF004C */ lw $ra, 0x4c($sp)
/* ED4D04 80240AE4 8FBE0048 */ lw $fp, 0x48($sp)
/* ED4D08 80240AE8 8FB70044 */ lw $s7, 0x44($sp)
/* ED4D0C 80240AEC 8FB60040 */ lw $s6, 0x40($sp)
/* ED4D10 80240AF0 8FB5003C */ lw $s5, 0x3c($sp)
/* ED4D14 80240AF4 8FB40038 */ lw $s4, 0x38($sp)
/* ED4D18 80240AF8 8FB30034 */ lw $s3, 0x34($sp)
/* ED4D1C 80240AFC 8FB20030 */ lw $s2, 0x30($sp)
/* ED4D20 80240B00 8FB1002C */ lw $s1, 0x2c($sp)
/* ED4D24 80240B04 8FB00028 */ lw $s0, 0x28($sp)
/* ED4D28 80240B08 03E00008 */ jr $ra
/* ED4D2C 80240B0C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,600 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_appendGfx_component_flat
/* FF0F8 802DC008 27BDFFC8 */ addiu $sp, $sp, -0x38
/* FF0FC 802DC00C AFB3002C */ sw $s3, 0x2c($sp)
/* FF100 802DC010 0080982D */ daddu $s3, $a0, $zero
/* FF104 802DC014 AFB20028 */ sw $s2, 0x28($sp)
/* FF108 802DC018 00A0902D */ daddu $s2, $a1, $zero
/* FF10C 802DC01C 3C04F500 */ lui $a0, 0xf500
/* FF110 802DC020 34840100 */ ori $a0, $a0, 0x100
/* FF114 802DC024 3C050703 */ lui $a1, 0x703
/* FF118 802DC028 3C0C800A */ lui $t4, %hi(gMasterGfxPos)
/* FF11C 802DC02C 258CA66C */ addiu $t4, $t4, %lo(gMasterGfxPos)
/* FF120 802DC030 34A5C000 */ ori $a1, $a1, 0xc000
/* FF124 802DC034 3C02FD10 */ lui $v0, 0xfd10
/* FF128 802DC038 3C0F0700 */ lui $t7, 0x700
/* FF12C 802DC03C 3C0EE600 */ lui $t6, 0xe600
/* FF130 802DC040 AFBF0034 */ sw $ra, 0x34($sp)
/* FF134 802DC044 AFB40030 */ sw $s4, 0x30($sp)
/* FF138 802DC048 AFB10024 */ sw $s1, 0x24($sp)
/* FF13C 802DC04C AFB00020 */ sw $s0, 0x20($sp)
/* FF140 802DC050 8D8B0000 */ lw $t3, ($t4)
/* FF144 802DC054 8FB10048 */ lw $s1, 0x48($sp)
/* FF148 802DC058 8FB90054 */ lw $t9, 0x54($sp)
/* FF14C 802DC05C 0160182D */ daddu $v1, $t3, $zero
/* FF150 802DC060 256B0008 */ addiu $t3, $t3, 8
/* FF154 802DC064 AD8B0000 */ sw $t3, ($t4)
/* FF158 802DC068 AC620000 */ sw $v0, ($v1)
/* FF15C 802DC06C 25620008 */ addiu $v0, $t3, 8
/* FF160 802DC070 AC660004 */ sw $a2, 4($v1)
/* FF164 802DC074 AD820000 */ sw $v0, ($t4)
/* FF168 802DC078 3C02E800 */ lui $v0, 0xe800
/* FF16C 802DC07C AD620000 */ sw $v0, ($t3)
/* FF170 802DC080 25620010 */ addiu $v0, $t3, 0x10
/* FF174 802DC084 AD600004 */ sw $zero, 4($t3)
/* FF178 802DC088 AD820000 */ sw $v0, ($t4)
/* FF17C 802DC08C 25620018 */ addiu $v0, $t3, 0x18
/* FF180 802DC090 AD640008 */ sw $a0, 8($t3)
/* FF184 802DC094 AD6F000C */ sw $t7, 0xc($t3)
/* FF188 802DC098 AD820000 */ sw $v0, ($t4)
/* FF18C 802DC09C 25620020 */ addiu $v0, $t3, 0x20
/* FF190 802DC0A0 AD6E0010 */ sw $t6, 0x10($t3)
/* FF194 802DC0A4 AD600014 */ sw $zero, 0x14($t3)
/* FF198 802DC0A8 AD820000 */ sw $v0, ($t4)
/* FF19C 802DC0AC 3C02F000 */ lui $v0, 0xf000
/* FF1A0 802DC0B0 AD620018 */ sw $v0, 0x18($t3)
/* FF1A4 802DC0B4 25620028 */ addiu $v0, $t3, 0x28
/* FF1A8 802DC0B8 AD65001C */ sw $a1, 0x1c($t3)
/* FF1AC 802DC0BC AD820000 */ sw $v0, ($t4)
/* FF1B0 802DC0C0 3C188015 */ lui $t8, %hi(D_80151328)
/* FF1B4 802DC0C4 8F181328 */ lw $t8, %lo(D_80151328)($t8)
/* FF1B8 802DC0C8 3C10E700 */ lui $s0, 0xe700
/* FF1BC 802DC0CC AD700020 */ sw $s0, 0x20($t3)
/* FF1C0 802DC0D0 AD600024 */ sw $zero, 0x24($t3)
/* FF1C4 802DC0D4 97020000 */ lhu $v0, ($t8)
/* FF1C8 802DC0D8 30420001 */ andi $v0, $v0, 1
/* FF1CC 802DC0DC 104000C4 */ beqz $v0, .L802DC3F0
/* FF1D0 802DC0E0 00E0682D */ daddu $t5, $a3, $zero
/* FF1D4 802DC0E4 3C04070A */ lui $a0, 0x70a
/* FF1D8 802DC0E8 34840280 */ ori $a0, $a0, 0x280
/* FF1DC 802DC0EC 3C06010A */ lui $a2, 0x10a
/* FF1E0 802DC0F0 34C60280 */ ori $a2, $a2, 0x280
/* FF1E4 802DC0F4 3C07F240 */ lui $a3, 0xf240
/* FF1E8 802DC0F8 34E70400 */ ori $a3, $a3, 0x400
/* FF1EC 802DC0FC 3C08001A */ lui $t0, 0x1a
/* FF1F0 802DC100 35080280 */ ori $t0, $t0, 0x280
/* FF1F4 802DC104 3C09F510 */ lui $t1, 0xf510
/* FF1F8 802DC108 35290900 */ ori $t1, $t1, 0x900
/* FF1FC 802DC10C 3C0A020F */ lui $t2, 0x20f
/* FF200 802DC110 354AC000 */ ori $t2, $t2, 0xc000
/* FF204 802DC114 25620030 */ addiu $v0, $t3, 0x30
/* FF208 802DC118 000D2843 */ sra $a1, $t5, 1
/* FF20C 802DC11C AD820000 */ sw $v0, ($t4)
/* FF210 802DC120 24A2FFFF */ addiu $v0, $a1, -1
/* FF214 802DC124 30420FFF */ andi $v0, $v0, 0xfff
/* FF218 802DC128 3C03FD48 */ lui $v1, 0xfd48
/* FF21C 802DC12C 00431025 */ or $v0, $v0, $v1
/* FF220 802DC130 AD620028 */ sw $v0, 0x28($t3)
/* FF224 802DC134 25620038 */ addiu $v0, $t3, 0x38
/* FF228 802DC138 24A50007 */ addiu $a1, $a1, 7
/* FF22C 802DC13C 000528C3 */ sra $a1, $a1, 3
/* FF230 802DC140 30A501FF */ andi $a1, $a1, 0x1ff
/* FF234 802DC144 00052A40 */ sll $a1, $a1, 9
/* FF238 802DC148 AD72002C */ sw $s2, 0x2c($t3)
/* FF23C 802DC14C AD820000 */ sw $v0, ($t4)
/* FF240 802DC150 3C02F548 */ lui $v0, 0xf548
/* FF244 802DC154 00A21025 */ or $v0, $a1, $v0
/* FF248 802DC158 AD620030 */ sw $v0, 0x30($t3)
/* FF24C 802DC15C 25620040 */ addiu $v0, $t3, 0x40
/* FF250 802DC160 AD640034 */ sw $a0, 0x34($t3)
/* FF254 802DC164 AD820000 */ sw $v0, ($t4)
/* FF258 802DC168 25620048 */ addiu $v0, $t3, 0x48
/* FF25C 802DC16C AD6E0038 */ sw $t6, 0x38($t3)
/* FF260 802DC170 AD60003C */ sw $zero, 0x3c($t3)
/* FF264 802DC174 AD820000 */ sw $v0, ($t4)
/* FF268 802DC178 3C02F400 */ lui $v0, 0xf400
/* FF26C 802DC17C 25A3FFFF */ addiu $v1, $t5, -1
/* FF270 802DC180 00031840 */ sll $v1, $v1, 1
/* FF274 802DC184 30630FFF */ andi $v1, $v1, 0xfff
/* FF278 802DC188 00031B00 */ sll $v1, $v1, 0xc
/* FF27C 802DC18C AD620040 */ sw $v0, 0x40($t3)
/* FF280 802DC190 2622FFFF */ addiu $v0, $s1, -1
/* FF284 802DC194 00021080 */ sll $v0, $v0, 2
/* FF288 802DC198 30420FFF */ andi $v0, $v0, 0xfff
/* FF28C 802DC19C 004F1025 */ or $v0, $v0, $t7
/* FF290 802DC1A0 00621825 */ or $v1, $v1, $v0
/* FF294 802DC1A4 25620050 */ addiu $v0, $t3, 0x50
/* FF298 802DC1A8 AD630044 */ sw $v1, 0x44($t3)
/* FF29C 802DC1AC AD820000 */ sw $v0, ($t4)
/* FF2A0 802DC1B0 25620058 */ addiu $v0, $t3, 0x58
/* FF2A4 802DC1B4 AD700048 */ sw $s0, 0x48($t3)
/* FF2A8 802DC1B8 AD60004C */ sw $zero, 0x4c($t3)
/* FF2AC 802DC1BC AD820000 */ sw $v0, ($t4)
/* FF2B0 802DC1C0 3C02F540 */ lui $v0, 0xf540
/* FF2B4 802DC1C4 00A22825 */ or $a1, $a1, $v0
/* FF2B8 802DC1C8 25620060 */ addiu $v0, $t3, 0x60
/* FF2BC 802DC1CC 25A300FF */ addiu $v1, $t5, 0xff
/* FF2C0 802DC1D0 00031880 */ sll $v1, $v1, 2
/* FF2C4 802DC1D4 30630FFF */ andi $v1, $v1, 0xfff
/* FF2C8 802DC1D8 00031B00 */ sll $v1, $v1, 0xc
/* FF2CC 802DC1DC AD650050 */ sw $a1, 0x50($t3)
/* FF2D0 802DC1E0 AD660054 */ sw $a2, 0x54($t3)
/* FF2D4 802DC1E4 AD820000 */ sw $v0, ($t4)
/* FF2D8 802DC1E8 262200FF */ addiu $v0, $s1, 0xff
/* FF2DC 802DC1EC 00021080 */ sll $v0, $v0, 2
/* FF2E0 802DC1F0 30420FFF */ andi $v0, $v0, 0xfff
/* FF2E4 802DC1F4 3C040100 */ lui $a0, 0x100
/* FF2E8 802DC1F8 00441025 */ or $v0, $v0, $a0
/* FF2EC 802DC1FC 00621825 */ or $v1, $v1, $v0
/* FF2F0 802DC200 25620068 */ addiu $v0, $t3, 0x68
/* FF2F4 802DC204 AD670058 */ sw $a3, 0x58($t3)
/* FF2F8 802DC208 AD63005C */ sw $v1, 0x5c($t3)
/* FF2FC 802DC20C AD820000 */ sw $v0, ($t4)
/* FF300 802DC210 25620070 */ addiu $v0, $t3, 0x70
/* FF304 802DC214 AD650060 */ sw $a1, 0x60($t3)
/* FF308 802DC218 AD680064 */ sw $t0, 0x64($t3)
/* FF30C 802DC21C AD820000 */ sw $v0, ($t4)
/* FF310 802DC220 3C020200 */ lui $v0, 0x200
/* FF314 802DC224 AD62006C */ sw $v0, 0x6c($t3)
/* FF318 802DC228 3C02F200 */ lui $v0, 0xf200
/* FF31C 802DC22C AD690068 */ sw $t1, 0x68($t3)
/* FF320 802DC230 AD620070 */ sw $v0, 0x70($t3)
/* FF324 802DC234 AD6A0074 */ sw $t2, 0x74($t3)
/* FF328 802DC238 97020000 */ lhu $v0, ($t8)
/* FF32C 802DC23C 25630078 */ addiu $v1, $t3, 0x78
/* FF330 802DC240 30420002 */ andi $v0, $v0, 2
/* FF334 802DC244 10400059 */ beqz $v0, .L802DC3AC
/* FF338 802DC248 AD830000 */ sw $v1, ($t4)
/* FF33C 802DC24C 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* FF340 802DC250 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* FF344 802DC254 3C04800B */ lui $a0, %hi(gCameras)
/* FF348 802DC258 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* FF34C 802DC25C 00031080 */ sll $v0, $v1, 2
/* FF350 802DC260 00431021 */ addu $v0, $v0, $v1
/* FF354 802DC264 00021080 */ sll $v0, $v0, 2
/* FF358 802DC268 00431023 */ subu $v0, $v0, $v1
/* FF35C 802DC26C 000218C0 */ sll $v1, $v0, 3
/* FF360 802DC270 00431021 */ addu $v0, $v0, $v1
/* FF364 802DC274 000210C0 */ sll $v0, $v0, 3
/* FF368 802DC278 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* FF36C 802DC27C 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* FF370 802DC280 00442021 */ addu $a0, $v0, $a0
/* FF374 802DC284 80630070 */ lb $v1, 0x70($v1)
/* FF378 802DC288 24020002 */ addiu $v0, $zero, 2
/* FF37C 802DC28C 14620009 */ bne $v1, $v0, .L802DC2B4
/* FF380 802DC290 3C02DC08 */ lui $v0, 0xdc08
/* FF384 802DC294 34420008 */ ori $v0, $v0, 8
/* FF388 802DC298 25630080 */ addiu $v1, $t3, 0x80
/* FF38C 802DC29C AD830000 */ sw $v1, ($t4)
/* FF390 802DC2A0 AD620078 */ sw $v0, 0x78($t3)
/* FF394 802DC2A4 3C02802E */ lui $v0, %hi(D_802DF3E0)
/* FF398 802DC2A8 2442F3E0 */ addiu $v0, $v0, %lo(D_802DF3E0)
/* FF39C 802DC2AC 080B70B3 */ j .L802DC2CC
/* FF3A0 802DC2B0 AD62007C */ sw $v0, 0x7c($t3)
.L802DC2B4:
/* FF3A4 802DC2B4 34420008 */ ori $v0, $v0, 8
/* FF3A8 802DC2B8 25630080 */ addiu $v1, $t3, 0x80
/* FF3AC 802DC2BC AD830000 */ sw $v1, ($t4)
/* FF3B0 802DC2C0 AD620078 */ sw $v0, 0x78($t3)
/* FF3B4 802DC2C4 248200B0 */ addiu $v0, $a0, 0xb0
/* FF3B8 802DC2C8 AD62007C */ sw $v0, 0x7c($t3)
.L802DC2CC:
/* FF3BC 802DC2CC 240200FF */ addiu $v0, $zero, 0xff
/* FF3C0 802DC2D0 17220008 */ bne $t9, $v0, .L802DC2F4
/* FF3C4 802DC2D4 3C06E200 */ lui $a2, 0xe200
/* FF3C8 802DC2D8 34C6001C */ ori $a2, $a2, 0x1c
/* FF3CC 802DC2DC 3C050C19 */ lui $a1, 0xc19
/* FF3D0 802DC2E0 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* FF3D4 802DC2E4 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* FF3D8 802DC2E8 8C820000 */ lw $v0, ($a0)
/* FF3DC 802DC2EC 080B70C3 */ j .L802DC30C
/* FF3E0 802DC2F0 34A51238 */ ori $a1, $a1, 0x1238
.L802DC2F4:
/* FF3E4 802DC2F4 34C6001C */ ori $a2, $a2, 0x1c
/* FF3E8 802DC2F8 3C050C18 */ lui $a1, 0xc18
/* FF3EC 802DC2FC 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* FF3F0 802DC300 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* FF3F4 802DC304 8C820000 */ lw $v0, ($a0)
/* FF3F8 802DC308 34A54B50 */ ori $a1, $a1, 0x4b50
.L802DC30C:
/* FF3FC 802DC30C 0040182D */ daddu $v1, $v0, $zero
/* FF400 802DC310 24420008 */ addiu $v0, $v0, 8
/* FF404 802DC314 AC820000 */ sw $v0, ($a0)
/* FF408 802DC318 AC660000 */ sw $a2, ($v1)
/* FF40C 802DC31C AC650004 */ sw $a1, 4($v1)
/* FF410 802DC320 3C06FCFF */ lui $a2, 0xfcff
/* FF414 802DC324 34C6D5FF */ ori $a2, $a2, 0xd5ff
/* FF418 802DC328 3C070100 */ lui $a3, 0x100
/* FF41C 802DC32C 34E74008 */ ori $a3, $a3, 0x4008
/* FF420 802DC330 3C080600 */ lui $t0, 0x600
/* FF424 802DC334 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* FF428 802DC338 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* FF42C 802DC33C 35080402 */ ori $t0, $t0, 0x402
/* FF430 802DC340 8C820000 */ lw $v0, ($a0)
/* FF434 802DC344 3C03FB00 */ lui $v1, 0xfb00
/* FF438 802DC348 0040282D */ daddu $a1, $v0, $zero
/* FF43C 802DC34C 24420008 */ addiu $v0, $v0, 8
/* FF440 802DC350 AC820000 */ sw $v0, ($a0)
/* FF444 802DC354 ACA30000 */ sw $v1, ($a1)
/* FF448 802DC358 332300FF */ andi $v1, $t9, 0xff
/* FF44C 802DC35C ACA30004 */ sw $v1, 4($a1)
/* FF450 802DC360 24430008 */ addiu $v1, $v0, 8
/* FF454 802DC364 AC830000 */ sw $v1, ($a0)
/* FF458 802DC368 2403FFF8 */ addiu $v1, $zero, -8
/* FF45C 802DC36C AC430004 */ sw $v1, 4($v0)
/* FF460 802DC370 24430010 */ addiu $v1, $v0, 0x10
/* FF464 802DC374 AC460000 */ sw $a2, ($v0)
/* FF468 802DC378 AC830000 */ sw $v1, ($a0)
/* FF46C 802DC37C 24430018 */ addiu $v1, $v0, 0x18
/* FF470 802DC380 AC470008 */ sw $a3, 8($v0)
/* FF474 802DC384 AC53000C */ sw $s3, 0xc($v0)
/* FF478 802DC388 AC830000 */ sw $v1, ($a0)
/* FF47C 802DC38C 24030604 */ addiu $v1, $zero, 0x604
/* FF480 802DC390 AC430014 */ sw $v1, 0x14($v0)
/* FF484 802DC394 24430020 */ addiu $v1, $v0, 0x20
/* FF488 802DC398 AC480010 */ sw $t0, 0x10($v0)
/* FF48C 802DC39C AC830000 */ sw $v1, ($a0)
/* FF490 802DC3A0 3C03E700 */ lui $v1, 0xe700
/* FF494 802DC3A4 AC430018 */ sw $v1, 0x18($v0)
/* FF498 802DC3A8 AC40001C */ sw $zero, 0x1c($v0)
.L802DC3AC:
/* FF49C 802DC3AC 240200FF */ addiu $v0, $zero, 0xff
/* FF4A0 802DC3B0 AFB10010 */ sw $s1, 0x10($sp)
/* FF4A4 802DC3B4 17220004 */ bne $t9, $v0, .L802DC3C8
/* FF4A8 802DC3B8 AFB90014 */ sw $t9, 0x14($sp)
/* FF4AC 802DC3BC 3C020011 */ lui $v0, 0x11
/* FF4B0 802DC3C0 080B70F4 */ j .L802DC3D0
/* FF4B4 802DC3C4 34421238 */ ori $v0, $v0, 0x1238
.L802DC3C8:
/* FF4B8 802DC3C8 3C020010 */ lui $v0, 0x10
/* FF4BC 802DC3CC 34424B50 */ ori $v0, $v0, 0x4b50
.L802DC3D0:
/* FF4C0 802DC3D0 AFA20018 */ sw $v0, 0x18($sp)
/* FF4C4 802DC3D4 8FA40050 */ lw $a0, 0x50($sp)
/* FF4C8 802DC3D8 0000282D */ daddu $a1, $zero, $zero
/* FF4CC 802DC3DC 00A0302D */ daddu $a2, $a1, $zero
/* FF4D0 802DC3E0 0C052071 */ jal create_shading_palette
/* FF4D4 802DC3E4 01A0382D */ daddu $a3, $t5, $zero
/* FF4D8 802DC3E8 080B71E2 */ j .L802DC788
/* FF4DC 802DC3EC 00000000 */ nop
.L802DC3F0:
/* FF4E0 802DC3F0 3C03070A */ lui $v1, 0x70a
/* FF4E4 802DC3F4 34630280 */ ori $v1, $v1, 0x280
/* FF4E8 802DC3F8 01A0202D */ daddu $a0, $t5, $zero
/* FF4EC 802DC3FC 25620030 */ addiu $v0, $t3, 0x30
/* FF4F0 802DC400 AD820000 */ sw $v0, ($t4)
/* FF4F4 802DC404 3C02FD50 */ lui $v0, 0xfd50
/* FF4F8 802DC408 AD620028 */ sw $v0, 0x28($t3)
/* FF4FC 802DC40C 25620038 */ addiu $v0, $t3, 0x38
/* FF500 802DC410 AD72002C */ sw $s2, 0x2c($t3)
/* FF504 802DC414 AD820000 */ sw $v0, ($t4)
/* FF508 802DC418 3C02F550 */ lui $v0, 0xf550
/* FF50C 802DC41C AD620030 */ sw $v0, 0x30($t3)
/* FF510 802DC420 25620040 */ addiu $v0, $t3, 0x40
/* FF514 802DC424 AD630034 */ sw $v1, 0x34($t3)
/* FF518 802DC428 AD820000 */ sw $v0, ($t4)
/* FF51C 802DC42C 25620048 */ addiu $v0, $t3, 0x48
/* FF520 802DC430 AD6E0038 */ sw $t6, 0x38($t3)
/* FF524 802DC434 AD60003C */ sw $zero, 0x3c($t3)
/* FF528 802DC438 AD820000 */ sw $v0, ($t4)
/* FF52C 802DC43C 3C02F300 */ lui $v0, 0xf300
/* FF530 802DC440 05A10002 */ bgez $t5, .L802DC44C
/* FF534 802DC444 AD620040 */ sw $v0, 0x40($t3)
/* FF538 802DC448 25A4000F */ addiu $a0, $t5, 0xf
.L802DC44C:
/* FF53C 802DC44C 00042903 */ sra $a1, $a0, 4
/* FF540 802DC450 18A00002 */ blez $a1, .L802DC45C
/* FF544 802DC454 24030800 */ addiu $v1, $zero, 0x800
/* FF548 802DC458 24A307FF */ addiu $v1, $a1, 0x7ff
.L802DC45C:
/* FF54C 802DC45C 01B10018 */ mult $t5, $s1
/* FF550 802DC460 0000A012 */ mflo $s4
/* FF554 802DC464 26820003 */ addiu $v0, $s4, 3
/* FF558 802DC468 00021083 */ sra $v0, $v0, 2
/* FF55C 802DC46C 2444FFFF */ addiu $a0, $v0, -1
/* FF560 802DC470 28820800 */ slti $v0, $a0, 0x800
/* FF564 802DC474 50400001 */ beql $v0, $zero, .L802DC47C
/* FF568 802DC478 240407FF */ addiu $a0, $zero, 0x7ff
.L802DC47C:
/* FF56C 802DC47C 30820FFF */ andi $v0, $a0, 0xfff
/* FF570 802DC480 00021300 */ sll $v0, $v0, 0xc
/* FF574 802DC484 18A0000D */ blez $a1, .L802DC4BC
/* FF578 802DC488 004F2025 */ or $a0, $v0, $t7
/* FF57C 802DC48C 14A00002 */ bnez $a1, .L802DC498
/* FF580 802DC490 0065001A */ div $zero, $v1, $a1
/* FF584 802DC494 0007000D */ break 7
.L802DC498:
/* FF588 802DC498 2401FFFF */ addiu $at, $zero, -1
/* FF58C 802DC49C 14A10004 */ bne $a1, $at, .L802DC4B0
/* FF590 802DC4A0 3C018000 */ lui $at, 0x8000
/* FF594 802DC4A4 14610002 */ bne $v1, $at, .L802DC4B0
/* FF598 802DC4A8 00000000 */ nop
/* FF59C 802DC4AC 0006000D */ break 6
.L802DC4B0:
/* FF5A0 802DC4B0 00001012 */ mflo $v0
/* FF5A4 802DC4B4 080B7130 */ j .L802DC4C0
/* FF5A8 802DC4B8 30420FFF */ andi $v0, $v0, 0xfff
.L802DC4BC:
/* FF5AC 802DC4BC 30620FFF */ andi $v0, $v1, 0xfff
.L802DC4C0:
/* FF5B0 802DC4C0 00821025 */ or $v0, $a0, $v0
/* FF5B4 802DC4C4 AD620044 */ sw $v0, 0x44($t3)
/* FF5B8 802DC4C8 3C05000A */ lui $a1, 0xa
/* FF5BC 802DC4CC 34A50280 */ ori $a1, $a1, 0x280
/* FF5C0 802DC4D0 3C04F240 */ lui $a0, 0xf240
/* FF5C4 802DC4D4 3C07800A */ lui $a3, %hi(gMasterGfxPos)
/* FF5C8 802DC4D8 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos)
/* FF5CC 802DC4DC 34840400 */ ori $a0, $a0, 0x400
/* FF5D0 802DC4E0 8CE60000 */ lw $a2, ($a3)
/* FF5D4 802DC4E4 3C02E700 */ lui $v0, 0xe700
/* FF5D8 802DC4E8 00C0182D */ daddu $v1, $a2, $zero
/* FF5DC 802DC4EC 24C60008 */ addiu $a2, $a2, 8
/* FF5E0 802DC4F0 ACE60000 */ sw $a2, ($a3)
/* FF5E4 802DC4F4 AC620000 */ sw $v0, ($v1)
/* FF5E8 802DC4F8 24C20008 */ addiu $v0, $a2, 8
/* FF5EC 802DC4FC AC600004 */ sw $zero, 4($v1)
/* FF5F0 802DC500 ACE20000 */ sw $v0, ($a3)
/* FF5F4 802DC504 000D1043 */ sra $v0, $t5, 1
/* FF5F8 802DC508 24420007 */ addiu $v0, $v0, 7
/* FF5FC 802DC50C 000210C3 */ sra $v0, $v0, 3
/* FF600 802DC510 304201FF */ andi $v0, $v0, 0x1ff
/* FF604 802DC514 00021240 */ sll $v0, $v0, 9
/* FF608 802DC518 3C03F540 */ lui $v1, 0xf540
/* FF60C 802DC51C 00431025 */ or $v0, $v0, $v1
/* FF610 802DC520 ACC20000 */ sw $v0, ($a2)
/* FF614 802DC524 25A200FF */ addiu $v0, $t5, 0xff
/* FF618 802DC528 00021080 */ sll $v0, $v0, 2
/* FF61C 802DC52C 30420FFF */ andi $v0, $v0, 0xfff
/* FF620 802DC530 00021300 */ sll $v0, $v0, 0xc
/* FF624 802DC534 262300FF */ addiu $v1, $s1, 0xff
/* FF628 802DC538 00031880 */ sll $v1, $v1, 2
/* FF62C 802DC53C 30630FFF */ andi $v1, $v1, 0xfff
/* FF630 802DC540 ACC40008 */ sw $a0, 8($a2)
/* FF634 802DC544 3C048015 */ lui $a0, %hi(D_80151328)
/* FF638 802DC548 8C841328 */ lw $a0, %lo(D_80151328)($a0)
/* FF63C 802DC54C 00431025 */ or $v0, $v0, $v1
/* FF640 802DC550 ACC50004 */ sw $a1, 4($a2)
/* FF644 802DC554 ACC2000C */ sw $v0, 0xc($a2)
/* FF648 802DC558 94820000 */ lhu $v0, ($a0)
/* FF64C 802DC55C 24C30010 */ addiu $v1, $a2, 0x10
/* FF650 802DC560 30420002 */ andi $v0, $v0, 2
/* FF654 802DC564 104000C5 */ beqz $v0, .L802DC87C
/* FF658 802DC568 ACE30000 */ sw $v1, ($a3)
/* FF65C 802DC56C 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* FF660 802DC570 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* FF664 802DC574 3C04800B */ lui $a0, %hi(gCameras)
/* FF668 802DC578 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* FF66C 802DC57C 00031080 */ sll $v0, $v1, 2
/* FF670 802DC580 00431021 */ addu $v0, $v0, $v1
/* FF674 802DC584 00021080 */ sll $v0, $v0, 2
/* FF678 802DC588 00431023 */ subu $v0, $v0, $v1
/* FF67C 802DC58C 000218C0 */ sll $v1, $v0, 3
/* FF680 802DC590 00431021 */ addu $v0, $v0, $v1
/* FF684 802DC594 000210C0 */ sll $v0, $v0, 3
/* FF688 802DC598 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* FF68C 802DC59C 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* FF690 802DC5A0 00442021 */ addu $a0, $v0, $a0
/* FF694 802DC5A4 80630070 */ lb $v1, 0x70($v1)
/* FF698 802DC5A8 24020002 */ addiu $v0, $zero, 2
/* FF69C 802DC5AC 14620009 */ bne $v1, $v0, .L802DC5D4
/* FF6A0 802DC5B0 3C02DC08 */ lui $v0, 0xdc08
/* FF6A4 802DC5B4 34420008 */ ori $v0, $v0, 8
/* FF6A8 802DC5B8 24C30018 */ addiu $v1, $a2, 0x18
/* FF6AC 802DC5BC ACE30000 */ sw $v1, ($a3)
/* FF6B0 802DC5C0 ACC20010 */ sw $v0, 0x10($a2)
/* FF6B4 802DC5C4 3C02802E */ lui $v0, %hi(D_802DF3E0)
/* FF6B8 802DC5C8 2442F3E0 */ addiu $v0, $v0, %lo(D_802DF3E0)
/* FF6BC 802DC5CC 080B717B */ j .L802DC5EC
/* FF6C0 802DC5D0 ACC20014 */ sw $v0, 0x14($a2)
.L802DC5D4:
/* FF6C4 802DC5D4 34420008 */ ori $v0, $v0, 8
/* FF6C8 802DC5D8 24C30018 */ addiu $v1, $a2, 0x18
/* FF6CC 802DC5DC ACE30000 */ sw $v1, ($a3)
/* FF6D0 802DC5E0 ACC20010 */ sw $v0, 0x10($a2)
/* FF6D4 802DC5E4 248200B0 */ addiu $v0, $a0, 0xb0
/* FF6D8 802DC5E8 ACC20014 */ sw $v0, 0x14($a2)
.L802DC5EC:
/* FF6DC 802DC5EC 240200FF */ addiu $v0, $zero, 0xff
/* FF6E0 802DC5F0 17220008 */ bne $t9, $v0, .L802DC614
/* FF6E4 802DC5F4 3C06E200 */ lui $a2, 0xe200
/* FF6E8 802DC5F8 34C6001C */ ori $a2, $a2, 0x1c
/* FF6EC 802DC5FC 3C050055 */ lui $a1, 0x55
/* FF6F0 802DC600 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* FF6F4 802DC604 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* FF6F8 802DC608 8C820000 */ lw $v0, ($a0)
/* FF6FC 802DC60C 080B718B */ j .L802DC62C
/* FF700 802DC610 34A53238 */ ori $a1, $a1, 0x3238
.L802DC614:
/* FF704 802DC614 34C6001C */ ori $a2, $a2, 0x1c
/* FF708 802DC618 3C050050 */ lui $a1, 0x50
/* FF70C 802DC61C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* FF710 802DC620 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* FF714 802DC624 8C820000 */ lw $v0, ($a0)
/* FF718 802DC628 34A54B50 */ ori $a1, $a1, 0x4b50
.L802DC62C:
/* FF71C 802DC62C 0040182D */ daddu $v1, $v0, $zero
/* FF720 802DC630 24420008 */ addiu $v0, $v0, 8
/* FF724 802DC634 AC820000 */ sw $v0, ($a0)
/* FF728 802DC638 AC660000 */ sw $a2, ($v1)
/* FF72C 802DC63C AC650004 */ sw $a1, 4($v1)
/* FF730 802DC640 3C05FCFF */ lui $a1, 0xfcff
/* FF734 802DC644 34A5D3FF */ ori $a1, $a1, 0xd3ff
/* FF738 802DC648 3C04FFA7 */ lui $a0, 0xffa7
/* FF73C 802DC64C 3484FFFF */ ori $a0, $a0, 0xffff
/* FF740 802DC650 3C060100 */ lui $a2, 0x100
/* FF744 802DC654 34C64008 */ ori $a2, $a2, 0x4008
/* FF748 802DC658 3C070600 */ lui $a3, 0x600
/* FF74C 802DC65C 3C09800A */ lui $t1, %hi(gMasterGfxPos)
/* FF750 802DC660 2529A66C */ addiu $t1, $t1, %lo(gMasterGfxPos)
/* FF754 802DC664 34E70402 */ ori $a3, $a3, 0x402
/* FF758 802DC668 8D280000 */ lw $t0, ($t1)
/* FF75C 802DC66C 3C02FB00 */ lui $v0, 0xfb00
/* FF760 802DC670 0100182D */ daddu $v1, $t0, $zero
/* FF764 802DC674 25080008 */ addiu $t0, $t0, 8
/* FF768 802DC678 AD280000 */ sw $t0, ($t1)
/* FF76C 802DC67C AC620000 */ sw $v0, ($v1)
/* FF770 802DC680 332200FF */ andi $v0, $t9, 0xff
/* FF774 802DC684 AC620004 */ sw $v0, 4($v1)
/* FF778 802DC688 25020008 */ addiu $v0, $t0, 8
/* FF77C 802DC68C AD220000 */ sw $v0, ($t1)
/* FF780 802DC690 25020010 */ addiu $v0, $t0, 0x10
/* FF784 802DC694 AD050000 */ sw $a1, ($t0)
/* FF788 802DC698 AD040004 */ sw $a0, 4($t0)
/* FF78C 802DC69C AD220000 */ sw $v0, ($t1)
/* FF790 802DC6A0 25020018 */ addiu $v0, $t0, 0x18
/* FF794 802DC6A4 AD060008 */ sw $a2, 8($t0)
/* FF798 802DC6A8 AD13000C */ sw $s3, 0xc($t0)
/* FF79C 802DC6AC AD220000 */ sw $v0, ($t1)
/* FF7A0 802DC6B0 24020604 */ addiu $v0, $zero, 0x604
/* FF7A4 802DC6B4 AD020014 */ sw $v0, 0x14($t0)
/* FF7A8 802DC6B8 25020020 */ addiu $v0, $t0, 0x20
/* FF7AC 802DC6BC AD070010 */ sw $a3, 0x10($t0)
/* FF7B0 802DC6C0 AD220000 */ sw $v0, ($t1)
/* FF7B4 802DC6C4 3C02E700 */ lui $v0, 0xe700
/* FF7B8 802DC6C8 AD020018 */ sw $v0, 0x18($t0)
/* FF7BC 802DC6CC 240200FF */ addiu $v0, $zero, 0xff
/* FF7C0 802DC6D0 17220006 */ bne $t9, $v0, .L802DC6EC
/* FF7C4 802DC6D4 AD00001C */ sw $zero, 0x1c($t0)
/* FF7C8 802DC6D8 3C04E200 */ lui $a0, 0xe200
/* FF7CC 802DC6DC 3484001C */ ori $a0, $a0, 0x1c
/* FF7D0 802DC6E0 3C030055 */ lui $v1, 0x55
/* FF7D4 802DC6E4 080B71BF */ j .L802DC6FC
/* FF7D8 802DC6E8 34631238 */ ori $v1, $v1, 0x1238
.L802DC6EC:
/* FF7DC 802DC6EC 3C04E200 */ lui $a0, 0xe200
/* FF7E0 802DC6F0 3484001C */ ori $a0, $a0, 0x1c
/* FF7E4 802DC6F4 3C030050 */ lui $v1, 0x50
/* FF7E8 802DC6F8 34634B50 */ ori $v1, $v1, 0x4b50
.L802DC6FC:
/* FF7EC 802DC6FC 25020028 */ addiu $v0, $t0, 0x28
/* FF7F0 802DC700 AD220000 */ sw $v0, ($t1)
/* FF7F4 802DC704 AD040020 */ sw $a0, 0x20($t0)
/* FF7F8 802DC708 AD030024 */ sw $v1, 0x24($t0)
/* FF7FC 802DC70C 3C066464 */ lui $a2, 0x6464
/* FF800 802DC710 34C664FF */ ori $a2, $a2, 0x64ff
/* FF804 802DC714 3C08FC40 */ lui $t0, 0xfc40
/* FF808 802DC718 3508B281 */ ori $t0, $t0, 0xb281
/* FF80C 802DC71C 3C075564 */ lui $a3, 0x5564
/* FF810 802DC720 34E7FE7F */ ori $a3, $a3, 0xfe7f
/* FF814 802DC724 3C09E300 */ lui $t1, 0xe300
/* FF818 802DC728 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* FF81C 802DC72C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* FF820 802DC730 35291801 */ ori $t1, $t1, 0x1801
/* FF824 802DC734 8C820000 */ lw $v0, ($a0)
/* FF828 802DC738 3C03FB00 */ lui $v1, 0xfb00
/* FF82C 802DC73C 0040282D */ daddu $a1, $v0, $zero
/* FF830 802DC740 24420008 */ addiu $v0, $v0, 8
/* FF834 802DC744 AC820000 */ sw $v0, ($a0)
/* FF838 802DC748 ACA30000 */ sw $v1, ($a1)
/* FF83C 802DC74C 24430008 */ addiu $v1, $v0, 8
/* FF840 802DC750 ACA60004 */ sw $a2, 4($a1)
/* FF844 802DC754 AC830000 */ sw $v1, ($a0)
/* FF848 802DC758 3C03FA00 */ lui $v1, 0xfa00
/* FF84C 802DC75C AC430000 */ sw $v1, ($v0)
/* FF850 802DC760 332300FF */ andi $v1, $t9, 0xff
/* FF854 802DC764 AC430004 */ sw $v1, 4($v0)
/* FF858 802DC768 24430010 */ addiu $v1, $v0, 0x10
/* FF85C 802DC76C AC830000 */ sw $v1, ($a0)
/* FF860 802DC770 24430018 */ addiu $v1, $v0, 0x18
/* FF864 802DC774 AC480008 */ sw $t0, 8($v0)
/* FF868 802DC778 AC47000C */ sw $a3, 0xc($v0)
/* FF86C 802DC77C AC830000 */ sw $v1, ($a0)
/* FF870 802DC780 AC490010 */ sw $t1, 0x10($v0)
/* FF874 802DC784 AC400014 */ sw $zero, 0x14($v0)
.L802DC788:
/* FF878 802DC788 3C028015 */ lui $v0, %hi(D_80151328)
/* FF87C 802DC78C 8C421328 */ lw $v0, %lo(D_80151328)($v0)
/* FF880 802DC790 94420000 */ lhu $v0, ($v0)
/* FF884 802DC794 30420002 */ andi $v0, $v0, 2
/* FF888 802DC798 10400039 */ beqz $v0, .L802DC880
/* FF88C 802DC79C 3C050100 */ lui $a1, 0x100
/* FF890 802DC7A0 3C04800B */ lui $a0, %hi(gCameras)
/* FF894 802DC7A4 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* FF898 802DC7A8 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* FF89C 802DC7AC 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* FF8A0 802DC7B0 3C068007 */ lui $a2, %hi(gGameStatusPtr)
/* FF8A4 802DC7B4 8CC6419C */ lw $a2, %lo(gGameStatusPtr)($a2)
/* FF8A8 802DC7B8 00031080 */ sll $v0, $v1, 2
/* FF8AC 802DC7BC 00431021 */ addu $v0, $v0, $v1
/* FF8B0 802DC7C0 00021080 */ sll $v0, $v0, 2
/* FF8B4 802DC7C4 00431023 */ subu $v0, $v0, $v1
/* FF8B8 802DC7C8 000218C0 */ sll $v1, $v0, 3
/* FF8BC 802DC7CC 00431021 */ addu $v0, $v0, $v1
/* FF8C0 802DC7D0 000210C0 */ sll $v0, $v0, 3
/* FF8C4 802DC7D4 00443821 */ addu $a3, $v0, $a0
/* FF8C8 802DC7D8 80C30070 */ lb $v1, 0x70($a2)
/* FF8CC 802DC7DC 24020002 */ addiu $v0, $zero, 2
/* FF8D0 802DC7E0 1462001C */ bne $v1, $v0, .L802DC854
/* FF8D4 802DC7E4 3C05DC08 */ lui $a1, 0xdc08
/* FF8D8 802DC7E8 3C04DC08 */ lui $a0, 0xdc08
/* FF8DC 802DC7EC 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* FF8E0 802DC7F0 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* FF8E4 802DC7F4 8C620000 */ lw $v0, ($v1)
/* FF8E8 802DC7F8 34840008 */ ori $a0, $a0, 8
/* FF8EC 802DC7FC 0040282D */ daddu $a1, $v0, $zero
/* FF8F0 802DC800 24420008 */ addiu $v0, $v0, 8
/* FF8F4 802DC804 AC620000 */ sw $v0, ($v1)
/* FF8F8 802DC808 ACA40000 */ sw $a0, ($a1)
/* FF8FC 802DC80C 3C04802E */ lui $a0, %hi(D_802DF3D0)
/* FF900 802DC810 2484F3D0 */ addiu $a0, $a0, %lo(D_802DF3D0)
/* FF904 802DC814 ACA40004 */ sw $a0, 4($a1)
/* FF908 802DC818 3C05802E */ lui $a1, %hi(D_802DF3E0)
/* FF90C 802DC81C 24A5F3E0 */ addiu $a1, $a1, %lo(D_802DF3E0)
/* FF910 802DC820 90C30082 */ lbu $v1, 0x82($a2)
/* FF914 802DC824 94820008 */ lhu $v0, 8($a0)
/* FF918 802DC828 00031E00 */ sll $v1, $v1, 0x18
/* FF91C 802DC82C 00031E03 */ sra $v1, $v1, 0x18
/* FF920 802DC830 00431021 */ addu $v0, $v0, $v1
/* FF924 802DC834 A4A20008 */ sh $v0, 8($a1)
/* FF928 802DC838 90C20083 */ lbu $v0, 0x83($a2)
/* FF92C 802DC83C 9483000A */ lhu $v1, 0xa($a0)
/* FF930 802DC840 00021600 */ sll $v0, $v0, 0x18
/* FF934 802DC844 00021603 */ sra $v0, $v0, 0x18
/* FF938 802DC848 00621821 */ addu $v1, $v1, $v0
/* FF93C 802DC84C 080B721F */ j .L802DC87C
/* FF940 802DC850 A4A3000A */ sh $v1, 0xa($a1)
.L802DC854:
/* FF944 802DC854 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* FF948 802DC858 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* FF94C 802DC85C 8C620000 */ lw $v0, ($v1)
/* FF950 802DC860 34A50008 */ ori $a1, $a1, 8
/* FF954 802DC864 0040202D */ daddu $a0, $v0, $zero
/* FF958 802DC868 24420008 */ addiu $v0, $v0, 8
/* FF95C 802DC86C AC620000 */ sw $v0, ($v1)
/* FF960 802DC870 24E200A0 */ addiu $v0, $a3, 0xa0
/* FF964 802DC874 AC850000 */ sw $a1, ($a0)
/* FF968 802DC878 AC820004 */ sw $v0, 4($a0)
.L802DC87C:
/* FF96C 802DC87C 3C050100 */ lui $a1, 0x100
.L802DC880:
/* FF970 802DC880 34A54008 */ ori $a1, $a1, 0x4008
/* FF974 802DC884 3C060600 */ lui $a2, 0x600
/* FF978 802DC888 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* FF97C 802DC88C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* FF980 802DC890 8C820000 */ lw $v0, ($a0)
/* FF984 802DC894 34C60402 */ ori $a2, $a2, 0x402
/* FF988 802DC898 0040182D */ daddu $v1, $v0, $zero
/* FF98C 802DC89C 24420008 */ addiu $v0, $v0, 8
/* FF990 802DC8A0 AC820000 */ sw $v0, ($a0)
/* FF994 802DC8A4 AC650000 */ sw $a1, ($v1)
/* FF998 802DC8A8 AC730004 */ sw $s3, 4($v1)
/* FF99C 802DC8AC 24430008 */ addiu $v1, $v0, 8
/* FF9A0 802DC8B0 AC830000 */ sw $v1, ($a0)
/* FF9A4 802DC8B4 24030604 */ addiu $v1, $zero, 0x604
/* FF9A8 802DC8B8 AC430004 */ sw $v1, 4($v0)
/* FF9AC 802DC8BC 24430010 */ addiu $v1, $v0, 0x10
/* FF9B0 802DC8C0 AC460000 */ sw $a2, ($v0)
/* FF9B4 802DC8C4 AC830000 */ sw $v1, ($a0)
/* FF9B8 802DC8C8 3C03E700 */ lui $v1, 0xe700
/* FF9BC 802DC8CC AC430008 */ sw $v1, 8($v0)
/* FF9C0 802DC8D0 AC40000C */ sw $zero, 0xc($v0)
/* FF9C4 802DC8D4 8FBF0034 */ lw $ra, 0x34($sp)
/* FF9C8 802DC8D8 8FB40030 */ lw $s4, 0x30($sp)
/* FF9CC 802DC8DC 8FB3002C */ lw $s3, 0x2c($sp)
/* FF9D0 802DC8E0 8FB20028 */ lw $s2, 0x28($sp)
/* FF9D4 802DC8E4 8FB10024 */ lw $s1, 0x24($sp)
/* FF9D8 802DC8E8 8FB00020 */ lw $s0, 0x20($sp)
/* FF9DC 802DC8EC 03E00008 */ jr $ra
/* FF9E0 802DC8F0 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,398 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel flo_10_UnkModelFunc000
/* CB96B0 802404B0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* CB96B4 802404B4 AFB60040 */ sw $s6, 0x40($sp)
/* CB96B8 802404B8 0080B02D */ daddu $s6, $a0, $zero
/* CB96BC 802404BC 3C028024 */ lui $v0, %hi(flo_10_D_80244070_CBD270)
/* CB96C0 802404C0 24424070 */ addiu $v0, $v0, %lo(flo_10_D_80244070_CBD270)
/* CB96C4 802404C4 AFBF004C */ sw $ra, 0x4c($sp)
/* CB96C8 802404C8 AFBE0048 */ sw $fp, 0x48($sp)
/* CB96CC 802404CC AFB70044 */ sw $s7, 0x44($sp)
/* CB96D0 802404D0 AFB5003C */ sw $s5, 0x3c($sp)
/* CB96D4 802404D4 AFB40038 */ sw $s4, 0x38($sp)
/* CB96D8 802404D8 AFB30034 */ sw $s3, 0x34($sp)
/* CB96DC 802404DC AFB20030 */ sw $s2, 0x30($sp)
/* CB96E0 802404E0 AFB1002C */ sw $s1, 0x2c($sp)
/* CB96E4 802404E4 AFB00028 */ sw $s0, 0x28($sp)
/* CB96E8 802404E8 AFA50054 */ sw $a1, 0x54($sp)
/* CB96EC 802404EC 8C430000 */ lw $v1, ($v0)
/* CB96F0 802404F0 00C0A02D */ daddu $s4, $a2, $zero
/* CB96F4 802404F4 24630005 */ addiu $v1, $v1, 5
/* CB96F8 802404F8 AC430000 */ sw $v1, ($v0)
/* CB96FC 802404FC 02D4102A */ slt $v0, $s6, $s4
/* CB9700 80240500 10400159 */ beqz $v0, .L80240A68
/* CB9704 80240504 00000000 */ nop
/* CB9708 80240508 8FAA0054 */ lw $t2, 0x54($sp)
/* CB970C 8024050C 0147102A */ slt $v0, $t2, $a3
/* CB9710 80240510 10400155 */ beqz $v0, .L80240A68
/* CB9714 80240514 00000000 */ nop
/* CB9718 80240518 06C20002 */ bltzl $s6, .L80240524
/* CB971C 8024051C 0000B02D */ daddu $s6, $zero, $zero
/* CB9720 80240520 8FAA0054 */ lw $t2, 0x54($sp)
.L80240524:
/* CB9724 80240524 05420001 */ bltzl $t2, .L8024052C
/* CB9728 80240528 AFA00054 */ sw $zero, 0x54($sp)
.L8024052C:
/* CB972C 8024052C 06820001 */ bltzl $s4, .L80240534
/* CB9730 80240530 0000A02D */ daddu $s4, $zero, $zero
.L80240534:
/* CB9734 80240534 04E20001 */ bltzl $a3, .L8024053C
/* CB9738 80240538 0000382D */ daddu $a3, $zero, $zero
.L8024053C:
/* CB973C 8024053C 2AC20140 */ slti $v0, $s6, 0x140
/* CB9740 80240540 50400001 */ beql $v0, $zero, .L80240548
/* CB9744 80240544 2416013F */ addiu $s6, $zero, 0x13f
.L80240548:
/* CB9748 80240548 8FAA0054 */ lw $t2, 0x54($sp)
/* CB974C 8024054C 294200F0 */ slti $v0, $t2, 0xf0
/* CB9750 80240550 14400003 */ bnez $v0, .L80240560
/* CB9754 80240554 2A820140 */ slti $v0, $s4, 0x140
/* CB9758 80240558 240A00EF */ addiu $t2, $zero, 0xef
/* CB975C 8024055C AFAA0054 */ sw $t2, 0x54($sp)
.L80240560:
/* CB9760 80240560 50400001 */ beql $v0, $zero, .L80240568
/* CB9764 80240564 2414013F */ addiu $s4, $zero, 0x13f
.L80240568:
/* CB9768 80240568 28E200F0 */ slti $v0, $a3, 0xf0
/* CB976C 8024056C 50400001 */ beql $v0, $zero, .L80240574
/* CB9770 80240570 240700EF */ addiu $a3, $zero, 0xef
.L80240574:
/* CB9774 80240574 12D4013C */ beq $s6, $s4, .L80240A68
/* CB9778 80240578 00000000 */ nop
/* CB977C 8024057C 8FAA0054 */ lw $t2, 0x54($sp)
/* CB9780 80240580 11470139 */ beq $t2, $a3, .L80240A68
/* CB9784 80240584 00000000 */ nop
/* CB9788 80240588 06C10002 */ bgez $s6, .L80240594
/* CB978C 8024058C 02C0102D */ daddu $v0, $s6, $zero
/* CB9790 80240590 26C20003 */ addiu $v0, $s6, 3
.L80240594:
/* CB9794 80240594 00021083 */ sra $v0, $v0, 2
/* CB9798 80240598 0002B080 */ sll $s6, $v0, 2
/* CB979C 8024059C 06810002 */ bgez $s4, .L802405A8
/* CB97A0 802405A0 0280102D */ daddu $v0, $s4, $zero
/* CB97A4 802405A4 26820003 */ addiu $v0, $s4, 3
.L802405A8:
/* CB97A8 802405A8 3C042AAA */ lui $a0, 0x2aaa
/* CB97AC 802405AC 3484AAAB */ ori $a0, $a0, 0xaaab
/* CB97B0 802405B0 8FAA0054 */ lw $t2, 0x54($sp)
/* CB97B4 802405B4 00021083 */ sra $v0, $v0, 2
/* CB97B8 802405B8 00EA1823 */ subu $v1, $a3, $t2
/* CB97BC 802405BC 00640018 */ mult $v1, $a0
/* CB97C0 802405C0 00021080 */ sll $v0, $v0, 2
/* CB97C4 802405C4 24540004 */ addiu $s4, $v0, 4
/* CB97C8 802405C8 0000F02D */ daddu $fp, $zero, $zero
/* CB97CC 802405CC 000317C3 */ sra $v0, $v1, 0x1f
/* CB97D0 802405D0 00005010 */ mfhi $t2
/* CB97D4 802405D4 01425023 */ subu $t2, $t2, $v0
/* CB97D8 802405D8 000A1040 */ sll $v0, $t2, 1
/* CB97DC 802405DC 004A1021 */ addu $v0, $v0, $t2
/* CB97E0 802405E0 AFAA0014 */ sw $t2, 0x14($sp)
/* CB97E4 802405E4 AFAA0010 */ sw $t2, 0x10($sp)
/* CB97E8 802405E8 3C0A800A */ lui $t2, %hi(nuGfxCfb_ptr)
/* CB97EC 802405EC 8D4AA64C */ lw $t2, %lo(nuGfxCfb_ptr)($t2)
/* CB97F0 802405F0 00021040 */ sll $v0, $v0, 1
/* CB97F4 802405F4 AFAA0018 */ sw $t2, 0x18($sp)
/* CB97F8 802405F8 8FAA0010 */ lw $t2, 0x10($sp)
/* CB97FC 802405FC 00621823 */ subu $v1, $v1, $v0
/* CB9800 80240600 19400097 */ blez $t2, .L80240860
/* CB9804 80240604 AFA30014 */ sw $v1, 0x14($sp)
/* CB9808 80240608 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* CB980C 8024060C 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* CB9810 80240610 02961023 */ subu $v0, $s4, $s6
/* CB9814 80240614 00021040 */ sll $v0, $v0, 1
/* CB9818 80240618 24420007 */ addiu $v0, $v0, 7
/* CB981C 8024061C 000210C3 */ sra $v0, $v0, 3
/* CB9820 80240620 304201FF */ andi $v0, $v0, 0x1ff
/* CB9824 80240624 00021240 */ sll $v0, $v0, 9
/* CB9828 80240628 3C03F510 */ lui $v1, 0xf510
/* CB982C 8024062C 8FB70054 */ lw $s7, 0x54($sp)
/* CB9830 80240630 00431025 */ or $v0, $v0, $v1
/* CB9834 80240634 AFA2001C */ sw $v0, 0x1c($sp)
/* CB9838 80240638 AFA00020 */ sw $zero, 0x20($sp)
/* CB983C 8024063C 02E0A82D */ daddu $s5, $s7, $zero
.L80240640:
/* CB9840 80240640 26B2FFFA */ addiu $s2, $s5, -6
/* CB9844 80240644 0640007D */ bltz $s2, .L8024083C
/* CB9848 80240648 00123040 */ sll $a2, $s2, 1
/* CB984C 8024064C 28C20100 */ slti $v0, $a2, 0x100
/* CB9850 80240650 50400001 */ beql $v0, $zero, .L80240658
/* CB9854 80240654 240600FF */ addiu $a2, $zero, 0xff
.L80240658:
/* CB9858 80240658 3C05FD10 */ lui $a1, 0xfd10
/* CB985C 8024065C 34A5013F */ ori $a1, $a1, 0x13f
/* CB9860 80240660 3C02FA00 */ lui $v0, 0xfa00
/* CB9864 80240664 8E700000 */ lw $s0, ($s3)
/* CB9868 80240668 8FA40018 */ lw $a0, 0x18($sp)
/* CB986C 8024066C 0200182D */ daddu $v1, $s0, $zero
/* CB9870 80240670 26100008 */ addiu $s0, $s0, 8
/* CB9874 80240674 AE700000 */ sw $s0, ($s3)
/* CB9878 80240678 AC620000 */ sw $v0, ($v1)
/* CB987C 8024067C 2402FF00 */ addiu $v0, $zero, -0x100
/* CB9880 80240680 00C21025 */ or $v0, $a2, $v0
/* CB9884 80240684 AC620004 */ sw $v0, 4($v1)
/* CB9888 80240688 26020008 */ addiu $v0, $s0, 8
/* CB988C 8024068C AE620000 */ sw $v0, ($s3)
/* CB9890 80240690 0C0187A4 */ jal osVirtualToPhysical
/* CB9894 80240694 AE050000 */ sw $a1, ($s0)
/* CB9898 80240698 3C030700 */ lui $v1, 0x700
/* CB989C 8024069C 34630090 */ ori $v1, $v1, 0x90
/* CB98A0 802406A0 00163080 */ sll $a2, $s6, 2
/* CB98A4 802406A4 30C60FFF */ andi $a2, $a2, 0xfff
/* CB98A8 802406A8 00063300 */ sll $a2, $a2, 0xc
/* CB98AC 802406AC 00122080 */ sll $a0, $s2, 2
/* CB98B0 802406B0 30840FFF */ andi $a0, $a0, 0xfff
/* CB98B4 802406B4 26A5FFFF */ addiu $a1, $s5, -1
/* CB98B8 802406B8 8E710000 */ lw $s1, ($s3)
/* CB98BC 802406BC 00052880 */ sll $a1, $a1, 2
/* CB98C0 802406C0 AE020004 */ sw $v0, 4($s0)
/* CB98C4 802406C4 0220102D */ daddu $v0, $s1, $zero
/* CB98C8 802406C8 26310008 */ addiu $s1, $s1, 8
/* CB98CC 802406CC AE710000 */ sw $s1, ($s3)
/* CB98D0 802406D0 8FAA001C */ lw $t2, 0x1c($sp)
/* CB98D4 802406D4 30A50FFF */ andi $a1, $a1, 0xfff
/* CB98D8 802406D8 AC430004 */ sw $v1, 4($v0)
/* CB98DC 802406DC 2683FFFF */ addiu $v1, $s4, -1
/* CB98E0 802406E0 00031880 */ sll $v1, $v1, 2
/* CB98E4 802406E4 30630FFF */ andi $v1, $v1, 0xfff
/* CB98E8 802406E8 00031B00 */ sll $v1, $v1, 0xc
/* CB98EC 802406EC AC4A0000 */ sw $t2, ($v0)
/* CB98F0 802406F0 26220008 */ addiu $v0, $s1, 8
/* CB98F4 802406F4 AE620000 */ sw $v0, ($s3)
/* CB98F8 802406F8 3C02E600 */ lui $v0, 0xe600
/* CB98FC 802406FC AE220000 */ sw $v0, ($s1)
/* CB9900 80240700 26220010 */ addiu $v0, $s1, 0x10
/* CB9904 80240704 AE200004 */ sw $zero, 4($s1)
/* CB9908 80240708 AE620000 */ sw $v0, ($s3)
/* CB990C 8024070C 3C02F400 */ lui $v0, 0xf400
/* CB9910 80240710 00821025 */ or $v0, $a0, $v0
/* CB9914 80240714 00C21025 */ or $v0, $a2, $v0
/* CB9918 80240718 AE220008 */ sw $v0, 8($s1)
/* CB991C 8024071C 3C020700 */ lui $v0, 0x700
/* CB9920 80240720 00A21025 */ or $v0, $a1, $v0
/* CB9924 80240724 00621025 */ or $v0, $v1, $v0
/* CB9928 80240728 AE22000C */ sw $v0, 0xc($s1)
/* CB992C 8024072C 26220018 */ addiu $v0, $s1, 0x18
/* CB9930 80240730 AE620000 */ sw $v0, ($s3)
/* CB9934 80240734 3C02E700 */ lui $v0, 0xe700
/* CB9938 80240738 AE220010 */ sw $v0, 0x10($s1)
/* CB993C 8024073C 26220020 */ addiu $v0, $s1, 0x20
/* CB9940 80240740 AE200014 */ sw $zero, 0x14($s1)
/* CB9944 80240744 AE620000 */ sw $v0, ($s3)
/* CB9948 80240748 24020090 */ addiu $v0, $zero, 0x90
/* CB994C 8024074C AE22001C */ sw $v0, 0x1c($s1)
/* CB9950 80240750 26220028 */ addiu $v0, $s1, 0x28
/* CB9954 80240754 AE2A0018 */ sw $t2, 0x18($s1)
/* CB9958 80240758 AE620000 */ sw $v0, ($s3)
/* CB995C 8024075C 3C02F200 */ lui $v0, 0xf200
/* CB9960 80240760 00822025 */ or $a0, $a0, $v0
/* CB9964 80240764 00C42025 */ or $a0, $a2, $a0
/* CB9968 80240768 00651825 */ or $v1, $v1, $a1
/* CB996C 8024076C 26220030 */ addiu $v0, $s1, 0x30
/* CB9970 80240770 AE240020 */ sw $a0, 0x20($s1)
/* CB9974 80240774 00142080 */ sll $a0, $s4, 2
/* CB9978 80240778 30840FFF */ andi $a0, $a0, 0xfff
/* CB997C 8024077C 00042300 */ sll $a0, $a0, 0xc
/* CB9980 80240780 AE230024 */ sw $v1, 0x24($s1)
/* CB9984 80240784 AE620000 */ sw $v0, ($s3)
/* CB9988 80240788 26E20006 */ addiu $v0, $s7, 6
/* CB998C 8024078C 00021080 */ sll $v0, $v0, 2
/* CB9990 80240790 30420FFF */ andi $v0, $v0, 0xfff
/* CB9994 80240794 3C03E400 */ lui $v1, 0xe400
/* CB9998 80240798 00431025 */ or $v0, $v0, $v1
/* CB999C 8024079C 00822025 */ or $a0, $a0, $v0
/* CB99A0 802407A0 00171080 */ sll $v0, $s7, 2
/* CB99A4 802407A4 30420FFF */ andi $v0, $v0, 0xfff
/* CB99A8 802407A8 00C23025 */ or $a2, $a2, $v0
/* CB99AC 802407AC 26220038 */ addiu $v0, $s1, 0x38
/* CB99B0 802407B0 AE240028 */ sw $a0, 0x28($s1)
/* CB99B4 802407B4 AE26002C */ sw $a2, 0x2c($s1)
/* CB99B8 802407B8 AE620000 */ sw $v0, ($s3)
/* CB99BC 802407BC 3C02E100 */ lui $v0, 0xe100
/* CB99C0 802407C0 00161D40 */ sll $v1, $s6, 0x15
/* CB99C4 802407C4 AE220030 */ sw $v0, 0x30($s1)
/* CB99C8 802407C8 00151140 */ sll $v0, $s5, 5
/* CB99CC 802407CC 3042FFFF */ andi $v0, $v0, 0xffff
/* CB99D0 802407D0 00621825 */ or $v1, $v1, $v0
/* CB99D4 802407D4 26220040 */ addiu $v0, $s1, 0x40
/* CB99D8 802407D8 AE230034 */ sw $v1, 0x34($s1)
/* CB99DC 802407DC AE620000 */ sw $v0, ($s3)
/* CB99E0 802407E0 3C038024 */ lui $v1, %hi(flo_10_D_80244070_CBD270)
/* CB99E4 802407E4 8C634070 */ lw $v1, %lo(flo_10_D_80244070_CBD270)($v1)
/* CB99E8 802407E8 3C02F100 */ lui $v0, 0xf100
/* CB99EC 802407EC AE220038 */ sw $v0, 0x38($s1)
/* CB99F0 802407F0 8FAA0020 */ lw $t2, 0x20($sp)
/* CB99F4 802407F4 006A1821 */ addu $v1, $v1, $t2
/* CB99F8 802407F8 44836000 */ mtc1 $v1, $f12
/* CB99FC 802407FC 00000000 */ nop
/* CB9A00 80240800 0C00A8BB */ jal sin_deg
/* CB9A04 80240804 46806320 */ cvt.s.w $f12, $f12
/* CB9A08 80240808 3C0143FA */ lui $at, 0x43fa
/* CB9A0C 8024080C 44811000 */ mtc1 $at, $f2
/* CB9A10 80240810 00000000 */ nop
/* CB9A14 80240814 46020002 */ mul.s $f0, $f0, $f2
/* CB9A18 80240818 00000000 */ nop
/* CB9A1C 8024081C 3C030400 */ lui $v1, 0x400
/* CB9A20 80240820 4600010D */ trunc.w.s $f4, $f0
/* CB9A24 80240824 44022000 */ mfc1 $v0, $f4
/* CB9A28 80240828 00000000 */ nop
/* CB9A2C 8024082C 2442FE0C */ addiu $v0, $v0, -0x1f4
/* CB9A30 80240830 3042FFFF */ andi $v0, $v0, 0xffff
/* CB9A34 80240834 00431025 */ or $v0, $v0, $v1
/* CB9A38 80240838 AE22003C */ sw $v0, 0x3c($s1)
.L8024083C:
/* CB9A3C 8024083C 26F70006 */ addiu $s7, $s7, 6
/* CB9A40 80240840 8FAA0020 */ lw $t2, 0x20($sp)
/* CB9A44 80240844 254A001E */ addiu $t2, $t2, 0x1e
/* CB9A48 80240848 AFAA0020 */ sw $t2, 0x20($sp)
/* CB9A4C 8024084C 8FAA0010 */ lw $t2, 0x10($sp)
/* CB9A50 80240850 27DE0001 */ addiu $fp, $fp, 1
/* CB9A54 80240854 03CA102A */ slt $v0, $fp, $t2
/* CB9A58 80240858 1440FF79 */ bnez $v0, .L80240640
/* CB9A5C 8024085C 26B5FFFA */ addiu $s5, $s5, -6
.L80240860:
/* CB9A60 80240860 8FAA0014 */ lw $t2, 0x14($sp)
/* CB9A64 80240864 11400080 */ beqz $t2, .L80240A68
/* CB9A68 80240868 001E1040 */ sll $v0, $fp, 1
/* CB9A6C 8024086C 005E1021 */ addu $v0, $v0, $fp
/* CB9A70 80240870 8FAA0054 */ lw $t2, 0x54($sp)
/* CB9A74 80240874 00029840 */ sll $s3, $v0, 1
/* CB9A78 80240878 01539023 */ subu $s2, $t2, $s3
/* CB9A7C 8024087C 2642FFFA */ addiu $v0, $s2, -6
/* CB9A80 80240880 04400079 */ bltz $v0, .L80240A68
/* CB9A84 80240884 00023040 */ sll $a2, $v0, 1
/* CB9A88 80240888 28C20100 */ slti $v0, $a2, 0x100
/* CB9A8C 8024088C 50400001 */ beql $v0, $zero, .L80240894
/* CB9A90 80240890 240600FF */ addiu $a2, $zero, 0xff
.L80240894:
/* CB9A94 80240894 3C05FD10 */ lui $a1, 0xfd10
/* CB9A98 80240898 34A5013F */ ori $a1, $a1, 0x13f
/* CB9A9C 8024089C 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* CB9AA0 802408A0 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* CB9AA4 802408A4 3C02FA00 */ lui $v0, 0xfa00
/* CB9AA8 802408A8 8E300000 */ lw $s0, ($s1)
/* CB9AAC 802408AC 8FA40018 */ lw $a0, 0x18($sp)
/* CB9AB0 802408B0 0200182D */ daddu $v1, $s0, $zero
/* CB9AB4 802408B4 26100008 */ addiu $s0, $s0, 8
/* CB9AB8 802408B8 AE300000 */ sw $s0, ($s1)
/* CB9ABC 802408BC AC620000 */ sw $v0, ($v1)
/* CB9AC0 802408C0 2402FF00 */ addiu $v0, $zero, -0x100
/* CB9AC4 802408C4 00C21025 */ or $v0, $a2, $v0
/* CB9AC8 802408C8 AC620004 */ sw $v0, 4($v1)
/* CB9ACC 802408CC 26020008 */ addiu $v0, $s0, 8
/* CB9AD0 802408D0 AE220000 */ sw $v0, ($s1)
/* CB9AD4 802408D4 0C0187A4 */ jal osVirtualToPhysical
/* CB9AD8 802408D8 AE050000 */ sw $a1, ($s0)
/* CB9ADC 802408DC 3C050700 */ lui $a1, 0x700
/* CB9AE0 802408E0 34A50090 */ ori $a1, $a1, 0x90
/* CB9AE4 802408E4 3C090400 */ lui $t1, 0x400
/* CB9AE8 802408E8 3529FC00 */ ori $t1, $t1, 0xfc00
/* CB9AEC 802408EC 02962023 */ subu $a0, $s4, $s6
/* CB9AF0 802408F0 00042040 */ sll $a0, $a0, 1
/* CB9AF4 802408F4 24840007 */ addiu $a0, $a0, 7
/* CB9AF8 802408F8 000420C3 */ sra $a0, $a0, 3
/* CB9AFC 802408FC 308401FF */ andi $a0, $a0, 0x1ff
/* CB9B00 80240900 8E260000 */ lw $a2, ($s1)
/* CB9B04 80240904 00042240 */ sll $a0, $a0, 9
/* CB9B08 80240908 AE020004 */ sw $v0, 4($s0)
/* CB9B0C 8024090C 3C02F510 */ lui $v0, 0xf510
/* CB9B10 80240910 00822025 */ or $a0, $a0, $v0
/* CB9B14 80240914 00164080 */ sll $t0, $s6, 2
/* CB9B18 80240918 31080FFF */ andi $t0, $t0, 0xfff
/* CB9B1C 8024091C 00084300 */ sll $t0, $t0, 0xc
/* CB9B20 80240920 2647FFFF */ addiu $a3, $s2, -1
/* CB9B24 80240924 00073880 */ sll $a3, $a3, 2
/* CB9B28 80240928 30E70FFF */ andi $a3, $a3, 0xfff
/* CB9B2C 8024092C 00C0182D */ daddu $v1, $a2, $zero
/* CB9B30 80240930 24C60008 */ addiu $a2, $a2, 8
/* CB9B34 80240934 24C20008 */ addiu $v0, $a2, 8
/* CB9B38 80240938 AE260000 */ sw $a2, ($s1)
/* CB9B3C 8024093C AC640000 */ sw $a0, ($v1)
/* CB9B40 80240940 AC650004 */ sw $a1, 4($v1)
/* CB9B44 80240944 AE220000 */ sw $v0, ($s1)
/* CB9B48 80240948 3C02E600 */ lui $v0, 0xe600
/* CB9B4C 8024094C ACC20000 */ sw $v0, ($a2)
/* CB9B50 80240950 24C20010 */ addiu $v0, $a2, 0x10
/* CB9B54 80240954 ACC00004 */ sw $zero, 4($a2)
/* CB9B58 80240958 AE220000 */ sw $v0, ($s1)
/* CB9B5C 8024095C 3C02F400 */ lui $v0, 0xf400
/* CB9B60 80240960 2683FFFF */ addiu $v1, $s4, -1
/* CB9B64 80240964 00031880 */ sll $v1, $v1, 2
/* CB9B68 80240968 30630FFF */ andi $v1, $v1, 0xfff
/* CB9B6C 8024096C 8FAA0014 */ lw $t2, 0x14($sp)
/* CB9B70 80240970 00031B00 */ sll $v1, $v1, 0xc
/* CB9B74 80240974 024A2823 */ subu $a1, $s2, $t2
/* CB9B78 80240978 00052880 */ sll $a1, $a1, 2
/* CB9B7C 8024097C 30A50FFF */ andi $a1, $a1, 0xfff
/* CB9B80 80240980 00A21025 */ or $v0, $a1, $v0
/* CB9B84 80240984 01021025 */ or $v0, $t0, $v0
/* CB9B88 80240988 ACC20008 */ sw $v0, 8($a2)
/* CB9B8C 8024098C 3C020700 */ lui $v0, 0x700
/* CB9B90 80240990 00E21025 */ or $v0, $a3, $v0
/* CB9B94 80240994 00621025 */ or $v0, $v1, $v0
/* CB9B98 80240998 ACC2000C */ sw $v0, 0xc($a2)
/* CB9B9C 8024099C 24C20018 */ addiu $v0, $a2, 0x18
/* CB9BA0 802409A0 AE220000 */ sw $v0, ($s1)
/* CB9BA4 802409A4 3C02E700 */ lui $v0, 0xe700
/* CB9BA8 802409A8 ACC20010 */ sw $v0, 0x10($a2)
/* CB9BAC 802409AC 24C20020 */ addiu $v0, $a2, 0x20
/* CB9BB0 802409B0 ACC00014 */ sw $zero, 0x14($a2)
/* CB9BB4 802409B4 AE220000 */ sw $v0, ($s1)
/* CB9BB8 802409B8 24020090 */ addiu $v0, $zero, 0x90
/* CB9BBC 802409BC ACC2001C */ sw $v0, 0x1c($a2)
/* CB9BC0 802409C0 24C20028 */ addiu $v0, $a2, 0x28
/* CB9BC4 802409C4 ACC40018 */ sw $a0, 0x18($a2)
/* CB9BC8 802409C8 AE220000 */ sw $v0, ($s1)
/* CB9BCC 802409CC 3C02F200 */ lui $v0, 0xf200
/* CB9BD0 802409D0 00A22825 */ or $a1, $a1, $v0
/* CB9BD4 802409D4 01052825 */ or $a1, $t0, $a1
/* CB9BD8 802409D8 00671825 */ or $v1, $v1, $a3
/* CB9BDC 802409DC 24C20030 */ addiu $v0, $a2, 0x30
/* CB9BE0 802409E0 ACC30024 */ sw $v1, 0x24($a2)
/* CB9BE4 802409E4 00141880 */ sll $v1, $s4, 2
/* CB9BE8 802409E8 30630FFF */ andi $v1, $v1, 0xfff
/* CB9BEC 802409EC ACC50020 */ sw $a1, 0x20($a2)
/* CB9BF0 802409F0 AE220000 */ sw $v0, ($s1)
/* CB9BF4 802409F4 8FAA0054 */ lw $t2, 0x54($sp)
/* CB9BF8 802409F8 00031B00 */ sll $v1, $v1, 0xc
/* CB9BFC 802409FC 01532821 */ addu $a1, $t2, $s3
/* CB9C00 80240A00 8FAA0014 */ lw $t2, 0x14($sp)
/* CB9C04 80240A04 3C04E400 */ lui $a0, 0xe400
/* CB9C08 80240A08 00AA1021 */ addu $v0, $a1, $t2
/* CB9C0C 80240A0C 00021080 */ sll $v0, $v0, 2
/* CB9C10 80240A10 30420FFF */ andi $v0, $v0, 0xfff
/* CB9C14 80240A14 00441025 */ or $v0, $v0, $a0
/* CB9C18 80240A18 00621825 */ or $v1, $v1, $v0
/* CB9C1C 80240A1C 00052880 */ sll $a1, $a1, 2
/* CB9C20 80240A20 30A50FFF */ andi $a1, $a1, 0xfff
/* CB9C24 80240A24 01054025 */ or $t0, $t0, $a1
/* CB9C28 80240A28 24C20038 */ addiu $v0, $a2, 0x38
/* CB9C2C 80240A2C ACC30028 */ sw $v1, 0x28($a2)
/* CB9C30 80240A30 ACC8002C */ sw $t0, 0x2c($a2)
/* CB9C34 80240A34 AE220000 */ sw $v0, ($s1)
/* CB9C38 80240A38 3C02E100 */ lui $v0, 0xe100
/* CB9C3C 80240A3C 00161D40 */ sll $v1, $s6, 0x15
/* CB9C40 80240A40 ACC20030 */ sw $v0, 0x30($a2)
/* CB9C44 80240A44 00121140 */ sll $v0, $s2, 5
/* CB9C48 80240A48 3042FFFF */ andi $v0, $v0, 0xffff
/* CB9C4C 80240A4C 00621825 */ or $v1, $v1, $v0
/* CB9C50 80240A50 24C20040 */ addiu $v0, $a2, 0x40
/* CB9C54 80240A54 ACC30034 */ sw $v1, 0x34($a2)
/* CB9C58 80240A58 AE220000 */ sw $v0, ($s1)
/* CB9C5C 80240A5C 3C02F100 */ lui $v0, 0xf100
/* CB9C60 80240A60 ACC20038 */ sw $v0, 0x38($a2)
/* CB9C64 80240A64 ACC9003C */ sw $t1, 0x3c($a2)
.L80240A68:
/* CB9C68 80240A68 8FBF004C */ lw $ra, 0x4c($sp)
/* CB9C6C 80240A6C 8FBE0048 */ lw $fp, 0x48($sp)
/* CB9C70 80240A70 8FB70044 */ lw $s7, 0x44($sp)
/* CB9C74 80240A74 8FB60040 */ lw $s6, 0x40($sp)
/* CB9C78 80240A78 8FB5003C */ lw $s5, 0x3c($sp)
/* CB9C7C 80240A7C 8FB40038 */ lw $s4, 0x38($sp)
/* CB9C80 80240A80 8FB30034 */ lw $s3, 0x34($sp)
/* CB9C84 80240A84 8FB20030 */ lw $s2, 0x30($sp)
/* CB9C88 80240A88 8FB1002C */ lw $s1, 0x2c($sp)
/* CB9C8C 80240A8C 8FB00028 */ lw $s0, 0x28($sp)
/* CB9C90 80240A90 03E00008 */ jr $ra
/* CB9C94 80240A94 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,127 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240434_A16654
/* A16654 80240434 27BDFFC0 */ addiu $sp, $sp, -0x40
/* A16658 80240438 0000202D */ daddu $a0, $zero, $zero
/* A1665C 8024043C 27A50010 */ addiu $a1, $sp, 0x10
/* A16660 80240440 27A60014 */ addiu $a2, $sp, 0x14
/* A16664 80240444 27A70018 */ addiu $a3, $sp, 0x18
/* A16668 80240448 AFBF0038 */ sw $ra, 0x38($sp)
/* A1666C 8024044C AFB50034 */ sw $s5, 0x34($sp)
/* A16670 80240450 AFB40030 */ sw $s4, 0x30($sp)
/* A16674 80240454 AFB3002C */ sw $s3, 0x2c($sp)
/* A16678 80240458 AFB20028 */ sw $s2, 0x28($sp)
/* A1667C 8024045C AFB10024 */ sw $s1, 0x24($sp)
/* A16680 80240460 0C0470AC */ jal mdl_get_copied_vertices
/* A16684 80240464 AFB00020 */ sw $s0, 0x20($sp)
/* A16688 80240468 8FA20018 */ lw $v0, 0x18($sp)
/* A1668C 8024046C 1840004F */ blez $v0, .L802405AC
/* A16690 80240470 0000802D */ daddu $s0, $zero, $zero
/* A16694 80240474 3C158024 */ lui $s5, %hi(D_802433AE_A195CE)
/* A16698 80240478 26B533AE */ addiu $s5, $s5, %lo(D_802433AE_A195CE)
/* A1669C 8024047C 3C135555 */ lui $s3, 0x5555
/* A166A0 80240480 36735556 */ ori $s3, $s3, 0x5556
/* A166A4 80240484 34148000 */ ori $s4, $zero, 0x8000
/* A166A8 80240488 02130018 */ mult $s0, $s3
.L8024048C:
/* A166AC 8024048C 001097C3 */ sra $s2, $s0, 0x1f
/* A166B0 80240490 00001810 */ mfhi $v1
/* A166B4 80240494 00721823 */ subu $v1, $v1, $s2
/* A166B8 80240498 00031040 */ sll $v0, $v1, 1
/* A166BC 8024049C 00431021 */ addu $v0, $v0, $v1
/* A166C0 802404A0 02021023 */ subu $v0, $s0, $v0
/* A166C4 802404A4 96A30000 */ lhu $v1, ($s5)
/* A166C8 802404A8 24420001 */ addiu $v0, $v0, 1
/* A166CC 802404AC 00620018 */ mult $v1, $v0
/* A166D0 802404B0 00101100 */ sll $v0, $s0, 4
/* A166D4 802404B4 00001812 */ mflo $v1
/* A166D8 802404B8 00702021 */ addu $a0, $v1, $s0
/* A166DC 802404BC 8FA30014 */ lw $v1, 0x14($sp)
/* A166E0 802404C0 3084FFFF */ andi $a0, $a0, 0xffff
/* A166E4 802404C4 0C01917C */ jal sins
/* A166E8 802404C8 00628821 */ addu $s1, $v1, $v0
/* A166EC 802404CC 00021400 */ sll $v0, $v0, 0x10
/* A166F0 802404D0 00021403 */ sra $v0, $v0, 0x10
/* A166F4 802404D4 00541021 */ addu $v0, $v0, $s4
/* A166F8 802404D8 00021FC2 */ srl $v1, $v0, 0x1f
/* A166FC 802404DC 00431021 */ addu $v0, $v0, $v1
/* A16700 802404E0 000213C0 */ sll $v0, $v0, 0xf
/* A16704 802404E4 00021403 */ sra $v0, $v0, 0x10
/* A16708 802404E8 00021880 */ sll $v1, $v0, 2
/* A1670C 802404EC 00621821 */ addu $v1, $v1, $v0
/* A16710 802404F0 00031140 */ sll $v0, $v1, 5
/* A16714 802404F4 00431823 */ subu $v1, $v0, $v1
/* A16718 802404F8 04610002 */ bgez $v1, .L80240504
/* A1671C 802404FC 0060102D */ daddu $v0, $v1, $zero
/* A16720 80240500 24627FFF */ addiu $v0, $v1, 0x7fff
.L80240504:
/* A16724 80240504 000213C3 */ sra $v0, $v0, 0xf
/* A16728 80240508 24420064 */ addiu $v0, $v0, 0x64
/* A1672C 8024050C A222000C */ sb $v0, 0xc($s1)
/* A16730 80240510 02121823 */ subu $v1, $s0, $s2
/* A16734 80240514 00032843 */ sra $a1, $v1, 1
/* A16738 80240518 00B30018 */ mult $a1, $s3
/* A1673C 8024051C A222000D */ sb $v0, 0xd($s1)
/* A16740 80240520 96A40000 */ lhu $a0, ($s5)
/* A16744 80240524 00031FC3 */ sra $v1, $v1, 0x1f
/* A16748 80240528 000433C2 */ srl $a2, $a0, 0xf
/* A1674C 8024052C 00004810 */ mfhi $t1
/* A16750 80240530 01231823 */ subu $v1, $t1, $v1
/* A16754 80240534 00031040 */ sll $v0, $v1, 1
/* A16758 80240538 00431021 */ addu $v0, $v0, $v1
/* A1675C 8024053C 00A22823 */ subu $a1, $a1, $v0
/* A16760 80240540 24A50001 */ addiu $a1, $a1, 1
/* A16764 80240544 00052BC0 */ sll $a1, $a1, 0xf
/* A16768 80240548 00C50018 */ mult $a2, $a1
/* A1676C 8024054C 00042382 */ srl $a0, $a0, 0xe
/* A16770 80240550 000423C0 */ sll $a0, $a0, 0xf
/* A16774 80240554 00001812 */ mflo $v1
/* A16778 80240558 00642021 */ addu $a0, $v1, $a0
/* A1677C 8024055C 00902021 */ addu $a0, $a0, $s0
/* A16780 80240560 0C01917C */ jal sins
/* A16784 80240564 3084FFFF */ andi $a0, $a0, 0xffff
/* A16788 80240568 00021400 */ sll $v0, $v0, 0x10
/* A1678C 8024056C 00021403 */ sra $v0, $v0, 0x10
/* A16790 80240570 9223000C */ lbu $v1, 0xc($s1)
/* A16794 80240574 00541021 */ addu $v0, $v0, $s4
/* A16798 80240578 00620018 */ mult $v1, $v0
/* A1679C 8024057C 00001812 */ mflo $v1
/* A167A0 80240580 04610004 */ bgez $v1, .L80240594
/* A167A4 80240584 00031403 */ sra $v0, $v1, 0x10
/* A167A8 80240588 3402FFFF */ ori $v0, $zero, 0xffff
/* A167AC 8024058C 00621821 */ addu $v1, $v1, $v0
/* A167B0 80240590 00031403 */ sra $v0, $v1, 0x10
.L80240594:
/* A167B4 80240594 A222000E */ sb $v0, 0xe($s1)
/* A167B8 80240598 8FA20018 */ lw $v0, 0x18($sp)
/* A167BC 8024059C 26100001 */ addiu $s0, $s0, 1
/* A167C0 802405A0 0202102A */ slt $v0, $s0, $v0
/* A167C4 802405A4 1440FFB9 */ bnez $v0, .L8024048C
/* A167C8 802405A8 02130018 */ mult $s0, $s3
.L802405AC:
/* A167CC 802405AC 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* A167D0 802405B0 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* A167D4 802405B4 8C620000 */ lw $v0, ($v1)
/* A167D8 802405B8 0000202D */ daddu $a0, $zero, $zero
/* A167DC 802405BC 0040802D */ daddu $s0, $v0, $zero
/* A167E0 802405C0 24420008 */ addiu $v0, $v0, 8
/* A167E4 802405C4 AC620000 */ sw $v0, ($v1)
/* A167E8 802405C8 3C02DE00 */ lui $v0, 0xde00
/* A167EC 802405CC 0C0470BB */ jal mdl_get_copied_gfx
/* A167F0 802405D0 AE020000 */ sw $v0, ($s0)
/* A167F4 802405D4 3C048024 */ lui $a0, %hi(D_802433AE_A195CE)
/* A167F8 802405D8 248433AE */ addiu $a0, $a0, %lo(D_802433AE_A195CE)
/* A167FC 802405DC 94830000 */ lhu $v1, ($a0)
/* A16800 802405E0 AE020004 */ sw $v0, 4($s0)
/* A16804 802405E4 24630253 */ addiu $v1, $v1, 0x253
/* A16808 802405E8 A4830000 */ sh $v1, ($a0)
/* A1680C 802405EC 8FBF0038 */ lw $ra, 0x38($sp)
/* A16810 802405F0 8FB50034 */ lw $s5, 0x34($sp)
/* A16814 802405F4 8FB40030 */ lw $s4, 0x30($sp)
/* A16818 802405F8 8FB3002C */ lw $s3, 0x2c($sp)
/* A1681C 802405FC 8FB20028 */ lw $s2, 0x28($sp)
/* A16820 80240600 8FB10024 */ lw $s1, 0x24($sp)
/* A16824 80240604 8FB00020 */ lw $s0, 0x20($sp)
/* A16828 80240608 03E00008 */ jr $ra
/* A1682C 8024060C 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,188 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024033C_A1B43C
/* A1B43C 8024033C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* A1B440 80240340 AFB30034 */ sw $s3, 0x34($sp)
/* A1B444 80240344 3C130001 */ lui $s3, 1
/* A1B448 80240348 AFB00028 */ sw $s0, 0x28($sp)
/* A1B44C 8024034C 3C108024 */ lui $s0, %hi(D_80243BCC_A1ECCC)
/* A1B450 80240350 26103BCC */ addiu $s0, $s0, %lo(D_80243BCC_A1ECCC)
/* A1B454 80240354 AFBF0040 */ sw $ra, 0x40($sp)
/* A1B458 80240358 AFB5003C */ sw $s5, 0x3c($sp)
/* A1B45C 8024035C AFB40038 */ sw $s4, 0x38($sp)
/* A1B460 80240360 AFB20030 */ sw $s2, 0x30($sp)
/* A1B464 80240364 AFB1002C */ sw $s1, 0x2c($sp)
/* A1B468 80240368 96040000 */ lhu $a0, ($s0)
/* A1B46C 8024036C 0C01917C */ jal sins
/* A1B470 80240370 36731630 */ ori $s3, $s3, 0x1630
/* A1B474 80240374 00021400 */ sll $v0, $v0, 0x10
/* A1B478 80240378 00021403 */ sra $v0, $v0, 0x10
/* A1B47C 8024037C 44821000 */ mtc1 $v0, $f2
/* A1B480 80240380 00000000 */ nop
/* A1B484 80240384 468010A0 */ cvt.s.w $f2, $f2
/* A1B488 80240388 3C12800A */ lui $s2, %hi(gDisplayContext)
/* A1B48C 8024038C 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* A1B490 80240390 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* A1B494 80240394 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* A1B498 80240398 3C073F80 */ lui $a3, 0x3f80
/* A1B49C 8024039C 3C013800 */ lui $at, 0x3800
/* A1B4A0 802403A0 44810000 */ mtc1 $at, $f0
/* A1B4A4 802403A4 96240000 */ lhu $a0, ($s1)
/* A1B4A8 802403A8 46001082 */ mul.s $f2, $f2, $f0
/* A1B4AC 802403AC 00000000 */ nop
/* A1B4B0 802403B0 8E420000 */ lw $v0, ($s2)
/* A1B4B4 802403B4 00042180 */ sll $a0, $a0, 6
/* A1B4B8 802403B8 3C014234 */ lui $at, 0x4234
/* A1B4BC 802403BC 44810000 */ mtc1 $at, $f0
/* A1B4C0 802403C0 00932021 */ addu $a0, $a0, $s3
/* A1B4C4 802403C4 46001082 */ mul.s $f2, $f2, $f0
/* A1B4C8 802403C8 00000000 */ nop
/* A1B4CC 802403CC 00442021 */ addu $a0, $v0, $a0
/* A1B4D0 802403D0 44800000 */ mtc1 $zero, $f0
/* A1B4D4 802403D4 96020000 */ lhu $v0, ($s0)
/* A1B4D8 802403D8 44060000 */ mfc1 $a2, $f0
/* A1B4DC 802403DC 44051000 */ mfc1 $a1, $f2
/* A1B4E0 802403E0 24420400 */ addiu $v0, $v0, 0x400
/* A1B4E4 802403E4 A6020000 */ sh $v0, ($s0)
/* A1B4E8 802403E8 0C019F20 */ jal guRotate
/* A1B4EC 802403EC AFA60010 */ sw $a2, 0x10($sp)
/* A1B4F0 802403F0 3C0ADA38 */ lui $t2, 0xda38
/* A1B4F4 802403F4 354A0001 */ ori $t2, $t2, 1
/* A1B4F8 802403F8 24040001 */ addiu $a0, $zero, 1
/* A1B4FC 802403FC 27A50018 */ addiu $a1, $sp, 0x18
/* A1B500 80240400 27A6001C */ addiu $a2, $sp, 0x1c
/* A1B504 80240404 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* A1B508 80240408 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* A1B50C 8024040C 27A70020 */ addiu $a3, $sp, 0x20
/* A1B510 80240410 8D030000 */ lw $v1, ($t0)
/* A1B514 80240414 96220000 */ lhu $v0, ($s1)
/* A1B518 80240418 0060482D */ daddu $t1, $v1, $zero
/* A1B51C 8024041C 24630008 */ addiu $v1, $v1, 8
/* A1B520 80240420 AD030000 */ sw $v1, ($t0)
/* A1B524 80240424 00441821 */ addu $v1, $v0, $a0
/* A1B528 80240428 3042FFFF */ andi $v0, $v0, 0xffff
/* A1B52C 8024042C 00021180 */ sll $v0, $v0, 6
/* A1B530 80240430 AD2A0000 */ sw $t2, ($t1)
/* A1B534 80240434 A6230000 */ sh $v1, ($s1)
/* A1B538 80240438 8E430000 */ lw $v1, ($s2)
/* A1B53C 8024043C 00531021 */ addu $v0, $v0, $s3
/* A1B540 80240440 00621821 */ addu $v1, $v1, $v0
/* A1B544 80240444 0C0470AC */ jal mdl_get_copied_vertices
/* A1B548 80240448 AD230004 */ sw $v1, 4($t1)
/* A1B54C 8024044C 8FA20020 */ lw $v0, 0x20($sp)
/* A1B550 80240450 1840004F */ blez $v0, .L80240590
/* A1B554 80240454 0000802D */ daddu $s0, $zero, $zero
/* A1B558 80240458 3C158024 */ lui $s5, %hi(D_80243BCE_A1ECCE)
/* A1B55C 8024045C 26B53BCE */ addiu $s5, $s5, %lo(D_80243BCE_A1ECCE)
/* A1B560 80240460 3C135555 */ lui $s3, 0x5555
/* A1B564 80240464 36735556 */ ori $s3, $s3, 0x5556
/* A1B568 80240468 34148000 */ ori $s4, $zero, 0x8000
/* A1B56C 8024046C 02130018 */ mult $s0, $s3
.L80240470:
/* A1B570 80240470 001097C3 */ sra $s2, $s0, 0x1f
/* A1B574 80240474 00001810 */ mfhi $v1
/* A1B578 80240478 00721823 */ subu $v1, $v1, $s2
/* A1B57C 8024047C 00031040 */ sll $v0, $v1, 1
/* A1B580 80240480 00431021 */ addu $v0, $v0, $v1
/* A1B584 80240484 02021023 */ subu $v0, $s0, $v0
/* A1B588 80240488 96A30000 */ lhu $v1, ($s5)
/* A1B58C 8024048C 24420001 */ addiu $v0, $v0, 1
/* A1B590 80240490 00620018 */ mult $v1, $v0
/* A1B594 80240494 00101100 */ sll $v0, $s0, 4
/* A1B598 80240498 00001812 */ mflo $v1
/* A1B59C 8024049C 00702021 */ addu $a0, $v1, $s0
/* A1B5A0 802404A0 8FA3001C */ lw $v1, 0x1c($sp)
/* A1B5A4 802404A4 3084FFFF */ andi $a0, $a0, 0xffff
/* A1B5A8 802404A8 0C01917C */ jal sins
/* A1B5AC 802404AC 00628821 */ addu $s1, $v1, $v0
/* A1B5B0 802404B0 00021400 */ sll $v0, $v0, 0x10
/* A1B5B4 802404B4 00021403 */ sra $v0, $v0, 0x10
/* A1B5B8 802404B8 00541021 */ addu $v0, $v0, $s4
/* A1B5BC 802404BC 00021FC2 */ srl $v1, $v0, 0x1f
/* A1B5C0 802404C0 00431021 */ addu $v0, $v0, $v1
/* A1B5C4 802404C4 000213C0 */ sll $v0, $v0, 0xf
/* A1B5C8 802404C8 00021403 */ sra $v0, $v0, 0x10
/* A1B5CC 802404CC 00021880 */ sll $v1, $v0, 2
/* A1B5D0 802404D0 00621821 */ addu $v1, $v1, $v0
/* A1B5D4 802404D4 00031140 */ sll $v0, $v1, 5
/* A1B5D8 802404D8 00431823 */ subu $v1, $v0, $v1
/* A1B5DC 802404DC 04610002 */ bgez $v1, .L802404E8
/* A1B5E0 802404E0 0060102D */ daddu $v0, $v1, $zero
/* A1B5E4 802404E4 24627FFF */ addiu $v0, $v1, 0x7fff
.L802404E8:
/* A1B5E8 802404E8 000213C3 */ sra $v0, $v0, 0xf
/* A1B5EC 802404EC 24420064 */ addiu $v0, $v0, 0x64
/* A1B5F0 802404F0 A222000C */ sb $v0, 0xc($s1)
/* A1B5F4 802404F4 02121823 */ subu $v1, $s0, $s2
/* A1B5F8 802404F8 00032843 */ sra $a1, $v1, 1
/* A1B5FC 802404FC 00B30018 */ mult $a1, $s3
/* A1B600 80240500 A222000D */ sb $v0, 0xd($s1)
/* A1B604 80240504 96A40000 */ lhu $a0, ($s5)
/* A1B608 80240508 00031FC3 */ sra $v1, $v1, 0x1f
/* A1B60C 8024050C 000433C2 */ srl $a2, $a0, 0xf
/* A1B610 80240510 00004010 */ mfhi $t0
/* A1B614 80240514 01031823 */ subu $v1, $t0, $v1
/* A1B618 80240518 00031040 */ sll $v0, $v1, 1
/* A1B61C 8024051C 00431021 */ addu $v0, $v0, $v1
/* A1B620 80240520 00A22823 */ subu $a1, $a1, $v0
/* A1B624 80240524 24A50001 */ addiu $a1, $a1, 1
/* A1B628 80240528 00052BC0 */ sll $a1, $a1, 0xf
/* A1B62C 8024052C 00C50018 */ mult $a2, $a1
/* A1B630 80240530 00042382 */ srl $a0, $a0, 0xe
/* A1B634 80240534 000423C0 */ sll $a0, $a0, 0xf
/* A1B638 80240538 00001812 */ mflo $v1
/* A1B63C 8024053C 00642021 */ addu $a0, $v1, $a0
/* A1B640 80240540 00902021 */ addu $a0, $a0, $s0
/* A1B644 80240544 0C01917C */ jal sins
/* A1B648 80240548 3084FFFF */ andi $a0, $a0, 0xffff
/* A1B64C 8024054C 00021400 */ sll $v0, $v0, 0x10
/* A1B650 80240550 00021403 */ sra $v0, $v0, 0x10
/* A1B654 80240554 9223000C */ lbu $v1, 0xc($s1)
/* A1B658 80240558 00541021 */ addu $v0, $v0, $s4
/* A1B65C 8024055C 00620018 */ mult $v1, $v0
/* A1B660 80240560 00001812 */ mflo $v1
/* A1B664 80240564 04610004 */ bgez $v1, .L80240578
/* A1B668 80240568 00031403 */ sra $v0, $v1, 0x10
/* A1B66C 8024056C 3402FFFF */ ori $v0, $zero, 0xffff
/* A1B670 80240570 00621821 */ addu $v1, $v1, $v0
/* A1B674 80240574 00031403 */ sra $v0, $v1, 0x10
.L80240578:
/* A1B678 80240578 A222000E */ sb $v0, 0xe($s1)
/* A1B67C 8024057C 8FA20020 */ lw $v0, 0x20($sp)
/* A1B680 80240580 26100001 */ addiu $s0, $s0, 1
/* A1B684 80240584 0202102A */ slt $v0, $s0, $v0
/* A1B688 80240588 1440FFB9 */ bnez $v0, .L80240470
/* A1B68C 8024058C 02130018 */ mult $s0, $s3
.L80240590:
/* A1B690 80240590 3C05D9FF */ lui $a1, 0xd9ff
/* A1B694 80240594 34A5F9FF */ ori $a1, $a1, 0xf9ff
/* A1B698 80240598 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* A1B69C 8024059C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* A1B6A0 802405A0 8C700000 */ lw $s0, ($v1)
/* A1B6A4 802405A4 24040001 */ addiu $a0, $zero, 1
/* A1B6A8 802405A8 0200102D */ daddu $v0, $s0, $zero
/* A1B6AC 802405AC 26100008 */ addiu $s0, $s0, 8
/* A1B6B0 802405B0 AC700000 */ sw $s0, ($v1)
/* A1B6B4 802405B4 AC450000 */ sw $a1, ($v0)
/* A1B6B8 802405B8 AC400004 */ sw $zero, 4($v0)
/* A1B6BC 802405BC 26020008 */ addiu $v0, $s0, 8
/* A1B6C0 802405C0 AC620000 */ sw $v0, ($v1)
/* A1B6C4 802405C4 3C02DE00 */ lui $v0, 0xde00
/* A1B6C8 802405C8 0C0470BB */ jal mdl_get_copied_gfx
/* A1B6CC 802405CC AE020000 */ sw $v0, ($s0)
/* A1B6D0 802405D0 3C048024 */ lui $a0, %hi(D_80243BCE_A1ECCE)
/* A1B6D4 802405D4 24843BCE */ addiu $a0, $a0, %lo(D_80243BCE_A1ECCE)
/* A1B6D8 802405D8 94830000 */ lhu $v1, ($a0)
/* A1B6DC 802405DC AE020004 */ sw $v0, 4($s0)
/* A1B6E0 802405E0 24630666 */ addiu $v1, $v1, 0x666
/* A1B6E4 802405E4 A4830000 */ sh $v1, ($a0)
/* A1B6E8 802405E8 8FBF0040 */ lw $ra, 0x40($sp)
/* A1B6EC 802405EC 8FB5003C */ lw $s5, 0x3c($sp)
/* A1B6F0 802405F0 8FB40038 */ lw $s4, 0x38($sp)
/* A1B6F4 802405F4 8FB30034 */ lw $s3, 0x34($sp)
/* A1B6F8 802405F8 8FB20030 */ lw $s2, 0x30($sp)
/* A1B6FC 802405FC 8FB1002C */ lw $s1, 0x2c($sp)
/* A1B700 80240600 8FB00028 */ lw $s0, 0x28($sp)
/* A1B704 80240604 03E00008 */ jr $ra
/* A1B708 80240608 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,127 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024060C_A1B70C
/* A1B70C 8024060C 27BDFFC0 */ addiu $sp, $sp, -0x40
/* A1B710 80240610 24040002 */ addiu $a0, $zero, 2
/* A1B714 80240614 27A50010 */ addiu $a1, $sp, 0x10
/* A1B718 80240618 27A60014 */ addiu $a2, $sp, 0x14
/* A1B71C 8024061C 27A70018 */ addiu $a3, $sp, 0x18
/* A1B720 80240620 AFBF0038 */ sw $ra, 0x38($sp)
/* A1B724 80240624 AFB50034 */ sw $s5, 0x34($sp)
/* A1B728 80240628 AFB40030 */ sw $s4, 0x30($sp)
/* A1B72C 8024062C AFB3002C */ sw $s3, 0x2c($sp)
/* A1B730 80240630 AFB20028 */ sw $s2, 0x28($sp)
/* A1B734 80240634 AFB10024 */ sw $s1, 0x24($sp)
/* A1B738 80240638 0C0470AC */ jal mdl_get_copied_vertices
/* A1B73C 8024063C AFB00020 */ sw $s0, 0x20($sp)
/* A1B740 80240640 8FA20018 */ lw $v0, 0x18($sp)
/* A1B744 80240644 1840004F */ blez $v0, .L80240784
/* A1B748 80240648 0000802D */ daddu $s0, $zero, $zero
/* A1B74C 8024064C 3C158024 */ lui $s5, %hi(D_80243BD0_A1ECD0)
/* A1B750 80240650 26B53BD0 */ addiu $s5, $s5, %lo(D_80243BD0_A1ECD0)
/* A1B754 80240654 3C135555 */ lui $s3, 0x5555
/* A1B758 80240658 36735556 */ ori $s3, $s3, 0x5556
/* A1B75C 8024065C 34148000 */ ori $s4, $zero, 0x8000
/* A1B760 80240660 02130018 */ mult $s0, $s3
.L80240664:
/* A1B764 80240664 001097C3 */ sra $s2, $s0, 0x1f
/* A1B768 80240668 00001810 */ mfhi $v1
/* A1B76C 8024066C 00721823 */ subu $v1, $v1, $s2
/* A1B770 80240670 00031040 */ sll $v0, $v1, 1
/* A1B774 80240674 00431021 */ addu $v0, $v0, $v1
/* A1B778 80240678 02021023 */ subu $v0, $s0, $v0
/* A1B77C 8024067C 96A30000 */ lhu $v1, ($s5)
/* A1B780 80240680 24420001 */ addiu $v0, $v0, 1
/* A1B784 80240684 00620018 */ mult $v1, $v0
/* A1B788 80240688 00101100 */ sll $v0, $s0, 4
/* A1B78C 8024068C 00001812 */ mflo $v1
/* A1B790 80240690 00702021 */ addu $a0, $v1, $s0
/* A1B794 80240694 8FA30014 */ lw $v1, 0x14($sp)
/* A1B798 80240698 3084FFFF */ andi $a0, $a0, 0xffff
/* A1B79C 8024069C 0C01917C */ jal sins
/* A1B7A0 802406A0 00628821 */ addu $s1, $v1, $v0
/* A1B7A4 802406A4 00021400 */ sll $v0, $v0, 0x10
/* A1B7A8 802406A8 00021403 */ sra $v0, $v0, 0x10
/* A1B7AC 802406AC 00541021 */ addu $v0, $v0, $s4
/* A1B7B0 802406B0 00021FC2 */ srl $v1, $v0, 0x1f
/* A1B7B4 802406B4 00431021 */ addu $v0, $v0, $v1
/* A1B7B8 802406B8 000213C0 */ sll $v0, $v0, 0xf
/* A1B7BC 802406BC 00021403 */ sra $v0, $v0, 0x10
/* A1B7C0 802406C0 00021880 */ sll $v1, $v0, 2
/* A1B7C4 802406C4 00621821 */ addu $v1, $v1, $v0
/* A1B7C8 802406C8 00031140 */ sll $v0, $v1, 5
/* A1B7CC 802406CC 00431823 */ subu $v1, $v0, $v1
/* A1B7D0 802406D0 04610002 */ bgez $v1, .L802406DC
/* A1B7D4 802406D4 0060102D */ daddu $v0, $v1, $zero
/* A1B7D8 802406D8 24627FFF */ addiu $v0, $v1, 0x7fff
.L802406DC:
/* A1B7DC 802406DC 000213C3 */ sra $v0, $v0, 0xf
/* A1B7E0 802406E0 24420064 */ addiu $v0, $v0, 0x64
/* A1B7E4 802406E4 A222000C */ sb $v0, 0xc($s1)
/* A1B7E8 802406E8 02121823 */ subu $v1, $s0, $s2
/* A1B7EC 802406EC 00032843 */ sra $a1, $v1, 1
/* A1B7F0 802406F0 00B30018 */ mult $a1, $s3
/* A1B7F4 802406F4 A222000D */ sb $v0, 0xd($s1)
/* A1B7F8 802406F8 96A40000 */ lhu $a0, ($s5)
/* A1B7FC 802406FC 00031FC3 */ sra $v1, $v1, 0x1f
/* A1B800 80240700 000433C2 */ srl $a2, $a0, 0xf
/* A1B804 80240704 00004810 */ mfhi $t1
/* A1B808 80240708 01231823 */ subu $v1, $t1, $v1
/* A1B80C 8024070C 00031040 */ sll $v0, $v1, 1
/* A1B810 80240710 00431021 */ addu $v0, $v0, $v1
/* A1B814 80240714 00A22823 */ subu $a1, $a1, $v0
/* A1B818 80240718 24A50001 */ addiu $a1, $a1, 1
/* A1B81C 8024071C 00052BC0 */ sll $a1, $a1, 0xf
/* A1B820 80240720 00C50018 */ mult $a2, $a1
/* A1B824 80240724 00042382 */ srl $a0, $a0, 0xe
/* A1B828 80240728 000423C0 */ sll $a0, $a0, 0xf
/* A1B82C 8024072C 00001812 */ mflo $v1
/* A1B830 80240730 00642021 */ addu $a0, $v1, $a0
/* A1B834 80240734 00902021 */ addu $a0, $a0, $s0
/* A1B838 80240738 0C01917C */ jal sins
/* A1B83C 8024073C 3084FFFF */ andi $a0, $a0, 0xffff
/* A1B840 80240740 00021400 */ sll $v0, $v0, 0x10
/* A1B844 80240744 00021403 */ sra $v0, $v0, 0x10
/* A1B848 80240748 9223000C */ lbu $v1, 0xc($s1)
/* A1B84C 8024074C 00541021 */ addu $v0, $v0, $s4
/* A1B850 80240750 00620018 */ mult $v1, $v0
/* A1B854 80240754 00001812 */ mflo $v1
/* A1B858 80240758 04610004 */ bgez $v1, .L8024076C
/* A1B85C 8024075C 00031403 */ sra $v0, $v1, 0x10
/* A1B860 80240760 3402FFFF */ ori $v0, $zero, 0xffff
/* A1B864 80240764 00621821 */ addu $v1, $v1, $v0
/* A1B868 80240768 00031403 */ sra $v0, $v1, 0x10
.L8024076C:
/* A1B86C 8024076C A222000E */ sb $v0, 0xe($s1)
/* A1B870 80240770 8FA20018 */ lw $v0, 0x18($sp)
/* A1B874 80240774 26100001 */ addiu $s0, $s0, 1
/* A1B878 80240778 0202102A */ slt $v0, $s0, $v0
/* A1B87C 8024077C 1440FFB9 */ bnez $v0, .L80240664
/* A1B880 80240780 02130018 */ mult $s0, $s3
.L80240784:
/* A1B884 80240784 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* A1B888 80240788 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* A1B88C 8024078C 8C620000 */ lw $v0, ($v1)
/* A1B890 80240790 24040002 */ addiu $a0, $zero, 2
/* A1B894 80240794 0040802D */ daddu $s0, $v0, $zero
/* A1B898 80240798 24420008 */ addiu $v0, $v0, 8
/* A1B89C 8024079C AC620000 */ sw $v0, ($v1)
/* A1B8A0 802407A0 3C02DE00 */ lui $v0, 0xde00
/* A1B8A4 802407A4 0C0470BB */ jal mdl_get_copied_gfx
/* A1B8A8 802407A8 AE020000 */ sw $v0, ($s0)
/* A1B8AC 802407AC 3C048024 */ lui $a0, %hi(D_80243BD0_A1ECD0)
/* A1B8B0 802407B0 24843BD0 */ addiu $a0, $a0, %lo(D_80243BD0_A1ECD0)
/* A1B8B4 802407B4 94830000 */ lhu $v1, ($a0)
/* A1B8B8 802407B8 AE020004 */ sw $v0, 4($s0)
/* A1B8BC 802407BC 24630253 */ addiu $v1, $v1, 0x253
/* A1B8C0 802407C0 A4830000 */ sh $v1, ($a0)
/* A1B8C4 802407C4 8FBF0038 */ lw $ra, 0x38($sp)
/* A1B8C8 802407C8 8FB50034 */ lw $s5, 0x34($sp)
/* A1B8CC 802407CC 8FB40030 */ lw $s4, 0x30($sp)
/* A1B8D0 802407D0 8FB3002C */ lw $s3, 0x2c($sp)
/* A1B8D4 802407D4 8FB20028 */ lw $s2, 0x28($sp)
/* A1B8D8 802407D8 8FB10024 */ lw $s1, 0x24($sp)
/* A1B8DC 802407DC 8FB00020 */ lw $s0, 0x20($sp)
/* A1B8E0 802407E0 03E00008 */ jr $ra
/* A1B8E4 802407E4 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,87 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802407E8_A1B8E8
/* A1B8E8 802407E8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* A1B8EC 802407EC 0000202D */ daddu $a0, $zero, $zero
/* A1B8F0 802407F0 27A50010 */ addiu $a1, $sp, 0x10
/* A1B8F4 802407F4 27A60014 */ addiu $a2, $sp, 0x14
/* A1B8F8 802407F8 27A70018 */ addiu $a3, $sp, 0x18
/* A1B8FC 802407FC AFBF0034 */ sw $ra, 0x34($sp)
/* A1B900 80240800 AFB40030 */ sw $s4, 0x30($sp)
/* A1B904 80240804 AFB3002C */ sw $s3, 0x2c($sp)
/* A1B908 80240808 AFB20028 */ sw $s2, 0x28($sp)
/* A1B90C 8024080C AFB10024 */ sw $s1, 0x24($sp)
/* A1B910 80240810 0C0470AC */ jal mdl_get_copied_vertices
/* A1B914 80240814 AFB00020 */ sw $s0, 0x20($sp)
/* A1B918 80240818 8FA20018 */ lw $v0, 0x18($sp)
/* A1B91C 8024081C 1840002A */ blez $v0, .L802408C8
/* A1B920 80240820 0000802D */ daddu $s0, $zero, $zero
/* A1B924 80240824 3C145555 */ lui $s4, 0x5555
/* A1B928 80240828 36945556 */ ori $s4, $s4, 0x5556
/* A1B92C 8024082C 0200982D */ daddu $s3, $s0, $zero
.L80240830:
/* A1B930 80240830 02140018 */ mult $s0, $s4
/* A1B934 80240834 00101FC3 */ sra $v1, $s0, 0x1f
/* A1B938 80240838 00004810 */ mfhi $t1
/* A1B93C 8024083C 01231823 */ subu $v1, $t1, $v1
/* A1B940 80240840 00031040 */ sll $v0, $v1, 1
/* A1B944 80240844 00431021 */ addu $v0, $v0, $v1
/* A1B948 80240848 02021023 */ subu $v0, $s0, $v0
/* A1B94C 8024084C 3C038024 */ lui $v1, %hi(D_80243BD2_A1ECD2)
/* A1B950 80240850 94633BD2 */ lhu $v1, %lo(D_80243BD2_A1ECD2)($v1)
/* A1B954 80240854 24420001 */ addiu $v0, $v0, 1
/* A1B958 80240858 00620018 */ mult $v1, $v0
/* A1B95C 8024085C 8FA20014 */ lw $v0, 0x14($sp)
/* A1B960 80240860 00102900 */ sll $a1, $s0, 4
/* A1B964 80240864 00459021 */ addu $s2, $v0, $a1
/* A1B968 80240868 00001812 */ mflo $v1
/* A1B96C 8024086C 00732021 */ addu $a0, $v1, $s3
/* A1B970 80240870 8FA30010 */ lw $v1, 0x10($sp)
/* A1B974 80240874 3084FFFF */ andi $a0, $a0, 0xffff
/* A1B978 80240878 0C01917C */ jal sins
/* A1B97C 8024087C 00658821 */ addu $s1, $v1, $a1
/* A1B980 80240880 00021400 */ sll $v0, $v0, 0x10
/* A1B984 80240884 00021403 */ sra $v0, $v0, 0x10
/* A1B988 80240888 00021840 */ sll $v1, $v0, 1
/* A1B98C 8024088C 00621821 */ addu $v1, $v1, $v0
/* A1B990 80240890 000318C0 */ sll $v1, $v1, 3
/* A1B994 80240894 00621821 */ addu $v1, $v1, $v0
/* A1B998 80240898 00031040 */ sll $v0, $v1, 1
/* A1B99C 8024089C 04420001 */ bltzl $v0, .L802408A4
/* A1B9A0 802408A0 24427FFF */ addiu $v0, $v0, 0x7fff
.L802408A4:
/* A1B9A4 802408A4 26732AAA */ addiu $s3, $s3, 0x2aaa
/* A1B9A8 802408A8 26100001 */ addiu $s0, $s0, 1
/* A1B9AC 802408AC 000213C3 */ sra $v0, $v0, 0xf
/* A1B9B0 802408B0 96230002 */ lhu $v1, 2($s1)
/* A1B9B4 802408B4 8FA40018 */ lw $a0, 0x18($sp)
/* A1B9B8 802408B8 00621821 */ addu $v1, $v1, $v0
/* A1B9BC 802408BC 0204202A */ slt $a0, $s0, $a0
/* A1B9C0 802408C0 1480FFDB */ bnez $a0, .L80240830
/* A1B9C4 802408C4 A6430002 */ sh $v1, 2($s2)
.L802408C8:
/* A1B9C8 802408C8 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* A1B9CC 802408CC 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* A1B9D0 802408D0 8C620000 */ lw $v0, ($v1)
/* A1B9D4 802408D4 0000202D */ daddu $a0, $zero, $zero
/* A1B9D8 802408D8 0040802D */ daddu $s0, $v0, $zero
/* A1B9DC 802408DC 24420008 */ addiu $v0, $v0, 8
/* A1B9E0 802408E0 AC620000 */ sw $v0, ($v1)
/* A1B9E4 802408E4 3C02DE00 */ lui $v0, 0xde00
/* A1B9E8 802408E8 0C0470BB */ jal mdl_get_copied_gfx
/* A1B9EC 802408EC AE020000 */ sw $v0, ($s0)
/* A1B9F0 802408F0 3C048024 */ lui $a0, %hi(D_80243BD2_A1ECD2)
/* A1B9F4 802408F4 24843BD2 */ addiu $a0, $a0, %lo(D_80243BD2_A1ECD2)
/* A1B9F8 802408F8 94830000 */ lhu $v1, ($a0)
/* A1B9FC 802408FC AE020004 */ sw $v0, 4($s0)
/* A1BA00 80240900 246300A3 */ addiu $v1, $v1, 0xa3
/* A1BA04 80240904 A4830000 */ sh $v1, ($a0)
/* A1BA08 80240908 8FBF0034 */ lw $ra, 0x34($sp)
/* A1BA0C 8024090C 8FB40030 */ lw $s4, 0x30($sp)
/* A1BA10 80240910 8FB3002C */ lw $s3, 0x2c($sp)
/* A1BA14 80240914 8FB20028 */ lw $s2, 0x28($sp)
/* A1BA18 80240918 8FB10024 */ lw $s1, 0x24($sp)
/* A1BA1C 8024091C 8FB00020 */ lw $s0, 0x20($sp)
/* A1BA20 80240920 03E00008 */ jr $ra
/* A1BA24 80240924 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,110 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80246380_915A30
.double 0.1, 0.0
.section .text
glabel iwa_01_func_80240398_90FA48
/* 90FA48 80240398 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 90FA4C 8024039C AFBF0024 */ sw $ra, 0x24($sp)
/* 90FA50 802403A0 AFB40020 */ sw $s4, 0x20($sp)
/* 90FA54 802403A4 AFB3001C */ sw $s3, 0x1c($sp)
/* 90FA58 802403A8 AFB20018 */ sw $s2, 0x18($sp)
/* 90FA5C 802403AC AFB10014 */ sw $s1, 0x14($sp)
/* 90FA60 802403B0 AFB00010 */ sw $s0, 0x10($sp)
/* 90FA64 802403B4 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 90FA68 802403B8 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 90FA6C 802403BC F7B40028 */ sdc1 $f20, 0x28($sp)
/* 90FA70 802403C0 0C00AB39 */ jal heap_malloc
/* 90FA74 802403C4 24040320 */ addiu $a0, $zero, 0x320
/* 90FA78 802403C8 0040982D */ daddu $s3, $v0, $zero
/* 90FA7C 802403CC 0000202D */ daddu $a0, $zero, $zero
/* 90FA80 802403D0 3C05FD05 */ lui $a1, 0xfd05
/* 90FA84 802403D4 34A50F8F */ ori $a1, $a1, 0xf8f
/* 90FA88 802403D8 0C0B2026 */ jal evt_set_variable
/* 90FA8C 802403DC 0260302D */ daddu $a2, $s3, $zero
/* 90FA90 802403E0 0000902D */ daddu $s2, $zero, $zero
/* 90FA94 802403E4 3C146666 */ lui $s4, 0x6666
/* 90FA98 802403E8 36946667 */ ori $s4, $s4, 0x6667
/* 90FA9C 802403EC 26700018 */ addiu $s0, $s3, 0x18
/* 90FAA0 802403F0 0240882D */ daddu $s1, $s2, $zero
/* 90FAA4 802403F4 3C014120 */ lui $at, 0x4120
/* 90FAA8 802403F8 4481C000 */ mtc1 $at, $f24
/* 90FAAC 802403FC 3C018024 */ lui $at, %hi(D_80246380_915A30)
/* 90FAB0 80240400 D4346380 */ ldc1 $f20, %lo(D_80246380_915A30)($at)
/* 90FAB4 80240404 3C013F80 */ lui $at, 0x3f80
/* 90FAB8 80240408 4481B000 */ mtc1 $at, $f22
.L8024040C:
/* 90FABC 8024040C 2404000A */ addiu $a0, $zero, 0xa
/* 90FAC0 80240410 02340018 */ mult $s1, $s4
/* 90FAC4 80240414 00111FC3 */ sra $v1, $s1, 0x1f
/* 90FAC8 80240418 AE600000 */ sw $zero, ($s3)
/* 90FACC 8024041C AE00FFF0 */ sw $zero, -0x10($s0)
/* 90FAD0 80240420 AE000004 */ sw $zero, 4($s0)
/* 90FAD4 80240424 00003810 */ mfhi $a3
/* 90FAD8 80240428 000710C3 */ sra $v0, $a3, 3
/* 90FADC 8024042C 00431023 */ subu $v0, $v0, $v1
/* 90FAE0 80240430 44820000 */ mtc1 $v0, $f0
/* 90FAE4 80240434 00000000 */ nop
/* 90FAE8 80240438 46800020 */ cvt.s.w $f0, $f0
/* 90FAEC 8024043C 0C00A67F */ jal rand_int
/* 90FAF0 80240440 E600FFEC */ swc1 $f0, -0x14($s0)
/* 90FAF4 80240444 44921000 */ mtc1 $s2, $f2
/* 90FAF8 80240448 00000000 */ nop
/* 90FAFC 8024044C 468010A0 */ cvt.s.w $f2, $f2
/* 90FB00 80240450 460010A1 */ cvt.d.s $f2, $f2
/* 90FB04 80240454 46341082 */ mul.d $f2, $f2, $f20
/* 90FB08 80240458 00000000 */ nop
/* 90FB0C 8024045C 2631FFE2 */ addiu $s1, $s1, -0x1e
/* 90FB10 80240460 26730028 */ addiu $s3, $s3, 0x28
/* 90FB14 80240464 24040167 */ addiu $a0, $zero, 0x167
/* 90FB18 80240468 26520001 */ addiu $s2, $s2, 1
/* 90FB1C 8024046C 44820000 */ mtc1 $v0, $f0
/* 90FB20 80240470 00000000 */ nop
/* 90FB24 80240474 46800020 */ cvt.s.w $f0, $f0
/* 90FB28 80240478 46180003 */ div.s $f0, $f0, $f24
/* 90FB2C 8024047C 46000021 */ cvt.d.s $f0, $f0
/* 90FB30 80240480 46220001 */ sub.d $f0, $f0, $f2
/* 90FB34 80240484 AE00000C */ sw $zero, 0xc($s0)
/* 90FB38 80240488 E616FFF4 */ swc1 $f22, -0xc($s0)
/* 90FB3C 8024048C 46200020 */ cvt.s.d $f0, $f0
/* 90FB40 80240490 0C00A67F */ jal rand_int
/* 90FB44 80240494 E6000008 */ swc1 $f0, 8($s0)
/* 90FB48 80240498 24040167 */ addiu $a0, $zero, 0x167
/* 90FB4C 8024049C 44820000 */ mtc1 $v0, $f0
/* 90FB50 802404A0 00000000 */ nop
/* 90FB54 802404A4 46800020 */ cvt.s.w $f0, $f0
/* 90FB58 802404A8 0C00A67F */ jal rand_int
/* 90FB5C 802404AC E600FFF8 */ swc1 $f0, -8($s0)
/* 90FB60 802404B0 24040167 */ addiu $a0, $zero, 0x167
/* 90FB64 802404B4 44820000 */ mtc1 $v0, $f0
/* 90FB68 802404B8 00000000 */ nop
/* 90FB6C 802404BC 46800020 */ cvt.s.w $f0, $f0
/* 90FB70 802404C0 0C00A67F */ jal rand_int
/* 90FB74 802404C4 E600FFFC */ swc1 $f0, -4($s0)
/* 90FB78 802404C8 44820000 */ mtc1 $v0, $f0
/* 90FB7C 802404CC 00000000 */ nop
/* 90FB80 802404D0 46800020 */ cvt.s.w $f0, $f0
/* 90FB84 802404D4 E6000000 */ swc1 $f0, ($s0)
/* 90FB88 802404D8 2A420014 */ slti $v0, $s2, 0x14
/* 90FB8C 802404DC 1440FFCB */ bnez $v0, .L8024040C
/* 90FB90 802404E0 26100028 */ addiu $s0, $s0, 0x28
/* 90FB94 802404E4 8FBF0024 */ lw $ra, 0x24($sp)
/* 90FB98 802404E8 8FB40020 */ lw $s4, 0x20($sp)
/* 90FB9C 802404EC 8FB3001C */ lw $s3, 0x1c($sp)
/* 90FBA0 802404F0 8FB20018 */ lw $s2, 0x18($sp)
/* 90FBA4 802404F4 8FB10014 */ lw $s1, 0x14($sp)
/* 90FBA8 802404F8 8FB00010 */ lw $s0, 0x10($sp)
/* 90FBAC 802404FC D7B80038 */ ldc1 $f24, 0x38($sp)
/* 90FBB0 80240500 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 90FBB4 80240504 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 90FBB8 80240508 24020002 */ addiu $v0, $zero, 2
/* 90FBBC 8024050C 03E00008 */ jr $ra
/* 90FBC0 80240510 27BD0040 */ addiu $sp, $sp, 0x40
/* 90FBC4 80240514 00000000 */ nop
/* 90FBC8 80240518 00000000 */ nop
/* 90FBCC 8024051C 00000000 */ nop

View File

@ -1,248 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80246370_915A20
.double 0.98
dlabel D_80246378_915A28
.double -0.1
.section .text
glabel iwa_01_gfx_build_splash
/* 90F6B0 80240000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 90F6B4 80240004 0000202D */ daddu $a0, $zero, $zero
/* 90F6B8 80240008 3C05FD05 */ lui $a1, 0xfd05
/* 90F6BC 8024000C AFBF003C */ sw $ra, 0x3c($sp)
/* 90F6C0 80240010 AFB60038 */ sw $s6, 0x38($sp)
/* 90F6C4 80240014 AFB50034 */ sw $s5, 0x34($sp)
/* 90F6C8 80240018 AFB40030 */ sw $s4, 0x30($sp)
/* 90F6CC 8024001C AFB3002C */ sw $s3, 0x2c($sp)
/* 90F6D0 80240020 AFB20028 */ sw $s2, 0x28($sp)
/* 90F6D4 80240024 AFB10024 */ sw $s1, 0x24($sp)
/* 90F6D8 80240028 AFB00020 */ sw $s0, 0x20($sp)
/* 90F6DC 8024002C F7B80050 */ sdc1 $f24, 0x50($sp)
/* 90F6E0 80240030 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 90F6E4 80240034 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 90F6E8 80240038 0C0B1EAF */ jal evt_get_variable
/* 90F6EC 8024003C 34A50F8F */ ori $a1, $a1, 0xf8f
/* 90F6F0 80240040 0040882D */ daddu $s1, $v0, $zero
/* 90F6F4 80240044 0000982D */ daddu $s3, $zero, $zero
/* 90F6F8 80240048 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 90F6FC 8024004C 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 90F700 80240050 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 90F704 80240054 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 90F708 80240058 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 90F70C 8024005C 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 90F710 80240060 3C140001 */ lui $s4, 1
/* 90F714 80240064 36941630 */ ori $s4, $s4, 0x1630
/* 90F718 80240068 26300018 */ addiu $s0, $s1, 0x18
/* 90F71C 8024006C 3C01C1F0 */ lui $at, 0xc1f0
/* 90F720 80240070 4481C000 */ mtc1 $at, $f24
/* 90F724 80240074 3C014120 */ lui $at, 0x4120
/* 90F728 80240078 4481B000 */ mtc1 $at, $f22
/* 90F72C 8024007C 3C018024 */ lui $at, %hi(D_80246370_915A20)
/* 90F730 80240080 D4346370 */ ldc1 $f20, %lo(D_80246370_915A20)($at)
.L80240084:
/* 90F734 80240084 C600FFEC */ lwc1 $f0, -0x14($s0)
/* 90F738 80240088 4618003C */ c.lt.s $f0, $f24
/* 90F73C 8024008C 00000000 */ nop
/* 90F740 80240090 4500002F */ bc1f .L80240150
/* 90F744 80240094 24040008 */ addiu $a0, $zero, 8
/* 90F748 80240098 3C0140A0 */ lui $at, 0x40a0
/* 90F74C 8024009C 44810000 */ mtc1 $at, $f0
/* 90F750 802400A0 3C01C1A0 */ lui $at, 0xc1a0
/* 90F754 802400A4 44811000 */ mtc1 $at, $f2
/* 90F758 802400A8 AE200000 */ sw $zero, ($s1)
/* 90F75C 802400AC E600FFEC */ swc1 $f0, -0x14($s0)
/* 90F760 802400B0 0C00A67F */ jal rand_int
/* 90F764 802400B4 E602FFF0 */ swc1 $f2, -0x10($s0)
/* 90F768 802400B8 2404000A */ addiu $a0, $zero, 0xa
/* 90F76C 802400BC 2442FFFC */ addiu $v0, $v0, -4
/* 90F770 802400C0 44820000 */ mtc1 $v0, $f0
/* 90F774 802400C4 00000000 */ nop
/* 90F778 802400C8 46800020 */ cvt.s.w $f0, $f0
/* 90F77C 802400CC 46160003 */ div.s $f0, $f0, $f22
/* 90F780 802400D0 0C00A67F */ jal rand_int
/* 90F784 802400D4 E6000004 */ swc1 $f0, 4($s0)
/* 90F788 802400D8 2404000A */ addiu $a0, $zero, 0xa
/* 90F78C 802400DC 44820000 */ mtc1 $v0, $f0
/* 90F790 802400E0 00000000 */ nop
/* 90F794 802400E4 46800020 */ cvt.s.w $f0, $f0
/* 90F798 802400E8 46160003 */ div.s $f0, $f0, $f22
/* 90F79C 802400EC 0C00A67F */ jal rand_int
/* 90F7A0 802400F0 E6000008 */ swc1 $f0, 8($s0)
/* 90F7A4 802400F4 24040014 */ addiu $a0, $zero, 0x14
/* 90F7A8 802400F8 2442001E */ addiu $v0, $v0, 0x1e
/* 90F7AC 802400FC 44820000 */ mtc1 $v0, $f0
/* 90F7B0 80240100 00000000 */ nop
/* 90F7B4 80240104 46800020 */ cvt.s.w $f0, $f0
/* 90F7B8 80240108 3C013F80 */ lui $at, 0x3f80
/* 90F7BC 8024010C 44811000 */ mtc1 $at, $f2
/* 90F7C0 80240110 46160003 */ div.s $f0, $f0, $f22
/* 90F7C4 80240114 E600000C */ swc1 $f0, 0xc($s0)
/* 90F7C8 80240118 0C00A67F */ jal rand_int
/* 90F7CC 8024011C E602FFF4 */ swc1 $f2, -0xc($s0)
/* 90F7D0 80240120 24040167 */ addiu $a0, $zero, 0x167
/* 90F7D4 80240124 24420050 */ addiu $v0, $v0, 0x50
/* 90F7D8 80240128 44820000 */ mtc1 $v0, $f0
/* 90F7DC 8024012C 00000000 */ nop
/* 90F7E0 80240130 46800020 */ cvt.s.w $f0, $f0
/* 90F7E4 80240134 0C00A67F */ jal rand_int
/* 90F7E8 80240138 E600FFF8 */ swc1 $f0, -8($s0)
/* 90F7EC 8024013C 44820000 */ mtc1 $v0, $f0
/* 90F7F0 80240140 00000000 */ nop
/* 90F7F4 80240144 46800020 */ cvt.s.w $f0, $f0
/* 90F7F8 80240148 E600FFFC */ swc1 $f0, -4($s0)
/* 90F7FC 8024014C AE000000 */ sw $zero, ($s0)
.L80240150:
/* 90F800 80240150 C6040004 */ lwc1 $f4, 4($s0)
/* 90F804 80240154 46002121 */ cvt.d.s $f4, $f4
/* 90F808 80240158 46342102 */ mul.d $f4, $f4, $f20
/* 90F80C 8024015C 00000000 */ nop
/* 90F810 80240160 C602000C */ lwc1 $f2, 0xc($s0)
/* 90F814 80240164 460010A1 */ cvt.d.s $f2, $f2
/* 90F818 80240168 46341082 */ mul.d $f2, $f2, $f20
/* 90F81C 8024016C 00000000 */ nop
/* 90F820 80240170 C6000008 */ lwc1 $f0, 8($s0)
/* 90F824 80240174 3C018024 */ lui $at, %hi(D_80246378_915A28)
/* 90F828 80240178 D4266378 */ ldc1 $f6, %lo(D_80246378_915A28)($at)
/* 90F82C 8024017C 46000021 */ cvt.d.s $f0, $f0
/* 90F830 80240180 46260000 */ add.d $f0, $f0, $f6
/* 90F834 80240184 46200020 */ cvt.s.d $f0, $f0
/* 90F838 80240188 E6000008 */ swc1 $f0, 8($s0)
/* 90F83C 8024018C 46202120 */ cvt.s.d $f4, $f4
/* 90F840 80240190 462010A0 */ cvt.s.d $f2, $f2
/* 90F844 80240194 E6040004 */ swc1 $f4, 4($s0)
/* 90F848 80240198 E602000C */ swc1 $f2, 0xc($s0)
/* 90F84C 8024019C C6200000 */ lwc1 $f0, ($s1)
/* 90F850 802401A0 46002086 */ mov.s $f2, $f4
/* 90F854 802401A4 46020000 */ add.s $f0, $f0, $f2
/* 90F858 802401A8 E6200000 */ swc1 $f0, ($s1)
/* 90F85C 802401AC C600FFEC */ lwc1 $f0, -0x14($s0)
/* 90F860 802401B0 C6020008 */ lwc1 $f2, 8($s0)
/* 90F864 802401B4 46020000 */ add.s $f0, $f0, $f2
/* 90F868 802401B8 E600FFEC */ swc1 $f0, -0x14($s0)
/* 90F86C 802401BC 46000186 */ mov.s $f6, $f0
/* 90F870 802401C0 3C01437F */ lui $at, 0x437f
/* 90F874 802401C4 44810000 */ mtc1 $at, $f0
/* 90F878 802401C8 00000000 */ nop
/* 90F87C 802401CC 46003182 */ mul.s $f6, $f6, $f0
/* 90F880 802401D0 00000000 */ nop
/* 90F884 802401D4 C604FFF0 */ lwc1 $f4, -0x10($s0)
/* 90F888 802401D8 C600000C */ lwc1 $f0, 0xc($s0)
/* 90F88C 802401DC C602FFF8 */ lwc1 $f2, -8($s0)
/* 90F890 802401E0 46002100 */ add.s $f4, $f4, $f0
/* 90F894 802401E4 3C014000 */ lui $at, 0x4000
/* 90F898 802401E8 44810000 */ mtc1 $at, $f0
/* 90F89C 802401EC 00000000 */ nop
/* 90F8A0 802401F0 46001080 */ add.s $f2, $f2, $f0
/* 90F8A4 802401F4 E604FFF0 */ swc1 $f4, -0x10($s0)
/* 90F8A8 802401F8 46183183 */ div.s $f6, $f6, $f24
/* 90F8AC 802401FC 4600320D */ trunc.w.s $f8, $f6
/* 90F8B0 80240200 44064000 */ mfc1 $a2, $f8
/* 90F8B4 80240204 00000000 */ nop
/* 90F8B8 80240208 04C10002 */ bgez $a2, .L80240214
/* 90F8BC 8024020C E602FFF8 */ swc1 $f2, -8($s0)
/* 90F8C0 80240210 0000302D */ daddu $a2, $zero, $zero
.L80240214:
/* 90F8C4 80240214 28C20100 */ slti $v0, $a2, 0x100
/* 90F8C8 80240218 50400001 */ beql $v0, $zero, .L80240220
/* 90F8CC 8024021C 240600FF */ addiu $a2, $zero, 0xff
.L80240220:
/* 90F8D0 80240220 3C05E6FF */ lui $a1, 0xe6ff
/* 90F8D4 80240224 34A5FFFF */ ori $a1, $a1, 0xffff
/* 90F8D8 80240228 3C02FA00 */ lui $v0, 0xfa00
/* 90F8DC 8024022C 8E430000 */ lw $v1, ($s2)
/* 90F8E0 80240230 26730001 */ addiu $s3, $s3, 1
/* 90F8E4 80240234 0060202D */ daddu $a0, $v1, $zero
/* 90F8E8 80240238 24630008 */ addiu $v1, $v1, 8
/* 90F8EC 8024023C AC820000 */ sw $v0, ($a0)
/* 90F8F0 80240240 3C02F900 */ lui $v0, 0xf900
/* 90F8F4 80240244 AC850004 */ sw $a1, 4($a0)
/* 90F8F8 80240248 AC620000 */ sw $v0, ($v1)
/* 90F8FC 8024024C 30C200FF */ andi $v0, $a2, 0xff
/* 90F900 80240250 AC620004 */ sw $v0, 4($v1)
/* 90F904 80240254 96A40000 */ lhu $a0, ($s5)
/* 90F908 80240258 C600FFF4 */ lwc1 $f0, -0xc($s0)
/* 90F90C 8024025C 00042180 */ sll $a0, $a0, 6
/* 90F910 80240260 E7A00010 */ swc1 $f0, 0x10($sp)
/* 90F914 80240264 8EC20000 */ lw $v0, ($s6)
/* 90F918 80240268 C6200000 */ lwc1 $f0, ($s1)
/* 90F91C 8024026C 00942021 */ addu $a0, $a0, $s4
/* 90F920 80240270 AE430000 */ sw $v1, ($s2)
/* 90F924 80240274 24630008 */ addiu $v1, $v1, 8
/* 90F928 80240278 E7A00014 */ swc1 $f0, 0x14($sp)
/* 90F92C 8024027C C600FFEC */ lwc1 $f0, -0x14($s0)
/* 90F930 80240280 26310028 */ addiu $s1, $s1, 0x28
/* 90F934 80240284 AE430000 */ sw $v1, ($s2)
/* 90F938 80240288 E7A00018 */ swc1 $f0, 0x18($sp)
/* 90F93C 8024028C C600FFF0 */ lwc1 $f0, -0x10($s0)
/* 90F940 80240290 00442021 */ addu $a0, $v0, $a0
/* 90F944 80240294 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 90F948 80240298 8E05FFF8 */ lw $a1, -8($s0)
/* 90F94C 8024029C 8E06FFFC */ lw $a2, -4($s0)
/* 90F950 802402A0 8E070000 */ lw $a3, ($s0)
/* 90F954 802402A4 0C01903A */ jal guPosition
/* 90F958 802402A8 26100028 */ addiu $s0, $s0, 0x28
/* 90F95C 802402AC 3C06D838 */ lui $a2, 0xd838
/* 90F960 802402B0 8E440000 */ lw $a0, ($s2)
/* 90F964 802402B4 34C60002 */ ori $a2, $a2, 2
/* 90F968 802402B8 0080282D */ daddu $a1, $a0, $zero
/* 90F96C 802402BC 24840008 */ addiu $a0, $a0, 8
/* 90F970 802402C0 AE440000 */ sw $a0, ($s2)
/* 90F974 802402C4 96A20000 */ lhu $v0, ($s5)
/* 90F978 802402C8 3C03DA38 */ lui $v1, 0xda38
/* 90F97C 802402CC ACA30000 */ sw $v1, ($a1)
/* 90F980 802402D0 24430001 */ addiu $v1, $v0, 1
/* 90F984 802402D4 3042FFFF */ andi $v0, $v0, 0xffff
/* 90F988 802402D8 00021180 */ sll $v0, $v0, 6
/* 90F98C 802402DC A6A30000 */ sh $v1, ($s5)
/* 90F990 802402E0 8EC30000 */ lw $v1, ($s6)
/* 90F994 802402E4 00541021 */ addu $v0, $v0, $s4
/* 90F998 802402E8 00621821 */ addu $v1, $v1, $v0
/* 90F99C 802402EC 24820008 */ addiu $v0, $a0, 8
/* 90F9A0 802402F0 ACA30004 */ sw $v1, 4($a1)
/* 90F9A4 802402F4 AE420000 */ sw $v0, ($s2)
/* 90F9A8 802402F8 3C02DE00 */ lui $v0, 0xde00
/* 90F9AC 802402FC AC820000 */ sw $v0, ($a0)
/* 90F9B0 80240300 3C028024 */ lui $v0, %hi(iwa_01_splash_gfx)
/* 90F9B4 80240304 24423E00 */ addiu $v0, $v0, %lo(iwa_01_splash_gfx)
/* 90F9B8 80240308 AC820004 */ sw $v0, 4($a0)
/* 90F9BC 8024030C 24820010 */ addiu $v0, $a0, 0x10
/* 90F9C0 80240310 AE420000 */ sw $v0, ($s2)
/* 90F9C4 80240314 24020040 */ addiu $v0, $zero, 0x40
/* 90F9C8 80240318 AC82000C */ sw $v0, 0xc($a0)
/* 90F9CC 8024031C 2A620014 */ slti $v0, $s3, 0x14
/* 90F9D0 80240320 1440FF58 */ bnez $v0, .L80240084
/* 90F9D4 80240324 AC860008 */ sw $a2, 8($a0)
/* 90F9D8 80240328 3C05E200 */ lui $a1, 0xe200
/* 90F9DC 8024032C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 90F9E0 80240330 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 90F9E4 80240334 8C820000 */ lw $v0, ($a0)
/* 90F9E8 80240338 34A51E01 */ ori $a1, $a1, 0x1e01
/* 90F9EC 8024033C 0040182D */ daddu $v1, $v0, $zero
/* 90F9F0 80240340 24420008 */ addiu $v0, $v0, 8
/* 90F9F4 80240344 AC820000 */ sw $v0, ($a0)
/* 90F9F8 80240348 AC650000 */ sw $a1, ($v1)
/* 90F9FC 8024034C AC600004 */ sw $zero, 4($v1)
/* 90FA00 80240350 24430008 */ addiu $v1, $v0, 8
/* 90FA04 80240354 AC830000 */ sw $v1, ($a0)
/* 90FA08 80240358 3C03E700 */ lui $v1, 0xe700
/* 90FA0C 8024035C AC430000 */ sw $v1, ($v0)
/* 90FA10 80240360 AC400004 */ sw $zero, 4($v0)
/* 90FA14 80240364 8FBF003C */ lw $ra, 0x3c($sp)
/* 90FA18 80240368 8FB60038 */ lw $s6, 0x38($sp)
/* 90FA1C 8024036C 8FB50034 */ lw $s5, 0x34($sp)
/* 90FA20 80240370 8FB40030 */ lw $s4, 0x30($sp)
/* 90FA24 80240374 8FB3002C */ lw $s3, 0x2c($sp)
/* 90FA28 80240378 8FB20028 */ lw $s2, 0x28($sp)
/* 90FA2C 8024037C 8FB10024 */ lw $s1, 0x24($sp)
/* 90FA30 80240380 8FB00020 */ lw $s0, 0x20($sp)
/* 90FA34 80240384 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 90FA38 80240388 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 90FA3C 8024038C D7B40040 */ ldc1 $f20, 0x40($sp)
/* 90FA40 80240390 03E00008 */ jr $ra
/* 90FA44 80240394 27BD0058 */ addiu $sp, $sp, 0x58