From 5b63159eaf333adf44b4392501d6570f371d2634 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 5 Dec 2022 18:53:46 -0500 Subject: [PATCH] Effect, map decomp (#877) * snaking_static_appendGfx, gfx migration, cleanup * more decomp + data stuff * fix for Light * map funcs * 2 obk_07 * 4 mor * fixes * message IDs --- include/common_structs.h | 8 +- include/effects.h | 8 +- src/audio/28910_len_5090.c | 12 +- src/effects.c | 6 +- src/effects/gfx/snaking_static.c | 4 + src/effects/gfx/spirit_card.c | 94 ++++ src/effects/snaking_static.c | 54 +- src/effects/something_rotating.c | 166 +++--- src/effects/spirit_card.c | 25 +- src/world/area_hos/hos_05/A2AAC0.c | 4 +- src/world/area_kmr/kmr_20/8EDFC0.c | 159 +++++- src/world/area_kmr/kmr_20/kmr_20.h | 2 + src/world/area_obk/obk_01/BBD1A0.c | 2 +- src/world/area_obk/obk_03/BC4B50.c | 188 ++++++- src/world/area_obk/obk_05/BCD060.c | 14 +- src/world/area_obk/obk_07/BCF0F0.c | 186 ++++++- src/world/area_obk/obk_08/BD3870.c | 75 ++- src/world/area_obk/obk_09/BDA940.c | 48 +- src/world/area_omo/omo_13/DE2710.c | 31 +- src/world/area_sam/sam_11/D3ADA0.c | 35 ++ ver/us/asm/data/effects/3FA480.data.s | 12 - .../snaking_static/snaking_static_appendGfx.s | 323 ------------ .../something_rotating_appendGfx.s | 256 --------- .../kmr_20/8EDFC0/func_802421A0_8EDFC0.s | 462 ---------------- .../kmr_20/8EDFC0/func_80242870_8EE690.s | 119 ----- .../kmr_20/8EDFC0/func_80242B04_8EE924.s | 49 -- .../obk_03/BC4B50/func_802408D0_BC4B50.s | 497 ------------------ .../obk_07/BCF0F0/func_80240A6C_BCF65C.s | 311 ----------- .../obk_07/BCF0F0/func_802418E0_BD04D0.s | 171 ------ .../obk_08/BD3870/func_802403DC_BD3C4C.s | 73 --- .../obk_08/BD3870/func_8024055C_BD3DCC.s | 52 -- .../obk_08/BD3870/func_8024061C_BD3E8C.s | 52 -- .../obk_08/BD3870/func_802406DC_BD3F4C.s | 52 -- .../obk_08/BD3870/func_8024079C_BD400C.s | 31 -- .../obk_09/BDA940/func_80240190_BDA940.s | 50 -- .../obk_09/BDA940/func_80240248_BDA9F8.s | 70 --- .../omo_13/DE2710/func_80241028_DE34B8.s | 142 ----- .../sam_11/D3ADA0/func_80241DAC_D3C37C.s | 2 +- ver/us/splat.yaml | 160 +++--- ver/us/symbol_addrs.txt | 1 + ver/us/undefined_syms.txt | 16 - 41 files changed, 1045 insertions(+), 2977 deletions(-) create mode 100644 src/effects/gfx/snaking_static.c create mode 100644 src/effects/gfx/spirit_card.c delete mode 100644 ver/us/asm/data/effects/3FA480.data.s delete mode 100644 ver/us/asm/nonmatchings/effects/snaking_static/snaking_static_appendGfx.s delete mode 100644 ver/us/asm/nonmatchings/effects/something_rotating/something_rotating_appendGfx.s delete mode 100644 ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_802421A0_8EDFC0.s delete mode 100644 ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242870_8EE690.s delete mode 100644 ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242B04_8EE924.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_03/BC4B50/func_802408D0_BC4B50.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240A6C_BCF65C.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_802418E0_BD04D0.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802403DC_BD3C4C.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024055C_BD3DCC.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024061C_BD3E8C.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802406DC_BD3F4C.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024079C_BD400C.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240190_BDA940.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240248_BDA9F8.s delete mode 100644 ver/us/asm/nonmatchings/world/area_omo/omo_13/DE2710/func_80241028_DE34B8.s diff --git a/include/common_structs.h b/include/common_structs.h index 9f1ca7793f..2c4da2b5cd 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -333,7 +333,7 @@ typedef struct PlayerData { /* 0x298 */ u16 hitsTaken; /* 0x29A */ u16 hitsBlocked; /* 0x29C */ u16 playerFirstStrikes; - /* 0x29E */ s16 enemyFirstStrikes; + /* 0x29E */ u16 enemyFirstStrikes; /* 0x2A0 */ u16 powerBounces; /* 0x2A2 */ u16 battlesCount; /* 0x2A4 */ u16 battlesWon; @@ -346,13 +346,13 @@ typedef struct PlayerData { /* 0x2B8 */ s16 idleFrameCounter; /* frames with no inputs, overflows ever ~36 minutes of idling */ /* 0x2BA */ char unk_2BA[2]; /* 0x2BC */ u32 frameCounter; /* increases by 2 per frame */ - /* 0x2C0 */ s16 quizzesAnswered; - /* 0x2C2 */ s16 quizzesCorrect; + /* 0x2C0 */ u16 quizzesAnswered; + /* 0x2C2 */ u16 quizzesCorrect; /* 0x2C4 */ s32 partnerUnlockedTime[12]; /* 0x2F4 */ s32 partnerUsedTime[12]; /* 0x324 */ s32 tradeEventStartTime; /* 0x328 */ s32 droTreeHintTime; - /* 0x32C */ s16 starPiecesCollected; + /* 0x32C */ u16 starPiecesCollected; /* 0x32E */ u16 jumpGamePlays; /* 0x330 */ u32 jumpGameTotal; /* all-time winnings, max = 99999 */ /* 0x334 */ u16 jumpGameRecord; diff --git a/include/effects.h b/include/effects.h index 06a93b871d..21ac519975 100644 --- a/include/effects.h +++ b/include/effects.h @@ -2507,12 +2507,10 @@ typedef struct SomethingRotatingFXData { /* 0x18 */ f32 unk_18; /* 0x1C */ f32 unk_1C; /* 0x20 */ f32 unk_20; - /* 0x24 */ u8 unk_24; + /* 0x24 */ u8 primAlpha; /* 0x25 */ s8 unk_25; - /* 0x26 */ u8 unk_26; - /* 0x27 */ u8 unk_27; - /* 0x28 */ u8 unk_28; - /* 0x29 */ u8 unk_29; + /* 0x26 */ Color_RGB8 env; + /* 0x29 */ u8 state; /* 0x2A */ char unk_2A[2]; /* 0x2C */ f32 unk_2C; } SomethingRotatingFXData; // size = 0x30 diff --git a/src/audio/28910_len_5090.c b/src/audio/28910_len_5090.c index 5d94e139ae..69eb88acbd 100644 --- a/src/audio/28910_len_5090.c +++ b/src/audio/28910_len_5090.c @@ -156,14 +156,14 @@ AuResult au_bgm_dispatch_player_event(SongUpdateEvent* event) { } } volume0 = event->startVolume; - if (volume0 >= 0x80) { + if (volume0 > 0x7F) { volume0 = 0x7F; } if (volume0 != 0) { volume0 = (volume0 << 8) | 0xFF; } volume1 = event->finalVolume; - if (volume1 >= 0x80) { + if (volume1 > 0x7F) { volume1 = 0x7F; } if (volume1 != 0) { @@ -1001,10 +1001,10 @@ if (track->detourLength != 0) {\ } void au_bgm_player_update_playing(BGMPlayer *player) { - s32 bVolumeFading; // SP + 10 - u8 sp1F; // SP + 1F - s16 notePitch; // SP + 26 - u8 bFinished; // SP + 28 + s32 bVolumeFading; + u8 sp1F; + s16 notePitch; + u8 bFinished; AlUnkVoice* voice; BGMDrumInfo* drumInfo; diff --git a/src/effects.c b/src/effects.c index 82facac237..caa7096e1b 100644 --- a/src/effects.c +++ b/src/effects.c @@ -114,7 +114,7 @@ EffectTableEntry gEffectTable[] = { /* 0x54 */ FX_ENTRY(quizmo_audience, effect_gfx_quizmo_audience), /* 0x55 */ FX_ENTRY(butterflies, effect_gfx_butterflies), /* 0x56 */ FX_ENTRY(stat_change, effect_gfx_stat_change), - /* 0x57 */ FX_ENTRY(snaking_static, _3B2D90), + /* 0x57 */ FX_ENTRY(snaking_static, effect_gfx_snaking_static), /* 0x58 */ FX_ENTRY(thunderbolt_ring, effect_gfx_thunderbolt_ring), /* 0x59 */ FX_ENTRY(squirt, _3B5340), /* 0x5A */ FX_ENTRY(water_block, _3B6BF0), @@ -150,9 +150,9 @@ EffectTableEntry gEffectTable[] = { /* 0x78 */ FX_ENTRY(peach_star_beam, effect_gfx_peach_star_beam), /* 0x79 */ FX_ENTRY(chapter_change, effect_gfx_chapter_change), /* 0x7A */ FX_ENTRY(ice_shard, effect_gfx_ice_shard), - /* 0x7B */ FX_ENTRY(spirit_card, _3FA4B0), + /* 0x7B */ FX_ENTRY(spirit_card, effect_gfx_spirit_card), /* 0x7C */ FX_ENTRY(lil_oink, effect_gfx_lil_oink), - /* 0x7D */ FX_ENTRY(something_rotating, _3FA4B0), + /* 0x7D */ FX_ENTRY(something_rotating, effect_gfx_spirit_card), /* 0x7E */ FX_ENTRY(breaking_junk, effect_gfx_breaking_junk), /* 0x7F */ FX_ENTRY(partner_buff, _404F40), /* 0x80 */ FX_ENTRY(quizmo_assistant, effect_gfx_quizmo_assistant), diff --git a/src/effects/gfx/snaking_static.c b/src/effects/gfx/snaking_static.c new file mode 100644 index 0000000000..9d12c919bb --- /dev/null +++ b/src/effects/gfx/snaking_static.c @@ -0,0 +1,4 @@ +#include "effects/gfx/D_09000000_3B2D90.png.inc.c" +#include "effects/gfx/D_09001000_3B3D90.gfx.inc.c" +#include "effects/gfx/D_090010B8_3B3E48.vtx.inc.c" +#include "effects/gfx/D_090010F8_3B3E88.gfx.inc.c" diff --git a/src/effects/gfx/spirit_card.c b/src/effects/gfx/spirit_card.c new file mode 100644 index 0000000000..ed632ba614 --- /dev/null +++ b/src/effects/gfx/spirit_card.c @@ -0,0 +1,94 @@ +#include "PR/gbi.h" + +#include "effects/gfx/star_cards/card_front.png.inc.c" +#include "effects/gfx/star_cards/card_front.pal.inc.c" + +char D_09000220_3FA6D0[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/card_back.png.inc.c" +#include "effects/gfx/star_cards/card_back.pal.inc.c" + +char D_09000820_3FACD0[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/wave.png.inc.c" +#include "effects/gfx/star_cards/wave.pal.inc.c" + +char D_09000C20_3FB0D0[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/squares.png.inc.c" +#include "effects/gfx/star_cards/squares.pal.inc.c" + +char D_09000EA0_3FB350[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/eldstar.png.inc.c" +#include "effects/gfx/star_cards/eldstar.pal.inc.c" + +char D_09001520_3FB9D0[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/mamar.png.inc.c" +#include "effects/gfx/star_cards/mamar.pal.inc.c" + +char D_09001BA0_3FC050[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/skolar.png.inc.c" +#include "effects/gfx/star_cards/skolar.pal.inc.c" + +char D_09002220_3FC6D0[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/muskular.png.inc.c" +#include "effects/gfx/star_cards/muskular.pal.inc.c" + +char D_090028A0_3FCD50[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/misstar.png.inc.c" +#include "effects/gfx/star_cards/misstar.pal.inc.c" + +char D_09002F20_3FD3D0[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/klevar.png.inc.c" +#include "effects/gfx/star_cards/klevar.pal.inc.c" + +char D_090035A0_3FDA50[0x1E0] = { 0 }; + +#include "effects/gfx/star_cards/kalmar.png.inc.c" +#include "effects/gfx/star_cards/kalmar.pal.inc.c" + +char D_09003C20_3FE0D0[0x1E0] = { 0 }; + +#include "effects/gfx/D_09003E00_3FE2B0.vtx.inc.c" + +Lights1 D_09003F80_3FE430 = gdSPDefLights1(200, 200, 200, 255, 255, 255, 231, 93, 82); + +#include "effects/gfx/D_09003F98_3FE448.gfx.inc.c" +#include "effects/gfx/D_09004010_3FE4C0.gfx.inc.c" +#include "effects/gfx/D_09004088_3FE538.gfx.inc.c" +#include "effects/gfx/D_09004100_3FE5B0.gfx.inc.c" +#include "effects/gfx/D_09004178_3FE628.gfx.inc.c" +#include "effects/gfx/D_090041F0_3FE6A0.gfx.inc.c" +#include "effects/gfx/D_09004268_3FE718.gfx.inc.c" + +//#include "effects/gfx/D_090042E0_3FE790.gfx.inc.c" +Gfx D_090042E0_3FE790[] = { + gsDPPipeSync(), + gsSPTexture(0xFFFF, 0xFFFF, 0x0, G_TX_RENDERTILE, G_ON), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetTexturePersp(G_TP_PERSP), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureFilter(G_TF_BILERP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetDepthSource(G_ZS_PIXEL), + gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), + gsSPSetLights1(D_09003F80_3FE430), + gsSPClearGeometryMode(G_CULL_BOTH), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH), + gsSPEndDisplayList(), +}; + +#include "effects/gfx/D_09004360_3FE810.gfx.inc.c" +#include "effects/gfx/D_090043D8_3FE888.vtx.inc.c" +#include "effects/gfx/D_09004418_3FE8C8.gfx.inc.c" +#include "effects/gfx/D_09004438_3FE8E8.gfx.inc.c" +#include "effects/gfx/D_09004458_3FE908.gfx.inc.c" +#include "effects/gfx/D_09004508_3FE9B8.gfx.inc.c" +#include "effects/gfx/D_09004600_3FEAB0.gfx.inc.c" diff --git a/src/effects/snaking_static.c b/src/effects/snaking_static.c index 71aa914730..b1604843c0 100644 --- a/src/effects/snaking_static.c +++ b/src/effects/snaking_static.c @@ -1,11 +1,13 @@ #include "common.h" #include "effects_internal.h" -void snaking_static_appendGfx(void* effect); - void snaking_static_update(EffectInstance*); void snaking_static_init(EffectInstance* effect); void snaking_static_render(EffectInstance* effect); +void snaking_static_appendGfx(void* effect); + +extern Gfx D_09001000_3B3D90[]; +extern Gfx D_090010F8_3B3E88[]; EffectInstance* snaking_static_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 timeLeft) { EffectBlueprint effectBp; @@ -156,4 +158,50 @@ void snaking_static_render(EffectInstance* effect) { void func_E00AE544(void) { } -INCLUDE_ASM(s32, "effects/snaking_static", snaking_static_appendGfx); +void snaking_static_appendGfx(void* effect) { + EffectInstance* effectTemp = effect; + SnakingStaticFXData* data = effectTemp->data.snakingStatic; + Camera* camera = &gCameras[gCurrentCameraID]; + Matrix4f sp18, sp58; + s32 lifeTime = data->lifeTime; + s32 unk_24 = data->unk_24; + s32 primR = data->unk_18; + s32 primG = data->unk_1C; + s32 primB = data->unk_20; + s32 i; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + + shim_guTranslateF(sp18, data->pos.x, data->pos.y, data->pos.z); + shim_guScaleF(sp58, data->unk_38, data->unk_38, data->unk_38); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], + G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gDPSetEnvColor(gMasterGfxPos++, data->unk_28, data->unk_2C, data->unk_30, 0); + gSPDisplayList(gMasterGfxPos++, D_09001000_3B3D90); + + data++; + for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, data++) { + gDPSetPrimColor(gMasterGfxPos++, 0, 0, primR, primG, primB, (data->unk_24 * unk_24) / 255); + shim_guTranslateF(sp18, data->pos.x, data->pos.y, 0.0f); + shim_guRotateF(sp58, data->unk_3C, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guScaleF(sp58, data->unk_34 * 0.0625f, data->unk_34 * 0.0625f, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], + G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->unk_40 * 64, 0, (data->unk_40 * 64) | 0x3C, 0x007C); + gDPSetTileSize(gMasterGfxPos++, 1, (lifeTime * 12), 0, ((lifeTime * 3) + 0x1F) * 4, 0x007C); + + gSPDisplayList(gMasterGfxPos++, D_090010F8_3B3E88); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); +} diff --git a/src/effects/something_rotating.c b/src/effects/something_rotating.c index 993930031f..e750da7423 100644 --- a/src/effects/something_rotating.c +++ b/src/effects/something_rotating.c @@ -1,30 +1,31 @@ #include "common.h" #include "effects_internal.h" -extern Gfx D_09003F98[]; -extern Gfx D_09004010[]; -extern Gfx D_09004088[]; -extern Gfx D_09004100[]; -extern Gfx D_09004178[]; -extern Gfx D_090041F0[]; -extern Gfx D_09004268[]; -extern Gfx D_09004360[]; -extern Gfx D_09004458[]; -extern Gfx D_09004508[]; -extern Gfx D_09004600[]; +extern Gfx D_09003F98_3FE448[]; +extern Gfx D_09004010_3FE4C0[]; +extern Gfx D_09004088_3FE538[]; +extern Gfx D_09004100_3FE5B0[]; +extern Gfx D_09004178_3FE628[]; +extern Gfx D_090041F0_3FE6A0[]; +extern Gfx D_09004268_3FE718[]; +extern Gfx D_090042E0_3FE790[]; +extern Gfx D_09004360_3FE810[]; +extern Gfx D_09004458_3FE908[]; +extern Gfx D_09004508_3FE9B8[]; +extern Gfx D_09004600_3FEAB0[]; -Gfx* D_E0116C60[] = { D_09004458 }; +Gfx* D_E0116C60[] = { D_09004458_3FE908 }; -Gfx* D_E0116C64[] = { D_09004600 }; +Gfx* D_E0116C64[] = { D_09004600_3FEAB0 }; -Gfx* D_E0116C68[] = { D_09004360 }; +Gfx* D_E0116C68[] = { D_09004360_3FE810 }; -Gfx* D_E0116C6C[] = { D_09004508 }; +Gfx* D_E0116C6C[] = { D_09004508_3FE9B8 }; Gfx* D_E0116C70[] = { - D_09003F98, D_09004010, D_09004088, - D_09004100, D_09004178, D_090041F0, - D_09004268 + D_09003F98_3FE448, D_09004010_3FE4C0, D_09004088_3FE538, + D_09004100_3FE5B0, D_09004178_3FE628, D_090041F0_3FE6A0, + D_09004268_3FE718 }; Color_RGB8 D_E0116C8C[] = { @@ -39,38 +40,32 @@ Color_RGB8 D_E0116C8C[] = { }; s16 D_E0116CA4[] = { - 0x0000, 0x003C, 0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x003C, 0x0078, 0x00B4, - 0x00F0, 0x012C, 0x0000, 0x003C, 0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x003C, - 0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x001E, 0x003C, 0x005A, 0x0078, 0x0096, - 0x00B4, 0x00D2, 0x00F0, 0x010E, 0x012C, 0x014A, 0x0159, 0x0161, 0x0165, 0x0167, - 0x0000 + 0, 60, 120, 180, 240, 300, + 0, 60, 120, 180, 240, 300, + 0, 60, 120, 180, 240, 300, + 0, 60, 120, 180, 240, 300, + 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 345, 353, 357, 359, + 0 }; -s8 D_E0116CF8[] = { - 0x02, 0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0xA0, 0xB4, 0xC8, 0xDC, 0xF0, 0xFF +u8 D_E0116CF8[] = { + 2, 20, 40, 60, 80, 100, 120, 160, 180, 200, 220, 240, 255 }; -s8 D_E0116D08[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0xA0, 0xB4, 0xC8, 0xDC, - 0xF0, 0xFF +u8 D_E0116D08[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 20, 40, 60, 80, 100, 120, 160, 180, 200, 220, 240, 255 }; u8 D_E0116D3C[] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, - 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, - 0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80 + 255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128, + 255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128, + 255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128, + 255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128 }; u8 D_E0116D6C[] = { - 0x32, 0x50, 0x64, 0x69, 0x6B, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, - 0x6C, 0x6B, 0x69, 0x64, 0x5F, 0x5A, 0x55, 0x50, 0x4B, 0x46, - 0x41, 0x3C, 0x37, 0x32 + 50, 80, 100, 105, 107, 108, 108, 108, 108, 108, 108, 107, 105, 100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50 }; void something_rotating_init(EffectInstance* effect); @@ -120,15 +115,15 @@ EffectInstance* something_rotating_main( part++; for (i = 1; i < numParts; i++, part++) { - part->unk_24 = 0; + part->primAlpha = 0; part->unk_18 = arg4 * 0.5; - part->unk_26 = 255; - part->unk_27 = 255; - part->unk_28 = 0; + part->env.r = 255; + part->env.g = 255; + part->env.b = 0; part->unk_25 = 0; part->unk_1C = 30.0f; part->unk_20 = 0; - part->unk_29 = 0; + part->state = 0; part->unk_2C = 50.0f; } @@ -179,12 +174,12 @@ void something_rotating_update(EffectInstance* effect) { part->unk_08 = unk_08 + temp_f22 * shim_cos_deg(angle2); part->unk_0C = unk_0C + temp_f22 * shim_cos_deg(angle1) * temp_f24; - switch (part->unk_29 - 1) { - case 0: - part->unk_14 = 0; - part->unk_29++; - // fallthrough + switch (part->state) { case 1: + part->unk_14 = 0; + part->state++; + // fallthrough + case 2: unk_14_2 = part->unk_14; if (unk_14_2 < ARRAY_COUNT(D_E0116CA4)) { @@ -193,9 +188,9 @@ void something_rotating_update(EffectInstance* effect) { part->unk_20 = D_E0116CA4[ARRAY_COUNT(D_E0116CA4) - 1]; } if (unk_14_2 < ARRAY_COUNT(D_E0116CF8)) { - part->unk_24 = D_E0116CF8[unk_14_2]; + part->primAlpha = D_E0116CF8[unk_14_2]; } else { - part->unk_24 = D_E0116CF8[ARRAY_COUNT(D_E0116CF8) - 1]; + part->primAlpha = D_E0116CF8[ARRAY_COUNT(D_E0116CF8) - 1]; } if (unk_14_2 < ARRAY_COUNT(D_E0116D08)) { part->unk_25 = D_E0116D08[unk_14_2]; @@ -210,9 +205,9 @@ void something_rotating_update(EffectInstance* effect) { } factor *= 0.0039215686; // 1 / 255 - part->unk_26 = factor * D_E0116C8C[i - 1].r; - part->unk_27 = factor * D_E0116C8C[i - 1].g; - part->unk_28 = factor * D_E0116C8C[i - 1].b; + part->env.r = factor * D_E0116C8C[i - 1].r; + part->env.g = factor * D_E0116C8C[i - 1].g; + part->env.b = factor * D_E0116C8C[i - 1].b; if (unk_14_2 < ARRAY_COUNT(D_E0116D6C)) { part->unk_18 = (f32) D_E0116D6C[unk_14_2] * 0.01; @@ -221,22 +216,22 @@ void something_rotating_update(EffectInstance* effect) { } break; - case 2: - part->unk_14 = 0; - part->unk_29++; - // fallthrough case 3: + part->unk_14 = 0; + part->state++; + // fallthrough + case 4: unk_14_2 = part->unk_14; if (unk_14_2 < 18) { part->unk_2C = (shim_sin_deg(90 - unk_14_2 * 10) + 1.0f) * 50.0f * 0.5; } else { part->unk_2C = 0.0f; - part->unk_29++; + part->state++; } break; - case 4: + case 5: break; } @@ -268,14 +263,57 @@ void func_E01166E8(s32 arg0, SomethingRotatingFXData* part) { temp = 0.0f; } - shim_guPositionF(sp20, 0.0f, part->unk_20 - temp, 0.0f, part->unk_18, part->unk_04 + 2.0f, part->unk_08, part->unk_0C + 2.0f); + shim_guPositionF(sp20, 0.0f, part->unk_20 - temp, 0.0f, part->unk_18, + part->unk_04 + 2.0f, + part->unk_08, + part->unk_0C + 2.0f + ); shim_guRotateF(sp60, part->unk_1C, 0.0f, 0.0f, 1.0f); shim_guMtxCatF(sp60, sp20, sp20); shim_guTranslateF(sp60, 0.0f, 0.0f, -2.0f); shim_guMtxCatF(sp60, sp20, sp20); shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); - gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], + G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } -INCLUDE_ASM(s32, "effects/something_rotating", something_rotating_appendGfx); +void something_rotating_appendGfx(void* effect) { + SomethingRotatingFXData* data = ((EffectInstance*)effect)->data.somethingRotating; + s32 unk_14 = data->unk_14; + s32 l, t; + s32 i; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + + gSPDisplayList(gMasterGfxPos++, D_090042E0_3FE790); + gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, 255); + + data++; + for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, data++) { + if (data->state != 5) { + func_E01166E8(1, data); + if (data->primAlpha != 255) { + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, data->primAlpha); + gDPSetEnvColor(gMasterGfxPos++, data->env.r, data->env.g, data->env.b, 0x78); + gSPDisplayList(gMasterGfxPos++, D_E0116C6C[0]); + + l = ((unk_14 * 4.0f) * 100.0f) * (1.0 / 1024); + t = ((unk_14 * 4.0f) * 40.0f) * (1.0 / 1024); + gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, l, t, l + 0xFC, t + 0xFC); + + l = ((unk_14 * 4.0f) * 200.0f) * (1.0 / 1024); + t = ((unk_14 * 4.0f) * 90.0f) * (1.0 / 1024); + gDPSetTileSize(gMasterGfxPos++, 1, l, t, l + 0xFC, t + 0xFC); + gSPDisplayList(gMasterGfxPos++, D_E0116C64[0]); + } else { + gSPDisplayList(gMasterGfxPos++, D_E0116C68[0]); + gDPSetEnvColor(gMasterGfxPos++, data->env.r, data->env.g, data->env.b, data->unk_25); + gSPDisplayList(gMasterGfxPos++, D_E0116C70[i - 1]); + gSPDisplayList(gMasterGfxPos++, D_E0116C60[0]); + } + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + } +} diff --git a/src/effects/spirit_card.c b/src/effects/spirit_card.c index a38a002540..a952e33b0f 100644 --- a/src/effects/spirit_card.c +++ b/src/effects/spirit_card.c @@ -1,10 +1,25 @@ #include "common.h" #include "effects_internal.h" -extern Gfx D_090042E0[]; -extern Gfx* D_E0112630[]; -extern Gfx* D_E0112638[]; -extern Gfx* D_E0112640[]; +extern Gfx D_09003F98_3FE448[]; +extern Gfx D_09004010_3FE4C0[]; +extern Gfx D_09004088_3FE538[]; +extern Gfx D_09004100_3FE5B0[]; +extern Gfx D_09004178_3FE628[]; +extern Gfx D_090041F0_3FE6A0[]; +extern Gfx D_09004268_3FE718[]; +extern Gfx D_090042E0_3FE790[]; +extern Gfx D_09004360_3FE810[]; +extern Gfx D_09004458_3FE908[]; +extern Gfx D_09004508_3FE9B8[]; +extern Gfx D_09004600_3FEAB0[]; + +Gfx* D_E0112630[] = { D_09004458_3FE908, D_09004600_3FEAB0 }; +Gfx* D_E0112638[] = { D_09004360_3FE810, D_09004508_3FE9B8 }; +Gfx* D_E0112640[] = { + D_09003F98_3FE448, D_09004010_3FE4C0, D_09004088_3FE538, D_09004100_3FE5B0, + D_09004178_3FE628, D_090041F0_3FE6A0, D_09004268_3FE718 +}; void spirit_card_init(EffectInstance* effect); void spirit_card_update(EffectInstance* effect); @@ -137,7 +152,7 @@ void spirit_card_appendGfx(void* effect) { gDPPipeSync(gMasterGfxPos++); gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); - gSPDisplayList(gMasterGfxPos++, D_090042E0); + gSPDisplayList(gMasterGfxPos++, D_090042E0_3FE790); gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, 255); if (unk_00 < 2) { diff --git a/src/world/area_hos/hos_05/A2AAC0.c b/src/world/area_hos/hos_05/A2AAC0.c index 9cbe2d7f88..d5e3f6ed8a 100644 --- a/src/world/area_hos/hos_05/A2AAC0.c +++ b/src/world/area_hos/hos_05/A2AAC0.c @@ -216,7 +216,7 @@ ApiStatus func_80240F30_A2B170(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0)); - effect->data.somethingRotating[D_802495DC_A3381C + 1].unk_29 = 1; + effect->data.somethingRotating[D_802495DC_A3381C + 1].state = 1; D_802495DC_A3381C++; return ApiStatus_DONE2; } @@ -225,7 +225,7 @@ ApiStatus func_80240F88_A2B1C8(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0)); - effect->data.somethingRotating[D_802495E0_A33820 + 1].unk_29 = 3; + effect->data.somethingRotating[D_802495E0_A33820 + 1].state = 3; D_802495E0_A33820++; return ApiStatus_DONE2; } diff --git a/src/world/area_kmr/kmr_20/8EDFC0.c b/src/world/area_kmr/kmr_20/8EDFC0.c index a1c6c34a5f..71c8067951 100644 --- a/src/world/area_kmr/kmr_20/8EDFC0.c +++ b/src/world/area_kmr/kmr_20/8EDFC0.c @@ -1,9 +1,140 @@ #include "kmr_20.h" -INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EDFC0", func_802421A0_8EDFC0); +typedef struct UnkKmr20 { + /* 0x00 */ u16 unk_00; + /* 0x02 */ s16 unk_02; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s16 unk_08; + /* 0x0A */ s16 unk_0A; + /* 0x0C */ char unk_0C[0xC]; + /* 0x18 */ s16 unk_18; + /* 0x1A */ s16 unk_1A; + /* 0x1C */ s16 unk_1C; + /* 0x1E */ char unk_1E[0x2]; + /* 0x20 */ s32 unk_20; + /* 0x24 */ u16 equippedBadges; + /* 0x26 */ s16 unk_26; + /* 0x28 */ s16 unk_28; +} UnkKmr20; -void func_80242870_8EE690(void*); -INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EDFC0", func_80242870_8EE690); +extern Gfx D_80252D50_8FEB70[]; +extern s32 D_80252DC0_8FEBE0[]; + +void func_802421A0_8EDFC0(UnkKmr20* arg0, s32 opacity) { + s32 width; + + if (opacity > 0) { + gSPDisplayList(gMasterGfxPos++, D_80252D50_8FEB70); + gDPPipeSync(gMasterGfxPos++); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 16, 120, 24, opacity * 0.65); + gDPFillRectangle(gMasterGfxPos++, 33, 43, 287, 192); + gDPPipeSync(gMasterGfxPos++); + + msg_draw_frame(30, 40, 260, 155, 6, 0, 1, opacity * 0.55, opacity); + draw_msg(MSG_CH0_00FC, 206 - get_msg_width(MSG_CH0_00FC, 0), 50, opacity, 0, 1); + draw_number(gPlayerData.totalCoinsEarned, 216, 51, 1, 0, opacity, 2); + draw_msg(MSG_CH0_00FD, 206 - get_msg_width(MSG_CH0_00FD, 0), 65, opacity, 0, 1); + draw_number(arg0->equippedBadges, 231, 66, 1, 0, opacity, 3); + draw_msg(MSG_MenuTip_0034, 232, 63, opacity, 0, 0); + draw_number(80, 244, 66, 1, 0, opacity, 2); + if (gPlayerData.starPiecesCollected == 0) { + draw_msg(MSG_CH0_00FA, 109, 80, opacity, 0, 1); + } else { + draw_msg(MSG_CH0_00FB, 206 - get_msg_width(MSG_CH0_00FB, 0), 80, opacity, 0, 1); + draw_number(gPlayerData.starPiecesCollected, 231, 81, 1, 0, opacity, 3); + draw_msg(MSG_MenuTip_0034, 232, 78, opacity, 0, 0); + draw_number(160, 244, 80, 1, 0, opacity, 2); + } + + width = get_msg_width(MSG_CH0_00FE, 0); + if (arg0->unk_26 == 0) { + draw_msg(MSG_CH0_00FA, 110, 95, opacity, 0, 1); + } else { + if (arg0->unk_26 == -1) { + draw_msg(MSG_CH0_00FE, 206 - width, 95, opacity, 0, 1); + draw_number(0, 231, 96, 1, 0, opacity, 3); + } else { + draw_msg(MSG_CH0_00FE, 206 - width, 95, opacity, 0, 1); + draw_number(arg0->unk_26, 231, 96, 1, 0, opacity, 3); + } + draw_msg(MSG_MenuTip_0034, 232, 93, opacity, 0, 0); + draw_number(arg0->unk_28, 244, 95, 1, 0, opacity, 2); + } + + if (gPlayerData.quizzesAnswered == 0) { + draw_msg(MSG_CH0_00FA, 109, 110, opacity, 0, 1); + } else { + draw_msg(MSG_CH0_00FF, 206 - get_msg_width(MSG_CH0_00FF, 0), 110, opacity, 0, 1); + draw_number(gPlayerData.quizzesCorrect, 231, 111, 1, 0, opacity, 3); + draw_msg(MSG_MenuTip_0034, 232, 108, opacity, 0, 0); + draw_number(gPlayerData.quizzesAnswered, 244, 111, 1, 0, opacity, 2); + } + + draw_msg(MSG_CH0_00F4, 206 - get_msg_width(MSG_CH0_00F4, 0), 125, opacity, 0, 1); + draw_number(gPlayerData.battlesCount, 216, 126, 1, 0, opacity, 2); + width = get_msg_width(MSG_CH0_00F7, 0); + draw_msg(MSG_CH0_00F7, 206 - width, 140, opacity, 0, 1); + draw_number(gPlayerData.playerFirstStrikes, 216, 141, 1, 0, opacity, 2); + draw_msg(MSG_CH0_00F8, 206 - get_msg_width(MSG_CH0_00F8, 0), 155, opacity, 0, 1); + draw_number(gPlayerData.enemyFirstStrikes, 216, 156, 1, 0, opacity, 2); + + if (gPlayerData.powerBounces == 0) { + draw_msg(MSG_CH0_00FA, 109, 170, opacity, 0, 1); + } else { + draw_msg(MSG_CH0_00F9, 206 - get_msg_width(MSG_CH0_00F9, 0), 170, opacity, 0, 1); + draw_number(gPlayerData.powerBounces, 216, 171, 1, 0, opacity, 2); + } + } +} + +void func_80242870_8EE690(void* data) { + UnkKmr20* temp_v0 = (UnkKmr20*) evt_get_variable(NULL, MapVar(10)); + s32 temp_f2; + + switch (temp_v0->unk_00) { + case 0: + temp_v0->unk_18 = 0; + temp_v0->unk_08 = 0; + temp_v0->unk_0A = 0; + temp_v0->unk_04 = 0; + temp_v0->unk_00 = 1; + snd_start_sound(SOUND_21C, 0, 0); + // fallthrough + case 1: + temp_v0->unk_04++; + temp_f2 = update_lerp(0, 32.0f, 255.0f, temp_v0->unk_04, 3); + temp_v0->unk_1A = temp_f2; + temp_v0->unk_1C = temp_f2; + if (temp_v0->unk_04 >= 3) { + temp_v0->unk_00 = 2; + temp_v0->unk_1A = 255; + temp_v0->unk_1C = 255; + } + break; + case 2: + temp_v0->unk_1A = 255; + temp_v0->unk_1C = 255; + if (gGameStatusPtr->currentButtons[0] & (BUTTON_A | BUTTON_B)) { + temp_v0->unk_00 = 3; + } + if (temp_v0->unk_00 != 3) { + break; + } + case 3: + temp_v0->unk_04 = 0; + temp_v0->unk_00 = 4; + snd_start_sound(SOUND_MENU_BACK, 0, 0); + // fallthrough + case 4: + temp_v0->unk_04++; + temp_v0->unk_1A = update_lerp(0, temp_v0->unk_1C, 0.0f, temp_v0->unk_04, 3); + if (temp_v0->unk_04 >= 3) { + temp_v0->unk_00 = 5; + } + break; + } + func_802421A0_8EDFC0(temp_v0, temp_v0->unk_1A); +} void func_80242A04_8EE824(void) { RenderTask rt; @@ -15,6 +146,26 @@ void func_80242A04_8EE824(void) { queue_render_task(&rt); } +void func_80242A3C_8EE85C(UnkKmr20*); INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EDFC0", func_80242A3C_8EE85C); -INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EDFC0", func_80242B04_8EE924); +ApiStatus func_80242B04_8EE924(Evt* script, s32 isInitialCall) { + UnkKmr20* temp_v0; + + if (isInitialCall) { + temp_v0 = script->functionTempPtr[0] = heap_malloc(sizeof(*temp_v0)); + temp_v0->unk_00 = 0; + temp_v0->unk_1A = 255; + temp_v0->unk_20 = create_worker_world(0, func_80242A04_8EE824); + evt_set_variable(script, MapVar(10), (s32) temp_v0); + func_80242A3C_8EE85C(temp_v0); + } + + temp_v0 = script->functionTempPtr[0]; + if (temp_v0->unk_00 == 5) { + free_worker(temp_v0->unk_20); + heap_free(temp_v0); + return ApiStatus_DONE1; + } + return ApiStatus_BLOCK; +} diff --git a/src/world/area_kmr/kmr_20/kmr_20.h b/src/world/area_kmr/kmr_20/kmr_20.h index a16816b908..c6aa8fb438 100644 --- a/src/world/area_kmr/kmr_20/kmr_20.h +++ b/src/world/area_kmr/kmr_20/kmr_20.h @@ -8,3 +8,5 @@ #include "../kmr.h" #define NAMESPACE kmr_20 + +void msg_draw_frame(s32 posX, s32 posY, s32 sizeX, s32 sizeY, s32 style, s32 palette, s32 fading, s32 bgAlpha, s32 frameAlpha); diff --git a/src/world/area_obk/obk_01/BBD1A0.c b/src/world/area_obk/obk_01/BBD1A0.c index 2726a4d234..110808449d 100644 --- a/src/world/area_obk/obk_01/BBD1A0.c +++ b/src/world/area_obk/obk_01/BBD1A0.c @@ -67,7 +67,7 @@ ApiStatus func_80240730_BBD8D0(Evt* script, s32 isInitialCall) { ApiStatus func_80240790_BBD930(Evt* script, s32 isInitialCall) { ItemEntity* item = get_item_entity(script->varTable[0]); - set_item_entity_flags(script->varTable[0], 0x80000); + set_item_entity_flags(script->varTable[0], ITEM_ENTITY_FLAGS_TRANSPARENT); item->alpha = -1; return ApiStatus_DONE2; } diff --git a/src/world/area_obk/obk_03/BC4B50.c b/src/world/area_obk/obk_03/BC4B50.c index d98dbc4dce..814fe25ec4 100644 --- a/src/world/area_obk/obk_03/BC4B50.c +++ b/src/world/area_obk/obk_03/BC4B50.c @@ -1,3 +1,189 @@ #include "obk_03.h" +#include "model.h" +#include "mapfs/obk_03_shape.h" +#include "mapfs/obk_03_hit.h" -INCLUDE_ASM(s32, "world/area_obk/obk_03/BC4B50", func_802408D0_BC4B50); +// identical to (copy-pasted from) obk_05_RockingChair_UpdatePhysics aside from a few constants +// TODO de-duplicate? +ApiStatus func_802408D0_BC4B50(Evt* script, s32 isInitialCall) { + typedef struct RockingChairPhysics { + /* 0x00 */ f32 angleDelta; + /* 0x04 */ f32 angularAccel; + /* 0x08 */ f32 rotationAngle; + /* 0x0C */ f32 verticalOffset; + /* 0x10 */ f32 angleB; + /* 0x14 */ f32 angleA; + /* 0x18 */ f32 mass; + /* 0x1C */ f32 equilibriumAngle; + } RockingChairPhysics; // size = 0x20 + + enum RockingChairState { + CHAIR_STATE_INITIAL = 0, + CHAIR_STATE_PLAYER_TOUCHING = 1, + CHAIR_STATE_PLAYER_NOT_TOUCHING = 2 + }; + + PlayerStatus* playerStatus = &gPlayerStatus; + CollisionStatus* collisionStatus = &gCollisionStatus; + RockingChairPhysics* physics; + f32 centerX, centerY, centerZ; + Matrix4f tempMtx; + Model* model; + s16 currentFloor; + + if (isInitialCall) { + physics = heap_malloc(sizeof(*physics)); + script->functionTempPtr[1] = physics; + physics->angleDelta = 0; + physics->verticalOffset = 0; + physics->rotationAngle = 0; + physics->angleB = 0; + physics->angleA = 0; + physics->angularAccel = 0.1f; + physics->mass = 3.0f; + script->functionTemp[0] = CHAIR_STATE_INITIAL; + script->functionTemp[2] = 0; + script->functionTemp[3] = 0; + } + + physics = script->functionTempPtr[1]; + switch (script->functionTemp[0]) { + case CHAIR_STATE_INITIAL: + if (collisionStatus->currentFloor == COLLIDER_i3) { + script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; + } + if (collisionStatus->currentFloor == COLLIDER_i2) { + script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; + } + physics->angleDelta = 0.0f; + physics->verticalOffset = 0.0f; + physics->angleB = 0.0f; + physics->angleA = 0.0f; + physics->rotationAngle = 0.0f; + physics->angularAccel = 0.1f; + physics->mass = 3.0f; + physics->equilibriumAngle = 20.0f; + break; + case CHAIR_STATE_PLAYER_TOUCHING: + //TODO odd match + currentFloor = collisionStatus->currentFloor; + if (currentFloor != COLLIDER_i3 && collisionStatus->currentFloor != COLLIDER_i2) { + script->functionTemp[3] = 120; // settle time + script->functionTemp[0] = CHAIR_STATE_PLAYER_NOT_TOUCHING; + } + if (fabsf(physics->rotationAngle) < 5.0f) { + physics->angularAccel = fabsf(-170.0 - playerStatus->position.x) / 200.0f; + } else { + physics->angularAccel = 0.1f; + } + if (playerStatus->position.x <= -170.0) { + physics->angleB += physics->angularAccel; + physics->equilibriumAngle = SQ(fabsf(-170.0 - playerStatus->position.x)) / 50.0f; + if (physics->equilibriumAngle > 15.0f) { + physics->equilibriumAngle = 15.0f; + } + if (physics->rotationAngle > physics->equilibriumAngle) { + physics->angleA += physics->angularAccel * physics->mass; + } + } else { + physics->angleA += physics->angularAccel; + physics->equilibriumAngle = -SQ(-fabsf(-170.0 - playerStatus->position.x) * 0.5f) / 50.0f; + if (physics->equilibriumAngle < -5.0f) { + physics->equilibriumAngle = -5.0f; + } + if (physics->rotationAngle < physics->equilibriumAngle) { + physics->angleB += physics->angularAccel * physics->mass; + } + } + if ((physics->angleB > 100.0) && (physics->angleA > 100.0)) { + physics->angleB -= 100.0; + physics->angleA -= 100.0; + } + // clamp difference to 1.5 degrees + if (fabsf(physics->angleB - physics->angleA) > 1.5) { + if (physics->angleA > physics->angleB) { + physics->angleA = physics->angleB + 1.5; + } else { + physics->angleB = physics->angleA + 1.5; + } + } + physics->angleDelta = physics->angleB - physics->angleA; + physics->rotationAngle += physics->angleDelta; + break; + case CHAIR_STATE_PLAYER_NOT_TOUCHING: + if (collisionStatus->currentFloor == COLLIDER_i3) { + script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; + } + if (collisionStatus->currentFloor == COLLIDER_i2) { + script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; + } + + physics->angularAccel = 0.1f; + physics->equilibriumAngle = 0; + physics->angleB += physics->angularAccel; + + if (physics->rotationAngle > physics->equilibriumAngle) { + physics->angleA += physics->angularAccel * physics->mass; + } + if ((physics->angleB > 100.0) && ( physics->angleA > 100.0)) { + physics->angleB -= 100.0; + physics->angleA -= 100.0; + } + + if (fabsf(physics->angleB - physics->angleA) > 0.5) { + if (physics->angleA > physics->angleB) { + physics->angleA = physics->angleB + 0.5; + } else { + physics->angleB = physics->angleA + 0.5; + } + } + if (script->functionTemp[3] < 0) { + f32 zero = 0.0f; + physics->angleA = zero; + physics->angleB = zero; + physics->angleDelta = zero; + physics->rotationAngle = zero; + } else { + script->functionTemp[3]--; + } + physics->angleDelta = physics->angleB - physics->angleA; + physics->rotationAngle += physics->angleDelta; + break; + } + + // play creak sound once per cycle + if (physics->rotationAngle <= -7.0f) { + if (script->functionTemp[2] != -1) { + get_collider_center(COLLIDER_i3, ¢erX, ¢erY, ¢erZ); + sfx_play_sound_at_position(SOUND_CREAKY_ROCKING_CHAIR, 0, centerX, centerY, centerZ); + script->functionTemp[2] = -1; + } + } else { + script->functionTemp[2] = 0; + } + + physics->verticalOffset = SQ(physics->rotationAngle) / 90.0f; + + model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i3)); + model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); + guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); + guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); + guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); + update_collider_transform(COLLIDER_i3); + update_collider_transform(COLLIDER_i2); + + model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i2)); + model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); + guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); + guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); + guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); + + model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i1)); + model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); + guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); + guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); + guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); + update_collider_transform(COLLIDER_i1); + + return ApiStatus_BLOCK; +} diff --git a/src/world/area_obk/obk_05/BCD060.c b/src/world/area_obk/obk_05/BCD060.c index c40efc5c30..1cf9056125 100644 --- a/src/world/area_obk/obk_05/BCD060.c +++ b/src/world/area_obk/obk_05/BCD060.c @@ -58,7 +58,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) { script->functionTemp[2] = 0; script->functionTemp[3] = 0; } - + physics = script->functionTempPtr[1]; switch (script->functionTemp[0]) { case CHAIR_STATE_INITIAL: @@ -134,7 +134,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) { physics->angularAccel = 0.1f; physics->equilibriumAngle = 0; physics->angleB += physics->angularAccel; - + if (physics->rotationAngle > physics->equilibriumAngle) { physics->angleA += physics->angularAccel * physics->mass; } @@ -142,7 +142,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) { physics->angleB -= 100.0; physics->angleA -= 100.0; } - + if (fabsf(physics->angleB - physics->angleA) > 0.5) { if (physics->angleA > physics->angleB) { physics->angleA = physics->angleB + 0.5; @@ -174,7 +174,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) { } else { script->functionTemp[2] = 0; } - + physics->verticalOffset = SQ(physics->rotationAngle) / 90.0f; model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i3)); @@ -184,19 +184,19 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) { guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); update_collider_transform(COLLIDER_i3); update_collider_transform(COLLIDER_i2); - + model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i2)); model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); - + model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i1)); model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); update_collider_transform(COLLIDER_i1); - + return ApiStatus_BLOCK; } diff --git a/src/world/area_obk/obk_07/BCF0F0.c b/src/world/area_obk/obk_07/BCF0F0.c index 52dc62cf0e..179ba49ae7 100644 --- a/src/world/area_obk/obk_07/BCF0F0.c +++ b/src/world/area_obk/obk_07/BCF0F0.c @@ -2,17 +2,14 @@ #include "hud_element.h" #include "battle/action_cmd.h" +extern HudScript HES_SlowlyMashAButton; + typedef struct UnkObk07 { /* 0x000 */ s32 unk_00; /* 0x004 */ s32 unk_04; /* 0x008 */ s32 unk_08; /* 0x00C */ s32 unk_0C; // song name - /* 0x010 */ s32 unk_10; - /* 0x014 */ s32 unk_14; - /* 0x018 */ s32 unk_18; - /* 0x01C */ s32 unk_1C; - /* 0x020 */ s32 unk_20; - /* 0x024 */ s32 unk_24; + /* 0x010 */ s32 unk_10[6]; // probably more /* 0x028 */ s32 unk_28; /* 0x02C */ s32 unk_2C; // entity id /* 0x030 */ s32 unk_30; @@ -25,8 +22,7 @@ typedef struct UnkObk07 { /* 0x04C */ s32 unk_4C; /* 0x050 */ s32 unk_50; /* 0x054 */ s32 unk_54; - /* 0x058 */ s32 unk_58[89]; - /* 0x1BC */ s32 unk_1BC; + /* 0x058 */ s32 aPressed[90]; /* 0x1C0 */ s32 unk_1C0; /* 0x1C4 */ f32 unk_1C4; /* 0x1C8 */ f32 unk_1C8; @@ -38,7 +34,11 @@ typedef struct UnkObk07 { /* 0x1DD */ char unk_1DD[0x3]; } UnkObk07; // size = 0x1E0 -void func_80240A6C_BCF65C(void); +extern s32 D_80243090_BD1C80[]; +extern s32 D_80243098_BD1C88[]; +extern u8 D_802430A0_BD1C90[]; +extern u8 D_802430B0_BD1CA0[]; +extern u8 D_802430C0_BD1CB0[]; ApiStatus func_80240500_BCF0F0(Evt* script, s32 isInitialCall) { evt_set_variable(script, MapVar(6), (s32) heap_malloc(sizeof(UnkObk07))); @@ -57,7 +57,89 @@ void func_80240A10_BCF600(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { func_80240564_BCF154(arg0, arg1, arg2); } -INCLUDE_ASM(s32, "world/area_obk/obk_07/BCF0F0", func_80240A6C_BCF65C); +void func_80240A6C_BCF65C(void) { + UnkObk07* temp_v0 = func_80240540_BCF130(); + s32 id; + s32 temp; + s32 count; + s32 arrCount; + s32 idx; + s32 i; + + temp_v0->aPressed[temp_v0->unk_1C0] = gGameStatusPtr->pressedButtons[0] & A_BUTTON; + temp_v0->unk_1C0++; + if (temp_v0->unk_1C0 >= ARRAY_COUNT(temp_v0->aPressed)) { + temp_v0->unk_1C0 = 0; + } + + switch (temp_v0->unk_30) { + case 0: + id = temp_v0->unk_3C; + hud_element_set_alpha(id, 255); + hud_element_clear_flags(id, 2); + id = temp_v0->unk_40; + hud_element_set_alpha(id, 255); + hud_element_clear_flags(id, 2); + id = temp_v0->unk_44; + hud_element_set_alpha(id, 255); + hud_element_clear_flags(id, 2); + temp_v0->unk_30 = 1; + break; + case 1: + temp_v0->unk_34 += 20; + if (temp_v0->unk_34 > 50) { + temp_v0->unk_34 = 50; + } + hud_element_set_render_pos(temp_v0->unk_3C, temp_v0->unk_34, temp_v0->unk_38); + hud_element_set_render_pos(temp_v0->unk_40, temp_v0->unk_34, temp_v0->unk_38 + 28); + hud_element_set_render_pos(temp_v0->unk_44, temp_v0->unk_34 + 2, temp_v0->unk_38 + 14); + break; + case 10: + hud_element_set_script(temp_v0->unk_3C, &HES_SlowlyMashAButton); + temp_v0->unk_30 = 11; + // fallthrough + case 11: + arrCount = ARRAY_COUNT(temp_v0->aPressed); + idx = temp_v0->unk_1C0; + idx -= arrCount; + temp_v0->unk_04 = 0; + if (idx < 0) { + idx += arrCount; + } + + count = 0; + for (i = 0; i < arrCount; i++, idx++) { + if (idx >= ARRAY_COUNT(temp_v0->aPressed)) { + idx -= ARRAY_COUNT(temp_v0->aPressed); + } + if (temp_v0->aPressed[idx] != 0) { + count++; + } + } + evt_set_variable(NULL, MapVar(7), count * 1000); + temp_v0->unk_04 = (count * 100) / 22; + if (temp_v0->unk_04 < 0) { + temp_v0->unk_04 = 0; + } + if (temp_v0->unk_04 > 100) { + temp_v0->unk_04 = 100; + } + + id = temp_v0->unk_08 / 60; // TODO use of id required to match - weird + if (id <= 50) { + temp = 50.0f; + temp *= sin_rad((((id * 90) / 50) * TAU) / 360.0f); + } else { + temp = ((1.0 - sin_rad((((((id - 50) * 90) / 50) + 90) * TAU) / 360.0f)) * 50.0) + 50.0; + } + temp_v0->unk_1C4 = (((100 - temp) * 0.25) / 100.0) + ((2.0 * temp) / 100.0); + func_80055D38(temp_v0->unk_0C, temp_v0->unk_1C4); + set_script_timescale(get_script_by_id(temp_v0->unk_4C), temp_v0->unk_1C4 * 3.0f); + set_script_timescale(get_script_by_id(temp_v0->unk_50), temp_v0->unk_1C4 * 5.0f); + set_script_timescale(get_script_by_id(temp_v0->unk_54), temp_v0->unk_1C4 * 5.0f); + break; + } +} ApiStatus func_80240EF8_BCFAE8(Evt* script, s32 isInitialCall) { UnkObk07* temp_s0 = func_80240540_BCF130(); @@ -88,9 +170,6 @@ void func_802410C0_BCFCB0(void) { hud_element_draw_clipped(temp_v0->unk_44); } -extern s32 D_80243090_BD1C80[]; -extern s32 D_80243098_BD1C88[]; - ApiStatus func_80241130_BCFD20(Evt* script, s32 isInitialCall) { s32 outVal = 0; s32* it = D_80243090_BD1C80; @@ -118,16 +197,16 @@ ApiStatus func_80241168_BCFD58(Evt* script, s32 isInitialCall) { temp_s1->unk_30 = 0; temp_s1->unk_04 = 0; temp_s1->unk_08 = 0; - temp_s1->unk_10 = 0; - temp_s1->unk_14 = 20; - temp_s1->unk_18 = 40; - temp_s1->unk_1C = 60; - temp_s1->unk_20 = 80; - temp_s1->unk_24 = 100; + temp_s1->unk_10[0] = 0; + temp_s1->unk_10[1] = 20; + temp_s1->unk_10[2] = 40; + temp_s1->unk_10[3] = 60; + temp_s1->unk_10[4] = 80; + temp_s1->unk_10[5] = 100; temp_s1->unk_28 = 5; - for (i = 0; i <= 89; i++) { - temp_s1->unk_58[i] = 0; + for (i = 0; i < ARRAY_COUNT(temp_s1->aPressed); i++) { + temp_s1->aPressed[i] = 0; } temp_s1->unk_34 = -48; @@ -328,7 +407,70 @@ ApiStatus func_80241898_BD0488(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "world/area_obk/obk_07/BCF0F0", func_802418E0_BD04D0); +ApiStatus func_802418E0_BD04D0(Evt* script, s32 isInitialCall) { + Npc* npc = get_npc_unsafe(2); + UnkObk07* temp_v0 = func_80240540_BCF130(); + f32 y2 = -136.0f; + f32 x = npc->pos.x; + f32 z = npc->pos.z; + f32 x2 = -92.0f; + f32 x3 = 168.0f; + f32 speed; + + if (temp_v0->unk_30 == -1) { + speed = 2.0f; + npc->currentAnim = 0x950003; + if (dist2D(x, z, x3, y2) < speed) { + npc->pos.x = x3; + npc->pos.z = y2; + npc->yaw = atan2(x, z, x2, y2); + script->varTable[10] = 0; + script->varTable[11] = 1; + return ApiStatus_DONE2; + } else { + npc->yaw = atan2(x, z, x3, y2); + npc_move_heading(npc, speed, npc->yaw); + } + return ApiStatus_DONE2; + } + + if (temp_v0->unk_1D4 > 7000) { + speed = 2.0f; + script->varTable[10] = 1; + if (dist2D(x, z, x2, y2) < speed) { + npc->pos.x = x2; + npc->pos.z = y2; + } else { + npc->yaw = atan2(x, z, x2, y2); + npc_move_heading(npc, speed, npc->yaw); + } + } + + if (temp_v0->unk_1D4 < 3000) { + speed = 2.0f; + script->varTable[10] = 0; + if (dist2D(x, z, x3, y2) < speed) { + npc->pos.x = x3; + npc->pos.z = y2; + npc->yaw = atan2(x, z, x2, -136.0f); + } else { + npc->yaw = atan2(x, z, x3, y2); + npc_move_heading(npc, speed, npc->yaw); + } + } + + if (temp_v0->unk_1D4 > 7000) { + npc->currentAnim = 0x950005; + } else if (temp_v0->unk_1D4 > 5000) { + npc->currentAnim = 0x950003; + } else if (temp_v0->unk_1D4 > 3000) { + npc->currentAnim = 0x950002; + } else { + npc->currentAnim = 0x950001; + } + + return ApiStatus_DONE2; +} ApiStatus func_80241B50_BD0740(Evt* script, s32 isInitialCall) { Npc* npc = get_npc_unsafe(script->owner2.npcID); diff --git a/src/world/area_obk/obk_08/BD3870.c b/src/world/area_obk/obk_08/BD3870.c index de5a5137e2..da490d3ca6 100644 --- a/src/world/area_obk/obk_08/BD3870.c +++ b/src/world/area_obk/obk_08/BD3870.c @@ -2,7 +2,30 @@ #include "world/common/todo/UnkFoldFunc.inc.c" -INCLUDE_ASM(s32, "world/area_obk/obk_08/BD3870", func_802403DC_BD3C4C); +ApiStatus func_802403DC_BD3C4C(Evt* script) { + Bytecode* args = script->ptrReadPos; + s32 spriteIndex = evt_get_variable(script, *args++); + s32 rasterIndex = evt_get_variable(script, *args++); + UnkEntityStruct* temp_v0 = heap_malloc(sizeof(*temp_v0)); + + temp_v0->spriteIndex = spriteIndex; + temp_v0->rasterIndex = rasterIndex; + temp_v0->unk_34 = gPlayerStatus.colliderHeight; + temp_v0->unk_38 = gPlayerStatus.colliderDiameter; + temp_v0->pos.x = gPlayerStatus.position.x; + temp_v0->pos.y = gPlayerStatus.position.y; + temp_v0->pos.z = gPlayerStatus.position.z; + temp_v0->rot.x = 0.0f; + temp_v0->rot.y = 0.0f; + temp_v0->rot.z = 0.0f; + temp_v0->scale.x = SPRITE_WORLD_SCALE_F; + temp_v0->scale.y = SPRITE_WORLD_SCALE_F; + temp_v0->scale.z = SPRITE_WORLD_SCALE_F; + temp_v0->foldID = func_8013A704(1); + temp_v0->entityID = create_worker_world(0, obk_08_UnkFoldFunc); + evt_set_variable(script, MapVar(10), (s32) temp_v0); + return ApiStatus_DONE2; +} ApiStatus func_802404F0_BD3D60(Evt* script, s32 isInitialCall) { UnkEntityStruct* temp_v0 = (UnkEntityStruct*) evt_get_variable(NULL, MapVar(10)); @@ -14,13 +37,55 @@ ApiStatus func_802404F0_BD3D60(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "world/area_obk/obk_08/BD3870", func_8024055C_BD3DCC); +ApiStatus func_8024055C_BD3DCC(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 x = evt_get_float_variable(script, *args++); + s32 y = evt_get_float_variable(script, *args++); + s32 z = evt_get_float_variable(script, *args++); + UnkEntityStruct* temp_v0 = (UnkEntityStruct*) evt_get_variable(NULL, MapVar(10)); -INCLUDE_ASM(s32, "world/area_obk/obk_08/BD3870", func_8024061C_BD3E8C); + temp_v0->pos.x = x; + temp_v0->pos.y = y; + temp_v0->pos.z = z; + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "world/area_obk/obk_08/BD3870", func_802406DC_BD3F4C); +ApiStatus func_8024061C_BD3E8C(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 x = evt_get_float_variable(script, *args++); + s32 y = evt_get_float_variable(script, *args++); + s32 z = evt_get_float_variable(script, *args++); + UnkEntityStruct* temp_v0 = (UnkEntityStruct*) evt_get_variable(NULL, MapVar(10)); -INCLUDE_ASM(s32, "world/area_obk/obk_08/BD3870", func_8024079C_BD400C); + temp_v0->rot.x = x; + temp_v0->rot.y = y; + temp_v0->rot.z = z; + return ApiStatus_DONE2; +} + +ApiStatus func_802406DC_BD3F4C(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 x = evt_get_float_variable(script, *args++); + s32 y = evt_get_float_variable(script, *args++); + s32 z = evt_get_float_variable(script, *args++); + UnkEntityStruct* temp_v0 = (UnkEntityStruct*) evt_get_variable(NULL, MapVar(10)); + + temp_v0->scale.x = x; + temp_v0->scale.y = y; + temp_v0->scale.z = z; + return ApiStatus_DONE2; +} + +ApiStatus func_8024079C_BD400C(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 spriteIndex = evt_get_variable(script, *args++); + s32 rasterIndex = evt_get_variable(script, *args++); + UnkEntityStruct* temp_v0 = (UnkEntityStruct*) evt_get_variable(NULL, MapVar(10)); + + temp_v0->spriteIndex = spriteIndex; + temp_v0->rasterIndex = rasterIndex; + return ApiStatus_DONE2; +} ApiStatus func_80240808_BD4078(Evt* script, s32 isInitialCall) { if (gPlayerData.curHP < 2) { diff --git a/src/world/area_obk/obk_09/BDA940.c b/src/world/area_obk/obk_09/BDA940.c index 1dba117de8..b0500d7ef8 100644 --- a/src/world/area_obk/obk_09/BDA940.c +++ b/src/world/area_obk/obk_09/BDA940.c @@ -1,5 +1,49 @@ #include "obk_09.h" +#include "effects.h" -INCLUDE_ASM(s32, "world/area_obk/obk_09/BDA940", func_80240190_BDA940); +typedef struct UnkObk09 { + /* 0x00 */ Vec3f pos; + /* 0x0C */ char unk_0C[0x4]; + /* 0x10 */ f32 unk_10; + /* 0x14 */ char unk_14[0x4]; + /* 0x18 */ s32 shadowID; + /* 0x1C */ EffectInstance* spiritCard; +} UnkObk09; // size = 0x20 -INCLUDE_ASM(s32, "world/area_obk/obk_09/BDA940", func_80240248_BDA9F8); +ApiStatus func_80240190_BDA940(Evt* script, s32 isInitialCall) { + Npc* npc = get_npc_safe(script->owner2.npcID); + UnkObk09* data = heap_malloc(sizeof(*data)); + + script->userData = data; + data->pos.x = npc->pos.x; + data->pos.y = npc->pos.y; + data->pos.z = npc->pos.z; + data->unk_10 = 0.0f; + data->spiritCard = fx_spirit_card(1, data->pos.x, data->pos.y, data->pos.z, 1.0f, 0); + data->spiritCard->data.spiritCard->chapter = 2; + data->shadowID = create_shadow_type(0, data->pos.x, data->pos.y, data->pos.z); + return ApiStatus_DONE2; +} + +ApiStatus func_80240248_BDA9F8(Evt* script, s32 isInitialCall) { + UnkObk09* data = script->userData; + Npc* npc = get_npc_safe(script->owner2.npcID); + Shadow* shadow = get_shadow_by_index(data->shadowID); + EffectInstance* effect; + + data->pos.x = npc->pos.x - 2.0f; + data->pos.y = npc->pos.y + 12.0f; + data->pos.z = npc->pos.z - 30.0f; + + effect = data->spiritCard; + effect->data.spiritCard->pos.x = data->pos.x; + effect->data.spiritCard->pos.y = data->pos.y; + effect->data.spiritCard->pos.z = data->pos.z; + data->unk_10 = clamp_angle(data->unk_10 + 6.6f); + effect->data.spiritCard->yaw = data->unk_10; + + shadow->position.x = data->pos.x; + shadow->position.y = data->pos.y - 40.0f; + shadow->position.z = data->pos.z; + return ApiStatus_BLOCK; +} diff --git a/src/world/area_omo/omo_13/DE2710.c b/src/world/area_omo/omo_13/DE2710.c index c50a6da12f..baf1d3a319 100644 --- a/src/world/area_omo/omo_13/DE2710.c +++ b/src/world/area_omo/omo_13/DE2710.c @@ -1,4 +1,5 @@ #include "omo_13.h" +#include "sprite/npc/ShyGuy.h" #include "world/common/enemy/ai/ShyGuyWanderAI.inc.c" @@ -61,8 +62,6 @@ ApiStatus func_80240F8C_DE341C(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -// control flow -#ifdef NON_MATCHING ApiStatus func_80241028_DE34B8(Evt* script, s32 isInitialCall) { PlayerStatus* playerStatus = &gPlayerStatus; Npc* npc = get_npc_safe(0); @@ -71,7 +70,6 @@ ApiStatus func_80241028_DE34B8(Evt* script, s32 isInitialCall) { dist2D(110.0f, -45.0f, playerStatus->position.x, playerStatus->position.z); theta = clamp_angle(atan2(110.0f, -45.0f, playerStatus->position.x, playerStatus->position.z)); - x = (sin_deg(theta) * 30.0f) + 110.0f; if (script->varTable[11] != 0) { y = playerStatus->position.y * 0.7f; @@ -83,32 +81,21 @@ ApiStatus func_80241028_DE34B8(Evt* script, s32 isInitialCall) { if (script->varTable[11] != 0 && npc->pos.y == 0.0f) { script->varTable[11] = 0; } - if (npc->pos.x == x && npc->pos.y == y) { - if (npc->pos.z == z) { - if (npc->currentAnim != 0x3B0501) { - npc->currentAnim = 0x3B0501; - } - } else { - goto block_10; - } - } else { -block_10: - if (npc->currentAnim != 0x3B0502) { - if (script->varTable[10]++ >= 6) { - npc->currentAnim = 0x3B0502; - script->varTable[10] = 0; - } + + if (npc->pos.x != x || npc->pos.y != y || npc->pos.z != z) { + if (npc->currentAnim != ANIM_ShyGuy_Black_Anim02 && script->varTable[10]++ >= 6) { + npc->currentAnim = ANIM_ShyGuy_Black_Anim02; + script->varTable[10] = 0; } npc->pos.x = x; npc->pos.z = z; npc->colliderPos.x = npc->pos.x; npc->colliderPos.y = npc->pos.y; npc->colliderPos.z = npc->pos.z; - npc->flags |= 0x10000; + npc->flags |= NPC_FLAG_DIRTY_SHADOW; + } else if (npc->currentAnim != ANIM_ShyGuy_Black_Anim01) { + npc->currentAnim = ANIM_ShyGuy_Black_Anim01; } npc->yaw = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z); return ApiStatus_DONE2; } -#else -INCLUDE_ASM(s32, "world/area_omo/omo_13/DE2710", func_80241028_DE34B8); -#endif diff --git a/src/world/area_sam/sam_11/D3ADA0.c b/src/world/area_sam/sam_11/D3ADA0.c index 2e2b3e32f4..a04c9fe3fa 100644 --- a/src/world/area_sam/sam_11/D3ADA0.c +++ b/src/world/area_sam/sam_11/D3ADA0.c @@ -75,7 +75,42 @@ ApiStatus func_80241A6C_D3C03C(Evt* script, s32 isInitialCall) { #include "world/common/atomic/TexturePan.inc.c" +// float regalloc +#ifdef NON_MATCHING +ApiStatus func_80241DAC_D3C37C(Evt* script, s32 isInitialCall) { + EffectInstance* effect; + f32 temp_f22; + f32 f1; + f32 f2; + f32 f3; + f32 f4; + s32 i; + + for (i = 0; i < 24; i++) { + f2 = ((i / 6) * 40) - 100; + f1 = ((i % 6) * 40) - 100; + f3 = f1 + (0.0f); + temp_f22 = f2; + f1 = f1 * 0.1; + f2 = f2 * 0.1; + effect = fx_ice_shard(i & 1, f3, -10.0f, temp_f22 + 250.0f, 2.0 * ((i & 3) + 1.0), ((i & 3) * 4) + 30); + temp_f22 = 4.0f; + effect->data.iceShard->unk_44 = 0.0f; + effect->data.iceShard->unk_48 = (rand_int(10) * 0.2) + 0.1; + effect->data.iceShard->unk_3C = i * 35; + effect->data.iceShard->unk_40 = rand_int(10) - 5; + effect->data.iceShard->unk_4C = f1; + effect->data.iceShard->unk_50 = temp_f22; + effect->data.iceShard->unk_54 = f2; + effect->data.iceShard->unk_58 = -0.1f; + } + return ApiStatus_DONE2; +} +#else INCLUDE_ASM(s32, "world/area_sam/sam_11/D3ADA0", func_80241DAC_D3C37C); +#endif + +static char* N(exit_str_0) = "sam_02"; ApiStatus func_80241FB0_D3C580(Evt* script, s32 isInitialCall) { script->varTable[10] = 0; diff --git a/ver/us/asm/data/effects/3FA480.data.s b/ver/us/asm/data/effects/3FA480.data.s deleted file mode 100644 index 781f345fb9..0000000000 --- a/ver/us/asm/data/effects/3FA480.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_E0112630 -.word 0x09004458, 0x09004600 - -dlabel D_E0112638 -.word 0x09004360, 0x09004508 - -dlabel D_E0112640 -.word 0x09003F98, 0x09004010, 0x09004088, 0x09004100, 0x09004178, 0x090041F0, 0x09004268, 0x00000000 diff --git a/ver/us/asm/nonmatchings/effects/snaking_static/snaking_static_appendGfx.s b/ver/us/asm/nonmatchings/effects/snaking_static/snaking_static_appendGfx.s deleted file mode 100644 index f1e6a47fe9..0000000000 --- a/ver/us/asm/nonmatchings/effects/snaking_static/snaking_static_appendGfx.s +++ /dev/null @@ -1,323 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel snaking_static_appendGfx -/* 3B289C E00AE54C 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 3B28A0 E00AE550 3C06DB06 */ lui $a2, 0xdb06 -/* 3B28A4 E00AE554 34C60024 */ ori $a2, $a2, 0x24 -/* 3B28A8 E00AE558 AFB300BC */ sw $s3, 0xbc($sp) -/* 3B28AC E00AE55C 3C13800A */ lui $s3, %hi(gMasterGfxPos) -/* 3B28B0 E00AE560 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos) -/* 3B28B4 E00AE564 AFBF00D4 */ sw $ra, 0xd4($sp) -/* 3B28B8 E00AE568 AFBE00D0 */ sw $fp, 0xd0($sp) -/* 3B28BC E00AE56C AFB700CC */ sw $s7, 0xcc($sp) -/* 3B28C0 E00AE570 AFB600C8 */ sw $s6, 0xc8($sp) -/* 3B28C4 E00AE574 AFB500C4 */ sw $s5, 0xc4($sp) -/* 3B28C8 E00AE578 AFB400C0 */ sw $s4, 0xc0($sp) -/* 3B28CC E00AE57C AFB200B8 */ sw $s2, 0xb8($sp) -/* 3B28D0 E00AE580 AFB100B4 */ sw $s1, 0xb4($sp) -/* 3B28D4 E00AE584 AFB000B0 */ sw $s0, 0xb0($sp) -/* 3B28D8 E00AE588 F7B600E0 */ sdc1 $f22, 0xe0($sp) -/* 3B28DC E00AE58C F7B400D8 */ sdc1 $f20, 0xd8($sp) -/* 3B28E0 E00AE590 AFA400E8 */ sw $a0, 0xe8($sp) -/* 3B28E4 E00AE594 8E650000 */ lw $a1, ($s3) -/* 3B28E8 E00AE598 8FA900E8 */ lw $t1, 0xe8($sp) -/* 3B28EC E00AE59C 00A0182D */ daddu $v1, $a1, $zero -/* 3B28F0 E00AE5A0 8D32000C */ lw $s2, 0xc($t1) -/* 3B28F4 E00AE5A4 24A50008 */ addiu $a1, $a1, 8 -/* 3B28F8 E00AE5A8 AE650000 */ sw $a1, ($s3) -/* 3B28FC E00AE5AC 8E490014 */ lw $t1, 0x14($s2) -/* 3B2900 E00AE5B0 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B2904 E00AE5B4 AFA90098 */ sw $t1, 0x98($sp) -/* 3B2908 E00AE5B8 8E490024 */ lw $t1, 0x24($s2) -/* 3B290C E00AE5BC 3C110001 */ lui $s1, 1 -/* 3B2910 E00AE5C0 AFA9009C */ sw $t1, 0x9c($sp) -/* 3B2914 E00AE5C4 8E5E0018 */ lw $fp, 0x18($s2) -/* 3B2918 E00AE5C8 8E49001C */ lw $t1, 0x1c($s2) -/* 3B291C E00AE5CC 36311630 */ ori $s1, $s1, 0x1630 -/* 3B2920 E00AE5D0 AFA900A0 */ sw $t1, 0xa0($sp) -/* 3B2924 E00AE5D4 8E490020 */ lw $t1, 0x20($s2) -/* 3B2928 E00AE5D8 3C02E700 */ lui $v0, 0xe700 -/* 3B292C E00AE5DC AFA900A4 */ sw $t1, 0xa4($sp) -/* 3B2930 E00AE5E0 AC620000 */ sw $v0, ($v1) -/* 3B2934 E00AE5E4 AC600004 */ sw $zero, 4($v1) -/* 3B2938 E00AE5E8 ACA60000 */ sw $a2, ($a1) -/* 3B293C E00AE5EC 8FA900E8 */ lw $t1, 0xe8($sp) -/* 3B2940 E00AE5F0 24150001 */ addiu $s5, $zero, 1 -/* 3B2944 E00AE5F4 8D230010 */ lw $v1, 0x10($t1) -/* 3B2948 E00AE5F8 24A20008 */ addiu $v0, $a1, 8 -/* 3B294C E00AE5FC AE620000 */ sw $v0, ($s3) -/* 3B2950 E00AE600 8C62001C */ lw $v0, 0x1c($v1) -/* 3B2954 E00AE604 3C038000 */ lui $v1, 0x8000 -/* 3B2958 E00AE608 00431021 */ addu $v0, $v0, $v1 -/* 3B295C E00AE60C 3C03800B */ lui $v1, %hi(gCameras) -/* 3B2960 E00AE610 24631D80 */ addiu $v1, $v1, %lo(gCameras) -/* 3B2964 E00AE614 ACA20004 */ sw $v0, 4($a1) -/* 3B2968 E00AE618 8E450004 */ lw $a1, 4($s2) -/* 3B296C E00AE61C 8E460008 */ lw $a2, 8($s2) -/* 3B2970 E00AE620 3C028007 */ lui $v0, %hi(gCurrentCameraID) -/* 3B2974 E00AE624 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) -/* 3B2978 E00AE628 8E47000C */ lw $a3, 0xc($s2) -/* 3B297C E00AE62C 00028080 */ sll $s0, $v0, 2 -/* 3B2980 E00AE630 02028021 */ addu $s0, $s0, $v0 -/* 3B2984 E00AE634 00108080 */ sll $s0, $s0, 2 -/* 3B2988 E00AE638 02028023 */ subu $s0, $s0, $v0 -/* 3B298C E00AE63C 001010C0 */ sll $v0, $s0, 3 -/* 3B2990 E00AE640 02028021 */ addu $s0, $s0, $v0 -/* 3B2994 E00AE644 001080C0 */ sll $s0, $s0, 3 -/* 3B2998 E00AE648 0C080108 */ jal shim_guTranslateF -/* 3B299C E00AE64C 02038021 */ addu $s0, $s0, $v1 -/* 3B29A0 E00AE650 27B40058 */ addiu $s4, $sp, 0x58 -/* 3B29A4 E00AE654 8E450038 */ lw $a1, 0x38($s2) -/* 3B29A8 E00AE658 0280202D */ daddu $a0, $s4, $zero -/* 3B29AC E00AE65C 00A0302D */ daddu $a2, $a1, $zero -/* 3B29B0 E00AE660 0C080110 */ jal shim_guScaleF -/* 3B29B4 E00AE664 00A0382D */ daddu $a3, $a1, $zero -/* 3B29B8 E00AE668 0280202D */ daddu $a0, $s4, $zero -/* 3B29BC E00AE66C 27A50018 */ addiu $a1, $sp, 0x18 -/* 3B29C0 E00AE670 0C080114 */ jal shim_guMtxCatF -/* 3B29C4 E00AE674 00A0302D */ daddu $a2, $a1, $zero -/* 3B29C8 E00AE678 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B29CC E00AE67C 3C168007 */ lui $s6, %hi(gMatrixListPos) -/* 3B29D0 E00AE680 26D641F0 */ addiu $s6, $s6, %lo(gMatrixListPos) -/* 3B29D4 E00AE684 3C17800A */ lui $s7, %hi(gDisplayContext) -/* 3B29D8 E00AE688 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext) -/* 3B29DC E00AE68C 96C50000 */ lhu $a1, ($s6) -/* 3B29E0 E00AE690 8EE20000 */ lw $v0, ($s7) -/* 3B29E4 E00AE694 00052980 */ sll $a1, $a1, 6 -/* 3B29E8 E00AE698 00B12821 */ addu $a1, $a1, $s1 -/* 3B29EC E00AE69C 0C080118 */ jal shim_guMtxF2L -/* 3B29F0 E00AE6A0 00452821 */ addu $a1, $v0, $a1 -/* 3B29F4 E00AE6A4 3C03DA38 */ lui $v1, 0xda38 -/* 3B29F8 E00AE6A8 34630002 */ ori $v1, $v1, 2 -/* 3B29FC E00AE6AC 3C06DA38 */ lui $a2, 0xda38 -/* 3B2A00 E00AE6B0 00D53025 */ or $a2, $a2, $s5 -/* 3B2A04 E00AE6B4 8E640000 */ lw $a0, ($s3) -/* 3B2A08 E00AE6B8 96C20000 */ lhu $v0, ($s6) -/* 3B2A0C E00AE6BC 0080282D */ daddu $a1, $a0, $zero -/* 3B2A10 E00AE6C0 24840008 */ addiu $a0, $a0, 8 -/* 3B2A14 E00AE6C4 AE640000 */ sw $a0, ($s3) -/* 3B2A18 E00AE6C8 ACA30000 */ sw $v1, ($a1) -/* 3B2A1C E00AE6CC 00551821 */ addu $v1, $v0, $s5 -/* 3B2A20 E00AE6D0 3042FFFF */ andi $v0, $v0, 0xffff -/* 3B2A24 E00AE6D4 00021180 */ sll $v0, $v0, 6 -/* 3B2A28 E00AE6D8 A6C30000 */ sh $v1, ($s6) -/* 3B2A2C E00AE6DC 8EE30000 */ lw $v1, ($s7) -/* 3B2A30 E00AE6E0 00511021 */ addu $v0, $v0, $s1 -/* 3B2A34 E00AE6E4 00621821 */ addu $v1, $v1, $v0 -/* 3B2A38 E00AE6E8 24820008 */ addiu $v0, $a0, 8 -/* 3B2A3C E00AE6EC ACA30004 */ sw $v1, 4($a1) -/* 3B2A40 E00AE6F0 AE620000 */ sw $v0, ($s3) -/* 3B2A44 E00AE6F4 24820010 */ addiu $v0, $a0, 0x10 -/* 3B2A48 E00AE6F8 AC860000 */ sw $a2, ($a0) -/* 3B2A4C E00AE6FC AE620000 */ sw $v0, ($s3) -/* 3B2A50 E00AE700 8E030204 */ lw $v1, 0x204($s0) -/* 3B2A54 E00AE704 3C02FB00 */ lui $v0, 0xfb00 -/* 3B2A58 E00AE708 AC820008 */ sw $v0, 8($a0) -/* 3B2A5C E00AE70C AC830004 */ sw $v1, 4($a0) -/* 3B2A60 E00AE710 9243002B */ lbu $v1, 0x2b($s2) -/* 3B2A64 E00AE714 9245002F */ lbu $a1, 0x2f($s2) -/* 3B2A68 E00AE718 92460033 */ lbu $a2, 0x33($s2) -/* 3B2A6C E00AE71C 3C02DE00 */ lui $v0, 0xde00 -/* 3B2A70 E00AE720 AC820010 */ sw $v0, 0x10($a0) -/* 3B2A74 E00AE724 3C020900 */ lui $v0, 0x900 -/* 3B2A78 E00AE728 24421000 */ addiu $v0, $v0, 0x1000 -/* 3B2A7C E00AE72C AC820014 */ sw $v0, 0x14($a0) -/* 3B2A80 E00AE730 00031E00 */ sll $v1, $v1, 0x18 -/* 3B2A84 E00AE734 00052C00 */ sll $a1, $a1, 0x10 -/* 3B2A88 E00AE738 00651825 */ or $v1, $v1, $a1 -/* 3B2A8C E00AE73C 00063200 */ sll $a2, $a2, 8 -/* 3B2A90 E00AE740 00661825 */ or $v1, $v1, $a2 -/* 3B2A94 E00AE744 AC83000C */ sw $v1, 0xc($a0) -/* 3B2A98 E00AE748 8FA900E8 */ lw $t1, 0xe8($sp) -/* 3B2A9C E00AE74C 26520044 */ addiu $s2, $s2, 0x44 -/* 3B2AA0 E00AE750 8D220008 */ lw $v0, 8($t1) -/* 3B2AA4 E00AE754 24840018 */ addiu $a0, $a0, 0x18 -/* 3B2AA8 E00AE758 02A2102A */ slt $v0, $s5, $v0 -/* 3B2AAC E00AE75C 10400098 */ beqz $v0, .LE00AE9C0 -/* 3B2AB0 E00AE760 AE640000 */ sw $a0, ($s3) -/* 3B2AB4 E00AE764 0260882D */ daddu $s1, $s3, $zero -/* 3B2AB8 E00AE768 001E1E00 */ sll $v1, $fp, 0x18 -/* 3B2ABC E00AE76C 0280982D */ daddu $s3, $s4, $zero -/* 3B2AC0 E00AE770 02C0B82D */ daddu $s7, $s6, $zero -/* 3B2AC4 E00AE774 3C140001 */ lui $s4, 1 -/* 3B2AC8 E00AE778 36941630 */ ori $s4, $s4, 0x1630 -/* 3B2ACC E00AE77C 3C1EF200 */ lui $fp, 0xf200 -/* 3B2AD0 E00AE780 26500040 */ addiu $s0, $s2, 0x40 -/* 3B2AD4 E00AE784 8FA900A0 */ lw $t1, 0xa0($sp) -/* 3B2AD8 E00AE788 4480A000 */ mtc1 $zero, $f20 -/* 3B2ADC E00AE78C 3C013F80 */ lui $at, 0x3f80 -/* 3B2AE0 E00AE790 4481B000 */ mtc1 $at, $f22 -/* 3B2AE4 E00AE794 312200FF */ andi $v0, $t1, 0xff -/* 3B2AE8 E00AE798 00021400 */ sll $v0, $v0, 0x10 -/* 3B2AEC E00AE79C 8FA900A4 */ lw $t1, 0xa4($sp) -/* 3B2AF0 E00AE7A0 00621825 */ or $v1, $v1, $v0 -/* 3B2AF4 E00AE7A4 312200FF */ andi $v0, $t1, 0xff -/* 3B2AF8 E00AE7A8 00021200 */ sll $v0, $v0, 8 -/* 3B2AFC E00AE7AC 8FA90098 */ lw $t1, 0x98($sp) -/* 3B2B00 E00AE7B0 00621825 */ or $v1, $v1, $v0 -/* 3B2B04 E00AE7B4 AFA300A8 */ sw $v1, 0xa8($sp) -/* 3B2B08 E00AE7B8 02A91004 */ sllv $v0, $t1, $s5 -/* 3B2B0C E00AE7BC 0049B021 */ addu $s6, $v0, $t1 -/* 3B2B10 E00AE7C0 26C2001F */ addiu $v0, $s6, 0x1f -/* 3B2B14 E00AE7C4 00021080 */ sll $v0, $v0, 2 -/* 3B2B18 E00AE7C8 30420FFF */ andi $v0, $v0, 0xfff -/* 3B2B1C E00AE7CC 00021300 */ sll $v0, $v0, 0xc -/* 3B2B20 E00AE7D0 AFA200AC */ sw $v0, 0xac($sp) -.LE00AE7D4: -/* 3B2B24 E00AE7D4 8E280000 */ lw $t0, ($s1) -/* 3B2B28 E00AE7D8 3C02FA00 */ lui $v0, 0xfa00 -/* 3B2B2C E00AE7DC 0100282D */ daddu $a1, $t0, $zero -/* 3B2B30 E00AE7E0 ACA20000 */ sw $v0, ($a1) -/* 3B2B34 E00AE7E4 8E03FFE4 */ lw $v1, -0x1c($s0) -/* 3B2B38 E00AE7E8 8FA9009C */ lw $t1, 0x9c($sp) -/* 3B2B3C E00AE7EC 00690018 */ mult $v1, $t1 -/* 3B2B40 E00AE7F0 00001812 */ mflo $v1 -/* 3B2B44 E00AE7F4 3C028080 */ lui $v0, 0x8080 -/* 3B2B48 E00AE7F8 34428081 */ ori $v0, $v0, 0x8081 -/* 3B2B4C E00AE7FC 00620018 */ mult $v1, $v0 -/* 3B2B50 E00AE800 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B2B54 E00AE804 4407A000 */ mfc1 $a3, $f20 -/* 3B2B58 E00AE808 8FA900A8 */ lw $t1, 0xa8($sp) -/* 3B2B5C E00AE80C 00001010 */ mfhi $v0 -/* 3B2B60 E00AE810 00431021 */ addu $v0, $v0, $v1 -/* 3B2B64 E00AE814 000211C3 */ sra $v0, $v0, 7 -/* 3B2B68 E00AE818 00031FC3 */ sra $v1, $v1, 0x1f -/* 3B2B6C E00AE81C 00431023 */ subu $v0, $v0, $v1 -/* 3B2B70 E00AE820 304200FF */ andi $v0, $v0, 0xff -/* 3B2B74 E00AE824 01221025 */ or $v0, $t1, $v0 -/* 3B2B78 E00AE828 ACA20004 */ sw $v0, 4($a1) -/* 3B2B7C E00AE82C 8E05FFC4 */ lw $a1, -0x3c($s0) -/* 3B2B80 E00AE830 8E06FFC8 */ lw $a2, -0x38($s0) -/* 3B2B84 E00AE834 25080008 */ addiu $t0, $t0, 8 -/* 3B2B88 E00AE838 0C080108 */ jal shim_guTranslateF -/* 3B2B8C E00AE83C AE280000 */ sw $t0, ($s1) -/* 3B2B90 E00AE840 E7B60010 */ swc1 $f22, 0x10($sp) -/* 3B2B94 E00AE844 8E05FFFC */ lw $a1, -4($s0) -/* 3B2B98 E00AE848 4406A000 */ mfc1 $a2, $f20 -/* 3B2B9C E00AE84C 4407A000 */ mfc1 $a3, $f20 -/* 3B2BA0 E00AE850 0C080104 */ jal shim_guRotateF -/* 3B2BA4 E00AE854 0260202D */ daddu $a0, $s3, $zero -/* 3B2BA8 E00AE858 0260202D */ daddu $a0, $s3, $zero -/* 3B2BAC E00AE85C 27A50018 */ addiu $a1, $sp, 0x18 -/* 3B2BB0 E00AE860 0C080114 */ jal shim_guMtxCatF -/* 3B2BB4 E00AE864 00A0302D */ daddu $a2, $a1, $zero -/* 3B2BB8 E00AE868 C602FFF4 */ lwc1 $f2, -0xc($s0) -/* 3B2BBC E00AE86C 3C013D80 */ lui $at, 0x3d80 -/* 3B2BC0 E00AE870 44810000 */ mtc1 $at, $f0 -/* 3B2BC4 E00AE874 00000000 */ nop -/* 3B2BC8 E00AE878 46001082 */ mul.s $f2, $f2, $f0 -/* 3B2BCC E00AE87C 00000000 */ nop -/* 3B2BD0 E00AE880 0260202D */ daddu $a0, $s3, $zero -/* 3B2BD4 E00AE884 44051000 */ mfc1 $a1, $f2 -/* 3B2BD8 E00AE888 4407B000 */ mfc1 $a3, $f22 -/* 3B2BDC E00AE88C 0C080110 */ jal shim_guScaleF -/* 3B2BE0 E00AE890 00A0302D */ daddu $a2, $a1, $zero -/* 3B2BE4 E00AE894 0260202D */ daddu $a0, $s3, $zero -/* 3B2BE8 E00AE898 27A50018 */ addiu $a1, $sp, 0x18 -/* 3B2BEC E00AE89C 0C080114 */ jal shim_guMtxCatF -/* 3B2BF0 E00AE8A0 00A0302D */ daddu $a2, $a1, $zero -/* 3B2BF4 E00AE8A4 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B2BF8 E00AE8A8 96E50000 */ lhu $a1, ($s7) -/* 3B2BFC E00AE8AC 3C02800A */ lui $v0, %hi(gDisplayContext) -/* 3B2C00 E00AE8B0 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0) -/* 3B2C04 E00AE8B4 00052980 */ sll $a1, $a1, 6 -/* 3B2C08 E00AE8B8 00B42821 */ addu $a1, $a1, $s4 -/* 3B2C0C E00AE8BC 0C080118 */ jal shim_guMtxF2L -/* 3B2C10 E00AE8C0 00452821 */ addu $a1, $v0, $a1 -/* 3B2C14 E00AE8C4 3C060100 */ lui $a2, 0x100 -/* 3B2C18 E00AE8C8 34C6007C */ ori $a2, $a2, 0x7c -/* 3B2C1C E00AE8CC 3C07D838 */ lui $a3, 0xd838 -/* 3B2C20 E00AE8D0 8E240000 */ lw $a0, ($s1) -/* 3B2C24 E00AE8D4 34E70002 */ ori $a3, $a3, 2 -/* 3B2C28 E00AE8D8 0080282D */ daddu $a1, $a0, $zero -/* 3B2C2C E00AE8DC 24840008 */ addiu $a0, $a0, 8 -/* 3B2C30 E00AE8E0 AE240000 */ sw $a0, ($s1) -/* 3B2C34 E00AE8E4 96E20000 */ lhu $v0, ($s7) -/* 3B2C38 E00AE8E8 3C03DA38 */ lui $v1, 0xda38 -/* 3B2C3C E00AE8EC ACA30000 */ sw $v1, ($a1) -/* 3B2C40 E00AE8F0 24430001 */ addiu $v1, $v0, 1 -/* 3B2C44 E00AE8F4 3042FFFF */ andi $v0, $v0, 0xffff -/* 3B2C48 E00AE8F8 00021180 */ sll $v0, $v0, 6 -/* 3B2C4C E00AE8FC A6E30000 */ sh $v1, ($s7) -/* 3B2C50 E00AE900 3C03800A */ lui $v1, %hi(gDisplayContext) -/* 3B2C54 E00AE904 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1) -/* 3B2C58 E00AE908 00541021 */ addu $v0, $v0, $s4 -/* 3B2C5C E00AE90C 00621821 */ addu $v1, $v1, $v0 -/* 3B2C60 E00AE910 24820008 */ addiu $v0, $a0, 8 -/* 3B2C64 E00AE914 ACA30004 */ sw $v1, 4($a1) -/* 3B2C68 E00AE918 AE220000 */ sw $v0, ($s1) -/* 3B2C6C E00AE91C 24820010 */ addiu $v0, $a0, 0x10 -/* 3B2C70 E00AE920 AE220000 */ sw $v0, ($s1) -/* 3B2C74 E00AE924 24820018 */ addiu $v0, $a0, 0x18 -/* 3B2C78 E00AE928 AE220000 */ sw $v0, ($s1) -/* 3B2C7C E00AE92C 8E020000 */ lw $v0, ($s0) -/* 3B2C80 E00AE930 24830020 */ addiu $v1, $a0, 0x20 -/* 3B2C84 E00AE934 AE230000 */ sw $v1, ($s1) -/* 3B2C88 E00AE938 00021180 */ sll $v0, $v0, 6 -/* 3B2C8C E00AE93C 30420FFF */ andi $v0, $v0, 0xfff -/* 3B2C90 E00AE940 00021300 */ sll $v0, $v0, 0xc -/* 3B2C94 E00AE944 005E1025 */ or $v0, $v0, $fp -/* 3B2C98 E00AE948 AC820000 */ sw $v0, ($a0) -/* 3B2C9C E00AE94C 00161080 */ sll $v0, $s6, 2 -/* 3B2CA0 E00AE950 30420FFF */ andi $v0, $v0, 0xfff -/* 3B2CA4 E00AE954 00021300 */ sll $v0, $v0, 0xc -/* 3B2CA8 E00AE958 8E030000 */ lw $v1, ($s0) -/* 3B2CAC E00AE95C 005E1025 */ or $v0, $v0, $fp -/* 3B2CB0 E00AE960 AC820008 */ sw $v0, 8($a0) -/* 3B2CB4 E00AE964 8FA900AC */ lw $t1, 0xac($sp) -/* 3B2CB8 E00AE968 3C02DE00 */ lui $v0, 0xde00 -/* 3B2CBC E00AE96C AC820010 */ sw $v0, 0x10($a0) -/* 3B2CC0 E00AE970 3C020900 */ lui $v0, 0x900 -/* 3B2CC4 E00AE974 244210F8 */ addiu $v0, $v0, 0x10f8 -/* 3B2CC8 E00AE978 AC820014 */ sw $v0, 0x14($a0) -/* 3B2CCC E00AE97C 24020040 */ addiu $v0, $zero, 0x40 -/* 3B2CD0 E00AE980 AC870018 */ sw $a3, 0x18($a0) -/* 3B2CD4 E00AE984 AC82001C */ sw $v0, 0x1c($a0) -/* 3B2CD8 E00AE988 01263025 */ or $a2, $t1, $a2 -/* 3B2CDC E00AE98C 00031980 */ sll $v1, $v1, 6 -/* 3B2CE0 E00AE990 3463003C */ ori $v1, $v1, 0x3c -/* 3B2CE4 E00AE994 30630FFF */ andi $v1, $v1, 0xfff -/* 3B2CE8 E00AE998 00031B00 */ sll $v1, $v1, 0xc -/* 3B2CEC E00AE99C 3463007C */ ori $v1, $v1, 0x7c -/* 3B2CF0 E00AE9A0 AC86000C */ sw $a2, 0xc($a0) -/* 3B2CF4 E00AE9A4 AC830004 */ sw $v1, 4($a0) -/* 3B2CF8 E00AE9A8 8FA900E8 */ lw $t1, 0xe8($sp) -/* 3B2CFC E00AE9AC 26B50001 */ addiu $s5, $s5, 1 -/* 3B2D00 E00AE9B0 8D220008 */ lw $v0, 8($t1) -/* 3B2D04 E00AE9B4 02A2102A */ slt $v0, $s5, $v0 -/* 3B2D08 E00AE9B8 1440FF86 */ bnez $v0, .LE00AE7D4 -/* 3B2D0C E00AE9BC 26100044 */ addiu $s0, $s0, 0x44 -.LE00AE9C0: -/* 3B2D10 E00AE9C0 3C05E200 */ lui $a1, 0xe200 -/* 3B2D14 E00AE9C4 34A51E01 */ ori $a1, $a1, 0x1e01 -/* 3B2D18 E00AE9C8 3C06D838 */ lui $a2, 0xd838 -/* 3B2D1C E00AE9CC 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* 3B2D20 E00AE9D0 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* 3B2D24 E00AE9D4 8C820000 */ lw $v0, ($a0) -/* 3B2D28 E00AE9D8 34C60002 */ ori $a2, $a2, 2 -/* 3B2D2C E00AE9DC 0040182D */ daddu $v1, $v0, $zero -/* 3B2D30 E00AE9E0 24420008 */ addiu $v0, $v0, 8 -/* 3B2D34 E00AE9E4 AC820000 */ sw $v0, ($a0) -/* 3B2D38 E00AE9E8 AC650000 */ sw $a1, ($v1) -/* 3B2D3C E00AE9EC AC600004 */ sw $zero, 4($v1) -/* 3B2D40 E00AE9F0 24430008 */ addiu $v1, $v0, 8 -/* 3B2D44 E00AE9F4 AC830000 */ sw $v1, ($a0) -/* 3B2D48 E00AE9F8 24030040 */ addiu $v1, $zero, 0x40 -/* 3B2D4C E00AE9FC AC460000 */ sw $a2, ($v0) -/* 3B2D50 E00AEA00 AC430004 */ sw $v1, 4($v0) -/* 3B2D54 E00AEA04 8FBF00D4 */ lw $ra, 0xd4($sp) -/* 3B2D58 E00AEA08 8FBE00D0 */ lw $fp, 0xd0($sp) -/* 3B2D5C E00AEA0C 8FB700CC */ lw $s7, 0xcc($sp) -/* 3B2D60 E00AEA10 8FB600C8 */ lw $s6, 0xc8($sp) -/* 3B2D64 E00AEA14 8FB500C4 */ lw $s5, 0xc4($sp) -/* 3B2D68 E00AEA18 8FB400C0 */ lw $s4, 0xc0($sp) -/* 3B2D6C E00AEA1C 8FB300BC */ lw $s3, 0xbc($sp) -/* 3B2D70 E00AEA20 8FB200B8 */ lw $s2, 0xb8($sp) -/* 3B2D74 E00AEA24 8FB100B4 */ lw $s1, 0xb4($sp) -/* 3B2D78 E00AEA28 8FB000B0 */ lw $s0, 0xb0($sp) -/* 3B2D7C E00AEA2C D7B600E0 */ ldc1 $f22, 0xe0($sp) -/* 3B2D80 E00AEA30 D7B400D8 */ ldc1 $f20, 0xd8($sp) -/* 3B2D84 E00AEA34 03E00008 */ jr $ra -/* 3B2D88 E00AEA38 27BD00E8 */ addiu $sp, $sp, 0xe8 -/* 3B2D8C E00AEA3C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/something_rotating/something_rotating_appendGfx.s b/ver/us/asm/nonmatchings/effects/something_rotating/something_rotating_appendGfx.s deleted file mode 100644 index 3658d507fe..0000000000 --- a/ver/us/asm/nonmatchings/effects/something_rotating/something_rotating_appendGfx.s +++ /dev/null @@ -1,256 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel something_rotating_appendGfx -/* 402EC4 E0116884 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 402EC8 E0116888 AFB7002C */ sw $s7, 0x2c($sp) -/* 402ECC E011688C 0080B82D */ daddu $s7, $a0, $zero -/* 402ED0 E0116890 3C05DB06 */ lui $a1, 0xdb06 -/* 402ED4 E0116894 34A50024 */ ori $a1, $a1, 0x24 -/* 402ED8 E0116898 AFB3001C */ sw $s3, 0x1c($sp) -/* 402EDC E011689C 24130001 */ addiu $s3, $zero, 1 -/* 402EE0 E01168A0 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* 402EE4 E01168A4 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* 402EE8 E01168A8 3C03E700 */ lui $v1, 0xe700 -/* 402EEC E01168AC AFBF0034 */ sw $ra, 0x34($sp) -/* 402EF0 E01168B0 AFBE0030 */ sw $fp, 0x30($sp) -/* 402EF4 E01168B4 AFB60028 */ sw $s6, 0x28($sp) -/* 402EF8 E01168B8 AFB50024 */ sw $s5, 0x24($sp) -/* 402EFC E01168BC AFB40020 */ sw $s4, 0x20($sp) -/* 402F00 E01168C0 AFB20018 */ sw $s2, 0x18($sp) -/* 402F04 E01168C4 AFB10014 */ sw $s1, 0x14($sp) -/* 402F08 E01168C8 AFB00010 */ sw $s0, 0x10($sp) -/* 402F0C E01168CC F7B40038 */ sdc1 $f20, 0x38($sp) -/* 402F10 E01168D0 8CC20000 */ lw $v0, ($a2) -/* 402F14 E01168D4 8EF2000C */ lw $s2, 0xc($s7) -/* 402F18 E01168D8 0040202D */ daddu $a0, $v0, $zero -/* 402F1C E01168DC 24420008 */ addiu $v0, $v0, 8 -/* 402F20 E01168E0 8E5E0014 */ lw $fp, 0x14($s2) -/* 402F24 E01168E4 26520030 */ addiu $s2, $s2, 0x30 -/* 402F28 E01168E8 ACC20000 */ sw $v0, ($a2) -/* 402F2C E01168EC AC830000 */ sw $v1, ($a0) -/* 402F30 E01168F0 24430008 */ addiu $v1, $v0, 8 -/* 402F34 E01168F4 AC800004 */ sw $zero, 4($a0) -/* 402F38 E01168F8 ACC30000 */ sw $v1, ($a2) -/* 402F3C E01168FC AC450000 */ sw $a1, ($v0) -/* 402F40 E0116900 8EE40010 */ lw $a0, 0x10($s7) -/* 402F44 E0116904 24430010 */ addiu $v1, $v0, 0x10 -/* 402F48 E0116908 ACC30000 */ sw $v1, ($a2) -/* 402F4C E011690C 8C84001C */ lw $a0, 0x1c($a0) -/* 402F50 E0116910 3C03DE00 */ lui $v1, 0xde00 -/* 402F54 E0116914 AC430008 */ sw $v1, 8($v0) -/* 402F58 E0116918 3C030900 */ lui $v1, 0x900 -/* 402F5C E011691C 246342E0 */ addiu $v1, $v1, 0x42e0 -/* 402F60 E0116920 AC43000C */ sw $v1, 0xc($v0) -/* 402F64 E0116924 3C03FB00 */ lui $v1, 0xfb00 -/* 402F68 E0116928 AC430010 */ sw $v1, 0x10($v0) -/* 402F6C E011692C 240300FF */ addiu $v1, $zero, 0xff -/* 402F70 E0116930 AC430014 */ sw $v1, 0x14($v0) -/* 402F74 E0116934 3C038000 */ lui $v1, 0x8000 -/* 402F78 E0116938 00832021 */ addu $a0, $a0, $v1 -/* 402F7C E011693C AC440004 */ sw $a0, 4($v0) -/* 402F80 E0116940 8EE30008 */ lw $v1, 8($s7) -/* 402F84 E0116944 24420018 */ addiu $v0, $v0, 0x18 -/* 402F88 E0116948 0263182A */ slt $v1, $s3, $v1 -/* 402F8C E011694C 106000B5 */ beqz $v1, .LE0116C24 -/* 402F90 E0116950 ACC20000 */ sw $v0, ($a2) -/* 402F94 E0116954 00C0882D */ daddu $s1, $a2, $zero -/* 402F98 E0116958 3C16FB00 */ lui $s6, 0xfb00 -/* 402F9C E011695C 3C14DE00 */ lui $s4, 0xde00 -/* 402FA0 E0116960 3C013F50 */ lui $at, 0x3f50 -/* 402FA4 E0116964 4481A800 */ mtc1 $at, $f21 -/* 402FA8 E0116968 4480A000 */ mtc1 $zero, $f20 -/* 402FAC E011696C 3C15F200 */ lui $s5, 0xf200 -/* 402FB0 E0116970 26500025 */ addiu $s0, $s2, 0x25 -.LE0116974: -/* 402FB4 E0116974 92030004 */ lbu $v1, 4($s0) -/* 402FB8 E0116978 24020005 */ addiu $v0, $zero, 5 -/* 402FBC E011697C 506200A4 */ beql $v1, $v0, .LE0116C10 -/* 402FC0 E0116980 26730001 */ addiu $s3, $s3, 1 -/* 402FC4 E0116984 24040001 */ addiu $a0, $zero, 1 -/* 402FC8 E0116988 0C0459BA */ jal func_E01166E8 -/* 402FCC E011698C 0240282D */ daddu $a1, $s2, $zero -/* 402FD0 E0116990 9203FFFF */ lbu $v1, -1($s0) -/* 402FD4 E0116994 240200FF */ addiu $v0, $zero, 0xff -/* 402FD8 E0116998 1062006E */ beq $v1, $v0, .LE0116B54 -/* 402FDC E011699C 3C02FA00 */ lui $v0, 0xfa00 -/* 402FE0 E01169A0 3C014080 */ lui $at, 0x4080 -/* 402FE4 E01169A4 44810000 */ mtc1 $at, $f0 -/* 402FE8 E01169A8 449E1000 */ mtc1 $fp, $f2 -/* 402FEC E01169AC 00000000 */ nop -/* 402FF0 E01169B0 468010A0 */ cvt.s.w $f2, $f2 -/* 402FF4 E01169B4 46001082 */ mul.s $f2, $f2, $f0 -/* 402FF8 E01169B8 00000000 */ nop -/* 402FFC E01169BC 3C0142C8 */ lui $at, 0x42c8 -/* 403000 E01169C0 44813000 */ mtc1 $at, $f6 -/* 403004 E01169C4 00000000 */ nop -/* 403008 E01169C8 46061182 */ mul.s $f6, $f2, $f6 -/* 40300C E01169CC 00000000 */ nop -/* 403010 E01169D0 460031A1 */ cvt.d.s $f6, $f6 -/* 403014 E01169D4 46343182 */ mul.d $f6, $f6, $f20 -/* 403018 E01169D8 00000000 */ nop -/* 40301C E01169DC 8E260000 */ lw $a2, ($s1) -/* 403020 E01169E0 3C014220 */ lui $at, 0x4220 -/* 403024 E01169E4 44812000 */ mtc1 $at, $f4 -/* 403028 E01169E8 3C0142B4 */ lui $at, 0x42b4 -/* 40302C E01169EC 44814000 */ mtc1 $at, $f8 -/* 403030 E01169F0 00C0202D */ daddu $a0, $a2, $zero -/* 403034 E01169F4 24C60008 */ addiu $a2, $a2, 8 -/* 403038 E01169F8 AE260000 */ sw $a2, ($s1) -/* 40303C E01169FC AC820000 */ sw $v0, ($a0) -/* 403040 E0116A00 46041102 */ mul.s $f4, $f2, $f4 -/* 403044 E0116A04 00000000 */ nop -/* 403048 E0116A08 9203FFFF */ lbu $v1, -1($s0) -/* 40304C E0116A0C 3C014348 */ lui $at, 0x4348 -/* 403050 E0116A10 44810000 */ mtc1 $at, $f0 -/* 403054 E0116A14 24C20008 */ addiu $v0, $a2, 8 -/* 403058 E0116A18 AE220000 */ sw $v0, ($s1) -/* 40305C E0116A1C 46002121 */ cvt.d.s $f4, $f4 -/* 403060 E0116A20 46342102 */ mul.d $f4, $f4, $f20 -/* 403064 E0116A24 00000000 */ nop -/* 403068 E0116A28 AC830004 */ sw $v1, 4($a0) -/* 40306C E0116A2C ACD60000 */ sw $s6, ($a2) -/* 403070 E0116A30 92030001 */ lbu $v1, 1($s0) -/* 403074 E0116A34 92040002 */ lbu $a0, 2($s0) -/* 403078 E0116A38 92050003 */ lbu $a1, 3($s0) -/* 40307C E0116A3C 24C20010 */ addiu $v0, $a2, 0x10 -/* 403080 E0116A40 AE220000 */ sw $v0, ($s1) -/* 403084 E0116A44 46001002 */ mul.s $f0, $f2, $f0 -/* 403088 E0116A48 00000000 */ nop -/* 40308C E0116A4C 24C20018 */ addiu $v0, $a2, 0x18 -/* 403090 E0116A50 ACD40008 */ sw $s4, 8($a2) -/* 403094 E0116A54 AE220000 */ sw $v0, ($s1) -/* 403098 E0116A58 00031E00 */ sll $v1, $v1, 0x18 -/* 40309C E0116A5C 46000021 */ cvt.d.s $f0, $f0 -/* 4030A0 E0116A60 46340002 */ mul.d $f0, $f0, $f20 -/* 4030A4 E0116A64 00000000 */ nop -/* 4030A8 E0116A68 00042400 */ sll $a0, $a0, 0x10 -/* 4030AC E0116A6C 00641825 */ or $v1, $v1, $a0 -/* 4030B0 E0116A70 00052A00 */ sll $a1, $a1, 8 -/* 4030B4 E0116A74 00651825 */ or $v1, $v1, $a1 -/* 4030B8 E0116A78 34630078 */ ori $v1, $v1, 0x78 -/* 4030BC E0116A7C ACC30004 */ sw $v1, 4($a2) -/* 4030C0 E0116A80 3C03E011 */ lui $v1, %hi(D_E0116C6C) -/* 4030C4 E0116A84 8C636C6C */ lw $v1, %lo(D_E0116C6C)($v1) -/* 4030C8 E0116A88 46081082 */ mul.s $f2, $f2, $f8 -/* 4030CC E0116A8C 00000000 */ nop -/* 4030D0 E0116A90 24C20020 */ addiu $v0, $a2, 0x20 -/* 4030D4 E0116A94 AE220000 */ sw $v0, ($s1) -/* 4030D8 E0116A98 ACD40020 */ sw $s4, 0x20($a2) -/* 4030DC E0116A9C ACC3000C */ sw $v1, 0xc($a2) -/* 4030E0 E0116AA0 460010A1 */ cvt.d.s $f2, $f2 -/* 4030E4 E0116AA4 46341082 */ mul.d $f2, $f2, $f20 -/* 4030E8 E0116AA8 00000000 */ nop -/* 4030EC E0116AAC 4620328D */ trunc.w.d $f10, $f6 -/* 4030F0 E0116AB0 44075000 */ mfc1 $a3, $f10 -/* 4030F4 E0116AB4 4620228D */ trunc.w.d $f10, $f4 -/* 4030F8 E0116AB8 44085000 */ mfc1 $t0, $f10 -/* 4030FC E0116ABC 30E40FFF */ andi $a0, $a3, 0xfff -/* 403100 E0116AC0 24E200FC */ addiu $v0, $a3, 0xfc -/* 403104 E0116AC4 4620028D */ trunc.w.d $f10, $f0 -/* 403108 E0116AC8 44075000 */ mfc1 $a3, $f10 -/* 40310C E0116ACC 31030FFF */ andi $v1, $t0, 0xfff -/* 403110 E0116AD0 250500FC */ addiu $a1, $t0, 0xfc -/* 403114 E0116AD4 4620128D */ trunc.w.d $f10, $f2 -/* 403118 E0116AD8 44085000 */ mfc1 $t0, $f10 -/* 40311C E0116ADC 00042300 */ sll $a0, $a0, 0xc -/* 403120 E0116AE0 00751825 */ or $v1, $v1, $s5 -/* 403124 E0116AE4 00832025 */ or $a0, $a0, $v1 -/* 403128 E0116AE8 30420FFF */ andi $v0, $v0, 0xfff -/* 40312C E0116AEC 00021300 */ sll $v0, $v0, 0xc -/* 403130 E0116AF0 30A50FFF */ andi $a1, $a1, 0xfff -/* 403134 E0116AF4 00451025 */ or $v0, $v0, $a1 -/* 403138 E0116AF8 30E30FFF */ andi $v1, $a3, 0xfff -/* 40313C E0116AFC 00031B00 */ sll $v1, $v1, 0xc -/* 403140 E0116B00 ACC20014 */ sw $v0, 0x14($a2) -/* 403144 E0116B04 31020FFF */ andi $v0, $t0, 0xfff -/* 403148 E0116B08 00551025 */ or $v0, $v0, $s5 -/* 40314C E0116B0C 00621825 */ or $v1, $v1, $v0 -/* 403150 E0116B10 ACC30018 */ sw $v1, 0x18($a2) -/* 403154 E0116B14 24E300FC */ addiu $v1, $a3, 0xfc -/* 403158 E0116B18 30630FFF */ andi $v1, $v1, 0xfff -/* 40315C E0116B1C 00031B00 */ sll $v1, $v1, 0xc -/* 403160 E0116B20 250200FC */ addiu $v0, $t0, 0xfc -/* 403164 E0116B24 30420FFF */ andi $v0, $v0, 0xfff -/* 403168 E0116B28 ACC40010 */ sw $a0, 0x10($a2) -/* 40316C E0116B2C 3C040100 */ lui $a0, 0x100 -/* 403170 E0116B30 00441025 */ or $v0, $v0, $a0 -/* 403174 E0116B34 00621825 */ or $v1, $v1, $v0 -/* 403178 E0116B38 ACC3001C */ sw $v1, 0x1c($a2) -/* 40317C E0116B3C 3C03E011 */ lui $v1, %hi(D_E0116C64) -/* 403180 E0116B40 8C636C64 */ lw $v1, %lo(D_E0116C64)($v1) -/* 403184 E0116B44 24C20028 */ addiu $v0, $a2, 0x28 -/* 403188 E0116B48 AE220000 */ sw $v0, ($s1) -/* 40318C E0116B4C 08045AFA */ j .LE0116BE8 -/* 403190 E0116B50 ACC30024 */ sw $v1, 0x24($a2) -.LE0116B54: -/* 403194 E0116B54 8E240000 */ lw $a0, ($s1) -/* 403198 E0116B58 0080282D */ daddu $a1, $a0, $zero -/* 40319C E0116B5C 24840008 */ addiu $a0, $a0, 8 -/* 4031A0 E0116B60 AE240000 */ sw $a0, ($s1) -/* 4031A4 E0116B64 ACB40000 */ sw $s4, ($a1) -/* 4031A8 E0116B68 3C03E011 */ lui $v1, %hi(D_E0116C68) -/* 4031AC E0116B6C 8C636C68 */ lw $v1, %lo(D_E0116C68)($v1) -/* 4031B0 E0116B70 24820008 */ addiu $v0, $a0, 8 -/* 4031B4 E0116B74 AE220000 */ sw $v0, ($s1) -/* 4031B8 E0116B78 ACA30004 */ sw $v1, 4($a1) -/* 4031BC E0116B7C AC960000 */ sw $s6, ($a0) -/* 4031C0 E0116B80 92020001 */ lbu $v0, 1($s0) -/* 4031C4 E0116B84 92030002 */ lbu $v1, 2($s0) -/* 4031C8 E0116B88 92050003 */ lbu $a1, 3($s0) -/* 4031CC E0116B8C 92060000 */ lbu $a2, ($s0) -/* 4031D0 E0116B90 AC940008 */ sw $s4, 8($a0) -/* 4031D4 E0116B94 00021600 */ sll $v0, $v0, 0x18 -/* 4031D8 E0116B98 00031C00 */ sll $v1, $v1, 0x10 -/* 4031DC E0116B9C 00431025 */ or $v0, $v0, $v1 -/* 4031E0 E0116BA0 00052A00 */ sll $a1, $a1, 8 -/* 4031E4 E0116BA4 00451025 */ or $v0, $v0, $a1 -/* 4031E8 E0116BA8 00461025 */ or $v0, $v0, $a2 -/* 4031EC E0116BAC AC820004 */ sw $v0, 4($a0) -/* 4031F0 E0116BB0 2662FFFF */ addiu $v0, $s3, -1 -/* 4031F4 E0116BB4 00021080 */ sll $v0, $v0, 2 -/* 4031F8 E0116BB8 3C03E011 */ lui $v1, %hi(D_E0116C70) -/* 4031FC E0116BBC 00621821 */ addu $v1, $v1, $v0 -/* 403200 E0116BC0 8C636C70 */ lw $v1, %lo(D_E0116C70)($v1) -/* 403204 E0116BC4 24820010 */ addiu $v0, $a0, 0x10 -/* 403208 E0116BC8 AE220000 */ sw $v0, ($s1) -/* 40320C E0116BCC AC940010 */ sw $s4, 0x10($a0) -/* 403210 E0116BD0 AC83000C */ sw $v1, 0xc($a0) -/* 403214 E0116BD4 3C03E011 */ lui $v1, %hi(D_E0116C60) -/* 403218 E0116BD8 8C636C60 */ lw $v1, %lo(D_E0116C60)($v1) -/* 40321C E0116BDC 24820018 */ addiu $v0, $a0, 0x18 -/* 403220 E0116BE0 AE220000 */ sw $v0, ($s1) -/* 403224 E0116BE4 AC830014 */ sw $v1, 0x14($a0) -.LE0116BE8: -/* 403228 E0116BE8 3C04D838 */ lui $a0, 0xd838 -/* 40322C E0116BEC 8E220000 */ lw $v0, ($s1) -/* 403230 E0116BF0 34840002 */ ori $a0, $a0, 2 -/* 403234 E0116BF4 0040182D */ daddu $v1, $v0, $zero -/* 403238 E0116BF8 24420008 */ addiu $v0, $v0, 8 -/* 40323C E0116BFC AE220000 */ sw $v0, ($s1) -/* 403240 E0116C00 24020040 */ addiu $v0, $zero, 0x40 -/* 403244 E0116C04 AC640000 */ sw $a0, ($v1) -/* 403248 E0116C08 AC620004 */ sw $v0, 4($v1) -/* 40324C E0116C0C 26730001 */ addiu $s3, $s3, 1 -.LE0116C10: -/* 403250 E0116C10 26100030 */ addiu $s0, $s0, 0x30 -/* 403254 E0116C14 8EE20008 */ lw $v0, 8($s7) -/* 403258 E0116C18 0262102A */ slt $v0, $s3, $v0 -/* 40325C E0116C1C 1440FF55 */ bnez $v0, .LE0116974 -/* 403260 E0116C20 26520030 */ addiu $s2, $s2, 0x30 -.LE0116C24: -/* 403264 E0116C24 8FBF0034 */ lw $ra, 0x34($sp) -/* 403268 E0116C28 8FBE0030 */ lw $fp, 0x30($sp) -/* 40326C E0116C2C 8FB7002C */ lw $s7, 0x2c($sp) -/* 403270 E0116C30 8FB60028 */ lw $s6, 0x28($sp) -/* 403274 E0116C34 8FB50024 */ lw $s5, 0x24($sp) -/* 403278 E0116C38 8FB40020 */ lw $s4, 0x20($sp) -/* 40327C E0116C3C 8FB3001C */ lw $s3, 0x1c($sp) -/* 403280 E0116C40 8FB20018 */ lw $s2, 0x18($sp) -/* 403284 E0116C44 8FB10014 */ lw $s1, 0x14($sp) -/* 403288 E0116C48 8FB00010 */ lw $s0, 0x10($sp) -/* 40328C E0116C4C D7B40038 */ ldc1 $f20, 0x38($sp) -/* 403290 E0116C50 03E00008 */ jr $ra -/* 403294 E0116C54 27BD0040 */ addiu $sp, $sp, 0x40 -/* 403298 E0116C58 00000000 */ nop -/* 40329C E0116C5C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_802421A0_8EDFC0.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_802421A0_8EDFC0.s deleted file mode 100644 index dba61b6dfb..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_802421A0_8EDFC0.s +++ /dev/null @@ -1,462 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80253030_8FEE50 -.double 0.65 - -dlabel D_80253038_8FEE58 -.double 0.55 - -.section .text - -glabel func_802421A0_8EDFC0 -/* 8EDFC0 802421A0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 8EDFC4 802421A4 AFB60040 */ sw $s6, 0x40($sp) -/* 8EDFC8 802421A8 0080B02D */ daddu $s6, $a0, $zero -/* 8EDFCC 802421AC AFB00028 */ sw $s0, 0x28($sp) -/* 8EDFD0 802421B0 00A0802D */ daddu $s0, $a1, $zero -/* 8EDFD4 802421B4 AFBF0044 */ sw $ra, 0x44($sp) -/* 8EDFD8 802421B8 AFB5003C */ sw $s5, 0x3c($sp) -/* 8EDFDC 802421BC AFB40038 */ sw $s4, 0x38($sp) -/* 8EDFE0 802421C0 AFB30034 */ sw $s3, 0x34($sp) -/* 8EDFE4 802421C4 AFB20030 */ sw $s2, 0x30($sp) -/* 8EDFE8 802421C8 1A00019F */ blez $s0, .L80242848 -/* 8EDFEC 802421CC AFB1002C */ sw $s1, 0x2c($sp) -/* 8EDFF0 802421D0 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* 8EDFF4 802421D4 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* 8EDFF8 802421D8 3C02DE00 */ lui $v0, 0xde00 -/* 8EDFFC 802421DC 44900000 */ mtc1 $s0, $f0 -/* 8EE000 802421E0 00000000 */ nop -/* 8EE004 802421E4 46800021 */ cvt.d.w $f0, $f0 -/* 8EE008 802421E8 8C830000 */ lw $v1, ($a0) -/* 8EE00C 802421EC 3C018025 */ lui $at, %hi(D_80253030_8FEE50) -/* 8EE010 802421F0 D4223030 */ ldc1 $f2, %lo(D_80253030_8FEE50)($at) -/* 8EE014 802421F4 0060282D */ daddu $a1, $v1, $zero -/* 8EE018 802421F8 24630008 */ addiu $v1, $v1, 8 -/* 8EE01C 802421FC AC830000 */ sw $v1, ($a0) -/* 8EE020 80242200 ACA20000 */ sw $v0, ($a1) -/* 8EE024 80242204 3C028025 */ lui $v0, %hi(D_80252D50_8FEB70) -/* 8EE028 80242208 24422D50 */ addiu $v0, $v0, %lo(D_80252D50_8FEB70) -/* 8EE02C 8024220C ACA20004 */ sw $v0, 4($a1) -/* 8EE030 80242210 24620008 */ addiu $v0, $v1, 8 -/* 8EE034 80242214 AC820000 */ sw $v0, ($a0) -/* 8EE038 80242218 3C02E700 */ lui $v0, 0xe700 -/* 8EE03C 8024221C 46220002 */ mul.d $f0, $f0, $f2 -/* 8EE040 80242220 00000000 */ nop -/* 8EE044 80242224 AC620000 */ sw $v0, ($v1) -/* 8EE048 80242228 24620010 */ addiu $v0, $v1, 0x10 -/* 8EE04C 8024222C AC600004 */ sw $zero, 4($v1) -/* 8EE050 80242230 AC820000 */ sw $v0, ($a0) -/* 8EE054 80242234 3C02FA00 */ lui $v0, 0xfa00 -/* 8EE058 80242238 3C0141E0 */ lui $at, 0x41e0 -/* 8EE05C 8024223C 44811800 */ mtc1 $at, $f3 -/* 8EE060 80242240 44801000 */ mtc1 $zero, $f2 -/* 8EE064 80242244 246D000C */ addiu $t5, $v1, 0xc -/* 8EE068 80242248 4620103E */ c.le.d $f2, $f0 -/* 8EE06C 8024224C 00000000 */ nop -/* 8EE070 80242250 45010005 */ bc1t .L80242268 -/* 8EE074 80242254 AC620008 */ sw $v0, 8($v1) -/* 8EE078 80242258 4620010D */ trunc.w.d $f4, $f0 -/* 8EE07C 8024225C 440C2000 */ mfc1 $t4, $f4 -/* 8EE080 80242260 080908A1 */ j .L80242284 -/* 8EE084 80242264 3C091078 */ lui $t1, 0x1078 -.L80242268: -/* 8EE088 80242268 46220001 */ sub.d $f0, $f0, $f2 -/* 8EE08C 8024226C 3C028000 */ lui $v0, 0x8000 -/* 8EE090 80242270 4620010D */ trunc.w.d $f4, $f0 -/* 8EE094 80242274 440C2000 */ mfc1 $t4, $f4 -/* 8EE098 80242278 00000000 */ nop -/* 8EE09C 8024227C 01826025 */ or $t4, $t4, $v0 -/* 8EE0A0 80242280 3C091078 */ lui $t1, 0x1078 -.L80242284: -/* 8EE0A4 80242284 35291800 */ ori $t1, $t1, 0x1800 -/* 8EE0A8 80242288 3C0BF647 */ lui $t3, 0xf647 -/* 8EE0AC 8024228C 356BC300 */ ori $t3, $t3, 0xc300 -/* 8EE0B0 80242290 3C0A0008 */ lui $t2, 8 -/* 8EE0B4 80242294 354A40AC */ ori $t2, $t2, 0x40ac -/* 8EE0B8 80242298 2404001E */ addiu $a0, $zero, 0x1e -/* 8EE0BC 8024229C 24050028 */ addiu $a1, $zero, 0x28 -/* 8EE0C0 802422A0 24060104 */ addiu $a2, $zero, 0x104 -/* 8EE0C4 802422A4 3C08800A */ lui $t0, %hi(gMasterGfxPos) -/* 8EE0C8 802422A8 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos) -/* 8EE0CC 802422AC 318200FF */ andi $v0, $t4, 0xff -/* 8EE0D0 802422B0 00491025 */ or $v0, $v0, $t1 -/* 8EE0D4 802422B4 44901000 */ mtc1 $s0, $f2 -/* 8EE0D8 802422B8 00000000 */ nop -/* 8EE0DC 802422BC 468010A1 */ cvt.d.w $f2, $f2 -/* 8EE0E0 802422C0 8D030000 */ lw $v1, ($t0) -/* 8EE0E4 802422C4 3C018025 */ lui $at, %hi(D_80253038_8FEE58) -/* 8EE0E8 802422C8 D4203038 */ ldc1 $f0, %lo(D_80253038_8FEE58)($at) -/* 8EE0EC 802422CC 24110001 */ addiu $s1, $zero, 1 -/* 8EE0F0 802422D0 ADA20000 */ sw $v0, ($t5) -/* 8EE0F4 802422D4 0060102D */ daddu $v0, $v1, $zero -/* 8EE0F8 802422D8 24630008 */ addiu $v1, $v1, 8 -/* 8EE0FC 802422DC AD030000 */ sw $v1, ($t0) -/* 8EE100 802422E0 AC4B0000 */ sw $t3, ($v0) -/* 8EE104 802422E4 AC4A0004 */ sw $t2, 4($v0) -/* 8EE108 802422E8 24620008 */ addiu $v0, $v1, 8 -/* 8EE10C 802422EC AD020000 */ sw $v0, ($t0) -/* 8EE110 802422F0 3C02E700 */ lui $v0, 0xe700 -/* 8EE114 802422F4 46201082 */ mul.d $f2, $f2, $f0 -/* 8EE118 802422F8 00000000 */ nop -/* 8EE11C 802422FC AC620000 */ sw $v0, ($v1) -/* 8EE120 80242300 24020006 */ addiu $v0, $zero, 6 -/* 8EE124 80242304 AC600004 */ sw $zero, 4($v1) -/* 8EE128 80242308 AFA20010 */ sw $v0, 0x10($sp) -/* 8EE12C 8024230C AFA00014 */ sw $zero, 0x14($sp) -/* 8EE130 80242310 AFB10018 */ sw $s1, 0x18($sp) -/* 8EE134 80242314 AFB00020 */ sw $s0, 0x20($sp) -/* 8EE138 80242318 4620110D */ trunc.w.d $f4, $f2 -/* 8EE13C 8024231C E7A4001C */ swc1 $f4, 0x1c($sp) -/* 8EE140 80242320 0C04B6D6 */ jal msg_draw_frame -/* 8EE144 80242324 2407009B */ addiu $a3, $zero, 0x9b -/* 8EE148 80242328 3C04000B */ lui $a0, 0xb -/* 8EE14C 8024232C 348400FC */ ori $a0, $a0, 0xfc -/* 8EE150 80242330 0C04991D */ jal get_msg_width -/* 8EE154 80242334 0000282D */ daddu $a1, $zero, $zero -/* 8EE158 80242338 3C04000B */ lui $a0, 0xb -/* 8EE15C 8024233C 348400FC */ ori $a0, $a0, 0xfc -/* 8EE160 80242340 241300CE */ addiu $s3, $zero, 0xce -/* 8EE164 80242344 02622823 */ subu $a1, $s3, $v0 -/* 8EE168 80242348 24060032 */ addiu $a2, $zero, 0x32 -/* 8EE16C 8024234C 0200382D */ daddu $a3, $s0, $zero -/* 8EE170 80242350 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE174 80242354 0C04993B */ jal draw_msg -/* 8EE178 80242358 AFB10014 */ sw $s1, 0x14($sp) -/* 8EE17C 8024235C 240500D8 */ addiu $a1, $zero, 0xd8 -/* 8EE180 80242360 24060033 */ addiu $a2, $zero, 0x33 -/* 8EE184 80242364 3C128011 */ lui $s2, %hi(gPlayerData) -/* 8EE188 80242368 2652F290 */ addiu $s2, $s2, %lo(gPlayerData) -/* 8EE18C 8024236C 0220382D */ daddu $a3, $s1, $zero -/* 8EE190 80242370 8E4402B4 */ lw $a0, 0x2b4($s2) -/* 8EE194 80242374 24140002 */ addiu $s4, $zero, 2 -/* 8EE198 80242378 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE19C 8024237C AFB00014 */ sw $s0, 0x14($sp) -/* 8EE1A0 80242380 0C049DA7 */ jal draw_number -/* 8EE1A4 80242384 AFB40018 */ sw $s4, 0x18($sp) -/* 8EE1A8 80242388 3C04000B */ lui $a0, 0xb -/* 8EE1AC 8024238C 348400FD */ ori $a0, $a0, 0xfd -/* 8EE1B0 80242390 0C04991D */ jal get_msg_width -/* 8EE1B4 80242394 0000282D */ daddu $a1, $zero, $zero -/* 8EE1B8 80242398 3C04000B */ lui $a0, 0xb -/* 8EE1BC 8024239C 348400FD */ ori $a0, $a0, 0xfd -/* 8EE1C0 802423A0 02622823 */ subu $a1, $s3, $v0 -/* 8EE1C4 802423A4 24060041 */ addiu $a2, $zero, 0x41 -/* 8EE1C8 802423A8 0200382D */ daddu $a3, $s0, $zero -/* 8EE1CC 802423AC AFA00010 */ sw $zero, 0x10($sp) -/* 8EE1D0 802423B0 0C04993B */ jal draw_msg -/* 8EE1D4 802423B4 AFB10014 */ sw $s1, 0x14($sp) -/* 8EE1D8 802423B8 240500E7 */ addiu $a1, $zero, 0xe7 -/* 8EE1DC 802423BC 24060042 */ addiu $a2, $zero, 0x42 -/* 8EE1E0 802423C0 0220382D */ daddu $a3, $s1, $zero -/* 8EE1E4 802423C4 96C40024 */ lhu $a0, 0x24($s6) -/* 8EE1E8 802423C8 24150003 */ addiu $s5, $zero, 3 -/* 8EE1EC 802423CC AFA00010 */ sw $zero, 0x10($sp) -/* 8EE1F0 802423D0 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE1F4 802423D4 0C049DA7 */ jal draw_number -/* 8EE1F8 802423D8 AFB50018 */ sw $s5, 0x18($sp) -/* 8EE1FC 802423DC 3C04001F */ lui $a0, 0x1f -/* 8EE200 802423E0 34840034 */ ori $a0, $a0, 0x34 -/* 8EE204 802423E4 240500E8 */ addiu $a1, $zero, 0xe8 -/* 8EE208 802423E8 2406003F */ addiu $a2, $zero, 0x3f -/* 8EE20C 802423EC 0200382D */ daddu $a3, $s0, $zero -/* 8EE210 802423F0 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE214 802423F4 0C04993B */ jal draw_msg -/* 8EE218 802423F8 AFA00014 */ sw $zero, 0x14($sp) -/* 8EE21C 802423FC 24040050 */ addiu $a0, $zero, 0x50 -/* 8EE220 80242400 240500F4 */ addiu $a1, $zero, 0xf4 -/* 8EE224 80242404 24060042 */ addiu $a2, $zero, 0x42 -/* 8EE228 80242408 0220382D */ daddu $a3, $s1, $zero -/* 8EE22C 8024240C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE230 80242410 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE234 80242414 0C049DA7 */ jal draw_number -/* 8EE238 80242418 AFB40018 */ sw $s4, 0x18($sp) -/* 8EE23C 8024241C 9642032C */ lhu $v0, 0x32c($s2) -/* 8EE240 80242420 1440000A */ bnez $v0, .L8024244C -/* 8EE244 80242424 3C04000B */ lui $a0, 0xb -/* 8EE248 80242428 348400FA */ ori $a0, $a0, 0xfa -/* 8EE24C 8024242C 2405006D */ addiu $a1, $zero, 0x6d -/* 8EE250 80242430 24060050 */ addiu $a2, $zero, 0x50 -/* 8EE254 80242434 0200382D */ daddu $a3, $s0, $zero -/* 8EE258 80242438 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE25C 8024243C 0C04993B */ jal draw_msg -/* 8EE260 80242440 AFB10014 */ sw $s1, 0x14($sp) -/* 8EE264 80242444 08090937 */ j .L802424DC -/* 8EE268 80242448 3C04000B */ lui $a0, 0xb -.L8024244C: -/* 8EE26C 8024244C 348400FB */ ori $a0, $a0, 0xfb -/* 8EE270 80242450 0C04991D */ jal get_msg_width -/* 8EE274 80242454 0000282D */ daddu $a1, $zero, $zero -/* 8EE278 80242458 3C04000B */ lui $a0, 0xb -/* 8EE27C 8024245C 348400FB */ ori $a0, $a0, 0xfb -/* 8EE280 80242460 02622823 */ subu $a1, $s3, $v0 -/* 8EE284 80242464 24060050 */ addiu $a2, $zero, 0x50 -/* 8EE288 80242468 0200382D */ daddu $a3, $s0, $zero -/* 8EE28C 8024246C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE290 80242470 0C04993B */ jal draw_msg -/* 8EE294 80242474 AFB10014 */ sw $s1, 0x14($sp) -/* 8EE298 80242478 240500E7 */ addiu $a1, $zero, 0xe7 -/* 8EE29C 8024247C 24060051 */ addiu $a2, $zero, 0x51 -/* 8EE2A0 80242480 9644032C */ lhu $a0, 0x32c($s2) -/* 8EE2A4 80242484 24070001 */ addiu $a3, $zero, 1 -/* 8EE2A8 80242488 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE2AC 8024248C AFB00014 */ sw $s0, 0x14($sp) -/* 8EE2B0 80242490 0C049DA7 */ jal draw_number -/* 8EE2B4 80242494 AFB50018 */ sw $s5, 0x18($sp) -/* 8EE2B8 80242498 3C04001F */ lui $a0, 0x1f -/* 8EE2BC 8024249C 34840034 */ ori $a0, $a0, 0x34 -/* 8EE2C0 802424A0 240500E8 */ addiu $a1, $zero, 0xe8 -/* 8EE2C4 802424A4 2406004E */ addiu $a2, $zero, 0x4e -/* 8EE2C8 802424A8 0200382D */ daddu $a3, $s0, $zero -/* 8EE2CC 802424AC AFA00010 */ sw $zero, 0x10($sp) -/* 8EE2D0 802424B0 0C04993B */ jal draw_msg -/* 8EE2D4 802424B4 AFA00014 */ sw $zero, 0x14($sp) -/* 8EE2D8 802424B8 240400A0 */ addiu $a0, $zero, 0xa0 -/* 8EE2DC 802424BC 240500F4 */ addiu $a1, $zero, 0xf4 -/* 8EE2E0 802424C0 24060050 */ addiu $a2, $zero, 0x50 -/* 8EE2E4 802424C4 24070001 */ addiu $a3, $zero, 1 -/* 8EE2E8 802424C8 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE2EC 802424CC AFB00014 */ sw $s0, 0x14($sp) -/* 8EE2F0 802424D0 0C049DA7 */ jal draw_number -/* 8EE2F4 802424D4 AFB40018 */ sw $s4, 0x18($sp) -/* 8EE2F8 802424D8 3C04000B */ lui $a0, 0xb -.L802424DC: -/* 8EE2FC 802424DC 348400FE */ ori $a0, $a0, 0xfe -/* 8EE300 802424E0 0C04991D */ jal get_msg_width -/* 8EE304 802424E4 0000282D */ daddu $a1, $zero, $zero -/* 8EE308 802424E8 86C40026 */ lh $a0, 0x26($s6) -/* 8EE30C 802424EC 1480000C */ bnez $a0, .L80242520 -/* 8EE310 802424F0 0040182D */ daddu $v1, $v0, $zero -/* 8EE314 802424F4 3C04000B */ lui $a0, 0xb -/* 8EE318 802424F8 348400FA */ ori $a0, $a0, 0xfa -/* 8EE31C 802424FC 2405006E */ addiu $a1, $zero, 0x6e -/* 8EE320 80242500 2406005F */ addiu $a2, $zero, 0x5f -/* 8EE324 80242504 0200382D */ daddu $a3, $s0, $zero -/* 8EE328 80242508 24020001 */ addiu $v0, $zero, 1 -/* 8EE32C 8024250C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE330 80242510 0C04993B */ jal draw_msg -/* 8EE334 80242514 AFA20014 */ sw $v0, 0x14($sp) -/* 8EE338 80242518 0809097C */ j .L802425F0 -/* 8EE33C 8024251C 00000000 */ nop -.L80242520: -/* 8EE340 80242520 2402FFFF */ addiu $v0, $zero, -1 -/* 8EE344 80242524 1482000F */ bne $a0, $v0, .L80242564 -/* 8EE348 80242528 3C04000B */ lui $a0, 0xb -/* 8EE34C 8024252C 348400FE */ ori $a0, $a0, 0xfe -/* 8EE350 80242530 240500CE */ addiu $a1, $zero, 0xce -/* 8EE354 80242534 00A32823 */ subu $a1, $a1, $v1 -/* 8EE358 80242538 2406005F */ addiu $a2, $zero, 0x5f -/* 8EE35C 8024253C 0200382D */ daddu $a3, $s0, $zero -/* 8EE360 80242540 24020001 */ addiu $v0, $zero, 1 -/* 8EE364 80242544 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE368 80242548 0C04993B */ jal draw_msg -/* 8EE36C 8024254C AFA20014 */ sw $v0, 0x14($sp) -/* 8EE370 80242550 0000202D */ daddu $a0, $zero, $zero -/* 8EE374 80242554 240500E7 */ addiu $a1, $zero, 0xe7 -/* 8EE378 80242558 24060060 */ addiu $a2, $zero, 0x60 -/* 8EE37C 8024255C 08090966 */ j .L80242598 -/* 8EE380 80242560 24070001 */ addiu $a3, $zero, 1 -.L80242564: -/* 8EE384 80242564 348400FE */ ori $a0, $a0, 0xfe -/* 8EE388 80242568 240500CE */ addiu $a1, $zero, 0xce -/* 8EE38C 8024256C 00A32823 */ subu $a1, $a1, $v1 -/* 8EE390 80242570 2406005F */ addiu $a2, $zero, 0x5f -/* 8EE394 80242574 0200382D */ daddu $a3, $s0, $zero -/* 8EE398 80242578 24020001 */ addiu $v0, $zero, 1 -/* 8EE39C 8024257C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE3A0 80242580 0C04993B */ jal draw_msg -/* 8EE3A4 80242584 AFA20014 */ sw $v0, 0x14($sp) -/* 8EE3A8 80242588 240500E7 */ addiu $a1, $zero, 0xe7 -/* 8EE3AC 8024258C 24060060 */ addiu $a2, $zero, 0x60 -/* 8EE3B0 80242590 24070001 */ addiu $a3, $zero, 1 -/* 8EE3B4 80242594 86C40026 */ lh $a0, 0x26($s6) -.L80242598: -/* 8EE3B8 80242598 24020003 */ addiu $v0, $zero, 3 -/* 8EE3BC 8024259C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE3C0 802425A0 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE3C4 802425A4 0C049DA7 */ jal draw_number -/* 8EE3C8 802425A8 AFA20018 */ sw $v0, 0x18($sp) -/* 8EE3CC 802425AC 3C04001F */ lui $a0, 0x1f -/* 8EE3D0 802425B0 34840034 */ ori $a0, $a0, 0x34 -/* 8EE3D4 802425B4 240500E8 */ addiu $a1, $zero, 0xe8 -/* 8EE3D8 802425B8 2406005D */ addiu $a2, $zero, 0x5d -/* 8EE3DC 802425BC 0200382D */ daddu $a3, $s0, $zero -/* 8EE3E0 802425C0 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE3E4 802425C4 0C04993B */ jal draw_msg -/* 8EE3E8 802425C8 AFA00014 */ sw $zero, 0x14($sp) -/* 8EE3EC 802425CC 240500F4 */ addiu $a1, $zero, 0xf4 -/* 8EE3F0 802425D0 2406005F */ addiu $a2, $zero, 0x5f -/* 8EE3F4 802425D4 24070001 */ addiu $a3, $zero, 1 -/* 8EE3F8 802425D8 86C40028 */ lh $a0, 0x28($s6) -/* 8EE3FC 802425DC 24020002 */ addiu $v0, $zero, 2 -/* 8EE400 802425E0 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE404 802425E4 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE408 802425E8 0C049DA7 */ jal draw_number -/* 8EE40C 802425EC AFA20018 */ sw $v0, 0x18($sp) -.L802425F0: -/* 8EE410 802425F0 3C118011 */ lui $s1, %hi(gPlayerData) -/* 8EE414 802425F4 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) -/* 8EE418 802425F8 962202C0 */ lhu $v0, 0x2c0($s1) -/* 8EE41C 802425FC 1440000B */ bnez $v0, .L8024262C -/* 8EE420 80242600 3C04000B */ lui $a0, 0xb -/* 8EE424 80242604 348400FA */ ori $a0, $a0, 0xfa -/* 8EE428 80242608 2405006D */ addiu $a1, $zero, 0x6d -/* 8EE42C 8024260C 2406006E */ addiu $a2, $zero, 0x6e -/* 8EE430 80242610 0200382D */ daddu $a3, $s0, $zero -/* 8EE434 80242614 24020001 */ addiu $v0, $zero, 1 -/* 8EE438 80242618 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE43C 8024261C 0C04993B */ jal draw_msg -/* 8EE440 80242620 AFA20014 */ sw $v0, 0x14($sp) -/* 8EE444 80242624 080909B3 */ j .L802426CC -/* 8EE448 80242628 3C04000B */ lui $a0, 0xb -.L8024262C: -/* 8EE44C 8024262C 348400FF */ ori $a0, $a0, 0xff -/* 8EE450 80242630 0C04991D */ jal get_msg_width -/* 8EE454 80242634 0000282D */ daddu $a1, $zero, $zero -/* 8EE458 80242638 3C04000B */ lui $a0, 0xb -/* 8EE45C 8024263C 348400FF */ ori $a0, $a0, 0xff -/* 8EE460 80242640 240500CE */ addiu $a1, $zero, 0xce -/* 8EE464 80242644 00A22823 */ subu $a1, $a1, $v0 -/* 8EE468 80242648 2406006E */ addiu $a2, $zero, 0x6e -/* 8EE46C 8024264C 0200382D */ daddu $a3, $s0, $zero -/* 8EE470 80242650 24020001 */ addiu $v0, $zero, 1 -/* 8EE474 80242654 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE478 80242658 0C04993B */ jal draw_msg -/* 8EE47C 8024265C AFA20014 */ sw $v0, 0x14($sp) -/* 8EE480 80242660 240500E7 */ addiu $a1, $zero, 0xe7 -/* 8EE484 80242664 2406006F */ addiu $a2, $zero, 0x6f -/* 8EE488 80242668 24070001 */ addiu $a3, $zero, 1 -/* 8EE48C 8024266C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE490 80242670 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE494 80242674 962402C2 */ lhu $a0, 0x2c2($s1) -/* 8EE498 80242678 24020003 */ addiu $v0, $zero, 3 -/* 8EE49C 8024267C 0C049DA7 */ jal draw_number -/* 8EE4A0 80242680 AFA20018 */ sw $v0, 0x18($sp) -/* 8EE4A4 80242684 3C04001F */ lui $a0, 0x1f -/* 8EE4A8 80242688 34840034 */ ori $a0, $a0, 0x34 -/* 8EE4AC 8024268C 240500E8 */ addiu $a1, $zero, 0xe8 -/* 8EE4B0 80242690 2406006C */ addiu $a2, $zero, 0x6c -/* 8EE4B4 80242694 0200382D */ daddu $a3, $s0, $zero -/* 8EE4B8 80242698 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE4BC 8024269C 0C04993B */ jal draw_msg -/* 8EE4C0 802426A0 AFA00014 */ sw $zero, 0x14($sp) -/* 8EE4C4 802426A4 240500F4 */ addiu $a1, $zero, 0xf4 -/* 8EE4C8 802426A8 2406006F */ addiu $a2, $zero, 0x6f -/* 8EE4CC 802426AC 24070001 */ addiu $a3, $zero, 1 -/* 8EE4D0 802426B0 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE4D4 802426B4 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE4D8 802426B8 962402C0 */ lhu $a0, 0x2c0($s1) -/* 8EE4DC 802426BC 24020002 */ addiu $v0, $zero, 2 -/* 8EE4E0 802426C0 0C049DA7 */ jal draw_number -/* 8EE4E4 802426C4 AFA20018 */ sw $v0, 0x18($sp) -/* 8EE4E8 802426C8 3C04000B */ lui $a0, 0xb -.L802426CC: -/* 8EE4EC 802426CC 348400F4 */ ori $a0, $a0, 0xf4 -/* 8EE4F0 802426D0 0C04991D */ jal get_msg_width -/* 8EE4F4 802426D4 0000282D */ daddu $a1, $zero, $zero -/* 8EE4F8 802426D8 3C04000B */ lui $a0, 0xb -/* 8EE4FC 802426DC 348400F4 */ ori $a0, $a0, 0xf4 -/* 8EE500 802426E0 241400CE */ addiu $s4, $zero, 0xce -/* 8EE504 802426E4 02822823 */ subu $a1, $s4, $v0 -/* 8EE508 802426E8 2406007D */ addiu $a2, $zero, 0x7d -/* 8EE50C 802426EC 0200382D */ daddu $a3, $s0, $zero -/* 8EE510 802426F0 24120001 */ addiu $s2, $zero, 1 -/* 8EE514 802426F4 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE518 802426F8 0C04993B */ jal draw_msg -/* 8EE51C 802426FC AFB20014 */ sw $s2, 0x14($sp) -/* 8EE520 80242700 240500D8 */ addiu $a1, $zero, 0xd8 -/* 8EE524 80242704 2406007E */ addiu $a2, $zero, 0x7e -/* 8EE528 80242708 0240382D */ daddu $a3, $s2, $zero -/* 8EE52C 8024270C 3C118011 */ lui $s1, %hi(gPlayerData) -/* 8EE530 80242710 2631F290 */ addiu $s1, $s1, %lo(gPlayerData) -/* 8EE534 80242714 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE538 80242718 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE53C 8024271C 962402A2 */ lhu $a0, 0x2a2($s1) -/* 8EE540 80242720 24130002 */ addiu $s3, $zero, 2 -/* 8EE544 80242724 0C049DA7 */ jal draw_number -/* 8EE548 80242728 AFB30018 */ sw $s3, 0x18($sp) -/* 8EE54C 8024272C 3C04000B */ lui $a0, 0xb -/* 8EE550 80242730 348400F7 */ ori $a0, $a0, 0xf7 -/* 8EE554 80242734 0C04991D */ jal get_msg_width -/* 8EE558 80242738 0000282D */ daddu $a1, $zero, $zero -/* 8EE55C 8024273C 3C04000B */ lui $a0, 0xb -/* 8EE560 80242740 348400F7 */ ori $a0, $a0, 0xf7 -/* 8EE564 80242744 02822823 */ subu $a1, $s4, $v0 -/* 8EE568 80242748 2406008C */ addiu $a2, $zero, 0x8c -/* 8EE56C 8024274C 0200382D */ daddu $a3, $s0, $zero -/* 8EE570 80242750 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE574 80242754 0C04993B */ jal draw_msg -/* 8EE578 80242758 AFB20014 */ sw $s2, 0x14($sp) -/* 8EE57C 8024275C 240500D8 */ addiu $a1, $zero, 0xd8 -/* 8EE580 80242760 2406008D */ addiu $a2, $zero, 0x8d -/* 8EE584 80242764 9624029C */ lhu $a0, 0x29c($s1) -/* 8EE588 80242768 0240382D */ daddu $a3, $s2, $zero -/* 8EE58C 8024276C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE590 80242770 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE594 80242774 0C049DA7 */ jal draw_number -/* 8EE598 80242778 AFB30018 */ sw $s3, 0x18($sp) -/* 8EE59C 8024277C 3C04000B */ lui $a0, 0xb -/* 8EE5A0 80242780 348400F8 */ ori $a0, $a0, 0xf8 -/* 8EE5A4 80242784 0C04991D */ jal get_msg_width -/* 8EE5A8 80242788 0000282D */ daddu $a1, $zero, $zero -/* 8EE5AC 8024278C 3C04000B */ lui $a0, 0xb -/* 8EE5B0 80242790 348400F8 */ ori $a0, $a0, 0xf8 -/* 8EE5B4 80242794 02822823 */ subu $a1, $s4, $v0 -/* 8EE5B8 80242798 2406009B */ addiu $a2, $zero, 0x9b -/* 8EE5BC 8024279C 0200382D */ daddu $a3, $s0, $zero -/* 8EE5C0 802427A0 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE5C4 802427A4 0C04993B */ jal draw_msg -/* 8EE5C8 802427A8 AFB20014 */ sw $s2, 0x14($sp) -/* 8EE5CC 802427AC 240500D8 */ addiu $a1, $zero, 0xd8 -/* 8EE5D0 802427B0 2406009C */ addiu $a2, $zero, 0x9c -/* 8EE5D4 802427B4 9624029E */ lhu $a0, 0x29e($s1) -/* 8EE5D8 802427B8 0240382D */ daddu $a3, $s2, $zero -/* 8EE5DC 802427BC AFA00010 */ sw $zero, 0x10($sp) -/* 8EE5E0 802427C0 AFB00014 */ sw $s0, 0x14($sp) -/* 8EE5E4 802427C4 0C049DA7 */ jal draw_number -/* 8EE5E8 802427C8 AFB30018 */ sw $s3, 0x18($sp) -/* 8EE5EC 802427CC 962202A0 */ lhu $v0, 0x2a0($s1) -/* 8EE5F0 802427D0 1440000A */ bnez $v0, .L802427FC -/* 8EE5F4 802427D4 3C04000B */ lui $a0, 0xb -/* 8EE5F8 802427D8 348400FA */ ori $a0, $a0, 0xfa -/* 8EE5FC 802427DC 2405006D */ addiu $a1, $zero, 0x6d -/* 8EE600 802427E0 240600AA */ addiu $a2, $zero, 0xaa -/* 8EE604 802427E4 0200382D */ daddu $a3, $s0, $zero -/* 8EE608 802427E8 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE60C 802427EC 0C04993B */ jal draw_msg -/* 8EE610 802427F0 AFB20014 */ sw $s2, 0x14($sp) -/* 8EE614 802427F4 08090A12 */ j .L80242848 -/* 8EE618 802427F8 00000000 */ nop -.L802427FC: -/* 8EE61C 802427FC 348400F9 */ ori $a0, $a0, 0xf9 -/* 8EE620 80242800 0C04991D */ jal get_msg_width -/* 8EE624 80242804 0000282D */ daddu $a1, $zero, $zero -/* 8EE628 80242808 3C04000B */ lui $a0, 0xb -/* 8EE62C 8024280C 348400F9 */ ori $a0, $a0, 0xf9 -/* 8EE630 80242810 02822823 */ subu $a1, $s4, $v0 -/* 8EE634 80242814 240600AA */ addiu $a2, $zero, 0xaa -/* 8EE638 80242818 0200382D */ daddu $a3, $s0, $zero -/* 8EE63C 8024281C AFA00010 */ sw $zero, 0x10($sp) -/* 8EE640 80242820 0C04993B */ jal draw_msg -/* 8EE644 80242824 AFB20014 */ sw $s2, 0x14($sp) -/* 8EE648 80242828 240500D8 */ addiu $a1, $zero, 0xd8 -/* 8EE64C 8024282C 240600AB */ addiu $a2, $zero, 0xab -/* 8EE650 80242830 962402A0 */ lhu $a0, 0x2a0($s1) -/* 8EE654 80242834 24070001 */ addiu $a3, $zero, 1 -/* 8EE658 80242838 AFA00010 */ sw $zero, 0x10($sp) -/* 8EE65C 8024283C AFB00014 */ sw $s0, 0x14($sp) -/* 8EE660 80242840 0C049DA7 */ jal draw_number -/* 8EE664 80242844 AFB30018 */ sw $s3, 0x18($sp) -.L80242848: -/* 8EE668 80242848 8FBF0044 */ lw $ra, 0x44($sp) -/* 8EE66C 8024284C 8FB60040 */ lw $s6, 0x40($sp) -/* 8EE670 80242850 8FB5003C */ lw $s5, 0x3c($sp) -/* 8EE674 80242854 8FB40038 */ lw $s4, 0x38($sp) -/* 8EE678 80242858 8FB30034 */ lw $s3, 0x34($sp) -/* 8EE67C 8024285C 8FB20030 */ lw $s2, 0x30($sp) -/* 8EE680 80242860 8FB1002C */ lw $s1, 0x2c($sp) -/* 8EE684 80242864 8FB00028 */ lw $s0, 0x28($sp) -/* 8EE688 80242868 03E00008 */ jr $ra -/* 8EE68C 8024286C 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242870_8EE690.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242870_8EE690.s deleted file mode 100644 index 569e9784dd..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242870_8EE690.s +++ /dev/null @@ -1,119 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_80253040_8FEE60 -.word .L802428B4_8EE6D4, .L802428DC_8EE6FC, .L8024293C_8EE75C, .L80242974_8EE794, .L80242990_8EE7B0, 0, 0, 0 - -.section .text - -glabel func_80242870_8EE690 -/* 8EE690 80242870 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 8EE694 80242874 0000202D */ daddu $a0, $zero, $zero -/* 8EE698 80242878 3C05FD05 */ lui $a1, 0xfd05 -/* 8EE69C 8024287C 34A50F8A */ ori $a1, $a1, 0xf8a -/* 8EE6A0 80242880 AFBF001C */ sw $ra, 0x1c($sp) -/* 8EE6A4 80242884 0C0B1EAF */ jal evt_get_variable -/* 8EE6A8 80242888 AFB00018 */ sw $s0, 0x18($sp) -/* 8EE6AC 8024288C 0040802D */ daddu $s0, $v0, $zero -/* 8EE6B0 80242890 96030000 */ lhu $v1, ($s0) -/* 8EE6B4 80242894 2C620005 */ sltiu $v0, $v1, 5 -/* 8EE6B8 80242898 10400053 */ beqz $v0, .L802429E8 -/* 8EE6BC 8024289C 00031080 */ sll $v0, $v1, 2 -/* 8EE6C0 802428A0 3C018025 */ lui $at, %hi(jtbl_80253040_8FEE60) -/* 8EE6C4 802428A4 00220821 */ addu $at, $at, $v0 -/* 8EE6C8 802428A8 8C223040 */ lw $v0, %lo(jtbl_80253040_8FEE60)($at) -/* 8EE6CC 802428AC 00400008 */ jr $v0 -/* 8EE6D0 802428B0 00000000 */ nop -.L802428B4_8EE6D4: -/* 8EE6D4 802428B4 2404021C */ addiu $a0, $zero, 0x21c -/* 8EE6D8 802428B8 0000282D */ daddu $a1, $zero, $zero -/* 8EE6DC 802428BC 00A0302D */ daddu $a2, $a1, $zero -/* 8EE6E0 802428C0 24020001 */ addiu $v0, $zero, 1 -/* 8EE6E4 802428C4 A6000018 */ sh $zero, 0x18($s0) -/* 8EE6E8 802428C8 A6000008 */ sh $zero, 8($s0) -/* 8EE6EC 802428CC A600000A */ sh $zero, 0xa($s0) -/* 8EE6F0 802428D0 AE000004 */ sw $zero, 4($s0) -/* 8EE6F4 802428D4 0C015478 */ jal snd_start_sound -/* 8EE6F8 802428D8 A6020000 */ sh $v0, ($s0) -.L802428DC_8EE6FC: -/* 8EE6FC 802428DC 3C054200 */ lui $a1, 0x4200 -/* 8EE700 802428E0 8E020004 */ lw $v0, 4($s0) -/* 8EE704 802428E4 3C06437F */ lui $a2, 0x437f -/* 8EE708 802428E8 24420001 */ addiu $v0, $v0, 1 -/* 8EE70C 802428EC AE020004 */ sw $v0, 4($s0) -/* 8EE710 802428F0 24020003 */ addiu $v0, $zero, 3 -/* 8EE714 802428F4 AFA20010 */ sw $v0, 0x10($sp) -/* 8EE718 802428F8 8E070004 */ lw $a3, 4($s0) -/* 8EE71C 802428FC 0C00A8ED */ jal update_lerp -/* 8EE720 80242900 0000202D */ daddu $a0, $zero, $zero -/* 8EE724 80242904 8E020004 */ lw $v0, 4($s0) -/* 8EE728 80242908 4600008D */ trunc.w.s $f2, $f0 -/* 8EE72C 8024290C 44031000 */ mfc1 $v1, $f2 -/* 8EE730 80242910 00000000 */ nop -/* 8EE734 80242914 A603001A */ sh $v1, 0x1a($s0) -/* 8EE738 80242918 28420003 */ slti $v0, $v0, 3 -/* 8EE73C 8024291C 14400032 */ bnez $v0, .L802429E8 -/* 8EE740 80242920 A603001C */ sh $v1, 0x1c($s0) -/* 8EE744 80242924 24020002 */ addiu $v0, $zero, 2 -/* 8EE748 80242928 A6020000 */ sh $v0, ($s0) -/* 8EE74C 8024292C 240200FF */ addiu $v0, $zero, 0xff -/* 8EE750 80242930 A602001A */ sh $v0, 0x1a($s0) -/* 8EE754 80242934 08090A7A */ j .L802429E8 -/* 8EE758 80242938 A602001C */ sh $v0, 0x1c($s0) -.L8024293C_8EE75C: -/* 8EE75C 8024293C 3C038007 */ lui $v1, %hi(gGameStatusPtr) -/* 8EE760 80242940 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) -/* 8EE764 80242944 240200FF */ addiu $v0, $zero, 0xff -/* 8EE768 80242948 A602001A */ sh $v0, 0x1a($s0) -/* 8EE76C 8024294C A602001C */ sh $v0, 0x1c($s0) -/* 8EE770 80242950 8C620000 */ lw $v0, ($v1) -/* 8EE774 80242954 3042C000 */ andi $v0, $v0, 0xc000 -/* 8EE778 80242958 10400002 */ beqz $v0, .L80242964 -/* 8EE77C 8024295C 24020003 */ addiu $v0, $zero, 3 -/* 8EE780 80242960 A6020000 */ sh $v0, ($s0) -.L80242964: -/* 8EE784 80242964 96030000 */ lhu $v1, ($s0) -/* 8EE788 80242968 24020003 */ addiu $v0, $zero, 3 -/* 8EE78C 8024296C 1462001E */ bne $v1, $v0, .L802429E8 -/* 8EE790 80242970 00000000 */ nop -.L80242974_8EE794: -/* 8EE794 80242974 240400CA */ addiu $a0, $zero, 0xca -/* 8EE798 80242978 0000282D */ daddu $a1, $zero, $zero -/* 8EE79C 8024297C 00A0302D */ daddu $a2, $a1, $zero -/* 8EE7A0 80242980 24020004 */ addiu $v0, $zero, 4 -/* 8EE7A4 80242984 AE000004 */ sw $zero, 4($s0) -/* 8EE7A8 80242988 0C015478 */ jal snd_start_sound -/* 8EE7AC 8024298C A6020000 */ sh $v0, ($s0) -.L80242990_8EE7B0: -/* 8EE7B0 80242990 0000202D */ daddu $a0, $zero, $zero -/* 8EE7B4 80242994 8E020004 */ lw $v0, 4($s0) -/* 8EE7B8 80242998 8603001C */ lh $v1, 0x1c($s0) -/* 8EE7BC 8024299C 24420001 */ addiu $v0, $v0, 1 -/* 8EE7C0 802429A0 AE020004 */ sw $v0, 4($s0) -/* 8EE7C4 802429A4 24020003 */ addiu $v0, $zero, 3 -/* 8EE7C8 802429A8 44831000 */ mtc1 $v1, $f2 -/* 8EE7CC 802429AC 00000000 */ nop -/* 8EE7D0 802429B0 468010A0 */ cvt.s.w $f2, $f2 -/* 8EE7D4 802429B4 AFA20010 */ sw $v0, 0x10($sp) -/* 8EE7D8 802429B8 8E070004 */ lw $a3, 4($s0) -/* 8EE7DC 802429BC 44051000 */ mfc1 $a1, $f2 -/* 8EE7E0 802429C0 0C00A8ED */ jal update_lerp -/* 8EE7E4 802429C4 0000302D */ daddu $a2, $zero, $zero -/* 8EE7E8 802429C8 8E020004 */ lw $v0, 4($s0) -/* 8EE7EC 802429CC 4600008D */ trunc.w.s $f2, $f0 -/* 8EE7F0 802429D0 44031000 */ mfc1 $v1, $f2 -/* 8EE7F4 802429D4 28420003 */ slti $v0, $v0, 3 -/* 8EE7F8 802429D8 14400003 */ bnez $v0, .L802429E8 -/* 8EE7FC 802429DC A603001A */ sh $v1, 0x1a($s0) -/* 8EE800 802429E0 24020005 */ addiu $v0, $zero, 5 -/* 8EE804 802429E4 A6020000 */ sh $v0, ($s0) -.L802429E8: -/* 8EE808 802429E8 8605001A */ lh $a1, 0x1a($s0) -/* 8EE80C 802429EC 0C090868 */ jal func_802421A0_8EDFC0 -/* 8EE810 802429F0 0200202D */ daddu $a0, $s0, $zero -/* 8EE814 802429F4 8FBF001C */ lw $ra, 0x1c($sp) -/* 8EE818 802429F8 8FB00018 */ lw $s0, 0x18($sp) -/* 8EE81C 802429FC 03E00008 */ jr $ra -/* 8EE820 80242A00 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242B04_8EE924.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242B04_8EE924.s deleted file mode 100644 index 3ecbaf0908..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242B04_8EE924.s +++ /dev/null @@ -1,49 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80242B04_8EE924 -/* 8EE924 80242B04 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 8EE928 80242B08 AFB10014 */ sw $s1, 0x14($sp) -/* 8EE92C 80242B0C 0080882D */ daddu $s1, $a0, $zero -/* 8EE930 80242B10 AFBF0018 */ sw $ra, 0x18($sp) -/* 8EE934 80242B14 10A00014 */ beqz $a1, .L80242B68 -/* 8EE938 80242B18 AFB00010 */ sw $s0, 0x10($sp) -/* 8EE93C 80242B1C 0C00AB39 */ jal heap_malloc -/* 8EE940 80242B20 2404002C */ addiu $a0, $zero, 0x2c -/* 8EE944 80242B24 0040802D */ daddu $s0, $v0, $zero -/* 8EE948 80242B28 0000202D */ daddu $a0, $zero, $zero -/* 8EE94C 80242B2C 3C058024 */ lui $a1, %hi(func_80242A04_8EE824) -/* 8EE950 80242B30 24A52A04 */ addiu $a1, $a1, %lo(func_80242A04_8EE824) -/* 8EE954 80242B34 240200FF */ addiu $v0, $zero, 0xff -/* 8EE958 80242B38 AE300070 */ sw $s0, 0x70($s1) -/* 8EE95C 80242B3C A6000000 */ sh $zero, ($s0) -/* 8EE960 80242B40 0C048C56 */ jal create_worker_world -/* 8EE964 80242B44 A602001A */ sh $v0, 0x1a($s0) -/* 8EE968 80242B48 0220202D */ daddu $a0, $s1, $zero -/* 8EE96C 80242B4C 3C05FD05 */ lui $a1, 0xfd05 -/* 8EE970 80242B50 34A50F8A */ ori $a1, $a1, 0xf8a -/* 8EE974 80242B54 0200302D */ daddu $a2, $s0, $zero -/* 8EE978 80242B58 0C0B2026 */ jal evt_set_variable -/* 8EE97C 80242B5C AE020020 */ sw $v0, 0x20($s0) -/* 8EE980 80242B60 0C090A8F */ jal func_80242A3C_8EE85C -/* 8EE984 80242B64 0200202D */ daddu $a0, $s0, $zero -.L80242B68: -/* 8EE988 80242B68 8E300070 */ lw $s0, 0x70($s1) -/* 8EE98C 80242B6C 96030000 */ lhu $v1, ($s0) -/* 8EE990 80242B70 24020005 */ addiu $v0, $zero, 5 -/* 8EE994 80242B74 14620007 */ bne $v1, $v0, .L80242B94 -/* 8EE998 80242B78 0000102D */ daddu $v0, $zero, $zero -/* 8EE99C 80242B7C 8E040020 */ lw $a0, 0x20($s0) -/* 8EE9A0 80242B80 0C048D70 */ jal free_worker -/* 8EE9A4 80242B84 00000000 */ nop -/* 8EE9A8 80242B88 0C00AB4B */ jal heap_free -/* 8EE9AC 80242B8C 0200202D */ daddu $a0, $s0, $zero -/* 8EE9B0 80242B90 24020001 */ addiu $v0, $zero, 1 -.L80242B94: -/* 8EE9B4 80242B94 8FBF0018 */ lw $ra, 0x18($sp) -/* 8EE9B8 80242B98 8FB10014 */ lw $s1, 0x14($sp) -/* 8EE9BC 80242B9C 8FB00010 */ lw $s0, 0x10($sp) -/* 8EE9C0 80242BA0 03E00008 */ jr $ra -/* 8EE9C4 80242BA4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 8EE9C8 80242BA8 00000000 */ nop -/* 8EE9CC 80242BAC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_03/BC4B50/func_802408D0_BC4B50.s b/ver/us/asm/nonmatchings/world/area_obk/obk_03/BC4B50/func_802408D0_BC4B50.s deleted file mode 100644 index 5f013464d3..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_03/BC4B50/func_802408D0_BC4B50.s +++ /dev/null @@ -1,497 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80243BD0_BC7E50 -.double -170.0 - -dlabel D_80243BD8_BC7E58 -.double -170.0 - -.section .text - -glabel func_802408D0_BC4B50 -/* BC4B50 802408D0 27BDFF70 */ addiu $sp, $sp, -0x90 -/* BC4B54 802408D4 AFB20070 */ sw $s2, 0x70($sp) -/* BC4B58 802408D8 AFB30074 */ sw $s3, 0x74($sp) -/* BC4B5C 802408DC 3C138011 */ lui $s3, %hi(gPlayerStatus) -/* BC4B60 802408E0 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus) -/* BC4B64 802408E4 AFB00068 */ sw $s0, 0x68($sp) -/* BC4B68 802408E8 3C108016 */ lui $s0, %hi(gCollisionStatus) -/* BC4B6C 802408EC 2610A550 */ addiu $s0, $s0, %lo(gCollisionStatus) -/* BC4B70 802408F0 AFBF0078 */ sw $ra, 0x78($sp) -/* BC4B74 802408F4 AFB1006C */ sw $s1, 0x6c($sp) -/* BC4B78 802408F8 F7B60088 */ sdc1 $f22, 0x88($sp) -/* BC4B7C 802408FC F7B40080 */ sdc1 $f20, 0x80($sp) -/* BC4B80 80240900 10A00014 */ beqz $a1, .L80240954 -/* BC4B84 80240904 0080902D */ daddu $s2, $a0, $zero -/* BC4B88 80240908 0C00AB39 */ jal heap_malloc -/* BC4B8C 8024090C 24040020 */ addiu $a0, $zero, 0x20 -/* BC4B90 80240910 3C013DCC */ lui $at, 0x3dcc -/* BC4B94 80240914 3421CCCD */ ori $at, $at, 0xcccd -/* BC4B98 80240918 44810000 */ mtc1 $at, $f0 -/* BC4B9C 8024091C 3C014040 */ lui $at, 0x4040 -/* BC4BA0 80240920 44811000 */ mtc1 $at, $f2 -/* BC4BA4 80240924 0040882D */ daddu $s1, $v0, $zero -/* BC4BA8 80240928 AE510074 */ sw $s1, 0x74($s2) -/* BC4BAC 8024092C AE200000 */ sw $zero, ($s1) -/* BC4BB0 80240930 AE20000C */ sw $zero, 0xc($s1) -/* BC4BB4 80240934 AE200008 */ sw $zero, 8($s1) -/* BC4BB8 80240938 AE200010 */ sw $zero, 0x10($s1) -/* BC4BBC 8024093C AE200014 */ sw $zero, 0x14($s1) -/* BC4BC0 80240940 E6200004 */ swc1 $f0, 4($s1) -/* BC4BC4 80240944 E6220018 */ swc1 $f2, 0x18($s1) -/* BC4BC8 80240948 AE400070 */ sw $zero, 0x70($s2) -/* BC4BCC 8024094C AE400078 */ sw $zero, 0x78($s2) -/* BC4BD0 80240950 AE40007C */ sw $zero, 0x7c($s2) -.L80240954: -/* BC4BD4 80240954 24040001 */ addiu $a0, $zero, 1 -/* BC4BD8 80240958 8E430070 */ lw $v1, 0x70($s2) -/* BC4BDC 8024095C 8E510074 */ lw $s1, 0x74($s2) -/* BC4BE0 80240960 10640022 */ beq $v1, $a0, .L802409EC -/* BC4BE4 80240964 28620002 */ slti $v0, $v1, 2 -/* BC4BE8 80240968 50400005 */ beql $v0, $zero, .L80240980 -/* BC4BEC 8024096C 24020002 */ addiu $v0, $zero, 2 -/* BC4BF0 80240970 10600007 */ beqz $v1, .L80240990 -/* BC4BF4 80240974 2402003C */ addiu $v0, $zero, 0x3c -/* BC4BF8 80240978 0809037C */ j .L80240DF0 -/* BC4BFC 8024097C 00000000 */ nop -.L80240980: -/* BC4C00 80240980 106200BF */ beq $v1, $v0, .L80240C80 -/* BC4C04 80240984 2402003C */ addiu $v0, $zero, 0x3c -/* BC4C08 80240988 0809037C */ j .L80240DF0 -/* BC4C0C 8024098C 00000000 */ nop -.L80240990: -/* BC4C10 80240990 86030002 */ lh $v1, 2($s0) -/* BC4C14 80240994 50620001 */ beql $v1, $v0, .L8024099C -/* BC4C18 80240998 AE440070 */ sw $a0, 0x70($s2) -.L8024099C: -/* BC4C1C 8024099C 86030002 */ lh $v1, 2($s0) -/* BC4C20 802409A0 2402003B */ addiu $v0, $zero, 0x3b -/* BC4C24 802409A4 50620001 */ beql $v1, $v0, .L802409AC -/* BC4C28 802409A8 AE440070 */ sw $a0, 0x70($s2) -.L802409AC: -/* BC4C2C 802409AC 3C013DCC */ lui $at, 0x3dcc -/* BC4C30 802409B0 3421CCCD */ ori $at, $at, 0xcccd -/* BC4C34 802409B4 44810000 */ mtc1 $at, $f0 -/* BC4C38 802409B8 3C014040 */ lui $at, 0x4040 -/* BC4C3C 802409BC 44811000 */ mtc1 $at, $f2 -/* BC4C40 802409C0 3C0141A0 */ lui $at, 0x41a0 -/* BC4C44 802409C4 44812000 */ mtc1 $at, $f4 -/* BC4C48 802409C8 AE200000 */ sw $zero, ($s1) -/* BC4C4C 802409CC AE20000C */ sw $zero, 0xc($s1) -/* BC4C50 802409D0 AE200010 */ sw $zero, 0x10($s1) -/* BC4C54 802409D4 AE200014 */ sw $zero, 0x14($s1) -/* BC4C58 802409D8 AE200008 */ sw $zero, 8($s1) -/* BC4C5C 802409DC E6200004 */ swc1 $f0, 4($s1) -/* BC4C60 802409E0 E6220018 */ swc1 $f2, 0x18($s1) -/* BC4C64 802409E4 0809037C */ j .L80240DF0 -/* BC4C68 802409E8 E624001C */ swc1 $f4, 0x1c($s1) -.L802409EC: -/* BC4C6C 802409EC 86030002 */ lh $v1, 2($s0) -/* BC4C70 802409F0 2402003C */ addiu $v0, $zero, 0x3c -/* BC4C74 802409F4 10620006 */ beq $v1, $v0, .L80240A10 -/* BC4C78 802409F8 2402003B */ addiu $v0, $zero, 0x3b -/* BC4C7C 802409FC 10620004 */ beq $v1, $v0, .L80240A10 -/* BC4C80 80240A00 24020078 */ addiu $v0, $zero, 0x78 -/* BC4C84 80240A04 AE42007C */ sw $v0, 0x7c($s2) -/* BC4C88 80240A08 24020002 */ addiu $v0, $zero, 2 -/* BC4C8C 80240A0C AE420070 */ sw $v0, 0x70($s2) -.L80240A10: -/* BC4C90 80240A10 C6200008 */ lwc1 $f0, 8($s1) -/* BC4C94 80240A14 3C0140A0 */ lui $at, 0x40a0 -/* BC4C98 80240A18 44811000 */ mtc1 $at, $f2 -/* BC4C9C 80240A1C 46000005 */ abs.s $f0, $f0 -/* BC4CA0 80240A20 4602003C */ c.lt.s $f0, $f2 -/* BC4CA4 80240A24 00000000 */ nop -/* BC4CA8 80240A28 4500000D */ bc1f .L80240A60 -/* BC4CAC 80240A2C 00000000 */ nop -/* BC4CB0 80240A30 C6600028 */ lwc1 $f0, 0x28($s3) -/* BC4CB4 80240A34 3C018024 */ lui $at, %hi(D_80243BD0_BC7E50) -/* BC4CB8 80240A38 D4223BD0 */ ldc1 $f2, %lo(D_80243BD0_BC7E50)($at) -/* BC4CBC 80240A3C 46000021 */ cvt.d.s $f0, $f0 -/* BC4CC0 80240A40 46201081 */ sub.d $f2, $f2, $f0 -/* BC4CC4 80240A44 3C014348 */ lui $at, 0x4348 -/* BC4CC8 80240A48 44810000 */ mtc1 $at, $f0 -/* BC4CCC 80240A4C 462010A0 */ cvt.s.d $f2, $f2 -/* BC4CD0 80240A50 46001085 */ abs.s $f2, $f2 -/* BC4CD4 80240A54 46001083 */ div.s $f2, $f2, $f0 -/* BC4CD8 80240A58 0809029D */ j .L80240A74 -/* BC4CDC 80240A5C E6220004 */ swc1 $f2, 4($s1) -.L80240A60: -/* BC4CE0 80240A60 3C013DCC */ lui $at, 0x3dcc -/* BC4CE4 80240A64 3421CCCD */ ori $at, $at, 0xcccd -/* BC4CE8 80240A68 44810000 */ mtc1 $at, $f0 -/* BC4CEC 80240A6C 00000000 */ nop -/* BC4CF0 80240A70 E6200004 */ swc1 $f0, 4($s1) -.L80240A74: -/* BC4CF4 80240A74 C6600028 */ lwc1 $f0, 0x28($s3) -/* BC4CF8 80240A78 3C018024 */ lui $at, %hi(D_80243BD8_BC7E58) -/* BC4CFC 80240A7C D4243BD8 */ ldc1 $f4, %lo(D_80243BD8_BC7E58)($at) -/* BC4D00 80240A80 46000021 */ cvt.d.s $f0, $f0 -/* BC4D04 80240A84 4624003E */ c.le.d $f0, $f4 -/* BC4D08 80240A88 00000000 */ nop -/* BC4D0C 80240A8C 45000024 */ bc1f .L80240B20 -/* BC4D10 80240A90 00000000 */ nop -/* BC4D14 80240A94 C6200010 */ lwc1 $f0, 0x10($s1) -/* BC4D18 80240A98 C6220004 */ lwc1 $f2, 4($s1) -/* BC4D1C 80240A9C 46020000 */ add.s $f0, $f0, $f2 -/* BC4D20 80240AA0 E6200010 */ swc1 $f0, 0x10($s1) -/* BC4D24 80240AA4 C6600028 */ lwc1 $f0, 0x28($s3) -/* BC4D28 80240AA8 46000021 */ cvt.d.s $f0, $f0 -/* BC4D2C 80240AAC 46202001 */ sub.d $f0, $f4, $f0 -/* BC4D30 80240AB0 46200020 */ cvt.s.d $f0, $f0 -/* BC4D34 80240AB4 46000005 */ abs.s $f0, $f0 -/* BC4D38 80240AB8 46000002 */ mul.s $f0, $f0, $f0 -/* BC4D3C 80240ABC 00000000 */ nop -/* BC4D40 80240AC0 3C014248 */ lui $at, 0x4248 -/* BC4D44 80240AC4 44811000 */ mtc1 $at, $f2 -/* BC4D48 80240AC8 3C014170 */ lui $at, 0x4170 -/* BC4D4C 80240ACC 44812000 */ mtc1 $at, $f4 -/* BC4D50 80240AD0 46020003 */ div.s $f0, $f0, $f2 -/* BC4D54 80240AD4 4600203C */ c.lt.s $f4, $f0 -/* BC4D58 80240AD8 00000000 */ nop -/* BC4D5C 80240ADC 45000002 */ bc1f .L80240AE8 -/* BC4D60 80240AE0 E620001C */ swc1 $f0, 0x1c($s1) -/* BC4D64 80240AE4 E624001C */ swc1 $f4, 0x1c($s1) -.L80240AE8: -/* BC4D68 80240AE8 C6220008 */ lwc1 $f2, 8($s1) -/* BC4D6C 80240AEC C620001C */ lwc1 $f0, 0x1c($s1) -/* BC4D70 80240AF0 4602003C */ c.lt.s $f0, $f2 -/* BC4D74 80240AF4 00000000 */ nop -/* BC4D78 80240AF8 45000031 */ bc1f .L80240BC0 -/* BC4D7C 80240AFC 00000000 */ nop -/* BC4D80 80240B00 C6200004 */ lwc1 $f0, 4($s1) -/* BC4D84 80240B04 C6220018 */ lwc1 $f2, 0x18($s1) -/* BC4D88 80240B08 46020002 */ mul.s $f0, $f0, $f2 -/* BC4D8C 80240B0C 00000000 */ nop -/* BC4D90 80240B10 C6220014 */ lwc1 $f2, 0x14($s1) -/* BC4D94 80240B14 46001080 */ add.s $f2, $f2, $f0 -/* BC4D98 80240B18 080902F0 */ j .L80240BC0 -/* BC4D9C 80240B1C E6220014 */ swc1 $f2, 0x14($s1) -.L80240B20: -/* BC4DA0 80240B20 C6200014 */ lwc1 $f0, 0x14($s1) -/* BC4DA4 80240B24 C6220004 */ lwc1 $f2, 4($s1) -/* BC4DA8 80240B28 46020000 */ add.s $f0, $f0, $f2 -/* BC4DAC 80240B2C E6200014 */ swc1 $f0, 0x14($s1) -/* BC4DB0 80240B30 C6600028 */ lwc1 $f0, 0x28($s3) -/* BC4DB4 80240B34 46000021 */ cvt.d.s $f0, $f0 -/* BC4DB8 80240B38 46202001 */ sub.d $f0, $f4, $f0 -/* BC4DBC 80240B3C 3C013F00 */ lui $at, 0x3f00 -/* BC4DC0 80240B40 44811000 */ mtc1 $at, $f2 -/* BC4DC4 80240B44 46200020 */ cvt.s.d $f0, $f0 -/* BC4DC8 80240B48 46000005 */ abs.s $f0, $f0 -/* BC4DCC 80240B4C 46000007 */ neg.s $f0, $f0 -/* BC4DD0 80240B50 46020002 */ mul.s $f0, $f0, $f2 -/* BC4DD4 80240B54 00000000 */ nop -/* BC4DD8 80240B58 46000002 */ mul.s $f0, $f0, $f0 -/* BC4DDC 80240B5C 00000000 */ nop -/* BC4DE0 80240B60 3C01C0A0 */ lui $at, 0xc0a0 -/* BC4DE4 80240B64 44812000 */ mtc1 $at, $f4 -/* BC4DE8 80240B68 3C014248 */ lui $at, 0x4248 -/* BC4DEC 80240B6C 44811000 */ mtc1 $at, $f2 -/* BC4DF0 80240B70 46000007 */ neg.s $f0, $f0 -/* BC4DF4 80240B74 46020003 */ div.s $f0, $f0, $f2 -/* BC4DF8 80240B78 4604003C */ c.lt.s $f0, $f4 -/* BC4DFC 80240B7C 00000000 */ nop -/* BC4E00 80240B80 45000002 */ bc1f .L80240B8C -/* BC4E04 80240B84 E620001C */ swc1 $f0, 0x1c($s1) -/* BC4E08 80240B88 E624001C */ swc1 $f4, 0x1c($s1) -.L80240B8C: -/* BC4E0C 80240B8C C6220008 */ lwc1 $f2, 8($s1) -/* BC4E10 80240B90 C620001C */ lwc1 $f0, 0x1c($s1) -/* BC4E14 80240B94 4600103C */ c.lt.s $f2, $f0 -/* BC4E18 80240B98 00000000 */ nop -/* BC4E1C 80240B9C 45000008 */ bc1f .L80240BC0 -/* BC4E20 80240BA0 00000000 */ nop -/* BC4E24 80240BA4 C6200004 */ lwc1 $f0, 4($s1) -/* BC4E28 80240BA8 C6220018 */ lwc1 $f2, 0x18($s1) -/* BC4E2C 80240BAC 46020002 */ mul.s $f0, $f0, $f2 -/* BC4E30 80240BB0 00000000 */ nop -/* BC4E34 80240BB4 C6220010 */ lwc1 $f2, 0x10($s1) -/* BC4E38 80240BB8 46001080 */ add.s $f2, $f2, $f0 -/* BC4E3C 80240BBC E6220010 */ swc1 $f2, 0x10($s1) -.L80240BC0: -/* BC4E40 80240BC0 C6200010 */ lwc1 $f0, 0x10($s1) -/* BC4E44 80240BC4 3C014059 */ lui $at, 0x4059 -/* BC4E48 80240BC8 44812800 */ mtc1 $at, $f5 -/* BC4E4C 80240BCC 44802000 */ mtc1 $zero, $f4 -/* BC4E50 80240BD0 460000A1 */ cvt.d.s $f2, $f0 -/* BC4E54 80240BD4 4622203C */ c.lt.d $f4, $f2 -/* BC4E58 80240BD8 00000000 */ nop -/* BC4E5C 80240BDC 4500000F */ bc1f .L80240C1C -/* BC4E60 80240BE0 00000000 */ nop -/* BC4E64 80240BE4 C6200014 */ lwc1 $f0, 0x14($s1) -/* BC4E68 80240BE8 46000021 */ cvt.d.s $f0, $f0 -/* BC4E6C 80240BEC 4620203C */ c.lt.d $f4, $f0 -/* BC4E70 80240BF0 00000000 */ nop -/* BC4E74 80240BF4 45000009 */ bc1f .L80240C1C -/* BC4E78 80240BF8 00000000 */ nop -/* BC4E7C 80240BFC C6200014 */ lwc1 $f0, 0x14($s1) -/* BC4E80 80240C00 46241081 */ sub.d $f2, $f2, $f4 -/* BC4E84 80240C04 46000021 */ cvt.d.s $f0, $f0 -/* BC4E88 80240C08 46240001 */ sub.d $f0, $f0, $f4 -/* BC4E8C 80240C0C 462010A0 */ cvt.s.d $f2, $f2 -/* BC4E90 80240C10 E6220010 */ swc1 $f2, 0x10($s1) -/* BC4E94 80240C14 46200020 */ cvt.s.d $f0, $f0 -/* BC4E98 80240C18 E6200014 */ swc1 $f0, 0x14($s1) -.L80240C1C: -/* BC4E9C 80240C1C C6240010 */ lwc1 $f4, 0x10($s1) -/* BC4EA0 80240C20 C6220014 */ lwc1 $f2, 0x14($s1) -/* BC4EA4 80240C24 46022001 */ sub.s $f0, $f4, $f2 -/* BC4EA8 80240C28 3C013FF8 */ lui $at, 0x3ff8 -/* BC4EAC 80240C2C 44813800 */ mtc1 $at, $f7 -/* BC4EB0 80240C30 44803000 */ mtc1 $zero, $f6 -/* BC4EB4 80240C34 46000005 */ abs.s $f0, $f0 -/* BC4EB8 80240C38 46000021 */ cvt.d.s $f0, $f0 -/* BC4EBC 80240C3C 4620303C */ c.lt.d $f6, $f0 -/* BC4EC0 80240C40 00000000 */ nop -/* BC4EC4 80240C44 45000063 */ bc1f .L80240DD4 -/* BC4EC8 80240C48 00000000 */ nop -/* BC4ECC 80240C4C 4602203C */ c.lt.s $f4, $f2 -/* BC4ED0 80240C50 00000000 */ nop -/* BC4ED4 80240C54 45020006 */ bc1fl .L80240C70 -/* BC4ED8 80240C58 46001021 */ cvt.d.s $f0, $f2 -/* BC4EDC 80240C5C 46002021 */ cvt.d.s $f0, $f4 -/* BC4EE0 80240C60 46260000 */ add.d $f0, $f0, $f6 -/* BC4EE4 80240C64 46200020 */ cvt.s.d $f0, $f0 -/* BC4EE8 80240C68 08090375 */ j .L80240DD4 -/* BC4EEC 80240C6C E6200014 */ swc1 $f0, 0x14($s1) -.L80240C70: -/* BC4EF0 80240C70 46260000 */ add.d $f0, $f0, $f6 -/* BC4EF4 80240C74 46200020 */ cvt.s.d $f0, $f0 -/* BC4EF8 80240C78 08090375 */ j .L80240DD4 -/* BC4EFC 80240C7C E6200010 */ swc1 $f0, 0x10($s1) -.L80240C80: -/* BC4F00 80240C80 86030002 */ lh $v1, 2($s0) -/* BC4F04 80240C84 50620001 */ beql $v1, $v0, .L80240C8C -/* BC4F08 80240C88 AE440070 */ sw $a0, 0x70($s2) -.L80240C8C: -/* BC4F0C 80240C8C 86030002 */ lh $v1, 2($s0) -/* BC4F10 80240C90 2402003B */ addiu $v0, $zero, 0x3b -/* BC4F14 80240C94 50620001 */ beql $v1, $v0, .L80240C9C -/* BC4F18 80240C98 AE440070 */ sw $a0, 0x70($s2) -.L80240C9C: -/* BC4F1C 80240C9C 3C013DCC */ lui $at, 0x3dcc -/* BC4F20 80240CA0 3421CCCD */ ori $at, $at, 0xcccd -/* BC4F24 80240CA4 44810000 */ mtc1 $at, $f0 -/* BC4F28 80240CA8 C6220010 */ lwc1 $f2, 0x10($s1) -/* BC4F2C 80240CAC C6240008 */ lwc1 $f4, 8($s1) -/* BC4F30 80240CB0 AE20001C */ sw $zero, 0x1c($s1) -/* BC4F34 80240CB4 46001080 */ add.s $f2, $f2, $f0 -/* BC4F38 80240CB8 E6200004 */ swc1 $f0, 4($s1) -/* BC4F3C 80240CBC C620001C */ lwc1 $f0, 0x1c($s1) -/* BC4F40 80240CC0 4604003C */ c.lt.s $f0, $f4 -/* BC4F44 80240CC4 00000000 */ nop -/* BC4F48 80240CC8 45000008 */ bc1f .L80240CEC -/* BC4F4C 80240CCC E6220010 */ swc1 $f2, 0x10($s1) -/* BC4F50 80240CD0 C6200004 */ lwc1 $f0, 4($s1) -/* BC4F54 80240CD4 C6220018 */ lwc1 $f2, 0x18($s1) -/* BC4F58 80240CD8 46020002 */ mul.s $f0, $f0, $f2 -/* BC4F5C 80240CDC 00000000 */ nop -/* BC4F60 80240CE0 C6220014 */ lwc1 $f2, 0x14($s1) -/* BC4F64 80240CE4 46001080 */ add.s $f2, $f2, $f0 -/* BC4F68 80240CE8 E6220014 */ swc1 $f2, 0x14($s1) -.L80240CEC: -/* BC4F6C 80240CEC C6200010 */ lwc1 $f0, 0x10($s1) -/* BC4F70 80240CF0 3C014059 */ lui $at, 0x4059 -/* BC4F74 80240CF4 44812800 */ mtc1 $at, $f5 -/* BC4F78 80240CF8 44802000 */ mtc1 $zero, $f4 -/* BC4F7C 80240CFC 460000A1 */ cvt.d.s $f2, $f0 -/* BC4F80 80240D00 4622203C */ c.lt.d $f4, $f2 -/* BC4F84 80240D04 00000000 */ nop -/* BC4F88 80240D08 4500000F */ bc1f .L80240D48 -/* BC4F8C 80240D0C 00000000 */ nop -/* BC4F90 80240D10 C6200014 */ lwc1 $f0, 0x14($s1) -/* BC4F94 80240D14 46000021 */ cvt.d.s $f0, $f0 -/* BC4F98 80240D18 4620203C */ c.lt.d $f4, $f0 -/* BC4F9C 80240D1C 00000000 */ nop -/* BC4FA0 80240D20 45000009 */ bc1f .L80240D48 -/* BC4FA4 80240D24 00000000 */ nop -/* BC4FA8 80240D28 C6200014 */ lwc1 $f0, 0x14($s1) -/* BC4FAC 80240D2C 46241081 */ sub.d $f2, $f2, $f4 -/* BC4FB0 80240D30 46000021 */ cvt.d.s $f0, $f0 -/* BC4FB4 80240D34 46240001 */ sub.d $f0, $f0, $f4 -/* BC4FB8 80240D38 462010A0 */ cvt.s.d $f2, $f2 -/* BC4FBC 80240D3C E6220010 */ swc1 $f2, 0x10($s1) -/* BC4FC0 80240D40 46200020 */ cvt.s.d $f0, $f0 -/* BC4FC4 80240D44 E6200014 */ swc1 $f0, 0x14($s1) -.L80240D48: -/* BC4FC8 80240D48 C6240010 */ lwc1 $f4, 0x10($s1) -/* BC4FCC 80240D4C C6220014 */ lwc1 $f2, 0x14($s1) -/* BC4FD0 80240D50 46022001 */ sub.s $f0, $f4, $f2 -/* BC4FD4 80240D54 3C013FE0 */ lui $at, 0x3fe0 -/* BC4FD8 80240D58 44813800 */ mtc1 $at, $f7 -/* BC4FDC 80240D5C 44803000 */ mtc1 $zero, $f6 -/* BC4FE0 80240D60 46000005 */ abs.s $f0, $f0 -/* BC4FE4 80240D64 46000021 */ cvt.d.s $f0, $f0 -/* BC4FE8 80240D68 4620303C */ c.lt.d $f6, $f0 -/* BC4FEC 80240D6C 00000000 */ nop -/* BC4FF0 80240D70 4500000D */ bc1f .L80240DA8 -/* BC4FF4 80240D74 00000000 */ nop -/* BC4FF8 80240D78 4602203C */ c.lt.s $f4, $f2 -/* BC4FFC 80240D7C 00000000 */ nop -/* BC5000 80240D80 45020006 */ bc1fl .L80240D9C -/* BC5004 80240D84 46001021 */ cvt.d.s $f0, $f2 -/* BC5008 80240D88 46002021 */ cvt.d.s $f0, $f4 -/* BC500C 80240D8C 46260000 */ add.d $f0, $f0, $f6 -/* BC5010 80240D90 46200020 */ cvt.s.d $f0, $f0 -/* BC5014 80240D94 0809036A */ j .L80240DA8 -/* BC5018 80240D98 E6200014 */ swc1 $f0, 0x14($s1) -.L80240D9C: -/* BC501C 80240D9C 46260000 */ add.d $f0, $f0, $f6 -/* BC5020 80240DA0 46200020 */ cvt.s.d $f0, $f0 -/* BC5024 80240DA4 E6200010 */ swc1 $f0, 0x10($s1) -.L80240DA8: -/* BC5028 80240DA8 8E42007C */ lw $v0, 0x7c($s2) -/* BC502C 80240DAC 04410008 */ bgez $v0, .L80240DD0 -/* BC5030 80240DB0 2442FFFF */ addiu $v0, $v0, -1 -/* BC5034 80240DB4 44800000 */ mtc1 $zero, $f0 -/* BC5038 80240DB8 00000000 */ nop -/* BC503C 80240DBC E6200014 */ swc1 $f0, 0x14($s1) -/* BC5040 80240DC0 E6200010 */ swc1 $f0, 0x10($s1) -/* BC5044 80240DC4 E6200000 */ swc1 $f0, ($s1) -/* BC5048 80240DC8 08090375 */ j .L80240DD4 -/* BC504C 80240DCC E6200008 */ swc1 $f0, 8($s1) -.L80240DD0: -/* BC5050 80240DD0 AE42007C */ sw $v0, 0x7c($s2) -.L80240DD4: -/* BC5054 80240DD4 C6200010 */ lwc1 $f0, 0x10($s1) -/* BC5058 80240DD8 C6220014 */ lwc1 $f2, 0x14($s1) -/* BC505C 80240DDC 46020001 */ sub.s $f0, $f0, $f2 -/* BC5060 80240DE0 C6220008 */ lwc1 $f2, 8($s1) -/* BC5064 80240DE4 46001080 */ add.s $f2, $f2, $f0 -/* BC5068 80240DE8 E6200000 */ swc1 $f0, ($s1) -/* BC506C 80240DEC E6220008 */ swc1 $f2, 8($s1) -.L80240DF0: -/* BC5070 80240DF0 C6220008 */ lwc1 $f2, 8($s1) -/* BC5074 80240DF4 3C01C0E0 */ lui $at, 0xc0e0 -/* BC5078 80240DF8 44810000 */ mtc1 $at, $f0 -/* BC507C 80240DFC 00000000 */ nop -/* BC5080 80240E00 4600103E */ c.le.s $f2, $f0 -/* BC5084 80240E04 00000000 */ nop -/* BC5088 80240E08 45000013 */ bc1f .L80240E58 -/* BC508C 80240E0C 2410FFFF */ addiu $s0, $zero, -1 -/* BC5090 80240E10 8E420078 */ lw $v0, 0x78($s2) -/* BC5094 80240E14 10500011 */ beq $v0, $s0, .L80240E5C -/* BC5098 80240E18 27A50058 */ addiu $a1, $sp, 0x58 -/* BC509C 80240E1C 2404003C */ addiu $a0, $zero, 0x3c -/* BC50A0 80240E20 27A6005C */ addiu $a2, $sp, 0x5c -/* BC50A4 80240E24 0C016F84 */ jal get_collider_center -/* BC50A8 80240E28 27A70060 */ addiu $a3, $sp, 0x60 -/* BC50AC 80240E2C 240401D6 */ addiu $a0, $zero, 0x1d6 -/* BC50B0 80240E30 C7A00058 */ lwc1 $f0, 0x58($sp) -/* BC50B4 80240E34 C7A2005C */ lwc1 $f2, 0x5c($sp) -/* BC50B8 80240E38 44060000 */ mfc1 $a2, $f0 -/* BC50BC 80240E3C 44071000 */ mfc1 $a3, $f2 -/* BC50C0 80240E40 C7A00060 */ lwc1 $f0, 0x60($sp) -/* BC50C4 80240E44 0000282D */ daddu $a1, $zero, $zero -/* BC50C8 80240E48 0C052757 */ jal sfx_play_sound_at_position -/* BC50CC 80240E4C E7A00010 */ swc1 $f0, 0x10($sp) -/* BC50D0 80240E50 08090397 */ j .L80240E5C -/* BC50D4 80240E54 AE500078 */ sw $s0, 0x78($s2) -.L80240E58: -/* BC50D8 80240E58 AE400078 */ sw $zero, 0x78($s2) -.L80240E5C: -/* BC50DC 80240E5C C6200008 */ lwc1 $f0, 8($s1) -/* BC50E0 80240E60 46000002 */ mul.s $f0, $f0, $f0 -/* BC50E4 80240E64 00000000 */ nop -/* BC50E8 80240E68 3C0142B4 */ lui $at, 0x42b4 -/* BC50EC 80240E6C 44811000 */ mtc1 $at, $f2 -/* BC50F0 80240E70 24040081 */ addiu $a0, $zero, 0x81 -/* BC50F4 80240E74 46020003 */ div.s $f0, $f0, $f2 -/* BC50F8 80240E78 0C046C04 */ jal get_model_list_index_from_tree_index -/* BC50FC 80240E7C E620000C */ swc1 $f0, 0xc($s1) -/* BC5100 80240E80 0C046B4C */ jal get_model_from_list_index -/* BC5104 80240E84 0040202D */ daddu $a0, $v0, $zero -/* BC5108 80240E88 0040182D */ daddu $v1, $v0, $zero -/* BC510C 80240E8C 24700058 */ addiu $s0, $v1, 0x58 -/* BC5110 80240E90 4480A000 */ mtc1 $zero, $f20 -/* BC5114 80240E94 94620000 */ lhu $v0, ($v1) -/* BC5118 80240E98 4405A000 */ mfc1 $a1, $f20 -/* BC511C 80240E9C 4407A000 */ mfc1 $a3, $f20 -/* BC5120 80240EA0 34421400 */ ori $v0, $v0, 0x1400 -/* BC5124 80240EA4 A4620000 */ sh $v0, ($v1) -/* BC5128 80240EA8 8E26000C */ lw $a2, 0xc($s1) -/* BC512C 80240EAC 3C013F80 */ lui $at, 0x3f80 -/* BC5130 80240EB0 4481B000 */ mtc1 $at, $f22 -/* BC5134 80240EB4 0C019E40 */ jal guTranslateF -/* BC5138 80240EB8 0200202D */ daddu $a0, $s0, $zero -/* BC513C 80240EBC E7B60010 */ swc1 $f22, 0x10($sp) -/* BC5140 80240EC0 8E250008 */ lw $a1, 8($s1) -/* BC5144 80240EC4 4406A000 */ mfc1 $a2, $f20 -/* BC5148 80240EC8 4407A000 */ mfc1 $a3, $f20 -/* BC514C 80240ECC 0C019EC8 */ jal guRotateF -/* BC5150 80240ED0 27A40018 */ addiu $a0, $sp, 0x18 -/* BC5154 80240ED4 0200202D */ daddu $a0, $s0, $zero -/* BC5158 80240ED8 27A50018 */ addiu $a1, $sp, 0x18 -/* BC515C 80240EDC 0C019D80 */ jal guMtxCatF -/* BC5160 80240EE0 0080302D */ daddu $a2, $a0, $zero -/* BC5164 80240EE4 0C016E89 */ jal update_collider_transform -/* BC5168 80240EE8 2404003C */ addiu $a0, $zero, 0x3c -/* BC516C 80240EEC 0C016E89 */ jal update_collider_transform -/* BC5170 80240EF0 2404003B */ addiu $a0, $zero, 0x3b -/* BC5174 80240EF4 0C046C04 */ jal get_model_list_index_from_tree_index -/* BC5178 80240EF8 24040080 */ addiu $a0, $zero, 0x80 -/* BC517C 80240EFC 0C046B4C */ jal get_model_from_list_index -/* BC5180 80240F00 0040202D */ daddu $a0, $v0, $zero -/* BC5184 80240F04 0040182D */ daddu $v1, $v0, $zero -/* BC5188 80240F08 24700058 */ addiu $s0, $v1, 0x58 -/* BC518C 80240F0C 4405A000 */ mfc1 $a1, $f20 -/* BC5190 80240F10 94620000 */ lhu $v0, ($v1) -/* BC5194 80240F14 4407A000 */ mfc1 $a3, $f20 -/* BC5198 80240F18 34421400 */ ori $v0, $v0, 0x1400 -/* BC519C 80240F1C A4620000 */ sh $v0, ($v1) -/* BC51A0 80240F20 8E26000C */ lw $a2, 0xc($s1) -/* BC51A4 80240F24 0C019E40 */ jal guTranslateF -/* BC51A8 80240F28 0200202D */ daddu $a0, $s0, $zero -/* BC51AC 80240F2C E7B60010 */ swc1 $f22, 0x10($sp) -/* BC51B0 80240F30 8E250008 */ lw $a1, 8($s1) -/* BC51B4 80240F34 4406A000 */ mfc1 $a2, $f20 -/* BC51B8 80240F38 4407A000 */ mfc1 $a3, $f20 -/* BC51BC 80240F3C 0C019EC8 */ jal guRotateF -/* BC51C0 80240F40 27A40018 */ addiu $a0, $sp, 0x18 -/* BC51C4 80240F44 0200202D */ daddu $a0, $s0, $zero -/* BC51C8 80240F48 27A50018 */ addiu $a1, $sp, 0x18 -/* BC51CC 80240F4C 0C019D80 */ jal guMtxCatF -/* BC51D0 80240F50 0080302D */ daddu $a2, $a0, $zero -/* BC51D4 80240F54 0C046C04 */ jal get_model_list_index_from_tree_index -/* BC51D8 80240F58 2404007F */ addiu $a0, $zero, 0x7f -/* BC51DC 80240F5C 0C046B4C */ jal get_model_from_list_index -/* BC51E0 80240F60 0040202D */ daddu $a0, $v0, $zero -/* BC51E4 80240F64 0040182D */ daddu $v1, $v0, $zero -/* BC51E8 80240F68 24700058 */ addiu $s0, $v1, 0x58 -/* BC51EC 80240F6C 4405A000 */ mfc1 $a1, $f20 -/* BC51F0 80240F70 94620000 */ lhu $v0, ($v1) -/* BC51F4 80240F74 4407A000 */ mfc1 $a3, $f20 -/* BC51F8 80240F78 34421400 */ ori $v0, $v0, 0x1400 -/* BC51FC 80240F7C A4620000 */ sh $v0, ($v1) -/* BC5200 80240F80 8E26000C */ lw $a2, 0xc($s1) -/* BC5204 80240F84 0C019E40 */ jal guTranslateF -/* BC5208 80240F88 0200202D */ daddu $a0, $s0, $zero -/* BC520C 80240F8C 4406A000 */ mfc1 $a2, $f20 -/* BC5210 80240F90 27A40018 */ addiu $a0, $sp, 0x18 -/* BC5214 80240F94 E7B60010 */ swc1 $f22, 0x10($sp) -/* BC5218 80240F98 8E250008 */ lw $a1, 8($s1) -/* BC521C 80240F9C 0C019EC8 */ jal guRotateF -/* BC5220 80240FA0 00C0382D */ daddu $a3, $a2, $zero -/* BC5224 80240FA4 0200202D */ daddu $a0, $s0, $zero -/* BC5228 80240FA8 27A50018 */ addiu $a1, $sp, 0x18 -/* BC522C 80240FAC 0C019D80 */ jal guMtxCatF -/* BC5230 80240FB0 0080302D */ daddu $a2, $a0, $zero -/* BC5234 80240FB4 0C016E89 */ jal update_collider_transform -/* BC5238 80240FB8 2404003A */ addiu $a0, $zero, 0x3a -/* BC523C 80240FBC 8FBF0078 */ lw $ra, 0x78($sp) -/* BC5240 80240FC0 8FB30074 */ lw $s3, 0x74($sp) -/* BC5244 80240FC4 8FB20070 */ lw $s2, 0x70($sp) -/* BC5248 80240FC8 8FB1006C */ lw $s1, 0x6c($sp) -/* BC524C 80240FCC 8FB00068 */ lw $s0, 0x68($sp) -/* BC5250 80240FD0 D7B60088 */ ldc1 $f22, 0x88($sp) -/* BC5254 80240FD4 D7B40080 */ ldc1 $f20, 0x80($sp) -/* BC5258 80240FD8 0000102D */ daddu $v0, $zero, $zero -/* BC525C 80240FDC 03E00008 */ jr $ra -/* BC5260 80240FE0 27BD0090 */ addiu $sp, $sp, 0x90 -/* BC5264 80240FE4 00000000 */ nop -/* BC5268 80240FE8 00000000 */ nop -/* BC526C 80240FEC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240A6C_BCF65C.s b/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240A6C_BCF65C.s deleted file mode 100644 index 8baa66209e..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240A6C_BCF65C.s +++ /dev/null @@ -1,311 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240A6C_BCF65C -/* BCF65C 80240A6C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* BCF660 80240A70 AFBF001C */ sw $ra, 0x1c($sp) -/* BCF664 80240A74 AFB20018 */ sw $s2, 0x18($sp) -/* BCF668 80240A78 AFB10014 */ sw $s1, 0x14($sp) -/* BCF66C 80240A7C AFB00010 */ sw $s0, 0x10($sp) -/* BCF670 80240A80 0C090150 */ jal func_80240540_BCF130 -/* BCF674 80240A84 F7B40020 */ sdc1 $f20, 0x20($sp) -/* BCF678 80240A88 0040882D */ daddu $s1, $v0, $zero -/* BCF67C 80240A8C 8E2301C0 */ lw $v1, 0x1c0($s1) -/* BCF680 80240A90 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* BCF684 80240A94 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* BCF688 80240A98 00031880 */ sll $v1, $v1, 2 -/* BCF68C 80240A9C 8C420010 */ lw $v0, 0x10($v0) -/* BCF690 80240AA0 02231821 */ addu $v1, $s1, $v1 -/* BCF694 80240AA4 30428000 */ andi $v0, $v0, 0x8000 -/* BCF698 80240AA8 AC620058 */ sw $v0, 0x58($v1) -/* BCF69C 80240AAC 8E2201C0 */ lw $v0, 0x1c0($s1) -/* BCF6A0 80240AB0 24420001 */ addiu $v0, $v0, 1 -/* BCF6A4 80240AB4 AE2201C0 */ sw $v0, 0x1c0($s1) -/* BCF6A8 80240AB8 2842005A */ slti $v0, $v0, 0x5a -/* BCF6AC 80240ABC 50400001 */ beql $v0, $zero, .L80240AC4 -/* BCF6B0 80240AC0 AE2001C0 */ sw $zero, 0x1c0($s1) -.L80240AC4: -/* BCF6B4 80240AC4 8E230030 */ lw $v1, 0x30($s1) -/* BCF6B8 80240AC8 24120001 */ addiu $s2, $zero, 1 -/* BCF6BC 80240ACC 10720023 */ beq $v1, $s2, .L80240B5C -/* BCF6C0 80240AD0 28620002 */ slti $v0, $v1, 2 -/* BCF6C4 80240AD4 50400005 */ beql $v0, $zero, .L80240AEC -/* BCF6C8 80240AD8 2402000A */ addiu $v0, $zero, 0xa -/* BCF6CC 80240ADC 10600009 */ beqz $v1, .L80240B04 -/* BCF6D0 80240AE0 240500FF */ addiu $a1, $zero, 0xff -/* BCF6D4 80240AE4 080903B7 */ j .L80240EDC -/* BCF6D8 80240AE8 00000000 */ nop -.L80240AEC: -/* BCF6DC 80240AEC 10620033 */ beq $v1, $v0, .L80240BBC -/* BCF6E0 80240AF0 2402000B */ addiu $v0, $zero, 0xb -/* BCF6E4 80240AF4 10620038 */ beq $v1, $v0, .L80240BD8 -/* BCF6E8 80240AF8 00000000 */ nop -/* BCF6EC 80240AFC 080903B7 */ j .L80240EDC -/* BCF6F0 80240B00 00000000 */ nop -.L80240B04: -/* BCF6F4 80240B04 8E30003C */ lw $s0, 0x3c($s1) -/* BCF6F8 80240B08 0C0513AC */ jal hud_element_set_alpha -/* BCF6FC 80240B0C 0200202D */ daddu $a0, $s0, $zero -/* BCF700 80240B10 0200202D */ daddu $a0, $s0, $zero -/* BCF704 80240B14 0C05128B */ jal hud_element_clear_flags -/* BCF708 80240B18 24050002 */ addiu $a1, $zero, 2 -/* BCF70C 80240B1C 8E300040 */ lw $s0, 0x40($s1) -/* BCF710 80240B20 240500FF */ addiu $a1, $zero, 0xff -/* BCF714 80240B24 0C0513AC */ jal hud_element_set_alpha -/* BCF718 80240B28 0200202D */ daddu $a0, $s0, $zero -/* BCF71C 80240B2C 0200202D */ daddu $a0, $s0, $zero -/* BCF720 80240B30 0C05128B */ jal hud_element_clear_flags -/* BCF724 80240B34 24050002 */ addiu $a1, $zero, 2 -/* BCF728 80240B38 8E300044 */ lw $s0, 0x44($s1) -/* BCF72C 80240B3C 240500FF */ addiu $a1, $zero, 0xff -/* BCF730 80240B40 0C0513AC */ jal hud_element_set_alpha -/* BCF734 80240B44 0200202D */ daddu $a0, $s0, $zero -/* BCF738 80240B48 0200202D */ daddu $a0, $s0, $zero -/* BCF73C 80240B4C 0C05128B */ jal hud_element_clear_flags -/* BCF740 80240B50 24050002 */ addiu $a1, $zero, 2 -/* BCF744 80240B54 080903B7 */ j .L80240EDC -/* BCF748 80240B58 AE320030 */ sw $s2, 0x30($s1) -.L80240B5C: -/* BCF74C 80240B5C 8E220034 */ lw $v0, 0x34($s1) -/* BCF750 80240B60 24420014 */ addiu $v0, $v0, 0x14 -/* BCF754 80240B64 AE220034 */ sw $v0, 0x34($s1) -/* BCF758 80240B68 28420033 */ slti $v0, $v0, 0x33 -/* BCF75C 80240B6C 14400002 */ bnez $v0, .L80240B78 -/* BCF760 80240B70 24020032 */ addiu $v0, $zero, 0x32 -/* BCF764 80240B74 AE220034 */ sw $v0, 0x34($s1) -.L80240B78: -/* BCF768 80240B78 8E24003C */ lw $a0, 0x3c($s1) -/* BCF76C 80240B7C 8E250034 */ lw $a1, 0x34($s1) -/* BCF770 80240B80 0C051261 */ jal hud_element_set_render_pos -/* BCF774 80240B84 8E260038 */ lw $a2, 0x38($s1) -/* BCF778 80240B88 8E240040 */ lw $a0, 0x40($s1) -/* BCF77C 80240B8C 8E260038 */ lw $a2, 0x38($s1) -/* BCF780 80240B90 8E250034 */ lw $a1, 0x34($s1) -/* BCF784 80240B94 0C051261 */ jal hud_element_set_render_pos -/* BCF788 80240B98 24C6001C */ addiu $a2, $a2, 0x1c -/* BCF78C 80240B9C 8E240044 */ lw $a0, 0x44($s1) -/* BCF790 80240BA0 8E250034 */ lw $a1, 0x34($s1) -/* BCF794 80240BA4 8E260038 */ lw $a2, 0x38($s1) -/* BCF798 80240BA8 24A50002 */ addiu $a1, $a1, 2 -/* BCF79C 80240BAC 0C051261 */ jal hud_element_set_render_pos -/* BCF7A0 80240BB0 24C6000E */ addiu $a2, $a2, 0xe -/* BCF7A4 80240BB4 080903B7 */ j .L80240EDC -/* BCF7A8 80240BB8 00000000 */ nop -.L80240BBC: -/* BCF7AC 80240BBC 8E24003C */ lw $a0, 0x3c($s1) -/* BCF7B0 80240BC0 3C058011 */ lui $a1, %hi(HES_SlowlyMashAButton) -/* BCF7B4 80240BC4 24A58C34 */ addiu $a1, $a1, %lo(HES_SlowlyMashAButton) -/* BCF7B8 80240BC8 0C0511FF */ jal hud_element_set_script -/* BCF7BC 80240BCC 00000000 */ nop -/* BCF7C0 80240BD0 2402000B */ addiu $v0, $zero, 0xb -/* BCF7C4 80240BD4 AE220030 */ sw $v0, 0x30($s1) -.L80240BD8: -/* BCF7C8 80240BD8 8E2301C0 */ lw $v1, 0x1c0($s1) -/* BCF7CC 80240BDC 2405005A */ addiu $a1, $zero, 0x5a -/* BCF7D0 80240BE0 2463FFA6 */ addiu $v1, $v1, -0x5a -/* BCF7D4 80240BE4 04610002 */ bgez $v1, .L80240BF0 -/* BCF7D8 80240BE8 AE200004 */ sw $zero, 4($s1) -/* BCF7DC 80240BEC 00651821 */ addu $v1, $v1, $a1 -.L80240BF0: -/* BCF7E0 80240BF0 0000802D */ daddu $s0, $zero, $zero -/* BCF7E4 80240BF4 0200202D */ daddu $a0, $s0, $zero -.L80240BF8: -/* BCF7E8 80240BF8 2862005A */ slti $v0, $v1, 0x5a -/* BCF7EC 80240BFC 50400001 */ beql $v0, $zero, .L80240C04 -/* BCF7F0 80240C00 2463FFA6 */ addiu $v1, $v1, -0x5a -.L80240C04: -/* BCF7F4 80240C04 00031080 */ sll $v0, $v1, 2 -/* BCF7F8 80240C08 02221021 */ addu $v0, $s1, $v0 -/* BCF7FC 80240C0C 8C420058 */ lw $v0, 0x58($v0) -/* BCF800 80240C10 54400001 */ bnel $v0, $zero, .L80240C18 -/* BCF804 80240C14 26100001 */ addiu $s0, $s0, 1 -.L80240C18: -/* BCF808 80240C18 24840001 */ addiu $a0, $a0, 1 -/* BCF80C 80240C1C 0085102A */ slt $v0, $a0, $a1 -/* BCF810 80240C20 1440FFF5 */ bnez $v0, .L80240BF8 -/* BCF814 80240C24 24630001 */ addiu $v1, $v1, 1 -/* BCF818 80240C28 0000202D */ daddu $a0, $zero, $zero -/* BCF81C 80240C2C 3C05FD05 */ lui $a1, 0xfd05 -/* BCF820 80240C30 34A50F87 */ ori $a1, $a1, 0xf87 -/* BCF824 80240C34 00103140 */ sll $a2, $s0, 5 -/* BCF828 80240C38 00D03023 */ subu $a2, $a2, $s0 -/* BCF82C 80240C3C 00063080 */ sll $a2, $a2, 2 -/* BCF830 80240C40 00D03021 */ addu $a2, $a2, $s0 -/* BCF834 80240C44 0C0B2026 */ jal evt_set_variable -/* BCF838 80240C48 000630C0 */ sll $a2, $a2, 3 -/* BCF83C 80240C4C 3C032E8B */ lui $v1, 0x2e8b -/* BCF840 80240C50 3463A2E9 */ ori $v1, $v1, 0xa2e9 -/* BCF844 80240C54 00101040 */ sll $v0, $s0, 1 -/* BCF848 80240C58 00501021 */ addu $v0, $v0, $s0 -/* BCF84C 80240C5C 000210C0 */ sll $v0, $v0, 3 -/* BCF850 80240C60 00501021 */ addu $v0, $v0, $s0 -/* BCF854 80240C64 00021080 */ sll $v0, $v0, 2 -/* BCF858 80240C68 00430018 */ mult $v0, $v1 -/* BCF85C 80240C6C 000217C3 */ sra $v0, $v0, 0x1f -/* BCF860 80240C70 00003810 */ mfhi $a3 -/* BCF864 80240C74 00071883 */ sra $v1, $a3, 2 -/* BCF868 80240C78 00621823 */ subu $v1, $v1, $v0 -/* BCF86C 80240C7C 04610002 */ bgez $v1, .L80240C88 -/* BCF870 80240C80 AE230004 */ sw $v1, 4($s1) -/* BCF874 80240C84 AE200004 */ sw $zero, 4($s1) -.L80240C88: -/* BCF878 80240C88 8E220004 */ lw $v0, 4($s1) -/* BCF87C 80240C8C 28420065 */ slti $v0, $v0, 0x65 -/* BCF880 80240C90 14400004 */ bnez $v0, .L80240CA4 -/* BCF884 80240C94 3C028888 */ lui $v0, 0x8888 -/* BCF888 80240C98 24020064 */ addiu $v0, $zero, 0x64 -/* BCF88C 80240C9C AE220004 */ sw $v0, 4($s1) -/* BCF890 80240CA0 3C028888 */ lui $v0, 0x8888 -.L80240CA4: -/* BCF894 80240CA4 8E230008 */ lw $v1, 8($s1) -/* BCF898 80240CA8 34428889 */ ori $v0, $v0, 0x8889 -/* BCF89C 80240CAC 00620018 */ mult $v1, $v0 -/* BCF8A0 80240CB0 00003810 */ mfhi $a3 -/* BCF8A4 80240CB4 00E31021 */ addu $v0, $a3, $v1 -/* BCF8A8 80240CB8 00021143 */ sra $v0, $v0, 5 -/* BCF8AC 80240CBC 00031FC3 */ sra $v1, $v1, 0x1f -/* BCF8B0 80240CC0 00438023 */ subu $s0, $v0, $v1 -/* BCF8B4 80240CC4 2A020033 */ slti $v0, $s0, 0x33 -/* BCF8B8 80240CC8 10400021 */ beqz $v0, .L80240D50 -/* BCF8BC 80240CCC 00101840 */ sll $v1, $s0, 1 -/* BCF8C0 80240CD0 3C0451EB */ lui $a0, 0x51eb -/* BCF8C4 80240CD4 3484851F */ ori $a0, $a0, 0x851f -/* BCF8C8 80240CD8 00701821 */ addu $v1, $v1, $s0 -/* BCF8CC 80240CDC 00031100 */ sll $v0, $v1, 4 -/* BCF8D0 80240CE0 00431023 */ subu $v0, $v0, $v1 -/* BCF8D4 80240CE4 00021040 */ sll $v0, $v0, 1 -/* BCF8D8 80240CE8 00440018 */ mult $v0, $a0 -/* BCF8DC 80240CEC 000217C3 */ sra $v0, $v0, 0x1f -/* BCF8E0 80240CF0 3C0140C9 */ lui $at, 0x40c9 -/* BCF8E4 80240CF4 34210FD0 */ ori $at, $at, 0xfd0 -/* BCF8E8 80240CF8 44810000 */ mtc1 $at, $f0 -/* BCF8EC 80240CFC 00003810 */ mfhi $a3 -/* BCF8F0 80240D00 00071903 */ sra $v1, $a3, 4 -/* BCF8F4 80240D04 00621823 */ subu $v1, $v1, $v0 -/* BCF8F8 80240D08 44836000 */ mtc1 $v1, $f12 -/* BCF8FC 80240D0C 00000000 */ nop -/* BCF900 80240D10 46806320 */ cvt.s.w $f12, $f12 -/* BCF904 80240D14 46006302 */ mul.s $f12, $f12, $f0 -/* BCF908 80240D18 00000000 */ nop -/* BCF90C 80240D1C 3C0143B4 */ lui $at, 0x43b4 -/* BCF910 80240D20 44810000 */ mtc1 $at, $f0 -/* BCF914 80240D24 0C00A85B */ jal sin_rad -/* BCF918 80240D28 46006303 */ div.s $f12, $f12, $f0 -/* BCF91C 80240D2C 3C014248 */ lui $at, 0x4248 -/* BCF920 80240D30 44811000 */ mtc1 $at, $f2 -/* BCF924 80240D34 00000000 */ nop -/* BCF928 80240D38 46020002 */ mul.s $f0, $f0, $f2 -/* BCF92C 80240D3C 00000000 */ nop -/* BCF930 80240D40 4600018D */ trunc.w.s $f6, $f0 -/* BCF934 80240D44 44103000 */ mfc1 $s0, $f6 -/* BCF938 80240D48 0809037D */ j .L80240DF4 -/* BCF93C 80240D4C 24020064 */ addiu $v0, $zero, 0x64 -.L80240D50: -/* BCF940 80240D50 3C0451EB */ lui $a0, 0x51eb -/* BCF944 80240D54 3484851F */ ori $a0, $a0, 0x851f -/* BCF948 80240D58 2602FFCE */ addiu $v0, $s0, -0x32 -/* BCF94C 80240D5C 00021840 */ sll $v1, $v0, 1 -/* BCF950 80240D60 00621821 */ addu $v1, $v1, $v0 -/* BCF954 80240D64 00031100 */ sll $v0, $v1, 4 -/* BCF958 80240D68 00431023 */ subu $v0, $v0, $v1 -/* BCF95C 80240D6C 00021040 */ sll $v0, $v0, 1 -/* BCF960 80240D70 00440018 */ mult $v0, $a0 -/* BCF964 80240D74 000217C3 */ sra $v0, $v0, 0x1f -/* BCF968 80240D78 3C0140C9 */ lui $at, 0x40c9 -/* BCF96C 80240D7C 34210FD0 */ ori $at, $at, 0xfd0 -/* BCF970 80240D80 44810000 */ mtc1 $at, $f0 -/* BCF974 80240D84 00003810 */ mfhi $a3 -/* BCF978 80240D88 00071903 */ sra $v1, $a3, 4 -/* BCF97C 80240D8C 00621823 */ subu $v1, $v1, $v0 -/* BCF980 80240D90 2463005A */ addiu $v1, $v1, 0x5a -/* BCF984 80240D94 44836000 */ mtc1 $v1, $f12 -/* BCF988 80240D98 00000000 */ nop -/* BCF98C 80240D9C 46806320 */ cvt.s.w $f12, $f12 -/* BCF990 80240DA0 46006302 */ mul.s $f12, $f12, $f0 -/* BCF994 80240DA4 00000000 */ nop -/* BCF998 80240DA8 3C0143B4 */ lui $at, 0x43b4 -/* BCF99C 80240DAC 44810000 */ mtc1 $at, $f0 -/* BCF9A0 80240DB0 0C00A85B */ jal sin_rad -/* BCF9A4 80240DB4 46006303 */ div.s $f12, $f12, $f0 -/* BCF9A8 80240DB8 3C013FF0 */ lui $at, 0x3ff0 -/* BCF9AC 80240DBC 44811800 */ mtc1 $at, $f3 -/* BCF9B0 80240DC0 44801000 */ mtc1 $zero, $f2 -/* BCF9B4 80240DC4 46000021 */ cvt.d.s $f0, $f0 -/* BCF9B8 80240DC8 46201081 */ sub.d $f2, $f2, $f0 -/* BCF9BC 80240DCC 3C014049 */ lui $at, 0x4049 -/* BCF9C0 80240DD0 44810800 */ mtc1 $at, $f1 -/* BCF9C4 80240DD4 44800000 */ mtc1 $zero, $f0 -/* BCF9C8 80240DD8 00000000 */ nop -/* BCF9CC 80240DDC 46201082 */ mul.d $f2, $f2, $f0 -/* BCF9D0 80240DE0 00000000 */ nop -/* BCF9D4 80240DE4 46201080 */ add.d $f2, $f2, $f0 -/* BCF9D8 80240DE8 4620118D */ trunc.w.d $f6, $f2 -/* BCF9DC 80240DEC 44103000 */ mfc1 $s0, $f6 -/* BCF9E0 80240DF0 24020064 */ addiu $v0, $zero, 0x64 -.L80240DF4: -/* BCF9E4 80240DF4 00501023 */ subu $v0, $v0, $s0 -/* BCF9E8 80240DF8 3C013FD0 */ lui $at, 0x3fd0 -/* BCF9EC 80240DFC 44811800 */ mtc1 $at, $f3 -/* BCF9F0 80240E00 44801000 */ mtc1 $zero, $f2 -/* BCF9F4 80240E04 44820000 */ mtc1 $v0, $f0 -/* BCF9F8 80240E08 00000000 */ nop -/* BCF9FC 80240E0C 46800021 */ cvt.d.w $f0, $f0 -/* BCFA00 80240E10 46220002 */ mul.d $f0, $f0, $f2 -/* BCFA04 80240E14 00000000 */ nop -/* BCFA08 80240E18 44901000 */ mtc1 $s0, $f2 -/* BCFA0C 80240E1C 00000000 */ nop -/* BCFA10 80240E20 468010A1 */ cvt.d.w $f2, $f2 -/* BCFA14 80240E24 46221080 */ add.d $f2, $f2, $f2 -/* BCFA18 80240E28 3C014059 */ lui $at, 0x4059 -/* BCFA1C 80240E2C 44812800 */ mtc1 $at, $f5 -/* BCFA20 80240E30 44802000 */ mtc1 $zero, $f4 -/* BCFA24 80240E34 00000000 */ nop -/* BCFA28 80240E38 46241083 */ div.d $f2, $f2, $f4 -/* BCFA2C 80240E3C 46240003 */ div.d $f0, $f0, $f4 -/* BCFA30 80240E40 46220000 */ add.d $f0, $f0, $f2 -/* BCFA34 80240E44 8E24000C */ lw $a0, 0xc($s1) -/* BCFA38 80240E48 46200020 */ cvt.s.d $f0, $f0 -/* BCFA3C 80240E4C 44050000 */ mfc1 $a1, $f0 -/* BCFA40 80240E50 0C01574E */ jal func_80055D38 -/* BCFA44 80240E54 AE2501C4 */ sw $a1, 0x1c4($s1) -/* BCFA48 80240E58 8E24004C */ lw $a0, 0x4c($s1) -/* BCFA4C 80240E5C 0C0B11EA */ jal get_script_by_id -/* BCFA50 80240E60 00000000 */ nop -/* BCFA54 80240E64 C62201C4 */ lwc1 $f2, 0x1c4($s1) -/* BCFA58 80240E68 3C014040 */ lui $at, 0x4040 -/* BCFA5C 80240E6C 44810000 */ mtc1 $at, $f0 -/* BCFA60 80240E70 00000000 */ nop -/* BCFA64 80240E74 46001082 */ mul.s $f2, $f2, $f0 -/* BCFA68 80240E78 00000000 */ nop -/* BCFA6C 80240E7C 44051000 */ mfc1 $a1, $f2 -/* BCFA70 80240E80 0C0B1078 */ jal set_script_timescale -/* BCFA74 80240E84 0040202D */ daddu $a0, $v0, $zero -/* BCFA78 80240E88 8E240050 */ lw $a0, 0x50($s1) -/* BCFA7C 80240E8C 0C0B11EA */ jal get_script_by_id -/* BCFA80 80240E90 00000000 */ nop -/* BCFA84 80240E94 C62001C4 */ lwc1 $f0, 0x1c4($s1) -/* BCFA88 80240E98 3C0140A0 */ lui $at, 0x40a0 -/* BCFA8C 80240E9C 4481A000 */ mtc1 $at, $f20 -/* BCFA90 80240EA0 00000000 */ nop -/* BCFA94 80240EA4 46140002 */ mul.s $f0, $f0, $f20 -/* BCFA98 80240EA8 00000000 */ nop -/* BCFA9C 80240EAC 44050000 */ mfc1 $a1, $f0 -/* BCFAA0 80240EB0 0C0B1078 */ jal set_script_timescale -/* BCFAA4 80240EB4 0040202D */ daddu $a0, $v0, $zero -/* BCFAA8 80240EB8 8E240054 */ lw $a0, 0x54($s1) -/* BCFAAC 80240EBC 0C0B11EA */ jal get_script_by_id -/* BCFAB0 80240EC0 00000000 */ nop -/* BCFAB4 80240EC4 C62001C4 */ lwc1 $f0, 0x1c4($s1) -/* BCFAB8 80240EC8 46140002 */ mul.s $f0, $f0, $f20 -/* BCFABC 80240ECC 00000000 */ nop -/* BCFAC0 80240ED0 44050000 */ mfc1 $a1, $f0 -/* BCFAC4 80240ED4 0C0B1078 */ jal set_script_timescale -/* BCFAC8 80240ED8 0040202D */ daddu $a0, $v0, $zero -.L80240EDC: -/* BCFACC 80240EDC 8FBF001C */ lw $ra, 0x1c($sp) -/* BCFAD0 80240EE0 8FB20018 */ lw $s2, 0x18($sp) -/* BCFAD4 80240EE4 8FB10014 */ lw $s1, 0x14($sp) -/* BCFAD8 80240EE8 8FB00010 */ lw $s0, 0x10($sp) -/* BCFADC 80240EEC D7B40020 */ ldc1 $f20, 0x20($sp) -/* BCFAE0 80240EF0 03E00008 */ jr $ra -/* BCFAE4 80240EF4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_802418E0_BD04D0.s b/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_802418E0_BD04D0.s deleted file mode 100644 index 63a1c8e507..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_802418E0_BD04D0.s +++ /dev/null @@ -1,171 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802418E0_BD04D0 -/* BD04D0 802418E0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* BD04D4 802418E4 AFB20018 */ sw $s2, 0x18($sp) -/* BD04D8 802418E8 0080902D */ daddu $s2, $a0, $zero -/* BD04DC 802418EC AFBF001C */ sw $ra, 0x1c($sp) -/* BD04E0 802418F0 AFB10014 */ sw $s1, 0x14($sp) -/* BD04E4 802418F4 AFB00010 */ sw $s0, 0x10($sp) -/* BD04E8 802418F8 F7BE0048 */ sdc1 $f30, 0x48($sp) -/* BD04EC 802418FC F7BC0040 */ sdc1 $f28, 0x40($sp) -/* BD04F0 80241900 F7BA0038 */ sdc1 $f26, 0x38($sp) -/* BD04F4 80241904 F7B80030 */ sdc1 $f24, 0x30($sp) -/* BD04F8 80241908 F7B60028 */ sdc1 $f22, 0x28($sp) -/* BD04FC 8024190C F7B40020 */ sdc1 $f20, 0x20($sp) -/* BD0500 80241910 0C00EABB */ jal get_npc_unsafe -/* BD0504 80241914 24040002 */ addiu $a0, $zero, 2 -/* BD0508 80241918 0C090150 */ jal func_80240540_BCF130 -/* BD050C 8024191C 0040802D */ daddu $s0, $v0, $zero -/* BD0510 80241920 0040882D */ daddu $s1, $v0, $zero -/* BD0514 80241924 2403FFFF */ addiu $v1, $zero, -1 -/* BD0518 80241928 3C01C308 */ lui $at, 0xc308 -/* BD051C 8024192C 4481D000 */ mtc1 $at, $f26 -/* BD0520 80241930 C6160038 */ lwc1 $f22, 0x38($s0) -/* BD0524 80241934 C6180040 */ lwc1 $f24, 0x40($s0) -/* BD0528 80241938 3C01C2B8 */ lui $at, 0xc2b8 -/* BD052C 8024193C 4481F000 */ mtc1 $at, $f30 -/* BD0530 80241940 8E220030 */ lw $v0, 0x30($s1) -/* BD0534 80241944 3C014328 */ lui $at, 0x4328 -/* BD0538 80241948 4481E000 */ mtc1 $at, $f28 -/* BD053C 8024194C 14430025 */ bne $v0, $v1, .L802419E4 -/* BD0540 80241950 3C020095 */ lui $v0, 0x95 -/* BD0544 80241954 34420003 */ ori $v0, $v0, 3 -/* BD0548 80241958 4600B306 */ mov.s $f12, $f22 -/* BD054C 8024195C 3C014000 */ lui $at, 0x4000 -/* BD0550 80241960 4481A000 */ mtc1 $at, $f20 -/* BD0554 80241964 4406E000 */ mfc1 $a2, $f28 -/* BD0558 80241968 4407D000 */ mfc1 $a3, $f26 -/* BD055C 8024196C 4600C386 */ mov.s $f14, $f24 -/* BD0560 80241970 0C00A7B5 */ jal dist2D -/* BD0564 80241974 AE020028 */ sw $v0, 0x28($s0) -/* BD0568 80241978 4614003C */ c.lt.s $f0, $f20 -/* BD056C 8024197C 00000000 */ nop -/* BD0570 80241980 4500000D */ bc1f .L802419B8 -/* BD0574 80241984 4600B306 */ mov.s $f12, $f22 -/* BD0578 80241988 4406F000 */ mfc1 $a2, $f30 -/* BD057C 8024198C 4407D000 */ mfc1 $a3, $f26 -/* BD0580 80241990 4600C386 */ mov.s $f14, $f24 -/* BD0584 80241994 E61C0038 */ swc1 $f28, 0x38($s0) -/* BD0588 80241998 0C00A720 */ jal atan2 -/* BD058C 8024199C AE070040 */ sw $a3, 0x40($s0) -/* BD0590 802419A0 24020002 */ addiu $v0, $zero, 2 -/* BD0594 802419A4 24030001 */ addiu $v1, $zero, 1 -/* BD0598 802419A8 E600000C */ swc1 $f0, 0xc($s0) -/* BD059C 802419AC AE4000AC */ sw $zero, 0xac($s2) -/* BD05A0 802419B0 080906C8 */ j .L80241B20 -/* BD05A4 802419B4 AE4300B0 */ sw $v1, 0xb0($s2) -.L802419B8: -/* BD05A8 802419B8 4406E000 */ mfc1 $a2, $f28 -/* BD05AC 802419BC 4407D000 */ mfc1 $a3, $f26 -/* BD05B0 802419C0 0C00A720 */ jal atan2 -/* BD05B4 802419C4 4600C386 */ mov.s $f14, $f24 -/* BD05B8 802419C8 4405A000 */ mfc1 $a1, $f20 -/* BD05BC 802419CC 44060000 */ mfc1 $a2, $f0 -/* BD05C0 802419D0 0200202D */ daddu $a0, $s0, $zero -/* BD05C4 802419D4 0C00EA95 */ jal npc_move_heading -/* BD05C8 802419D8 AC86000C */ sw $a2, 0xc($a0) -/* BD05CC 802419DC 080906C8 */ j .L80241B20 -/* BD05D0 802419E0 24020002 */ addiu $v0, $zero, 2 -.L802419E4: -/* BD05D4 802419E4 8E2201D4 */ lw $v0, 0x1d4($s1) -/* BD05D8 802419E8 28421B59 */ slti $v0, $v0, 0x1b59 -/* BD05DC 802419EC 14400019 */ bnez $v0, .L80241A54 -/* BD05E0 802419F0 4600B306 */ mov.s $f12, $f22 -/* BD05E4 802419F4 4600C386 */ mov.s $f14, $f24 -/* BD05E8 802419F8 3C014000 */ lui $at, 0x4000 -/* BD05EC 802419FC 4481A000 */ mtc1 $at, $f20 -/* BD05F0 80241A00 4406F000 */ mfc1 $a2, $f30 -/* BD05F4 80241A04 4407D000 */ mfc1 $a3, $f26 -/* BD05F8 80241A08 24020001 */ addiu $v0, $zero, 1 -/* BD05FC 80241A0C 0C00A7B5 */ jal dist2D -/* BD0600 80241A10 AE4200AC */ sw $v0, 0xac($s2) -/* BD0604 80241A14 4614003C */ c.lt.s $f0, $f20 -/* BD0608 80241A18 00000000 */ nop -/* BD060C 80241A1C 45000004 */ bc1f .L80241A30 -/* BD0610 80241A20 4600B306 */ mov.s $f12, $f22 -/* BD0614 80241A24 E61E0038 */ swc1 $f30, 0x38($s0) -/* BD0618 80241A28 08090695 */ j .L80241A54 -/* BD061C 80241A2C E61A0040 */ swc1 $f26, 0x40($s0) -.L80241A30: -/* BD0620 80241A30 4406F000 */ mfc1 $a2, $f30 -/* BD0624 80241A34 4407D000 */ mfc1 $a3, $f26 -/* BD0628 80241A38 0C00A720 */ jal atan2 -/* BD062C 80241A3C 4600C386 */ mov.s $f14, $f24 -/* BD0630 80241A40 4405A000 */ mfc1 $a1, $f20 -/* BD0634 80241A44 44060000 */ mfc1 $a2, $f0 -/* BD0638 80241A48 0200202D */ daddu $a0, $s0, $zero -/* BD063C 80241A4C 0C00EA95 */ jal npc_move_heading -/* BD0640 80241A50 AE06000C */ sw $a2, 0xc($s0) -.L80241A54: -/* BD0644 80241A54 8E2201D4 */ lw $v0, 0x1d4($s1) -/* BD0648 80241A58 28420BB8 */ slti $v0, $v0, 0xbb8 -/* BD064C 80241A5C 1040001D */ beqz $v0, .L80241AD4 -/* BD0650 80241A60 4600B306 */ mov.s $f12, $f22 -/* BD0654 80241A64 3C014000 */ lui $at, 0x4000 -/* BD0658 80241A68 4481A000 */ mtc1 $at, $f20 -/* BD065C 80241A6C 4406E000 */ mfc1 $a2, $f28 -/* BD0660 80241A70 4407D000 */ mfc1 $a3, $f26 -/* BD0664 80241A74 4600C386 */ mov.s $f14, $f24 -/* BD0668 80241A78 0C00A7B5 */ jal dist2D -/* BD066C 80241A7C AE4000AC */ sw $zero, 0xac($s2) -/* BD0670 80241A80 4614003C */ c.lt.s $f0, $f20 -/* BD0674 80241A84 00000000 */ nop -/* BD0678 80241A88 45000009 */ bc1f .L80241AB0 -/* BD067C 80241A8C 4600B306 */ mov.s $f12, $f22 -/* BD0680 80241A90 4406F000 */ mfc1 $a2, $f30 -/* BD0684 80241A94 3C07C308 */ lui $a3, 0xc308 -/* BD0688 80241A98 4600C386 */ mov.s $f14, $f24 -/* BD068C 80241A9C E61C0038 */ swc1 $f28, 0x38($s0) -/* BD0690 80241AA0 0C00A720 */ jal atan2 -/* BD0694 80241AA4 E61A0040 */ swc1 $f26, 0x40($s0) -/* BD0698 80241AA8 080906B5 */ j .L80241AD4 -/* BD069C 80241AAC E600000C */ swc1 $f0, 0xc($s0) -.L80241AB0: -/* BD06A0 80241AB0 4406E000 */ mfc1 $a2, $f28 -/* BD06A4 80241AB4 4407D000 */ mfc1 $a3, $f26 -/* BD06A8 80241AB8 0C00A720 */ jal atan2 -/* BD06AC 80241ABC 4600C386 */ mov.s $f14, $f24 -/* BD06B0 80241AC0 4405A000 */ mfc1 $a1, $f20 -/* BD06B4 80241AC4 44060000 */ mfc1 $a2, $f0 -/* BD06B8 80241AC8 0200202D */ daddu $a0, $s0, $zero -/* BD06BC 80241ACC 0C00EA95 */ jal npc_move_heading -/* BD06C0 80241AD0 AE06000C */ sw $a2, 0xc($s0) -.L80241AD4: -/* BD06C4 80241AD4 8E2301D4 */ lw $v1, 0x1d4($s1) -/* BD06C8 80241AD8 28621B59 */ slti $v0, $v1, 0x1b59 -/* BD06CC 80241ADC 54400004 */ bnel $v0, $zero, .L80241AF0 -/* BD06D0 80241AE0 28621389 */ slti $v0, $v1, 0x1389 -/* BD06D4 80241AE4 3C020095 */ lui $v0, 0x95 -/* BD06D8 80241AE8 080906C6 */ j .L80241B18 -/* BD06DC 80241AEC 34420005 */ ori $v0, $v0, 5 -.L80241AF0: -/* BD06E0 80241AF0 54400004 */ bnel $v0, $zero, .L80241B04 -/* BD06E4 80241AF4 28620BB9 */ slti $v0, $v1, 0xbb9 -/* BD06E8 80241AF8 3C020095 */ lui $v0, 0x95 -/* BD06EC 80241AFC 080906C6 */ j .L80241B18 -/* BD06F0 80241B00 34420003 */ ori $v0, $v0, 3 -.L80241B04: -/* BD06F4 80241B04 14400003 */ bnez $v0, .L80241B14 -/* BD06F8 80241B08 3C020095 */ lui $v0, 0x95 -/* BD06FC 80241B0C 080906C6 */ j .L80241B18 -/* BD0700 80241B10 34420002 */ ori $v0, $v0, 2 -.L80241B14: -/* BD0704 80241B14 34420001 */ ori $v0, $v0, 1 -.L80241B18: -/* BD0708 80241B18 AE020028 */ sw $v0, 0x28($s0) -/* BD070C 80241B1C 24020002 */ addiu $v0, $zero, 2 -.L80241B20: -/* BD0710 80241B20 8FBF001C */ lw $ra, 0x1c($sp) -/* BD0714 80241B24 8FB20018 */ lw $s2, 0x18($sp) -/* BD0718 80241B28 8FB10014 */ lw $s1, 0x14($sp) -/* BD071C 80241B2C 8FB00010 */ lw $s0, 0x10($sp) -/* BD0720 80241B30 D7BE0048 */ ldc1 $f30, 0x48($sp) -/* BD0724 80241B34 D7BC0040 */ ldc1 $f28, 0x40($sp) -/* BD0728 80241B38 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* BD072C 80241B3C D7B80030 */ ldc1 $f24, 0x30($sp) -/* BD0730 80241B40 D7B60028 */ ldc1 $f22, 0x28($sp) -/* BD0734 80241B44 D7B40020 */ ldc1 $f20, 0x20($sp) -/* BD0738 80241B48 03E00008 */ jr $ra -/* BD073C 80241B4C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802403DC_BD3C4C.s b/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802403DC_BD3C4C.s deleted file mode 100644 index 0edf3af6fa..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802403DC_BD3C4C.s +++ /dev/null @@ -1,73 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802403DC_BD3C4C -/* BD3C4C 802403DC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* BD3C50 802403E0 AFB3001C */ sw $s3, 0x1c($sp) -/* BD3C54 802403E4 0080982D */ daddu $s3, $a0, $zero -/* BD3C58 802403E8 AFBF0020 */ sw $ra, 0x20($sp) -/* BD3C5C 802403EC AFB20018 */ sw $s2, 0x18($sp) -/* BD3C60 802403F0 AFB10014 */ sw $s1, 0x14($sp) -/* BD3C64 802403F4 AFB00010 */ sw $s0, 0x10($sp) -/* BD3C68 802403F8 8E70000C */ lw $s0, 0xc($s3) -/* BD3C6C 802403FC 8E050000 */ lw $a1, ($s0) -/* BD3C70 80240400 0C0B1EAF */ jal evt_get_variable -/* BD3C74 80240404 26100004 */ addiu $s0, $s0, 4 -/* BD3C78 80240408 0260202D */ daddu $a0, $s3, $zero -/* BD3C7C 8024040C 8E050000 */ lw $a1, ($s0) -/* BD3C80 80240410 0C0B1EAF */ jal evt_get_variable -/* BD3C84 80240414 0040902D */ daddu $s2, $v0, $zero -/* BD3C88 80240418 2404003C */ addiu $a0, $zero, 0x3c -/* BD3C8C 8024041C 0C00AB39 */ jal heap_malloc -/* BD3C90 80240420 0040882D */ daddu $s1, $v0, $zero -/* BD3C94 80240424 0040802D */ daddu $s0, $v0, $zero -/* BD3C98 80240428 3C038011 */ lui $v1, %hi(gPlayerStatus) -/* BD3C9C 8024042C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) -/* BD3CA0 80240430 AE120008 */ sw $s2, 8($s0) -/* BD3CA4 80240434 AE11000C */ sw $s1, 0xc($s0) -/* BD3CA8 80240438 846200B0 */ lh $v0, 0xb0($v1) -/* BD3CAC 8024043C 44820000 */ mtc1 $v0, $f0 -/* BD3CB0 80240440 00000000 */ nop -/* BD3CB4 80240444 46800020 */ cvt.s.w $f0, $f0 -/* BD3CB8 80240448 E6000034 */ swc1 $f0, 0x34($s0) -/* BD3CBC 8024044C 846200B2 */ lh $v0, 0xb2($v1) -/* BD3CC0 80240450 44820000 */ mtc1 $v0, $f0 -/* BD3CC4 80240454 00000000 */ nop -/* BD3CC8 80240458 46800020 */ cvt.s.w $f0, $f0 -/* BD3CCC 8024045C E6000038 */ swc1 $f0, 0x38($s0) -/* BD3CD0 80240460 C4600028 */ lwc1 $f0, 0x28($v1) -/* BD3CD4 80240464 E6000010 */ swc1 $f0, 0x10($s0) -/* BD3CD8 80240468 C460002C */ lwc1 $f0, 0x2c($v1) -/* BD3CDC 8024046C E6000014 */ swc1 $f0, 0x14($s0) -/* BD3CE0 80240470 C4620030 */ lwc1 $f2, 0x30($v1) -/* BD3CE4 80240474 3C013F36 */ lui $at, 0x3f36 -/* BD3CE8 80240478 3421DB6E */ ori $at, $at, 0xdb6e -/* BD3CEC 8024047C 44810000 */ mtc1 $at, $f0 -/* BD3CF0 80240480 24040001 */ addiu $a0, $zero, 1 -/* BD3CF4 80240484 AE00001C */ sw $zero, 0x1c($s0) -/* BD3CF8 80240488 AE000020 */ sw $zero, 0x20($s0) -/* BD3CFC 8024048C AE000024 */ sw $zero, 0x24($s0) -/* BD3D00 80240490 E6000028 */ swc1 $f0, 0x28($s0) -/* BD3D04 80240494 E600002C */ swc1 $f0, 0x2c($s0) -/* BD3D08 80240498 E6000030 */ swc1 $f0, 0x30($s0) -/* BD3D0C 8024049C 0C04E9C1 */ jal func_8013A704 -/* BD3D10 802404A0 E6020018 */ swc1 $f2, 0x18($s0) -/* BD3D14 802404A4 0000202D */ daddu $a0, $zero, $zero -/* BD3D18 802404A8 3C058024 */ lui $a1, %hi(obk_08_UnkFoldFunc) -/* BD3D1C 802404AC 24A50000 */ addiu $a1, $a1, %lo(obk_08_UnkFoldFunc) -/* BD3D20 802404B0 0C048C56 */ jal create_worker_world -/* BD3D24 802404B4 AE020000 */ sw $v0, ($s0) -/* BD3D28 802404B8 0260202D */ daddu $a0, $s3, $zero -/* BD3D2C 802404BC 3C05FD05 */ lui $a1, 0xfd05 -/* BD3D30 802404C0 34A50F8A */ ori $a1, $a1, 0xf8a -/* BD3D34 802404C4 0200302D */ daddu $a2, $s0, $zero -/* BD3D38 802404C8 0C0B2026 */ jal evt_set_variable -/* BD3D3C 802404CC AE020004 */ sw $v0, 4($s0) -/* BD3D40 802404D0 8FBF0020 */ lw $ra, 0x20($sp) -/* BD3D44 802404D4 8FB3001C */ lw $s3, 0x1c($sp) -/* BD3D48 802404D8 8FB20018 */ lw $s2, 0x18($sp) -/* BD3D4C 802404DC 8FB10014 */ lw $s1, 0x14($sp) -/* BD3D50 802404E0 8FB00010 */ lw $s0, 0x10($sp) -/* BD3D54 802404E4 24020002 */ addiu $v0, $zero, 2 -/* BD3D58 802404E8 03E00008 */ jr $ra -/* BD3D5C 802404EC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024055C_BD3DCC.s b/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024055C_BD3DCC.s deleted file mode 100644 index 8fa2cafec2..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024055C_BD3DCC.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8024055C_BD3DCC -/* BD3DCC 8024055C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* BD3DD0 80240560 AFB10014 */ sw $s1, 0x14($sp) -/* BD3DD4 80240564 0080882D */ daddu $s1, $a0, $zero -/* BD3DD8 80240568 AFBF001C */ sw $ra, 0x1c($sp) -/* BD3DDC 8024056C AFB20018 */ sw $s2, 0x18($sp) -/* BD3DE0 80240570 AFB00010 */ sw $s0, 0x10($sp) -/* BD3DE4 80240574 8E30000C */ lw $s0, 0xc($s1) -/* BD3DE8 80240578 8E050000 */ lw $a1, ($s0) -/* BD3DEC 8024057C 0C0B210B */ jal evt_get_float_variable -/* BD3DF0 80240580 26100004 */ addiu $s0, $s0, 4 -/* BD3DF4 80240584 8E050000 */ lw $a1, ($s0) -/* BD3DF8 80240588 26100004 */ addiu $s0, $s0, 4 -/* BD3DFC 8024058C 4600008D */ trunc.w.s $f2, $f0 -/* BD3E00 80240590 44121000 */ mfc1 $s2, $f2 -/* BD3E04 80240594 0C0B210B */ jal evt_get_float_variable -/* BD3E08 80240598 0220202D */ daddu $a0, $s1, $zero -/* BD3E0C 8024059C 0220202D */ daddu $a0, $s1, $zero -/* BD3E10 802405A0 8E050000 */ lw $a1, ($s0) -/* BD3E14 802405A4 4600008D */ trunc.w.s $f2, $f0 -/* BD3E18 802405A8 44111000 */ mfc1 $s1, $f2 -/* BD3E1C 802405AC 0C0B210B */ jal evt_get_float_variable -/* BD3E20 802405B0 00000000 */ nop -/* BD3E24 802405B4 0000202D */ daddu $a0, $zero, $zero -/* BD3E28 802405B8 3C05FD05 */ lui $a1, 0xfd05 -/* BD3E2C 802405BC 4600008D */ trunc.w.s $f2, $f0 -/* BD3E30 802405C0 44101000 */ mfc1 $s0, $f2 -/* BD3E34 802405C4 0C0B1EAF */ jal evt_get_variable -/* BD3E38 802405C8 34A50F8A */ ori $a1, $a1, 0xf8a -/* BD3E3C 802405CC 0040182D */ daddu $v1, $v0, $zero -/* BD3E40 802405D0 44920000 */ mtc1 $s2, $f0 -/* BD3E44 802405D4 00000000 */ nop -/* BD3E48 802405D8 46800020 */ cvt.s.w $f0, $f0 -/* BD3E4C 802405DC E4600010 */ swc1 $f0, 0x10($v1) -/* BD3E50 802405E0 44910000 */ mtc1 $s1, $f0 -/* BD3E54 802405E4 00000000 */ nop -/* BD3E58 802405E8 46800020 */ cvt.s.w $f0, $f0 -/* BD3E5C 802405EC E4600014 */ swc1 $f0, 0x14($v1) -/* BD3E60 802405F0 44900000 */ mtc1 $s0, $f0 -/* BD3E64 802405F4 00000000 */ nop -/* BD3E68 802405F8 46800020 */ cvt.s.w $f0, $f0 -/* BD3E6C 802405FC E4600018 */ swc1 $f0, 0x18($v1) -/* BD3E70 80240600 8FBF001C */ lw $ra, 0x1c($sp) -/* BD3E74 80240604 8FB20018 */ lw $s2, 0x18($sp) -/* BD3E78 80240608 8FB10014 */ lw $s1, 0x14($sp) -/* BD3E7C 8024060C 8FB00010 */ lw $s0, 0x10($sp) -/* BD3E80 80240610 24020002 */ addiu $v0, $zero, 2 -/* BD3E84 80240614 03E00008 */ jr $ra -/* BD3E88 80240618 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024061C_BD3E8C.s b/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024061C_BD3E8C.s deleted file mode 100644 index c58806c181..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024061C_BD3E8C.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8024061C_BD3E8C -/* BD3E8C 8024061C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* BD3E90 80240620 AFB10014 */ sw $s1, 0x14($sp) -/* BD3E94 80240624 0080882D */ daddu $s1, $a0, $zero -/* BD3E98 80240628 AFBF001C */ sw $ra, 0x1c($sp) -/* BD3E9C 8024062C AFB20018 */ sw $s2, 0x18($sp) -/* BD3EA0 80240630 AFB00010 */ sw $s0, 0x10($sp) -/* BD3EA4 80240634 8E30000C */ lw $s0, 0xc($s1) -/* BD3EA8 80240638 8E050000 */ lw $a1, ($s0) -/* BD3EAC 8024063C 0C0B210B */ jal evt_get_float_variable -/* BD3EB0 80240640 26100004 */ addiu $s0, $s0, 4 -/* BD3EB4 80240644 8E050000 */ lw $a1, ($s0) -/* BD3EB8 80240648 26100004 */ addiu $s0, $s0, 4 -/* BD3EBC 8024064C 4600008D */ trunc.w.s $f2, $f0 -/* BD3EC0 80240650 44121000 */ mfc1 $s2, $f2 -/* BD3EC4 80240654 0C0B210B */ jal evt_get_float_variable -/* BD3EC8 80240658 0220202D */ daddu $a0, $s1, $zero -/* BD3ECC 8024065C 0220202D */ daddu $a0, $s1, $zero -/* BD3ED0 80240660 8E050000 */ lw $a1, ($s0) -/* BD3ED4 80240664 4600008D */ trunc.w.s $f2, $f0 -/* BD3ED8 80240668 44111000 */ mfc1 $s1, $f2 -/* BD3EDC 8024066C 0C0B210B */ jal evt_get_float_variable -/* BD3EE0 80240670 00000000 */ nop -/* BD3EE4 80240674 0000202D */ daddu $a0, $zero, $zero -/* BD3EE8 80240678 3C05FD05 */ lui $a1, 0xfd05 -/* BD3EEC 8024067C 4600008D */ trunc.w.s $f2, $f0 -/* BD3EF0 80240680 44101000 */ mfc1 $s0, $f2 -/* BD3EF4 80240684 0C0B1EAF */ jal evt_get_variable -/* BD3EF8 80240688 34A50F8A */ ori $a1, $a1, 0xf8a -/* BD3EFC 8024068C 0040182D */ daddu $v1, $v0, $zero -/* BD3F00 80240690 44920000 */ mtc1 $s2, $f0 -/* BD3F04 80240694 00000000 */ nop -/* BD3F08 80240698 46800020 */ cvt.s.w $f0, $f0 -/* BD3F0C 8024069C E460001C */ swc1 $f0, 0x1c($v1) -/* BD3F10 802406A0 44910000 */ mtc1 $s1, $f0 -/* BD3F14 802406A4 00000000 */ nop -/* BD3F18 802406A8 46800020 */ cvt.s.w $f0, $f0 -/* BD3F1C 802406AC E4600020 */ swc1 $f0, 0x20($v1) -/* BD3F20 802406B0 44900000 */ mtc1 $s0, $f0 -/* BD3F24 802406B4 00000000 */ nop -/* BD3F28 802406B8 46800020 */ cvt.s.w $f0, $f0 -/* BD3F2C 802406BC E4600024 */ swc1 $f0, 0x24($v1) -/* BD3F30 802406C0 8FBF001C */ lw $ra, 0x1c($sp) -/* BD3F34 802406C4 8FB20018 */ lw $s2, 0x18($sp) -/* BD3F38 802406C8 8FB10014 */ lw $s1, 0x14($sp) -/* BD3F3C 802406CC 8FB00010 */ lw $s0, 0x10($sp) -/* BD3F40 802406D0 24020002 */ addiu $v0, $zero, 2 -/* BD3F44 802406D4 03E00008 */ jr $ra -/* BD3F48 802406D8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802406DC_BD3F4C.s b/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802406DC_BD3F4C.s deleted file mode 100644 index 39c8cf1d0e..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_802406DC_BD3F4C.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802406DC_BD3F4C -/* BD3F4C 802406DC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* BD3F50 802406E0 AFB10014 */ sw $s1, 0x14($sp) -/* BD3F54 802406E4 0080882D */ daddu $s1, $a0, $zero -/* BD3F58 802406E8 AFBF001C */ sw $ra, 0x1c($sp) -/* BD3F5C 802406EC AFB20018 */ sw $s2, 0x18($sp) -/* BD3F60 802406F0 AFB00010 */ sw $s0, 0x10($sp) -/* BD3F64 802406F4 8E30000C */ lw $s0, 0xc($s1) -/* BD3F68 802406F8 8E050000 */ lw $a1, ($s0) -/* BD3F6C 802406FC 0C0B210B */ jal evt_get_float_variable -/* BD3F70 80240700 26100004 */ addiu $s0, $s0, 4 -/* BD3F74 80240704 8E050000 */ lw $a1, ($s0) -/* BD3F78 80240708 26100004 */ addiu $s0, $s0, 4 -/* BD3F7C 8024070C 4600008D */ trunc.w.s $f2, $f0 -/* BD3F80 80240710 44121000 */ mfc1 $s2, $f2 -/* BD3F84 80240714 0C0B210B */ jal evt_get_float_variable -/* BD3F88 80240718 0220202D */ daddu $a0, $s1, $zero -/* BD3F8C 8024071C 0220202D */ daddu $a0, $s1, $zero -/* BD3F90 80240720 8E050000 */ lw $a1, ($s0) -/* BD3F94 80240724 4600008D */ trunc.w.s $f2, $f0 -/* BD3F98 80240728 44111000 */ mfc1 $s1, $f2 -/* BD3F9C 8024072C 0C0B210B */ jal evt_get_float_variable -/* BD3FA0 80240730 00000000 */ nop -/* BD3FA4 80240734 0000202D */ daddu $a0, $zero, $zero -/* BD3FA8 80240738 3C05FD05 */ lui $a1, 0xfd05 -/* BD3FAC 8024073C 4600008D */ trunc.w.s $f2, $f0 -/* BD3FB0 80240740 44101000 */ mfc1 $s0, $f2 -/* BD3FB4 80240744 0C0B1EAF */ jal evt_get_variable -/* BD3FB8 80240748 34A50F8A */ ori $a1, $a1, 0xf8a -/* BD3FBC 8024074C 0040182D */ daddu $v1, $v0, $zero -/* BD3FC0 80240750 44920000 */ mtc1 $s2, $f0 -/* BD3FC4 80240754 00000000 */ nop -/* BD3FC8 80240758 46800020 */ cvt.s.w $f0, $f0 -/* BD3FCC 8024075C E4600028 */ swc1 $f0, 0x28($v1) -/* BD3FD0 80240760 44910000 */ mtc1 $s1, $f0 -/* BD3FD4 80240764 00000000 */ nop -/* BD3FD8 80240768 46800020 */ cvt.s.w $f0, $f0 -/* BD3FDC 8024076C E460002C */ swc1 $f0, 0x2c($v1) -/* BD3FE0 80240770 44900000 */ mtc1 $s0, $f0 -/* BD3FE4 80240774 00000000 */ nop -/* BD3FE8 80240778 46800020 */ cvt.s.w $f0, $f0 -/* BD3FEC 8024077C E4600030 */ swc1 $f0, 0x30($v1) -/* BD3FF0 80240780 8FBF001C */ lw $ra, 0x1c($sp) -/* BD3FF4 80240784 8FB20018 */ lw $s2, 0x18($sp) -/* BD3FF8 80240788 8FB10014 */ lw $s1, 0x14($sp) -/* BD3FFC 8024078C 8FB00010 */ lw $s0, 0x10($sp) -/* BD4000 80240790 24020002 */ addiu $v0, $zero, 2 -/* BD4004 80240794 03E00008 */ jr $ra -/* BD4008 80240798 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024079C_BD400C.s b/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024079C_BD400C.s deleted file mode 100644 index ff2eb98204..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_08/BD3870/func_8024079C_BD400C.s +++ /dev/null @@ -1,31 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8024079C_BD400C -/* BD400C 8024079C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* BD4010 802407A0 AFB10014 */ sw $s1, 0x14($sp) -/* BD4014 802407A4 0080882D */ daddu $s1, $a0, $zero -/* BD4018 802407A8 AFBF0018 */ sw $ra, 0x18($sp) -/* BD401C 802407AC AFB00010 */ sw $s0, 0x10($sp) -/* BD4020 802407B0 8E30000C */ lw $s0, 0xc($s1) -/* BD4024 802407B4 8E050000 */ lw $a1, ($s0) -/* BD4028 802407B8 0C0B1EAF */ jal evt_get_variable -/* BD402C 802407BC 26100004 */ addiu $s0, $s0, 4 -/* BD4030 802407C0 0220202D */ daddu $a0, $s1, $zero -/* BD4034 802407C4 8E050000 */ lw $a1, ($s0) -/* BD4038 802407C8 0C0B1EAF */ jal evt_get_variable -/* BD403C 802407CC 0040882D */ daddu $s1, $v0, $zero -/* BD4040 802407D0 0000202D */ daddu $a0, $zero, $zero -/* BD4044 802407D4 3C05FD05 */ lui $a1, 0xfd05 -/* BD4048 802407D8 34A50F8A */ ori $a1, $a1, 0xf8a -/* BD404C 802407DC 0C0B1EAF */ jal evt_get_variable -/* BD4050 802407E0 0040802D */ daddu $s0, $v0, $zero -/* BD4054 802407E4 0040182D */ daddu $v1, $v0, $zero -/* BD4058 802407E8 AC710008 */ sw $s1, 8($v1) -/* BD405C 802407EC AC70000C */ sw $s0, 0xc($v1) -/* BD4060 802407F0 8FBF0018 */ lw $ra, 0x18($sp) -/* BD4064 802407F4 8FB10014 */ lw $s1, 0x14($sp) -/* BD4068 802407F8 8FB00010 */ lw $s0, 0x10($sp) -/* BD406C 802407FC 24020002 */ addiu $v0, $zero, 2 -/* BD4070 80240800 03E00008 */ jr $ra -/* BD4074 80240804 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240190_BDA940.s b/ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240190_BDA940.s deleted file mode 100644 index f715e9516e..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240190_BDA940.s +++ /dev/null @@ -1,50 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240190_BDA940 -/* BDA940 80240190 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* BDA944 80240194 AFB20020 */ sw $s2, 0x20($sp) -/* BDA948 80240198 0080902D */ daddu $s2, $a0, $zero -/* BDA94C 8024019C AFBF0024 */ sw $ra, 0x24($sp) -/* BDA950 802401A0 AFB1001C */ sw $s1, 0x1c($sp) -/* BDA954 802401A4 AFB00018 */ sw $s0, 0x18($sp) -/* BDA958 802401A8 0C00EAD2 */ jal get_npc_safe -/* BDA95C 802401AC 8E44014C */ lw $a0, 0x14c($s2) -/* BDA960 802401B0 24040020 */ addiu $a0, $zero, 0x20 -/* BDA964 802401B4 0C00AB39 */ jal heap_malloc -/* BDA968 802401B8 0040882D */ daddu $s1, $v0, $zero -/* BDA96C 802401BC 0040802D */ daddu $s0, $v0, $zero -/* BDA970 802401C0 AE500060 */ sw $s0, 0x60($s2) -/* BDA974 802401C4 C6200038 */ lwc1 $f0, 0x38($s1) -/* BDA978 802401C8 3C013F80 */ lui $at, 0x3f80 -/* BDA97C 802401CC 44811000 */ mtc1 $at, $f2 -/* BDA980 802401D0 E6000000 */ swc1 $f0, ($s0) -/* BDA984 802401D4 C620003C */ lwc1 $f0, 0x3c($s1) -/* BDA988 802401D8 E6000004 */ swc1 $f0, 4($s0) -/* BDA98C 802401DC C6200040 */ lwc1 $f0, 0x40($s1) -/* BDA990 802401E0 AE000010 */ sw $zero, 0x10($s0) -/* BDA994 802401E4 E6000008 */ swc1 $f0, 8($s0) -/* BDA998 802401E8 E7A20010 */ swc1 $f2, 0x10($sp) -/* BDA99C 802401EC AFA00014 */ sw $zero, 0x14($sp) -/* BDA9A0 802401F0 8E050000 */ lw $a1, ($s0) -/* BDA9A4 802401F4 8E060004 */ lw $a2, 4($s0) -/* BDA9A8 802401F8 8E070008 */ lw $a3, 8($s0) -/* BDA9AC 802401FC 0C01C9AC */ jal fx_spirit_card -/* BDA9B0 80240200 24040001 */ addiu $a0, $zero, 1 -/* BDA9B4 80240204 AE02001C */ sw $v0, 0x1c($s0) -/* BDA9B8 80240208 8C43000C */ lw $v1, 0xc($v0) -/* BDA9BC 8024020C 24020002 */ addiu $v0, $zero, 2 -/* BDA9C0 80240210 A0620034 */ sb $v0, 0x34($v1) -/* BDA9C4 80240214 8E050000 */ lw $a1, ($s0) -/* BDA9C8 80240218 8E060004 */ lw $a2, 4($s0) -/* BDA9CC 8024021C 8E070008 */ lw $a3, 8($s0) -/* BDA9D0 80240220 0C044898 */ jal create_shadow_type -/* BDA9D4 80240224 0000202D */ daddu $a0, $zero, $zero -/* BDA9D8 80240228 AE020018 */ sw $v0, 0x18($s0) -/* BDA9DC 8024022C 8FBF0024 */ lw $ra, 0x24($sp) -/* BDA9E0 80240230 8FB20020 */ lw $s2, 0x20($sp) -/* BDA9E4 80240234 8FB1001C */ lw $s1, 0x1c($sp) -/* BDA9E8 80240238 8FB00018 */ lw $s0, 0x18($sp) -/* BDA9EC 8024023C 24020002 */ addiu $v0, $zero, 2 -/* BDA9F0 80240240 03E00008 */ jr $ra -/* BDA9F4 80240244 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240248_BDA9F8.s b/ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240248_BDA9F8.s deleted file mode 100644 index 8d356020ce..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_09/BDA940/func_80240248_BDA9F8.s +++ /dev/null @@ -1,70 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240248_BDA9F8 -/* BDA9F8 80240248 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* BDA9FC 8024024C 0080102D */ daddu $v0, $a0, $zero -/* BDAA00 80240250 AFBF001C */ sw $ra, 0x1c($sp) -/* BDAA04 80240254 AFB20018 */ sw $s2, 0x18($sp) -/* BDAA08 80240258 AFB10014 */ sw $s1, 0x14($sp) -/* BDAA0C 8024025C AFB00010 */ sw $s0, 0x10($sp) -/* BDAA10 80240260 8C44014C */ lw $a0, 0x14c($v0) -/* BDAA14 80240264 0C00EAD2 */ jal get_npc_safe -/* BDAA18 80240268 8C500060 */ lw $s0, 0x60($v0) -/* BDAA1C 8024026C 8E040018 */ lw $a0, 0x18($s0) -/* BDAA20 80240270 0C044181 */ jal get_shadow_by_index -/* BDAA24 80240274 0040882D */ daddu $s1, $v0, $zero -/* BDAA28 80240278 C6200038 */ lwc1 $f0, 0x38($s1) -/* BDAA2C 8024027C 3C014000 */ lui $at, 0x4000 -/* BDAA30 80240280 44811000 */ mtc1 $at, $f2 -/* BDAA34 80240284 00000000 */ nop -/* BDAA38 80240288 46020001 */ sub.s $f0, $f0, $f2 -/* BDAA3C 8024028C 3C014140 */ lui $at, 0x4140 -/* BDAA40 80240290 44811000 */ mtc1 $at, $f2 -/* BDAA44 80240294 E6000000 */ swc1 $f0, ($s0) -/* BDAA48 80240298 C620003C */ lwc1 $f0, 0x3c($s1) -/* BDAA4C 8024029C 46020000 */ add.s $f0, $f0, $f2 -/* BDAA50 802402A0 3C0141F0 */ lui $at, 0x41f0 -/* BDAA54 802402A4 44811000 */ mtc1 $at, $f2 -/* BDAA58 802402A8 E6000004 */ swc1 $f0, 4($s0) -/* BDAA5C 802402AC C6200040 */ lwc1 $f0, 0x40($s1) -/* BDAA60 802402B0 8E12001C */ lw $s2, 0x1c($s0) -/* BDAA64 802402B4 46020001 */ sub.s $f0, $f0, $f2 -/* BDAA68 802402B8 3C0140D3 */ lui $at, 0x40d3 -/* BDAA6C 802402BC 34213333 */ ori $at, $at, 0x3333 -/* BDAA70 802402C0 44816000 */ mtc1 $at, $f12 -/* BDAA74 802402C4 E6000008 */ swc1 $f0, 8($s0) -/* BDAA78 802402C8 8E43000C */ lw $v1, 0xc($s2) -/* BDAA7C 802402CC C6000000 */ lwc1 $f0, ($s0) -/* BDAA80 802402D0 E4600004 */ swc1 $f0, 4($v1) -/* BDAA84 802402D4 8E43000C */ lw $v1, 0xc($s2) -/* BDAA88 802402D8 C6000004 */ lwc1 $f0, 4($s0) -/* BDAA8C 802402DC E4600008 */ swc1 $f0, 8($v1) -/* BDAA90 802402E0 8E43000C */ lw $v1, 0xc($s2) -/* BDAA94 802402E4 C6000008 */ lwc1 $f0, 8($s0) -/* BDAA98 802402E8 E460000C */ swc1 $f0, 0xc($v1) -/* BDAA9C 802402EC C6000010 */ lwc1 $f0, 0x10($s0) -/* BDAAA0 802402F0 460C0300 */ add.s $f12, $f0, $f12 -/* BDAAA4 802402F4 0C00A6C9 */ jal clamp_angle -/* BDAAA8 802402F8 0040882D */ daddu $s1, $v0, $zero -/* BDAAAC 802402FC E6000010 */ swc1 $f0, 0x10($s0) -/* BDAAB0 80240300 8E42000C */ lw $v0, 0xc($s2) -/* BDAAB4 80240304 3C014220 */ lui $at, 0x4220 -/* BDAAB8 80240308 44811000 */ mtc1 $at, $f2 -/* BDAABC 8024030C E4400024 */ swc1 $f0, 0x24($v0) -/* BDAAC0 80240310 C6000000 */ lwc1 $f0, ($s0) -/* BDAAC4 80240314 E6200010 */ swc1 $f0, 0x10($s1) -/* BDAAC8 80240318 C6000004 */ lwc1 $f0, 4($s0) -/* BDAACC 8024031C 46020001 */ sub.s $f0, $f0, $f2 -/* BDAAD0 80240320 E6200014 */ swc1 $f0, 0x14($s1) -/* BDAAD4 80240324 C6000008 */ lwc1 $f0, 8($s0) -/* BDAAD8 80240328 E6200018 */ swc1 $f0, 0x18($s1) -/* BDAADC 8024032C 8FBF001C */ lw $ra, 0x1c($sp) -/* BDAAE0 80240330 8FB20018 */ lw $s2, 0x18($sp) -/* BDAAE4 80240334 8FB10014 */ lw $s1, 0x14($sp) -/* BDAAE8 80240338 8FB00010 */ lw $s0, 0x10($sp) -/* BDAAEC 8024033C 0000102D */ daddu $v0, $zero, $zero -/* BDAAF0 80240340 03E00008 */ jr $ra -/* BDAAF4 80240344 27BD0020 */ addiu $sp, $sp, 0x20 -/* BDAAF8 80240348 00000000 */ nop -/* BDAAFC 8024034C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_omo/omo_13/DE2710/func_80241028_DE34B8.s b/ver/us/asm/nonmatchings/world/area_omo/omo_13/DE2710/func_80241028_DE34B8.s deleted file mode 100644 index a82c9f2b7a..0000000000 --- a/ver/us/asm/nonmatchings/world/area_omo/omo_13/DE2710/func_80241028_DE34B8.s +++ /dev/null @@ -1,142 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80241028_DE34B8 -/* DE34B8 80241028 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* DE34BC 8024102C AFB20018 */ sw $s2, 0x18($sp) -/* DE34C0 80241030 0080902D */ daddu $s2, $a0, $zero -/* DE34C4 80241034 AFBF001C */ sw $ra, 0x1c($sp) -/* DE34C8 80241038 AFB10014 */ sw $s1, 0x14($sp) -/* DE34CC 8024103C AFB00010 */ sw $s0, 0x10($sp) -/* DE34D0 80241040 F7B80030 */ sdc1 $f24, 0x30($sp) -/* DE34D4 80241044 F7B60028 */ sdc1 $f22, 0x28($sp) -/* DE34D8 80241048 F7B40020 */ sdc1 $f20, 0x20($sp) -/* DE34DC 8024104C 0C00EAD2 */ jal get_npc_safe -/* DE34E0 80241050 0000202D */ daddu $a0, $zero, $zero -/* DE34E4 80241054 3C118011 */ lui $s1, %hi(gPlayerStatus) -/* DE34E8 80241058 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) -/* DE34EC 8024105C 0040802D */ daddu $s0, $v0, $zero -/* DE34F0 80241060 8E260028 */ lw $a2, 0x28($s1) -/* DE34F4 80241064 8E270030 */ lw $a3, 0x30($s1) -/* DE34F8 80241068 3C0142DC */ lui $at, 0x42dc -/* DE34FC 8024106C 4481A000 */ mtc1 $at, $f20 -/* DE3500 80241070 3C01C234 */ lui $at, 0xc234 -/* DE3504 80241074 4481B000 */ mtc1 $at, $f22 -/* DE3508 80241078 4600A306 */ mov.s $f12, $f20 -/* DE350C 8024107C 0C00A7B5 */ jal dist2D -/* DE3510 80241080 4600B386 */ mov.s $f14, $f22 -/* DE3514 80241084 4600A306 */ mov.s $f12, $f20 -/* DE3518 80241088 8E260028 */ lw $a2, 0x28($s1) -/* DE351C 8024108C 8E270030 */ lw $a3, 0x30($s1) -/* DE3520 80241090 0C00A720 */ jal atan2 -/* DE3524 80241094 4600B386 */ mov.s $f14, $f22 -/* DE3528 80241098 0C00A6C9 */ jal clamp_angle -/* DE352C 8024109C 46000306 */ mov.s $f12, $f0 -/* DE3530 802410A0 46000586 */ mov.s $f22, $f0 -/* DE3534 802410A4 0C00A8BB */ jal sin_deg -/* DE3538 802410A8 4600B306 */ mov.s $f12, $f22 -/* DE353C 802410AC 3C0141F0 */ lui $at, 0x41f0 -/* DE3540 802410B0 44811000 */ mtc1 $at, $f2 -/* DE3544 802410B4 00000000 */ nop -/* DE3548 802410B8 46020002 */ mul.s $f0, $f0, $f2 -/* DE354C 802410BC 00000000 */ nop -/* DE3550 802410C0 8E4200B0 */ lw $v0, 0xb0($s2) -/* DE3554 802410C4 10400009 */ beqz $v0, .L802410EC -/* DE3558 802410C8 46140600 */ add.s $f24, $f0, $f20 -/* DE355C 802410CC C622002C */ lwc1 $f2, 0x2c($s1) -/* DE3560 802410D0 3C013F33 */ lui $at, 0x3f33 -/* DE3564 802410D4 34213333 */ ori $at, $at, 0x3333 -/* DE3568 802410D8 44810000 */ mtc1 $at, $f0 -/* DE356C 802410DC 00000000 */ nop -/* DE3570 802410E0 46001502 */ mul.s $f20, $f2, $f0 -/* DE3574 802410E4 0809043C */ j .L802410F0 -/* DE3578 802410E8 00000000 */ nop -.L802410EC: -/* DE357C 802410EC C614003C */ lwc1 $f20, 0x3c($s0) -.L802410F0: -/* DE3580 802410F0 0C00A8D4 */ jal cos_deg -/* DE3584 802410F4 4600B306 */ mov.s $f12, $f22 -/* DE3588 802410F8 3C0141F0 */ lui $at, 0x41f0 -/* DE358C 802410FC 44811000 */ mtc1 $at, $f2 -/* DE3590 80241100 00000000 */ nop -/* DE3594 80241104 46020002 */ mul.s $f0, $f0, $f2 -/* DE3598 80241108 00000000 */ nop -/* DE359C 8024110C 3C01C234 */ lui $at, 0xc234 -/* DE35A0 80241110 44811000 */ mtc1 $at, $f2 -/* DE35A4 80241114 8E4200B0 */ lw $v0, 0xb0($s2) -/* DE35A8 80241118 10400008 */ beqz $v0, .L8024113C -/* DE35AC 8024111C 46001101 */ sub.s $f4, $f2, $f0 -/* DE35B0 80241120 C602003C */ lwc1 $f2, 0x3c($s0) -/* DE35B4 80241124 44800000 */ mtc1 $zero, $f0 -/* DE35B8 80241128 00000000 */ nop -/* DE35BC 8024112C 46001032 */ c.eq.s $f2, $f0 -/* DE35C0 80241130 00000000 */ nop -/* DE35C4 80241134 45030001 */ bc1tl .L8024113C -/* DE35C8 80241138 AE4000B0 */ sw $zero, 0xb0($s2) -.L8024113C: -/* DE35CC 8024113C C6000038 */ lwc1 $f0, 0x38($s0) -/* DE35D0 80241140 46180032 */ c.eq.s $f0, $f24 -/* DE35D4 80241144 00000000 */ nop -/* DE35D8 80241148 4500000C */ bc1f .L8024117C -/* DE35DC 8024114C 3C04003B */ lui $a0, 0x3b -/* DE35E0 80241150 C600003C */ lwc1 $f0, 0x3c($s0) -/* DE35E4 80241154 46140032 */ c.eq.s $f0, $f20 -/* DE35E8 80241158 00000000 */ nop -/* DE35EC 8024115C 45000007 */ bc1f .L8024117C -/* DE35F0 80241160 00000000 */ nop -/* DE35F4 80241164 C6000040 */ lwc1 $f0, 0x40($s0) -/* DE35F8 80241168 46040032 */ c.eq.s $f0, $f4 -/* DE35FC 8024116C 00000000 */ nop -/* DE3600 80241170 4501001A */ bc1t .L802411DC -/* DE3604 80241174 3C03003B */ lui $v1, 0x3b -/* DE3608 80241178 3C04003B */ lui $a0, 0x3b -.L8024117C: -/* DE360C 8024117C 8E020028 */ lw $v0, 0x28($s0) -/* DE3610 80241180 34840502 */ ori $a0, $a0, 0x502 -/* DE3614 80241184 5044000A */ beql $v0, $a0, .L802411B0 -/* DE3618 80241188 E6180038 */ swc1 $f24, 0x38($s0) -/* DE361C 8024118C 8E4200AC */ lw $v0, 0xac($s2) -/* DE3620 80241190 0040182D */ daddu $v1, $v0, $zero -/* DE3624 80241194 24420001 */ addiu $v0, $v0, 1 -/* DE3628 80241198 28630006 */ slti $v1, $v1, 6 -/* DE362C 8024119C 14600003 */ bnez $v1, .L802411AC -/* DE3630 802411A0 AE4200AC */ sw $v0, 0xac($s2) -/* DE3634 802411A4 AE040028 */ sw $a0, 0x28($s0) -/* DE3638 802411A8 AE4000AC */ sw $zero, 0xac($s2) -.L802411AC: -/* DE363C 802411AC E6180038 */ swc1 $f24, 0x38($s0) -.L802411B0: -/* DE3640 802411B0 4600C006 */ mov.s $f0, $f24 -/* DE3644 802411B4 C602003C */ lwc1 $f2, 0x3c($s0) -/* DE3648 802411B8 8E020000 */ lw $v0, ($s0) -/* DE364C 802411BC 3C030001 */ lui $v1, 1 -/* DE3650 802411C0 E6040040 */ swc1 $f4, 0x40($s0) -/* DE3654 802411C4 E600006C */ swc1 $f0, 0x6c($s0) -/* DE3658 802411C8 E6040074 */ swc1 $f4, 0x74($s0) -/* DE365C 802411CC 00431025 */ or $v0, $v0, $v1 -/* DE3660 802411D0 E6020070 */ swc1 $f2, 0x70($s0) -/* DE3664 802411D4 0809047B */ j .L802411EC -/* DE3668 802411D8 AE020000 */ sw $v0, ($s0) -.L802411DC: -/* DE366C 802411DC 8E020028 */ lw $v0, 0x28($s0) -/* DE3670 802411E0 34630501 */ ori $v1, $v1, 0x501 -/* DE3674 802411E4 54430001 */ bnel $v0, $v1, .L802411EC -/* DE3678 802411E8 AE030028 */ sw $v1, 0x28($s0) -.L802411EC: -/* DE367C 802411EC C60C0038 */ lwc1 $f12, 0x38($s0) -/* DE3680 802411F0 C60E0040 */ lwc1 $f14, 0x40($s0) -/* DE3684 802411F4 8E260028 */ lw $a2, 0x28($s1) -/* DE3688 802411F8 0C00A720 */ jal atan2 -/* DE368C 802411FC 8E270030 */ lw $a3, 0x30($s1) -/* DE3690 80241200 E600000C */ swc1 $f0, 0xc($s0) -/* DE3694 80241204 8FBF001C */ lw $ra, 0x1c($sp) -/* DE3698 80241208 8FB20018 */ lw $s2, 0x18($sp) -/* DE369C 8024120C 8FB10014 */ lw $s1, 0x14($sp) -/* DE36A0 80241210 8FB00010 */ lw $s0, 0x10($sp) -/* DE36A4 80241214 D7B80030 */ ldc1 $f24, 0x30($sp) -/* DE36A8 80241218 D7B60028 */ ldc1 $f22, 0x28($sp) -/* DE36AC 8024121C D7B40020 */ ldc1 $f20, 0x20($sp) -/* DE36B0 80241220 24020002 */ addiu $v0, $zero, 2 -/* DE36B4 80241224 03E00008 */ jr $ra -/* DE36B8 80241228 27BD0038 */ addiu $sp, $sp, 0x38 -/* DE36BC 8024122C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3ADA0/func_80241DAC_D3C37C.s b/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3ADA0/func_80241DAC_D3C37C.s index 7ee060b8ef..243df11501 100644 --- a/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3ADA0/func_80241DAC_D3C37C.s +++ b/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3ADA0/func_80241DAC_D3C37C.s @@ -7,7 +7,7 @@ dlabel D_80251430_D4BA00 .double 0.1 dlabel D_80251438_D4BA08 -.double 0.2, 6.092491109832673e+247, 0.0 +.double 0.2 .section .text diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 8b70a3c76a..4365485c81 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -5082,7 +5082,23 @@ segments: vram: 0xE00AE000 subsegments: - [0x3B2350, c, snaking_static] - - [0x3B2D90, bin] # snaking_static gfx + - name: effect_gfx_snaking_static + dir: effects/gfx + type: code + start: 0x3B2D90 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3B2D90, c, snaking_static] + - start: 0x3B2D90 + type: .data + name: snaking_static + subsegments: + - [0x3B2D90, i4, D_09000000_3B2D90, 256, 32] + - [0x3B3D90, gfx, D_09001000_3B3D90] + - [0x3B3E48, vtx, D_090010B8_3B3E48] + - [0x3B3E88, gfx, D_090010F8_3B3E88] + - [0x3B3EA8] - name: effect_thunderbolt_ring dir: effects type: code @@ -6124,90 +6140,70 @@ segments: vram: 0xE0112000 subsegments: - [0x3F9E50, c, spirit_card] - - [0x3FA480, data] - - type: group # effect spirit_card, something_rotating gfx + - [0x3FA480] + - name: effect_gfx_spirit_card # effect spirit_card, something_rotating gfx + dir: effects/gfx + type: code start: 0x3FA4B0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM subsegments: + - [0x3FA4B0, c, spirit_card] - start: 0x3FA4B0 - type: ci4 - name: star_cards/card_front - flip_y: true - width: 32 - height: 32 - - [0x3FA6B0, palette, star_cards/card_front] - - [0x3FA6D0, bin] # PAD - - start: 0x3FA8B0 - type: ci4 - name: star_cards/card_back - flip_y: true - width: 32 - height: 64 - - [0x3FACB0, palette, star_cards/card_back] - - [0x3FACD0, bin] # PAD - - start: 0x3FAEB0 - type: ci4 - name: star_cards/wave - flip_y: true - width: 32 - height: 32 - - [0x3FB0B0, palette, star_cards/wave] - - [0x3FB0D0, bin] # PAD - - start: 0x3FB2B0 - type: ci4 - name: star_cards/squares - flip_y: true - width: 16 - height: 16 - - [0x3FB330, palette, star_cards/squares] - - [0x3FB350, bin] # PAD - - start: 0x3FB530 - type: ci4 - name: star_cards/eldstar - flip_y: true - width: 48 - height: 48 - - [0x3FB9B0, palette, star_cards/eldstar] - - [0x3FB9D0, bin] # PAD - - start: 0x3FBBB0 - type: ci4 - name: star_cards/mamar - flip_y: true - width: 48 - height: 48 - - [0x3FC030, palette, star_cards/mamar] - - [0x3FC050, bin] # PAD - - start: 0x3FC230 - type: ci4 - name: star_cards/skolar - flip_y: true - width: 48 - height: 48 - - [0x3FC6B0, palette, star_cards/skolar] - - [0x3FC6D0, bin] # PAD - - start: 0x3FC8B0 - type: ci4 - name: star_cards/muskular - flip_y: true - width: 48 - height: 48 - - [0x3FCD30, palette, star_cards/muskular] - - [0x3FCD50, bin] # PAD - - start: 0x3FCF30 - type: ci4 - name: star_cards/misstar - flip_y: true - width: 48 - height: 48 - - [0x3FD3B0, palette, star_cards/misstar] - - [0x3FD3D0, bin] # PAD - - start: 0x3FDC30 - type: ci4 - name: star_cards/klevar - flip_y: true - width: 48 - height: 48 - - [0x3FE0B0, palette, star_cards/klevar] - - [0x3FE0D0, bin] + type: .data + name: spirit_card + subsegments: + - { start: 0x3FA4B0, type: ci4, name: star_cards/card_front, flip_y: true, width: 32, height: 32 } + - [0x3FA6B0, palette, star_cards/card_front] + - [0x3FA6D0] # padding + - { start: 0x3FA8B0, type: ci4, name: star_cards/card_back, flip_y: true, width: 32, height: 64 } + - [0x3FACB0, palette, star_cards/card_back] + - [0x3FACD0] # padding + - { start: 0x3FAEB0, type: ci4, name: star_cards/wave, flip_y: true, width: 32, height: 32 } + - [0x3FB0B0, palette, star_cards/wave] + - [0x3FB0D0] # padding + - { start: 0x3FB2B0, type: ci4, name: star_cards/squares, flip_y: true, width: 16, height: 16 } + - [0x3FB330, palette, star_cards/squares] + - [0x3FB350] # padding + - { start: 0x3FB530, type: ci4, name: star_cards/eldstar, flip_y: true, width: 48, height: 48 } + - [0x3FB9B0, palette, star_cards/eldstar] + - [0x3FB9D0] # padding + - { start: 0x3FBBB0, type: ci4, name: star_cards/mamar, flip_y: true, width: 48, height: 48 } + - [0x3FC030, palette, star_cards/mamar] + - [0x3FC050] # padding + - { start: 0x3FC230, type: ci4, name: star_cards/skolar, flip_y: true, width: 48, height: 48 } + - [0x3FC6B0, palette, star_cards/skolar] + - [0x3FC6D0] # padding + - { start: 0x3FC8B0, type: ci4, name: star_cards/muskular, flip_y: true, width: 48, height: 48 } + - [0x3FCD30, palette, star_cards/muskular] + - [0x3FCD50] # padding + - { start: 0x3FCF30, type: ci4, name: star_cards/misstar, flip_y: true, width: 48, height: 48 } + - [0x3FD3B0, palette, star_cards/misstar] + - [0x3FD3D0] # padding + - { start: 0x3FD5B0, type: ci4, name: star_cards/klevar, flip_y: true, width: 48, height: 48 } + - [0x3FDA30, palette, star_cards/klevar] + - [0x3FDA50] # padding + - { start: 0x3FDC30, type: ci4, name: star_cards/kalmar, flip_y: true, width: 48, height: 48 } + - [0x3FE0B0, palette, star_cards/kalmar] + - [0x3FE0D0] # padding + - [0x3FE2B0, vtx, D_09003E00_3FE2B0] + - [0x3FE430] # light + - [0x3FE448, gfx, D_09003F98_3FE448] + - [0x3FE4C0, gfx, D_09004010_3FE4C0] + - [0x3FE538, gfx, D_09004088_3FE538] + - [0x3FE5B0, gfx, D_09004100_3FE5B0] + - [0x3FE628, gfx, D_09004178_3FE628] + - [0x3FE6A0, gfx, D_090041F0_3FE6A0] + - [0x3FE718, gfx, D_09004268_3FE718] + - [0x3FE790, gfx, D_090042E0_3FE790] # has bug (see gfx/spirit_card.c) + - [0x3FE810, gfx, D_09004360_3FE810] + - [0x3FE888, vtx, D_090043D8_3FE888] + - [0x3FE8C8, gfx, D_09004418_3FE8C8] + - [0x3FE8E8, gfx, D_09004438_3FE8E8] + - [0x3FE908, gfx, D_09004458_3FE908] + - [0x3FE9B8, gfx, D_09004508_3FE9B8] + - [0x3FEAB0, gfx, D_09004600_3FEAB0] + - [0x3FEAD8] - name: effect_lil_oink dir: effects type: code diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index c6c7762036..a6ecb3892d 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -9019,6 +9019,7 @@ spirit_card_update = 0xE01121C0; // type:func rom:0x3FA010 spirit_card_render = 0xE01122E8; // type:func rom:0x3FA138 func_E0112330 = 0xE0112330; // type:func rom:0x3FA180 spirit_card_appendGfx = 0xE01124CC; // type:func rom:0x3FA31C +D_09003F80_3FE430 = 0x09003F80; // type:data rom:0x3FE430 segment:effect_gfx_spirit_card lil_oink_main = 0xE0114000; // type:func rom:0x3FEAE0 lil_oink_init = 0xE01140D4; // type:func rom:0x3FEBB4 lil_oink_update = 0xE01140DC; // type:func rom:0x3FEBBC diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 8a2c4acd84..1ba8781cfc 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -35,19 +35,6 @@ D_09007090 = 0x09007090; D_090070E8 = 0x090070E8; D_09007230 = 0x09007230; -// effect_something_rotating -D_09003F98 = 0x09003F98; -D_09004010 = 0x09004010; -D_09004088 = 0x09004088; -D_09004100 = 0x09004100; -D_09004178 = 0x09004178; -D_090041F0 = 0x090041F0; -D_09004268 = 0x09004268; -D_09004360 = 0x09004360; -D_09004458 = 0x09004458; -D_09004508 = 0x09004508; -D_09004600 = 0x09004600; - // effect_stars_shimmer D_09000F20 = 0x09000F20; D_090011C8 = 0x090011C8; @@ -67,9 +54,6 @@ D_09001A90 = 0x09001A90; D_09001B08 = 0x09001B08; D_09001B80 = 0x09001B80; -// effect_spirit_card -D_090042E0 = 0x090042E0; - // hacks for various things fx_sun_undeclared = fx_sun; EntityModel_Spring_ReboundAnim = 0x1E4;