Mostly hud stuff (#294)

* bss

* 3 audios

* d5a50 stuff

* some icon funcs

* get_icon_render_pos

* PlayerLandJump

* func_80248170

* cleanup
This commit is contained in:
Ethan Roseman 2021-06-07 10:15:48 -04:00 committed by GitHub
parent 39029a810e
commit 6ec6aab984
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
84 changed files with 399 additions and 540 deletions

View File

@ -396,27 +396,35 @@ typedef struct MusicSettings {
/* 0x2C */ s32 unk_2C;
} MusicSettings; // size = 0x30
typedef struct MenuIcon {
/* 0x00 */ u32 flags;
/* 0x04 */ u32* readPos;
/* 0x08 */ u32* startReadPos;
/* 0x0C */ u32* ptrPropertyList;
/* 0x10 */ u32* imageAddr;
/* 0x14 */ u32* paletteAddr;
/* 0x18 */ u32 memOffset;
/* 0x1C */ char unk_1C[24];
typedef struct HudElement {
/* 0x00 */ s32 flags;
/* 0x04 */ s32* readPos;
/* 0x08 */ s32* startReadPos;
/* 0x0C */ s32* ptrPropertyList;
/* 0x10 */ s32* imageAddr;
/* 0x14 */ s32* paletteAddr;
/* 0x18 */ s32 memOffset;
/* 0x1C */ s32* hudTransform;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unkImgScale[2];
/* 0x30 */ f32 uniformScale;
/* 0x34 */ f32 widthScaleF; /* X.10 fmt (divide by 1024.0 to get float) */
/* 0x38 */ f32 heightScaleF; /* X.10 fmt (divide by 1024.0 to get float) */
/* 0x3C */ s16 renderPosX;
/* 0x3E */ s16 renderPosY;
/* 0x40 */ u8 screenPosOffset[2];
/* 0x42 */ u8 worldPosOffset[3];
/* 0x45 */ char unk_45[2];
/* 0x45 */ s8 drawSizePreset;
/* 0x46 */ s8 tileSizePreset;
/* 0x47 */ u8 updateTimer;
/* 0x48 */ u8 sizeX; /* screen size? */
/* 0x49 */ u8 sizeY; /* screen size? */
/* 0x4A */ char unk_4A[10];
} MenuIcon; // size = 0x54
/* 0x4A */ u8 opacity;
/* 0x4B */ s8 tint[3];
/* 0x4E */ s8 customImageSize[2];
/* 0x40 */ s8 customDrawSize[2];
} HudElement; // size = 0x54
typedef struct UiStatus {
/* 0x00 */ s32 hpIconIndexes[2];
@ -1473,16 +1481,28 @@ typedef struct ActorMovement {
/* 0x4C */ f32 distance;
} ActorMovement; // size = 0x50;
typedef struct ActorMovementWalk {
/* 0x00 */ Vec3f currentPos;
/* 0x0C */ Vec3f goalPos;
/* 0x18 */ Vec3f unk_18;
/* 0x24 */ char unk_24[24];
/* 0x3C */ f32 acceleration;
/* 0x40 */ f32 speed;
/* 0x44 */ f32 velocity;
/* 0x48 */ f32 angle;
/* 0x4C */ f32 distance;
/* 0x50 */ f32 bounceDivisor;
/* 0x54 */ char unk_54[0x4];
/* 0x58 */ s32 animJumpRise;
/* 0x5C */ s32 animJumpFall;
/* 0x60 */ s32 animJumpLand;
} ActorMovementWalk; // size = 0x64;
typedef struct Actor {
/* 0x000 */ s32 flags;
/* 0x004 */ char unk_04[4];
/* 0x008 */ struct ActorDesc* staticActorData;
/* 0x00C */ ActorMovement walk;
/* 0x05C */ f32 bounceDivisor;
/* 0x060 */ char unk_60[4];
/* 0x064 */ s32 animJumpRise;
/* 0x068 */ s32 animJumpFall;
/* 0x06C */ s32 animJumpLand;
/* 0x00C */ ActorMovementWalk walk;
/* 0x070 */ s16 moveTime;
/* 0x072 */ s16 moveArcAmplitude;
/* 0x074 */ char unk_74[3];
@ -1584,7 +1604,7 @@ typedef struct Actor {
/* 0x434 */ s16 renderMode; /* initially 0xD, set to 0x22 if any part is transparent */
/* 0x436 */ s16 unk_436;
/* 0x438 */ s32 x[2]; /* ??? see FUN_80253974 */
/* 0x440 */ struct MenuIcon* ptrDefuffIcon;
/* 0x440 */ struct HudElement* ptrDefuffIcon;
} Actor; // size = 0x444
typedef struct TileDescriptor {
@ -1834,7 +1854,7 @@ typedef struct {
/* 0x12 */ s16 height;
/* 0x14 */ UNK_PTR fpDrawContents;
/* 0x18 */ s32 unk_18; // MenuTab pointer for pause menu tabs
/* 0x1C */ s8 unk_1C;
/* 0x1C */ u8 unk_1C;
/* 0x1D */ char unk_1D[3];
} UIPanel; // size = 0x20

View File

@ -163,8 +163,8 @@ s32 osGetId();
void mem_clear(s8* data, s32 numBytes);
MenuIcon* create_icon(s32* iconIndex);
void set_icon_render_pos(MenuIcon* iconIndex, s32 posX, s32 posY);
HudElement* create_icon(s32* iconIndex);
void set_icon_render_pos(s32 iconIndex, s32 posX, s32 posY);
void intro_logos_set_fade_color(s16 color);
void intro_logos_set_fade_alpha(s16 alpha);

View File

@ -63,6 +63,7 @@ extern NpcList* gCurrentNpcListPtr;
extern ShadowList gWorldShadowList;
extern ShadowList gBattleShadowList;
extern ShadowList* gCurrentShadowListPtr;
extern HudElement** gHudElementList;
extern Camera gCameras[4];
extern s32 gCurrentCameraID;
@ -203,7 +204,7 @@ extern s32 gItemMenuTargetScrollPos;
extern s32 D_802705DC;
extern s32 gItemMenuLevel;
extern s32 gItemMenuCurrentTab;
extern MenuIcon* gItemIcons[20];
extern HudElement* gItemIcons[20];
extern s32 gItemMenuScrollUpIcon;
// Stats

View File

@ -12,7 +12,14 @@ void func_80248160(void) {
void func_80248168(void) {
}
INCLUDE_ASM(s32, "168590", func_80248170);
void func_80248170(s32 arg0) {
UIPanel* panel = &gUIPanels[arg0];
if (panel->unk_1C == 0x8) {
panel->flags &= ~0x8;
set_window_update(arg0, 1);
}
}
INCLUDE_ASM(s32, "168590", func_802481B8);

View File

@ -927,9 +927,9 @@ ApiStatus SetJumpAnimations(ScriptInstance* script, s32 isInitialCall) {
actor = get_actor(actorID);
actor->jumpPartIndex = jumpPartIndex;
actor->animJumpRise = animJumpRise;
actor->animJumpFall = animJumpFall;
actor->animJumpLand = animJumpLand;
actor->walk.animJumpRise = animJumpRise;
actor->walk.animJumpFall = animJumpFall;
actor->walk.animJumpLand = animJumpLand;
return ApiStatus_DONE2;
}

View File

@ -110,7 +110,53 @@ INCLUDE_ASM(s32, "19FAF0", func_80273444);
INCLUDE_ASM(s32, "19FAF0", PlayerFallToGoal, ScriptInstance* script, s32 isInitialCall);
INCLUDE_ASM(s32, "19FAF0", PlayerLandJump, ScriptInstance* script, s32 isInitialCall);
ApiStatus PlayerLandJump(ScriptInstance *script, s32 isInitialCall) {
Actor* player = gBattleStatus.playerActor;
ActorMovementWalk* walkMovement = &player->walk;
if (isInitialCall) {
script->functionTemp[0].s = 0;
}
if (script->functionTemp[0].s == 0) {
walkMovement->currentPos.x = player->currentPos.x;
walkMovement->currentPos.y = player->currentPos.y;
walkMovement->currentPos.z = player->currentPos.z;
script->functionTemp[0].s = 1;
}
if (walkMovement->velocity > 0.0f) {
if (walkMovement->animJumpRise != 0) {
set_animation(0, 0, walkMovement->animJumpRise);
}
}
if (walkMovement->velocity < 0.0f) {
if (walkMovement->animJumpFall != 0) {
set_animation(0, 0, walkMovement->animJumpFall);
}
}
walkMovement->currentPos.y += walkMovement->velocity;
walkMovement->velocity -= walkMovement->acceleration;
add_xz_vec3f(&walkMovement->currentPos, walkMovement->speed, walkMovement->angle);
player->currentPos.x = walkMovement->currentPos.x;
player->currentPos.y = walkMovement->currentPos.y;
player->currentPos.z = walkMovement->currentPos.z;
if (player->currentPos.y < 0.0f) {
player->currentPos.y = 0.0f;
play_movement_dust_effects(2, player->currentPos.x, player->currentPos.y, player->currentPos.z, player->yaw);
sfx_play_sound_at_position(SOUND_SOFT_LAND, 0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "19FAF0", PlayerRunToGoal, ScriptInstance* script, s32 isInitialCall);

View File

@ -3,8 +3,6 @@
#include "nu/nualsgi.h"
#include "audio.h"
extern NUDMAState nuAuDmaState;
s32 D_80078170 = 0;
NUAuPreNMIFunc nuAuPreNMIFunc = NULL;
s32 nuAuDmaNext = 0;
@ -26,8 +24,89 @@ void nuAuPreNMIFuncSet(NUAuPreNMIFunc func) {
INCLUDE_ASM(s32, "25f00_len_940", func_8004AE08);
s32 nuAuDmaCallBack(s32 addr, s32 len, void* state, s32 arg3);
extern OSMesgQueue* D_800A3640;
extern OSIoMesg D_800A3720[];
extern NUDMABuffer* D_800A3BD4;
// s32 nuAuDmaCallBack(s32 addr, s32 len, void* state, s32 arg3);
// WIP
#ifdef NON_MATCHING
s32 nuAuDmaCallBack(s32 addr, s32 len, void *state, u8 arg3) {
NUDMABuffer *temp_s1;
NUDMABuffer *temp_a1;
NUDMABuffer *firstFree;
OSIoMesg *mesg;
char *temp_s2;
s32 temp_s0;
s32 temp_s3;
char *new_var;
s32 startAddr;
if (arg3 == 0) {
return osVirtualToPhysical(addr);
}
temp_s1 = D_800A3BD4;
while (temp_s1 != NULL) {
startAddr = temp_s1->startAddr;
if (addr >= startAddr) {
if ((startAddr + 0x500) >= (addr + len)) {
temp_s1->frameCnt = nuAuFrameCounter;
return osVirtualToPhysical((temp_s1->ptr + addr) - temp_s1->startAddr);
}
} else {
break;
}
temp_s1 = temp_s1->node.next;
}
firstFree = nuAuDmaState.firstFree;
if (firstFree == NULL) {
return osVirtualToPhysical(nuAuDmaState.firstUsed);
}
new_var = firstFree->ptr;
nuAuDmaState.firstFree = firstFree;
alUnlink(&firstFree->node);
if (temp_s1 != NULL) {
alLink(&firstFree->node, temp_s1);
} else {
temp_a1 = nuAuDmaState.firstUsed;
if (temp_a1 != NULL) {
nuAuDmaState.firstUsed = firstFree;
firstFree->node.next = &temp_a1->node;
firstFree->node.prev = NULL;
temp_a1->node.prev = &firstFree->node;
} else {
nuAuDmaState.firstUsed = firstFree;
firstFree->node.next = NULL;
firstFree->node.prev = NULL;
}
}
temp_s0 = addr & 1;
temp_s3 = addr - temp_s0;
temp_s2 = new_var;
firstFree->startAddr = temp_s3;
mesg = &D_800A3720[nuAuDmaNext];
nuAuDmaNext++;
firstFree->frameCnt = nuAuFrameCounter;
mesg->hdr.pri = 0;
mesg->hdr.retQueue = &D_800A3640;
mesg->dramAddr = temp_s2;
mesg->devAddr = temp_s3;
mesg->size = 0x500;
osEPiStartDma(carthandle, mesg, 0);
return osVirtualToPhysical(temp_s2) + temp_s0;
}
#else
INCLUDE_ASM(s32, "25f00_len_940", nuAuDmaCallBack, s32 addr, s32 len, void* state, s32 arg3);
#endif
ALDMAproc nuAuDmaNew(NUDMAState** state) {
if (!nuAuDmaState.initialized) {

View File

@ -47,11 +47,11 @@ void func_8004B440(SoundManager* manager, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8
sub->unk_7F = 0;
}
for (i = 0; i < 4; i++) {
for (i = 0; i < ARRAY_COUNT(manager->unk_90); i++) {
manager->unk_90[i] = 0;
}
for (i = 0; i < 4; i++) {
for (i = 0; i < ARRAY_COUNT(manager->unk_A0); i++) {
manager->unk_A0[i].x = 0;
}
@ -170,6 +170,7 @@ INCLUDE_ASM(s32, "26840_len_20d0", func_8004C300);
INCLUDE_ASM(void, "26840_len_20d0", snd_set_modifiers, SoundManager* manager, SoundSFXEntry* sfxEntry);
void snd_set_player_modifiers(SoundManager* manager, SoundSFXEntry* sfxEntry);
INCLUDE_ASM(void, "26840_len_20d0", snd_set_player_modifiers, SoundManager* manager, SoundSFXEntry* sfxEntry);
INCLUDE_ASM(s16, "26840_len_20d0", func_8004C444, SoundManager* manager);

View File

@ -45,7 +45,10 @@ s32 func_8004DA0C(s32 songName) {
return ret;
}
INCLUDE_ASM(s32, "28910_len_5090", func_8004DA74);
void func_8004DA74(void) {
func_8004DAA8(D_8009A664);
func_8004DAA8(D_8009A5FC);
}
void func_8004DAA8(BGMPlayer* player) {
if (player->unk_221 != 0) {
@ -56,7 +59,17 @@ void func_8004DAA8(BGMPlayer* player) {
}
}
INCLUDE_ASM(s32, "28910_len_5090", func_8004DAE0);
s32 func_8004DAE0(s32 songName) {
if (songName != 0) {
BGMPlayer* player = snd_get_player_with_song_name(songName);
if (player != NULL) {
return songName == player->songName;
}
return 2;
}
return 3;
}
INCLUDE_ASM(s32, "28910_len_5090", func_8004DB28);
@ -287,11 +300,8 @@ void snd_BGMCmd_E4_MasterTempoFade(BGMPlayer* player, BGMPlayerTrack* track) {
}
void snd_BGMCmd_E5_MasterVolumeFade(BGMPlayer* player, BGMPlayerTrack* track) {
s32 temp_a1;
s32 temp_a2;
temp_a1 = player->unk_D4.u16;
temp_a2 = player->unk_D6.u8[0] & 0x7F;
s32 temp_a1 = player->unk_D4.u16;
s32 temp_a2 = player->unk_D6.u8[0] & 0x7F;
if (temp_a2 != 0) {
temp_a2 = temp_a2 << 0x18;
@ -475,7 +485,10 @@ void func_8005083C(BGMPlayer* arg0, s32 arg1, s16 arg2, s8 arg3) {
}
}
INCLUDE_ASM(void, "28910_len_5090", func_8005087C, BGMPlayer* player, s32* arg1, s32 arg2);
void func_8005087C(BGMPlayer* player, s32* arg1, s32 arg2) {
player->unk_204 = arg1;
player->unk_232 = arg2;
}
INCLUDE_ASM(s32, "28910_len_5090", func_80050888);

View File

@ -251,7 +251,6 @@ s32 get_stored_empty_count(void) {
void enforce_hpfp_limits(void) {
PlayerData* playerData = &gPlayerData;
PlayerData* playerData2 = &gPlayerData;
playerData->curMaxHP = playerData->hardMaxHP + (is_ability_active(4) * 5);
if (playerData->curMaxHP > 75) {
@ -261,12 +260,12 @@ void enforce_hpfp_limits(void) {
playerData->curHP = playerData->curMaxHP;
}
playerData2->curMaxFP = playerData2->hardMaxFP + (is_ability_active(12) * 5);
if (playerData2->curMaxFP > 75) {
playerData2->curMaxFP = 75;
playerData->curMaxFP = playerData->hardMaxFP + (is_ability_active(12) * 5);
if (playerData->curMaxFP > 75) {
playerData->curMaxFP = 75;
}
if (playerData2->curFP > playerData2->curMaxFP) {
playerData2->curFP = playerData2->curMaxFP;
if (playerData->curFP > playerData->curMaxFP) {
playerData->curFP = playerData->curMaxFP;
}
}
@ -1124,7 +1123,6 @@ s8 add_star_points(s32 amt) {
u8 add_star_pieces(s32 amt) {
PlayerData* playerData = &gPlayerData;
PlayerData* playerData2 = &gPlayerData;
s32 newSP = playerData->starPieces;
newSP += amt;
@ -1140,29 +1138,23 @@ u8 add_star_pieces(s32 amt) {
playerData->starPiecesCollected += amt;
}
return playerData2->starPieces;
return playerData->starPieces;
}
void increment_max_SP() {
PlayerData* playerData = &gPlayerData;
playerData->maxStarPower++;
playerData->specialBarsFilled = playerData->maxStarPower * 256;
gPlayerData.maxStarPower++;
gPlayerData.specialBarsFilled = gPlayerData.maxStarPower * 256;
}
void set_max_SP(s8 newMaxSP) {
PlayerData* playerData = &gPlayerData;
playerData->maxStarPower = newMaxSP;
playerData->specialBarsFilled = newMaxSP * 256;
gPlayerData.maxStarPower = newMaxSP;
gPlayerData.specialBarsFilled = newMaxSP * 256;
}
void add_SP(s32 amt) {
// TODO cleanup
PlayerData* playerData = &gPlayerData;
PlayerData* playerData2 = &gPlayerData;
UiStatus* uiStatus = &gUIStatus;
UiStatus* uiStatus2 = &gUIStatus;
s32 phi_v1;
s32 blah;
@ -1170,7 +1162,7 @@ void add_SP(s32 amt) {
uiStatus->unk_57[1] = 60;
phi_v1 = playerData->specialBarsFilled;
if (phi_v1 < 0) {
if (playerData->specialBarsFilled < 0) {
phi_v1 = playerData->specialBarsFilled + 31;
}
uiStatus->unk_57[2] = phi_v1 >> 5;
@ -1182,7 +1174,7 @@ void add_SP(s32 amt) {
playerData->specialBarsFilled = blah;
}
uiStatus2->displaySP = playerData2->specialBarsFilled;
gUIStatus.displaySP = gPlayerData.specialBarsFilled;
}
s32 recover_fp(s32 amt) {
@ -1243,22 +1235,16 @@ void subtract_hp(s32 amt) {
}
s8 has_full_hp(void) {
PlayerData* playerData = &gPlayerData;
return playerData->curMaxHP == playerData->curHP;
return gPlayerData.curMaxHP == gPlayerData.curHP;
}
s8 has_full_fp(void) {
PlayerData* playerData = &gPlayerData;
return playerData->curMaxFP == playerData->curFP;
return gPlayerData.curMaxFP == gPlayerData.curFP;
}
s8 add_fortress_keys(s32 amt) {
PlayerData* playerData = &gPlayerData;
playerData->fortressKeyCount += amt;
return playerData->fortressKeyCount;
gPlayerData.fortressKeyCount += amt;
return gPlayerData.fortressKeyCount;
}
s8 subtract_fortress_keys(s8 amt) {

View File

@ -12,7 +12,7 @@ ApiStatus func_802189DC_447E1C(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
f32 posX = get_float_variable(script, *args++);
f32 posY = get_float_variable(script, *args++);
MenuIcon* icon = create_icon(&D_80104A28);
HudElement* icon = create_icon(&D_80104A28);
set_icon_render_pos(icon, posX, posY);
set_hud_element_scale(icon, 1.5f);

View File

@ -1,7 +1,7 @@
#include "coconut.h"
void* D_80108A64; // an image
static MenuIcon* D_802A1E80;
static HudElement* D_802A1E80;
// Returns time to sleep for on $x.
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {

View File

@ -2,7 +2,7 @@
extern s32 D_80108A64;
static s32* D_802A1CD0;
static MenuIcon* D_802A1CD4;
static HudElement* D_802A1CD4;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "dried_shroom.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1A90;
static HudElement* D_802A1A90;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "dusty_hammer.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1E80;
static HudElement* D_802A1E80;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "egg_missile.h"
extern s32 D_80108A64;
static MenuIcon* D_802A2890;
static HudElement* D_802A2890;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "electro_pop.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1D60;
static HudElement* D_802A1D60;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
@ -106,7 +106,7 @@ ApiStatus N(func_802A1450_7309F0)(ScriptInstance* script, s32 isInitialCall) {
ApiStatus N(AddFP)(ScriptInstance* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
s32 amt = get_variable(script, *script->ptrReadPos);
// @bug Should be playerData->curFP
s32 newFP = playerData->curHP + amt;

View File

@ -1,7 +1,7 @@
#include "fire_flower.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1D70;
static HudElement* D_802A1D70;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "food.h"
extern s32 D_80108A64;
static MenuIcon* D_802A24D0;
static HudElement* D_802A24D0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "fright_jar.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1CA0;
static HudElement* D_802A1CA0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "hustle_drink.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1E70;
static HudElement* D_802A1E70;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "insecticide_herb.h"
extern s32 D_80108A64;
static MenuIcon* D_802A21C0;
static HudElement* D_802A21C0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "life_shroom.h"
extern s32 D_80108A64;
static MenuIcon* D_802A21F0;
static HudElement* D_802A21F0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "mushroom.h"
extern s32 D_80108A64;
static MenuIcon* D_802A2410;
static HudElement* D_802A2410;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "mystery.h"
extern s32 D_80108A64;
static MenuIcon* D_802A25C0;
static HudElement* D_802A25C0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
@ -57,12 +57,12 @@ ApiStatus N(GiveRefundCleanup)(ScriptInstance* script, s32 isInitialCall) {
#ifdef NON_MATCHING
extern s32 D_802A25E4;
extern MenuIcon* D_802A25C8;
extern HudElement* D_802A25C8;
extern s32 D_802A25EC;
void N(func_802A123C_72C7EC)(void) {
s32 i;
MenuIcon** ptr;
HudElement** ptr;
s32 var;
s32* var2;
@ -102,7 +102,7 @@ extern s32 D_802A25F0;
extern s32 D_802A25F4;
extern s32 D_802A25F8;
extern s16** D_802A25FC;
extern MenuIcon** D_802A25C8;
extern HudElement** D_802A25C8;
extern struct N(tempStc) D_8008A680[100];
ApiStatus N(func_802A13E4_72C994)(ScriptInstance* script, s32 isInitialCall) {
@ -118,8 +118,8 @@ ApiStatus N(func_802A13E4_72C994)(ScriptInstance* script, s32 isInitialCall) {
s32 i;
f32 t0;
f32 t1;
MenuIcon* icon;
MenuIcon** iconPtr;
HudElement* icon;
HudElement** iconPtr;
struct N(tempStc)* ic;
StaticItem* itemTable;
@ -235,7 +235,7 @@ ApiStatus N(func_802A13E4_72C994)(ScriptInstance* script, s32 isInitialCall) {
s32* F4ptr = &D_802A25F4;
s32 i;
s16 g;
MenuIcon** iconPtr;
HudElement** iconPtr;
if (*F4ptr != 0) {
*F4ptr -= 1;

View File

@ -1,7 +1,7 @@
#include "pebble.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1E80;
static HudElement* D_802A1E80;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "please_come_back.h"
extern s32 D_80108A64;
static MenuIcon* D_802A18E0;
static HudElement* D_802A18E0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "pow_block.h"
extern s32 D_80108A64;
static MenuIcon* D_802A2120;
static HudElement* D_802A2120;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "repel_gel.h"
extern s32 D_80108A64;
static MenuIcon* D_802A19C0;
static HudElement* D_802A19C0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "shooting_star.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1EE0;
static HudElement* D_802A1EE0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "sleepy_sheep.h"
extern s32 D_80108A64;
static MenuIcon* D_802A3F50;
static HudElement* D_802A3F50;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "snowman_doll.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1EB0;
static HudElement* D_802A1EB0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "stone_cap.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1A60;
static HudElement* D_802A1A60;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "stop_watch.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1B40;
static HudElement* D_802A1B40;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "strange_cake.h"
extern s32 D_80108A64;
static MenuIcon* D_802A2DD0;
static HudElement* D_802A2DD0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
@ -57,12 +57,12 @@ ApiStatus N(GiveRefundCleanup)(ScriptInstance* script, s32 isInitialCall) {
#ifdef NON_MATCHING
extern s32 D_802A25E4;
extern MenuIcon* D_802A2DF4;
extern HudElement* D_802A2DF4;
extern s32 D_802A2DD8;
ApiStatus N(func_802A123C_73153C)(ScriptInstance* script, s32 isInitialCall) {
s32 i;
MenuIcon** ptr;
HudElement** ptr;
s32 var;
s32* var2;
@ -101,7 +101,7 @@ extern s32 D_802A2DF8;
extern s32 D_802A2DFC;
extern s32 D_802A2E00;
extern s32* D_802A2DD8;
extern MenuIcon** D_802A25C8;
extern HudElement** D_802A25C8;
s32 N(D_802A2848_732B48)[] = {
0x802A27F8, 0x802A2820, 0x802A27D0, 0x802A27F8
@ -121,7 +121,7 @@ ApiStatus N(func_802A13E4_7316E4)(ScriptInstance* script, s32 isInitialCall) {
switch (D_802A2DEC) {
case 0: {
s32 i;
MenuIcon** iconPtr;
HudElement** iconPtr;
D_802A2E00 = create_dynamic_entity_frontUI(NULL, func_802A123C_73153C);
i = rand_int(13000);
@ -132,7 +132,7 @@ ApiStatus N(func_802A13E4_7316E4)(ScriptInstance* script, s32 isInitialCall) {
for (i = 0; i < 5; i++) {
s32* B48Ptr = &N(D_802A2848_732B48);
s32* B58Ptr = &N(D_802A2858_732B58);
MenuIcon* icon = create_icon(*(B48Ptr + * (B58Ptr + i)));
HudElement* icon = create_icon(*(B48Ptr + * (B58Ptr + i)));
*(&D_802A2DD8 + i) = icon;
set_icon_flags(icon, 0x80);
@ -227,7 +227,7 @@ ApiStatus N(func_802A13E4_7316E4)(ScriptInstance* script, s32 isInitialCall) {
s32* F4ptr = &D_802A2DFC;
s32 i;
s16 g;
MenuIcon** iconPtr;
HudElement** iconPtr;
if (*F4ptr != 0) {
*F4ptr -= 1;

View File

@ -1,7 +1,7 @@
#include "super_soda.h"
extern s32 D_80108A64;
static MenuIcon* D_802A2280;
static HudElement* D_802A2280;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "tasty_tonic.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1B40;
static HudElement* D_802A1B40;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "thunder_bolt.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1C40;
static HudElement* D_802A1C40;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "thunder_rage.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1C90;
static HudElement* D_802A1C90;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "ultra_shroom.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1AC0;
static HudElement* D_802A1AC0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "unknown_item.h"
extern s32 D_80108A64;
static MenuIcon* D_802A1AA0;
static HudElement* D_802A1AA0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,7 +1,7 @@
#include "volt_shroom.h"
extern s32 D_80108A64;
static MenuIcon* D_802A19B0;
static HudElement* D_802A19B0;
ApiStatus N(GiveRefund)(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -55,11 +55,11 @@ ApiStatus func_80238A20_6F1B00(ScriptInstance* script, s32 isInitialCall) {
}
if (partnerActor->walk.velocity > 0.0f) {
set_animation(0x100, 0, partnerActor->animJumpRise);
set_animation(0x100, 0, partnerActor->walk.animJumpRise);
}
if (partnerActor->walk.velocity < 0.0f) {
set_animation(0x100, 0, partnerActor->animJumpFall);
set_animation(0x100, 0, partnerActor->walk.animJumpFall);
}
partnerActor->walk.currentPos.y = (partnerActor->walk.currentPos.y + partnerActor->walk.velocity);
@ -74,7 +74,7 @@ ApiStatus func_80238A20_6F1B00(ScriptInstance* script, s32 isInitialCall) {
play_movement_dust_effects(2, partnerActor->currentPos.x, partnerActor->currentPos.y, partnerActor->currentPos.z,
partnerActor->yaw);
sfx_play_sound(0x148);
sfx_play_sound(SOUND_SOFT_LAND);
return ApiStatus_DONE1;
}

View File

@ -18,6 +18,7 @@ s32 D_8014F0C8[] = { 0xFFF40000, 0x00000000, 0x08000800, 0x000000FF, 0x00330000,
};
s32 D_8014F110[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000 };
extern s32 D_801512B4;
INCLUDE_ASM(s32, "d5a50_len_5fd0", func_8013F350);
@ -29,7 +30,7 @@ INCLUDE_ASM(s32, "d5a50_len_5fd0", init_menu_icon_list);
INCLUDE_ASM(s32, "d5a50_len_5fd0", func_801413F8);
INCLUDE_ASM(MenuIcon*, "d5a50_len_5fd0", create_icon, s32* iconIndex);
INCLUDE_ASM(HudElement*, "d5a50_len_5fd0", create_icon, s32* iconIndex);
INCLUDE_ASM(s32, "d5a50_len_5fd0", update_menu_icons);
@ -63,21 +64,47 @@ INCLUDE_ASM(s32, "d5a50_len_5fd0", draw_icon_2);
INCLUDE_ASM(s32, "d5a50_len_5fd0", set_menu_icon_script);
INCLUDE_ASM(s32, "d5a50_len_5fd0", get_menu_icon_script);
s32* get_menu_icon_script(s32 arg0) {
return gHudElementList[arg0 & ~0x800]->startReadPos;
}
INCLUDE_ASM(s32, "d5a50_len_5fd0", get_menu_icon);
HudElement* get_menu_icon(s32 arg0) {
return gHudElementList[arg0 & ~0x800];
}
INCLUDE_ASM(s32, "d5a50_len_5fd0", free_icon, MenuIcon* iconIndex);
void free_icon(s32 arg0) {
if (gHudElementList[arg0 & ~0x800]->flags & 0x10000) {
func_80145108(arg0 & ~0x800);
}
INCLUDE_ASM(void, "d5a50_len_5fd0", set_icon_render_pos, MenuIcon* iconIndex, s32 posX, s32 posY);
heap_free(gHudElementList[arg0 & ~0x800]);
gHudElementList[arg0 & ~0x800] = NULL;
D_801512B4--;
}
INCLUDE_ASM(s32, "d5a50_len_5fd0", get_icon_render_pos);
void set_icon_render_pos(s32 iconIndex, s32 posX, s32 posY) {
HudElement* hudElement = gHudElementList[iconIndex & ~0x800];
hudElement->renderPosX = posX;
hudElement->renderPosY = posY;
}
void get_icon_render_pos(s32 iconIndex, s32* x, s32* y) {
HudElement* hudElement = gHudElementList[iconIndex & ~0x800];
*x = hudElement->renderPosX;
*y = hudElement->renderPosY;
}
INCLUDE_ASM(s32, "d5a50_len_5fd0", func_801449DC);
INCLUDE_ASM(s32, "d5a50_len_5fd0", set_icon_flags);
void set_icon_flags(s32 iconIndex, s32 flags) {
gHudElementList[iconIndex & ~0x800]->flags |= flags;
}
INCLUDE_ASM(s32, "d5a50_len_5fd0", clear_icon_flags);
void clear_icon_flags(s32 iconIndex, s32 flags) {
gHudElementList[iconIndex & ~0x800]->flags &= ~flags;
}
INCLUDE_ASM(s32, "d5a50_len_5fd0", func_80144A5C);
@ -89,9 +116,24 @@ INCLUDE_ASM(s32, "d5a50_len_5fd0", func_80144E4C);
INCLUDE_ASM(s32, "d5a50_len_5fd0", func_80144E74);
INCLUDE_ASM(s32, "d5a50_len_5fd0", icon_set_opacity);
void icon_set_opacity(s32 iconIndex, s32 opacity) {
HudElement* hudElement = gHudElementList[iconIndex & ~0x800];
INCLUDE_ASM(s32, "d5a50_len_5fd0", icon_set_tint);
hudElement->flags |= 0x20;
hudElement->opacity = opacity;
if (opacity == 255) {
hudElement->flags &= ~0x20;
}
}
void icon_set_tint(s32 iconIndex, s8 tint1, s8 tint2, s8 tint3) {
HudElement* hudElement = gHudElementList[iconIndex & ~0x800];
hudElement->tint[0] = tint1;
hudElement->tint[1] = tint2;
hudElement->tint[2] = tint3;
}
INCLUDE_ASM(s32, "d5a50_len_5fd0", func_80144F28);

View File

@ -43,8 +43,7 @@ def main():
arg = sys.argv[1]
if arg == "-h" or arg == "--help":
sys.exit("Usage: ./m2ctx.py path/to/file.c\n" \
"or ./m2ctx.py (from an actor or gamestate's asm dir)\n" \
"Output will be saved in oot/ctx.c")
"Output will be saved in the project root as ctx.c")
c_file_path = Path.cwd() / sys.argv[1]
else:
this_dir = Path.cwd()

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80248170
/* 1689D0 80248170 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1689D4 80248174 3C038016 */ lui $v1, %hi(gUIPanels)
/* 1689D8 80248178 24639D50 */ addiu $v1, $v1, %lo(gUIPanels)
/* 1689DC 8024817C 00041140 */ sll $v0, $a0, 5
/* 1689E0 80248180 00432821 */ addu $a1, $v0, $v1
/* 1689E4 80248184 AFBF0010 */ sw $ra, 0x10($sp)
/* 1689E8 80248188 90A3001C */ lbu $v1, 0x1c($a1)
/* 1689EC 8024818C 24020008 */ addiu $v0, $zero, 8
/* 1689F0 80248190 14620006 */ bne $v1, $v0, .L802481AC
/* 1689F4 80248194 00000000 */ nop
/* 1689F8 80248198 90A20000 */ lbu $v0, ($a1)
/* 1689FC 8024819C 304200F7 */ andi $v0, $v0, 0xf7
/* 168A00 802481A0 A0A20000 */ sb $v0, ($a1)
/* 168A04 802481A4 0C051F9F */ jal set_window_update
/* 168A08 802481A8 24050001 */ addiu $a1, $zero, 1
.L802481AC:
/* 168A0C 802481AC 8FBF0010 */ lw $ra, 0x10($sp)
/* 168A10 802481B0 03E00008 */ jr $ra
/* 168A14 802481B4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,98 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel PlayerLandJump
/* 1A23E4 80273B04 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1A23E8 80273B08 AFB00018 */ sw $s0, 0x18($sp)
/* 1A23EC 80273B0C 3C10800E */ lui $s0, %hi(gBattleStatus+0xD8)
/* 1A23F0 80273B10 8E10C148 */ lw $s0, %lo(gBattleStatus+0xD8)($s0)
/* 1A23F4 80273B14 AFBF0020 */ sw $ra, 0x20($sp)
/* 1A23F8 80273B18 AFB1001C */ sw $s1, 0x1c($sp)
/* 1A23FC 80273B1C 10A00002 */ beqz $a1, .L80273B28
/* 1A2400 80273B20 2611000C */ addiu $s1, $s0, 0xc
/* 1A2404 80273B24 AC800070 */ sw $zero, 0x70($a0)
.L80273B28:
/* 1A2408 80273B28 8C820070 */ lw $v0, 0x70($a0)
/* 1A240C 80273B2C 14400008 */ bnez $v0, .L80273B50
/* 1A2410 80273B30 24020001 */ addiu $v0, $zero, 1
/* 1A2414 80273B34 C6000144 */ lwc1 $f0, 0x144($s0)
/* 1A2418 80273B38 C6020148 */ lwc1 $f2, 0x148($s0)
/* 1A241C 80273B3C C604014C */ lwc1 $f4, 0x14c($s0)
/* 1A2420 80273B40 E600000C */ swc1 $f0, 0xc($s0)
/* 1A2424 80273B44 E6020010 */ swc1 $f2, 0x10($s0)
/* 1A2428 80273B48 E6040014 */ swc1 $f4, 0x14($s0)
/* 1A242C 80273B4C AC820070 */ sw $v0, 0x70($a0)
.L80273B50:
/* 1A2430 80273B50 C6020050 */ lwc1 $f2, 0x50($s0)
/* 1A2434 80273B54 44800000 */ mtc1 $zero, $f0
/* 1A2438 80273B58 00000000 */ nop
/* 1A243C 80273B5C 4602003C */ c.lt.s $f0, $f2
/* 1A2440 80273B60 00000000 */ nop
/* 1A2444 80273B64 45000006 */ bc1f .L80273B80
/* 1A2448 80273B68 00000000 */ nop
/* 1A244C 80273B6C 8E060064 */ lw $a2, 0x64($s0)
/* 1A2450 80273B70 10C00003 */ beqz $a2, .L80273B80
/* 1A2454 80273B74 0000202D */ daddu $a0, $zero, $zero
/* 1A2458 80273B78 0C098F3F */ jal set_animation
/* 1A245C 80273B7C 0080282D */ daddu $a1, $a0, $zero
.L80273B80:
/* 1A2460 80273B80 C6220044 */ lwc1 $f2, 0x44($s1)
/* 1A2464 80273B84 44800000 */ mtc1 $zero, $f0
/* 1A2468 80273B88 00000000 */ nop
/* 1A246C 80273B8C 4600103C */ c.lt.s $f2, $f0
/* 1A2470 80273B90 00000000 */ nop
/* 1A2474 80273B94 45000006 */ bc1f .L80273BB0
/* 1A2478 80273B98 00000000 */ nop
/* 1A247C 80273B9C 8E26005C */ lw $a2, 0x5c($s1)
/* 1A2480 80273BA0 10C00003 */ beqz $a2, .L80273BB0
/* 1A2484 80273BA4 0000202D */ daddu $a0, $zero, $zero
/* 1A2488 80273BA8 0C098F3F */ jal set_animation
/* 1A248C 80273BAC 0080282D */ daddu $a1, $a0, $zero
.L80273BB0:
/* 1A2490 80273BB0 C6240004 */ lwc1 $f4, 4($s1)
/* 1A2494 80273BB4 C6200044 */ lwc1 $f0, 0x44($s1)
/* 1A2498 80273BB8 8E250040 */ lw $a1, 0x40($s1)
/* 1A249C 80273BBC 46002100 */ add.s $f4, $f4, $f0
/* 1A24A0 80273BC0 C622003C */ lwc1 $f2, 0x3c($s1)
/* 1A24A4 80273BC4 8E260048 */ lw $a2, 0x48($s1)
/* 1A24A8 80273BC8 46020001 */ sub.s $f0, $f0, $f2
/* 1A24AC 80273BCC 0220202D */ daddu $a0, $s1, $zero
/* 1A24B0 80273BD0 E6240004 */ swc1 $f4, 4($s1)
/* 1A24B4 80273BD4 0C09904A */ jal add_xz_vec3f
/* 1A24B8 80273BD8 E6200044 */ swc1 $f0, 0x44($s1)
/* 1A24BC 80273BDC C6200000 */ lwc1 $f0, ($s1)
/* 1A24C0 80273BE0 44802000 */ mtc1 $zero, $f4
/* 1A24C4 80273BE4 E6000144 */ swc1 $f0, 0x144($s0)
/* 1A24C8 80273BE8 C6200004 */ lwc1 $f0, 4($s1)
/* 1A24CC 80273BEC E6000148 */ swc1 $f0, 0x148($s0)
/* 1A24D0 80273BF0 46000086 */ mov.s $f2, $f0
/* 1A24D4 80273BF4 C6200008 */ lwc1 $f0, 8($s1)
/* 1A24D8 80273BF8 4604103C */ c.lt.s $f2, $f4
/* 1A24DC 80273BFC 00000000 */ nop
/* 1A24E0 80273C00 45010003 */ bc1t .L80273C10
/* 1A24E4 80273C04 E600014C */ swc1 $f0, 0x14c($s0)
/* 1A24E8 80273C08 0809CF14 */ j .L80273C50
/* 1A24EC 80273C0C 0000102D */ daddu $v0, $zero, $zero
.L80273C10:
/* 1A24F0 80273C10 C600018C */ lwc1 $f0, 0x18c($s0)
/* 1A24F4 80273C14 E6040148 */ swc1 $f4, 0x148($s0)
/* 1A24F8 80273C18 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1A24FC 80273C1C 8E050144 */ lw $a1, 0x144($s0)
/* 1A2500 80273C20 8E060148 */ lw $a2, 0x148($s0)
/* 1A2504 80273C24 8E07014C */ lw $a3, 0x14c($s0)
/* 1A2508 80273C28 0C0990BC */ jal play_movement_dust_effects
/* 1A250C 80273C2C 24040002 */ addiu $a0, $zero, 2
/* 1A2510 80273C30 C600014C */ lwc1 $f0, 0x14c($s0)
/* 1A2514 80273C34 24040148 */ addiu $a0, $zero, 0x148
/* 1A2518 80273C38 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1A251C 80273C3C 8E060144 */ lw $a2, 0x144($s0)
/* 1A2520 80273C40 8E070148 */ lw $a3, 0x148($s0)
/* 1A2524 80273C44 0C052757 */ jal sfx_play_sound_at_position
/* 1A2528 80273C48 0000282D */ daddu $a1, $zero, $zero
/* 1A252C 80273C4C 24020001 */ addiu $v0, $zero, 1
.L80273C50:
/* 1A2530 80273C50 8FBF0020 */ lw $ra, 0x20($sp)
/* 1A2534 80273C54 8FB1001C */ lw $s1, 0x1c($sp)
/* 1A2538 80273C58 8FB00018 */ lw $s0, 0x18($sp)
/* 1A253C 80273C5C 03E00008 */ jr $ra
/* 1A2540 80273C60 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004DA74
/* 28E74 8004DA74 3C04800A */ lui $a0, %hi(D_8009A664)
/* 28E78 8004DA78 8C84A664 */ lw $a0, %lo(D_8009A664)($a0)
/* 28E7C 8004DA7C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 28E80 8004DA80 AFBF0010 */ sw $ra, 0x10($sp)
/* 28E84 8004DA84 0C0136AA */ jal func_8004DAA8
/* 28E88 8004DA88 00000000 */ nop
/* 28E8C 8004DA8C 3C04800A */ lui $a0, %hi(D_8009A5FC)
/* 28E90 8004DA90 8C84A5FC */ lw $a0, %lo(D_8009A5FC)($a0)
/* 28E94 8004DA94 0C0136AA */ jal func_8004DAA8
/* 28E98 8004DA98 00000000 */ nop
/* 28E9C 8004DA9C 8FBF0010 */ lw $ra, 0x10($sp)
/* 28EA0 8004DAA0 03E00008 */ jr $ra
/* 28EA4 8004DAA4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004DAE0
/* 28EE0 8004DAE0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 28EE4 8004DAE4 AFB00010 */ sw $s0, 0x10($sp)
/* 28EE8 8004DAE8 0080802D */ daddu $s0, $a0, $zero
/* 28EEC 8004DAEC 12000009 */ beqz $s0, .L8004DB14
/* 28EF0 8004DAF0 AFBF0014 */ sw $ra, 0x14($sp)
/* 28EF4 8004DAF4 0C0135E5 */ jal snd_get_player_with_song_name
/* 28EF8 8004DAF8 00000000 */ nop
/* 28EFC 8004DAFC 50400006 */ beql $v0, $zero, .L8004DB18
/* 28F00 8004DB00 24020002 */ addiu $v0, $zero, 2
/* 28F04 8004DB04 8C42001C */ lw $v0, 0x1c($v0)
/* 28F08 8004DB08 02021026 */ xor $v0, $s0, $v0
/* 28F0C 8004DB0C 080136C6 */ j .L8004DB18
/* 28F10 8004DB10 2C420001 */ sltiu $v0, $v0, 1
.L8004DB14:
/* 28F14 8004DB14 24020003 */ addiu $v0, $zero, 3
.L8004DB18:
/* 28F18 8004DB18 8FBF0014 */ lw $ra, 0x14($sp)
/* 28F1C 8004DB1C 8FB00010 */ lw $s0, 0x10($sp)
/* 28F20 8004DB20 03E00008 */ jr $ra
/* 28F24 8004DB24 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,7 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8005087C
/* 2BC7C 8005087C AC850204 */ sw $a1, 0x204($a0)
/* 2BC80 80050880 03E00008 */ jr $ra
/* 2BC84 80050884 A0860232 */ sb $a2, 0x232($a0)

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel clear_icon_flags
/* DB12C 80144A2C 2402F7FF */ addiu $v0, $zero, -0x801
/* DB130 80144A30 00822024 */ and $a0, $a0, $v0
/* DB134 80144A34 3C028015 */ lui $v0, %hi(D_80157960)
/* DB138 80144A38 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB13C 80144A3C 00042080 */ sll $a0, $a0, 2
/* DB140 80144A40 00822021 */ addu $a0, $a0, $v0
/* DB144 80144A44 8C830000 */ lw $v1, ($a0)
/* DB148 80144A48 8C620000 */ lw $v0, ($v1)
/* DB14C 80144A4C 00052827 */ nor $a1, $zero, $a1
/* DB150 80144A50 00451024 */ and $v0, $v0, $a1
/* DB154 80144A54 03E00008 */ jr $ra
/* DB158 80144A58 AC620000 */ sw $v0, ($v1)

View File

@ -2,8 +2,8 @@
.set noreorder # don't insert nops after branches
glabel create_icon
/* D7BA4 801414A4 3C038015 */ lui $v1, %hi(D_80157960)
/* D7BA8 801414A8 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* D7BA4 801414A4 3C038015 */ lui $v1, %hi(gHudElementList)
/* D7BA8 801414A8 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* D7BAC 801414AC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* D7BB0 801414B0 AFB20018 */ sw $s2, 0x18($sp)
/* D7BB4 801414B4 0080902D */ daddu $s2, $a0, $zero
@ -30,8 +30,8 @@ glabel create_icon
/* D7BF8 801414F8 0C00AB39 */ jal heap_malloc
/* D7BFC 801414FC 24040054 */ addiu $a0, $zero, 0x54
/* D7C00 80141500 00112080 */ sll $a0, $s1, 2
/* D7C04 80141504 3C038015 */ lui $v1, %hi(D_80157960)
/* D7C08 80141508 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* D7C04 80141504 3C038015 */ lui $v1, %hi(gHudElementList)
/* D7C08 80141508 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* D7C0C 8014150C 3C058015 */ lui $a1, %hi(D_801512B4)
/* D7C10 80141510 24A512B4 */ addiu $a1, $a1, %lo(D_801512B4)
/* D7C14 80141514 00832021 */ addu $a0, $a0, $v1

View File

@ -5,8 +5,8 @@ glabel draw_menu_icon
/* DA998 80144298 27BDFFB8 */ addiu $sp, $sp, -0x48
/* DA99C 8014429C 2402F7FF */ addiu $v0, $zero, -0x801
/* DA9A0 801442A0 00822024 */ and $a0, $a0, $v0
/* DA9A4 801442A4 3C028015 */ lui $v0, %hi(D_80157960)
/* DA9A8 801442A8 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DA9A4 801442A4 3C028015 */ lui $v0, %hi(gHudElementList)
/* DA9A8 801442A8 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DA9AC 801442AC 00042080 */ sll $a0, $a0, 2
/* DA9B0 801442B0 AFBF0044 */ sw $ra, 0x44($sp)
/* DA9B4 801442B4 AFB60040 */ sw $s6, 0x40($sp)

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel free_icon
/* DAFF4 801448F4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* DAFF8 801448F8 2402F7FF */ addiu $v0, $zero, -0x801
/* DAFFC 801448FC 00822024 */ and $a0, $a0, $v0
/* DB000 80144900 AFB10014 */ sw $s1, 0x14($sp)
/* DB004 80144904 3C118015 */ lui $s1, %hi(D_80157960)
/* DB008 80144908 26317960 */ addiu $s1, $s1, %lo(D_80157960)
/* DB00C 8014490C AFBF0018 */ sw $ra, 0x18($sp)
/* DB010 80144910 AFB00010 */ sw $s0, 0x10($sp)
/* DB014 80144914 8E220000 */ lw $v0, ($s1)
/* DB018 80144918 00048080 */ sll $s0, $a0, 2
/* DB01C 8014491C 02021021 */ addu $v0, $s0, $v0
/* DB020 80144920 8C420000 */ lw $v0, ($v0)
/* DB024 80144924 8C420000 */ lw $v0, ($v0)
/* DB028 80144928 3C030001 */ lui $v1, 1
/* DB02C 8014492C 00431024 */ and $v0, $v0, $v1
/* DB030 80144930 10400003 */ beqz $v0, .L80144940
/* DB034 80144934 00000000 */ nop
/* DB038 80144938 0C051442 */ jal func_80145108
/* DB03C 8014493C 00000000 */ nop
.L80144940:
/* DB040 80144940 8E220000 */ lw $v0, ($s1)
/* DB044 80144944 02021021 */ addu $v0, $s0, $v0
/* DB048 80144948 0C00AB4B */ jal heap_free
/* DB04C 8014494C 8C440000 */ lw $a0, ($v0)
/* DB050 80144950 3C048015 */ lui $a0, %hi(D_801512B4)
/* DB054 80144954 248412B4 */ addiu $a0, $a0, %lo(D_801512B4)
/* DB058 80144958 8E220000 */ lw $v0, ($s1)
/* DB05C 8014495C 8C830000 */ lw $v1, ($a0)
/* DB060 80144960 02021021 */ addu $v0, $s0, $v0
/* DB064 80144964 2463FFFF */ addiu $v1, $v1, -1
/* DB068 80144968 AC400000 */ sw $zero, ($v0)
/* DB06C 8014496C AC830000 */ sw $v1, ($a0)
/* DB070 80144970 8FBF0018 */ lw $ra, 0x18($sp)
/* DB074 80144974 8FB10014 */ lw $s1, 0x14($sp)
/* DB078 80144978 8FB00010 */ lw $s0, 0x10($sp)
/* DB07C 8014497C 03E00008 */ jr $ra
/* DB080 80144980 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -11,8 +11,8 @@ glabel func_80141100
/* D7818 80141118 00000000 */ nop
/* D781C 8014111C 3C028015 */ lui $v0, %hi(D_80156F60)
/* D7820 80141120 24426F60 */ addiu $v0, $v0, %lo(D_80156F60)
/* D7824 80141124 3C018015 */ lui $at, %hi(D_80157960)
/* D7828 80141128 AC227960 */ sw $v0, %lo(D_80157960)($at)
/* D7824 80141124 3C018015 */ lui $at, %hi(gHudElementList)
/* D7828 80141128 AC227960 */ sw $v0, %lo(gHudElementList)($at)
/* D782C 8014112C 3C028015 */ lui $v0, %hi(D_80157968)
/* D7830 80141130 24427968 */ addiu $v0, $v0, %lo(D_80157968)
/* D7834 80141134 3C018015 */ lui $at, %hi(D_8015133C)
@ -28,8 +28,8 @@ glabel func_80141100
.L8014115C:
/* D785C 8014115C 3C028015 */ lui $v0, %hi(D_80157460)
/* D7860 80141160 24427460 */ addiu $v0, $v0, %lo(D_80157460)
/* D7864 80141164 3C018015 */ lui $at, %hi(D_80157960)
/* D7868 80141168 AC227960 */ sw $v0, %lo(D_80157960)($at)
/* D7864 80141164 3C018015 */ lui $at, %hi(gHudElementList)
/* D7868 80141168 AC227960 */ sw $v0, %lo(gHudElementList)($at)
/* D786C 8014116C 3C028016 */ lui $v0, %hi(D_80158574)
/* D7870 80141170 24428574 */ addiu $v0, $v0, %lo(D_80158574)
/* D7874 80141174 3C018015 */ lui $at, %hi(D_8015133C)
@ -124,8 +124,8 @@ glabel func_80141100
/* D79B4 801412B4 1440FFFA */ bnez $v0, .L801412A0
/* D79B8 801412B8 24630008 */ addiu $v1, $v1, 8
.L801412BC:
/* D79BC 801412BC 3C028015 */ lui $v0, %hi(D_80157960)
/* D79C0 801412C0 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* D79BC 801412BC 3C028015 */ lui $v0, %hi(gHudElementList)
/* D79C0 801412C0 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* D79C4 801412C4 2404013F */ addiu $a0, $zero, 0x13f
/* D79C8 801412C8 244204FC */ addiu $v0, $v0, 0x4fc
.L801412CC:

View File

@ -30,8 +30,8 @@ glabel func_80142210
/* D8970 80142270 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* D8974 80142274 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* D8978 80142278 8C620000 */ lw $v0, ($v1)
/* D897C 8014227C 3C058015 */ lui $a1, %hi(D_80157960)
/* D8980 80142280 8CA57960 */ lw $a1, %lo(D_80157960)($a1)
/* D897C 8014227C 3C058015 */ lui $a1, %hi(gHudElementList)
/* D8980 80142280 8CA57960 */ lw $a1, %lo(gHudElementList)($a1)
/* D8984 80142284 0040202D */ daddu $a0, $v0, $zero
/* D8988 80142288 24420008 */ addiu $v0, $v0, 8
/* D898C 8014228C AC620000 */ sw $v0, ($v1)
@ -70,8 +70,8 @@ glabel func_80142210
/* D8A08 80142308 27C2FFFF */ addiu $v0, $fp, -1
/* D8A0C 8014230C 18400024 */ blez $v0, .L801423A0
/* D8A10 80142310 0000B82D */ daddu $s7, $zero, $zero
/* D8A14 80142314 3C0D8015 */ lui $t5, %hi(D_80157960)
/* D8A18 80142318 25AD7960 */ addiu $t5, $t5, %lo(D_80157960)
/* D8A14 80142314 3C0D8015 */ lui $t5, %hi(gHudElementList)
/* D8A18 80142318 25AD7960 */ addiu $t5, $t5, %lo(gHudElementList)
/* D8A1C 8014231C 27AC0028 */ addiu $t4, $sp, 0x28
/* D8A20 80142320 0180582D */ daddu $t3, $t4, $zero
.L80142324:
@ -116,8 +116,8 @@ glabel func_80142210
.L801423AC:
/* D8AAC 801423AC 03A21021 */ addu $v0, $sp, $v0
/* D8AB0 801423B0 8C420028 */ lw $v0, 0x28($v0)
/* D8AB4 801423B4 3C038015 */ lui $v1, %hi(D_80157960)
/* D8AB8 801423B8 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* D8AB4 801423B4 3C038015 */ lui $v1, %hi(gHudElementList)
/* D8AB8 801423B8 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* D8ABC 801423BC 00021080 */ sll $v0, $v0, 2
/* D8AC0 801423C0 00431021 */ addu $v0, $v0, $v1
/* D8AC4 801423C4 8C500000 */ lw $s0, ($v0)

View File

@ -21,8 +21,8 @@ glabel func_8014271C
/* D8E5C 8014275C AFB1052C */ sw $s1, 0x52c($sp)
/* D8E60 80142760 AFB00528 */ sw $s0, 0x528($sp)
/* D8E64 80142764 8C620000 */ lw $v0, ($v1)
/* D8E68 80142768 3C058015 */ lui $a1, %hi(D_80157960)
/* D8E6C 8014276C 8CA57960 */ lw $a1, %lo(D_80157960)($a1)
/* D8E68 80142768 3C058015 */ lui $a1, %hi(gHudElementList)
/* D8E6C 8014276C 8CA57960 */ lw $a1, %lo(gHudElementList)($a1)
/* D8E70 80142770 0040202D */ daddu $a0, $v0, $zero
/* D8E74 80142774 24420008 */ addiu $v0, $v0, 8
/* D8E78 80142778 AC620000 */ sw $v0, ($v1)
@ -61,8 +61,8 @@ glabel func_8014271C
/* D8EF4 801427F4 27C2FFFF */ addiu $v0, $fp, -1
/* D8EF8 801427F8 18400024 */ blez $v0, .L8014288C
/* D8EFC 801427FC 0000B82D */ daddu $s7, $zero, $zero
/* D8F00 80142800 3C0D8015 */ lui $t5, %hi(D_80157960)
/* D8F04 80142804 25AD7960 */ addiu $t5, $t5, %lo(D_80157960)
/* D8F00 80142800 3C0D8015 */ lui $t5, %hi(gHudElementList)
/* D8F04 80142804 25AD7960 */ addiu $t5, $t5, %lo(gHudElementList)
/* D8F08 80142808 27AC0028 */ addiu $t4, $sp, 0x28
/* D8F0C 8014280C 0180582D */ daddu $t3, $t4, $zero
.L80142810:
@ -107,8 +107,8 @@ glabel func_8014271C
.L80142898:
/* D8F98 80142898 03A21021 */ addu $v0, $sp, $v0
/* D8F9C 8014289C 8C420028 */ lw $v0, 0x28($v0)
/* D8FA0 801428A0 3C038015 */ lui $v1, %hi(D_80157960)
/* D8FA4 801428A4 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* D8FA0 801428A0 3C038015 */ lui $v1, %hi(gHudElementList)
/* D8FA4 801428A4 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* D8FA8 801428A8 00021080 */ sll $v0, $v0, 2
/* D8FAC 801428AC 00431021 */ addu $v0, $v0, $v1
/* D8FB0 801428B0 8C500000 */ lw $s0, ($v0)

View File

@ -336,8 +336,8 @@ glabel func_80143C48
/* DA870 80144170 07C0001D */ bltz $fp, .L801441E8
/* DA874 80144174 2402F7FF */ addiu $v0, $zero, -0x801
/* DA878 80144178 03C2F024 */ and $fp, $fp, $v0
/* DA87C 8014417C 3C038015 */ lui $v1, %hi(D_80157960)
/* DA880 80144180 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* DA87C 8014417C 3C038015 */ lui $v1, %hi(gHudElementList)
/* DA880 80144180 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* DA884 80144184 001E1080 */ sll $v0, $fp, 2
/* DA888 80144188 00431021 */ addu $v0, $v0, $v1
/* DA88C 8014418C 8C440000 */ lw $a0, ($v0)

View File

@ -4,8 +4,8 @@
glabel func_801449DC
/* DB0DC 801449DC 2402F7FF */ addiu $v0, $zero, -0x801
/* DB0E0 801449E0 00822024 */ and $a0, $a0, $v0
/* DB0E4 801449E4 3C028015 */ lui $v0, %hi(D_80157960)
/* DB0E8 801449E8 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB0E4 801449E4 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB0E8 801449E8 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB0EC 801449EC 00042080 */ sll $a0, $a0, 2
/* DB0F0 801449F0 00822021 */ addu $a0, $a0, $v0
/* DB0F4 801449F4 8C820000 */ lw $v0, ($a0)

View File

@ -5,8 +5,8 @@ glabel func_80144DF4
/* DB4F4 80144DF4 2402F7FF */ addiu $v0, $zero, -0x801
/* DB4F8 80144DF8 00822024 */ and $a0, $a0, $v0
/* DB4FC 80144DFC 00042080 */ sll $a0, $a0, 2
/* DB500 80144E00 3C028015 */ lui $v0, %hi(D_80157960)
/* DB504 80144E04 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB500 80144E00 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB504 80144E04 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB508 80144E08 3C013F80 */ lui $at, 0x3f80
/* DB50C 80144E0C 44810000 */ mtc1 $at, $f0
/* DB510 80144E10 00822021 */ addu $a0, $a0, $v0

View File

@ -4,8 +4,8 @@
glabel func_80144E4C
/* DB54C 80144E4C 2402F7FF */ addiu $v0, $zero, -0x801
/* DB550 80144E50 00822024 */ and $a0, $a0, $v0
/* DB554 80144E54 3C028015 */ lui $v0, %hi(D_80157960)
/* DB558 80144E58 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB554 80144E54 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB558 80144E58 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB55C 80144E5C 00042080 */ sll $a0, $a0, 2
/* DB560 80144E60 00822021 */ addu $a0, $a0, $v0
/* DB564 80144E64 8C820000 */ lw $v0, ($a0)

View File

@ -5,8 +5,8 @@ glabel func_80144E74
/* DB574 80144E74 2402F7FF */ addiu $v0, $zero, -0x801
/* DB578 80144E78 00822024 */ and $a0, $a0, $v0
/* DB57C 80144E7C 00042080 */ sll $a0, $a0, 2
/* DB580 80144E80 3C028015 */ lui $v0, %hi(D_80157960)
/* DB584 80144E84 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB580 80144E80 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB584 80144E84 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB588 80144E88 3C03F0FF */ lui $v1, 0xf0ff
/* DB58C 80144E8C 00822021 */ addu $a0, $a0, $v0
/* DB590 80144E90 8C840000 */ lw $a0, ($a0)

View File

@ -5,8 +5,8 @@ glabel func_80144F28
/* DB628 80144F28 27BDFFE0 */ addiu $sp, $sp, -0x20
/* DB62C 80144F2C 2402F7FF */ addiu $v0, $zero, -0x801
/* DB630 80144F30 00821024 */ and $v0, $a0, $v0
/* DB634 80144F34 3C038015 */ lui $v1, %hi(D_80157960)
/* DB638 80144F38 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* DB634 80144F34 3C038015 */ lui $v1, %hi(gHudElementList)
/* DB638 80144F38 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* DB63C 80144F3C 00021080 */ sll $v0, $v0, 2
/* DB640 80144F40 AFBF0018 */ sw $ra, 0x18($sp)
/* DB644 80144F44 AFB10014 */ sw $s1, 0x14($sp)

View File

@ -6,8 +6,8 @@ glabel func_80144FD8
/* DB6DC 80144FDC 2402F7FF */ addiu $v0, $zero, -0x801
/* DB6E0 80144FE0 00821024 */ and $v0, $a0, $v0
/* DB6E4 80144FE4 00021080 */ sll $v0, $v0, 2
/* DB6E8 80144FE8 3C038015 */ lui $v1, %hi(D_80157960)
/* DB6EC 80144FEC 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* DB6E8 80144FE8 3C038015 */ lui $v1, %hi(gHudElementList)
/* DB6EC 80144FEC 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* DB6F0 80144FF0 AFBF0014 */ sw $ra, 0x14($sp)
/* DB6F4 80144FF4 AFB00010 */ sw $s0, 0x10($sp)
/* DB6F8 80144FF8 00431021 */ addu $v0, $v0, $v1

View File

@ -6,8 +6,8 @@ glabel func_80145070
/* DB774 80145074 2402F7FF */ addiu $v0, $zero, -0x801
/* DB778 80145078 00821024 */ and $v0, $a0, $v0
/* DB77C 8014507C 00021080 */ sll $v0, $v0, 2
/* DB780 80145080 3C038015 */ lui $v1, %hi(D_80157960)
/* DB784 80145084 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* DB780 80145080 3C038015 */ lui $v1, %hi(gHudElementList)
/* DB784 80145084 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* DB788 80145088 AFBF0014 */ sw $ra, 0x14($sp)
/* DB78C 8014508C AFB00010 */ sw $s0, 0x10($sp)
/* DB790 80145090 00431021 */ addu $v0, $v0, $v1

View File

@ -5,8 +5,8 @@ glabel func_80145108
/* DB808 80145108 27BDFFE8 */ addiu $sp, $sp, -0x18
/* DB80C 8014510C 2402F7FF */ addiu $v0, $zero, -0x801
/* DB810 80145110 00822024 */ and $a0, $a0, $v0
/* DB814 80145114 3C028015 */ lui $v0, %hi(D_80157960)
/* DB818 80145118 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB814 80145114 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB818 80145118 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB81C 8014511C 00042080 */ sll $a0, $a0, 2
/* DB820 80145120 AFBF0014 */ sw $ra, 0x14($sp)
/* DB824 80145124 AFB00010 */ sw $s0, 0x10($sp)

View File

@ -6,8 +6,8 @@ glabel func_80145184
/* DB888 80145188 00822024 */ and $a0, $a0, $v0
/* DB88C 8014518C 00042080 */ sll $a0, $a0, 2
/* DB890 80145190 3C030001 */ lui $v1, 1
/* DB894 80145194 3C028015 */ lui $v0, %hi(D_80157960)
/* DB898 80145198 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB894 80145194 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB898 80145198 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB89C 8014519C 44850000 */ mtc1 $a1, $f0
/* DB8A0 801451A0 00822021 */ addu $a0, $a0, $v0
/* DB8A4 801451A4 8C840000 */ lw $a0, ($a0)

View File

@ -6,8 +6,8 @@ glabel func_801451D4
/* DB8D8 801451D8 00822024 */ and $a0, $a0, $v0
/* DB8DC 801451DC 00042080 */ sll $a0, $a0, 2
/* DB8E0 801451E0 3C030001 */ lui $v1, 1
/* DB8E4 801451E4 3C028015 */ lui $v0, %hi(D_80157960)
/* DB8E8 801451E8 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB8E4 801451E4 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB8E8 801451E8 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB8EC 801451EC 44850000 */ mtc1 $a1, $f0
/* DB8F0 801451F0 00822021 */ addu $a0, $a0, $v0
/* DB8F4 801451F4 8C840000 */ lw $a0, ($a0)

View File

@ -6,8 +6,8 @@ glabel func_80145224
/* DB928 80145228 00822024 */ and $a0, $a0, $v0
/* DB92C 8014522C 00042080 */ sll $a0, $a0, 2
/* DB930 80145230 3C030001 */ lui $v1, 1
/* DB934 80145234 3C028015 */ lui $v0, %hi(D_80157960)
/* DB938 80145238 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB934 80145234 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB938 80145238 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB93C 8014523C 44850000 */ mtc1 $a1, $f0
/* DB940 80145240 00822021 */ addu $a0, $a0, $v0
/* DB944 80145244 8C840000 */ lw $a0, ($a0)

View File

@ -4,8 +4,8 @@
glabel func_80145274
/* DB974 80145274 2402F7FF */ addiu $v0, $zero, -0x801
/* DB978 80145278 00822024 */ and $a0, $a0, $v0
/* DB97C 8014527C 3C028015 */ lui $v0, %hi(D_80157960)
/* DB980 80145280 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB97C 8014527C 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB980 80145280 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB984 80145284 00042080 */ sll $a0, $a0, 2
/* DB988 80145288 00822021 */ addu $a0, $a0, $v0
/* DB98C 8014528C 8C840000 */ lw $a0, ($a0)

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_icon_render_pos
/* DB0AC 801449AC 2402F7FF */ addiu $v0, $zero, -0x801
/* DB0B0 801449B0 00822024 */ and $a0, $a0, $v0
/* DB0B4 801449B4 3C028015 */ lui $v0, %hi(D_80157960)
/* DB0B8 801449B8 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB0BC 801449BC 00042080 */ sll $a0, $a0, 2
/* DB0C0 801449C0 00822021 */ addu $a0, $a0, $v0
/* DB0C4 801449C4 8C830000 */ lw $v1, ($a0)
/* DB0C8 801449C8 8462003C */ lh $v0, 0x3c($v1)
/* DB0CC 801449CC ACA20000 */ sw $v0, ($a1)
/* DB0D0 801449D0 8462003E */ lh $v0, 0x3e($v1)
/* DB0D4 801449D4 03E00008 */ jr $ra
/* DB0D8 801449D8 ACC20000 */ sw $v0, ($a2)

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_menu_icon
/* DAFD4 801448D4 2402F7FF */ addiu $v0, $zero, -0x801
/* DAFD8 801448D8 00822024 */ and $a0, $a0, $v0
/* DAFDC 801448DC 3C028015 */ lui $v0, %hi(D_80157960)
/* DAFE0 801448E0 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DAFE4 801448E4 00042080 */ sll $a0, $a0, 2
/* DAFE8 801448E8 00822021 */ addu $a0, $a0, $v0
/* DAFEC 801448EC 03E00008 */ jr $ra
/* DAFF0 801448F0 8C820000 */ lw $v0, ($a0)

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_menu_icon_script
/* DAFB0 801448B0 2402F7FF */ addiu $v0, $zero, -0x801
/* DAFB4 801448B4 00822024 */ and $a0, $a0, $v0
/* DAFB8 801448B8 3C028015 */ lui $v0, %hi(D_80157960)
/* DAFBC 801448BC 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DAFC0 801448C0 00042080 */ sll $a0, $a0, 2
/* DAFC4 801448C4 00822021 */ addu $a0, $a0, $v0
/* DAFC8 801448C8 8C820000 */ lw $v0, ($a0)
/* DAFCC 801448CC 03E00008 */ jr $ra
/* DAFD0 801448D0 8C420008 */ lw $v0, 8($v0)

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel icon_set_opacity
/* DB5B0 80144EB0 2402F7FF */ addiu $v0, $zero, -0x801
/* DB5B4 80144EB4 00822024 */ and $a0, $a0, $v0
/* DB5B8 80144EB8 3C028015 */ lui $v0, %hi(D_80157960)
/* DB5BC 80144EBC 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB5C0 80144EC0 00042080 */ sll $a0, $a0, 2
/* DB5C4 80144EC4 00822021 */ addu $a0, $a0, $v0
/* DB5C8 80144EC8 8C840000 */ lw $a0, ($a0)
/* DB5CC 80144ECC 8C820000 */ lw $v0, ($a0)
/* DB5D0 80144ED0 A085004A */ sb $a1, 0x4a($a0)
/* DB5D4 80144ED4 34420020 */ ori $v0, $v0, 0x20
/* DB5D8 80144ED8 AC820000 */ sw $v0, ($a0)
/* DB5DC 80144EDC 240200FF */ addiu $v0, $zero, 0xff
/* DB5E0 80144EE0 14A20004 */ bne $a1, $v0, .L80144EF4
/* DB5E4 80144EE4 2403FFDF */ addiu $v1, $zero, -0x21
/* DB5E8 80144EE8 8C820000 */ lw $v0, ($a0)
/* DB5EC 80144EEC 00431024 */ and $v0, $v0, $v1
/* DB5F0 80144EF0 AC820000 */ sw $v0, ($a0)
.L80144EF4:
/* DB5F4 80144EF4 03E00008 */ jr $ra
/* DB5F8 80144EF8 00000000 */ nop

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel icon_set_tint
/* DB5FC 80144EFC 2402F7FF */ addiu $v0, $zero, -0x801
/* DB600 80144F00 00822024 */ and $a0, $a0, $v0
/* DB604 80144F04 3C028015 */ lui $v0, %hi(D_80157960)
/* DB608 80144F08 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB60C 80144F0C 00042080 */ sll $a0, $a0, 2
/* DB610 80144F10 00822021 */ addu $a0, $a0, $v0
/* DB614 80144F14 8C820000 */ lw $v0, ($a0)
/* DB618 80144F18 A045004B */ sb $a1, 0x4b($v0)
/* DB61C 80144F1C A046004C */ sb $a2, 0x4c($v0)
/* DB620 80144F20 03E00008 */ jr $ra
/* DB624 80144F24 A047004D */ sb $a3, 0x4d($v0)

View File

@ -23,8 +23,8 @@ glabel init_menu_icon_list
/* D7A44 80141344 8C637964 */ lw $v1, %lo(D_80157964)($v1)
/* D7A48 80141348 3C028015 */ lui $v0, %hi(D_80156F60)
/* D7A4C 8014134C 24426F60 */ addiu $v0, $v0, %lo(D_80156F60)
/* D7A50 80141350 3C018015 */ lui $at, %hi(D_80157960)
/* D7A54 80141354 AC227960 */ sw $v0, %lo(D_80157960)($at)
/* D7A50 80141350 3C018015 */ lui $at, %hi(gHudElementList)
/* D7A54 80141354 AC227960 */ sw $v0, %lo(gHudElementList)($at)
/* D7A58 80141358 3C028015 */ lui $v0, %hi(D_80157968)
/* D7A5C 8014135C 24427968 */ addiu $v0, $v0, %lo(D_80157968)
/* D7A60 80141360 3C018015 */ lui $at, %hi(D_8015133C)
@ -42,8 +42,8 @@ glabel init_menu_icon_list
/* D7A8C 8014138C 8C638570 */ lw $v1, %lo(D_80158570)($v1)
/* D7A90 80141390 3C028015 */ lui $v0, %hi(D_80157460)
/* D7A94 80141394 24427460 */ addiu $v0, $v0, %lo(D_80157460)
/* D7A98 80141398 3C018015 */ lui $at, %hi(D_80157960)
/* D7A9C 8014139C AC227960 */ sw $v0, %lo(D_80157960)($at)
/* D7A98 80141398 3C018015 */ lui $at, %hi(gHudElementList)
/* D7A9C 8014139C AC227960 */ sw $v0, %lo(gHudElementList)($at)
/* D7AA0 801413A0 3C028016 */ lui $v0, %hi(D_80158574)
/* D7AA4 801413A4 24428574 */ addiu $v0, $v0, %lo(D_80158574)
/* D7AA8 801413A8 3C018015 */ lui $at, %hi(D_8015133C)

View File

@ -16,8 +16,8 @@ glabel render_menu_icons
/* D9DE0 801436E0 3C091020 */ lui $t1, 0x1020
/* D9DE4 801436E4 3C080001 */ lui $t0, 1
/* D9DE8 801436E8 3C074000 */ lui $a3, 0x4000
/* D9DEC 801436EC 3C068015 */ lui $a2, %hi(D_80157960)
/* D9DF0 801436F0 8CC67960 */ lw $a2, %lo(D_80157960)($a2)
/* D9DEC 801436EC 3C068015 */ lui $a2, %hi(gHudElementList)
/* D9DF0 801436F0 8CC67960 */ lw $a2, %lo(gHudElementList)($a2)
/* D9DF4 801436F4 27A50010 */ addiu $a1, $sp, 0x10
.L801436F8:
/* D9DF8 801436F8 8CC40000 */ lw $a0, ($a2)
@ -59,8 +59,8 @@ glabel render_menu_icons
/* D9E84 80143784 2642FFFF */ addiu $v0, $s2, -1
/* D9E88 80143788 18400024 */ blez $v0, .L8014381C
/* D9E8C 8014378C 0000882D */ daddu $s1, $zero, $zero
/* D9E90 80143790 3C0C8015 */ lui $t4, %hi(D_80157960)
/* D9E94 80143794 258C7960 */ addiu $t4, $t4, %lo(D_80157960)
/* D9E90 80143790 3C0C8015 */ lui $t4, %hi(gHudElementList)
/* D9E94 80143794 258C7960 */ addiu $t4, $t4, %lo(gHudElementList)
/* D9E98 80143798 27AB0010 */ addiu $t3, $sp, 0x10
/* D9E9C 8014379C 0160502D */ daddu $t2, $t3, $zero
.L801437A0:
@ -178,8 +178,8 @@ glabel render_menu_icons
.L8014394C:
/* DA04C 8014394C 8E020000 */ lw $v0, ($s0)
/* DA050 80143950 26100004 */ addiu $s0, $s0, 4
/* DA054 80143954 3C038015 */ lui $v1, %hi(D_80157960)
/* DA058 80143958 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* DA054 80143954 3C038015 */ lui $v1, %hi(gHudElementList)
/* DA058 80143958 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* DA05C 8014395C 00021080 */ sll $v0, $v0, 2
/* DA060 80143960 00431021 */ addu $v0, $v0, $v1
/* DA064 80143964 8C440000 */ lw $a0, ($v0)
@ -199,8 +199,8 @@ glabel render_menu_icons
/* DA094 80143994 3C091020 */ lui $t1, 0x1020
/* DA098 80143998 3C080001 */ lui $t0, 1
/* DA09C 8014399C 3C074000 */ lui $a3, 0x4000
/* DA0A0 801439A0 3C068015 */ lui $a2, %hi(D_80157960)
/* DA0A4 801439A4 8CC67960 */ lw $a2, %lo(D_80157960)($a2)
/* DA0A0 801439A0 3C068015 */ lui $a2, %hi(gHudElementList)
/* DA0A4 801439A4 8CC67960 */ lw $a2, %lo(gHudElementList)($a2)
/* DA0A8 801439A8 27A50010 */ addiu $a1, $sp, 0x10
.L801439AC:
/* DA0AC 801439AC 8CC40000 */ lw $a0, ($a2)
@ -242,8 +242,8 @@ glabel render_menu_icons
/* DA138 80143A38 2642FFFF */ addiu $v0, $s2, -1
/* DA13C 80143A3C 18400024 */ blez $v0, .L80143AD0
/* DA140 80143A40 0000882D */ daddu $s1, $zero, $zero
/* DA144 80143A44 3C0C8015 */ lui $t4, %hi(D_80157960)
/* DA148 80143A48 258C7960 */ addiu $t4, $t4, %lo(D_80157960)
/* DA144 80143A44 3C0C8015 */ lui $t4, %hi(gHudElementList)
/* DA148 80143A48 258C7960 */ addiu $t4, $t4, %lo(gHudElementList)
/* DA14C 80143A4C 27AB0010 */ addiu $t3, $sp, 0x10
/* DA150 80143A50 0160502D */ daddu $t2, $t3, $zero
.L80143A54:
@ -361,8 +361,8 @@ glabel render_menu_icons
.L80143C00:
/* DA300 80143C00 8E020000 */ lw $v0, ($s0)
/* DA304 80143C04 26100004 */ addiu $s0, $s0, 4
/* DA308 80143C08 3C038015 */ lui $v1, %hi(D_80157960)
/* DA30C 80143C0C 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* DA308 80143C08 3C038015 */ lui $v1, %hi(gHudElementList)
/* DA30C 80143C0C 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* DA310 80143C10 00021080 */ sll $v0, $v0, 2
/* DA314 80143C14 00431021 */ addu $v0, $v0, $v1
/* DA318 80143C18 8C440000 */ lw $a0, ($v0)

View File

@ -5,8 +5,8 @@ glabel set_hud_element_scale
/* DB320 80144C20 2402F7FF */ addiu $v0, $zero, -0x801
/* DB324 80144C24 00822024 */ and $a0, $a0, $v0
/* DB328 80144C28 00042080 */ sll $a0, $a0, 2
/* DB32C 80144C2C 3C028015 */ lui $v0, %hi(D_80157960)
/* DB330 80144C30 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB32C 80144C2C 3C028015 */ lui $v0, %hi(gHudElementList)
/* DB330 80144C30 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DB334 80144C34 44853000 */ mtc1 $a1, $f6
/* DB338 80144C38 00822021 */ addu $a0, $a0, $v0
/* DB33C 80144C3C 8C850000 */ lw $a1, ($a0)

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_icon_flags
/* DB100 80144A00 2402F7FF */ addiu $v0, $zero, -0x801
/* DB104 80144A04 00822024 */ and $a0, $a0, $v0
/* DB108 80144A08 3C028015 */ lui $v0, %hi(D_80157960)
/* DB10C 80144A0C 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB110 80144A10 00042080 */ sll $a0, $a0, 2
/* DB114 80144A14 00822021 */ addu $a0, $a0, $v0
/* DB118 80144A18 8C830000 */ lw $v1, ($a0)
/* DB11C 80144A1C 8C620000 */ lw $v0, ($v1)
/* DB120 80144A20 00451025 */ or $v0, $v0, $a1
/* DB124 80144A24 03E00008 */ jr $ra
/* DB128 80144A28 AC620000 */ sw $v0, ($v1)

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_icon_render_pos
/* DB084 80144984 2402F7FF */ addiu $v0, $zero, -0x801
/* DB088 80144988 00822024 */ and $a0, $a0, $v0
/* DB08C 8014498C 3C028015 */ lui $v0, %hi(D_80157960)
/* DB090 80144990 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DB094 80144994 00042080 */ sll $a0, $a0, 2
/* DB098 80144998 00822021 */ addu $a0, $a0, $v0
/* DB09C 8014499C 8C820000 */ lw $v0, ($a0)
/* DB0A0 801449A0 A445003C */ sh $a1, 0x3c($v0)
/* DB0A4 801449A4 03E00008 */ jr $ra
/* DB0A8 801449A8 A446003E */ sh $a2, 0x3e($v0)

View File

@ -5,8 +5,8 @@ glabel set_menu_icon_script
/* DAEFC 801447FC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* DAF00 80144800 2402F7FF */ addiu $v0, $zero, -0x801
/* DAF04 80144804 00822024 */ and $a0, $a0, $v0
/* DAF08 80144808 3C028015 */ lui $v0, %hi(D_80157960)
/* DAF0C 8014480C 8C427960 */ lw $v0, %lo(D_80157960)($v0)
/* DAF08 80144808 3C028015 */ lui $v0, %hi(gHudElementList)
/* DAF0C 8014480C 8C427960 */ lw $v0, %lo(gHudElementList)($v0)
/* DAF10 80144810 00042080 */ sll $a0, $a0, 2
/* DAF14 80144814 AFBF0014 */ sw $ra, 0x14($sp)
/* DAF18 80144818 AFB00010 */ sw $s0, 0x10($sp)

View File

@ -10,8 +10,8 @@ glabel update_menu_icons
/* D7D24 80141624 AFBF001C */ sw $ra, 0x1c($sp)
/* D7D28 80141628 AFB00010 */ sw $s0, 0x10($sp)
.L8014162C:
/* D7D2C 8014162C 3C038015 */ lui $v1, %hi(D_80157960)
/* D7D30 80141630 8C637960 */ lw $v1, %lo(D_80157960)($v1)
/* D7D2C 8014162C 3C038015 */ lui $v1, %hi(gHudElementList)
/* D7D30 80141630 8C637960 */ lw $v1, %lo(gHudElementList)($v1)
/* D7D34 80141634 00111080 */ sll $v0, $s1, 2
/* D7D38 80141638 00431021 */ addu $v0, $v0, $v1
/* D7D3C 8014163C 8C500000 */ lw $s0, ($v0)

View File

@ -18797,7 +18797,7 @@ D_80156980 = 0x80156980; // type:data
D_80156F20 = 0x80156F20; // type:data
D_80156F60 = 0x80156F60; // type:data
D_80157460 = 0x80157460; // type:data
D_80157960 = 0x80157960; // type:data
gHudElementList = 0x80157960; // type:data
D_80157964 = 0x80157964; // type:data
D_80157968 = 0x80157968; // type:data
D_80157970 = 0x80157970; // type:data

View File

@ -641,7 +641,7 @@ D_80156980 = 0x80156980;
D_80156F20 = 0x80156F20;
D_80156F60 = 0x80156F60;
D_80157460 = 0x80157460;
D_80157960 = 0x80157960;
gHudElementList = 0x80157960;
D_80157964 = 0x80157964;
D_80157968 = 0x80157968;
D_80157970 = 0x80157970;