From 59119c09490c87ffc9fbb9647c4e9ba430586da5 Mon Sep 17 00:00:00 2001 From: Unnunu Date: Thu, 9 Jun 2022 02:36:32 +0300 Subject: [PATCH] item entity functions and a few others (#725) * matched 4 functions * matched 2 item entity funcs and migrated data * removed default case and fixed lights def --- include/common_structs.h | 4 +- include/enums.h | 15 + include/functions.h | 1 + src/8800.c | 10 +- src/C50A0.c | 623 +++++++++++++++++- src/E225B0.c | 41 +- src/d0a70_len_4fe0.c | 26 +- src/hud_element.c | 9 +- src/main.c | 75 ++- src/state_title_screen.c | 18 +- ver/us/asm/data/E2CA0.data.s | 27 - .../asm/nonmatchings/8800/set_cam_viewport.s | 121 ---- .../C50A0/draw_ci_image_with_clipping.s | 201 ------ .../nonmatchings/C50A0/draw_coin_sparkles.s | 279 -------- ver/us/asm/nonmatchings/C50A0/func_8013673C.s | 194 ------ .../asm/nonmatchings/C50A0/make_item_entity.s | 494 -------------- ver/us/asm/nonmatchings/main/gfx_task_main.s | 370 ----------- ver/us/splat.yaml | 2 +- 18 files changed, 677 insertions(+), 1833 deletions(-) delete mode 100644 ver/us/asm/data/E2CA0.data.s delete mode 100644 ver/us/asm/nonmatchings/8800/set_cam_viewport.s delete mode 100644 ver/us/asm/nonmatchings/C50A0/draw_ci_image_with_clipping.s delete mode 100644 ver/us/asm/nonmatchings/C50A0/draw_coin_sparkles.s delete mode 100644 ver/us/asm/nonmatchings/C50A0/func_8013673C.s delete mode 100644 ver/us/asm/nonmatchings/C50A0/make_item_entity.s delete mode 100644 ver/us/asm/nonmatchings/main/gfx_task_main.s diff --git a/include/common_structs.h b/include/common_structs.h index 63d058122e..7bda888a2f 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1229,8 +1229,8 @@ typedef struct ItemEntity { /* 0x40 */ s32* sparkleReadPos; /* 0x44 */ s32 sparkleUnk44; /* 0x48 */ s32* sparkleSavedPos; - /* 0x4C */ s32* sparkleRaster; - /* 0x50 */ s32* sparklePalette; + /* 0x4C */ s8* sparkleRaster; + /* 0x50 */ s8* sparklePalette; /* 0x54 */ s32 sparkleWidth; /* 0x58 */ s32 sparkleHeight; } ItemEntity; // size = 0x5C diff --git a/include/enums.h b/include/enums.h index 430033e55f..53e355411a 100644 --- a/include/enums.h +++ b/include/enums.h @@ -1809,15 +1809,30 @@ enum ItemEntityFlags { ITEM_ENTITY_FLAGS_CAM3 = 0x00000008, ITEM_ENTITY_FLAGS_10 = 0x00000010, ITEM_ENTITY_FLAGS_40 = 0x00000040, + ITEM_ENTITY_FLAGS_80 = 0x00000080, + ITEM_ENTITY_FLAGS_100 = 0x00000100, + ITEM_ENTITY_FLAGS_NEVER_VANISH = 0x00000200, + ITEM_ENTITY_FLAGS_400 = 0x00000400, + ITEM_ENTITY_FLAGS_800 = 0x00000800, + ITEM_ENTITY_FLAGS_1000 = 0x00001000, + ITEM_ENTITY_FLAGS_FIXED = 0x00002000, ITEM_ENTITY_FLAGS_TINY = 0x00004000, + ITEM_ENTITY_FLAGS_8000 = 0x00008000, + ITEM_ENTITY_FLAGS_10000 = 0x00010000, ITEM_ENTITY_FLAGS_20000 = 0x00020000, ITEM_ENTITY_FLAGS_40000 = 0x00040000, ITEM_ENTITY_FLAGS_TRANSPARENT = 0x00080000, ITEM_ENTITY_FLAGS_100000 = 0x00100000, ITEM_ENTITY_FLAGS_200000 = 0x00200000, + ITEM_ENTITY_FLAGS_400000 = 0x00400000, + ITEM_ENTITY_FLAGS_800000 = 0x00800000, + ITEM_ENTITY_FLAGS_1000000 = 0x01000000, ITEM_ENTITY_FLAGS_2000000 = 0x02000000, ITEM_ENTITY_FLAGS_4000000 = 0x04000000, ITEM_ENTITY_FLAGS_8000000 = 0x08000000, + ITEM_ENTITY_FLAGS_10000000 = 0x10000000, + ITEM_ENTITY_FLAGS_40000000 = 0x40000000, + ITEM_ENTITY_FLAGS_80000000 = 0x80000000, }; enum Buttons { diff --git a/include/functions.h b/include/functions.h index 7d88f80380..a0d9c0cbd6 100644 --- a/include/functions.h +++ b/include/functions.h @@ -745,6 +745,7 @@ s32 create_generic_entity_world(WorldArgs, WorldArgs); EntityModel* get_entity_model(s32 idx); f32 phys_get_spin_history(s32 lag, s32* x, s32* y, s32* z); void fold_update(u32, s32, s32, s32, s32, s32, s32); +s32 fold_appendGfx_component(s32, FoldImageRecPart*, u32, Matrix4f); s32 func_8013A704(s32); void free_generic_entity(s32); diff --git a/src/8800.c b/src/8800.c index 2e5c206bcd..ebe4165472 100644 --- a/src/8800.c +++ b/src/8800.c @@ -400,8 +400,6 @@ Camera* initialize_next_camera(CameraInitData* initData) { return camera; } -// Ordering shtuff -#ifdef NON_EQUIVALENT void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height) { Camera* camera = &gCameras[id]; @@ -415,8 +413,9 @@ void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height) { camera->vp.vp.vscale[2] = 0x1FF; camera->vp.vp.vscale[3] = 0; - camera->vp.vp.vtrans[0] = (((camera->viewportStartX + (camera->viewportW / 2)) << 16) >> 14); - camera->vp.vp.vtrans[1] = (((camera->viewportStartY + (camera->viewportH / 2)) << 16) >> 14); + camera->vp.vp.vtrans[0] = (((u16)camera->viewportStartX + (camera->viewportW / 2)) << 16) >> 14; + camera->vp.vp.vtrans[1] = ((u16)camera->viewportStartY + (camera->viewportH / 2)); + camera->vp.vp.vtrans[1] = (camera->vp.vp.vtrans[1] << 16) >> 14; // needed to match camera->vp.vp.vtrans[2] = 0x1FF; camera->vp.vp.vtrans[3] = 0; @@ -430,9 +429,6 @@ void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height) { camera->vpAlt.vp.vtrans[2] = 0x200; camera->vpAlt.vp.vtrans[3] = 0; } -#else -INCLUDE_ASM(void, "8800", set_cam_viewport, s16 id, s16 x, s16 y, s16 width, s16 height); -#endif void get_cam_viewport(s32 camID, u16* x, u16* y, u16* width, u16* height) { *width = gCameras[camID].viewportW; diff --git a/src/C50A0.c b/src/C50A0.c index f89488c0a1..e087678d2b 100644 --- a/src/C50A0.c +++ b/src/C50A0.c @@ -11,13 +11,16 @@ extern ItemEntity* WorldItemEntities[MAX_ITEM_ENTITIES]; extern ItemEntity* BattleItemEntities[MAX_ITEM_ENTITIES]; extern ItemEntity** gCurrentItemEntities; extern s16 isPickingUpItem; -extern s16 D_801565A8; extern s32 D_80155D80; extern s16 D_80155D8C; extern s16 D_80155D8E; extern s16 D_80155D90; +extern s16 D_801565A6; +extern s16 D_801565A8; +extern s32 D_801568E0; +extern s32 D_801568EC; -extern s32* SparkleScript_Coin; +extern HudScript SparkleScript_Coin; void item_entity_load(ItemEntity*); void item_entity_update(ItemEntity*); @@ -28,12 +31,99 @@ s32 test_item_player_collision(ItemEntity*); void update_item_entity_collectable(ItemEntity*); void func_8013559C(ItemEntity*); void update_item_entity_static(ItemEntity*); -void func_801356C4(void); +void func_801356C4(ItemEntity*); void func_801356CC(ItemEntity*); -void func_801356D4(void); +void func_801356D4(ItemEntity*); void update_item_entity_temp(ItemEntity*); +s32 draw_image_with_clipping(s32* raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, u16 clipULx, + u16 clipULy, u16 clipLRx, u16 clipRLy); +void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY); +void func_801369D0(ItemEntity* itemEntity, s32 posX, s32 posY); +void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY); -INCLUDE_ASM(s32, "C50A0", draw_ci_image_with_clipping); +Vtx D_8014C5A0[4] = { + {{{ -12, 0, 0 }, 0, { 0x2300, 0x2300 }, { 0, 0, 0, 255 }}}, + {{{ 11, 0, 0 }, 0, { 0x2000, 0x2300 }, { 0, 0, 0, 255 }}}, + {{{ 11, 23, 0 }, 0, { 0x2000, 0x2000 }, { 0, 0, 0, 255 }}}, + {{{ -12, 23, 0 }, 0, { 0x2300, 0x2000 }, { 0, 0, 0, 255 }}}, +}; + +Vtx D_8014C5E0[4] = { + {{{ -16, 0, 0 }, 0, { 0x2400, 0x2400 }, { 0, 0, 0, 255 }}}, + {{{ 15, 0, 0 }, 0, { 0x2000, 0x2400 }, { 0, 0, 0, 255 }}}, + {{{ 15, 31, 0 }, 0, { 0x2000, 0x2000 }, { 0, 0, 0, 255 }}}, + {{{ -16, 31, 0 }, 0, { 0x2400, 0x2000 }, { 0, 0, 0, 255 }}}, +}; + +Gfx D_8014C620[] = { + gsDPPipeSync(), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsDPSetTexturePersp(G_TP_PERSP), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureFilter(G_TF_BILERP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetTextureLUT(G_TT_RGBA16), + gsSPEndDisplayList(), +}; + +Gfx D_8014C678[] = { + gsSPClearGeometryMode(G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH), + gsSPVertex(D_8014C5A0, 4, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx D_8014C6A0[] = { + gsSPClearGeometryMode(G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH), + gsSPVertex(D_8014C5E0, 4, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Lights1 D_8014C6C8 = gdSPDefLights1(255, 255, 255, 0, 0, 0, 0, 0, 0); + +s16 D_8014C6E0[] = { 32, 40 }; +s16 D_8014C6E4[] = { 8, 4 }; + +s32 draw_ci_image_with_clipping(s32* raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s32* palette, s16 posX, + s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity) { + s32 ret; + + gDPPipeSync(gMasterGfxPos++); + gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE); + gDPSetTextureFilter(gMasterGfxPos++, G_TF_POINT); + gDPSetTexturePersp(gMasterGfxPos++, G_TP_NONE); + + if (opacity == 255) { + gDPSetRenderMode(gMasterGfxPos++, G_RM_TEX_EDGE, G_RM_TEX_EDGE2); + gDPSetCombineMode(gMasterGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA); + } else if (opacity == 0) { + return 1; + } else { + gDPSetRenderMode(gMasterGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, opacity); + } + + if (fmt == G_IM_FMT_CI) { + gDPSetTextureLUT(gMasterGfxPos++, G_TT_RGBA16); + if (bitDepth == G_IM_SIZ_4b) { + gDPLoadTLUT_pal16(gMasterGfxPos++, 0, palette); + } else { + gDPLoadTLUT_pal256(gMasterGfxPos++, palette); + } + } else { + gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE); + } + ret = draw_image_with_clipping(raster, width, height, fmt, bitDepth, posX, posY, clipULx, clipULy, clipLRx, clipRLy); + gDPPipeSync(gMasterGfxPos++); + return ret; +} INCLUDE_ASM(s32, "C50A0", draw_image_with_clipping); @@ -101,7 +191,55 @@ void sparkle_script_update(ItemEntity* itemEntity) { } } -INCLUDE_ASM(s32, "C50A0", draw_coin_sparkles); +void draw_coin_sparkles(ItemEntity* itemEntity) { + f32 x, y, z; + f32 angle; + Matrix4f sp18; + Matrix4f sp58; + Matrix4f sp98; + Matrix4f spD8; + FoldImageRecPart foldImage; + + x = D_80155D8C; + y = D_80155D8E; + z = D_80155D90; + angle = clamp_angle(180.0f - gCameras[gCurrentCamID].currentYaw); + + guTranslateF(sp18, x, y, z); + guTranslateF(sp58, itemEntity->position.x, itemEntity->position.y + 12.0f, itemEntity->position.z); + guRotateF(sp98, angle, 0.0f, 1.0f, 0.0f); + guMtxCatF(sp18, sp98, sp98); + guMtxCatF(sp98, sp58, spD8); + guMtxF2L(spD8, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE); + gSPClearGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH); + gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_LIGHTING | G_SHADING_SMOOTH); + gSPSetLights1(gMasterGfxPos++, D_8014C6C8); + gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON); + gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE); + gDPSetTexturePersp(gMasterGfxPos++, G_TP_PERSP); + gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP); + gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE); + gDPSetTextureDetail(gMasterGfxPos++, G_TD_CLAMP); + gDPSetTextureConvert(gMasterGfxPos++, G_TC_FILT); + gDPSetCombineKey(gMasterGfxPos++, G_CK_NONE); + gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE); + + foldImage.raster = itemEntity->sparkleRaster; + foldImage.palette = itemEntity->sparklePalette; + foldImage.width = itemEntity->sparkleWidth; + foldImage.height = itemEntity->sparkleHeight; + foldImage.xOffset = -itemEntity->sparkleWidth / 2; + foldImage.yOffset = itemEntity->sparkleHeight / 2; + foldImage.unk_10 = 255; + fold_appendGfx_component(0, &foldImage, 0, spD8); + + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + gDPPipeSync(gMasterGfxPos++); + +} ItemEntity* get_item_entity(s32 itemEntityIndex) { return gCurrentItemEntities[itemEntityIndex]; @@ -110,7 +248,7 @@ ItemEntity* get_item_entity(s32 itemEntityIndex) { void item_entity_disable_shadow(ItemEntity* itemEntity) { Shadow* shadow; - itemEntity->flags |= ENTITY_FLAGS_CONTINUOUS_COLLISION; + itemEntity->flags |= ITEM_ENTITY_FLAGS_40; if (itemEntity->shadowIndex >= 0) { shadow = get_shadow_by_index(itemEntity->shadowIndex); shadow->flags |= SHADOW_FLAGS_HIDDEN; @@ -120,7 +258,7 @@ void item_entity_disable_shadow(ItemEntity* itemEntity) { void item_entity_enable_shadow(ItemEntity* itemEntity) { Shadow* shadow; - itemEntity->flags &= ~ENTITY_FLAGS_CONTINUOUS_COLLISION; + itemEntity->flags &= ~ITEM_ENTITY_FLAGS_40; if (itemEntity->shadowIndex >= 0) { shadow = get_shadow_by_index(itemEntity->shadowIndex); shadow->flags &= ~SHADOW_FLAGS_HIDDEN; @@ -171,8 +309,263 @@ void init_item_entity_list(void) { INCLUDE_ASM(s32, "C50A0", item_entity_load); -INCLUDE_ASM(s32, "C50A0", make_item_entity, s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, - s32 facingAngleSign, s32 pickupVar); +s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 facingAngleSign, s32 pickupVar) { + s32 i; + s32 id; + ItemEntity* itemEntity; + f32 hitDepth; + Shadow* shadow; + + if (pickupVar <= -120000000) { + pickupVar = pickupVar + 130000000; + } + + if (pickupVar > 0) { + switch (itemSpawnMode) { + case ITEM_SPAWN_MODE_NOTHING: + case ITEM_SPAWN_MODE_TOSS_NEVER_VANISH: + case ITEM_SPAWN_MODE_TOSS: + case ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE: + case ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE_NEVER_VANISH: + case ITEM_SPAWN_MODE_ITEM_BLOCK_ITEM: + case ITEM_SPAWN_MODE_ITEM_BLOCK_BADGE: + case ITEM_SPAWN_MODE_FALL_NEVER_VANISH: + case ITEM_SPAWN_MODE_FALL: + case ITEM_SPAWN_MODE_FALL_SPAWN_ONCE: + case ITEM_SPAWN_MODE_FIXED_NEVER_VANISH: + case ITEM_SPAWN_MODE_FIXED: + case ITEM_SPAWN_MODE_ITEM_BLOCK_COIN: + case ITEM_SPAWN_MODE_TOSS_HIGHER_NEVER_VANISH: + if (get_global_flag(pickupVar) != 0) { + return -1; + } + break; + } + } + + for (i = 0; i < MAX_ITEM_ENTITIES; i++) { + if (gCurrentItemEntities[i] == NULL) { + break; + } + } + + ASSERT(i < MAX_ITEM_ENTITIES); + + id = i; + gCurrentItemEntities[id] = itemEntity = heap_malloc(sizeof(*itemEntity)); + ItemEntitiesCreated++; + ASSERT(itemEntity != NULL); + + itemEntity->renderGroup = ((u32)itemID >> 0x10) & 0xF; + if (itemEntity->renderGroup == 5) { + itemEntity->renderGroup = -1; + } + + itemEntity->spawnType = itemSpawnMode; + itemEntity->state = 0; + itemEntity->position.x = x; + itemEntity->position.y = y; + itemEntity->position.z = z; + + itemID &= 0xFFFF; + + itemEntity->flags = ITEM_ENTITY_FLAGS_80 | ITEM_ENTITY_FLAGS_10 | ITEM_ENTITY_FLAGS_CAM2 | ITEM_ENTITY_FLAGS_CAM1 | ITEM_ENTITY_FLAGS_CAM0; + itemEntity->pickupMsgFlags = 0; + itemEntity->boundVar = pickupVar; + itemEntity->itemID = itemID; + itemEntity->physicsData = NULL; + itemEntity->pickupDelay = pickupDelay; + itemEntity->scale = 1.0f; + itemEntity->wsFaceAngle = facingAngleSign; + itemEntity->shadowIndex = -1; + itemEntity->nextUpdate = 1; + itemEntity->unk_34.x = -9999; + itemEntity->unk_34.y = -9999; + itemEntity->unk_34.z = -9999; + D_801565A6 = 30; + + itemEntity->flags |= ITEM_ENTITY_FLAGS_TINY; + if (gItemTable[itemID].typeFlags & ITEM_TYPE_FLAG_ENTITY_FULLSIZE) { + itemEntity->flags |= ITEM_ENTITY_FLAGS_40000; + itemEntity->flags &= ~ITEM_ENTITY_FLAGS_TINY; + } + + if (ItemEntityAlternatingSpawn != 0) { + itemEntity->flags |= ITEM_ENTITY_FLAGS_20000; + } + + ItemEntityAlternatingSpawn = 1 - ItemEntityAlternatingSpawn; + + switch (itemEntity->spawnType) { + case ITEM_SPAWN_MODE_NOTHING: + itemEntity->flags |= ITEM_ENTITY_FLAGS_80000000; + break; + case ITEM_SPAWN_MODE_DECORATION: + case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000; + break; + case ITEM_SPAWN_MODE_INVISIBLE: + itemEntity->flags |= ITEM_ENTITY_FLAGS_100000; + break; + case ITEM_SPAWN_MODE_BATTLE_REWARD: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000; + itemEntity->flags |= ITEM_ENTITY_FLAGS_10000; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_TOSS_NEVER_VANISH: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_400 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_TOSS: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_400; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_800; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE_NEVER_VANISH: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_800 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_NEVER_VANISH: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_ITEM_BLOCK_ITEM: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_400; + itemEntity->flags |= ITEM_ENTITY_FLAGS_40000000; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_ITEM_BLOCK_BADGE: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_400; + itemEntity->flags |= ITEM_ENTITY_FLAGS_40000000 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000; + break; + case ITEM_SPAWN_MODE_FALL_NEVER_VANISH: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_400 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_FALL: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_400; + itemEntity->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_FALL_SPAWN_ONCE: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_800; + itemEntity->spawnType = ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_FIXED; + itemEntity->flags |= ITEM_ENTITY_FLAGS_10000000; + break; + case ITEM_SPAWN_MODE_FIXED_NEVER_VANISH: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_FIXED | ITEM_ENTITY_FLAGS_400 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->flags |= ITEM_ENTITY_FLAGS_10000000; + itemEntity->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_FIXED: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_FIXED | ITEM_ENTITY_FLAGS_400; + itemEntity->flags |= ITEM_ENTITY_FLAGS_10000000; + itemEntity->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS_NEVER_VANISH: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_FIXED | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->flags |= ITEM_ENTITY_FLAGS_10000000; + itemEntity->spawnType = ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS; + break; + case ITEM_SPAWN_MODE_TOSS_FADE1: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_1000; + itemEntity->scale = 0.8f; + itemEntity->flags |= ITEM_ENTITY_FLAGS_TINY; + break; + case ITEM_SPAWN_MODE_TOSS_FADE2: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_1000; + itemEntity->flags |= ITEM_ENTITY_FLAGS_10000; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_FADE1; + itemEntity->scale = 0.8f; + itemEntity->flags |= ITEM_ENTITY_FLAGS_TINY; + break; + case ITEM_SPAWN_MODE_TOSS_FADE3: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_1000; + itemEntity->flags |= ITEM_ENTITY_FLAGS_400000; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_FADE1; + itemEntity->scale = 0.8f; + itemEntity->flags |= ITEM_ENTITY_FLAGS_TINY; + break; + case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_SMALL: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000; + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + itemEntity->scale = 0.8f; + itemEntity->flags |= ITEM_ENTITY_FLAGS_TINY; + break; + case ITEM_SPAWN_MODE_UNKNOWN_1B: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_8000; + itemEntity->spawnType = ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS; + itemEntity->scale = 0.8f; + itemEntity->flags |= ITEM_ENTITY_FLAGS_TINY; + break; + case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_8000 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + break; + case ITEM_SPAWN_MODE_ITEM_BLOCK_COIN: + itemEntity->spawnType = ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS; + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_8000 | ITEM_ENTITY_FLAGS_400 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + break; + case ITEM_SPAWN_MODE_TOSS_HIGHER_NEVER_VANISH: + itemEntity->spawnType = ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS; + itemEntity->flags |= ITEM_ENTITY_FLAGS_800000 | ITEM_ENTITY_FLAGS_400 | ITEM_ENTITY_FLAGS_NEVER_VANISH; + itemEntity->flags |= ITEM_ENTITY_FLAGS_1000000; + break; + } + + switch (itemEntity->spawnType) { + case ITEM_SPAWN_MODE_NOTHING: + case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: + case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: + case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: + case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: + itemEntity->shadowIndex = create_shadow_type(0, itemEntity->position.x, itemEntity->position.y, itemEntity->position.z); + shadow = get_shadow_by_index(itemEntity->shadowIndex); + + if (itemEntity->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { + shadow->flags |= SHADOW_FLAGS_HIDDEN; + } + + x = itemEntity->position.x; + y = itemEntity->position.y + 12.0f; + z = itemEntity->position.z; + hitDepth = 1000.0f; + npc_raycast_down_sides(0x20000, &x, &y, &z, &hitDepth); + shadow->position.x = x; + shadow->position.y = y; + shadow->position.z = z; + shadow->rotation.x = gGameStatusPtr->playerGroundTraceAngles.x; + shadow->rotation.y = 0.0f; + shadow->rotation.z = gGameStatusPtr->playerGroundTraceAngles.z; + set_standard_shadow_scale(shadow, hitDepth * 0.5f); + break; + } + + if (itemEntity->pickupDelay != 0) { + item_entity_disable_shadow(itemEntity); + } + + item_entity_load(itemEntity); + + if (itemEntity->itemID == ITEM_COIN) { + sparkle_script_init(itemEntity, SparkleScript_Coin); + sparkle_script_update(itemEntity); + } + + if (itemEntity->itemID == ITEM_STAR_PIECE) { + itemEntity->flags &= ~ITEM_ENTITY_FLAGS_80; + } + + return id; +} s32 make_item_entity_nodelay(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupVar) { return make_item_entity(itemID, x, y, z, itemSpawnMode, 0, -1, pickupVar); @@ -259,12 +652,15 @@ s32 make_item_entity_at_player(s32 itemID, s32 arg1, s32 pickupMsgFlags) { item_entity_load(item); if (item->itemID == ITEM_COIN) { - sparkle_script_init(item, &SparkleScript_Coin); + sparkle_script_init(item, SparkleScript_Coin); sparkle_script_update(item); } return id; } +//TODO remove this +static const f32 rodata_padding_2 = 0.0f; + INCLUDE_ASM(s32, "C50A0", item_entity_update); void update_item_entities(void) { @@ -281,7 +677,7 @@ void update_item_entities(void) { if (entity != NULL && entity->flags != 0) { if (entity->itemID == ITEM_COIN) { if (rand_int(100) > 90) { - sparkle_script_init(entity, &SparkleScript_Coin); + sparkle_script_init(entity, SparkleScript_Coin); D_80155D8C = rand_int(16) - 8; D_80155D8E = rand_int(16) - 8; D_80155D90 = 5; @@ -398,11 +794,11 @@ void draw_item_entities_UI(void) { if (itemEntity != NULL && itemEntity->flags != 0) { switch (itemEntity->spawnType) { case ITEM_SPAWN_MODE_NOTHING: - func_801356C4(); + func_801356C4(itemEntity); break; case ITEM_SPAWN_MODE_DECORATION: case ITEM_SPAWN_MODE_INVISIBLE: - func_801356D4(); + func_801356D4(itemEntity); break; case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: @@ -476,12 +872,12 @@ void func_80133A94(s32 idx, s32 itemID) { item->itemID = itemID; - item->flags |= ENTITY_FLAGS_4000; - item->flags &= ~ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2; + item->flags |= ITEM_ENTITY_FLAGS_TINY; + item->flags &= ~ITEM_ENTITY_FLAGS_40000; if (gItemTable[itemID].typeFlags & ITEM_TYPE_FLAG_ENTITY_FULLSIZE) { - item->flags |= ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2; - item->flags &= ~ENTITY_FLAGS_4000; + item->flags |= ITEM_ENTITY_FLAGS_40000; + item->flags &= ~ITEM_ENTITY_FLAGS_TINY; } item_entity_load(item); @@ -511,19 +907,19 @@ s32 test_item_entity_position(f32 x, f32 y, f32 z, f32 dist) { continue; } - if (item->spawnType == ENTITY_TYPE_SHADOW) { + if (item->spawnType == ITEM_SPAWN_MODE_DECORATION) { continue; } - if (item->spawnType == ENTITY_TYPE_2) { + if (item->spawnType == ITEM_SPAWN_MODE_INVISIBLE) { continue; } - if (item->flags & ENTITY_FLAGS_CONTINUOUS_COLLISION) { + if (item->flags & ITEM_ENTITY_FLAGS_40) { continue; } - if (item->flags & ENTITY_FLAGS_200000) { + if (item->flags & ITEM_ENTITY_FLAGS_200000) { continue; } @@ -541,7 +937,7 @@ void set_item_entity_flags(s32 index, s32 flags) { ItemEntity* itemEntity = gCurrentItemEntities[index]; itemEntity->flags |= flags; - if (itemEntity->flags & ENTITY_FLAGS_200000) { + if (itemEntity->flags & ITEM_ENTITY_FLAGS_200000) { D_801565A8 = 1; } } @@ -555,7 +951,7 @@ void clear_item_entity_flags(s32 index, s32 flags) { void func_801341B0(s32 index) { ItemEntity* itemEntity = gCurrentItemEntities[index]; gOverrideFlags |= GLOBAL_OVERRIDES_40; - itemEntity->flags |= ENTITY_FLAGS_100; + itemEntity->flags |= ITEM_ENTITY_FLAGS_100; } /// @returns TRUE when "you got X" popup is on-screen @@ -620,22 +1016,190 @@ void update_item_entity_static(ItemEntity* itemEntity) { } } -void func_801356C4(void) { +void func_801356C4(ItemEntity* itemEntity) { } void func_801356CC(ItemEntity* itemEntity) { } -void func_801356D4(void) { +void func_801356D4(ItemEntity* itemEntity) { } INCLUDE_ASM(s32, "C50A0", update_item_entity_temp); + +#ifdef NON_EQUIVALENT +void func_801363A0(ItemEntity* itemEntity) { + ItemData* itemData = &gItemTable[itemEntity->itemID]; + s32 itemMsg; + s32 offsetY; + s32 s1; + s32 temp; + s32 s3; + s32 temp2; + s32 v1; + + switch (itemEntity->state) { + case 2: + case 10: + if (!(itemData->typeFlags & ITEM_TYPE_FLAG_BADGE)) { + if (!(itemEntity->flags & ITEM_ENTITY_FLAGS_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + itemMsg = MESSAGE_ID(0x1D, 0x058); + } else { + itemMsg = MESSAGE_ID(0x1D, 0x05A); + } + + if (itemEntity->pickupMsgFlags & 0x10) { + itemMsg = MESSAGE_ID(0x1D, 0x05D); + } + if (itemEntity->pickupMsgFlags & 0x20) { + itemMsg = MESSAGE_ID(0x1D, 0x05E); + } + if (itemEntity->pickupMsgFlags & 0x40) { + itemMsg = MESSAGE_ID(0x1D, 0x05C); + } + + set_message_msg(itemData->nameMsg, 0); + + if (!(gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) && + itemEntity->itemID != ITEM_STAR_PIECE && + !(gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) && + !(itemEntity->pickupMsgFlags & 0x30)) { + offsetY = get_msg_width(itemMsg, 0) + 54; + } else { + offsetY = get_msg_width(itemMsg, 0) + 30; + } + s1 = 160 - offsetY / 2; + s3 = 0x4C; + } else { + if (!(itemEntity->flags & ITEM_ENTITY_FLAGS_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + itemMsg = MESSAGE_ID(0x1D, 0x059); + } else { + itemMsg = MESSAGE_ID(0x1D, 0x05B); + } + + if (itemEntity->pickupMsgFlags & 0x10) { + itemMsg = MESSAGE_ID(0x1D, 0x05D); + } + if (itemEntity->pickupMsgFlags & 0x20) { + itemMsg = MESSAGE_ID(0x1D, 0x05E); + } + if (itemEntity->pickupMsgFlags & 0x40) { + itemMsg = MESSAGE_ID(0x1D, 0x05C); + } + + set_message_msg(itemData->nameMsg, 0); + offsetY = get_msg_width(itemMsg, 0) + 30; + s1 = 160 - offsetY / 2; + s3 = 0x4C; + } + temp2 = D_8014C6E0[get_msg_lines(itemMsg) - 1]; + if (itemEntity->state != 2) { + temp = 0x1C; + } else { + temp = 0; + } + if (gItemTable[itemEntity->itemID].typeFlags) { + set_window_properties(0xC, s1, s3 - 0x18 + temp, offsetY, + temp2, 0, func_8013673C, itemEntity, -1); + } else { + set_window_properties(0xC, s1, s3 - 0x18 + temp, offsetY, + temp2, 0, func_8013673C, itemEntity, -1); + } + if (itemEntity->itemID != ITEM_STAR_PIECE && itemEntity->itemID != ITEM_COIN) { + set_window_properties(0x13, 0x14, 0xBA, 0x118, 0x20, NULL, func_80136A08, itemEntity, -1); + } + if (itemEntity->state != 2) { + offsetY = get_msg_width(MESSAGE_ID(0x1D, 0x060), 0) + 0x18; + set_window_properties(0x11, 160 - offsetY / 2, 0x24, offsetY, 40, NULL, func_801369D0, itemEntity, -1); + } + break; + case 12: + set_message_msg(itemData->nameMsg, 0); + offsetY = get_msg_width(MESSAGE_ID(0x1D, 0x05F), 0) + 0x36; + set_window_properties(0xC, 160 - offsetY / 2, 0x4C, offsetY, 40, NULL, func_8013673C, itemEntity, -1); + break; + } +} +#else INCLUDE_ASM(s32, "C50A0", func_801363A0); +#endif -INCLUDE_ASM(s32, "C50A0", func_8013673C); +void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY) { + ItemData* itemData = &gItemTable[itemEntity->itemID]; + s32 itemMsg; + s32 offsetY; -void func_801369D0(s32 arg1, s32 x, s32 y) { + switch (itemEntity->state) { + case 2: + case 3: + case 10: + case 11: + if (!(itemData->typeFlags & ITEM_TYPE_FLAG_BADGE)) { + if (!(itemEntity->flags & ITEM_ENTITY_FLAGS_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + itemMsg = MESSAGE_ID(0x1D, 0x058); + } else { + itemMsg = MESSAGE_ID(0x1D, 0x05A); + } + set_message_msg(itemData->nameMsg, 0); + + if (itemEntity->pickupMsgFlags & 0x10) { + itemMsg = MESSAGE_ID(0x1D, 0x05D); + } + if (itemEntity->pickupMsgFlags & 0x20) { + itemMsg = MESSAGE_ID(0x1D, 0x05E); + } + if (itemEntity->pickupMsgFlags & 0x40) { + itemMsg = MESSAGE_ID(0x1D, 0x05C); + } + } else { + if (!(itemEntity->flags & ITEM_ENTITY_FLAGS_4000000) || (itemEntity->pickupMsgFlags & 0x4)) { + itemMsg = MESSAGE_ID(0x1D, 0x059); + } else { + itemMsg = MESSAGE_ID(0x1D, 0x05B); + } + + if (itemEntity->pickupMsgFlags & 0x10) { + itemMsg = MESSAGE_ID(0x1D, 0x05D); + } + if (itemEntity->pickupMsgFlags & 0x20) { + itemMsg = MESSAGE_ID(0x1D, 0x05E); + } + if (itemEntity->pickupMsgFlags & 0x40) { + itemMsg = MESSAGE_ID(0x1D, 0x05C); + } + + set_message_msg(itemData->nameMsg, 0); + } + + offsetY = D_8014C6E4[get_msg_lines(itemMsg) - 1]; + + if ((gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_BADGE) || + (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_KEY) || + itemEntity->itemID == ITEM_STAR_PIECE || + (gItemTable[itemEntity->itemID].typeFlags & ITEM_TYPE_FLAG_GEAR) || + (itemEntity->pickupMsgFlags & 0x30)) { + + draw_msg(itemMsg, posX + 15, posY + offsetY, 255, 47, 0); + } else { + draw_msg(itemMsg, posX + 40, posY + offsetY, 255, 47, 0); + if (!(itemEntity->pickupMsgFlags & 0x30)) { + hud_element_set_render_pos(D_801568E0, posX + 20, posY + 20); + hud_element_draw_next(D_801568E0); + } + } + break; + case 13: + case 14: + set_message_msg(gItemTable[D_801568EC].nameMsg, 0); + draw_msg(MESSAGE_ID(0x1D, 0x05F), posX + 40, posY + 4, 255, 47, 0); + hud_element_set_render_pos(D_801568E0, posX + 20, posY + 20); + hud_element_draw_next(D_801568E0); + break; + } +} + +void func_801369D0(ItemEntity* itemEntity, s32 x, s32 y) { draw_msg(MESSAGE_ID(0x1D,0x060), x + 12, y + 4, 255, 52, 0); } @@ -653,3 +1217,6 @@ void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY) { break; } } + +// TODO remove this +static const f32 rodata_padding[] = { 0.0f, 0.0f }; diff --git a/src/E225B0.c b/src/E225B0.c index 0e4f38e437..42ab33e5bf 100644 --- a/src/E225B0.c +++ b/src/E225B0.c @@ -14,32 +14,21 @@ typedef struct struct802B7C78 { /* 0x28 */ s32 unk_28; } struct802B7C78; -typedef struct UnknownCommand { - /* 0x00 */ Matrix4f* unk_00; - /* 0x04 */ Matrix4f* unk_04; - /* 0x08 */ s16 unk_08; - /* 0x0A */ s16 unk_0A; - /* 0x0C */ s16 unk_0C; - /* 0x0E */ s16 unk_0E; - /* 0x10 */ u8 unk_10; -} UnknownCommand; - -extern Matrix4f D_802B7580_E22B30; -extern Matrix4f D_802B7BA0_E23150; -extern Matrix4f D_802B7BC0_E23170; -extern Matrix4f D_802B7BE0_E23190; +extern u8 D_802B7580_E22B30[]; +extern u8 D_802B7BA0_E23150[]; +extern u8 D_802B7BC0_E23170[]; +extern u8 D_802B7BE0_E23190[]; extern Gfx D_802B7C00_E231B0[]; extern void (*D_8010C93C)(void); extern struct802B7C78* D_802B7C78_E23228; -void fold_appendGfx_component(s32, UnknownCommand*, s32, Matrix4f*); void func_802B735C_E2290C(void); void func_802B7000_E225B0(void) { Matrix4f matrix1; Matrix4f matrix2; - UnknownCommand command; + FoldImageRecPart foldImage; Gfx* oldMasterGfxPos; f32 scale; @@ -72,31 +61,31 @@ void func_802B7000_E225B0(void) { case 1: case 2: case 3: - command.unk_04 = &D_802B7BA0_E23150; + foldImage.palette = D_802B7BA0_E23150; break; case 4: case 5: case 6: case 7: - command.unk_04 = &D_802B7BC0_E23170; + foldImage.palette = D_802B7BC0_E23170; break; case 8: case 9: case 10: case 11: - command.unk_04 = &D_802B7BE0_E23190; + foldImage.palette = D_802B7BE0_E23190; break; } fold_update(0, 7, 0xFF, 0xFF, 0xFF, D_802B7C78_E23228->unk_28, 0); - command.unk_00 = &D_802B7580_E22B30; - command.unk_08 = 0x38; - command.unk_0A = 0x38; - command.unk_0C = -0x1C; - command.unk_0E = 0x2E; - command.unk_10 = 0xFF; + foldImage.raster = D_802B7580_E22B30; + foldImage.width = 56; + foldImage.height = 56; + foldImage.xOffset = -28; + foldImage.yOffset = 46; + foldImage.unk_10 = 255; - fold_appendGfx_component(0, &command, 0, &matrix2); + fold_appendGfx_component(0, &foldImage, 0, matrix2); gSPPopMatrix(gMasterGfxPos++, 0); } } diff --git a/src/d0a70_len_4fe0.c b/src/d0a70_len_4fe0.c index fb185c75ce..5bf0917399 100644 --- a/src/d0a70_len_4fe0.c +++ b/src/d0a70_len_4fe0.c @@ -87,29 +87,7 @@ FoldImageRec* fold_currentImage = &D_80156920; u16 fold_vtxCount = 0; -Lights2 D_8014EE18 = { - .a = { - .l = { - .col = { 144, 144, 144 }, - .colc = { 144, 144, 144 }, - } - }, - .l = { - { - .l = { - .col = { 255, 255, 255 }, - .colc = { 255, 255, 255 }, - .dir = { 0, 0, 120}, - } - }, { - .l = { - .col = { 255, 255, 255 }, - .colc = { 255, 255, 255 }, - .dir = { 0, 0, 136 }, - } - } - } -}; +Lights2 D_8014EE18 = gdSPDefLights2(144, 144, 144, 255, 255, 255, 0, 0, 120, 255, 255, 255, 0, 0, 136); Vp D_8014EE40 = { .vp = { @@ -635,7 +613,7 @@ void fold_set_state_flags(s32 idx, u16 flagBits, s32 mode) { } } -s32 fold_appendGfx_component(s32 idx, FoldImageRec* image, u32 flagBits, Matrix4f mtx) { +s32 fold_appendGfx_component(s32 idx, FoldImageRecPart* image, u32 flagBits, Matrix4f mtx) { FoldState* state = &(*D_80156954)[idx]; s32 ret = 0; diff --git a/src/hud_element.c b/src/hud_element.c index ba8205ac9d..595382d0d9 100644 --- a/src/hud_element.c +++ b/src/hud_element.c @@ -123,7 +123,6 @@ extern u8* gHudElementCacheBufferWorld; extern u8* gHudElementCacheBufferBattle; extern u8* gHudElementCacheBuffer; -s32 fold_appendGfx_component(s32 idx, FoldImageRecPart* image, u32 flagBits, Matrix4f mtx); void func_801413F8(void); void hud_element_load_script(HudElement* hudElement, HudScript* anim) { @@ -1658,9 +1657,7 @@ void render_hud_elements_world(void) { gDPPipeSync(gMasterGfxPos++); gSPClearGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH); gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_LIGHTING | G_SHADING_SMOOTH); - gSPNumLights(gMasterGfxPos++, 1); - gSPLight(gMasterGfxPos++, &D_8014F108.l, 1); - gSPLight(gMasterGfxPos++, &D_8014F108.a, 2); + gSPSetLights1(gMasterGfxPos++, D_8014F108); gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON); gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE); gSPSetOtherMode(gMasterGfxPos++, G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 18, G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE); @@ -1708,9 +1705,7 @@ void render_hud_elements_world(void) { gDPPipeSync(gMasterGfxPos++); gSPClearGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH); gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_LIGHTING | G_SHADING_SMOOTH); - gSPNumLights(gMasterGfxPos++, 1); - gSPLight(gMasterGfxPos++, &D_8014F108.l, 1); - gSPLight(gMasterGfxPos++, &D_8014F108.a, 2); + gSPSetLights1(gMasterGfxPos++, D_8014F108); gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON); gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE); gSPSetOtherMode(gMasterGfxPos++, G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 18, G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE); diff --git a/src/main.c b/src/main.c index c340d1e147..4e3582150c 100644 --- a/src/main.c +++ b/src/main.c @@ -7,6 +7,9 @@ void gfxRetrace_Callback(s32); void gfxPreNMI_Callback(void); void gfx_task_main(void); +void gfx_draw_frame(void); +void gfx_init_state(void); + // TODO: name these symbols the same, this is just a shift #ifdef VERSION_US extern s32 D_80073E00; @@ -16,7 +19,7 @@ extern s32 D_80073DE0; extern u16* D_80073E04; extern s16 D_80073E08; extern s16 D_80073E0A; -extern s32 D_80073E10; +extern s32 D_80073E10[]; extern u16* D_8009A680; extern OSViMode _osViModeNtscLan1; extern OSViMode _osViModeMPalLan1; @@ -105,21 +108,12 @@ void gfxRetrace_Callback(s32 arg0) { INCLUDE_ASM(s32, "main", gfxRetrace_Callback); #endif -// the loops & gSPTextureRectangle -#ifdef NON_EQUIVALENT +#ifdef VERSION_US void gfx_task_main(void) { - u16 t; - s32 temp_a0_3; - s32 temp_a1_3; - s32 temp_a2; - s32 temp_a3_2; - s32 temp_s0_3; - s32 temp_s1_2; - s32 temp_s3; - s32 temp_t7; + s16 t; s16 i; s16 j; - s32* temp; + u16* temp; gMatrixListPos = 0; gDisplayContext = &D_80164000[gCurrentDisplayContextIndex]; @@ -139,43 +133,54 @@ void gfx_task_main(void) { gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, 0, 0, 0, 0, TEXEL0, 0, 0, 0, 0, 0, 0, 0, TEXEL0); gDPSetAlphaCompare(gMasterGfxPos++, G_AC_THRESHOLD); gDPSetBlendColor(gMasterGfxPos++, 0, 0, 0, 127); - gDPLoadTextureTile_4b(gMasterGfxPos++, &D_80073E10, G_IM_FMT_I, 128, 0, 0, 0, 127, 7, 0, G_TX_NOMIRROR | G_TX_WRAP, + gDPLoadTextureTile_4b(gMasterGfxPos++, D_80073E10, G_IM_FMT_I, 128, 8, 0, 0, 127, 7, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); for (i = 0; i < 20; i++) { - temp_s3 = ((i * 8) + 168) * 4; - temp_s1_2 = ((i * 8) + 160) * 4; - temp_s0_3 = (160 - (i * 8)) * 4; - temp_t7 = (152 - (i * 8)) * 4; - for (j = 0; j < 15; j++) { - t = (33 - ((i + 14) - j)) / 2 - (D_80074010 - 15); - if (t < 16 && t >= 0) { - temp_a0_3 = ((j * 8) + 8) * 4; - temp_a3_2 = ((j * 8) - 8) * 4; - temp_a1_3 = (SCREEN_HEIGHT - (j * 8)) * 4; - temp_a2 = (232 - (j * 8)) * 4; - - gSPTextureRectangle(gMasterGfxPos++, temp_s3, temp_a0_3, temp_s1_2, temp_a3_2, 4, -0x2000, t, 0x0400, 0x0400); - gSPTextureRectangle(gMasterGfxPos++, temp_s3, temp_a1_3, temp_s1_2, temp_a2, 4, -0x2000, t, 0x0400, -0x0400); - gSPTextureRectangle(gMasterGfxPos++, temp_s0_3, temp_a0_3, temp_t7, temp_a3_2, 4, -0x2000, t, -0x0400, 0x0400); - gSPTextureRectangle(gMasterGfxPos++, temp_s0_3, temp_a1_3, temp_t7, temp_a2, 4, -0x2000, t, -0x0400, -0x0400); + s32 s4 = i + 14; + t = (33 - (s4 - j)) / 2 + 15 - D_80074010; + if (t >= 16) { + continue; } + if (t < 0) { + continue; + } + gSPTextureRectangle(gMasterGfxPos++, ((i * 8) + 160) * 4, + ((j * 8)) * 4, + ((i * 8) + 168) * 4, + ((j * 8) + 8) * 4, + G_TX_RENDERTILE, + (t * 8) * 32, 0, 0x0400, 0x0400); + gSPTextureRectangle(gMasterGfxPos++, ((i * 8) + 160) * 4, + (232 - (j * 8)) * 4, + ((i * 8) + 168) * 4, + (240 - (j * 8)) * 4, + G_TX_RENDERTILE, + (t * 8) * 32, 7 * 32, 0x0400, -0x0400); + gSPTextureRectangle(gMasterGfxPos++, (152 - (i * 8)) * 4, + ((j * 8)) * 4, + (160 - (i * 8)) * 4, + ((j * 8) + 8) * 4, + G_TX_RENDERTILE, + (t * 8 + 7) * 32, 0, -0x0400, 0x0400); + gSPTextureRectangle(gMasterGfxPos++, (152 - (i * 8)) * 4, + (232 - (j * 8)) * 4, + (160 - (i * 8)) * 4, + (240 - (j * 8)) * 4, + G_TX_RENDERTILE, + (t * 8 + 7) * 32, 7 * 32, -0x0400, -0x0400); } } D_80074010++; gDPFullSync(gMasterGfxPos++); gSPEndDisplayList(gMasterGfxPos++); - nuGfxTaskStart(gDisplayContext->mainGfx, (u32)(gMasterGfxPos - gDisplayContext->mainGfx) * 8, 0, 0x40000); + nuGfxTaskStart(gDisplayContext->mainGfx, (u32)(gMasterGfxPos - gDisplayContext->mainGfx) * 8, NU_GFX_UCODE_F3DEX, NU_SC_TASK_LODABLE); gCurrentDisplayContextIndex ^= 1; } #else - #ifdef VERSION_US -INCLUDE_ASM(void, "main", gfx_task_main); - #else INCLUDE_ASM(s32, "main", func_80026148); - #endif #endif void gfxPreNMI_Callback(void) { diff --git a/src/state_title_screen.c b/src/state_title_screen.c index 1ebfc2e712..4dd934354e 100644 --- a/src/state_title_screen.c +++ b/src/state_title_screen.c @@ -27,23 +27,7 @@ s32 D_80077A2C = 0; s32 D_80077A30 = 0; s32 D_80077A34[1] = {0}; -Lights1 D_80077A38 = { - .a = { - .l = { - .col = {255, 255, 255}, - .colc = {255, 255, 255}, - }, - }, - .l = { - { - .l = { - .col = {0, 0, 0}, - .colc = {0, 0, 0}, - .dir = {0, 0, 0}, - } - } - } -}; +Lights1 D_80077A38 = gdSPDefLights1(255, 255, 255, 0, 0, 0, 0, 0, 0); Gfx D_80077A50[] = { gsDPPipeSync(), diff --git a/ver/us/asm/data/E2CA0.data.s b/ver/us/asm/data/E2CA0.data.s deleted file mode 100644 index 3d9bbb509d..0000000000 --- a/ver/us/asm/data/E2CA0.data.s +++ /dev/null @@ -1,27 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_8014C5A0 -.word 0xFFF40000, 0x00000000, 0x23002300, 0x000000FF, 0x000B0000, 0x00000000, 0x20002300, 0x000000FF, 0x000B0017, 0x00000000, 0x20002000, 0x000000FF, 0xFFF40017, 0x00000000, 0x23002000, 0x000000FF - -dlabel D_8014C5E0 -.word 0xFFF00000, 0x00000000, 0x24002400, 0x000000FF, 0x000F0000, 0x00000000, 0x20002400, 0x000000FF, 0x000F001F, 0x00000000, 0x20002000, 0x000000FF, 0xFFF0001F, 0x00000000, 0x24002000, 0x000000FF - -dlabel D_8014C620 -.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFCFFFFFF, 0xFFFCF279, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xDF000000, 0x00000000 - -dlabel D_8014C678 -.word 0xD9DDFBFF, 0x00000000, 0x01004008, D_8014C5A0, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000 - -dlabel D_8014C6A0 -.word 0xD9DDFBFF, 0x00000000, 0x01004008, D_8014C5E0, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000, 0xFFFFFF00, 0xFFFFFF00 - -dlabel D_8014C6D0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8014C6E0 -.short 0x0020, 0x0028 - -dlabel D_8014C6E4 -.short 0x0008, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000 diff --git a/ver/us/asm/nonmatchings/8800/set_cam_viewport.s b/ver/us/asm/nonmatchings/8800/set_cam_viewport.s deleted file mode 100644 index 5d07597e12..0000000000 --- a/ver/us/asm/nonmatchings/8800/set_cam_viewport.s +++ /dev/null @@ -1,121 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel set_cam_viewport -/* 9714 8002E314 3C08800B */ lui $t0, %hi(gCameras) -/* 9718 8002E318 25081D80 */ addiu $t0, $t0, %lo(gCameras) -/* 971C 8002E31C 00042400 */ sll $a0, $a0, 0x10 -/* 9720 8002E320 00042403 */ sra $a0, $a0, 0x10 -/* 9724 8002E324 00041880 */ sll $v1, $a0, 2 -/* 9728 8002E328 00641821 */ addu $v1, $v1, $a0 -/* 972C 8002E32C 00031880 */ sll $v1, $v1, 2 -/* 9730 8002E330 00641823 */ subu $v1, $v1, $a0 -/* 9734 8002E334 000310C0 */ sll $v0, $v1, 3 -/* 9738 8002E338 00621821 */ addu $v1, $v1, $v0 -/* 973C 8002E33C 000318C0 */ sll $v1, $v1, 3 -/* 9740 8002E340 00681821 */ addu $v1, $v1, $t0 -/* 9744 8002E344 A467000A */ sh $a3, 0xa($v1) -/* 9748 8002E348 A465000E */ sh $a1, 0xe($v1) -/* 974C 8002E34C 00E0282D */ daddu $a1, $a3, $zero -/* 9750 8002E350 A4660010 */ sh $a2, 0x10($v1) -/* 9754 8002E354 8FA40010 */ lw $a0, 0x10($sp) -/* 9758 8002E358 240201FF */ addiu $v0, $zero, 0x1ff -/* 975C 8002E35C A46200A4 */ sh $v0, 0xa4($v1) -/* 9760 8002E360 A46200AC */ sh $v0, 0xac($v1) -/* 9764 8002E364 A46200B4 */ sh $v0, 0xb4($v1) -/* 9768 8002E368 9462000E */ lhu $v0, 0xe($v1) -/* 976C 8002E36C 00052C00 */ sll $a1, $a1, 0x10 -/* 9770 8002E370 A46000A6 */ sh $zero, 0xa6($v1) -/* 9774 8002E374 A46000AE */ sh $zero, 0xae($v1) -/* 9778 8002E378 A46000B6 */ sh $zero, 0xb6($v1) -/* 977C 8002E37C A464000C */ sh $a0, 0xc($v1) -/* 9780 8002E380 00052403 */ sra $a0, $a1, 0x10 -/* 9784 8002E384 00052FC2 */ srl $a1, $a1, 0x1f -/* 9788 8002E388 00852021 */ addu $a0, $a0, $a1 -/* 978C 8002E38C 00042043 */ sra $a0, $a0, 1 -/* 9790 8002E390 00441021 */ addu $v0, $v0, $a0 -/* 9794 8002E394 00021400 */ sll $v0, $v0, 0x10 -/* 9798 8002E398 8464000A */ lh $a0, 0xa($v1) -/* 979C 8002E39C 00021383 */ sra $v0, $v0, 0xe -/* 97A0 8002E3A0 A46200A8 */ sh $v0, 0xa8($v1) -/* 97A4 8002E3A4 9462000C */ lhu $v0, 0xc($v1) -/* 97A8 8002E3A8 44840000 */ mtc1 $a0, $f0 -/* 97AC 8002E3AC 00000000 */ nop -/* 97B0 8002E3B0 46800020 */ cvt.s.w $f0, $f0 -/* 97B4 8002E3B4 00021400 */ sll $v0, $v0, 0x10 -/* 97B8 8002E3B8 00022403 */ sra $a0, $v0, 0x10 -/* 97BC 8002E3BC 000217C2 */ srl $v0, $v0, 0x1f -/* 97C0 8002E3C0 00822021 */ addu $a0, $a0, $v0 -/* 97C4 8002E3C4 00C0102D */ daddu $v0, $a2, $zero -/* 97C8 8002E3C8 00042043 */ sra $a0, $a0, 1 -/* 97CC 8002E3CC 00441021 */ addu $v0, $v0, $a0 -/* 97D0 8002E3D0 00021400 */ sll $v0, $v0, 0x10 -/* 97D4 8002E3D4 00021383 */ sra $v0, $v0, 0xe -/* 97D8 8002E3D8 46000000 */ add.s $f0, $f0, $f0 -/* 97DC 8002E3DC A46200AA */ sh $v0, 0xaa($v1) -/* 97E0 8002E3E0 8462000A */ lh $v0, 0xa($v1) -/* 97E4 8002E3E4 4600010D */ trunc.w.s $f4, $f0 -/* 97E8 8002E3E8 44042000 */ mfc1 $a0, $f4 -/* 97EC 8002E3EC 44820000 */ mtc1 $v0, $f0 -/* 97F0 8002E3F0 00000000 */ nop -/* 97F4 8002E3F4 46800020 */ cvt.s.w $f0, $f0 -/* 97F8 8002E3F8 46000000 */ add.s $f0, $f0, $f0 -/* 97FC 8002E3FC 8462000C */ lh $v0, 0xc($v1) -/* 9800 8002E400 3C068007 */ lui $a2, %hi(gGameStatusPtr) -/* 9804 8002E404 8CC6419C */ lw $a2, %lo(gGameStatusPtr)($a2) -/* 9808 8002E408 44821000 */ mtc1 $v0, $f2 -/* 980C 8002E40C 00000000 */ nop -/* 9810 8002E410 468010A0 */ cvt.s.w $f2, $f2 -/* 9814 8002E414 4600010D */ trunc.w.s $f4, $f0 -/* 9818 8002E418 44022000 */ mfc1 $v0, $f4 -/* 981C 8002E41C 00000000 */ nop -/* 9820 8002E420 A46200B0 */ sh $v0, 0xb0($v1) -/* 9824 8002E424 8462000C */ lh $v0, 0xc($v1) -/* 9828 8002E428 46021080 */ add.s $f2, $f2, $f2 -/* 982C 8002E42C A46400A0 */ sh $a0, 0xa0($v1) -/* 9830 8002E430 44820000 */ mtc1 $v0, $f0 -/* 9834 8002E434 00000000 */ nop -/* 9838 8002E438 46800020 */ cvt.s.w $f0, $f0 -/* 983C 8002E43C 46000000 */ add.s $f0, $f0, $f0 -/* 9840 8002E440 4600110D */ trunc.w.s $f4, $f2 -/* 9844 8002E444 44042000 */ mfc1 $a0, $f4 -/* 9848 8002E448 00000000 */ nop -/* 984C 8002E44C A46400A2 */ sh $a0, 0xa2($v1) -/* 9850 8002E450 4600010D */ trunc.w.s $f4, $f0 -/* 9854 8002E454 44022000 */ mfc1 $v0, $f4 -/* 9858 8002E458 00000000 */ nop -/* 985C 8002E45C A46200B2 */ sh $v0, 0xb2($v1) -/* 9860 8002E460 00E0102D */ daddu $v0, $a3, $zero -/* 9864 8002E464 00021400 */ sll $v0, $v0, 0x10 -/* 9868 8002E468 00022403 */ sra $a0, $v0, 0x10 -/* 986C 8002E46C 000217C2 */ srl $v0, $v0, 0x1f -/* 9870 8002E470 00822021 */ addu $a0, $a0, $v0 -/* 9874 8002E474 00042043 */ sra $a0, $a0, 1 -/* 9878 8002E478 90C50082 */ lbu $a1, 0x82($a2) -/* 987C 8002E47C 9462000E */ lhu $v0, 0xe($v1) -/* 9880 8002E480 00052E00 */ sll $a1, $a1, 0x18 -/* 9884 8002E484 00052E03 */ sra $a1, $a1, 0x18 -/* 9888 8002E488 00441021 */ addu $v0, $v0, $a0 -/* 988C 8002E48C 00021400 */ sll $v0, $v0, 0x10 -/* 9890 8002E490 00021383 */ sra $v0, $v0, 0xe -/* 9894 8002E494 00A22821 */ addu $a1, $a1, $v0 -/* 9898 8002E498 A46500B8 */ sh $a1, 0xb8($v1) -/* 989C 8002E49C 90C50083 */ lbu $a1, 0x83($a2) -/* 98A0 8002E4A0 9462000C */ lhu $v0, 0xc($v1) -/* 98A4 8002E4A4 00052E00 */ sll $a1, $a1, 0x18 -/* 98A8 8002E4A8 00052E03 */ sra $a1, $a1, 0x18 -/* 98AC 8002E4AC 00021400 */ sll $v0, $v0, 0x10 -/* 98B0 8002E4B0 00022403 */ sra $a0, $v0, 0x10 -/* 98B4 8002E4B4 000217C2 */ srl $v0, $v0, 0x1f -/* 98B8 8002E4B8 00822021 */ addu $a0, $a0, $v0 -/* 98BC 8002E4BC 94620010 */ lhu $v0, 0x10($v1) -/* 98C0 8002E4C0 00042043 */ sra $a0, $a0, 1 -/* 98C4 8002E4C4 00441021 */ addu $v0, $v0, $a0 -/* 98C8 8002E4C8 00021400 */ sll $v0, $v0, 0x10 -/* 98CC 8002E4CC 00021383 */ sra $v0, $v0, 0xe -/* 98D0 8002E4D0 00A22821 */ addu $a1, $a1, $v0 -/* 98D4 8002E4D4 24020200 */ addiu $v0, $zero, 0x200 -/* 98D8 8002E4D8 A46500BA */ sh $a1, 0xba($v1) -/* 98DC 8002E4DC A46200BC */ sh $v0, 0xbc($v1) -/* 98E0 8002E4E0 03E00008 */ jr $ra -/* 98E4 8002E4E4 A46000BE */ sh $zero, 0xbe($v1) diff --git a/ver/us/asm/nonmatchings/C50A0/draw_ci_image_with_clipping.s b/ver/us/asm/nonmatchings/C50A0/draw_ci_image_with_clipping.s deleted file mode 100644 index b1a46dff10..0000000000 --- a/ver/us/asm/nonmatchings/C50A0/draw_ci_image_with_clipping.s +++ /dev/null @@ -1,201 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel draw_ci_image_with_clipping -/* C50A0 8012E9A0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* C50A4 8012E9A4 AFB10034 */ sw $s1, 0x34($sp) -/* C50A8 8012E9A8 0080882D */ daddu $s1, $a0, $zero -/* C50AC 8012E9AC AFB20038 */ sw $s2, 0x38($sp) -/* C50B0 8012E9B0 00A0902D */ daddu $s2, $a1, $zero -/* C50B4 8012E9B4 AFB3003C */ sw $s3, 0x3c($sp) -/* C50B8 8012E9B8 00C0982D */ daddu $s3, $a2, $zero -/* C50BC 8012E9BC AFB00030 */ sw $s0, 0x30($sp) -/* C50C0 8012E9C0 00E0802D */ daddu $s0, $a3, $zero -/* C50C4 8012E9C4 3C05E300 */ lui $a1, 0xe300 -/* C50C8 8012E9C8 34A50A01 */ ori $a1, $a1, 0xa01 -/* C50CC 8012E9CC 3C06E300 */ lui $a2, 0xe300 -/* C50D0 8012E9D0 34C61201 */ ori $a2, $a2, 0x1201 -/* C50D4 8012E9D4 3C07E300 */ lui $a3, 0xe300 -/* C50D8 8012E9D8 3C09800A */ lui $t1, %hi(gMasterGfxPos) -/* C50DC 8012E9DC 2529A66C */ addiu $t1, $t1, %lo(gMasterGfxPos) -/* C50E0 8012E9E0 34E70C00 */ ori $a3, $a3, 0xc00 -/* C50E4 8012E9E4 3C02E700 */ lui $v0, 0xe700 -/* C50E8 8012E9E8 AFBF0040 */ sw $ra, 0x40($sp) -/* C50EC 8012E9EC 8D280000 */ lw $t0, ($t1) -/* C50F0 8012E9F0 8FB90058 */ lw $t9, 0x58($sp) -/* C50F4 8012E9F4 8FAA005C */ lw $t2, 0x5c($sp) -/* C50F8 8012E9F8 97AB0062 */ lhu $t3, 0x62($sp) -/* C50FC 8012E9FC 97AC0066 */ lhu $t4, 0x66($sp) -/* C5100 8012EA00 97AD006A */ lhu $t5, 0x6a($sp) -/* C5104 8012EA04 97AE006E */ lhu $t6, 0x6e($sp) -/* C5108 8012EA08 97AF0072 */ lhu $t7, 0x72($sp) -/* C510C 8012EA0C 97B80076 */ lhu $t8, 0x76($sp) -/* C5110 8012EA10 93A4007B */ lbu $a0, 0x7b($sp) -/* C5114 8012EA14 0100182D */ daddu $v1, $t0, $zero -/* C5118 8012EA18 25080008 */ addiu $t0, $t0, 8 -/* C511C 8012EA1C AD280000 */ sw $t0, ($t1) -/* C5120 8012EA20 AC620000 */ sw $v0, ($v1) -/* C5124 8012EA24 25020008 */ addiu $v0, $t0, 8 -/* C5128 8012EA28 AC600004 */ sw $zero, 4($v1) -/* C512C 8012EA2C AD220000 */ sw $v0, ($t1) -/* C5130 8012EA30 25020010 */ addiu $v0, $t0, 0x10 -/* C5134 8012EA34 AD050000 */ sw $a1, ($t0) -/* C5138 8012EA38 AD000004 */ sw $zero, 4($t0) -/* C513C 8012EA3C AD220000 */ sw $v0, ($t1) -/* C5140 8012EA40 25020018 */ addiu $v0, $t0, 0x18 -/* C5144 8012EA44 AD060008 */ sw $a2, 8($t0) -/* C5148 8012EA48 AD00000C */ sw $zero, 0xc($t0) -/* C514C 8012EA4C AD220000 */ sw $v0, ($t1) -/* C5150 8012EA50 AD070010 */ sw $a3, 0x10($t0) -/* C5154 8012EA54 308700FF */ andi $a3, $a0, 0xff -/* C5158 8012EA58 240200FF */ addiu $v0, $zero, 0xff -/* C515C 8012EA5C 14E20012 */ bne $a3, $v0, .L8012EAA8 -/* C5160 8012EA60 AD000014 */ sw $zero, 0x14($t0) -/* C5164 8012EA64 3C05E200 */ lui $a1, 0xe200 -/* C5168 8012EA68 34A5001C */ ori $a1, $a1, 0x1c -/* C516C 8012EA6C 3C030F0A */ lui $v1, 0xf0a -/* C5170 8012EA70 34637008 */ ori $v1, $v1, 0x7008 -/* C5174 8012EA74 3C06FCFF */ lui $a2, 0xfcff -/* C5178 8012EA78 34C6FFFF */ ori $a2, $a2, 0xffff -/* C517C 8012EA7C 3C04FFFC */ lui $a0, 0xfffc -/* C5180 8012EA80 3484F279 */ ori $a0, $a0, 0xf279 -/* C5184 8012EA84 25020020 */ addiu $v0, $t0, 0x20 -/* C5188 8012EA88 AD220000 */ sw $v0, ($t1) -/* C518C 8012EA8C 25020028 */ addiu $v0, $t0, 0x28 -/* C5190 8012EA90 AD050018 */ sw $a1, 0x18($t0) -/* C5194 8012EA94 AD03001C */ sw $v1, 0x1c($t0) -/* C5198 8012EA98 AD220000 */ sw $v0, ($t1) -/* C519C 8012EA9C AD060020 */ sw $a2, 0x20($t0) -/* C51A0 8012EAA0 0804BAC2 */ j .L8012EB08 -/* C51A4 8012EAA4 AD040024 */ sw $a0, 0x24($t0) -.L8012EAA8: -/* C51A8 8012EAA8 14E00003 */ bnez $a3, .L8012EAB8 -/* C51AC 8012EAAC 3C05E200 */ lui $a1, 0xe200 -/* C51B0 8012EAB0 0804BB1E */ j .L8012EC78 -/* C51B4 8012EAB4 24020001 */ addiu $v0, $zero, 1 -.L8012EAB8: -/* C51B8 8012EAB8 34A5001C */ ori $a1, $a1, 0x1c -/* C51BC 8012EABC 3C030050 */ lui $v1, 0x50 -/* C51C0 8012EAC0 34634240 */ ori $v1, $v1, 0x4240 -/* C51C4 8012EAC4 3C06FCFF */ lui $a2, 0xfcff -/* C51C8 8012EAC8 34C697FF */ ori $a2, $a2, 0x97ff -/* C51CC 8012EACC 3C04FF2C */ lui $a0, 0xff2c -/* C51D0 8012EAD0 3484FE7F */ ori $a0, $a0, 0xfe7f -/* C51D4 8012EAD4 25020020 */ addiu $v0, $t0, 0x20 -/* C51D8 8012EAD8 AD220000 */ sw $v0, ($t1) -/* C51DC 8012EADC 25020028 */ addiu $v0, $t0, 0x28 -/* C51E0 8012EAE0 AD050018 */ sw $a1, 0x18($t0) -/* C51E4 8012EAE4 AD03001C */ sw $v1, 0x1c($t0) -/* C51E8 8012EAE8 AD220000 */ sw $v0, ($t1) -/* C51EC 8012EAEC 25020030 */ addiu $v0, $t0, 0x30 -/* C51F0 8012EAF0 AD060020 */ sw $a2, 0x20($t0) -/* C51F4 8012EAF4 AD040024 */ sw $a0, 0x24($t0) -/* C51F8 8012EAF8 AD220000 */ sw $v0, ($t1) -/* C51FC 8012EAFC 3C02FA00 */ lui $v0, 0xfa00 -/* C5200 8012EB00 AD020028 */ sw $v0, 0x28($t0) -/* C5204 8012EB04 AD07002C */ sw $a3, 0x2c($t0) -.L8012EB08: -/* C5208 8012EB08 24020002 */ addiu $v0, $zero, 2 -/* C520C 8012EB0C 16020034 */ bne $s0, $v0, .L8012EBE0 -/* C5210 8012EB10 3C05E300 */ lui $a1, 0xe300 -/* C5214 8012EB14 3C02E300 */ lui $v0, 0xe300 -/* C5218 8012EB18 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* C521C 8012EB1C 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* C5220 8012EB20 8CC50000 */ lw $a1, ($a2) -/* C5224 8012EB24 34421001 */ ori $v0, $v0, 0x1001 -/* C5228 8012EB28 00A0182D */ daddu $v1, $a1, $zero -/* C522C 8012EB2C 24A50008 */ addiu $a1, $a1, 8 -/* C5230 8012EB30 ACC50000 */ sw $a1, ($a2) -/* C5234 8012EB34 AC620000 */ sw $v0, ($v1) -/* C5238 8012EB38 34028000 */ ori $v0, $zero, 0x8000 -/* C523C 8012EB3C 17200005 */ bnez $t9, .L8012EB54 -/* C5240 8012EB40 AC620004 */ sw $v0, 4($v1) -/* C5244 8012EB44 3C03F500 */ lui $v1, 0xf500 -/* C5248 8012EB48 34630100 */ ori $v1, $v1, 0x100 -/* C524C 8012EB4C 0804BAD8 */ j .L8012EB60 -/* C5250 8012EB50 3C040703 */ lui $a0, 0x703 -.L8012EB54: -/* C5254 8012EB54 3C03F500 */ lui $v1, 0xf500 -/* C5258 8012EB58 34630100 */ ori $v1, $v1, 0x100 -/* C525C 8012EB5C 3C04073F */ lui $a0, 0x73f -.L8012EB60: -/* C5260 8012EB60 3484C000 */ ori $a0, $a0, 0xc000 -/* C5264 8012EB64 24A20008 */ addiu $v0, $a1, 8 -/* C5268 8012EB68 ACC20000 */ sw $v0, ($a2) -/* C526C 8012EB6C 3C02FD10 */ lui $v0, 0xfd10 -/* C5270 8012EB70 ACA20000 */ sw $v0, ($a1) -/* C5274 8012EB74 24A20010 */ addiu $v0, $a1, 0x10 -/* C5278 8012EB78 ACAA0004 */ sw $t2, 4($a1) -/* C527C 8012EB7C ACC20000 */ sw $v0, ($a2) -/* C5280 8012EB80 3C02E800 */ lui $v0, 0xe800 -/* C5284 8012EB84 ACA20008 */ sw $v0, 8($a1) -/* C5288 8012EB88 24A20018 */ addiu $v0, $a1, 0x18 -/* C528C 8012EB8C ACA0000C */ sw $zero, 0xc($a1) -/* C5290 8012EB90 ACC20000 */ sw $v0, ($a2) -/* C5294 8012EB94 3C020700 */ lui $v0, 0x700 -/* C5298 8012EB98 ACA20014 */ sw $v0, 0x14($a1) -/* C529C 8012EB9C 24A20020 */ addiu $v0, $a1, 0x20 -/* C52A0 8012EBA0 ACA30010 */ sw $v1, 0x10($a1) -/* C52A4 8012EBA4 ACC20000 */ sw $v0, ($a2) -/* C52A8 8012EBA8 3C02E600 */ lui $v0, 0xe600 -/* C52AC 8012EBAC ACA20018 */ sw $v0, 0x18($a1) -/* C52B0 8012EBB0 24A20028 */ addiu $v0, $a1, 0x28 -/* C52B4 8012EBB4 ACA0001C */ sw $zero, 0x1c($a1) -/* C52B8 8012EBB8 ACC20000 */ sw $v0, ($a2) -/* C52BC 8012EBBC 3C02F000 */ lui $v0, 0xf000 -/* C52C0 8012EBC0 ACA20020 */ sw $v0, 0x20($a1) -/* C52C4 8012EBC4 24A20030 */ addiu $v0, $a1, 0x30 -/* C52C8 8012EBC8 ACA40024 */ sw $a0, 0x24($a1) -/* C52CC 8012EBCC ACC20000 */ sw $v0, ($a2) -/* C52D0 8012EBD0 3C02E700 */ lui $v0, 0xe700 -/* C52D4 8012EBD4 ACA20028 */ sw $v0, 0x28($a1) -/* C52D8 8012EBD8 0804BB01 */ j .L8012EC04 -/* C52DC 8012EBDC ACA0002C */ sw $zero, 0x2c($a1) -.L8012EBE0: -/* C52E0 8012EBE0 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* C52E4 8012EBE4 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* C52E8 8012EBE8 8C820000 */ lw $v0, ($a0) -/* C52EC 8012EBEC 34A51001 */ ori $a1, $a1, 0x1001 -/* C52F0 8012EBF0 0040182D */ daddu $v1, $v0, $zero -/* C52F4 8012EBF4 24420008 */ addiu $v0, $v0, 8 -/* C52F8 8012EBF8 AC820000 */ sw $v0, ($a0) -/* C52FC 8012EBFC AC650000 */ sw $a1, ($v1) -/* C5300 8012EC00 AC600004 */ sw $zero, 4($v1) -.L8012EC04: -/* C5304 8012EC04 000B1400 */ sll $v0, $t3, 0x10 -/* C5308 8012EC08 00021403 */ sra $v0, $v0, 0x10 -/* C530C 8012EC0C AFA20014 */ sw $v0, 0x14($sp) -/* C5310 8012EC10 000C1400 */ sll $v0, $t4, 0x10 -/* C5314 8012EC14 00021403 */ sra $v0, $v0, 0x10 -/* C5318 8012EC18 AFA20018 */ sw $v0, 0x18($sp) -/* C531C 8012EC1C 31A2FFFF */ andi $v0, $t5, 0xffff -/* C5320 8012EC20 AFA2001C */ sw $v0, 0x1c($sp) -/* C5324 8012EC24 31C2FFFF */ andi $v0, $t6, 0xffff -/* C5328 8012EC28 AFA20020 */ sw $v0, 0x20($sp) -/* C532C 8012EC2C 31E2FFFF */ andi $v0, $t7, 0xffff -/* C5330 8012EC30 AFA20024 */ sw $v0, 0x24($sp) -/* C5334 8012EC34 3302FFFF */ andi $v0, $t8, 0xffff -/* C5338 8012EC38 0220202D */ daddu $a0, $s1, $zero -/* C533C 8012EC3C 0240282D */ daddu $a1, $s2, $zero -/* C5340 8012EC40 0260302D */ daddu $a2, $s3, $zero -/* C5344 8012EC44 0200382D */ daddu $a3, $s0, $zero -/* C5348 8012EC48 AFB90010 */ sw $t9, 0x10($sp) -/* C534C 8012EC4C 0C04BB25 */ jal draw_image_with_clipping -/* C5350 8012EC50 AFA20028 */ sw $v0, 0x28($sp) -/* C5354 8012EC54 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* C5358 8012EC58 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* C535C 8012EC5C 8C830000 */ lw $v1, ($a0) -/* C5360 8012EC60 0060282D */ daddu $a1, $v1, $zero -/* C5364 8012EC64 24630008 */ addiu $v1, $v1, 8 -/* C5368 8012EC68 AC830000 */ sw $v1, ($a0) -/* C536C 8012EC6C 3C03E700 */ lui $v1, 0xe700 -/* C5370 8012EC70 ACA30000 */ sw $v1, ($a1) -/* C5374 8012EC74 ACA00004 */ sw $zero, 4($a1) -.L8012EC78: -/* C5378 8012EC78 8FBF0040 */ lw $ra, 0x40($sp) -/* C537C 8012EC7C 8FB3003C */ lw $s3, 0x3c($sp) -/* C5380 8012EC80 8FB20038 */ lw $s2, 0x38($sp) -/* C5384 8012EC84 8FB10034 */ lw $s1, 0x34($sp) -/* C5388 8012EC88 8FB00030 */ lw $s0, 0x30($sp) -/* C538C 8012EC8C 03E00008 */ jr $ra -/* C5390 8012EC90 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/ver/us/asm/nonmatchings/C50A0/draw_coin_sparkles.s b/ver/us/asm/nonmatchings/C50A0/draw_coin_sparkles.s deleted file mode 100644 index 39b0599591..0000000000 --- a/ver/us/asm/nonmatchings/C50A0/draw_coin_sparkles.s +++ /dev/null @@ -1,279 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel draw_coin_sparkles -/* C720C 80130B0C 27BDFE78 */ addiu $sp, $sp, -0x188 -/* C7210 80130B10 AFB20150 */ sw $s2, 0x150($sp) -/* C7214 80130B14 0080902D */ daddu $s2, $a0, $zero -/* C7218 80130B18 AFB70164 */ sw $s7, 0x164($sp) -/* C721C 80130B1C 3C170001 */ lui $s7, 1 -/* C7220 80130B20 3C03800A */ lui $v1, %hi(gCurrentCamID) -/* C7224 80130B24 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1) -/* C7228 80130B28 3C014334 */ lui $at, 0x4334 -/* C722C 80130B2C 44816000 */ mtc1 $at, $f12 -/* C7230 80130B30 36F71630 */ ori $s7, $s7, 0x1630 -/* C7234 80130B34 AFBF016C */ sw $ra, 0x16c($sp) -/* C7238 80130B38 AFBE0168 */ sw $fp, 0x168($sp) -/* C723C 80130B3C AFB60160 */ sw $s6, 0x160($sp) -/* C7240 80130B40 AFB5015C */ sw $s5, 0x15c($sp) -/* C7244 80130B44 AFB40158 */ sw $s4, 0x158($sp) -/* C7248 80130B48 AFB30154 */ sw $s3, 0x154($sp) -/* C724C 80130B4C AFB1014C */ sw $s1, 0x14c($sp) -/* C7250 80130B50 AFB00148 */ sw $s0, 0x148($sp) -/* C7254 80130B54 F7B80180 */ sdc1 $f24, 0x180($sp) -/* C7258 80130B58 F7B60178 */ sdc1 $f22, 0x178($sp) -/* C725C 80130B5C F7B40170 */ sdc1 $f20, 0x170($sp) -/* C7260 80130B60 00031080 */ sll $v0, $v1, 2 -/* C7264 80130B64 00431021 */ addu $v0, $v0, $v1 -/* C7268 80130B68 00021080 */ sll $v0, $v0, 2 -/* C726C 80130B6C 00431023 */ subu $v0, $v0, $v1 -/* C7270 80130B70 000218C0 */ sll $v1, $v0, 3 -/* C7274 80130B74 00431021 */ addu $v0, $v0, $v1 -/* C7278 80130B78 000210C0 */ sll $v0, $v0, 3 -/* C727C 80130B7C 3C038015 */ lui $v1, %hi(D_80155D8C) -/* C7280 80130B80 84635D8C */ lh $v1, %lo(D_80155D8C)($v1) -/* C7284 80130B84 3C01800B */ lui $at, %hi(gCameras+0x6C) -/* C7288 80130B88 00220821 */ addu $at, $at, $v0 -/* C728C 80130B8C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at) -/* C7290 80130B90 3C028015 */ lui $v0, %hi(D_80155D8E) -/* C7294 80130B94 84425D8E */ lh $v0, %lo(D_80155D8E)($v0) -/* C7298 80130B98 4483C000 */ mtc1 $v1, $f24 -/* C729C 80130B9C 00000000 */ nop -/* C72A0 80130BA0 4680C620 */ cvt.s.w $f24, $f24 -/* C72A4 80130BA4 3C038015 */ lui $v1, %hi(D_80155D90) -/* C72A8 80130BA8 84635D90 */ lh $v1, %lo(D_80155D90)($v1) -/* C72AC 80130BAC 4482A000 */ mtc1 $v0, $f20 -/* C72B0 80130BB0 00000000 */ nop -/* C72B4 80130BB4 4680A520 */ cvt.s.w $f20, $f20 -/* C72B8 80130BB8 4483B000 */ mtc1 $v1, $f22 -/* C72BC 80130BBC 00000000 */ nop -/* C72C0 80130BC0 4680B5A0 */ cvt.s.w $f22, $f22 -/* C72C4 80130BC4 0C00A6C9 */ jal clamp_angle -/* C72C8 80130BC8 46006301 */ sub.s $f12, $f12, $f0 -/* C72CC 80130BCC 27A40018 */ addiu $a0, $sp, 0x18 -/* C72D0 80130BD0 4405C000 */ mfc1 $a1, $f24 -/* C72D4 80130BD4 4406A000 */ mfc1 $a2, $f20 -/* C72D8 80130BD8 4407B000 */ mfc1 $a3, $f22 -/* C72DC 80130BDC 0C019E40 */ jal guTranslateF -/* C72E0 80130BE0 46000506 */ mov.s $f20, $f0 -/* C72E4 80130BE4 C642000C */ lwc1 $f2, 0xc($s2) -/* C72E8 80130BE8 3C014140 */ lui $at, 0x4140 -/* C72EC 80130BEC 44810000 */ mtc1 $at, $f0 -/* C72F0 80130BF0 27B10058 */ addiu $s1, $sp, 0x58 -/* C72F4 80130BF4 46001080 */ add.s $f2, $f2, $f0 -/* C72F8 80130BF8 8E450008 */ lw $a1, 8($s2) -/* C72FC 80130BFC 8E470010 */ lw $a3, 0x10($s2) -/* C7300 80130C00 44061000 */ mfc1 $a2, $f2 -/* C7304 80130C04 0C019E40 */ jal guTranslateF -/* C7308 80130C08 0220202D */ daddu $a0, $s1, $zero -/* C730C 80130C0C 27B00098 */ addiu $s0, $sp, 0x98 -/* C7310 80130C10 4405A000 */ mfc1 $a1, $f20 -/* C7314 80130C14 44800000 */ mtc1 $zero, $f0 -/* C7318 80130C18 3C073F80 */ lui $a3, 0x3f80 -/* C731C 80130C1C 44060000 */ mfc1 $a2, $f0 -/* C7320 80130C20 0200202D */ daddu $a0, $s0, $zero -/* C7324 80130C24 0C019EC8 */ jal guRotateF -/* C7328 80130C28 AFA60010 */ sw $a2, 0x10($sp) -/* C732C 80130C2C 27A40018 */ addiu $a0, $sp, 0x18 -/* C7330 80130C30 0200282D */ daddu $a1, $s0, $zero -/* C7334 80130C34 0C019D80 */ jal guMtxCatF -/* C7338 80130C38 0200302D */ daddu $a2, $s0, $zero -/* C733C 80130C3C 0200202D */ daddu $a0, $s0, $zero -/* C7340 80130C40 0220282D */ daddu $a1, $s1, $zero -/* C7344 80130C44 27B100D8 */ addiu $s1, $sp, 0xd8 -/* C7348 80130C48 0C019D80 */ jal guMtxCatF -/* C734C 80130C4C 0220302D */ daddu $a2, $s1, $zero -/* C7350 80130C50 0220202D */ daddu $a0, $s1, $zero -/* C7354 80130C54 3C138007 */ lui $s3, %hi(gMatrixListPos) -/* C7358 80130C58 267341F0 */ addiu $s3, $s3, %lo(gMatrixListPos) -/* C735C 80130C5C 3C14800A */ lui $s4, %hi(gDisplayContext) -/* C7360 80130C60 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext) -/* C7364 80130C64 96650000 */ lhu $a1, ($s3) -/* C7368 80130C68 8E820000 */ lw $v0, ($s4) -/* C736C 80130C6C 00052980 */ sll $a1, $a1, 6 -/* C7370 80130C70 00B72821 */ addu $a1, $a1, $s7 -/* C7374 80130C74 0C019D40 */ jal guMtxF2L -/* C7378 80130C78 00452821 */ addu $a1, $v0, $a1 -/* C737C 80130C7C 3C08DA38 */ lui $t0, 0xda38 -/* C7380 80130C80 35080002 */ ori $t0, $t0, 2 -/* C7384 80130C84 3C0AE300 */ lui $t2, 0xe300 -/* C7388 80130C88 354A0A01 */ ori $t2, $t2, 0xa01 -/* C738C 80130C8C 3C0BD9C0 */ lui $t3, 0xd9c0 -/* C7390 80130C90 356BF9FA */ ori $t3, $t3, 0xf9fa -/* C7394 80130C94 3C0DD9FF */ lui $t5, 0xd9ff -/* C7398 80130C98 35ADFFFF */ ori $t5, $t5, 0xffff -/* C739C 80130C9C 3C0C0022 */ lui $t4, 0x22 -/* C73A0 80130CA0 358C0005 */ ori $t4, $t4, 5 -/* C73A4 80130CA4 3C0EDC08 */ lui $t6, 0xdc08 -/* C73A8 80130CA8 35CE060A */ ori $t6, $t6, 0x60a -/* C73AC 80130CAC 3C0FDC08 */ lui $t7, 0xdc08 -/* C73B0 80130CB0 35EF090A */ ori $t7, $t7, 0x90a -/* C73B4 80130CB4 3C15D700 */ lui $s5, 0xd700 -/* C73B8 80130CB8 36B50002 */ ori $s5, $s5, 2 -/* C73BC 80130CBC 3C16E300 */ lui $s6, 0xe300 -/* C73C0 80130CC0 36D60F00 */ ori $s6, $s6, 0xf00 -/* C73C4 80130CC4 3C18E300 */ lui $t8, 0xe300 -/* C73C8 80130CC8 37180C00 */ ori $t8, $t8, 0xc00 -/* C73CC 80130CCC 3C19E300 */ lui $t9, 0xe300 -/* C73D0 80130CD0 37391201 */ ori $t9, $t9, 0x1201 -/* C73D4 80130CD4 3C1EE300 */ lui $fp, 0xe300 -/* C73D8 80130CD8 37DE1801 */ ori $fp, $fp, 0x1801 -/* C73DC 80130CDC AFAA0140 */ sw $t2, 0x140($sp) -/* C73E0 80130CE0 3C0AE300 */ lui $t2, 0xe300 -/* C73E4 80130CE4 354A0D01 */ ori $t2, $t2, 0xd01 -/* C73E8 80130CE8 AFAA0130 */ sw $t2, 0x130($sp) -/* C73EC 80130CEC 3C0AE300 */ lui $t2, 0xe300 -/* C73F0 80130CF0 354A1402 */ ori $t2, $t2, 0x1402 -/* C73F4 80130CF4 AFAA0134 */ sw $t2, 0x134($sp) -/* C73F8 80130CF8 3C0AE300 */ lui $t2, 0xe300 -/* C73FC 80130CFC 354A1700 */ ori $t2, $t2, 0x1700 -/* C7400 80130D00 AFAA0138 */ sw $t2, 0x138($sp) -/* C7404 80130D04 3C0AE200 */ lui $t2, 0xe200 -/* C7408 80130D08 354A1E01 */ ori $t2, $t2, 0x1e01 -/* C740C 80130D0C 0000202D */ daddu $a0, $zero, $zero -/* C7410 80130D10 3C10800A */ lui $s0, %hi(gMasterGfxPos) -/* C7414 80130D14 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos) -/* C7418 80130D18 AFAA013C */ sw $t2, 0x13c($sp) -/* C741C 80130D1C 8E030000 */ lw $v1, ($s0) -/* C7420 80130D20 96620000 */ lhu $v0, ($s3) -/* C7424 80130D24 0060482D */ daddu $t1, $v1, $zero -/* C7428 80130D28 24630008 */ addiu $v1, $v1, 8 -/* C742C 80130D2C AE030000 */ sw $v1, ($s0) -/* C7430 80130D30 AD280000 */ sw $t0, ($t1) -/* C7434 80130D34 24480001 */ addiu $t0, $v0, 1 -/* C7438 80130D38 3042FFFF */ andi $v0, $v0, 0xffff -/* C743C 80130D3C 00021180 */ sll $v0, $v0, 6 -/* C7440 80130D40 A6680000 */ sh $t0, ($s3) -/* C7444 80130D44 8E880000 */ lw $t0, ($s4) -/* C7448 80130D48 00571021 */ addu $v0, $v0, $s7 -/* C744C 80130D4C 01024021 */ addu $t0, $t0, $v0 -/* C7450 80130D50 24620008 */ addiu $v0, $v1, 8 -/* C7454 80130D54 AD280004 */ sw $t0, 4($t1) -/* C7458 80130D58 AE020000 */ sw $v0, ($s0) -/* C745C 80130D5C 24620010 */ addiu $v0, $v1, 0x10 -/* C7460 80130D60 8FAA0140 */ lw $t2, 0x140($sp) -/* C7464 80130D64 3C088015 */ lui $t0, %hi(D_8014C6D0) -/* C7468 80130D68 2508C6D0 */ addiu $t0, $t0, %lo(D_8014C6D0) -/* C746C 80130D6C AC6A0000 */ sw $t2, ($v1) -/* C7470 80130D70 AC600004 */ sw $zero, 4($v1) -/* C7474 80130D74 AE020000 */ sw $v0, ($s0) -/* C7478 80130D78 24620018 */ addiu $v0, $v1, 0x18 -/* C747C 80130D7C AC6B0008 */ sw $t3, 8($v1) -/* C7480 80130D80 AC60000C */ sw $zero, 0xc($v1) -/* C7484 80130D84 AE020000 */ sw $v0, ($s0) -/* C7488 80130D88 24620020 */ addiu $v0, $v1, 0x20 -/* C748C 80130D8C AC6D0010 */ sw $t5, 0x10($v1) -/* C7490 80130D90 AC6C0014 */ sw $t4, 0x14($v1) -/* C7494 80130D94 AE020000 */ sw $v0, ($s0) -/* C7498 80130D98 3C02DB02 */ lui $v0, 0xdb02 -/* C749C 80130D9C AC620018 */ sw $v0, 0x18($v1) -/* C74A0 80130DA0 24020018 */ addiu $v0, $zero, 0x18 -/* C74A4 80130DA4 AC62001C */ sw $v0, 0x1c($v1) -/* C74A8 80130DA8 24620028 */ addiu $v0, $v1, 0x28 -/* C74AC 80130DAC AE020000 */ sw $v0, ($s0) -/* C74B0 80130DB0 24620030 */ addiu $v0, $v1, 0x30 -/* C74B4 80130DB4 AC680024 */ sw $t0, 0x24($v1) -/* C74B8 80130DB8 2508FFF8 */ addiu $t0, $t0, -8 -/* C74BC 80130DBC AC6E0020 */ sw $t6, 0x20($v1) -/* C74C0 80130DC0 AE020000 */ sw $v0, ($s0) -/* C74C4 80130DC4 24620038 */ addiu $v0, $v1, 0x38 -/* C74C8 80130DC8 AC6F0028 */ sw $t7, 0x28($v1) -/* C74CC 80130DCC AC68002C */ sw $t0, 0x2c($v1) -/* C74D0 80130DD0 AE020000 */ sw $v0, ($s0) -/* C74D4 80130DD4 2402FFFF */ addiu $v0, $zero, -1 -/* C74D8 80130DD8 AC750030 */ sw $s5, 0x30($v1) -/* C74DC 80130DDC AC620034 */ sw $v0, 0x34($v1) -/* C74E0 80130DE0 24620040 */ addiu $v0, $v1, 0x40 -/* C74E4 80130DE4 AE020000 */ sw $v0, ($s0) -/* C74E8 80130DE8 24620048 */ addiu $v0, $v1, 0x48 -/* C74EC 80130DEC AC760038 */ sw $s6, 0x38($v1) -/* C74F0 80130DF0 AC60003C */ sw $zero, 0x3c($v1) -/* C74F4 80130DF4 AE020000 */ sw $v0, ($s0) -/* C74F8 80130DF8 3C020008 */ lui $v0, 8 -/* C74FC 80130DFC AC780040 */ sw $t8, 0x40($v1) -/* C7500 80130E00 AC620044 */ sw $v0, 0x44($v1) -/* C7504 80130E04 24620050 */ addiu $v0, $v1, 0x50 -/* C7508 80130E08 AE020000 */ sw $v0, ($s0) -/* C750C 80130E0C 24022000 */ addiu $v0, $zero, 0x2000 -/* C7510 80130E10 AC62004C */ sw $v0, 0x4c($v1) -/* C7514 80130E14 240200C0 */ addiu $v0, $zero, 0xc0 -/* C7518 80130E18 AC790048 */ sw $t9, 0x48($v1) -/* C751C 80130E1C AC7E0050 */ sw $fp, 0x50($v1) -/* C7520 80130E20 AC620054 */ sw $v0, 0x54($v1) -/* C7524 80130E24 8FAA0130 */ lw $t2, 0x130($sp) -/* C7528 80130E28 27A50118 */ addiu $a1, $sp, 0x118 -/* C752C 80130E2C AC6A0058 */ sw $t2, 0x58($v1) -/* C7530 80130E30 AC60005C */ sw $zero, 0x5c($v1) -/* C7534 80130E34 8FAA0134 */ lw $t2, 0x134($sp) -/* C7538 80130E38 24020C00 */ addiu $v0, $zero, 0xc00 -/* C753C 80130E3C AC6A0060 */ sw $t2, 0x60($v1) -/* C7540 80130E40 AC620064 */ sw $v0, 0x64($v1) -/* C7544 80130E44 8FAA0138 */ lw $t2, 0x138($sp) -/* C7548 80130E48 0080302D */ daddu $a2, $a0, $zero -/* C754C 80130E4C AC6A0068 */ sw $t2, 0x68($v1) -/* C7550 80130E50 AC60006C */ sw $zero, 0x6c($v1) -/* C7554 80130E54 8FAA013C */ lw $t2, 0x13c($sp) -/* C7558 80130E58 0220382D */ daddu $a3, $s1, $zero -/* C755C 80130E5C AC6A0070 */ sw $t2, 0x70($v1) -/* C7560 80130E60 AC600074 */ sw $zero, 0x74($v1) -/* C7564 80130E64 8E48004C */ lw $t0, 0x4c($s2) -/* C7568 80130E68 24620058 */ addiu $v0, $v1, 0x58 -/* C756C 80130E6C AE020000 */ sw $v0, ($s0) -/* C7570 80130E70 AFA80118 */ sw $t0, 0x118($sp) -/* C7574 80130E74 8E480050 */ lw $t0, 0x50($s2) -/* C7578 80130E78 24620060 */ addiu $v0, $v1, 0x60 -/* C757C 80130E7C AE020000 */ sw $v0, ($s0) -/* C7580 80130E80 AFA8011C */ sw $t0, 0x11c($sp) -/* C7584 80130E84 96480056 */ lhu $t0, 0x56($s2) -/* C7588 80130E88 24620068 */ addiu $v0, $v1, 0x68 -/* C758C 80130E8C AE020000 */ sw $v0, ($s0) -/* C7590 80130E90 A7A80120 */ sh $t0, 0x120($sp) -/* C7594 80130E94 9648005A */ lhu $t0, 0x5a($s2) -/* C7598 80130E98 24620070 */ addiu $v0, $v1, 0x70 -/* C759C 80130E9C AE020000 */ sw $v0, ($s0) -/* C75A0 80130EA0 A7A80122 */ sh $t0, 0x122($sp) -/* C75A4 80130EA4 8E420054 */ lw $v0, 0x54($s2) -/* C75A8 80130EA8 24630078 */ addiu $v1, $v1, 0x78 -/* C75AC 80130EAC AE030000 */ sw $v1, ($s0) -/* C75B0 80130EB0 00021023 */ negu $v0, $v0 -/* C75B4 80130EB4 00021FC2 */ srl $v1, $v0, 0x1f -/* C75B8 80130EB8 00431021 */ addu $v0, $v0, $v1 -/* C75BC 80130EBC 00021043 */ sra $v0, $v0, 1 -/* C75C0 80130EC0 A7A20124 */ sh $v0, 0x124($sp) -/* C75C4 80130EC4 8E420058 */ lw $v0, 0x58($s2) -/* C75C8 80130EC8 240300FF */ addiu $v1, $zero, 0xff -/* C75CC 80130ECC A3A30128 */ sb $v1, 0x128($sp) -/* C75D0 80130ED0 00021FC2 */ srl $v1, $v0, 0x1f -/* C75D4 80130ED4 00431021 */ addu $v0, $v0, $v1 -/* C75D8 80130ED8 00021043 */ sra $v0, $v0, 1 -/* C75DC 80130EDC 0C04EBDC */ jal fold_appendGfx_component -/* C75E0 80130EE0 A7A20126 */ sh $v0, 0x126($sp) -/* C75E4 80130EE4 3C03D838 */ lui $v1, 0xd838 -/* C75E8 80130EE8 8E020000 */ lw $v0, ($s0) -/* C75EC 80130EEC 34630002 */ ori $v1, $v1, 2 -/* C75F0 80130EF0 0040202D */ daddu $a0, $v0, $zero -/* C75F4 80130EF4 24420008 */ addiu $v0, $v0, 8 -/* C75F8 80130EF8 AE020000 */ sw $v0, ($s0) -/* C75FC 80130EFC AC830000 */ sw $v1, ($a0) -/* C7600 80130F00 24030040 */ addiu $v1, $zero, 0x40 -/* C7604 80130F04 AC830004 */ sw $v1, 4($a0) -/* C7608 80130F08 24430008 */ addiu $v1, $v0, 8 -/* C760C 80130F0C AE030000 */ sw $v1, ($s0) -/* C7610 80130F10 3C03E700 */ lui $v1, 0xe700 -/* C7614 80130F14 AC430000 */ sw $v1, ($v0) -/* C7618 80130F18 AC400004 */ sw $zero, 4($v0) -/* C761C 80130F1C 8FBF016C */ lw $ra, 0x16c($sp) -/* C7620 80130F20 8FBE0168 */ lw $fp, 0x168($sp) -/* C7624 80130F24 8FB70164 */ lw $s7, 0x164($sp) -/* C7628 80130F28 8FB60160 */ lw $s6, 0x160($sp) -/* C762C 80130F2C 8FB5015C */ lw $s5, 0x15c($sp) -/* C7630 80130F30 8FB40158 */ lw $s4, 0x158($sp) -/* C7634 80130F34 8FB30154 */ lw $s3, 0x154($sp) -/* C7638 80130F38 8FB20150 */ lw $s2, 0x150($sp) -/* C763C 80130F3C 8FB1014C */ lw $s1, 0x14c($sp) -/* C7640 80130F40 8FB00148 */ lw $s0, 0x148($sp) -/* C7644 80130F44 D7B80180 */ ldc1 $f24, 0x180($sp) -/* C7648 80130F48 D7B60178 */ ldc1 $f22, 0x178($sp) -/* C764C 80130F4C D7B40170 */ ldc1 $f20, 0x170($sp) -/* C7650 80130F50 03E00008 */ jr $ra -/* C7654 80130F54 27BD0188 */ addiu $sp, $sp, 0x188 diff --git a/ver/us/asm/nonmatchings/C50A0/func_8013673C.s b/ver/us/asm/nonmatchings/C50A0/func_8013673C.s deleted file mode 100644 index 2a68adbf72..0000000000 --- a/ver/us/asm/nonmatchings/C50A0/func_8013673C.s +++ /dev/null @@ -1,194 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_80150E60 -.word .L801367A4_CCEA4, .L801367A4_CCEA4, .L801369B4_CD0B4, .L801369B4_CD0B4, .L801369B4_CD0B4, .L801369B4_CD0B4, .L801369B4_CD0B4, .L801369B4_CD0B4, .L801367A4_CCEA4, .L801367A4_CCEA4, .L801369B4_CD0B4, .L8013694C_CD04C, .L8013694C_CD04C, 0, 0, 0 - -.section .text - -glabel func_8013673C -/* CCE3C 8013673C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* CCE40 80136740 AFB1001C */ sw $s1, 0x1c($sp) -/* CCE44 80136744 0080882D */ daddu $s1, $a0, $zero -/* CCE48 80136748 AFB20020 */ sw $s2, 0x20($sp) -/* CCE4C 8013674C 00A0902D */ daddu $s2, $a1, $zero -/* CCE50 80136750 AFB30024 */ sw $s3, 0x24($sp) -/* CCE54 80136754 3C048008 */ lui $a0, %hi(gItemTable) -/* CCE58 80136758 248478E0 */ addiu $a0, $a0, %lo(gItemTable) -/* CCE5C 8013675C AFBF0028 */ sw $ra, 0x28($sp) -/* CCE60 80136760 AFB00018 */ sw $s0, 0x18($sp) -/* CCE64 80136764 86230018 */ lh $v1, 0x18($s1) -/* CCE68 80136768 9222001A */ lbu $v0, 0x1a($s1) -/* CCE6C 8013676C 00031940 */ sll $v1, $v1, 5 -/* CCE70 80136770 00642021 */ addu $a0, $v1, $a0 -/* CCE74 80136774 2442FFFE */ addiu $v0, $v0, -2 -/* CCE78 80136778 00021600 */ sll $v0, $v0, 0x18 -/* CCE7C 8013677C 00021E03 */ sra $v1, $v0, 0x18 -/* CCE80 80136780 2C62000D */ sltiu $v0, $v1, 0xd -/* CCE84 80136784 1040008B */ beqz $v0, .L801369B4_CD0B4 -/* CCE88 80136788 00C0982D */ daddu $s3, $a2, $zero -/* CCE8C 8013678C 00031080 */ sll $v0, $v1, 2 -/* CCE90 80136790 3C018015 */ lui $at, %hi(jtbl_80150E60) -/* CCE94 80136794 00220821 */ addu $at, $at, $v0 -/* CCE98 80136798 8C220E60 */ lw $v0, %lo(jtbl_80150E60)($at) -/* CCE9C 8013679C 00400008 */ jr $v0 -/* CCEA0 801367A0 00000000 */ nop -.L801367A4_CCEA4: -/* CCEA4 801367A4 94820018 */ lhu $v0, 0x18($a0) -/* CCEA8 801367A8 30420040 */ andi $v0, $v0, 0x40 -/* CCEAC 801367AC 1440001C */ bnez $v0, .L80136820 -/* CCEB0 801367B0 3C030400 */ lui $v1, 0x400 -/* CCEB4 801367B4 8E220000 */ lw $v0, ($s1) -/* CCEB8 801367B8 00431024 */ and $v0, $v0, $v1 -/* CCEBC 801367BC 10400005 */ beqz $v0, .L801367D4 -/* CCEC0 801367C0 3C10001D */ lui $s0, 0x1d -/* CCEC4 801367C4 96220006 */ lhu $v0, 6($s1) -/* CCEC8 801367C8 30420004 */ andi $v0, $v0, 4 -/* CCECC 801367CC 50400002 */ beql $v0, $zero, .L801367D8 -/* CCED0 801367D0 3610005A */ ori $s0, $s0, 0x5a -.L801367D4: -/* CCED4 801367D4 36100058 */ ori $s0, $s0, 0x58 -.L801367D8: -/* CCED8 801367D8 8C840000 */ lw $a0, ($a0) -/* CCEDC 801367DC 0C0496CF */ jal set_message_msg -/* CCEE0 801367E0 0000282D */ daddu $a1, $zero, $zero -/* CCEE4 801367E4 96230006 */ lhu $v1, 6($s1) -/* CCEE8 801367E8 30620010 */ andi $v0, $v1, 0x10 -/* CCEEC 801367EC 10400003 */ beqz $v0, .L801367FC -/* CCEF0 801367F0 30620020 */ andi $v0, $v1, 0x20 -/* CCEF4 801367F4 3C10001D */ lui $s0, 0x1d -/* CCEF8 801367F8 3610005D */ ori $s0, $s0, 0x5d -.L801367FC: -/* CCEFC 801367FC 10400003 */ beqz $v0, .L8013680C -/* CCF00 80136800 30620040 */ andi $v0, $v1, 0x40 -/* CCF04 80136804 3C10001D */ lui $s0, 0x1d -/* CCF08 80136808 3610005E */ ori $s0, $s0, 0x5e -.L8013680C: -/* CCF0C 8013680C 1040001E */ beqz $v0, .L80136888 -/* CCF10 80136810 00000000 */ nop -/* CCF14 80136814 3C10001D */ lui $s0, 0x1d -/* CCF18 80136818 0804DA22 */ j .L80136888 -/* CCF1C 8013681C 3610005C */ ori $s0, $s0, 0x5c -.L80136820: -/* CCF20 80136820 8E220000 */ lw $v0, ($s1) -/* CCF24 80136824 00431024 */ and $v0, $v0, $v1 -/* CCF28 80136828 10400005 */ beqz $v0, .L80136840 -/* CCF2C 8013682C 3C10001D */ lui $s0, 0x1d -/* CCF30 80136830 96220006 */ lhu $v0, 6($s1) -/* CCF34 80136834 30420004 */ andi $v0, $v0, 4 -/* CCF38 80136838 50400002 */ beql $v0, $zero, .L80136844 -/* CCF3C 8013683C 3610005B */ ori $s0, $s0, 0x5b -.L80136840: -/* CCF40 80136840 36100059 */ ori $s0, $s0, 0x59 -.L80136844: -/* CCF44 80136844 96230006 */ lhu $v1, 6($s1) -/* CCF48 80136848 30620010 */ andi $v0, $v1, 0x10 -/* CCF4C 8013684C 10400003 */ beqz $v0, .L8013685C -/* CCF50 80136850 30620020 */ andi $v0, $v1, 0x20 -/* CCF54 80136854 3C10001D */ lui $s0, 0x1d -/* CCF58 80136858 3610005D */ ori $s0, $s0, 0x5d -.L8013685C: -/* CCF5C 8013685C 10400003 */ beqz $v0, .L8013686C -/* CCF60 80136860 30620040 */ andi $v0, $v1, 0x40 -/* CCF64 80136864 3C10001D */ lui $s0, 0x1d -/* CCF68 80136868 3610005E */ ori $s0, $s0, 0x5e -.L8013686C: -/* CCF6C 8013686C 10400003 */ beqz $v0, .L8013687C -/* CCF70 80136870 00000000 */ nop -/* CCF74 80136874 3C10001D */ lui $s0, 0x1d -/* CCF78 80136878 3610005C */ ori $s0, $s0, 0x5c -.L8013687C: -/* CCF7C 8013687C 8C840000 */ lw $a0, ($a0) -/* CCF80 80136880 0C0496CF */ jal set_message_msg -/* CCF84 80136884 0000282D */ daddu $a1, $zero, $zero -.L80136888: -/* CCF88 80136888 0C04992C */ jal get_msg_lines -/* CCF8C 8013688C 0200202D */ daddu $a0, $s0, $zero -/* CCF90 80136890 2442FFFF */ addiu $v0, $v0, -1 -/* CCF94 80136894 86250018 */ lh $a1, 0x18($s1) -/* CCF98 80136898 00021040 */ sll $v0, $v0, 1 -/* CCF9C 8013689C 00051940 */ sll $v1, $a1, 5 -/* CCFA0 801368A0 3C048008 */ lui $a0, %hi(gItemTable+0x18) -/* CCFA4 801368A4 00832021 */ addu $a0, $a0, $v1 -/* CCFA8 801368A8 948478F8 */ lhu $a0, %lo(gItemTable+0x18)($a0) -/* CCFAC 801368AC 3C068015 */ lui $a2, %hi(D_8014C6E4) -/* CCFB0 801368B0 00C23021 */ addu $a2, $a2, $v0 -/* CCFB4 801368B4 84C6C6E4 */ lh $a2, %lo(D_8014C6E4)($a2) -/* CCFB8 801368B8 30830040 */ andi $v1, $a0, 0x40 -/* CCFBC 801368BC 5460000E */ bnel $v1, $zero, .L801368F8 -/* CCFC0 801368C0 0200202D */ daddu $a0, $s0, $zero -/* CCFC4 801368C4 30820008 */ andi $v0, $a0, 8 -/* CCFC8 801368C8 5440000B */ bnel $v0, $zero, .L801368F8 -/* CCFCC 801368CC 0200202D */ daddu $a0, $s0, $zero -/* CCFD0 801368D0 2402015C */ addiu $v0, $zero, 0x15c -/* CCFD4 801368D4 10A20007 */ beq $a1, $v0, .L801368F4 -/* CCFD8 801368D8 30820020 */ andi $v0, $a0, 0x20 -/* CCFDC 801368DC 14400006 */ bnez $v0, .L801368F8 -/* CCFE0 801368E0 0200202D */ daddu $a0, $s0, $zero -/* CCFE4 801368E4 96220006 */ lhu $v0, 6($s1) -/* CCFE8 801368E8 30420030 */ andi $v0, $v0, 0x30 -/* CCFEC 801368EC 1040000B */ beqz $v0, .L8013691C -/* CCFF0 801368F0 26450028 */ addiu $a1, $s2, 0x28 -.L801368F4: -/* CCFF4 801368F4 0200202D */ daddu $a0, $s0, $zero -.L801368F8: -/* CCFF8 801368F8 2645000F */ addiu $a1, $s2, 0xf -/* CCFFC 801368FC 02663021 */ addu $a2, $s3, $a2 -/* CD000 80136900 240700FF */ addiu $a3, $zero, 0xff -/* CD004 80136904 2402002F */ addiu $v0, $zero, 0x2f -/* CD008 80136908 AFA20010 */ sw $v0, 0x10($sp) -/* CD00C 8013690C 0C04993B */ jal draw_msg -/* CD010 80136910 AFA00014 */ sw $zero, 0x14($sp) -/* CD014 80136914 0804DA6D */ j .L801369B4_CD0B4 -/* CD018 80136918 00000000 */ nop -.L8013691C: -/* CD01C 8013691C 02663021 */ addu $a2, $s3, $a2 -/* CD020 80136920 240700FF */ addiu $a3, $zero, 0xff -/* CD024 80136924 2402002F */ addiu $v0, $zero, 0x2f -/* CD028 80136928 AFA20010 */ sw $v0, 0x10($sp) -/* CD02C 8013692C 0C04993B */ jal draw_msg -/* CD030 80136930 AFA00014 */ sw $zero, 0x14($sp) -/* CD034 80136934 96220006 */ lhu $v0, 6($s1) -/* CD038 80136938 30420030 */ andi $v0, $v0, 0x30 -/* CD03C 8013693C 1440001D */ bnez $v0, .L801369B4_CD0B4 -/* CD040 80136940 26450014 */ addiu $a1, $s2, 0x14 -/* CD044 80136944 0804DA65 */ j .L80136994 -/* CD048 80136948 00000000 */ nop -.L8013694C_CD04C: -/* CD04C 8013694C 3C028015 */ lui $v0, %hi(D_801568EC) -/* CD050 80136950 8C4268EC */ lw $v0, %lo(D_801568EC)($v0) -/* CD054 80136954 00021140 */ sll $v0, $v0, 5 -/* CD058 80136958 3C048008 */ lui $a0, %hi(gItemTable) -/* CD05C 8013695C 00822021 */ addu $a0, $a0, $v0 -/* CD060 80136960 8C8478E0 */ lw $a0, %lo(gItemTable)($a0) -/* CD064 80136964 0C0496CF */ jal set_message_msg -/* CD068 80136968 0000282D */ daddu $a1, $zero, $zero -/* CD06C 8013696C 3C04001D */ lui $a0, 0x1d -/* CD070 80136970 3484005F */ ori $a0, $a0, 0x5f -/* CD074 80136974 26450028 */ addiu $a1, $s2, 0x28 -/* CD078 80136978 26660004 */ addiu $a2, $s3, 4 -/* CD07C 8013697C 240700FF */ addiu $a3, $zero, 0xff -/* CD080 80136980 2402002F */ addiu $v0, $zero, 0x2f -/* CD084 80136984 AFA20010 */ sw $v0, 0x10($sp) -/* CD088 80136988 0C04993B */ jal draw_msg -/* CD08C 8013698C AFA00014 */ sw $zero, 0x14($sp) -/* CD090 80136990 26450014 */ addiu $a1, $s2, 0x14 -.L80136994: -/* CD094 80136994 3C108015 */ lui $s0, %hi(D_801568E0) -/* CD098 80136998 261068E0 */ addiu $s0, $s0, %lo(D_801568E0) -/* CD09C 8013699C 8E040000 */ lw $a0, ($s0) -/* CD0A0 801369A0 0C051261 */ jal hud_element_set_render_pos -/* CD0A4 801369A4 26660014 */ addiu $a2, $s3, 0x14 -/* CD0A8 801369A8 8E040000 */ lw $a0, ($s0) -/* CD0AC 801369AC 0C0511F1 */ jal hud_element_draw_next -/* CD0B0 801369B0 00000000 */ nop -.L801369B4_CD0B4: -/* CD0B4 801369B4 8FBF0028 */ lw $ra, 0x28($sp) -/* CD0B8 801369B8 8FB30024 */ lw $s3, 0x24($sp) -/* CD0BC 801369BC 8FB20020 */ lw $s2, 0x20($sp) -/* CD0C0 801369C0 8FB1001C */ lw $s1, 0x1c($sp) -/* CD0C4 801369C4 8FB00018 */ lw $s0, 0x18($sp) -/* CD0C8 801369C8 03E00008 */ jr $ra -/* CD0CC 801369CC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/C50A0/make_item_entity.s b/ver/us/asm/nonmatchings/C50A0/make_item_entity.s deleted file mode 100644 index 954ba6d4f7..0000000000 --- a/ver/us/asm/nonmatchings/C50A0/make_item_entity.s +++ /dev/null @@ -1,494 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_80150A98 -.word .L80131468_C7B68, .L80131478_C7B78, .L80131478_C7B78, .L80131478_C7B78, .L80131478_C7B78, .L80131468_C7B68, .L80131468_C7B68, .L80131468_C7B68, .L80131468_C7B68, .L80131478_C7B78, .L80131468_C7B68, .L80131468_C7B68, .L80131478_C7B78, .L80131468_C7B68, .L80131468_C7B68, .L80131468_C7B68, .L80131478_C7B78, .L80131468_C7B68, .L80131468_C7B68, .L80131478_C7B78, .L80131478_C7B78, .L80131468_C7B68, .L80131468_C7B68, 0 - -dlabel jtbl_80150AF8 -.word .L80131620_C7D20, .L8013162C_C7D2C, .L80131638_C7D38, .L8013162C_C7D2C, .L80131644_C7D44, .L80131660_C7D60, .L80131674_C7D74, .L80131688_C7D88, .L8013169C_C7D9C, .L801316B0_C7DB0, .L801316C4_C7DC4, .L801316E0_C7DE0, .L80131708_C7E08, .L80131714_C7E14, .L80131728_C7E28, .L8013173C_C7E3C, .L80131750_C7E50, .L80131768_C7E68, .L80131784_C7E84, .L801317A0_C7EA0, .L801318B4_C7FB4, .L801318C4_C7FC4, .L801318E4_C7FE4, .L801317BC_C7EBC, .L801317E8_C7EE8, .L8013181C_C7F1C, .L80131850_C7F50, .L80131878_C7F78 - -dlabel jtbl_80150B68 -.word .L8013192C_C802C, .L80131A0C_C810C, .L80131A0C_C810C, .L8013192C_C802C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L8013192C_C802C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L8013192C_C802C, .L80131A0C_C810C, .L80131A0C_C810C, .L80131A0C_C810C, .L8013192C_C802C, 0 - -.section .text - -glabel make_item_entity -/* C7AF4 801313F4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* C7AF8 801313F8 AFB20028 */ sw $s2, 0x28($sp) -/* C7AFC 801313FC 0080902D */ daddu $s2, $a0, $zero -/* C7B00 80131400 AFB10024 */ sw $s1, 0x24($sp) -/* C7B04 80131404 8FB10054 */ lw $s1, 0x54($sp) -/* C7B08 80131408 3C02F8D8 */ lui $v0, 0xf8d8 -/* C7B0C 8013140C AFB3002C */ sw $s3, 0x2c($sp) -/* C7B10 80131410 8FB30048 */ lw $s3, 0x48($sp) -/* C7B14 80131414 3442F200 */ ori $v0, $v0, 0xf200 -/* C7B18 80131418 AFBF0034 */ sw $ra, 0x34($sp) -/* C7B1C 8013141C AFB40030 */ sw $s4, 0x30($sp) -/* C7B20 80131420 AFB00020 */ sw $s0, 0x20($sp) -/* C7B24 80131424 AFA5003C */ sw $a1, 0x3c($sp) -/* C7B28 80131428 AFA60040 */ sw $a2, 0x40($sp) -/* C7B2C 8013142C 0051102A */ slt $v0, $v0, $s1 -/* C7B30 80131430 14400004 */ bnez $v0, .L80131444 -/* C7B34 80131434 AFA70044 */ sw $a3, 0x44($sp) -/* C7B38 80131438 3C0207BF */ lui $v0, 0x7bf -/* C7B3C 8013143C 3442A480 */ ori $v0, $v0, 0xa480 -/* C7B40 80131440 02228821 */ addu $s1, $s1, $v0 -.L80131444: -/* C7B44 80131444 1A20000C */ blez $s1, .L80131478_C7B78 -/* C7B48 80131448 2E620017 */ sltiu $v0, $s3, 0x17 -/* C7B4C 8013144C 1040000A */ beqz $v0, .L80131478_C7B78 -/* C7B50 80131450 00131080 */ sll $v0, $s3, 2 -/* C7B54 80131454 3C018015 */ lui $at, %hi(jtbl_80150A98) -/* C7B58 80131458 00220821 */ addu $at, $at, $v0 -/* C7B5C 8013145C 8C220A98 */ lw $v0, %lo(jtbl_80150A98)($at) -/* C7B60 80131460 00400008 */ jr $v0 -/* C7B64 80131464 00000000 */ nop -.L80131468_C7B68: -/* C7B68 80131468 0C05152F */ jal get_global_flag -/* C7B6C 8013146C 0220202D */ daddu $a0, $s1, $zero -/* C7B70 80131470 14400180 */ bnez $v0, .L80131A74 -/* C7B74 80131474 2402FFFF */ addiu $v0, $zero, -1 -.L80131478_C7B78: -/* C7B78 80131478 0000182D */ daddu $v1, $zero, $zero -/* C7B7C 8013147C 3C048015 */ lui $a0, %hi(gCurrentItemEntities) -/* C7B80 80131480 8C8465A0 */ lw $a0, %lo(gCurrentItemEntities)($a0) -.L80131484: -/* C7B84 80131484 8C820000 */ lw $v0, ($a0) -/* C7B88 80131488 10400006 */ beqz $v0, .L801314A4 -/* C7B8C 8013148C 28620100 */ slti $v0, $v1, 0x100 -/* C7B90 80131490 24630001 */ addiu $v1, $v1, 1 -/* C7B94 80131494 28620100 */ slti $v0, $v1, 0x100 -/* C7B98 80131498 1440FFFA */ bnez $v0, .L80131484 -/* C7B9C 8013149C 24840004 */ addiu $a0, $a0, 4 -/* C7BA0 801314A0 28620100 */ slti $v0, $v1, 0x100 -.L801314A4: -/* C7BA4 801314A4 54400003 */ bnel $v0, $zero, .L801314B4 -/* C7BA8 801314A8 2404005C */ addiu $a0, $zero, 0x5c -.L801314AC: -/* C7BAC 801314AC 0804C52B */ j .L801314AC -/* C7BB0 801314B0 00000000 */ nop -.L801314B4: -/* C7BB4 801314B4 0C00AB39 */ jal heap_malloc -/* C7BB8 801314B8 0060A02D */ daddu $s4, $v1, $zero -/* C7BBC 801314BC 00142080 */ sll $a0, $s4, 2 -/* C7BC0 801314C0 3C038015 */ lui $v1, %hi(gCurrentItemEntities) -/* C7BC4 801314C4 8C6365A0 */ lw $v1, %lo(gCurrentItemEntities)($v1) -/* C7BC8 801314C8 3C058015 */ lui $a1, %hi(ItemEntitiesCreated) -/* C7BCC 801314CC 24A512F8 */ addiu $a1, $a1, %lo(ItemEntitiesCreated) -/* C7BD0 801314D0 00832021 */ addu $a0, $a0, $v1 -/* C7BD4 801314D4 8CA30000 */ lw $v1, ($a1) -/* C7BD8 801314D8 0040802D */ daddu $s0, $v0, $zero -/* C7BDC 801314DC AC900000 */ sw $s0, ($a0) -/* C7BE0 801314E0 24630001 */ addiu $v1, $v1, 1 -/* C7BE4 801314E4 16000003 */ bnez $s0, .L801314F4 -/* C7BE8 801314E8 ACA30000 */ sw $v1, ($a1) -.L801314EC: -/* C7BEC 801314EC 0804C53B */ j .L801314EC -/* C7BF0 801314F0 00000000 */ nop -.L801314F4: -/* C7BF4 801314F4 00121402 */ srl $v0, $s2, 0x10 -/* C7BF8 801314F8 3042000F */ andi $v0, $v0, 0xf -/* C7BFC 801314FC 24030005 */ addiu $v1, $zero, 5 -/* C7C00 80131500 14430003 */ bne $v0, $v1, .L80131510 -/* C7C04 80131504 A202001D */ sb $v0, 0x1d($s0) -/* C7C08 80131508 2402FFFF */ addiu $v0, $zero, -1 -/* C7C0C 8013150C A202001D */ sb $v0, 0x1d($s0) -.L80131510: -/* C7C10 80131510 3252FFFF */ andi $s2, $s2, 0xffff -/* C7C14 80131514 A213001B */ sb $s3, 0x1b($s0) -/* C7C18 80131518 A200001A */ sb $zero, 0x1a($s0) -/* C7C1C 8013151C C7A2003C */ lwc1 $f2, 0x3c($sp) -/* C7C20 80131520 C7A40040 */ lwc1 $f4, 0x40($sp) -/* C7C24 80131524 C7A60044 */ lwc1 $f6, 0x44($sp) -/* C7C28 80131528 24020097 */ addiu $v0, $zero, 0x97 -/* C7C2C 8013152C AE020000 */ sw $v0, ($s0) -/* C7C30 80131530 A6000006 */ sh $zero, 6($s0) -/* C7C34 80131534 A6110004 */ sh $s1, 4($s0) -/* C7C38 80131538 A6120018 */ sh $s2, 0x18($s0) -/* C7C3C 8013153C AE000014 */ sw $zero, 0x14($s0) -/* C7C40 80131540 8FA2004C */ lw $v0, 0x4c($sp) -/* C7C44 80131544 3C013F80 */ lui $at, 0x3f80 -/* C7C48 80131548 44810000 */ mtc1 $at, $f0 -/* C7C4C 8013154C 8E030000 */ lw $v1, ($s0) -/* C7C50 80131550 A202001C */ sb $v0, 0x1c($s0) -/* C7C54 80131554 8FA20050 */ lw $v0, 0x50($sp) -/* C7C58 80131558 34644000 */ ori $a0, $v1, 0x4000 -/* C7C5C 8013155C E6020008 */ swc1 $f2, 8($s0) -/* C7C60 80131560 E604000C */ swc1 $f4, 0xc($s0) -/* C7C64 80131564 E6060010 */ swc1 $f6, 0x10($s0) -/* C7C68 80131568 E6000030 */ swc1 $f0, 0x30($s0) -/* C7C6C 8013156C AE040000 */ sw $a0, ($s0) -/* C7C70 80131570 A602001E */ sh $v0, 0x1e($s0) -/* C7C74 80131574 2402FFFF */ addiu $v0, $zero, -1 -/* C7C78 80131578 A6020020 */ sh $v0, 0x20($s0) -/* C7C7C 8013157C 24020001 */ addiu $v0, $zero, 1 -/* C7C80 80131580 A202002E */ sb $v0, 0x2e($s0) -/* C7C84 80131584 2402D8F1 */ addiu $v0, $zero, -0x270f -/* C7C88 80131588 A6020034 */ sh $v0, 0x34($s0) -/* C7C8C 8013158C A6020036 */ sh $v0, 0x36($s0) -/* C7C90 80131590 A6020038 */ sh $v0, 0x38($s0) -/* C7C94 80131594 00121140 */ sll $v0, $s2, 5 -/* C7C98 80131598 3C018008 */ lui $at, %hi(gItemTable+0x18) -/* C7C9C 8013159C 00220821 */ addu $at, $at, $v0 -/* C7CA0 801315A0 942278F8 */ lhu $v0, %lo(gItemTable+0x18)($at) -/* C7CA4 801315A4 2403001E */ addiu $v1, $zero, 0x1e -/* C7CA8 801315A8 3C018015 */ lui $at, %hi(D_801565A6) -/* C7CAC 801315AC A42365A6 */ sh $v1, %lo(D_801565A6)($at) -/* C7CB0 801315B0 30421000 */ andi $v0, $v0, 0x1000 -/* C7CB4 801315B4 10400005 */ beqz $v0, .L801315CC -/* C7CB8 801315B8 3C020004 */ lui $v0, 4 -/* C7CBC 801315BC 00821025 */ or $v0, $a0, $v0 -/* C7CC0 801315C0 2403BFFF */ addiu $v1, $zero, -0x4001 -/* C7CC4 801315C4 00431024 */ and $v0, $v0, $v1 -/* C7CC8 801315C8 AE020000 */ sw $v0, ($s0) -.L801315CC: -/* C7CCC 801315CC 3C048015 */ lui $a0, %hi(ItemEntityAlternatingSpawn) -/* C7CD0 801315D0 24845D84 */ addiu $a0, $a0, %lo(ItemEntityAlternatingSpawn) -/* C7CD4 801315D4 8C820000 */ lw $v0, ($a0) -/* C7CD8 801315D8 10400005 */ beqz $v0, .L801315F0 -/* C7CDC 801315DC 3C030002 */ lui $v1, 2 -/* C7CE0 801315E0 8E020000 */ lw $v0, ($s0) -/* C7CE4 801315E4 00431025 */ or $v0, $v0, $v1 -/* C7CE8 801315E8 AE020000 */ sw $v0, ($s0) -/* C7CEC 801315EC 8C820000 */ lw $v0, ($a0) -.L801315F0: -/* C7CF0 801315F0 24030001 */ addiu $v1, $zero, 1 -/* C7CF4 801315F4 00621823 */ subu $v1, $v1, $v0 -/* C7CF8 801315F8 AC830000 */ sw $v1, ($a0) -/* C7CFC 801315FC 8203001B */ lb $v1, 0x1b($s0) -/* C7D00 80131600 2C62001C */ sltiu $v0, $v1, 0x1c -/* C7D04 80131604 104000C1 */ beqz $v0, .L8013190C -/* C7D08 80131608 00031080 */ sll $v0, $v1, 2 -/* C7D0C 8013160C 3C018015 */ lui $at, %hi(jtbl_80150AF8) -/* C7D10 80131610 00220821 */ addu $at, $at, $v0 -/* C7D14 80131614 8C220AF8 */ lw $v0, %lo(jtbl_80150AF8)($at) -/* C7D18 80131618 00400008 */ jr $v0 -/* C7D1C 8013161C 00000000 */ nop -.L80131620_C7D20: -/* C7D20 80131620 8E020000 */ lw $v0, ($s0) -/* C7D24 80131624 0804C640 */ j .L80131900 -/* C7D28 80131628 3C038000 */ lui $v1, 0x8000 -.L8013162C_C7D2C: -/* C7D2C 8013162C 8E020000 */ lw $v0, ($s0) -/* C7D30 80131630 0804C640 */ j .L80131900 -/* C7D34 80131634 3C030080 */ lui $v1, 0x80 -.L80131638_C7D38: -/* C7D38 80131638 8E020000 */ lw $v0, ($s0) -/* C7D3C 8013163C 0804C640 */ j .L80131900 -/* C7D40 80131640 3C030010 */ lui $v1, 0x10 -.L80131644_C7D44: -/* C7D44 80131644 24020003 */ addiu $v0, $zero, 3 -/* C7D48 80131648 A202001B */ sb $v0, 0x1b($s0) -/* C7D4C 8013164C 8E020000 */ lw $v0, ($s0) -/* C7D50 80131650 3C030080 */ lui $v1, 0x80 -/* C7D54 80131654 00431025 */ or $v0, $v0, $v1 -/* C7D58 80131658 0804C640 */ j .L80131900 -/* C7D5C 8013165C 3C030001 */ lui $v1, 1 -.L80131660_C7D60: -/* C7D60 80131660 3C020080 */ lui $v0, 0x80 -/* C7D64 80131664 34420600 */ ori $v0, $v0, 0x600 -/* C7D68 80131668 8E030000 */ lw $v1, ($s0) -/* C7D6C 8013166C 0804C635 */ j .L801318D4 -/* C7D70 80131670 24040003 */ addiu $a0, $zero, 3 -.L80131674_C7D74: -/* C7D74 80131674 3C020080 */ lui $v0, 0x80 -/* C7D78 80131678 34420400 */ ori $v0, $v0, 0x400 -/* C7D7C 8013167C 8E030000 */ lw $v1, ($s0) -/* C7D80 80131680 0804C635 */ j .L801318D4 -/* C7D84 80131684 24040003 */ addiu $a0, $zero, 3 -.L80131688_C7D88: -/* C7D88 80131688 3C020080 */ lui $v0, 0x80 -/* C7D8C 8013168C 34420800 */ ori $v0, $v0, 0x800 -/* C7D90 80131690 8E030000 */ lw $v1, ($s0) -/* C7D94 80131694 0804C635 */ j .L801318D4 -/* C7D98 80131698 24040003 */ addiu $a0, $zero, 3 -.L8013169C_C7D9C: -/* C7D9C 8013169C 3C020080 */ lui $v0, 0x80 -/* C7DA0 801316A0 34420A00 */ ori $v0, $v0, 0xa00 -/* C7DA4 801316A4 8E030000 */ lw $v1, ($s0) -/* C7DA8 801316A8 0804C635 */ j .L801318D4 -/* C7DAC 801316AC 24040003 */ addiu $a0, $zero, 3 -.L801316B0_C7DB0: -/* C7DB0 801316B0 3C020080 */ lui $v0, 0x80 -/* C7DB4 801316B4 34420200 */ ori $v0, $v0, 0x200 -/* C7DB8 801316B8 8E030000 */ lw $v1, ($s0) -/* C7DBC 801316BC 0804C635 */ j .L801318D4 -/* C7DC0 801316C0 24040003 */ addiu $a0, $zero, 3 -.L801316C4_C7DC4: -/* C7DC4 801316C4 3C040080 */ lui $a0, 0x80 -/* C7DC8 801316C8 34840400 */ ori $a0, $a0, 0x400 -/* C7DCC 801316CC 8E020000 */ lw $v0, ($s0) -/* C7DD0 801316D0 24030003 */ addiu $v1, $zero, 3 -/* C7DD4 801316D4 A203001B */ sb $v1, 0x1b($s0) -/* C7DD8 801316D8 0804C63F */ j .L801318FC -/* C7DDC 801316DC 3C034000 */ lui $v1, 0x4000 -.L801316E0_C7DE0: -/* C7DE0 801316E0 3C050080 */ lui $a1, 0x80 -/* C7DE4 801316E4 34A50400 */ ori $a1, $a1, 0x400 -/* C7DE8 801316E8 3C044000 */ lui $a0, 0x4000 -/* C7DEC 801316EC 34840200 */ ori $a0, $a0, 0x200 -/* C7DF0 801316F0 8E020000 */ lw $v0, ($s0) -/* C7DF4 801316F4 24030003 */ addiu $v1, $zero, 3 -/* C7DF8 801316F8 A203001B */ sb $v1, 0x1b($s0) -/* C7DFC 801316FC 00451025 */ or $v0, $v0, $a1 -/* C7E00 80131700 0804C641 */ j .L80131904 -/* C7E04 80131704 00441025 */ or $v0, $v0, $a0 -.L80131708_C7E08: -/* C7E08 80131708 8E020000 */ lw $v0, ($s0) -/* C7E0C 8013170C 0804C640 */ j .L80131900 -/* C7E10 80131710 3C030080 */ lui $v1, 0x80 -.L80131714_C7E14: -/* C7E14 80131714 3C020080 */ lui $v0, 0x80 -/* C7E18 80131718 34420600 */ ori $v0, $v0, 0x600 -/* C7E1C 8013171C 8E030000 */ lw $v1, ($s0) -/* C7E20 80131720 0804C635 */ j .L801318D4 -/* C7E24 80131724 2404000C */ addiu $a0, $zero, 0xc -.L80131728_C7E28: -/* C7E28 80131728 3C020080 */ lui $v0, 0x80 -/* C7E2C 8013172C 34420400 */ ori $v0, $v0, 0x400 -/* C7E30 80131730 8E030000 */ lw $v1, ($s0) -/* C7E34 80131734 0804C635 */ j .L801318D4 -/* C7E38 80131738 2404000C */ addiu $a0, $zero, 0xc -.L8013173C_C7E3C: -/* C7E3C 8013173C 3C020080 */ lui $v0, 0x80 -/* C7E40 80131740 34420800 */ ori $v0, $v0, 0x800 -/* C7E44 80131744 8E030000 */ lw $v1, ($s0) -/* C7E48 80131748 0804C635 */ j .L801318D4 -/* C7E4C 8013174C 2404000C */ addiu $a0, $zero, 0xc -.L80131750_C7E50: -/* C7E50 80131750 3C020080 */ lui $v0, 0x80 -/* C7E54 80131754 8E030000 */ lw $v1, ($s0) -/* C7E58 80131758 34422000 */ ori $v0, $v0, 0x2000 -/* C7E5C 8013175C 00621825 */ or $v1, $v1, $v0 -/* C7E60 80131760 0804C636 */ j .L801318D8 -/* C7E64 80131764 3C021000 */ lui $v0, 0x1000 -.L80131768_C7E68: -/* C7E68 80131768 3C040080 */ lui $a0, 0x80 -/* C7E6C 8013176C 34842600 */ ori $a0, $a0, 0x2600 -/* C7E70 80131770 8E020000 */ lw $v0, ($s0) -/* C7E74 80131774 24030010 */ addiu $v1, $zero, 0x10 -/* C7E78 80131778 A203001B */ sb $v1, 0x1b($s0) -/* C7E7C 8013177C 0804C63F */ j .L801318FC -/* C7E80 80131780 3C031000 */ lui $v1, 0x1000 -.L80131784_C7E84: -/* C7E84 80131784 3C040080 */ lui $a0, 0x80 -/* C7E88 80131788 34842400 */ ori $a0, $a0, 0x2400 -/* C7E8C 8013178C 8E020000 */ lw $v0, ($s0) -/* C7E90 80131790 24030010 */ addiu $v1, $zero, 0x10 -/* C7E94 80131794 A203001B */ sb $v1, 0x1b($s0) -/* C7E98 80131798 0804C63F */ j .L801318FC -/* C7E9C 8013179C 3C031000 */ lui $v1, 0x1000 -.L801317A0_C7EA0: -/* C7EA0 801317A0 3C040080 */ lui $a0, 0x80 -/* C7EA4 801317A4 34842200 */ ori $a0, $a0, 0x2200 -/* C7EA8 801317A8 8E020000 */ lw $v0, ($s0) -/* C7EAC 801317AC 24030010 */ addiu $v1, $zero, 0x10 -/* C7EB0 801317B0 A203001B */ sb $v1, 0x1b($s0) -/* C7EB4 801317B4 0804C63F */ j .L801318FC -/* C7EB8 801317B8 3C031000 */ lui $v1, 0x1000 -.L801317BC_C7EBC: -/* C7EBC 801317BC 3C030080 */ lui $v1, 0x80 -/* C7EC0 801317C0 34631000 */ ori $v1, $v1, 0x1000 -/* C7EC4 801317C4 8E020000 */ lw $v0, ($s0) -/* C7EC8 801317C8 3C013F4C */ lui $at, 0x3f4c -/* C7ECC 801317CC 3421CCCD */ ori $at, $at, 0xcccd -/* C7ED0 801317D0 44810000 */ mtc1 $at, $f0 -/* C7ED4 801317D4 00431025 */ or $v0, $v0, $v1 -/* C7ED8 801317D8 AE020000 */ sw $v0, ($s0) -/* C7EDC 801317DC 34424000 */ ori $v0, $v0, 0x4000 -/* C7EE0 801317E0 0804C641 */ j .L80131904 -/* C7EE4 801317E4 E6000030 */ swc1 $f0, 0x30($s0) -.L801317E8_C7EE8: -/* C7EE8 801317E8 3C030080 */ lui $v1, 0x80 -/* C7EEC 801317EC 34631000 */ ori $v1, $v1, 0x1000 -/* C7EF0 801317F0 8E020000 */ lw $v0, ($s0) -/* C7EF4 801317F4 3C013F4C */ lui $at, 0x3f4c -/* C7EF8 801317F8 3421CCCD */ ori $at, $at, 0xcccd -/* C7EFC 801317FC 44810000 */ mtc1 $at, $f0 -/* C7F00 80131800 00431025 */ or $v0, $v0, $v1 -/* C7F04 80131804 3C030001 */ lui $v1, 1 -/* C7F08 80131808 00431025 */ or $v0, $v0, $v1 -/* C7F0C 8013180C AE020000 */ sw $v0, ($s0) -/* C7F10 80131810 0040182D */ daddu $v1, $v0, $zero -/* C7F14 80131814 0804C628 */ j .L801318A0 -/* C7F18 80131818 24020017 */ addiu $v0, $zero, 0x17 -.L8013181C_C7F1C: -/* C7F1C 8013181C 3C030080 */ lui $v1, 0x80 -/* C7F20 80131820 34631000 */ ori $v1, $v1, 0x1000 -/* C7F24 80131824 8E020000 */ lw $v0, ($s0) -/* C7F28 80131828 3C013F4C */ lui $at, 0x3f4c -/* C7F2C 8013182C 3421CCCD */ ori $at, $at, 0xcccd -/* C7F30 80131830 44810000 */ mtc1 $at, $f0 -/* C7F34 80131834 00431025 */ or $v0, $v0, $v1 -/* C7F38 80131838 3C030040 */ lui $v1, 0x40 -/* C7F3C 8013183C 00431025 */ or $v0, $v0, $v1 -/* C7F40 80131840 AE020000 */ sw $v0, ($s0) -/* C7F44 80131844 0040182D */ daddu $v1, $v0, $zero -/* C7F48 80131848 0804C628 */ j .L801318A0 -/* C7F4C 8013184C 24020017 */ addiu $v0, $zero, 0x17 -.L80131850_C7F50: -/* C7F50 80131850 3C030080 */ lui $v1, 0x80 -/* C7F54 80131854 8E020000 */ lw $v0, ($s0) -/* C7F58 80131858 3C013F4C */ lui $at, 0x3f4c -/* C7F5C 8013185C 3421CCCD */ ori $at, $at, 0xcccd -/* C7F60 80131860 44810000 */ mtc1 $at, $f0 -/* C7F64 80131864 00431025 */ or $v0, $v0, $v1 -/* C7F68 80131868 AE020000 */ sw $v0, ($s0) -/* C7F6C 8013186C 0040182D */ daddu $v1, $v0, $zero -/* C7F70 80131870 0804C628 */ j .L801318A0 -/* C7F74 80131874 24020003 */ addiu $v0, $zero, 3 -.L80131878_C7F78: -/* C7F78 80131878 3C030080 */ lui $v1, 0x80 -/* C7F7C 8013187C 34638000 */ ori $v1, $v1, 0x8000 -/* C7F80 80131880 8E020000 */ lw $v0, ($s0) -/* C7F84 80131884 3C013F4C */ lui $at, 0x3f4c -/* C7F88 80131888 3421CCCD */ ori $at, $at, 0xcccd -/* C7F8C 8013188C 44810000 */ mtc1 $at, $f0 -/* C7F90 80131890 00431025 */ or $v0, $v0, $v1 -/* C7F94 80131894 AE020000 */ sw $v0, ($s0) -/* C7F98 80131898 0040182D */ daddu $v1, $v0, $zero -/* C7F9C 8013189C 24020014 */ addiu $v0, $zero, 0x14 -.L801318A0: -/* C7FA0 801318A0 34634000 */ ori $v1, $v1, 0x4000 -/* C7FA4 801318A4 A202001B */ sb $v0, 0x1b($s0) -/* C7FA8 801318A8 E6000030 */ swc1 $f0, 0x30($s0) -/* C7FAC 801318AC 0804C642 */ j .L80131908 -/* C7FB0 801318B0 AE030000 */ sw $v1, ($s0) -.L801318B4_C7FB4: -/* C7FB4 801318B4 3C030080 */ lui $v1, 0x80 -/* C7FB8 801318B8 8E020000 */ lw $v0, ($s0) -/* C7FBC 801318BC 0804C640 */ j .L80131900 -/* C7FC0 801318C0 34638200 */ ori $v1, $v1, 0x8200 -.L801318C4_C7FC4: -/* C7FC4 801318C4 3C020080 */ lui $v0, 0x80 -/* C7FC8 801318C8 34428600 */ ori $v0, $v0, 0x8600 -/* C7FCC 801318CC 8E030000 */ lw $v1, ($s0) -/* C7FD0 801318D0 24040014 */ addiu $a0, $zero, 0x14 -.L801318D4: -/* C7FD4 801318D4 A204001B */ sb $a0, 0x1b($s0) -.L801318D8: -/* C7FD8 801318D8 00621825 */ or $v1, $v1, $v0 -/* C7FDC 801318DC 0804C642 */ j .L80131908 -/* C7FE0 801318E0 AE030000 */ sw $v1, ($s0) -.L801318E4_C7FE4: -/* C7FE4 801318E4 3C040080 */ lui $a0, 0x80 -/* C7FE8 801318E8 34840600 */ ori $a0, $a0, 0x600 -/* C7FEC 801318EC 8E020000 */ lw $v0, ($s0) -/* C7FF0 801318F0 24030003 */ addiu $v1, $zero, 3 -/* C7FF4 801318F4 A203001B */ sb $v1, 0x1b($s0) -/* C7FF8 801318F8 3C030100 */ lui $v1, 0x100 -.L801318FC: -/* C7FFC 801318FC 00441025 */ or $v0, $v0, $a0 -.L80131900: -/* C8000 80131900 00431025 */ or $v0, $v0, $v1 -.L80131904: -/* C8004 80131904 AE020000 */ sw $v0, ($s0) -.L80131908: -/* C8008 80131908 8203001B */ lb $v1, 0x1b($s0) -.L8013190C: -/* C800C 8013190C 2C620015 */ sltiu $v0, $v1, 0x15 -/* C8010 80131910 1040003E */ beqz $v0, .L80131A0C_C810C -/* C8014 80131914 00031080 */ sll $v0, $v1, 2 -/* C8018 80131918 3C018015 */ lui $at, %hi(jtbl_80150B68) -/* C801C 8013191C 00220821 */ addu $at, $at, $v0 -/* C8020 80131920 8C220B68 */ lw $v0, %lo(jtbl_80150B68)($at) -/* C8024 80131924 00400008 */ jr $v0 -/* C8028 80131928 00000000 */ nop -.L8013192C_C802C: -/* C802C 8013192C 8E050008 */ lw $a1, 8($s0) -/* C8030 80131930 8E06000C */ lw $a2, 0xc($s0) -/* C8034 80131934 8E070010 */ lw $a3, 0x10($s0) -/* C8038 80131938 0C044898 */ jal create_shadow_type -/* C803C 8013193C 0000202D */ daddu $a0, $zero, $zero -/* C8040 80131940 00022400 */ sll $a0, $v0, 0x10 -/* C8044 80131944 00042403 */ sra $a0, $a0, 0x10 -/* C8048 80131948 0C044181 */ jal get_shadow_by_index -/* C804C 8013194C A6020020 */ sh $v0, 0x20($s0) -/* C8050 80131950 0040882D */ daddu $s1, $v0, $zero -/* C8054 80131954 8203001B */ lb $v1, 0x1b($s0) -/* C8058 80131958 24020014 */ addiu $v0, $zero, 0x14 -/* C805C 8013195C 14620004 */ bne $v1, $v0, .L80131970 -/* C8060 80131960 3C040002 */ lui $a0, 2 -/* C8064 80131964 8E220000 */ lw $v0, ($s1) -/* C8068 80131968 34420001 */ ori $v0, $v0, 1 -/* C806C 8013196C AE220000 */ sw $v0, ($s1) -.L80131970: -/* C8070 80131970 27A5003C */ addiu $a1, $sp, 0x3c -/* C8074 80131974 27A60040 */ addiu $a2, $sp, 0x40 -/* C8078 80131978 27A70044 */ addiu $a3, $sp, 0x44 -/* C807C 8013197C 27A20018 */ addiu $v0, $sp, 0x18 -/* C8080 80131980 C6080008 */ lwc1 $f8, 8($s0) -/* C8084 80131984 C600000C */ lwc1 $f0, 0xc($s0) -/* C8088 80131988 3C014140 */ lui $at, 0x4140 -/* C808C 8013198C 44811000 */ mtc1 $at, $f2 -/* C8090 80131990 C6040010 */ lwc1 $f4, 0x10($s0) -/* C8094 80131994 3C01447A */ lui $at, 0x447a -/* C8098 80131998 44813000 */ mtc1 $at, $f6 -/* C809C 8013199C 46020000 */ add.s $f0, $f0, $f2 -/* C80A0 801319A0 E7A8003C */ swc1 $f8, 0x3c($sp) -/* C80A4 801319A4 E7A40044 */ swc1 $f4, 0x44($sp) -/* C80A8 801319A8 E7A00040 */ swc1 $f0, 0x40($sp) -/* C80AC 801319AC E7A60018 */ swc1 $f6, 0x18($sp) -/* C80B0 801319B0 0C0372DF */ jal npc_raycast_down_sides -/* C80B4 801319B4 AFA20010 */ sw $v0, 0x10($sp) -/* C80B8 801319B8 C7A0003C */ lwc1 $f0, 0x3c($sp) -/* C80BC 801319BC C7A20040 */ lwc1 $f2, 0x40($sp) -/* C80C0 801319C0 C7A40044 */ lwc1 $f4, 0x44($sp) -/* C80C4 801319C4 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* C80C8 801319C8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* C80CC 801319CC E6200010 */ swc1 $f0, 0x10($s1) -/* C80D0 801319D0 E6220014 */ swc1 $f2, 0x14($s1) -/* C80D4 801319D4 E6240018 */ swc1 $f4, 0x18($s1) -/* C80D8 801319D8 C7A20018 */ lwc1 $f2, 0x18($sp) -/* C80DC 801319DC 3C013F00 */ lui $at, 0x3f00 -/* C80E0 801319E0 44810000 */ mtc1 $at, $f0 -/* C80E4 801319E4 C444011C */ lwc1 $f4, 0x11c($v0) -/* C80E8 801319E8 46001082 */ mul.s $f2, $f2, $f0 -/* C80EC 801319EC 00000000 */ nop -/* C80F0 801319F0 AE20002C */ sw $zero, 0x2c($s1) -/* C80F4 801319F4 E6240028 */ swc1 $f4, 0x28($s1) -/* C80F8 801319F8 C4400124 */ lwc1 $f0, 0x124($v0) -/* C80FC 801319FC 44051000 */ mfc1 $a1, $f2 -/* C8100 80131A00 0220202D */ daddu $a0, $s1, $zero -/* C8104 80131A04 0C044A17 */ jal set_standard_shadow_scale -/* C8108 80131A08 E4800030 */ swc1 $f0, 0x30($a0) -.L80131A0C_C810C: -/* C810C 80131A0C 9202001C */ lbu $v0, 0x1c($s0) -/* C8110 80131A10 10400003 */ beqz $v0, .L80131A20 -/* C8114 80131A14 00000000 */ nop -/* C8118 80131A18 0C04C3DC */ jal item_entity_disable_shadow -/* C811C 80131A1C 0200202D */ daddu $a0, $s0, $zero -.L80131A20: -/* C8120 80131A20 0C04C44A */ jal item_entity_load -/* C8124 80131A24 0200202D */ daddu $a0, $s0, $zero -/* C8128 80131A28 86030018 */ lh $v1, 0x18($s0) -/* C812C 80131A2C 24020157 */ addiu $v0, $zero, 0x157 -/* C8130 80131A30 14620009 */ bne $v1, $v0, .L80131A58 -/* C8134 80131A34 2402015C */ addiu $v0, $zero, 0x15c -/* C8138 80131A38 3C058010 */ lui $a1, %hi(SparkleScript_Coin) -/* C813C 80131A3C 24A54AC0 */ addiu $a1, $a1, %lo(SparkleScript_Coin) -/* C8140 80131A40 0C04C27C */ jal sparkle_script_init -/* C8144 80131A44 0200202D */ daddu $a0, $s0, $zero -/* C8148 80131A48 0C04C2B3 */ jal sparkle_script_update -/* C814C 80131A4C 0200202D */ daddu $a0, $s0, $zero -/* C8150 80131A50 86030018 */ lh $v1, 0x18($s0) -/* C8154 80131A54 2402015C */ addiu $v0, $zero, 0x15c -.L80131A58: -/* C8158 80131A58 14620006 */ bne $v1, $v0, .L80131A74 -/* C815C 80131A5C 0280102D */ daddu $v0, $s4, $zero -/* C8160 80131A60 8E020000 */ lw $v0, ($s0) -/* C8164 80131A64 2403FF7F */ addiu $v1, $zero, -0x81 -/* C8168 80131A68 00431024 */ and $v0, $v0, $v1 -/* C816C 80131A6C AE020000 */ sw $v0, ($s0) -/* C8170 80131A70 0280102D */ daddu $v0, $s4, $zero -.L80131A74: -/* C8174 80131A74 8FBF0034 */ lw $ra, 0x34($sp) -/* C8178 80131A78 8FB40030 */ lw $s4, 0x30($sp) -/* C817C 80131A7C 8FB3002C */ lw $s3, 0x2c($sp) -/* C8180 80131A80 8FB20028 */ lw $s2, 0x28($sp) -/* C8184 80131A84 8FB10024 */ lw $s1, 0x24($sp) -/* C8188 80131A88 8FB00020 */ lw $s0, 0x20($sp) -/* C818C 80131A8C 03E00008 */ jr $ra -/* C8190 80131A90 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/main/gfx_task_main.s b/ver/us/asm/nonmatchings/main/gfx_task_main.s deleted file mode 100644 index ff18c7e92a..0000000000 --- a/ver/us/asm/nonmatchings/main/gfx_task_main.s +++ /dev/null @@ -1,370 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel gfx_task_main -/* 1564 80026164 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 1568 80026168 3C048007 */ lui $a0, %hi(gCurrentDisplayContextIndex) -/* 156C 8002616C 8C8441F4 */ lw $a0, %lo(gCurrentDisplayContextIndex)($a0) -/* 1570 80026170 3C058016 */ lui $a1, %hi(D_80164000) -/* 1574 80026174 24A54000 */ addiu $a1, $a1, %lo(D_80164000) -/* 1578 80026178 AFB20020 */ sw $s2, 0x20($sp) -/* 157C 8002617C 3C12800A */ lui $s2, %hi(gMasterGfxPos) -/* 1580 80026180 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos) -/* 1584 80026184 AFBF003C */ sw $ra, 0x3c($sp) -/* 1588 80026188 AFBE0038 */ sw $fp, 0x38($sp) -/* 158C 8002618C AFB70034 */ sw $s7, 0x34($sp) -/* 1590 80026190 AFB60030 */ sw $s6, 0x30($sp) -/* 1594 80026194 AFB5002C */ sw $s5, 0x2c($sp) -/* 1598 80026198 AFB40028 */ sw $s4, 0x28($sp) -/* 159C 8002619C AFB30024 */ sw $s3, 0x24($sp) -/* 15A0 800261A0 AFB1001C */ sw $s1, 0x1c($sp) -/* 15A4 800261A4 AFB00018 */ sw $s0, 0x18($sp) -/* 15A8 800261A8 3C018007 */ lui $at, %hi(gMatrixListPos) -/* 15AC 800261AC A42041F0 */ sh $zero, %lo(gMatrixListPos)($at) -/* 15B0 800261B0 00041040 */ sll $v0, $a0, 1 -/* 15B4 800261B4 00441021 */ addu $v0, $v0, $a0 -/* 15B8 800261B8 000210C0 */ sll $v0, $v0, 3 -/* 15BC 800261BC 00441021 */ addu $v0, $v0, $a0 -/* 15C0 800261C0 00021980 */ sll $v1, $v0, 6 -/* 15C4 800261C4 00431021 */ addu $v0, $v0, $v1 -/* 15C8 800261C8 00021080 */ sll $v0, $v0, 2 -/* 15CC 800261CC 00441023 */ subu $v0, $v0, $a0 -/* 15D0 800261D0 00021100 */ sll $v0, $v0, 4 -/* 15D4 800261D4 00451021 */ addu $v0, $v0, $a1 -/* 15D8 800261D8 3C01800A */ lui $at, %hi(gDisplayContext) -/* 15DC 800261DC AC22A674 */ sw $v0, %lo(gDisplayContext)($at) -/* 15E0 800261E0 24420230 */ addiu $v0, $v0, 0x230 -/* 15E4 800261E4 AE420000 */ sw $v0, ($s2) -/* 15E8 800261E8 3C118007 */ lui $s1, %hi(D_80073E04) -/* 15EC 800261EC 8E313E04 */ lw $s1, %lo(D_80073E04)($s1) -/* 15F0 800261F0 0C009C68 */ jal gfx_init_state -/* 15F4 800261F4 3C13070F */ lui $s3, 0x70f -/* 15F8 800261F8 3C06FF10 */ lui $a2, 0xff10 -/* 15FC 800261FC 34C6013F */ ori $a2, $a2, 0x13f -/* 1600 80026200 3C02FE00 */ lui $v0, 0xfe00 -/* 1604 80026204 8E500000 */ lw $s0, ($s2) -/* 1608 80026208 3C038000 */ lui $v1, 0x8000 -/* 160C 8002620C 0200282D */ daddu $a1, $s0, $zero -/* 1610 80026210 26100008 */ addiu $s0, $s0, 8 -/* 1614 80026214 AE500000 */ sw $s0, ($s2) -/* 1618 80026218 ACA20000 */ sw $v0, ($a1) -/* 161C 8002621C 3C02800A */ lui $v0, %hi(nuGfxZBuffer) -/* 1620 80026220 8C42A5DC */ lw $v0, %lo(nuGfxZBuffer)($v0) -/* 1624 80026224 0220202D */ daddu $a0, $s1, $zero -/* 1628 80026228 00431021 */ addu $v0, $v0, $v1 -/* 162C 8002622C ACA20004 */ sw $v0, 4($a1) -/* 1630 80026230 26020008 */ addiu $v0, $s0, 8 -/* 1634 80026234 AE420000 */ sw $v0, ($s2) -/* 1638 80026238 0C0187A4 */ jal osVirtualToPhysical -/* 163C 8002623C AE060000 */ sw $a2, ($s0) -/* 1640 80026240 3C050050 */ lui $a1, 0x50 -/* 1644 80026244 34A503C0 */ ori $a1, $a1, 0x3c0 -/* 1648 80026248 3C06D700 */ lui $a2, 0xd700 -/* 164C 8002624C 34C60002 */ ori $a2, $a2, 2 -/* 1650 80026250 3C07E300 */ lui $a3, 0xe300 -/* 1654 80026254 34E70A01 */ ori $a3, $a3, 0xa01 -/* 1658 80026258 3C08E300 */ lui $t0, 0xe300 -/* 165C 8002625C 35080C00 */ ori $t0, $t0, 0xc00 -/* 1660 80026260 3C09E300 */ lui $t1, 0xe300 -/* 1664 80026264 35291001 */ ori $t1, $t1, 0x1001 -/* 1668 80026268 3C0BE200 */ lui $t3, 0xe200 -/* 166C 8002626C 356B001C */ ori $t3, $t3, 0x1c -/* 1670 80026270 3C0A0F0A */ lui $t2, 0xf0a -/* 1674 80026274 354A4000 */ ori $t2, $t2, 0x4000 -/* 1678 80026278 3C0CE300 */ lui $t4, 0xe300 -/* 167C 8002627C 358C1201 */ ori $t4, $t4, 0x1201 -/* 1680 80026280 3C0DFCFF */ lui $t5, 0xfcff -/* 1684 80026284 35ADFFFF */ ori $t5, $t5, 0xffff -/* 1688 80026288 3C0EE200 */ lui $t6, 0xe200 -/* 168C 8002628C 35CE1E01 */ ori $t6, $t6, 0x1e01 -/* 1690 80026290 3C0FFD88 */ lui $t7, 0xfd88 -/* 1694 80026294 35EF003F */ ori $t7, $t7, 0x3f -/* 1698 80026298 3C11F588 */ lui $s1, 0xf588 -/* 169C 8002629C 36311000 */ ori $s1, $s1, 0x1000 -/* 16A0 800262A0 3673E01C */ ori $s3, $s3, 0xe01c -/* 16A4 800262A4 3C14F580 */ lui $s4, 0xf580 -/* 16A8 800262A8 36941000 */ ori $s4, $s4, 0x1000 -/* 16AC 800262AC 3C15001F */ lui $s5, 0x1f -/* 16B0 800262B0 36B5C01C */ ori $s5, $s5, 0xc01c -/* 16B4 800262B4 0000B02D */ daddu $s6, $zero, $zero -/* 16B8 800262B8 3C17E400 */ lui $s7, 0xe400 -/* 16BC 800262BC 3C19E100 */ lui $t9, 0xe100 -/* 16C0 800262C0 3C18F100 */ lui $t8, 0xf100 -/* 16C4 800262C4 8E430000 */ lw $v1, ($s2) -/* 16C8 800262C8 241E0098 */ addiu $fp, $zero, 0x98 -/* 16CC 800262CC AE020004 */ sw $v0, 4($s0) -/* 16D0 800262D0 3C02ED00 */ lui $v0, 0xed00 -/* 16D4 800262D4 0060202D */ daddu $a0, $v1, $zero -/* 16D8 800262D8 24630008 */ addiu $v1, $v1, 8 -/* 16DC 800262DC AE430000 */ sw $v1, ($s2) -/* 16E0 800262E0 AC820000 */ sw $v0, ($a0) -/* 16E4 800262E4 24620008 */ addiu $v0, $v1, 8 -/* 16E8 800262E8 AC850004 */ sw $a1, 4($a0) -/* 16EC 800262EC AE420000 */ sw $v0, ($s2) -/* 16F0 800262F0 2402FFFF */ addiu $v0, $zero, -1 -/* 16F4 800262F4 AC620004 */ sw $v0, 4($v1) -/* 16F8 800262F8 24620010 */ addiu $v0, $v1, 0x10 -/* 16FC 800262FC AC660000 */ sw $a2, ($v1) -/* 1700 80026300 AE420000 */ sw $v0, ($s2) -/* 1704 80026304 24620018 */ addiu $v0, $v1, 0x18 -/* 1708 80026308 AC670008 */ sw $a3, 8($v1) -/* 170C 8002630C AC60000C */ sw $zero, 0xc($v1) -/* 1710 80026310 AE420000 */ sw $v0, ($s2) -/* 1714 80026314 24620020 */ addiu $v0, $v1, 0x20 -/* 1718 80026318 AC680010 */ sw $t0, 0x10($v1) -/* 171C 8002631C AC600014 */ sw $zero, 0x14($v1) -/* 1720 80026320 AE420000 */ sw $v0, ($s2) -/* 1724 80026324 24620028 */ addiu $v0, $v1, 0x28 -/* 1728 80026328 AC690018 */ sw $t1, 0x18($v1) -/* 172C 8002632C AC60001C */ sw $zero, 0x1c($v1) -/* 1730 80026330 AE420000 */ sw $v0, ($s2) -/* 1734 80026334 24620030 */ addiu $v0, $v1, 0x30 -/* 1738 80026338 AC6B0020 */ sw $t3, 0x20($v1) -/* 173C 8002633C AC6A0024 */ sw $t2, 0x24($v1) -/* 1740 80026340 AE420000 */ sw $v0, ($s2) -/* 1744 80026344 24620038 */ addiu $v0, $v1, 0x38 -/* 1748 80026348 AC6C0028 */ sw $t4, 0x28($v1) -/* 174C 8002634C AC60002C */ sw $zero, 0x2c($v1) -/* 1750 80026350 AE420000 */ sw $v0, ($s2) -/* 1754 80026354 2402F3F9 */ addiu $v0, $zero, -0xc07 -/* 1758 80026358 AC620034 */ sw $v0, 0x34($v1) -/* 175C 8002635C 24620040 */ addiu $v0, $v1, 0x40 -/* 1760 80026360 AC6D0030 */ sw $t5, 0x30($v1) -/* 1764 80026364 AE420000 */ sw $v0, ($s2) -/* 1768 80026368 24020001 */ addiu $v0, $zero, 1 -/* 176C 8002636C AC62003C */ sw $v0, 0x3c($v1) -/* 1770 80026370 24620048 */ addiu $v0, $v1, 0x48 -/* 1774 80026374 AC6E0038 */ sw $t6, 0x38($v1) -/* 1778 80026378 AE420000 */ sw $v0, ($s2) -/* 177C 8002637C 3C02F900 */ lui $v0, 0xf900 -/* 1780 80026380 AC620040 */ sw $v0, 0x40($v1) -/* 1784 80026384 2402007F */ addiu $v0, $zero, 0x7f -/* 1788 80026388 AC620044 */ sw $v0, 0x44($v1) -/* 178C 8002638C 24620050 */ addiu $v0, $v1, 0x50 -/* 1790 80026390 AE420000 */ sw $v0, ($s2) -/* 1794 80026394 3C028007 */ lui $v0, %hi(D_80073E10) -/* 1798 80026398 24423E10 */ addiu $v0, $v0, %lo(D_80073E10) -/* 179C 8002639C AC6F0048 */ sw $t7, 0x48($v1) -/* 17A0 800263A0 AC62004C */ sw $v0, 0x4c($v1) -/* 17A4 800263A4 24620058 */ addiu $v0, $v1, 0x58 -/* 17A8 800263A8 AE420000 */ sw $v0, ($s2) -/* 17AC 800263AC 3C020700 */ lui $v0, 0x700 -/* 17B0 800263B0 AC620054 */ sw $v0, 0x54($v1) -/* 17B4 800263B4 24620060 */ addiu $v0, $v1, 0x60 -/* 17B8 800263B8 AC710050 */ sw $s1, 0x50($v1) -/* 17BC 800263BC AE420000 */ sw $v0, ($s2) -/* 17C0 800263C0 3C02E600 */ lui $v0, 0xe600 -/* 17C4 800263C4 AC620058 */ sw $v0, 0x58($v1) -/* 17C8 800263C8 24620068 */ addiu $v0, $v1, 0x68 -/* 17CC 800263CC AC60005C */ sw $zero, 0x5c($v1) -/* 17D0 800263D0 AE420000 */ sw $v0, ($s2) -/* 17D4 800263D4 3C02F400 */ lui $v0, 0xf400 -/* 17D8 800263D8 AC620060 */ sw $v0, 0x60($v1) -/* 17DC 800263DC 24620070 */ addiu $v0, $v1, 0x70 -/* 17E0 800263E0 AC730064 */ sw $s3, 0x64($v1) -/* 17E4 800263E4 AE420000 */ sw $v0, ($s2) -/* 17E8 800263E8 3C02E700 */ lui $v0, 0xe700 -/* 17EC 800263EC AC620068 */ sw $v0, 0x68($v1) -/* 17F0 800263F0 24620078 */ addiu $v0, $v1, 0x78 -/* 17F4 800263F4 AC60006C */ sw $zero, 0x6c($v1) -/* 17F8 800263F8 AE420000 */ sw $v0, ($s2) -/* 17FC 800263FC 24620080 */ addiu $v0, $v1, 0x80 -/* 1800 80026400 AC740070 */ sw $s4, 0x70($v1) -/* 1804 80026404 AC600074 */ sw $zero, 0x74($v1) -/* 1808 80026408 AE420000 */ sw $v0, ($s2) -/* 180C 8002640C 3C02F200 */ lui $v0, 0xf200 -/* 1810 80026410 AC620078 */ sw $v0, 0x78($v1) -/* 1814 80026414 AC75007C */ sw $s5, 0x7c($v1) -/* 1818 80026418 0000702D */ daddu $t6, $zero, $zero -.L8002641C: -/* 181C 8002641C 00161C00 */ sll $v1, $s6, 0x10 -/* 1820 80026420 00031C03 */ sra $v1, $v1, 0x10 -/* 1824 80026424 2474000E */ addiu $s4, $v1, 0xe -/* 1828 80026428 000318C0 */ sll $v1, $v1, 3 -/* 182C 8002642C 246200A8 */ addiu $v0, $v1, 0xa8 -/* 1830 80026430 00021080 */ sll $v0, $v0, 2 -/* 1834 80026434 30420FFF */ andi $v0, $v0, 0xfff -/* 1838 80026438 00029B00 */ sll $s3, $v0, 0xc -/* 183C 8002643C 246200A0 */ addiu $v0, $v1, 0xa0 -/* 1840 80026440 00021080 */ sll $v0, $v0, 2 -/* 1844 80026444 30420FFF */ andi $v0, $v0, 0xfff -/* 1848 80026448 00028B00 */ sll $s1, $v0, 0xc -/* 184C 8002644C 241500A0 */ addiu $s5, $zero, 0xa0 -/* 1850 80026450 02A31023 */ subu $v0, $s5, $v1 -/* 1854 80026454 00021080 */ sll $v0, $v0, 2 -/* 1858 80026458 30420FFF */ andi $v0, $v0, 0xfff -/* 185C 8002645C 00028300 */ sll $s0, $v0, 0xc -/* 1860 80026460 03C31823 */ subu $v1, $fp, $v1 -/* 1864 80026464 00031880 */ sll $v1, $v1, 2 -/* 1868 80026468 30630FFF */ andi $v1, $v1, 0xfff -/* 186C 8002646C 00037B00 */ sll $t7, $v1, 0xc -/* 1870 80026470 000E1400 */ sll $v0, $t6, 0x10 -.L80026474: -/* 1874 80026474 00023C03 */ sra $a3, $v0, 0x10 -/* 1878 80026478 02871823 */ subu $v1, $s4, $a3 -/* 187C 8002647C 24020021 */ addiu $v0, $zero, 0x21 -/* 1880 80026480 00431023 */ subu $v0, $v0, $v1 -/* 1884 80026484 00021FC2 */ srl $v1, $v0, 0x1f -/* 1888 80026488 00431021 */ addu $v0, $v0, $v1 -/* 188C 8002648C 3C038007 */ lui $v1, %hi(D_80074010) -/* 1890 80026490 94634010 */ lhu $v1, %lo(D_80074010)($v1) -/* 1894 80026494 00021043 */ sra $v0, $v0, 1 -/* 1898 80026498 2463FFF1 */ addiu $v1, $v1, -0xf -/* 189C 8002649C 00431023 */ subu $v0, $v0, $v1 -/* 18A0 800264A0 00021400 */ sll $v0, $v0, 0x10 -/* 18A4 800264A4 00026C03 */ sra $t5, $v0, 0x10 -/* 18A8 800264A8 29A20010 */ slti $v0, $t5, 0x10 -/* 18AC 800264AC 1040005C */ beqz $v0, .L80026620 -/* 18B0 800264B0 25C20001 */ addiu $v0, $t6, 1 -/* 18B4 800264B4 05A2005B */ bltzl $t5, .L80026624 -/* 18B8 800264B8 0040702D */ daddu $t6, $v0, $zero -/* 18BC 800264BC 3C060400 */ lui $a2, 0x400 -/* 18C0 800264C0 34C60400 */ ori $a2, $a2, 0x400 -/* 18C4 800264C4 3C0A0400 */ lui $t2, 0x400 -/* 18C8 800264C8 354AFC00 */ ori $t2, $t2, 0xfc00 -/* 18CC 800264CC 3C0BFC00 */ lui $t3, 0xfc00 -/* 18D0 800264D0 356B0400 */ ori $t3, $t3, 0x400 -/* 18D4 800264D4 3C0CFC00 */ lui $t4, 0xfc00 -/* 18D8 800264D8 358CFC00 */ ori $t4, $t4, 0xfc00 -/* 18DC 800264DC 000748C0 */ sll $t1, $a3, 3 -/* 18E0 800264E0 25240008 */ addiu $a0, $t1, 8 -/* 18E4 800264E4 00042080 */ sll $a0, $a0, 2 -/* 18E8 800264E8 30840FFF */ andi $a0, $a0, 0xfff -/* 18EC 800264EC 00972025 */ or $a0, $a0, $s7 -/* 18F0 800264F0 02641025 */ or $v0, $s3, $a0 -/* 18F4 800264F4 00073940 */ sll $a3, $a3, 5 -/* 18F8 800264F8 30E70FFF */ andi $a3, $a3, 0xfff -/* 18FC 800264FC 000D4600 */ sll $t0, $t5, 0x18 -/* 1900 80026500 8E430000 */ lw $v1, ($s2) -/* 1904 80026504 02042025 */ or $a0, $s0, $a0 -/* 1908 80026508 0060282D */ daddu $a1, $v1, $zero -/* 190C 8002650C 24630008 */ addiu $v1, $v1, 8 -/* 1910 80026510 AE430000 */ sw $v1, ($s2) -/* 1914 80026514 ACA20000 */ sw $v0, ($a1) -/* 1918 80026518 02271025 */ or $v0, $s1, $a3 -/* 191C 8002651C ACA20004 */ sw $v0, 4($a1) -/* 1920 80026520 24620008 */ addiu $v0, $v1, 8 -/* 1924 80026524 AE420000 */ sw $v0, ($s2) -/* 1928 80026528 24620010 */ addiu $v0, $v1, 0x10 -/* 192C 8002652C AC790000 */ sw $t9, ($v1) -/* 1930 80026530 AC680004 */ sw $t0, 4($v1) -/* 1934 80026534 AE420000 */ sw $v0, ($s2) -/* 1938 80026538 24620018 */ addiu $v0, $v1, 0x18 -/* 193C 8002653C 240500F0 */ addiu $a1, $zero, 0xf0 -/* 1940 80026540 00A92823 */ subu $a1, $a1, $t1 -/* 1944 80026544 00052880 */ sll $a1, $a1, 2 -/* 1948 80026548 30A50FFF */ andi $a1, $a1, 0xfff -/* 194C 8002654C 00B72825 */ or $a1, $a1, $s7 -/* 1950 80026550 AC780008 */ sw $t8, 8($v1) -/* 1954 80026554 AC66000C */ sw $a2, 0xc($v1) -/* 1958 80026558 AE420000 */ sw $v0, ($s2) -/* 195C 8002655C 02651025 */ or $v0, $s3, $a1 -/* 1960 80026560 240600E8 */ addiu $a2, $zero, 0xe8 -/* 1964 80026564 00C93023 */ subu $a2, $a2, $t1 -/* 1968 80026568 00063080 */ sll $a2, $a2, 2 -/* 196C 8002656C 30C60FFF */ andi $a2, $a2, 0xfff -/* 1970 80026570 AC620010 */ sw $v0, 0x10($v1) -/* 1974 80026574 02261025 */ or $v0, $s1, $a2 -/* 1978 80026578 AC620014 */ sw $v0, 0x14($v1) -/* 197C 8002657C 24620020 */ addiu $v0, $v1, 0x20 -/* 1980 80026580 350800E0 */ ori $t0, $t0, 0xe0 -/* 1984 80026584 AE420000 */ sw $v0, ($s2) -/* 1988 80026588 24620028 */ addiu $v0, $v1, 0x28 -/* 198C 8002658C AC790018 */ sw $t9, 0x18($v1) -/* 1990 80026590 AC68001C */ sw $t0, 0x1c($v1) -/* 1994 80026594 AE420000 */ sw $v0, ($s2) -/* 1998 80026598 24620030 */ addiu $v0, $v1, 0x30 -/* 199C 8002659C 01E73825 */ or $a3, $t7, $a3 -/* 19A0 800265A0 AC780020 */ sw $t8, 0x20($v1) -/* 19A4 800265A4 AC6A0024 */ sw $t2, 0x24($v1) -/* 19A8 800265A8 AE420000 */ sw $v0, ($s2) -/* 19AC 800265AC 24620038 */ addiu $v0, $v1, 0x38 -/* 19B0 800265B0 AC640028 */ sw $a0, 0x28($v1) -/* 19B4 800265B4 000D2200 */ sll $a0, $t5, 8 -/* 19B8 800265B8 348400E0 */ ori $a0, $a0, 0xe0 -/* 19BC 800265BC 00042400 */ sll $a0, $a0, 0x10 -/* 19C0 800265C0 AC67002C */ sw $a3, 0x2c($v1) -/* 19C4 800265C4 AE420000 */ sw $v0, ($s2) -/* 19C8 800265C8 24620040 */ addiu $v0, $v1, 0x40 -/* 19CC 800265CC AC790030 */ sw $t9, 0x30($v1) -/* 19D0 800265D0 AC640034 */ sw $a0, 0x34($v1) -/* 19D4 800265D4 AE420000 */ sw $v0, ($s2) -/* 19D8 800265D8 24620048 */ addiu $v0, $v1, 0x48 -/* 19DC 800265DC 02052825 */ or $a1, $s0, $a1 -/* 19E0 800265E0 01E63025 */ or $a2, $t7, $a2 -/* 19E4 800265E4 AC780038 */ sw $t8, 0x38($v1) -/* 19E8 800265E8 AC6B003C */ sw $t3, 0x3c($v1) -/* 19EC 800265EC AE420000 */ sw $v0, ($s2) -/* 19F0 800265F0 24620050 */ addiu $v0, $v1, 0x50 -/* 19F4 800265F4 348400E0 */ ori $a0, $a0, 0xe0 -/* 19F8 800265F8 AC650040 */ sw $a1, 0x40($v1) -/* 19FC 800265FC AC660044 */ sw $a2, 0x44($v1) -/* 1A00 80026600 AE420000 */ sw $v0, ($s2) -/* 1A04 80026604 24620058 */ addiu $v0, $v1, 0x58 -/* 1A08 80026608 AC790048 */ sw $t9, 0x48($v1) -/* 1A0C 8002660C AC64004C */ sw $a0, 0x4c($v1) -/* 1A10 80026610 AE420000 */ sw $v0, ($s2) -/* 1A14 80026614 AC780050 */ sw $t8, 0x50($v1) -/* 1A18 80026618 AC6C0054 */ sw $t4, 0x54($v1) -/* 1A1C 8002661C 25C20001 */ addiu $v0, $t6, 1 -.L80026620: -/* 1A20 80026620 0040702D */ daddu $t6, $v0, $zero -.L80026624: -/* 1A24 80026624 00021400 */ sll $v0, $v0, 0x10 -/* 1A28 80026628 00021403 */ sra $v0, $v0, 0x10 -/* 1A2C 8002662C 2842000F */ slti $v0, $v0, 0xf -/* 1A30 80026630 1440FF90 */ bnez $v0, .L80026474 -/* 1A34 80026634 000E1400 */ sll $v0, $t6, 0x10 -/* 1A38 80026638 26C20001 */ addiu $v0, $s6, 1 -/* 1A3C 8002663C 0040B02D */ daddu $s6, $v0, $zero -/* 1A40 80026640 00021400 */ sll $v0, $v0, 0x10 -/* 1A44 80026644 00021403 */ sra $v0, $v0, 0x10 -/* 1A48 80026648 28420014 */ slti $v0, $v0, 0x14 -/* 1A4C 8002664C 1440FF73 */ bnez $v0, .L8002641C -/* 1A50 80026650 0000702D */ daddu $t6, $zero, $zero -/* 1A54 80026654 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* 1A58 80026658 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* 1A5C 8002665C 3C038007 */ lui $v1, %hi(D_80074010) -/* 1A60 80026660 24634010 */ addiu $v1, $v1, %lo(D_80074010) -/* 1A64 80026664 8CC50000 */ lw $a1, ($a2) -/* 1A68 80026668 3C08800A */ lui $t0, %hi(gDisplayContext) -/* 1A6C 8002666C 8D08A674 */ lw $t0, %lo(gDisplayContext)($t0) -/* 1A70 80026670 94620000 */ lhu $v0, ($v1) -/* 1A74 80026674 00A0382D */ daddu $a3, $a1, $zero -/* 1A78 80026678 24A50008 */ addiu $a1, $a1, 8 -/* 1A7C 8002667C 25040230 */ addiu $a0, $t0, 0x230 -/* 1A80 80026680 24420001 */ addiu $v0, $v0, 1 -/* 1A84 80026684 A4620000 */ sh $v0, ($v1) -/* 1A88 80026688 3C02E900 */ lui $v0, 0xe900 -/* 1A8C 8002668C ACC50000 */ sw $a1, ($a2) -/* 1A90 80026690 ACE20000 */ sw $v0, ($a3) -/* 1A94 80026694 24A20008 */ addiu $v0, $a1, 8 -/* 1A98 80026698 ACE00004 */ sw $zero, 4($a3) -/* 1A9C 8002669C ACC20000 */ sw $v0, ($a2) -/* 1AA0 800266A0 3C02DF00 */ lui $v0, 0xdf00 -/* 1AA4 800266A4 ACA20000 */ sw $v0, ($a1) -/* 1AA8 800266A8 ACA00004 */ sw $zero, 4($a1) -/* 1AAC 800266AC 24A5FDD8 */ addiu $a1, $a1, -0x228 -/* 1AB0 800266B0 00A82823 */ subu $a1, $a1, $t0 -/* 1AB4 800266B4 000528C3 */ sra $a1, $a1, 3 -/* 1AB8 800266B8 000528C0 */ sll $a1, $a1, 3 -/* 1ABC 800266BC 0000302D */ daddu $a2, $zero, $zero -/* 1AC0 800266C0 0C00B331 */ jal nuGfxTaskStart -/* 1AC4 800266C4 3C070004 */ lui $a3, 4 -/* 1AC8 800266C8 3C038007 */ lui $v1, %hi(gCurrentDisplayContextIndex) -/* 1ACC 800266CC 246341F4 */ addiu $v1, $v1, %lo(gCurrentDisplayContextIndex) -/* 1AD0 800266D0 8C620000 */ lw $v0, ($v1) -/* 1AD4 800266D4 38420001 */ xori $v0, $v0, 1 -/* 1AD8 800266D8 AC620000 */ sw $v0, ($v1) -/* 1ADC 800266DC 8FBF003C */ lw $ra, 0x3c($sp) -/* 1AE0 800266E0 8FBE0038 */ lw $fp, 0x38($sp) -/* 1AE4 800266E4 8FB70034 */ lw $s7, 0x34($sp) -/* 1AE8 800266E8 8FB60030 */ lw $s6, 0x30($sp) -/* 1AEC 800266EC 8FB5002C */ lw $s5, 0x2c($sp) -/* 1AF0 800266F0 8FB40028 */ lw $s4, 0x28($sp) -/* 1AF4 800266F4 8FB30024 */ lw $s3, 0x24($sp) -/* 1AF8 800266F8 8FB20020 */ lw $s2, 0x20($sp) -/* 1AFC 800266FC 8FB1001C */ lw $s1, 0x1c($sp) -/* 1B00 80026700 8FB00018 */ lw $s0, 0x18($sp) -/* 1B04 80026704 03E00008 */ jr $ra -/* 1B08 80026708 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 9e39b2ab66..51d8fc7e74 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -800,7 +800,7 @@ segments: - [0xE2950, .data, B4580] - [0xE2960, .data, entity] - [0xE2980, .data, msg] - - [0xE2CA0, data] + - [0xE2CA0, .data, C50A0] - start: 0xE2DF0 type: .data name: cd180_len_38f0