mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
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
This commit is contained in:
parent
703896a7f1
commit
5b63159eaf
@ -333,7 +333,7 @@ typedef struct PlayerData {
|
|||||||
/* 0x298 */ u16 hitsTaken;
|
/* 0x298 */ u16 hitsTaken;
|
||||||
/* 0x29A */ u16 hitsBlocked;
|
/* 0x29A */ u16 hitsBlocked;
|
||||||
/* 0x29C */ u16 playerFirstStrikes;
|
/* 0x29C */ u16 playerFirstStrikes;
|
||||||
/* 0x29E */ s16 enemyFirstStrikes;
|
/* 0x29E */ u16 enemyFirstStrikes;
|
||||||
/* 0x2A0 */ u16 powerBounces;
|
/* 0x2A0 */ u16 powerBounces;
|
||||||
/* 0x2A2 */ u16 battlesCount;
|
/* 0x2A2 */ u16 battlesCount;
|
||||||
/* 0x2A4 */ u16 battlesWon;
|
/* 0x2A4 */ u16 battlesWon;
|
||||||
@ -346,13 +346,13 @@ typedef struct PlayerData {
|
|||||||
/* 0x2B8 */ s16 idleFrameCounter; /* frames with no inputs, overflows ever ~36 minutes of idling */
|
/* 0x2B8 */ s16 idleFrameCounter; /* frames with no inputs, overflows ever ~36 minutes of idling */
|
||||||
/* 0x2BA */ char unk_2BA[2];
|
/* 0x2BA */ char unk_2BA[2];
|
||||||
/* 0x2BC */ u32 frameCounter; /* increases by 2 per frame */
|
/* 0x2BC */ u32 frameCounter; /* increases by 2 per frame */
|
||||||
/* 0x2C0 */ s16 quizzesAnswered;
|
/* 0x2C0 */ u16 quizzesAnswered;
|
||||||
/* 0x2C2 */ s16 quizzesCorrect;
|
/* 0x2C2 */ u16 quizzesCorrect;
|
||||||
/* 0x2C4 */ s32 partnerUnlockedTime[12];
|
/* 0x2C4 */ s32 partnerUnlockedTime[12];
|
||||||
/* 0x2F4 */ s32 partnerUsedTime[12];
|
/* 0x2F4 */ s32 partnerUsedTime[12];
|
||||||
/* 0x324 */ s32 tradeEventStartTime;
|
/* 0x324 */ s32 tradeEventStartTime;
|
||||||
/* 0x328 */ s32 droTreeHintTime;
|
/* 0x328 */ s32 droTreeHintTime;
|
||||||
/* 0x32C */ s16 starPiecesCollected;
|
/* 0x32C */ u16 starPiecesCollected;
|
||||||
/* 0x32E */ u16 jumpGamePlays;
|
/* 0x32E */ u16 jumpGamePlays;
|
||||||
/* 0x330 */ u32 jumpGameTotal; /* all-time winnings, max = 99999 */
|
/* 0x330 */ u32 jumpGameTotal; /* all-time winnings, max = 99999 */
|
||||||
/* 0x334 */ u16 jumpGameRecord;
|
/* 0x334 */ u16 jumpGameRecord;
|
||||||
|
@ -2507,12 +2507,10 @@ typedef struct SomethingRotatingFXData {
|
|||||||
/* 0x18 */ f32 unk_18;
|
/* 0x18 */ f32 unk_18;
|
||||||
/* 0x1C */ f32 unk_1C;
|
/* 0x1C */ f32 unk_1C;
|
||||||
/* 0x20 */ f32 unk_20;
|
/* 0x20 */ f32 unk_20;
|
||||||
/* 0x24 */ u8 unk_24;
|
/* 0x24 */ u8 primAlpha;
|
||||||
/* 0x25 */ s8 unk_25;
|
/* 0x25 */ s8 unk_25;
|
||||||
/* 0x26 */ u8 unk_26;
|
/* 0x26 */ Color_RGB8 env;
|
||||||
/* 0x27 */ u8 unk_27;
|
/* 0x29 */ u8 state;
|
||||||
/* 0x28 */ u8 unk_28;
|
|
||||||
/* 0x29 */ u8 unk_29;
|
|
||||||
/* 0x2A */ char unk_2A[2];
|
/* 0x2A */ char unk_2A[2];
|
||||||
/* 0x2C */ f32 unk_2C;
|
/* 0x2C */ f32 unk_2C;
|
||||||
} SomethingRotatingFXData; // size = 0x30
|
} SomethingRotatingFXData; // size = 0x30
|
||||||
|
@ -156,14 +156,14 @@ AuResult au_bgm_dispatch_player_event(SongUpdateEvent* event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
volume0 = event->startVolume;
|
volume0 = event->startVolume;
|
||||||
if (volume0 >= 0x80) {
|
if (volume0 > 0x7F) {
|
||||||
volume0 = 0x7F;
|
volume0 = 0x7F;
|
||||||
}
|
}
|
||||||
if (volume0 != 0) {
|
if (volume0 != 0) {
|
||||||
volume0 = (volume0 << 8) | 0xFF;
|
volume0 = (volume0 << 8) | 0xFF;
|
||||||
}
|
}
|
||||||
volume1 = event->finalVolume;
|
volume1 = event->finalVolume;
|
||||||
if (volume1 >= 0x80) {
|
if (volume1 > 0x7F) {
|
||||||
volume1 = 0x7F;
|
volume1 = 0x7F;
|
||||||
}
|
}
|
||||||
if (volume1 != 0) {
|
if (volume1 != 0) {
|
||||||
@ -1001,10 +1001,10 @@ if (track->detourLength != 0) {\
|
|||||||
}
|
}
|
||||||
|
|
||||||
void au_bgm_player_update_playing(BGMPlayer *player) {
|
void au_bgm_player_update_playing(BGMPlayer *player) {
|
||||||
s32 bVolumeFading; // SP + 10
|
s32 bVolumeFading;
|
||||||
u8 sp1F; // SP + 1F
|
u8 sp1F;
|
||||||
s16 notePitch; // SP + 26
|
s16 notePitch;
|
||||||
u8 bFinished; // SP + 28
|
u8 bFinished;
|
||||||
|
|
||||||
AlUnkVoice* voice;
|
AlUnkVoice* voice;
|
||||||
BGMDrumInfo* drumInfo;
|
BGMDrumInfo* drumInfo;
|
||||||
|
@ -114,7 +114,7 @@ EffectTableEntry gEffectTable[] = {
|
|||||||
/* 0x54 */ FX_ENTRY(quizmo_audience, effect_gfx_quizmo_audience),
|
/* 0x54 */ FX_ENTRY(quizmo_audience, effect_gfx_quizmo_audience),
|
||||||
/* 0x55 */ FX_ENTRY(butterflies, effect_gfx_butterflies),
|
/* 0x55 */ FX_ENTRY(butterflies, effect_gfx_butterflies),
|
||||||
/* 0x56 */ FX_ENTRY(stat_change, effect_gfx_stat_change),
|
/* 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),
|
/* 0x58 */ FX_ENTRY(thunderbolt_ring, effect_gfx_thunderbolt_ring),
|
||||||
/* 0x59 */ FX_ENTRY(squirt, _3B5340),
|
/* 0x59 */ FX_ENTRY(squirt, _3B5340),
|
||||||
/* 0x5A */ FX_ENTRY(water_block, _3B6BF0),
|
/* 0x5A */ FX_ENTRY(water_block, _3B6BF0),
|
||||||
@ -150,9 +150,9 @@ EffectTableEntry gEffectTable[] = {
|
|||||||
/* 0x78 */ FX_ENTRY(peach_star_beam, effect_gfx_peach_star_beam),
|
/* 0x78 */ FX_ENTRY(peach_star_beam, effect_gfx_peach_star_beam),
|
||||||
/* 0x79 */ FX_ENTRY(chapter_change, effect_gfx_chapter_change),
|
/* 0x79 */ FX_ENTRY(chapter_change, effect_gfx_chapter_change),
|
||||||
/* 0x7A */ FX_ENTRY(ice_shard, effect_gfx_ice_shard),
|
/* 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),
|
/* 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),
|
/* 0x7E */ FX_ENTRY(breaking_junk, effect_gfx_breaking_junk),
|
||||||
/* 0x7F */ FX_ENTRY(partner_buff, _404F40),
|
/* 0x7F */ FX_ENTRY(partner_buff, _404F40),
|
||||||
/* 0x80 */ FX_ENTRY(quizmo_assistant, effect_gfx_quizmo_assistant),
|
/* 0x80 */ FX_ENTRY(quizmo_assistant, effect_gfx_quizmo_assistant),
|
||||||
|
4
src/effects/gfx/snaking_static.c
Normal file
4
src/effects/gfx/snaking_static.c
Normal file
@ -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"
|
94
src/effects/gfx/spirit_card.c
Normal file
94
src/effects/gfx/spirit_card.c
Normal file
@ -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"
|
@ -1,11 +1,13 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "effects_internal.h"
|
#include "effects_internal.h"
|
||||||
|
|
||||||
void snaking_static_appendGfx(void* effect);
|
|
||||||
|
|
||||||
void snaking_static_update(EffectInstance*);
|
void snaking_static_update(EffectInstance*);
|
||||||
void snaking_static_init(EffectInstance* effect);
|
void snaking_static_init(EffectInstance* effect);
|
||||||
void snaking_static_render(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) {
|
EffectInstance* snaking_static_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 timeLeft) {
|
||||||
EffectBlueprint effectBp;
|
EffectBlueprint effectBp;
|
||||||
@ -156,4 +158,50 @@ void snaking_static_render(EffectInstance* effect) {
|
|||||||
void func_E00AE544(void) {
|
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);
|
||||||
|
}
|
||||||
|
@ -1,30 +1,31 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "effects_internal.h"
|
#include "effects_internal.h"
|
||||||
|
|
||||||
extern Gfx D_09003F98[];
|
extern Gfx D_09003F98_3FE448[];
|
||||||
extern Gfx D_09004010[];
|
extern Gfx D_09004010_3FE4C0[];
|
||||||
extern Gfx D_09004088[];
|
extern Gfx D_09004088_3FE538[];
|
||||||
extern Gfx D_09004100[];
|
extern Gfx D_09004100_3FE5B0[];
|
||||||
extern Gfx D_09004178[];
|
extern Gfx D_09004178_3FE628[];
|
||||||
extern Gfx D_090041F0[];
|
extern Gfx D_090041F0_3FE6A0[];
|
||||||
extern Gfx D_09004268[];
|
extern Gfx D_09004268_3FE718[];
|
||||||
extern Gfx D_09004360[];
|
extern Gfx D_090042E0_3FE790[];
|
||||||
extern Gfx D_09004458[];
|
extern Gfx D_09004360_3FE810[];
|
||||||
extern Gfx D_09004508[];
|
extern Gfx D_09004458_3FE908[];
|
||||||
extern Gfx D_09004600[];
|
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[] = {
|
Gfx* D_E0116C70[] = {
|
||||||
D_09003F98, D_09004010, D_09004088,
|
D_09003F98_3FE448, D_09004010_3FE4C0, D_09004088_3FE538,
|
||||||
D_09004100, D_09004178, D_090041F0,
|
D_09004100_3FE5B0, D_09004178_3FE628, D_090041F0_3FE6A0,
|
||||||
D_09004268
|
D_09004268_3FE718
|
||||||
};
|
};
|
||||||
|
|
||||||
Color_RGB8 D_E0116C8C[] = {
|
Color_RGB8 D_E0116C8C[] = {
|
||||||
@ -39,38 +40,32 @@ Color_RGB8 D_E0116C8C[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
s16 D_E0116CA4[] = {
|
s16 D_E0116CA4[] = {
|
||||||
0x0000, 0x003C, 0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x003C, 0x0078, 0x00B4,
|
0, 60, 120, 180, 240, 300,
|
||||||
0x00F0, 0x012C, 0x0000, 0x003C, 0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x003C,
|
0, 60, 120, 180, 240, 300,
|
||||||
0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x001E, 0x003C, 0x005A, 0x0078, 0x0096,
|
0, 60, 120, 180, 240, 300,
|
||||||
0x00B4, 0x00D2, 0x00F0, 0x010E, 0x012C, 0x014A, 0x0159, 0x0161, 0x0165, 0x0167,
|
0, 60, 120, 180, 240, 300,
|
||||||
0x0000
|
0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 345, 353, 357, 359,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 D_E0116CF8[] = {
|
u8 D_E0116CF8[] = {
|
||||||
0x02, 0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0xA0, 0xB4, 0xC8, 0xDC, 0xF0, 0xFF
|
2, 20, 40, 60, 80, 100, 120, 160, 180, 200, 220, 240, 255
|
||||||
};
|
};
|
||||||
|
|
||||||
s8 D_E0116D08[] = {
|
u8 D_E0116D08[] = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
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,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 20, 40, 60, 80, 100, 120, 160, 180, 200, 220, 240, 255
|
||||||
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_E0116D3C[] = {
|
u8 D_E0116D3C[] = {
|
||||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5,
|
255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128,
|
||||||
0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1,
|
255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128,
|
||||||
0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128,
|
||||||
0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
|
255, 255, 255, 255, 255, 255, 255, 225, 185, 165, 148, 128
|
||||||
0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80
|
|
||||||
};
|
};
|
||||||
|
|
||||||
u8 D_E0116D6C[] = {
|
u8 D_E0116D6C[] = {
|
||||||
0x32, 0x50, 0x64, 0x69, 0x6B, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C,
|
50, 80, 100, 105, 107, 108, 108, 108, 108, 108, 108, 107, 105, 100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50
|
||||||
0x6C, 0x6B, 0x69, 0x64, 0x5F, 0x5A, 0x55, 0x50, 0x4B, 0x46,
|
|
||||||
0x41, 0x3C, 0x37, 0x32
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void something_rotating_init(EffectInstance* effect);
|
void something_rotating_init(EffectInstance* effect);
|
||||||
@ -120,15 +115,15 @@ EffectInstance* something_rotating_main(
|
|||||||
|
|
||||||
part++;
|
part++;
|
||||||
for (i = 1; i < numParts; i++, part++) {
|
for (i = 1; i < numParts; i++, part++) {
|
||||||
part->unk_24 = 0;
|
part->primAlpha = 0;
|
||||||
part->unk_18 = arg4 * 0.5;
|
part->unk_18 = arg4 * 0.5;
|
||||||
part->unk_26 = 255;
|
part->env.r = 255;
|
||||||
part->unk_27 = 255;
|
part->env.g = 255;
|
||||||
part->unk_28 = 0;
|
part->env.b = 0;
|
||||||
part->unk_25 = 0;
|
part->unk_25 = 0;
|
||||||
part->unk_1C = 30.0f;
|
part->unk_1C = 30.0f;
|
||||||
part->unk_20 = 0;
|
part->unk_20 = 0;
|
||||||
part->unk_29 = 0;
|
part->state = 0;
|
||||||
part->unk_2C = 50.0f;
|
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_08 = unk_08 + temp_f22 * shim_cos_deg(angle2);
|
||||||
part->unk_0C = unk_0C + temp_f22 * shim_cos_deg(angle1) * temp_f24;
|
part->unk_0C = unk_0C + temp_f22 * shim_cos_deg(angle1) * temp_f24;
|
||||||
|
|
||||||
switch (part->unk_29 - 1) {
|
switch (part->state) {
|
||||||
case 0:
|
|
||||||
part->unk_14 = 0;
|
|
||||||
part->unk_29++;
|
|
||||||
// fallthrough
|
|
||||||
case 1:
|
case 1:
|
||||||
|
part->unk_14 = 0;
|
||||||
|
part->state++;
|
||||||
|
// fallthrough
|
||||||
|
case 2:
|
||||||
unk_14_2 = part->unk_14;
|
unk_14_2 = part->unk_14;
|
||||||
|
|
||||||
if (unk_14_2 < ARRAY_COUNT(D_E0116CA4)) {
|
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];
|
part->unk_20 = D_E0116CA4[ARRAY_COUNT(D_E0116CA4) - 1];
|
||||||
}
|
}
|
||||||
if (unk_14_2 < ARRAY_COUNT(D_E0116CF8)) {
|
if (unk_14_2 < ARRAY_COUNT(D_E0116CF8)) {
|
||||||
part->unk_24 = D_E0116CF8[unk_14_2];
|
part->primAlpha = D_E0116CF8[unk_14_2];
|
||||||
} else {
|
} 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)) {
|
if (unk_14_2 < ARRAY_COUNT(D_E0116D08)) {
|
||||||
part->unk_25 = D_E0116D08[unk_14_2];
|
part->unk_25 = D_E0116D08[unk_14_2];
|
||||||
@ -210,9 +205,9 @@ void something_rotating_update(EffectInstance* effect) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
factor *= 0.0039215686; // 1 / 255
|
factor *= 0.0039215686; // 1 / 255
|
||||||
part->unk_26 = factor * D_E0116C8C[i - 1].r;
|
part->env.r = factor * D_E0116C8C[i - 1].r;
|
||||||
part->unk_27 = factor * D_E0116C8C[i - 1].g;
|
part->env.g = factor * D_E0116C8C[i - 1].g;
|
||||||
part->unk_28 = factor * D_E0116C8C[i - 1].b;
|
part->env.b = factor * D_E0116C8C[i - 1].b;
|
||||||
|
|
||||||
if (unk_14_2 < ARRAY_COUNT(D_E0116D6C)) {
|
if (unk_14_2 < ARRAY_COUNT(D_E0116D6C)) {
|
||||||
part->unk_18 = (f32) D_E0116D6C[unk_14_2] * 0.01;
|
part->unk_18 = (f32) D_E0116D6C[unk_14_2] * 0.01;
|
||||||
@ -221,22 +216,22 @@ void something_rotating_update(EffectInstance* effect) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
|
||||||
part->unk_14 = 0;
|
|
||||||
part->unk_29++;
|
|
||||||
// fallthrough
|
|
||||||
case 3:
|
case 3:
|
||||||
|
part->unk_14 = 0;
|
||||||
|
part->state++;
|
||||||
|
// fallthrough
|
||||||
|
case 4:
|
||||||
unk_14_2 = part->unk_14;
|
unk_14_2 = part->unk_14;
|
||||||
|
|
||||||
if (unk_14_2 < 18) {
|
if (unk_14_2 < 18) {
|
||||||
part->unk_2C = (shim_sin_deg(90 - unk_14_2 * 10) + 1.0f) * 50.0f * 0.5;
|
part->unk_2C = (shim_sin_deg(90 - unk_14_2 * 10) + 1.0f) * 50.0f * 0.5;
|
||||||
} else {
|
} else {
|
||||||
part->unk_2C = 0.0f;
|
part->unk_2C = 0.0f;
|
||||||
part->unk_29++;
|
part->state++;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 5:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -268,14 +263,57 @@ void func_E01166E8(s32 arg0, SomethingRotatingFXData* part) {
|
|||||||
temp = 0.0f;
|
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_guRotateF(sp60, part->unk_1C, 0.0f, 0.0f, 1.0f);
|
||||||
shim_guMtxCatF(sp60, sp20, sp20);
|
shim_guMtxCatF(sp60, sp20, sp20);
|
||||||
shim_guTranslateF(sp60, 0.0f, 0.0f, -2.0f);
|
shim_guTranslateF(sp60, 0.0f, 0.0f, -2.0f);
|
||||||
shim_guMtxCatF(sp60, sp20, sp20);
|
shim_guMtxCatF(sp60, sp20, sp20);
|
||||||
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,10 +1,25 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "effects_internal.h"
|
#include "effects_internal.h"
|
||||||
|
|
||||||
extern Gfx D_090042E0[];
|
extern Gfx D_09003F98_3FE448[];
|
||||||
extern Gfx* D_E0112630[];
|
extern Gfx D_09004010_3FE4C0[];
|
||||||
extern Gfx* D_E0112638[];
|
extern Gfx D_09004088_3FE538[];
|
||||||
extern Gfx* D_E0112640[];
|
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_init(EffectInstance* effect);
|
||||||
void spirit_card_update(EffectInstance* effect);
|
void spirit_card_update(EffectInstance* effect);
|
||||||
@ -137,7 +152,7 @@ void spirit_card_appendGfx(void* effect) {
|
|||||||
|
|
||||||
gDPPipeSync(gMasterGfxPos++);
|
gDPPipeSync(gMasterGfxPos++);
|
||||||
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
|
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);
|
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, 255);
|
||||||
|
|
||||||
if (unk_00 < 2) {
|
if (unk_00 < 2) {
|
||||||
|
@ -216,7 +216,7 @@ ApiStatus func_80240F30_A2B170(Evt* script, s32 isInitialCall) {
|
|||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0));
|
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++;
|
D_802495DC_A3381C++;
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
@ -225,7 +225,7 @@ ApiStatus func_80240F88_A2B1C8(Evt* script, s32 isInitialCall) {
|
|||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, ArrayVar(0));
|
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++;
|
D_802495E0_A33820++;
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,140 @@
|
|||||||
#include "kmr_20.h"
|
#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*);
|
extern Gfx D_80252D50_8FEB70[];
|
||||||
INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EDFC0", func_80242870_8EE690);
|
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) {
|
void func_80242A04_8EE824(void) {
|
||||||
RenderTask rt;
|
RenderTask rt;
|
||||||
@ -15,6 +146,26 @@ void func_80242A04_8EE824(void) {
|
|||||||
queue_render_task(&rt);
|
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_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;
|
||||||
|
}
|
||||||
|
@ -8,3 +8,5 @@
|
|||||||
#include "../kmr.h"
|
#include "../kmr.h"
|
||||||
|
|
||||||
#define NAMESPACE kmr_20
|
#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);
|
||||||
|
@ -67,7 +67,7 @@ ApiStatus func_80240730_BBD8D0(Evt* script, s32 isInitialCall) {
|
|||||||
ApiStatus func_80240790_BBD930(Evt* script, s32 isInitialCall) {
|
ApiStatus func_80240790_BBD930(Evt* script, s32 isInitialCall) {
|
||||||
ItemEntity* item = get_item_entity(script->varTable[0]);
|
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;
|
item->alpha = -1;
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,189 @@
|
|||||||
#include "obk_03.h"
|
#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;
|
||||||
|
}
|
||||||
|
@ -58,7 +58,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) {
|
|||||||
script->functionTemp[2] = 0;
|
script->functionTemp[2] = 0;
|
||||||
script->functionTemp[3] = 0;
|
script->functionTemp[3] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
physics = script->functionTempPtr[1];
|
physics = script->functionTempPtr[1];
|
||||||
switch (script->functionTemp[0]) {
|
switch (script->functionTemp[0]) {
|
||||||
case CHAIR_STATE_INITIAL:
|
case CHAIR_STATE_INITIAL:
|
||||||
@ -134,7 +134,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) {
|
|||||||
physics->angularAccel = 0.1f;
|
physics->angularAccel = 0.1f;
|
||||||
physics->equilibriumAngle = 0;
|
physics->equilibriumAngle = 0;
|
||||||
physics->angleB += physics->angularAccel;
|
physics->angleB += physics->angularAccel;
|
||||||
|
|
||||||
if (physics->rotationAngle > physics->equilibriumAngle) {
|
if (physics->rotationAngle > physics->equilibriumAngle) {
|
||||||
physics->angleA += physics->angularAccel * physics->mass;
|
physics->angleA += physics->angularAccel * physics->mass;
|
||||||
}
|
}
|
||||||
@ -142,7 +142,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) {
|
|||||||
physics->angleB -= 100.0;
|
physics->angleB -= 100.0;
|
||||||
physics->angleA -= 100.0;
|
physics->angleA -= 100.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fabsf(physics->angleB - physics->angleA) > 0.5) {
|
if (fabsf(physics->angleB - physics->angleA) > 0.5) {
|
||||||
if (physics->angleA > physics->angleB) {
|
if (physics->angleA > physics->angleB) {
|
||||||
physics->angleA = physics->angleB + 0.5;
|
physics->angleA = physics->angleB + 0.5;
|
||||||
@ -174,7 +174,7 @@ ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) {
|
|||||||
} else {
|
} else {
|
||||||
script->functionTemp[2] = 0;
|
script->functionTemp[2] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
physics->verticalOffset = SQ(physics->rotationAngle) / 90.0f;
|
physics->verticalOffset = SQ(physics->rotationAngle) / 90.0f;
|
||||||
|
|
||||||
model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i3));
|
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);
|
guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix);
|
||||||
update_collider_transform(COLLIDER_i3);
|
update_collider_transform(COLLIDER_i3);
|
||||||
update_collider_transform(COLLIDER_i2);
|
update_collider_transform(COLLIDER_i2);
|
||||||
|
|
||||||
model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_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);
|
model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED);
|
||||||
guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f);
|
guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f);
|
||||||
guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f);
|
guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f);
|
||||||
guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix);
|
guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix);
|
||||||
|
|
||||||
model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i1));
|
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);
|
model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED);
|
||||||
guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f);
|
guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f);
|
||||||
guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f);
|
guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f);
|
||||||
guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix);
|
guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix);
|
||||||
update_collider_transform(COLLIDER_i1);
|
update_collider_transform(COLLIDER_i1);
|
||||||
|
|
||||||
return ApiStatus_BLOCK;
|
return ApiStatus_BLOCK;
|
||||||
}
|
}
|
||||||
|
@ -2,17 +2,14 @@
|
|||||||
#include "hud_element.h"
|
#include "hud_element.h"
|
||||||
#include "battle/action_cmd.h"
|
#include "battle/action_cmd.h"
|
||||||
|
|
||||||
|
extern HudScript HES_SlowlyMashAButton;
|
||||||
|
|
||||||
typedef struct UnkObk07 {
|
typedef struct UnkObk07 {
|
||||||
/* 0x000 */ s32 unk_00;
|
/* 0x000 */ s32 unk_00;
|
||||||
/* 0x004 */ s32 unk_04;
|
/* 0x004 */ s32 unk_04;
|
||||||
/* 0x008 */ s32 unk_08;
|
/* 0x008 */ s32 unk_08;
|
||||||
/* 0x00C */ s32 unk_0C; // song name
|
/* 0x00C */ s32 unk_0C; // song name
|
||||||
/* 0x010 */ s32 unk_10;
|
/* 0x010 */ s32 unk_10[6]; // probably more
|
||||||
/* 0x014 */ s32 unk_14;
|
|
||||||
/* 0x018 */ s32 unk_18;
|
|
||||||
/* 0x01C */ s32 unk_1C;
|
|
||||||
/* 0x020 */ s32 unk_20;
|
|
||||||
/* 0x024 */ s32 unk_24;
|
|
||||||
/* 0x028 */ s32 unk_28;
|
/* 0x028 */ s32 unk_28;
|
||||||
/* 0x02C */ s32 unk_2C; // entity id
|
/* 0x02C */ s32 unk_2C; // entity id
|
||||||
/* 0x030 */ s32 unk_30;
|
/* 0x030 */ s32 unk_30;
|
||||||
@ -25,8 +22,7 @@ typedef struct UnkObk07 {
|
|||||||
/* 0x04C */ s32 unk_4C;
|
/* 0x04C */ s32 unk_4C;
|
||||||
/* 0x050 */ s32 unk_50;
|
/* 0x050 */ s32 unk_50;
|
||||||
/* 0x054 */ s32 unk_54;
|
/* 0x054 */ s32 unk_54;
|
||||||
/* 0x058 */ s32 unk_58[89];
|
/* 0x058 */ s32 aPressed[90];
|
||||||
/* 0x1BC */ s32 unk_1BC;
|
|
||||||
/* 0x1C0 */ s32 unk_1C0;
|
/* 0x1C0 */ s32 unk_1C0;
|
||||||
/* 0x1C4 */ f32 unk_1C4;
|
/* 0x1C4 */ f32 unk_1C4;
|
||||||
/* 0x1C8 */ f32 unk_1C8;
|
/* 0x1C8 */ f32 unk_1C8;
|
||||||
@ -38,7 +34,11 @@ typedef struct UnkObk07 {
|
|||||||
/* 0x1DD */ char unk_1DD[0x3];
|
/* 0x1DD */ char unk_1DD[0x3];
|
||||||
} UnkObk07; // size = 0x1E0
|
} 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) {
|
ApiStatus func_80240500_BCF0F0(Evt* script, s32 isInitialCall) {
|
||||||
evt_set_variable(script, MapVar(6), (s32) heap_malloc(sizeof(UnkObk07)));
|
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);
|
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) {
|
ApiStatus func_80240EF8_BCFAE8(Evt* script, s32 isInitialCall) {
|
||||||
UnkObk07* temp_s0 = func_80240540_BCF130();
|
UnkObk07* temp_s0 = func_80240540_BCF130();
|
||||||
@ -88,9 +170,6 @@ void func_802410C0_BCFCB0(void) {
|
|||||||
hud_element_draw_clipped(temp_v0->unk_44);
|
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) {
|
ApiStatus func_80241130_BCFD20(Evt* script, s32 isInitialCall) {
|
||||||
s32 outVal = 0;
|
s32 outVal = 0;
|
||||||
s32* it = D_80243090_BD1C80;
|
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_30 = 0;
|
||||||
temp_s1->unk_04 = 0;
|
temp_s1->unk_04 = 0;
|
||||||
temp_s1->unk_08 = 0;
|
temp_s1->unk_08 = 0;
|
||||||
temp_s1->unk_10 = 0;
|
temp_s1->unk_10[0] = 0;
|
||||||
temp_s1->unk_14 = 20;
|
temp_s1->unk_10[1] = 20;
|
||||||
temp_s1->unk_18 = 40;
|
temp_s1->unk_10[2] = 40;
|
||||||
temp_s1->unk_1C = 60;
|
temp_s1->unk_10[3] = 60;
|
||||||
temp_s1->unk_20 = 80;
|
temp_s1->unk_10[4] = 80;
|
||||||
temp_s1->unk_24 = 100;
|
temp_s1->unk_10[5] = 100;
|
||||||
temp_s1->unk_28 = 5;
|
temp_s1->unk_28 = 5;
|
||||||
|
|
||||||
for (i = 0; i <= 89; i++) {
|
for (i = 0; i < ARRAY_COUNT(temp_s1->aPressed); i++) {
|
||||||
temp_s1->unk_58[i] = 0;
|
temp_s1->aPressed[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
temp_s1->unk_34 = -48;
|
temp_s1->unk_34 = -48;
|
||||||
@ -328,7 +407,70 @@ ApiStatus func_80241898_BD0488(Evt* script, s32 isInitialCall) {
|
|||||||
return ApiStatus_DONE2;
|
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) {
|
ApiStatus func_80241B50_BD0740(Evt* script, s32 isInitialCall) {
|
||||||
Npc* npc = get_npc_unsafe(script->owner2.npcID);
|
Npc* npc = get_npc_unsafe(script->owner2.npcID);
|
||||||
|
@ -2,7 +2,30 @@
|
|||||||
|
|
||||||
#include "world/common/todo/UnkFoldFunc.inc.c"
|
#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) {
|
ApiStatus func_802404F0_BD3D60(Evt* script, s32 isInitialCall) {
|
||||||
UnkEntityStruct* temp_v0 = (UnkEntityStruct*) evt_get_variable(NULL, MapVar(10));
|
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;
|
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) {
|
ApiStatus func_80240808_BD4078(Evt* script, s32 isInitialCall) {
|
||||||
if (gPlayerData.curHP < 2) {
|
if (gPlayerData.curHP < 2) {
|
||||||
|
@ -1,5 +1,49 @@
|
|||||||
#include "obk_09.h"
|
#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;
|
||||||
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include "omo_13.h"
|
#include "omo_13.h"
|
||||||
|
#include "sprite/npc/ShyGuy.h"
|
||||||
|
|
||||||
#include "world/common/enemy/ai/ShyGuyWanderAI.inc.c"
|
#include "world/common/enemy/ai/ShyGuyWanderAI.inc.c"
|
||||||
|
|
||||||
@ -61,8 +62,6 @@ ApiStatus func_80240F8C_DE341C(Evt* script, s32 isInitialCall) {
|
|||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// control flow
|
|
||||||
#ifdef NON_MATCHING
|
|
||||||
ApiStatus func_80241028_DE34B8(Evt* script, s32 isInitialCall) {
|
ApiStatus func_80241028_DE34B8(Evt* script, s32 isInitialCall) {
|
||||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||||
Npc* npc = get_npc_safe(0);
|
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);
|
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));
|
theta = clamp_angle(atan2(110.0f, -45.0f, playerStatus->position.x, playerStatus->position.z));
|
||||||
|
|
||||||
x = (sin_deg(theta) * 30.0f) + 110.0f;
|
x = (sin_deg(theta) * 30.0f) + 110.0f;
|
||||||
if (script->varTable[11] != 0) {
|
if (script->varTable[11] != 0) {
|
||||||
y = playerStatus->position.y * 0.7f;
|
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) {
|
if (script->varTable[11] != 0 && npc->pos.y == 0.0f) {
|
||||||
script->varTable[11] = 0;
|
script->varTable[11] = 0;
|
||||||
}
|
}
|
||||||
if (npc->pos.x == x && npc->pos.y == y) {
|
|
||||||
if (npc->pos.z == z) {
|
if (npc->pos.x != x || npc->pos.y != y || npc->pos.z != z) {
|
||||||
if (npc->currentAnim != 0x3B0501) {
|
if (npc->currentAnim != ANIM_ShyGuy_Black_Anim02 && script->varTable[10]++ >= 6) {
|
||||||
npc->currentAnim = 0x3B0501;
|
npc->currentAnim = ANIM_ShyGuy_Black_Anim02;
|
||||||
}
|
script->varTable[10] = 0;
|
||||||
} else {
|
|
||||||
goto block_10;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
block_10:
|
|
||||||
if (npc->currentAnim != 0x3B0502) {
|
|
||||||
if (script->varTable[10]++ >= 6) {
|
|
||||||
npc->currentAnim = 0x3B0502;
|
|
||||||
script->varTable[10] = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
npc->pos.x = x;
|
npc->pos.x = x;
|
||||||
npc->pos.z = z;
|
npc->pos.z = z;
|
||||||
npc->colliderPos.x = npc->pos.x;
|
npc->colliderPos.x = npc->pos.x;
|
||||||
npc->colliderPos.y = npc->pos.y;
|
npc->colliderPos.y = npc->pos.y;
|
||||||
npc->colliderPos.z = npc->pos.z;
|
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);
|
npc->yaw = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
INCLUDE_ASM(s32, "world/area_omo/omo_13/DE2710", func_80241028_DE34B8);
|
|
||||||
#endif
|
|
||||||
|
@ -75,7 +75,42 @@ ApiStatus func_80241A6C_D3C03C(Evt* script, s32 isInitialCall) {
|
|||||||
|
|
||||||
#include "world/common/atomic/TexturePan.inc.c"
|
#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);
|
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) {
|
ApiStatus func_80241FB0_D3C580(Evt* script, s32 isInitialCall) {
|
||||||
script->varTable[10] = 0;
|
script->varTable[10] = 0;
|
||||||
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -7,7 +7,7 @@ dlabel D_80251430_D4BA00
|
|||||||
.double 0.1
|
.double 0.1
|
||||||
|
|
||||||
dlabel D_80251438_D4BA08
|
dlabel D_80251438_D4BA08
|
||||||
.double 0.2, 6.092491109832673e+247, 0.0
|
.double 0.2
|
||||||
|
|
||||||
.section .text
|
.section .text
|
||||||
|
|
||||||
|
@ -5082,7 +5082,23 @@ segments:
|
|||||||
vram: 0xE00AE000
|
vram: 0xE00AE000
|
||||||
subsegments:
|
subsegments:
|
||||||
- [0x3B2350, c, snaking_static]
|
- [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
|
- name: effect_thunderbolt_ring
|
||||||
dir: effects
|
dir: effects
|
||||||
type: code
|
type: code
|
||||||
@ -6124,90 +6140,70 @@ segments:
|
|||||||
vram: 0xE0112000
|
vram: 0xE0112000
|
||||||
subsegments:
|
subsegments:
|
||||||
- [0x3F9E50, c, spirit_card]
|
- [0x3F9E50, c, spirit_card]
|
||||||
- [0x3FA480, data]
|
- [0x3FA480]
|
||||||
- type: group # effect spirit_card, something_rotating gfx
|
- name: effect_gfx_spirit_card # effect spirit_card, something_rotating gfx
|
||||||
|
dir: effects/gfx
|
||||||
|
type: code
|
||||||
start: 0x3FA4B0
|
start: 0x3FA4B0
|
||||||
|
vram: 0x09000000
|
||||||
|
symbol_name_format: $VRAM_$ROM
|
||||||
subsegments:
|
subsegments:
|
||||||
|
- [0x3FA4B0, c, spirit_card]
|
||||||
- start: 0x3FA4B0
|
- start: 0x3FA4B0
|
||||||
type: ci4
|
type: .data
|
||||||
name: star_cards/card_front
|
name: spirit_card
|
||||||
flip_y: true
|
subsegments:
|
||||||
width: 32
|
- { start: 0x3FA4B0, type: ci4, name: star_cards/card_front, flip_y: true, width: 32, height: 32 }
|
||||||
height: 32
|
- [0x3FA6B0, palette, star_cards/card_front]
|
||||||
- [0x3FA6B0, palette, star_cards/card_front]
|
- [0x3FA6D0] # padding
|
||||||
- [0x3FA6D0, bin] # PAD
|
- { start: 0x3FA8B0, type: ci4, name: star_cards/card_back, flip_y: true, width: 32, height: 64 }
|
||||||
- start: 0x3FA8B0
|
- [0x3FACB0, palette, star_cards/card_back]
|
||||||
type: ci4
|
- [0x3FACD0] # padding
|
||||||
name: star_cards/card_back
|
- { start: 0x3FAEB0, type: ci4, name: star_cards/wave, flip_y: true, width: 32, height: 32 }
|
||||||
flip_y: true
|
- [0x3FB0B0, palette, star_cards/wave]
|
||||||
width: 32
|
- [0x3FB0D0] # padding
|
||||||
height: 64
|
- { start: 0x3FB2B0, type: ci4, name: star_cards/squares, flip_y: true, width: 16, height: 16 }
|
||||||
- [0x3FACB0, palette, star_cards/card_back]
|
- [0x3FB330, palette, star_cards/squares]
|
||||||
- [0x3FACD0, bin] # PAD
|
- [0x3FB350] # padding
|
||||||
- start: 0x3FAEB0
|
- { start: 0x3FB530, type: ci4, name: star_cards/eldstar, flip_y: true, width: 48, height: 48 }
|
||||||
type: ci4
|
- [0x3FB9B0, palette, star_cards/eldstar]
|
||||||
name: star_cards/wave
|
- [0x3FB9D0] # padding
|
||||||
flip_y: true
|
- { start: 0x3FBBB0, type: ci4, name: star_cards/mamar, flip_y: true, width: 48, height: 48 }
|
||||||
width: 32
|
- [0x3FC030, palette, star_cards/mamar]
|
||||||
height: 32
|
- [0x3FC050] # padding
|
||||||
- [0x3FB0B0, palette, star_cards/wave]
|
- { start: 0x3FC230, type: ci4, name: star_cards/skolar, flip_y: true, width: 48, height: 48 }
|
||||||
- [0x3FB0D0, bin] # PAD
|
- [0x3FC6B0, palette, star_cards/skolar]
|
||||||
- start: 0x3FB2B0
|
- [0x3FC6D0] # padding
|
||||||
type: ci4
|
- { start: 0x3FC8B0, type: ci4, name: star_cards/muskular, flip_y: true, width: 48, height: 48 }
|
||||||
name: star_cards/squares
|
- [0x3FCD30, palette, star_cards/muskular]
|
||||||
flip_y: true
|
- [0x3FCD50] # padding
|
||||||
width: 16
|
- { start: 0x3FCF30, type: ci4, name: star_cards/misstar, flip_y: true, width: 48, height: 48 }
|
||||||
height: 16
|
- [0x3FD3B0, palette, star_cards/misstar]
|
||||||
- [0x3FB330, palette, star_cards/squares]
|
- [0x3FD3D0] # padding
|
||||||
- [0x3FB350, bin] # PAD
|
- { start: 0x3FD5B0, type: ci4, name: star_cards/klevar, flip_y: true, width: 48, height: 48 }
|
||||||
- start: 0x3FB530
|
- [0x3FDA30, palette, star_cards/klevar]
|
||||||
type: ci4
|
- [0x3FDA50] # padding
|
||||||
name: star_cards/eldstar
|
- { start: 0x3FDC30, type: ci4, name: star_cards/kalmar, flip_y: true, width: 48, height: 48 }
|
||||||
flip_y: true
|
- [0x3FE0B0, palette, star_cards/kalmar]
|
||||||
width: 48
|
- [0x3FE0D0] # padding
|
||||||
height: 48
|
- [0x3FE2B0, vtx, D_09003E00_3FE2B0]
|
||||||
- [0x3FB9B0, palette, star_cards/eldstar]
|
- [0x3FE430] # light
|
||||||
- [0x3FB9D0, bin] # PAD
|
- [0x3FE448, gfx, D_09003F98_3FE448]
|
||||||
- start: 0x3FBBB0
|
- [0x3FE4C0, gfx, D_09004010_3FE4C0]
|
||||||
type: ci4
|
- [0x3FE538, gfx, D_09004088_3FE538]
|
||||||
name: star_cards/mamar
|
- [0x3FE5B0, gfx, D_09004100_3FE5B0]
|
||||||
flip_y: true
|
- [0x3FE628, gfx, D_09004178_3FE628]
|
||||||
width: 48
|
- [0x3FE6A0, gfx, D_090041F0_3FE6A0]
|
||||||
height: 48
|
- [0x3FE718, gfx, D_09004268_3FE718]
|
||||||
- [0x3FC030, palette, star_cards/mamar]
|
- [0x3FE790, gfx, D_090042E0_3FE790] # has bug (see gfx/spirit_card.c)
|
||||||
- [0x3FC050, bin] # PAD
|
- [0x3FE810, gfx, D_09004360_3FE810]
|
||||||
- start: 0x3FC230
|
- [0x3FE888, vtx, D_090043D8_3FE888]
|
||||||
type: ci4
|
- [0x3FE8C8, gfx, D_09004418_3FE8C8]
|
||||||
name: star_cards/skolar
|
- [0x3FE8E8, gfx, D_09004438_3FE8E8]
|
||||||
flip_y: true
|
- [0x3FE908, gfx, D_09004458_3FE908]
|
||||||
width: 48
|
- [0x3FE9B8, gfx, D_09004508_3FE9B8]
|
||||||
height: 48
|
- [0x3FEAB0, gfx, D_09004600_3FEAB0]
|
||||||
- [0x3FC6B0, palette, star_cards/skolar]
|
- [0x3FEAD8]
|
||||||
- [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]
|
|
||||||
- name: effect_lil_oink
|
- name: effect_lil_oink
|
||||||
dir: effects
|
dir: effects
|
||||||
type: code
|
type: code
|
||||||
|
@ -9019,6 +9019,7 @@ spirit_card_update = 0xE01121C0; // type:func rom:0x3FA010
|
|||||||
spirit_card_render = 0xE01122E8; // type:func rom:0x3FA138
|
spirit_card_render = 0xE01122E8; // type:func rom:0x3FA138
|
||||||
func_E0112330 = 0xE0112330; // type:func rom:0x3FA180
|
func_E0112330 = 0xE0112330; // type:func rom:0x3FA180
|
||||||
spirit_card_appendGfx = 0xE01124CC; // type:func rom:0x3FA31C
|
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_main = 0xE0114000; // type:func rom:0x3FEAE0
|
||||||
lil_oink_init = 0xE01140D4; // type:func rom:0x3FEBB4
|
lil_oink_init = 0xE01140D4; // type:func rom:0x3FEBB4
|
||||||
lil_oink_update = 0xE01140DC; // type:func rom:0x3FEBBC
|
lil_oink_update = 0xE01140DC; // type:func rom:0x3FEBBC
|
||||||
|
@ -35,19 +35,6 @@ D_09007090 = 0x09007090;
|
|||||||
D_090070E8 = 0x090070E8;
|
D_090070E8 = 0x090070E8;
|
||||||
D_09007230 = 0x09007230;
|
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
|
// effect_stars_shimmer
|
||||||
D_09000F20 = 0x09000F20;
|
D_09000F20 = 0x09000F20;
|
||||||
D_090011C8 = 0x090011C8;
|
D_090011C8 = 0x090011C8;
|
||||||
@ -67,9 +54,6 @@ D_09001A90 = 0x09001A90;
|
|||||||
D_09001B08 = 0x09001B08;
|
D_09001B08 = 0x09001B08;
|
||||||
D_09001B80 = 0x09001B80;
|
D_09001B80 = 0x09001B80;
|
||||||
|
|
||||||
// effect_spirit_card
|
|
||||||
D_090042E0 = 0x090042E0;
|
|
||||||
|
|
||||||
// hacks for various things
|
// hacks for various things
|
||||||
fx_sun_undeclared = fx_sun;
|
fx_sun_undeclared = fx_sun;
|
||||||
EntityModel_Spring_ReboundAnim = 0x1E4;
|
EntityModel_Spring_ReboundAnim = 0x1E4;
|
||||||
|
Loading…
Reference in New Issue
Block a user