mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
Match status_icons (#612)
This commit is contained in:
parent
715e469ab9
commit
486dbfda39
@ -437,7 +437,10 @@ void reset_all_actor_sounds(Actor*);
|
||||
void decrement_status_menu_disabled(void);
|
||||
void increment_status_menu_disabled(void);
|
||||
void btl_delete_actor(Actor* actor);
|
||||
void remove_status_4(s32);
|
||||
void create_status_debuff(s32, s32);
|
||||
void create_status_static(s32, s32);
|
||||
void create_status_transparent(s32, s32);
|
||||
void remove_status_chill_out(s32);
|
||||
void remove_status_debuff(s32);
|
||||
void remove_status_icon_boost_hammer(s32);
|
||||
void remove_status_icon_boost_jump(s32);
|
||||
@ -447,6 +450,8 @@ void remove_status_icon_peril(s32);
|
||||
void remove_status_icon_surprise(s32);
|
||||
void remove_status_static(s32);
|
||||
void remove_status_transparent(s32);
|
||||
void remove_all_status_icons(s32);
|
||||
s32 create_status_icon_set(void);
|
||||
s32 find_item(s32);
|
||||
|
||||
void enable_background_wave(void);
|
||||
@ -691,7 +696,6 @@ void update_encounters_neutral(void);
|
||||
void update_encounters_pre_battle(void);
|
||||
void update_encounters_conversation(void);
|
||||
void update_encounters_post_battle(void);
|
||||
void update_merlee_messages(void);
|
||||
void reset_background_settings(void);
|
||||
void func_80138188(void);
|
||||
void func_80268770(s32, s32, s32);
|
||||
@ -703,7 +707,10 @@ void remove_consumable(void);
|
||||
void delete_shadow(s32);
|
||||
void repartner_set_tether_distance(void);
|
||||
void save_tattle_flags(s32);
|
||||
void update_merlee_messages(void);
|
||||
void draw_merlee_messages(void);
|
||||
void show_merlee_message(s16, s16);
|
||||
s32 is_merlee_message_done(void);
|
||||
void draw_encounters_conversation(void);
|
||||
void draw_encounters_post_battle(void);
|
||||
void draw_encounters_pre_battle(void);
|
||||
|
18
src/190B20.c
18
src/190B20.c
@ -2436,30 +2436,30 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
|
||||
}
|
||||
target->unk_228 = playFX_81(0, target->currentPos.x, target->currentPos.y,
|
||||
target->currentPos.z, 1.0f, 0);
|
||||
func_80047820(target->hudElementDataIndex, STATUS_FROZEN);
|
||||
create_status_debuff(target->hudElementDataIndex, STATUS_FROZEN);
|
||||
}
|
||||
return TRUE;
|
||||
case STATUS_SLEEP:
|
||||
func_80266DAC(target, 3);
|
||||
func_80047820(target->hudElementDataIndex, STATUS_SLEEP);
|
||||
create_status_debuff(target->hudElementDataIndex, STATUS_SLEEP);
|
||||
return TRUE;
|
||||
case STATUS_PARALYZE:
|
||||
func_80266DAC(target, 7);
|
||||
func_80047820(target->hudElementDataIndex, STATUS_PARALYZE);
|
||||
create_status_debuff(target->hudElementDataIndex, STATUS_PARALYZE);
|
||||
return TRUE;
|
||||
case STATUS_DIZZY:
|
||||
func_80047820(target->hudElementDataIndex, STATUS_DIZZY);
|
||||
create_status_debuff(target->hudElementDataIndex, STATUS_DIZZY);
|
||||
return TRUE;
|
||||
case STATUS_FEAR:
|
||||
func_80266DAC(target, 5);
|
||||
func_80047820(target->hudElementDataIndex, STATUS_FEAR);
|
||||
create_status_debuff(target->hudElementDataIndex, STATUS_FEAR);
|
||||
return TRUE;
|
||||
case STATUS_POISON:
|
||||
func_80266DAC(target, 6);
|
||||
func_80047820(target->hudElementDataIndex, STATUS_POISON);
|
||||
create_status_debuff(target->hudElementDataIndex, STATUS_POISON);
|
||||
return TRUE;
|
||||
case STATUS_SHRINK:
|
||||
func_80047820(target->hudElementDataIndex, STATUS_SHRINK);
|
||||
create_status_debuff(target->hudElementDataIndex, STATUS_SHRINK);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@ -2477,7 +2477,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
|
||||
}
|
||||
target->status = STATUS_STATIC;
|
||||
func_80266DAC(target, 4);
|
||||
func_80047928(target->hudElementDataIndex, STATUS_STATIC);
|
||||
create_status_static(target->hudElementDataIndex, STATUS_STATIC);
|
||||
}
|
||||
return TRUE;
|
||||
case STATUS_STONE:
|
||||
@ -2508,7 +2508,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
|
||||
target->transDuration = 9;
|
||||
}
|
||||
target->status = STATUS_E;
|
||||
func_80047A30(target->hudElementDataIndex, STATUS_E);
|
||||
create_status_transparent(target->hudElementDataIndex, STATUS_E);
|
||||
}
|
||||
return TRUE;
|
||||
case STATUS_END:
|
||||
|
@ -1,577 +0,0 @@
|
||||
#include "common.h"
|
||||
#include "npc.h"
|
||||
#include "hud_element.h"
|
||||
|
||||
enum StatusIconFlag {
|
||||
STATUS_ICON_FLAG_DEBUFF = 0x004,
|
||||
STATUS_ICON_FLAG_STATIC = 0x008,
|
||||
STATUS_ICON_FLAG_TRANSPARENT = 0x010,
|
||||
STATUS_ICON_FLAG_STATUS_4 = 0x020,
|
||||
STATUS_ICON_FLAG_BOOST_JUMP = 0x040,
|
||||
STATUS_ICON_FLAG_BOOST_HAMMER = 0x080,
|
||||
STATUS_ICON_FLAG_BOOST_PARTNER = 0x100,
|
||||
STATUS_ICON_FLAG_SURPRISE = 0x200,
|
||||
STATUS_ICON_FLAG_PERIL = 0x400,
|
||||
STATUS_ICON_FLAG_DANGER = 0x800,
|
||||
};
|
||||
|
||||
typedef struct HudComplexStatusIcon {
|
||||
/* 0x0 */ s8 active;
|
||||
/* 0x1 */ s8 removing;
|
||||
/* 0x2 */ s8 unk_02;
|
||||
/* 0x3 */ s8 unk_03;
|
||||
/* 0x4 */ s8 unk_04;
|
||||
/* 0x5 */ s8 unk_05;
|
||||
/* 0x8 */ s32 hudElemIndex;
|
||||
/* 0xC */ s32 unk_0C;
|
||||
} HudComplexStatusIcon; // size = 0x10
|
||||
|
||||
typedef struct HudSimpleStatusIcon {
|
||||
/* 0x0 */ s8 active;
|
||||
/* 0x1 */ s8 removing;
|
||||
/* 0x4 */ s32 hudElemIndex;
|
||||
} HudSimpleStatusIcon; // size = 0x8
|
||||
|
||||
typedef struct HudStatusIcon {
|
||||
/* 0x00 */ s32 flags;
|
||||
/* 0x04 */ Vec3f worldPos;
|
||||
/* 0x10 */ f32 status1Radius;
|
||||
/* 0x14 */ f32 status1OffsetY;
|
||||
/* 0x18 */ f32 status2Radius;
|
||||
/* 0x1C */ f32 status2OffsetY;
|
||||
/* 0x20 */ f32 status3Radius;
|
||||
/* 0x24 */ f32 status3OffsetY;
|
||||
/* 0x28 */ f32 status4Radius;
|
||||
/* 0x2C */ f32 status4OffsetY;
|
||||
/* 0x30 */ f32 offsetY;
|
||||
/* 0x34 */ f32 unk_34;
|
||||
/* 0x38 */ HudComplexStatusIcon status1;
|
||||
/* 0x48 */ HudComplexStatusIcon status2;
|
||||
/* 0x58 */ HudComplexStatusIcon status3;
|
||||
/* 0x68 */ HudComplexStatusIcon status4;
|
||||
/* 0x78 */ HudSimpleStatusIcon boostJump;
|
||||
/* 0x80 */ s32 prevIndexBoostJump;
|
||||
/* 0x84 */ HudSimpleStatusIcon boostHammer;
|
||||
/* 0x8C */ s32 prevIndexBoostHammer;
|
||||
/* 0x90 */ HudSimpleStatusIcon boostPartner;
|
||||
/* 0x98 */ HudSimpleStatusIcon surprise;
|
||||
/* 0xA0 */ HudSimpleStatusIcon peril;
|
||||
/* 0xA8 */ HudSimpleStatusIcon danger;
|
||||
} HudStatusIcon; // size = 0xB0
|
||||
|
||||
extern HudStatusIcon *D_800A0F44;
|
||||
extern HudElementAnim D_80108A14[];
|
||||
extern HudElementAnim D_801089C4[];
|
||||
extern HudElementAnim D_8010760C[];
|
||||
extern HudElementAnim D_801075E0[];
|
||||
extern HudElementAnim D_80107314[];
|
||||
extern HudElementAnim D_8010701C[];
|
||||
extern HudElementAnim D_8010717C[];
|
||||
extern HudElementAnim D_80107474[];
|
||||
|
||||
extern s32 D_800A0F40;
|
||||
extern PopupMessage D_800A0BC0[32];
|
||||
extern s16 D_80078160[];
|
||||
extern s16 D_80078164[];
|
||||
extern s32 D_80078168[];
|
||||
|
||||
void update_merlee_message(PopupMessage* popup);
|
||||
void draw_merlee_message(PopupMessage* popup);
|
||||
void func_80045BC8(void);
|
||||
void func_80045FB4(void);
|
||||
|
||||
void func_80045AC0(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_800A0BC0); i++) {
|
||||
PopupMessage* popup = &D_800A0BC0[i];
|
||||
popup->active = FALSE;
|
||||
popup->message = NULL;
|
||||
}
|
||||
|
||||
create_generic_entity_world(NULL, func_80045BC8);
|
||||
func_80045FB4();
|
||||
}
|
||||
|
||||
void func_80045B10(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_800A0BC0); i++) {
|
||||
PopupMessage* popup = &D_800A0BC0[i];
|
||||
if (popup->message != NULL) {
|
||||
heap_free(popup->message);
|
||||
}
|
||||
popup->active = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void update_merlee_messages(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_800A0BC0); i++) {
|
||||
PopupMessage* popup = &D_800A0BC0[i];
|
||||
if (popup->active && popup->updateFunc != NULL) {
|
||||
popup->updateFunc(popup);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80045BC8(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_800A0BC0); i++) {
|
||||
PopupMessage* popup = &D_800A0BC0[i];
|
||||
if (popup->active && popup->unk_08 != NULL) {
|
||||
popup->unk_08(popup);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void draw_merlee_messages(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_800A0BC0); i++) {
|
||||
PopupMessage* popup = &D_800A0BC0[i];
|
||||
if (popup->active && popup->drawFunc != NULL) {
|
||||
popup->drawFunc(popup);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PopupMessage* get_current_merlee_message(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_800A0BC0); i++) {
|
||||
PopupMessage* popup = &D_800A0BC0[i];
|
||||
if (!popup->active) {
|
||||
popup->active = TRUE;
|
||||
return popup;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void dispose_merlee_message(PopupMessage* popup) {
|
||||
if (popup->message != NULL) {
|
||||
heap_free(popup->message);
|
||||
popup->message = NULL;
|
||||
}
|
||||
popup->active = FALSE;
|
||||
}
|
||||
|
||||
void show_merlee_message(s16 messageIndex, s16 duration) {
|
||||
PopupMessage* popup = get_current_merlee_message();
|
||||
|
||||
if (popup != NULL) {
|
||||
popup->updateFunc = update_merlee_message;
|
||||
popup->drawFunc = draw_merlee_message;
|
||||
popup->unk_17 = 1;
|
||||
popup->unk_00 = 0;
|
||||
popup->unk_08 = NULL;
|
||||
popup->messageIndex = messageIndex;
|
||||
popup->duration = duration;
|
||||
popup->unk_16 = 0;
|
||||
D_800A0F40 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void update_merlee_message(PopupMessage* popup) {
|
||||
s32 closeMessage = FALSE;
|
||||
|
||||
switch (popup->unk_16) {
|
||||
case 0:
|
||||
popup->unk_16 = 1;
|
||||
break;
|
||||
case 1:
|
||||
popup->unk_16 = 2;
|
||||
break;
|
||||
case 2:
|
||||
if (gGameStatusPtr->pressedButtons & 0xC000) {
|
||||
popup->duration = 0;
|
||||
}
|
||||
if (popup->duration != 0) {
|
||||
popup->duration--;
|
||||
} else {
|
||||
popup->unk_16 = 3;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
popup->unk_16 = 4;
|
||||
break;
|
||||
case 4:
|
||||
closeMessage = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (closeMessage) {
|
||||
set_window_update(9, 2);
|
||||
D_800A0F40 = 0;
|
||||
dispose_merlee_message(popup);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO remove once all other functions in this file are matched
|
||||
const static f32 padding = 0.0f;
|
||||
|
||||
void draw_merlee_message_string(PopupMessage* popup, s32 posX, s32 posY) {
|
||||
s32 messageID = D_80078168[popup->messageIndex];
|
||||
|
||||
posY += 6;
|
||||
posX += 15;
|
||||
|
||||
posY += D_80078164[get_msg_lines(messageID) - 1];
|
||||
|
||||
draw_msg(messageID, posX, posY, 255, 15, 0);
|
||||
}
|
||||
|
||||
void draw_merlee_message(PopupMessage* popup) {
|
||||
s32 messageID;
|
||||
s32 xPos;
|
||||
s32 width;
|
||||
|
||||
if (popup->unk_17 != 0) {
|
||||
popup->unk_17 = 0;
|
||||
messageID = D_80078168[popup->messageIndex];
|
||||
width = get_msg_width(messageID, 0) + 30;
|
||||
xPos = 160 - (width / 2);
|
||||
set_window_properties(9, xPos, 80, width, D_80078160[get_msg_lines(messageID) - 1], 0, draw_merlee_message_string, popup, -1);
|
||||
set_window_update(9, 1);
|
||||
}
|
||||
}
|
||||
|
||||
s32 is_merlee_message_done(void) {
|
||||
return D_800A0F40;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "20ec0_len_5040", func_80045FB4);
|
||||
|
||||
INCLUDE_ASM(s32, "20ec0_len_5040", func_80046030);
|
||||
|
||||
INCLUDE_ASM(s32, "20ec0_len_5040", draw_all_status_icons);
|
||||
|
||||
INCLUDE_ASM(s32, "20ec0_len_5040", create_status_icon_set);
|
||||
|
||||
void remove_all_status_icons(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
remove_status_debuff(iconID);
|
||||
remove_status_static(iconID);
|
||||
remove_status_transparent(iconID);
|
||||
remove_status_4(iconID);
|
||||
remove_status_icon_boost_jump(iconID);
|
||||
remove_status_icon_boost_hammer(iconID);
|
||||
remove_status_icon_boost_partner(iconID);
|
||||
remove_status_icon_surprise(iconID);
|
||||
remove_status_icon_peril(iconID);
|
||||
remove_status_icon_danger(iconID);
|
||||
statusIcon->flags = 0;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "20ec0_len_5040", set_status_icons_properties);
|
||||
|
||||
void func_800477F4(s32 iconID, f32 offsetY, f32 arg2) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->offsetY = offsetY;
|
||||
statusIcon->unk_34 = arg2;
|
||||
}
|
||||
|
||||
void func_80047820(s32 iconID, s32 arg1) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_DEBUFF;
|
||||
if (statusIcon->status1.active != arg1) {
|
||||
remove_status_debuff(iconID);
|
||||
statusIcon->status1.active = arg1;
|
||||
statusIcon->status1.unk_02 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_debuff(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->status1.active && !statusIcon->status1.removing) {
|
||||
statusIcon->status1.removing = statusIcon->status1.active;
|
||||
statusIcon->status1.unk_03 = TRUE;
|
||||
statusIcon->status1.active = FALSE;
|
||||
statusIcon->status1.unk_02 = FALSE;
|
||||
statusIcon->status1.unk_05 = 10;
|
||||
statusIcon->status1.unk_0C = statusIcon->status1.hudElemIndex;
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_1(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_DEBUFF;
|
||||
}
|
||||
|
||||
void func_80047928(s32 iconID, s32 arg1) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_STATIC;
|
||||
if (statusIcon->status2.active != arg1) {
|
||||
remove_status_static(iconID);
|
||||
statusIcon->status2.active = arg1;
|
||||
statusIcon->status2.unk_02 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_static(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->status2.active && !statusIcon->status2.removing) {
|
||||
statusIcon->status2.removing = statusIcon->status2.active;
|
||||
statusIcon->status2.unk_03 = TRUE;
|
||||
statusIcon->status2.active = FALSE;
|
||||
statusIcon->status2.unk_02 = FALSE;
|
||||
statusIcon->status2.unk_05 = 10;
|
||||
statusIcon->status2.unk_0C = statusIcon->status2.hudElemIndex;
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_2(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_STATIC;
|
||||
}
|
||||
|
||||
void func_80047A30(s32 iconID, s32 arg1) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_TRANSPARENT;
|
||||
if (statusIcon->status3.active != arg1) {
|
||||
remove_status_transparent(iconID);
|
||||
statusIcon->status3.active = arg1;
|
||||
statusIcon->status3.unk_02 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_transparent(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->status3.active && !statusIcon->status3.removing) {
|
||||
statusIcon->status3.removing = statusIcon->status3.active;
|
||||
statusIcon->status3.unk_03 = TRUE;
|
||||
statusIcon->status3.active = FALSE;
|
||||
statusIcon->status3.unk_02 = FALSE;
|
||||
statusIcon->status3.unk_05 = 10;
|
||||
statusIcon->status3.unk_0C = statusIcon->status3.hudElemIndex;
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_3(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_TRANSPARENT;
|
||||
}
|
||||
|
||||
void func_80047B38(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_STATUS_4;
|
||||
if (!statusIcon->status4.active) {
|
||||
statusIcon->status4.active = TRUE;
|
||||
statusIcon->status4.unk_02 = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_4(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->status4.active && !statusIcon->status4.removing) {
|
||||
statusIcon->status4.removing = statusIcon->status4.active;
|
||||
statusIcon->status4.unk_03 = TRUE;
|
||||
statusIcon->status4.active = FALSE;
|
||||
statusIcon->status4.unk_02 = FALSE;
|
||||
statusIcon->status4.unk_05 = 10;
|
||||
statusIcon->status4.unk_0C = statusIcon->status4.hudElemIndex;
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_4(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_STATUS_4;
|
||||
}
|
||||
|
||||
void create_status_icon_boost_jump(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
s32 hudElement;
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_BOOST_JUMP;
|
||||
if (!statusIcon->boostJump.active) {
|
||||
statusIcon->boostJump.active = TRUE;
|
||||
hudElement = create_hud_element(D_8010701C);
|
||||
set_hud_element_flags(hudElement, 2);
|
||||
set_hud_element_flags(hudElement, 0x80);
|
||||
statusIcon->boostJump.hudElemIndex = hudElement;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_icon_boost_jump(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->boostJump.active) {
|
||||
s32 hudElemIndex = statusIcon->boostJump.hudElemIndex;
|
||||
statusIcon->boostJump.active = FALSE;
|
||||
statusIcon->boostJump.removing = TRUE;
|
||||
statusIcon->prevIndexBoostJump = hudElemIndex;
|
||||
set_hud_element_anim(hudElemIndex, &D_8010717C[0]);
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_icon_boost_jump(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_BOOST_JUMP;
|
||||
}
|
||||
|
||||
void create_status_icon_boost_hammer(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
s32 hudElement;
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_BOOST_HAMMER;
|
||||
if (!statusIcon->boostHammer.active) {
|
||||
statusIcon->boostHammer.active = TRUE;
|
||||
hudElement = create_hud_element(D_80107314);
|
||||
set_hud_element_flags(hudElement, 2);
|
||||
set_hud_element_flags(hudElement, 0x80);
|
||||
statusIcon->boostHammer.hudElemIndex = hudElement;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_icon_boost_hammer(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->boostHammer.active) {
|
||||
s32 hudElemIndex = statusIcon->boostHammer.hudElemIndex;
|
||||
statusIcon->boostHammer.active = FALSE;
|
||||
statusIcon->boostHammer.removing = FALSE;
|
||||
statusIcon->prevIndexBoostHammer = hudElemIndex;
|
||||
set_hud_element_anim(hudElemIndex, &D_80107474[0]);
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_icon_boost_hammer(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_BOOST_HAMMER;
|
||||
}
|
||||
|
||||
void create_status_icon_boost_partner(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
s32 hudElement;
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_BOOST_PARTNER;
|
||||
if (!statusIcon->boostPartner.active) {
|
||||
statusIcon->boostPartner.active = TRUE;
|
||||
hudElement = create_hud_element(D_801075E0);
|
||||
set_hud_element_flags(hudElement, 2);
|
||||
set_hud_element_flags(hudElement, 0x80);
|
||||
statusIcon->boostPartner.hudElemIndex = hudElement;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_icon_boost_partner(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->boostPartner.active) {
|
||||
statusIcon->boostPartner.active = FALSE;
|
||||
free_hud_element(statusIcon->boostPartner.hudElemIndex);
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_icon_boost_partner(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_BOOST_PARTNER;
|
||||
}
|
||||
|
||||
void create_status_icon_surprise(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
s32 hudElement;
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_SURPRISE;
|
||||
if (!statusIcon->surprise.active) {
|
||||
statusIcon->surprise.active = TRUE;
|
||||
hudElement = create_hud_element(D_8010760C);
|
||||
set_hud_element_flags(hudElement, 2);
|
||||
set_hud_element_flags(hudElement, 0x80);
|
||||
statusIcon->surprise.hudElemIndex = hudElement;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_icon_surprise(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->surprise.active) {
|
||||
statusIcon->surprise.active = FALSE;
|
||||
free_hud_element(statusIcon->surprise.hudElemIndex);
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_icon_surprise(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_SURPRISE;
|
||||
}
|
||||
|
||||
void create_status_icon_peril(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
s32 hudElement;
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_PERIL;
|
||||
if (!statusIcon->peril.active) {
|
||||
statusIcon->peril.active = TRUE;
|
||||
hudElement = create_hud_element(D_801089C4);
|
||||
set_hud_element_flags(hudElement, 2);
|
||||
set_hud_element_flags(hudElement, 0x80);
|
||||
statusIcon->peril.hudElemIndex = hudElement;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_icon_peril(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->peril.active) {
|
||||
statusIcon->peril.active = FALSE;
|
||||
free_hud_element(statusIcon->peril.hudElemIndex);
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_icon_peril(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_PERIL;
|
||||
}
|
||||
|
||||
void create_status_icon_danger(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
s32 hudElement;
|
||||
|
||||
statusIcon->flags &= ~STATUS_ICON_FLAG_DANGER;
|
||||
if (!statusIcon->danger.active) {
|
||||
statusIcon->danger.active = TRUE;
|
||||
hudElement = create_hud_element(D_80108A14);
|
||||
set_hud_element_flags(hudElement, 2);
|
||||
set_hud_element_flags(hudElement, 0x80);
|
||||
statusIcon->danger.hudElemIndex = hudElement;
|
||||
}
|
||||
}
|
||||
|
||||
void remove_status_icon_danger(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
if (statusIcon->danger.active) {
|
||||
statusIcon->danger.active = FALSE;
|
||||
free_hud_element(statusIcon->danger.hudElemIndex);
|
||||
}
|
||||
}
|
||||
|
||||
void enable_status_icon_danger(s32 iconID) {
|
||||
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
|
||||
|
||||
statusIcon->flags |= STATUS_ICON_FLAG_DANGER;
|
||||
}
|
@ -7,7 +7,7 @@ ApiStatus N(RemoveChillOut)(Evt* script, s32 isInitialCall) {
|
||||
|
||||
actor->chillOutTurns = 0;
|
||||
actor->chillOutAmount = 0;
|
||||
remove_status_4(hudElementDataIndex);
|
||||
remove_status_chill_out(hudElementDataIndex);
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
1288
src/status_icons.c
Normal file
1288
src/status_icons.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -572,7 +572,7 @@ glabel btl_state_update_begin_player_turn
|
||||
/* 171138 80242858 54400007 */ bnel $v0, $zero, .L80242878
|
||||
/* 17113C 8024285C 26520001 */ addiu $s2, $s2, 1
|
||||
/* 171140 80242860 84640436 */ lh $a0, 0x436($v1)
|
||||
/* 171144 80242864 0C011EE1 */ jal remove_status_4
|
||||
/* 171144 80242864 0C011EE1 */ jal remove_status_chill_out
|
||||
/* 171148 80242868 A0600223 */ sb $zero, 0x223($v1)
|
||||
/* 17114C 8024286C 3C01802A */ lui $at, %hi(D_8029F258)
|
||||
/* 171150 80242870 AC34F258 */ sw $s4, %lo(D_8029F258)($at)
|
||||
|
@ -308,7 +308,7 @@ glabel func_80255FE0
|
||||
/* 184D10 80256430 44055000 */ mfc1 $a1, $f10
|
||||
/* 184D14 80256434 4600028D */ trunc.w.s $f10, $f0
|
||||
/* 184D18 80256438 44065000 */ mfc1 $a2, $f10
|
||||
/* 184D1C 8025643C 0C011DFD */ jal func_800477F4
|
||||
/* 184D1C 8025643C 0C011DFD */ jal set_status_icons_offset
|
||||
/* 184D20 80256440 00000000 */ nop
|
||||
/* 184D24 80256444 82430210 */ lb $v1, 0x210($s2)
|
||||
/* 184D28 80256448 2402000A */ addiu $v0, $zero, 0xa
|
||||
@ -843,7 +843,7 @@ glabel func_80255FE0
|
||||
/* 185500 80256C20 0040282D */ daddu $a1, $v0, $zero
|
||||
/* 185504 80256C24 AE220088 */ sw $v0, 0x88($s1)
|
||||
/* 185508 80256C28 86440436 */ lh $a0, 0x436($s2)
|
||||
/* 18550C 80256C2C 0C011E08 */ jal func_80047820
|
||||
/* 18550C 80256C2C 0C011E08 */ jal create_status_debuff
|
||||
/* 185510 80256C30 24050008 */ addiu $a1, $zero, 8
|
||||
/* 185514 80256C34 08095B2D */ j .L80256CB4
|
||||
/* 185518 80256C38 00000000 */ nop
|
||||
@ -908,7 +908,7 @@ glabel func_80255FE0
|
||||
/* 1855E8 80256D08 0040282D */ daddu $a1, $v0, $zero
|
||||
/* 1855EC 80256D0C 86440436 */ lh $a0, 0x436($s2)
|
||||
.L80256D10:
|
||||
/* 1855F0 80256D10 0C011E08 */ jal func_80047820
|
||||
/* 1855F0 80256D10 0C011E08 */ jal create_status_debuff
|
||||
/* 1855F4 80256D14 00000000 */ nop
|
||||
.L80256D18:
|
||||
/* 1855F8 80256D18 82430212 */ lb $v1, 0x212($s2)
|
||||
@ -916,7 +916,7 @@ glabel func_80255FE0
|
||||
/* 185600 80256D20 14620004 */ bne $v1, $v0, .L80256D34
|
||||
/* 185604 80256D24 00000000 */ nop
|
||||
/* 185608 80256D28 86440436 */ lh $a0, 0x436($s2)
|
||||
/* 18560C 80256D2C 0C011E4A */ jal func_80047928
|
||||
/* 18560C 80256D2C 0C011E4A */ jal create_status_static
|
||||
/* 185610 80256D30 0040282D */ daddu $a1, $v0, $zero
|
||||
.L80256D34:
|
||||
/* 185614 80256D34 82430218 */ lb $v1, 0x218($s2)
|
||||
@ -929,24 +929,24 @@ glabel func_80255FE0
|
||||
/* 185630 80256D50 00000000 */ nop
|
||||
.L80256D54:
|
||||
/* 185634 80256D54 86440436 */ lh $a0, 0x436($s2)
|
||||
/* 185638 80256D58 0C011E8C */ jal func_80047A30
|
||||
/* 185638 80256D58 0C011E8C */ jal create_status_transparent
|
||||
/* 18563C 80256D5C 2405000E */ addiu $a1, $zero, 0xe
|
||||
.L80256D60:
|
||||
/* 185640 80256D60 82420223 */ lb $v0, 0x223($s2)
|
||||
/* 185644 80256D64 1040000D */ beqz $v0, .L80256D9C
|
||||
/* 185648 80256D68 00000000 */ nop
|
||||
/* 18564C 80256D6C 0C011ECE */ jal func_80047B38
|
||||
/* 18564C 80256D6C 0C011ECE */ jal create_status_chill_out
|
||||
/* 185650 80256D70 86440436 */ lh $a0, 0x436($s2)
|
||||
/* 185654 80256D74 08095B67 */ j .L80256D9C
|
||||
/* 185658 80256D78 00000000 */ nop
|
||||
.L80256D7C:
|
||||
/* 18565C 80256D7C 0C011E3E */ jal enable_status_1
|
||||
/* 18565C 80256D7C 0C011E3E */ jal enable_status_debuff
|
||||
/* 185660 80256D80 86440436 */ lh $a0, 0x436($s2)
|
||||
/* 185664 80256D84 0C011E80 */ jal enable_status_2
|
||||
/* 185668 80256D88 86440436 */ lh $a0, 0x436($s2)
|
||||
/* 18566C 80256D8C 0C011EC2 */ jal enable_status_3
|
||||
/* 18566C 80256D8C 0C011EC2 */ jal enable_status_transparent
|
||||
/* 185670 80256D90 86440436 */ lh $a0, 0x436($s2)
|
||||
/* 185674 80256D94 0C011EF9 */ jal enable_status_4
|
||||
/* 185674 80256D94 0C011EF9 */ jal enable_status_chill_out
|
||||
/* 185678 80256D98 86440436 */ lh $a0, 0x436($s2)
|
||||
.L80256D9C:
|
||||
/* 18567C 80256D9C 8E240084 */ lw $a0, 0x84($s1)
|
||||
|
@ -410,7 +410,7 @@ glabel func_80257DA4
|
||||
/* 186C3C 8025835C 24040008 */ addiu $a0, $zero, 8
|
||||
/* 186C40 80258360 AEE20088 */ sw $v0, 0x88($s7)
|
||||
/* 186C44 80258364 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 186C48 80258368 0C011E08 */ jal func_80047820
|
||||
/* 186C48 80258368 0C011E08 */ jal create_status_debuff
|
||||
/* 186C4C 8025836C 24050008 */ addiu $a1, $zero, 8
|
||||
/* 186C50 80258370 08096272 */ j .L802589C8
|
||||
/* 186C54 80258374 00000000 */ nop
|
||||
@ -536,16 +536,16 @@ glabel func_80257DA4
|
||||
/* 186DFC 8025851C 0C099BBA */ jal func_80266EE8
|
||||
/* 186E00 80258520 0000282D */ daddu $a1, $zero, $zero
|
||||
/* 186E04 80258524 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 186E08 80258528 0C011E3E */ jal enable_status_1
|
||||
/* 186E08 80258528 0C011E3E */ jal enable_status_debuff
|
||||
/* 186E0C 8025852C 24120001 */ addiu $s2, $zero, 1
|
||||
/* 186E10 80258530 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 186E14 80258534 0C011E80 */ jal enable_status_2
|
||||
/* 186E18 80258538 0240982D */ daddu $s3, $s2, $zero
|
||||
/* 186E1C 8025853C 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 186E20 80258540 0C011EC2 */ jal enable_status_3
|
||||
/* 186E20 80258540 0C011EC2 */ jal enable_status_transparent
|
||||
/* 186E24 80258544 0240A82D */ daddu $s5, $s2, $zero
|
||||
/* 186E28 80258548 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 186E2C 8025854C 0C011EF9 */ jal enable_status_4
|
||||
/* 186E2C 8025854C 0C011EF9 */ jal enable_status_chill_out
|
||||
/* 186E30 80258550 00000000 */ nop
|
||||
.L80258554:
|
||||
/* 186E34 80258554 8EC20000 */ lw $v0, ($s6)
|
||||
@ -780,7 +780,7 @@ glabel func_80257DA4
|
||||
/* 18715C 8025887C 24110001 */ addiu $s1, $zero, 1
|
||||
.L80258880:
|
||||
/* 187160 80258880 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 187164 80258884 0C011E8C */ jal func_80047A30
|
||||
/* 187164 80258884 0C011E8C */ jal create_status_transparent
|
||||
/* 187168 80258888 2405000E */ addiu $a1, $zero, 0xe
|
||||
.L8025888C:
|
||||
/* 18716C 8025888C 16200004 */ bnez $s1, .L802588A0
|
||||
@ -815,7 +815,7 @@ glabel func_80257DA4
|
||||
/* 1871DC 802588FC 0040282D */ daddu $a1, $v0, $zero
|
||||
/* 1871E0 80258900 86C40436 */ lh $a0, 0x436($s6)
|
||||
.L80258904:
|
||||
/* 1871E4 80258904 0C011E08 */ jal func_80047820
|
||||
/* 1871E4 80258904 0C011E08 */ jal create_status_debuff
|
||||
/* 1871E8 80258908 00000000 */ nop
|
||||
.L8025890C:
|
||||
/* 1871EC 8025890C 16A0000B */ bnez $s5, .L8025893C
|
||||
@ -829,7 +829,7 @@ glabel func_80257DA4
|
||||
/* 18720C 8025892C 00000000 */ nop
|
||||
.L80258930:
|
||||
/* 187210 80258930 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 187214 80258934 0C011E4A */ jal func_80047928
|
||||
/* 187214 80258934 0C011E4A */ jal create_status_static
|
||||
/* 187218 80258938 2405000B */ addiu $a1, $zero, 0xb
|
||||
.L8025893C:
|
||||
/* 18721C 8025893C 82C30218 */ lb $v1, 0x218($s6)
|
||||
@ -842,18 +842,18 @@ glabel func_80257DA4
|
||||
/* 187238 80258958 00000000 */ nop
|
||||
.L8025895C:
|
||||
/* 18723C 8025895C 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 187240 80258960 0C011E8C */ jal func_80047A30
|
||||
/* 187240 80258960 0C011E8C */ jal create_status_transparent
|
||||
/* 187244 80258964 2405000E */ addiu $a1, $zero, 0xe
|
||||
/* 187248 80258968 08096264 */ j .L80258990
|
||||
/* 18724C 8025896C 00000000 */ nop
|
||||
.L80258970:
|
||||
/* 187250 80258970 0C011E3E */ jal enable_status_1
|
||||
/* 187250 80258970 0C011E3E */ jal enable_status_debuff
|
||||
/* 187254 80258974 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 187258 80258978 0C011E80 */ jal enable_status_2
|
||||
/* 18725C 8025897C 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 187260 80258980 0C011EC2 */ jal enable_status_3
|
||||
/* 187260 80258980 0C011EC2 */ jal enable_status_transparent
|
||||
/* 187264 80258984 86C40436 */ lh $a0, 0x436($s6)
|
||||
/* 187268 80258988 0C011EF9 */ jal enable_status_4
|
||||
/* 187268 80258988 0C011EF9 */ jal enable_status_chill_out
|
||||
/* 18726C 8025898C 86C40436 */ lh $a0, 0x436($s6)
|
||||
.L80258990:
|
||||
/* 187270 80258990 82C30210 */ lb $v1, 0x210($s6)
|
||||
@ -934,7 +934,7 @@ glabel func_80257DA4
|
||||
/* 187398 80258AB8 44057000 */ mfc1 $a1, $f14
|
||||
/* 18739C 80258ABC 4600038D */ trunc.w.s $f14, $f0
|
||||
/* 1873A0 80258AC0 44067000 */ mfc1 $a2, $f14
|
||||
/* 1873A4 80258AC4 0C011DFD */ jal func_800477F4
|
||||
/* 1873A4 80258AC4 0C011DFD */ jal set_status_icons_offset
|
||||
/* 1873A8 80258AC8 00000000 */ nop
|
||||
/* 1873AC 80258ACC 86E20068 */ lh $v0, 0x68($s7)
|
||||
/* 1873B0 80258AD0 44820000 */ mtc1 $v0, $f0
|
||||
|
@ -1,68 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel create_status_icon_set
|
||||
/* 22A08 80047608 3C04800A */ lui $a0, %hi(D_800A0F44)
|
||||
/* 22A0C 8004760C 8C840F44 */ lw $a0, %lo(D_800A0F44)($a0)
|
||||
/* 22A10 80047610 0000282D */ daddu $a1, $zero, $zero
|
||||
.L80047614:
|
||||
/* 22A14 80047614 8C820000 */ lw $v0, ($a0)
|
||||
/* 22A18 80047618 10400006 */ beqz $v0, .L80047634
|
||||
/* 22A1C 8004761C 28A20040 */ slti $v0, $a1, 0x40
|
||||
/* 22A20 80047620 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 22A24 80047624 28A20040 */ slti $v0, $a1, 0x40
|
||||
/* 22A28 80047628 1440FFFA */ bnez $v0, .L80047614
|
||||
/* 22A2C 8004762C 248400B0 */ addiu $a0, $a0, 0xb0
|
||||
/* 22A30 80047630 28A20040 */ slti $v0, $a1, 0x40
|
||||
.L80047634:
|
||||
/* 22A34 80047634 14400003 */ bnez $v0, .L80047644
|
||||
/* 22A38 80047638 24030001 */ addiu $v1, $zero, 1
|
||||
.L8004763C:
|
||||
/* 22A3C 8004763C 08011D8F */ j .L8004763C
|
||||
/* 22A40 80047640 00000000 */ nop
|
||||
.L80047644:
|
||||
/* 22A44 80047644 3C028007 */ lui $v0, %hi(gGameStatusPtr)
|
||||
/* 22A48 80047648 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
|
||||
/* 22A4C 8004764C AC830000 */ sw $v1, ($a0)
|
||||
/* 22A50 80047650 80420070 */ lb $v0, 0x70($v0)
|
||||
/* 22A54 80047654 10400002 */ beqz $v0, .L80047660
|
||||
/* 22A58 80047658 24020003 */ addiu $v0, $zero, 3
|
||||
/* 22A5C 8004765C AC820000 */ sw $v0, ($a0)
|
||||
.L80047660:
|
||||
/* 22A60 80047660 00A0102D */ daddu $v0, $a1, $zero
|
||||
/* 22A64 80047664 AC800004 */ sw $zero, 4($a0)
|
||||
/* 22A68 80047668 AC800008 */ sw $zero, 8($a0)
|
||||
/* 22A6C 8004766C AC80000C */ sw $zero, 0xc($a0)
|
||||
/* 22A70 80047670 AC800010 */ sw $zero, 0x10($a0)
|
||||
/* 22A74 80047674 AC800014 */ sw $zero, 0x14($a0)
|
||||
/* 22A78 80047678 AC800018 */ sw $zero, 0x18($a0)
|
||||
/* 22A7C 8004767C AC80001C */ sw $zero, 0x1c($a0)
|
||||
/* 22A80 80047680 AC800020 */ sw $zero, 0x20($a0)
|
||||
/* 22A84 80047684 AC800024 */ sw $zero, 0x24($a0)
|
||||
/* 22A88 80047688 AC800028 */ sw $zero, 0x28($a0)
|
||||
/* 22A8C 8004768C AC80002C */ sw $zero, 0x2c($a0)
|
||||
/* 22A90 80047690 A0800038 */ sb $zero, 0x38($a0)
|
||||
/* 22A94 80047694 A0800039 */ sb $zero, 0x39($a0)
|
||||
/* 22A98 80047698 A080003A */ sb $zero, 0x3a($a0)
|
||||
/* 22A9C 8004769C A080003B */ sb $zero, 0x3b($a0)
|
||||
/* 22AA0 800476A0 A0800048 */ sb $zero, 0x48($a0)
|
||||
/* 22AA4 800476A4 A0800049 */ sb $zero, 0x49($a0)
|
||||
/* 22AA8 800476A8 A080004A */ sb $zero, 0x4a($a0)
|
||||
/* 22AAC 800476AC A080004B */ sb $zero, 0x4b($a0)
|
||||
/* 22AB0 800476B0 A0800058 */ sb $zero, 0x58($a0)
|
||||
/* 22AB4 800476B4 A0800059 */ sb $zero, 0x59($a0)
|
||||
/* 22AB8 800476B8 A080005A */ sb $zero, 0x5a($a0)
|
||||
/* 22ABC 800476BC A080005B */ sb $zero, 0x5b($a0)
|
||||
/* 22AC0 800476C0 A0800068 */ sb $zero, 0x68($a0)
|
||||
/* 22AC4 800476C4 A0800069 */ sb $zero, 0x69($a0)
|
||||
/* 22AC8 800476C8 A080006A */ sb $zero, 0x6a($a0)
|
||||
/* 22ACC 800476CC A080006B */ sb $zero, 0x6b($a0)
|
||||
/* 22AD0 800476D0 A0800078 */ sb $zero, 0x78($a0)
|
||||
/* 22AD4 800476D4 A0800079 */ sb $zero, 0x79($a0)
|
||||
/* 22AD8 800476D8 A0800084 */ sb $zero, 0x84($a0)
|
||||
/* 22ADC 800476DC A0800085 */ sb $zero, 0x85($a0)
|
||||
/* 22AE0 800476E0 A0800090 */ sb $zero, 0x90($a0)
|
||||
/* 22AE4 800476E4 A0800098 */ sb $zero, 0x98($a0)
|
||||
/* 22AE8 800476E8 A08000A0 */ sb $zero, 0xa0($a0)
|
||||
/* 22AEC 800476EC 03E00008 */ jr $ra
|
||||
/* 22AF0 800476F0 A08000A8 */ sb $zero, 0xa8($a0)
|
File diff suppressed because it is too large
Load Diff
@ -1,38 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80045FB4
|
||||
/* 213B4 80045FB4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 213B8 80045FB8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 213BC 80045FBC 0C011722 */ jal get_current_merlee_message
|
||||
/* 213C0 80045FC0 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 213C4 80045FC4 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 213C8 80045FC8 12000015 */ beqz $s0, .L80046020
|
||||
/* 213CC 80045FCC 24042C00 */ addiu $a0, $zero, 0x2c00
|
||||
/* 213D0 80045FD0 3C028004 */ lui $v0, %hi(func_80046030)
|
||||
/* 213D4 80045FD4 24426030 */ addiu $v0, $v0, %lo(func_80046030)
|
||||
/* 213D8 80045FD8 AE020004 */ sw $v0, 4($s0)
|
||||
/* 213DC 80045FDC 3C028004 */ lui $v0, %hi(draw_all_status_icons)
|
||||
/* 213E0 80045FE0 244265E0 */ addiu $v0, $v0, %lo(draw_all_status_icons)
|
||||
/* 213E4 80045FE4 AE000000 */ sw $zero, ($s0)
|
||||
/* 213E8 80045FE8 AE000008 */ sw $zero, 8($s0)
|
||||
/* 213EC 80045FEC 0C00AB0A */ jal general_heap_malloc
|
||||
/* 213F0 80045FF0 AE02000C */ sw $v0, 0xc($s0)
|
||||
/* 213F4 80045FF4 AE020018 */ sw $v0, 0x18($s0)
|
||||
/* 213F8 80045FF8 3C01800A */ lui $at, %hi(D_800A0F44)
|
||||
/* 213FC 80045FFC AC220F44 */ sw $v0, %lo(D_800A0F44)($at)
|
||||
/* 21400 80046000 14400003 */ bnez $v0, .L80046010
|
||||
/* 21404 80046004 2403003F */ addiu $v1, $zero, 0x3f
|
||||
.L80046008:
|
||||
/* 21408 80046008 08011802 */ j .L80046008
|
||||
/* 2140C 8004600C 00000000 */ nop
|
||||
.L80046010:
|
||||
/* 21410 80046010 AC400000 */ sw $zero, ($v0)
|
||||
/* 21414 80046014 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 21418 80046018 0461FFFD */ bgez $v1, .L80046010
|
||||
/* 2141C 8004601C 244200B0 */ addiu $v0, $v0, 0xb0
|
||||
.L80046020:
|
||||
/* 21420 80046020 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 21424 80046024 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 21428 80046028 03E00008 */ jr $ra
|
||||
/* 2142C 8004602C 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,427 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.section .rodata
|
||||
|
||||
dlabel jtbl_800986C8
|
||||
.word .L800460F0_214F0, .L800460E0_214E0, .L800460D0_214D0, .L800460C0_214C0, .L80046130_21530, .L80046100_21500, .L80046110_21510, .L80046120_21520
|
||||
|
||||
dlabel jtbl_800986E8
|
||||
.word .L80046204_21604, .L800461F0_215F0, .L800461DC_215DC, .L800461C8_215C8, .L80046254_21654, .L80046218_21618, .L8004622C_2162C, .L80046240_21640, 0, 0
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_80046030
|
||||
/* 21430 80046030 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 21434 80046034 AFB40020 */ sw $s4, 0x20($sp)
|
||||
/* 21438 80046038 3C14800A */ lui $s4, %hi(D_800A0F44)
|
||||
/* 2143C 8004603C 8E940F44 */ lw $s4, %lo(D_800A0F44)($s4)
|
||||
/* 21440 80046040 AFB50024 */ sw $s5, 0x24($sp)
|
||||
/* 21444 80046044 0000A82D */ daddu $s5, $zero, $zero
|
||||
/* 21448 80046048 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 2144C 8004604C 24120001 */ addiu $s2, $zero, 1
|
||||
/* 21450 80046050 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 21454 80046054 24130002 */ addiu $s3, $zero, 2
|
||||
/* 21458 80046058 AFB60028 */ sw $s6, 0x28($sp)
|
||||
/* 2145C 8004605C 24160002 */ addiu $s6, $zero, 2
|
||||
/* 21460 80046060 AFB7002C */ sw $s7, 0x2c($sp)
|
||||
/* 21464 80046064 24170014 */ addiu $s7, $zero, 0x14
|
||||
/* 21468 80046068 AFBF0030 */ sw $ra, 0x30($sp)
|
||||
/* 2146C 8004606C AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 21470 80046070 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 21474 80046074 26910085 */ addiu $s1, $s4, 0x85
|
||||
.L80046078:
|
||||
/* 21478 80046078 8E820000 */ lw $v0, ($s4)
|
||||
/* 2147C 8004607C 50400149 */ beql $v0, $zero, .L800465A4
|
||||
/* 21480 80046080 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 21484 80046084 8222FFB5 */ lb $v0, -0x4b($s1)
|
||||
/* 21488 80046088 1452003A */ bne $v0, $s2, .L80046174
|
||||
/* 2148C 8004608C 00000000 */ nop
|
||||
/* 21490 80046090 9222FFB3 */ lbu $v0, -0x4d($s1)
|
||||
/* 21494 80046094 2442FFFD */ addiu $v0, $v0, -3
|
||||
/* 21498 80046098 00021600 */ sll $v0, $v0, 0x18
|
||||
/* 2149C 8004609C 00021E03 */ sra $v1, $v0, 0x18
|
||||
/* 214A0 800460A0 2C620008 */ sltiu $v0, $v1, 8
|
||||
/* 214A4 800460A4 10400026 */ beqz $v0, .L80046140
|
||||
/* 214A8 800460A8 00031080 */ sll $v0, $v1, 2
|
||||
/* 214AC 800460AC 3C01800A */ lui $at, %hi(jtbl_800986C8)
|
||||
/* 214B0 800460B0 00220821 */ addu $at, $at, $v0
|
||||
/* 214B4 800460B4 8C2286C8 */ lw $v0, %lo(jtbl_800986C8)($at)
|
||||
/* 214B8 800460B8 00400008 */ jr $v0
|
||||
/* 214BC 800460BC 00000000 */ nop
|
||||
.L800460C0_214C0:
|
||||
/* 214C0 800460C0 3C048010 */ lui $a0, %hi(D_80104CC4)
|
||||
/* 214C4 800460C4 24844CC4 */ addiu $a0, $a0, %lo(D_80104CC4)
|
||||
/* 214C8 800460C8 08011852 */ j .L80046148
|
||||
/* 214CC 800460CC 00000000 */ nop
|
||||
.L800460D0_214D0:
|
||||
/* 214D0 800460D0 3C048010 */ lui $a0, %hi(D_8010551C)
|
||||
/* 214D4 800460D4 2484551C */ addiu $a0, $a0, %lo(D_8010551C)
|
||||
/* 214D8 800460D8 08011852 */ j .L80046148
|
||||
/* 214DC 800460DC 00000000 */ nop
|
||||
.L800460E0_214E0:
|
||||
/* 214E0 800460E0 3C048010 */ lui $a0, %hi(D_80105900)
|
||||
/* 214E4 800460E4 24845900 */ addiu $a0, $a0, %lo(D_80105900)
|
||||
/* 214E8 800460E8 08011852 */ j .L80046148
|
||||
/* 214EC 800460EC 00000000 */ nop
|
||||
.L800460F0_214F0:
|
||||
/* 214F0 800460F0 3C048010 */ lui $a0, %hi(D_801062A0)
|
||||
/* 214F4 800460F4 248462A0 */ addiu $a0, $a0, %lo(D_801062A0)
|
||||
/* 214F8 800460F8 08011852 */ j .L80046148
|
||||
/* 214FC 800460FC 00000000 */ nop
|
||||
.L80046100_21500:
|
||||
/* 21500 80046100 3C048010 */ lui $a0, %hi(D_80106610)
|
||||
/* 21504 80046104 24846610 */ addiu $a0, $a0, %lo(D_80106610)
|
||||
/* 21508 80046108 08011852 */ j .L80046148
|
||||
/* 2150C 8004610C 00000000 */ nop
|
||||
.L80046110_21510:
|
||||
/* 21510 80046110 3C048010 */ lui $a0, %hi(D_80105C54)
|
||||
/* 21514 80046114 24845C54 */ addiu $a0, $a0, %lo(D_80105C54)
|
||||
/* 21518 80046118 08011852 */ j .L80046148
|
||||
/* 2151C 8004611C 00000000 */ nop
|
||||
.L80046120_21520:
|
||||
/* 21520 80046120 3C048010 */ lui $a0, %hi(D_80106964)
|
||||
/* 21524 80046124 24846964 */ addiu $a0, $a0, %lo(D_80106964)
|
||||
/* 21528 80046128 08011852 */ j .L80046148
|
||||
/* 2152C 8004612C 00000000 */ nop
|
||||
.L80046130_21530:
|
||||
/* 21530 80046130 3C048010 */ lui $a0, %hi(D_80105FA8)
|
||||
/* 21534 80046134 24845FA8 */ addiu $a0, $a0, %lo(D_80105FA8)
|
||||
/* 21538 80046138 08011852 */ j .L80046148
|
||||
/* 2153C 8004613C 00000000 */ nop
|
||||
.L80046140:
|
||||
/* 21540 80046140 3C048008 */ lui $a0, %hi(D_800804F0)
|
||||
/* 21544 80046144 248404F0 */ addiu $a0, $a0, %lo(D_800804F0)
|
||||
.L80046148:
|
||||
/* 21548 80046148 0C050529 */ jal create_hud_element
|
||||
/* 2154C 8004614C 00000000 */ nop
|
||||
/* 21550 80046150 AE22FFBB */ sw $v0, -0x45($s1)
|
||||
/* 21554 80046154 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 21558 80046158 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 2155C 8004615C 0C051280 */ jal set_hud_element_flags
|
||||
/* 21560 80046160 24050002 */ addiu $a1, $zero, 2
|
||||
/* 21564 80046164 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 21568 80046168 0C051280 */ jal set_hud_element_flags
|
||||
/* 2156C 8004616C 24050080 */ addiu $a1, $zero, 0x80
|
||||
/* 21570 80046170 A233FFB5 */ sb $s3, -0x4b($s1)
|
||||
.L80046174:
|
||||
/* 21574 80046174 8223FFB6 */ lb $v1, -0x4a($s1)
|
||||
/* 21578 80046178 10720007 */ beq $v1, $s2, .L80046198
|
||||
/* 2157C 8004617C 28620002 */ slti $v0, $v1, 2
|
||||
/* 21580 80046180 1440004C */ bnez $v0, .L800462B4
|
||||
/* 21584 80046184 00000000 */ nop
|
||||
/* 21588 80046188 10760040 */ beq $v1, $s6, .L8004628C
|
||||
/* 2158C 8004618C 00000000 */ nop
|
||||
/* 21590 80046190 080118AD */ j .L800462B4
|
||||
/* 21594 80046194 00000000 */ nop
|
||||
.L80046198:
|
||||
/* 21598 80046198 9222FFB4 */ lbu $v0, -0x4c($s1)
|
||||
/* 2159C 8004619C 2442FFFD */ addiu $v0, $v0, -3
|
||||
/* 215A0 800461A0 00021600 */ sll $v0, $v0, 0x18
|
||||
/* 215A4 800461A4 00021E03 */ sra $v1, $v0, 0x18
|
||||
/* 215A8 800461A8 2C620008 */ sltiu $v0, $v1, 8
|
||||
/* 215AC 800461AC 1040002E */ beqz $v0, .L80046268
|
||||
/* 215B0 800461B0 00031080 */ sll $v0, $v1, 2
|
||||
/* 215B4 800461B4 3C01800A */ lui $at, %hi(jtbl_800986E8)
|
||||
/* 215B8 800461B8 00220821 */ addu $at, $at, $v0
|
||||
/* 215BC 800461BC 8C2286E8 */ lw $v0, %lo(jtbl_800986E8)($at)
|
||||
/* 215C0 800461C0 00400008 */ jr $v0
|
||||
/* 215C4 800461C4 00000000 */ nop
|
||||
.L800461C8_215C8:
|
||||
/* 215C8 800461C8 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 215CC 800461CC 3C058010 */ lui $a1, %hi(D_80104E64)
|
||||
/* 215D0 800461D0 24A54E64 */ addiu $a1, $a1, %lo(D_80104E64)
|
||||
/* 215D4 800461D4 0801189D */ j .L80046274
|
||||
/* 215D8 800461D8 00000000 */ nop
|
||||
.L800461DC_215DC:
|
||||
/* 215DC 800461DC 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 215E0 800461E0 3C058010 */ lui $a1, %hi(D_8010574C)
|
||||
/* 215E4 800461E4 24A5574C */ addiu $a1, $a1, %lo(D_8010574C)
|
||||
/* 215E8 800461E8 0801189D */ j .L80046274
|
||||
/* 215EC 800461EC 00000000 */ nop
|
||||
.L800461F0_215F0:
|
||||
/* 215F0 800461F0 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 215F4 800461F4 3C058010 */ lui $a1, %hi(D_80105AA0)
|
||||
/* 215F8 800461F8 24A55AA0 */ addiu $a1, $a1, %lo(D_80105AA0)
|
||||
/* 215FC 800461FC 0801189D */ j .L80046274
|
||||
/* 21600 80046200 00000000 */ nop
|
||||
.L80046204_21604:
|
||||
/* 21604 80046204 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 21608 80046208 3C058010 */ lui $a1, %hi(D_801062A0)
|
||||
/* 2160C 8004620C 24A562A0 */ addiu $a1, $a1, %lo(D_801062A0)
|
||||
/* 21610 80046210 0801189D */ j .L80046274
|
||||
/* 21614 80046214 00000000 */ nop
|
||||
.L80046218_21618:
|
||||
/* 21618 80046218 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 2161C 8004621C 3C058010 */ lui $a1, %hi(D_801067B0)
|
||||
/* 21620 80046220 24A567B0 */ addiu $a1, $a1, %lo(D_801067B0)
|
||||
/* 21624 80046224 0801189D */ j .L80046274
|
||||
/* 21628 80046228 00000000 */ nop
|
||||
.L8004622C_2162C:
|
||||
/* 2162C 8004622C 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 21630 80046230 3C058010 */ lui $a1, %hi(D_80105DF4)
|
||||
/* 21634 80046234 24A55DF4 */ addiu $a1, $a1, %lo(D_80105DF4)
|
||||
/* 21638 80046238 0801189D */ j .L80046274
|
||||
/* 2163C 8004623C 00000000 */ nop
|
||||
.L80046240_21640:
|
||||
/* 21640 80046240 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 21644 80046244 3C058010 */ lui $a1, %hi(D_80106B04)
|
||||
/* 21648 80046248 24A56B04 */ addiu $a1, $a1, %lo(D_80106B04)
|
||||
/* 2164C 8004624C 0801189D */ j .L80046274
|
||||
/* 21650 80046250 00000000 */ nop
|
||||
.L80046254_21654:
|
||||
/* 21654 80046254 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 21658 80046258 3C058010 */ lui $a1, %hi(D_80106148)
|
||||
/* 2165C 8004625C 24A56148 */ addiu $a1, $a1, %lo(D_80106148)
|
||||
/* 21660 80046260 0801189D */ j .L80046274
|
||||
/* 21664 80046264 00000000 */ nop
|
||||
.L80046268:
|
||||
/* 21668 80046268 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 2166C 8004626C 3C058008 */ lui $a1, %hi(D_800804F0)
|
||||
/* 21670 80046270 24A504F0 */ addiu $a1, $a1, %lo(D_800804F0)
|
||||
.L80046274:
|
||||
/* 21674 80046274 0C0511FF */ jal set_hud_element_anim
|
||||
/* 21678 80046278 00000000 */ nop
|
||||
/* 2167C 8004627C 2402000A */ addiu $v0, $zero, 0xa
|
||||
/* 21680 80046280 A222FFB8 */ sb $v0, -0x48($s1)
|
||||
/* 21684 80046284 080118AD */ j .L800462B4
|
||||
/* 21688 80046288 A233FFB6 */ sb $s3, -0x4a($s1)
|
||||
.L8004628C:
|
||||
/* 2168C 8004628C 8222FFB8 */ lb $v0, -0x48($s1)
|
||||
/* 21690 80046290 9223FFB8 */ lbu $v1, -0x48($s1)
|
||||
/* 21694 80046294 10400003 */ beqz $v0, .L800462A4
|
||||
/* 21698 80046298 2462FFFF */ addiu $v0, $v1, -1
|
||||
/* 2169C 8004629C 080118AD */ j .L800462B4
|
||||
/* 216A0 800462A0 A222FFB8 */ sb $v0, -0x48($s1)
|
||||
.L800462A4:
|
||||
/* 216A4 800462A4 8E24FFBF */ lw $a0, -0x41($s1)
|
||||
/* 216A8 800462A8 0C05123D */ jal free_hud_element
|
||||
/* 216AC 800462AC A220FFB4 */ sb $zero, -0x4c($s1)
|
||||
/* 216B0 800462B0 A220FFB6 */ sb $zero, -0x4a($s1)
|
||||
.L800462B4:
|
||||
/* 216B4 800462B4 8222FFC5 */ lb $v0, -0x3b($s1)
|
||||
/* 216B8 800462B8 14520013 */ bne $v0, $s2, .L80046308
|
||||
/* 216BC 800462BC 2402000B */ addiu $v0, $zero, 0xb
|
||||
/* 216C0 800462C0 8223FFC3 */ lb $v1, -0x3d($s1)
|
||||
/* 216C4 800462C4 3C048008 */ lui $a0, %hi(D_800804F0)
|
||||
/* 216C8 800462C8 248404F0 */ addiu $a0, $a0, %lo(D_800804F0)
|
||||
/* 216CC 800462CC 14620003 */ bne $v1, $v0, .L800462DC
|
||||
/* 216D0 800462D0 00000000 */ nop
|
||||
/* 216D4 800462D4 3C048010 */ lui $a0, %hi(D_801050A8)
|
||||
/* 216D8 800462D8 248450A8 */ addiu $a0, $a0, %lo(D_801050A8)
|
||||
.L800462DC:
|
||||
/* 216DC 800462DC 0C050529 */ jal create_hud_element
|
||||
/* 216E0 800462E0 00000000 */ nop
|
||||
/* 216E4 800462E4 AE22FFCB */ sw $v0, -0x35($s1)
|
||||
/* 216E8 800462E8 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 216EC 800462EC 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 216F0 800462F0 0C051280 */ jal set_hud_element_flags
|
||||
/* 216F4 800462F4 24050002 */ addiu $a1, $zero, 2
|
||||
/* 216F8 800462F8 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 216FC 800462FC 0C051280 */ jal set_hud_element_flags
|
||||
/* 21700 80046300 24050080 */ addiu $a1, $zero, 0x80
|
||||
/* 21704 80046304 A233FFC5 */ sb $s3, -0x3b($s1)
|
||||
.L80046308:
|
||||
/* 21708 80046308 8223FFC6 */ lb $v1, -0x3a($s1)
|
||||
/* 2170C 8004630C 10720007 */ beq $v1, $s2, .L8004632C
|
||||
/* 21710 80046310 28620002 */ slti $v0, $v1, 2
|
||||
/* 21714 80046314 14400020 */ bnez $v0, .L80046398
|
||||
/* 21718 80046318 00000000 */ nop
|
||||
/* 2171C 8004631C 10760014 */ beq $v1, $s6, .L80046370
|
||||
/* 21720 80046320 00000000 */ nop
|
||||
/* 21724 80046324 080118E6 */ j .L80046398
|
||||
/* 21728 80046328 00000000 */ nop
|
||||
.L8004632C:
|
||||
/* 2172C 8004632C 8223FFC4 */ lb $v1, -0x3c($s1)
|
||||
/* 21730 80046330 2402000B */ addiu $v0, $zero, 0xb
|
||||
/* 21734 80046334 14620006 */ bne $v1, $v0, .L80046350
|
||||
/* 21738 80046338 00000000 */ nop
|
||||
/* 2173C 8004633C 8E24FFCF */ lw $a0, -0x31($s1)
|
||||
/* 21740 80046340 3C058010 */ lui $a1, %hi(D_801052D8)
|
||||
/* 21744 80046344 24A552D8 */ addiu $a1, $a1, %lo(D_801052D8)
|
||||
/* 21748 80046348 080118D7 */ j .L8004635C
|
||||
/* 2174C 8004634C 00000000 */ nop
|
||||
.L80046350:
|
||||
/* 21750 80046350 8E24FFCF */ lw $a0, -0x31($s1)
|
||||
/* 21754 80046354 3C058008 */ lui $a1, %hi(D_800804F0)
|
||||
/* 21758 80046358 24A504F0 */ addiu $a1, $a1, %lo(D_800804F0)
|
||||
.L8004635C:
|
||||
/* 2175C 8004635C 0C0511FF */ jal set_hud_element_anim
|
||||
/* 21760 80046360 00000000 */ nop
|
||||
/* 21764 80046364 A237FFC8 */ sb $s7, -0x38($s1)
|
||||
/* 21768 80046368 080118E6 */ j .L80046398
|
||||
/* 2176C 8004636C A233FFC6 */ sb $s3, -0x3a($s1)
|
||||
.L80046370:
|
||||
/* 21770 80046370 8222FFC8 */ lb $v0, -0x38($s1)
|
||||
/* 21774 80046374 9223FFC8 */ lbu $v1, -0x38($s1)
|
||||
/* 21778 80046378 10400003 */ beqz $v0, .L80046388
|
||||
/* 2177C 8004637C 2462FFFF */ addiu $v0, $v1, -1
|
||||
/* 21780 80046380 080118E6 */ j .L80046398
|
||||
/* 21784 80046384 A222FFC8 */ sb $v0, -0x38($s1)
|
||||
.L80046388:
|
||||
/* 21788 80046388 8E24FFCF */ lw $a0, -0x31($s1)
|
||||
/* 2178C 8004638C 0C05123D */ jal free_hud_element
|
||||
/* 21790 80046390 A220FFC4 */ sb $zero, -0x3c($s1)
|
||||
/* 21794 80046394 A220FFC6 */ sb $zero, -0x3a($s1)
|
||||
.L80046398:
|
||||
/* 21798 80046398 8222FFD5 */ lb $v0, -0x2b($s1)
|
||||
/* 2179C 8004639C 14520013 */ bne $v0, $s2, .L800463EC
|
||||
/* 217A0 800463A0 2402000E */ addiu $v0, $zero, 0xe
|
||||
/* 217A4 800463A4 8223FFD3 */ lb $v1, -0x2d($s1)
|
||||
/* 217A8 800463A8 3C048008 */ lui $a0, %hi(D_800804F0)
|
||||
/* 217AC 800463AC 248404F0 */ addiu $a0, $a0, %lo(D_800804F0)
|
||||
/* 217B0 800463B0 14620003 */ bne $v1, $v0, .L800463C0
|
||||
/* 217B4 800463B4 00000000 */ nop
|
||||
/* 217B8 800463B8 3C048010 */ lui $a0, %hi(D_80106CD8)
|
||||
/* 217BC 800463BC 24846CD8 */ addiu $a0, $a0, %lo(D_80106CD8)
|
||||
.L800463C0:
|
||||
/* 217C0 800463C0 0C050529 */ jal create_hud_element
|
||||
/* 217C4 800463C4 00000000 */ nop
|
||||
/* 217C8 800463C8 AE22FFDB */ sw $v0, -0x25($s1)
|
||||
/* 217CC 800463CC 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 217D0 800463D0 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 217D4 800463D4 0C051280 */ jal set_hud_element_flags
|
||||
/* 217D8 800463D8 24050002 */ addiu $a1, $zero, 2
|
||||
/* 217DC 800463DC 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 217E0 800463E0 0C051280 */ jal set_hud_element_flags
|
||||
/* 217E4 800463E4 24050080 */ addiu $a1, $zero, 0x80
|
||||
/* 217E8 800463E8 A233FFD5 */ sb $s3, -0x2b($s1)
|
||||
.L800463EC:
|
||||
/* 217EC 800463EC 8223FFD6 */ lb $v1, -0x2a($s1)
|
||||
/* 217F0 800463F0 10720007 */ beq $v1, $s2, .L80046410
|
||||
/* 217F4 800463F4 28620002 */ slti $v0, $v1, 2
|
||||
/* 217F8 800463F8 14400020 */ bnez $v0, .L8004647C
|
||||
/* 217FC 800463FC 00000000 */ nop
|
||||
/* 21800 80046400 10760014 */ beq $v1, $s6, .L80046454
|
||||
/* 21804 80046404 00000000 */ nop
|
||||
/* 21808 80046408 0801191F */ j .L8004647C
|
||||
/* 2180C 8004640C 00000000 */ nop
|
||||
.L80046410:
|
||||
/* 21810 80046410 8223FFD4 */ lb $v1, -0x2c($s1)
|
||||
/* 21814 80046414 2402000E */ addiu $v0, $zero, 0xe
|
||||
/* 21818 80046418 14620006 */ bne $v1, $v0, .L80046434
|
||||
/* 2181C 8004641C 00000000 */ nop
|
||||
/* 21820 80046420 8E24FFDF */ lw $a0, -0x21($s1)
|
||||
/* 21824 80046424 3C058010 */ lui $a1, %hi(D_80106E98)
|
||||
/* 21828 80046428 24A56E98 */ addiu $a1, $a1, %lo(D_80106E98)
|
||||
/* 2182C 8004642C 08011910 */ j .L80046440
|
||||
/* 21830 80046430 00000000 */ nop
|
||||
.L80046434:
|
||||
/* 21834 80046434 8E24FFDF */ lw $a0, -0x21($s1)
|
||||
/* 21838 80046438 3C058008 */ lui $a1, %hi(D_800804F0)
|
||||
/* 2183C 8004643C 24A504F0 */ addiu $a1, $a1, %lo(D_800804F0)
|
||||
.L80046440:
|
||||
/* 21840 80046440 0C0511FF */ jal set_hud_element_anim
|
||||
/* 21844 80046444 00000000 */ nop
|
||||
/* 21848 80046448 A237FFD8 */ sb $s7, -0x28($s1)
|
||||
/* 2184C 8004644C 0801191F */ j .L8004647C
|
||||
/* 21850 80046450 A233FFD6 */ sb $s3, -0x2a($s1)
|
||||
.L80046454:
|
||||
/* 21854 80046454 8222FFD8 */ lb $v0, -0x28($s1)
|
||||
/* 21858 80046458 9223FFD8 */ lbu $v1, -0x28($s1)
|
||||
/* 2185C 8004645C 10400003 */ beqz $v0, .L8004646C
|
||||
/* 21860 80046460 2462FFFF */ addiu $v0, $v1, -1
|
||||
/* 21864 80046464 0801191F */ j .L8004647C
|
||||
/* 21868 80046468 A222FFD8 */ sb $v0, -0x28($s1)
|
||||
.L8004646C:
|
||||
/* 2186C 8004646C 8E24FFDF */ lw $a0, -0x21($s1)
|
||||
/* 21870 80046470 0C05123D */ jal free_hud_element
|
||||
/* 21874 80046474 A220FFD4 */ sb $zero, -0x2c($s1)
|
||||
/* 21878 80046478 A220FFD6 */ sb $zero, -0x2a($s1)
|
||||
.L8004647C:
|
||||
/* 2187C 8004647C 8222FFE5 */ lb $v0, -0x1b($s1)
|
||||
/* 21880 80046480 1452000E */ bne $v0, $s2, .L800464BC
|
||||
/* 21884 80046484 00000000 */ nop
|
||||
/* 21888 80046488 3C048010 */ lui $a0, %hi(D_801062DC)
|
||||
/* 2188C 8004648C 248462DC */ addiu $a0, $a0, %lo(D_801062DC)
|
||||
/* 21890 80046490 0C050529 */ jal create_hud_element
|
||||
/* 21894 80046494 00000000 */ nop
|
||||
/* 21898 80046498 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 2189C 8004649C 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 218A0 800464A0 24050002 */ addiu $a1, $zero, 2
|
||||
/* 218A4 800464A4 0C051280 */ jal set_hud_element_flags
|
||||
/* 218A8 800464A8 AE30FFEB */ sw $s0, -0x15($s1)
|
||||
/* 218AC 800464AC 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 218B0 800464B0 0C051280 */ jal set_hud_element_flags
|
||||
/* 218B4 800464B4 24050080 */ addiu $a1, $zero, 0x80
|
||||
/* 218B8 800464B8 A233FFE5 */ sb $s3, -0x1b($s1)
|
||||
.L800464BC:
|
||||
/* 218BC 800464BC 8223FFE6 */ lb $v1, -0x1a($s1)
|
||||
/* 218C0 800464C0 10720007 */ beq $v1, $s2, .L800464E0
|
||||
/* 218C4 800464C4 28620002 */ slti $v0, $v1, 2
|
||||
/* 218C8 800464C8 14400017 */ bnez $v0, .L80046528
|
||||
/* 218CC 800464CC 00000000 */ nop
|
||||
/* 218D0 800464D0 1076000B */ beq $v1, $s6, .L80046500
|
||||
/* 218D4 800464D4 00000000 */ nop
|
||||
/* 218D8 800464D8 0801194A */ j .L80046528
|
||||
/* 218DC 800464DC 00000000 */ nop
|
||||
.L800464E0:
|
||||
/* 218E0 800464E0 8E24FFEF */ lw $a0, -0x11($s1)
|
||||
/* 218E4 800464E4 3C058010 */ lui $a1, %hi(D_8010645C)
|
||||
/* 218E8 800464E8 24A5645C */ addiu $a1, $a1, %lo(D_8010645C)
|
||||
/* 218EC 800464EC 0C0511FF */ jal set_hud_element_anim
|
||||
/* 218F0 800464F0 00000000 */ nop
|
||||
/* 218F4 800464F4 A237FFE8 */ sb $s7, -0x18($s1)
|
||||
/* 218F8 800464F8 0801194A */ j .L80046528
|
||||
/* 218FC 800464FC A233FFE6 */ sb $s3, -0x1a($s1)
|
||||
.L80046500:
|
||||
/* 21900 80046500 8222FFE8 */ lb $v0, -0x18($s1)
|
||||
/* 21904 80046504 9223FFE8 */ lbu $v1, -0x18($s1)
|
||||
/* 21908 80046508 10400003 */ beqz $v0, .L80046518
|
||||
/* 2190C 8004650C 2462FFFF */ addiu $v0, $v1, -1
|
||||
/* 21910 80046510 0801194A */ j .L80046528
|
||||
/* 21914 80046514 A222FFE8 */ sb $v0, -0x18($s1)
|
||||
.L80046518:
|
||||
/* 21918 80046518 8E24FFEF */ lw $a0, -0x11($s1)
|
||||
/* 2191C 8004651C 0C05123D */ jal free_hud_element
|
||||
/* 21920 80046520 A220FFE4 */ sb $zero, -0x1c($s1)
|
||||
/* 21924 80046524 A220FFE6 */ sb $zero, -0x1a($s1)
|
||||
.L80046528:
|
||||
/* 21928 80046528 8222FFF4 */ lb $v0, -0xc($s1)
|
||||
/* 2192C 8004652C 1040000D */ beqz $v0, .L80046564
|
||||
/* 21930 80046530 00000000 */ nop
|
||||
/* 21934 80046534 1452000B */ bne $v0, $s2, .L80046564
|
||||
/* 21938 80046538 00000000 */ nop
|
||||
/* 2193C 8004653C 8E30FFFB */ lw $s0, -5($s1)
|
||||
/* 21940 80046540 0C051235 */ jal get_hud_element
|
||||
/* 21944 80046544 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 21948 80046548 8C420000 */ lw $v0, ($v0)
|
||||
/* 2194C 8004654C 30420004 */ andi $v0, $v0, 4
|
||||
/* 21950 80046550 10400004 */ beqz $v0, .L80046564
|
||||
/* 21954 80046554 00000000 */ nop
|
||||
/* 21958 80046558 0C05123D */ jal free_hud_element
|
||||
/* 2195C 8004655C 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 21960 80046560 A220FFF4 */ sb $zero, -0xc($s1)
|
||||
.L80046564:
|
||||
/* 21964 80046564 82220000 */ lb $v0, ($s1)
|
||||
/* 21968 80046568 5040000E */ beql $v0, $zero, .L800465A4
|
||||
/* 2196C 8004656C 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 21970 80046570 5452000C */ bnel $v0, $s2, .L800465A4
|
||||
/* 21974 80046574 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 21978 80046578 8E300007 */ lw $s0, 7($s1)
|
||||
/* 2197C 8004657C 0C051235 */ jal get_hud_element
|
||||
/* 21980 80046580 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 21984 80046584 8C420000 */ lw $v0, ($v0)
|
||||
/* 21988 80046588 30420004 */ andi $v0, $v0, 4
|
||||
/* 2198C 8004658C 50400005 */ beql $v0, $zero, .L800465A4
|
||||
/* 21990 80046590 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 21994 80046594 0C05123D */ jal free_hud_element
|
||||
/* 21998 80046598 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 2199C 8004659C A2200000 */ sb $zero, ($s1)
|
||||
/* 219A0 800465A0 26B50001 */ addiu $s5, $s5, 1
|
||||
.L800465A4:
|
||||
/* 219A4 800465A4 263100B0 */ addiu $s1, $s1, 0xb0
|
||||
/* 219A8 800465A8 2AA20040 */ slti $v0, $s5, 0x40
|
||||
/* 219AC 800465AC 1440FEB2 */ bnez $v0, .L80046078
|
||||
/* 219B0 800465B0 269400B0 */ addiu $s4, $s4, 0xb0
|
||||
/* 219B4 800465B4 8FBF0030 */ lw $ra, 0x30($sp)
|
||||
/* 219B8 800465B8 8FB7002C */ lw $s7, 0x2c($sp)
|
||||
/* 219BC 800465BC 8FB60028 */ lw $s6, 0x28($sp)
|
||||
/* 219C0 800465C0 8FB50024 */ lw $s5, 0x24($sp)
|
||||
/* 219C4 800465C4 8FB40020 */ lw $s4, 0x20($sp)
|
||||
/* 219C8 800465C8 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 219CC 800465CC 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 219D0 800465D0 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 219D4 800465D4 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 219D8 800465D8 03E00008 */ jr $ra
|
||||
/* 219DC 800465DC 27BD0038 */ addiu $sp, $sp, 0x38
|
@ -1,30 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel set_status_icons_properties
|
||||
/* 22B8C 8004778C 00041040 */ sll $v0, $a0, 1
|
||||
/* 22B90 80047790 00441021 */ addu $v0, $v0, $a0
|
||||
/* 22B94 80047794 00021080 */ sll $v0, $v0, 2
|
||||
/* 22B98 80047798 00441023 */ subu $v0, $v0, $a0
|
||||
/* 22B9C 8004779C 3C03800A */ lui $v1, %hi(D_800A0F44)
|
||||
/* 22BA0 800477A0 8C630F44 */ lw $v1, %lo(D_800A0F44)($v1)
|
||||
/* 22BA4 800477A4 00021100 */ sll $v0, $v0, 4
|
||||
/* 22BA8 800477A8 00621821 */ addu $v1, $v1, $v0
|
||||
/* 22BAC 800477AC AC650004 */ sw $a1, 4($v1)
|
||||
/* 22BB0 800477B0 AC660008 */ sw $a2, 8($v1)
|
||||
/* 22BB4 800477B4 AC67000C */ sw $a3, 0xc($v1)
|
||||
/* 22BB8 800477B8 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 22BBC 800477BC 8FA5001C */ lw $a1, 0x1c($sp)
|
||||
/* 22BC0 800477C0 24840011 */ addiu $a0, $a0, 0x11
|
||||
/* 22BC4 800477C4 24A20011 */ addiu $v0, $a1, 0x11
|
||||
/* 22BC8 800477C8 AC62001C */ sw $v0, 0x1c($v1)
|
||||
/* 22BCC 800477CC 24A20022 */ addiu $v0, $a1, 0x22
|
||||
/* 22BD0 800477D0 AC650014 */ sw $a1, 0x14($v1)
|
||||
/* 22BD4 800477D4 24A50033 */ addiu $a1, $a1, 0x33
|
||||
/* 22BD8 800477D8 AC640010 */ sw $a0, 0x10($v1)
|
||||
/* 22BDC 800477DC AC640018 */ sw $a0, 0x18($v1)
|
||||
/* 22BE0 800477E0 AC640020 */ sw $a0, 0x20($v1)
|
||||
/* 22BE4 800477E4 AC620024 */ sw $v0, 0x24($v1)
|
||||
/* 22BE8 800477E8 AC640028 */ sw $a0, 0x28($v1)
|
||||
/* 22BEC 800477EC 03E00008 */ jr $ra
|
||||
/* 22BF0 800477F0 AC65002C */ sw $a1, 0x2c($v1)
|
@ -76,7 +76,7 @@ segments:
|
||||
- [0x13870, c, npc]
|
||||
- [0x1A1F0, c, 1a1f0_len_5390]
|
||||
- [0x1F580, c, encounter_api]
|
||||
- [0x20EC0, c, 20ec0_len_5040]
|
||||
- [0x20EC0, c, status_icons]
|
||||
- [0x23680, c]
|
||||
- [0x25AF0, c]
|
||||
- [0x25F00, c, 25f00_len_940]
|
||||
@ -344,7 +344,7 @@ segments:
|
||||
- [0x73860, .rodata, state_demo]
|
||||
- [0x73880, .rodata, npc]
|
||||
- [0x739F0, .rodata, 1a1f0_len_5390]
|
||||
- [0x73AB0, .rodata, 20ec0_len_5040]
|
||||
- [0x73AB0, .rodata, status_icons]
|
||||
- [0x73B10, .rodata, 23680]
|
||||
- [0x73CC0, .rodata, 28910_len_5090]
|
||||
- [0x73CF0, .rodata, 2e230_len_2190]
|
||||
|
@ -429,25 +429,25 @@ update_merlee_message = 0x80045D7C; // type:func rom:0x2117C
|
||||
draw_merlee_message_string = 0x80045E4C; // type:func rom:0x2124C
|
||||
draw_merlee_message = 0x80045ED0; // type:func rom:0x212D0
|
||||
is_merlee_message_done = 0x80045FA4; // type:func rom:0x213A4
|
||||
func_80045FB4 = 0x80045FB4; // type:func rom:0x213B4
|
||||
func_80046030 = 0x80046030; // type:func rom:0x21430
|
||||
init_all_status_icons = 0x80045FB4; // type:func rom:0x213B4
|
||||
update_all_status_icons = 0x80046030; // type:func rom:0x21430
|
||||
draw_all_status_icons = 0x800465E0; // type:func rom:0x219E0
|
||||
create_status_icon_set = 0x80047608; // type:func rom:0x22A08
|
||||
remove_all_status_icons = 0x800476F4; // type:func rom:0x22AF4
|
||||
set_status_icons_properties = 0x8004778C; // type:func rom:0x22B8C
|
||||
func_800477F4 = 0x800477F4; // type:func rom:0x22BF4
|
||||
func_80047820 = 0x80047820; // type:func rom:0x22C20
|
||||
set_status_icons_offset = 0x800477F4; // type:func rom:0x22BF4
|
||||
create_status_debuff = 0x80047820; // type:func rom:0x22C20
|
||||
remove_status_debuff = 0x80047898; // type:func rom:0x22C98
|
||||
enable_status_1 = 0x800478F8; // type:func rom:0x22CF8
|
||||
func_80047928 = 0x80047928; // type:func rom:0x22D28
|
||||
enable_status_debuff = 0x800478F8; // type:func rom:0x22CF8
|
||||
create_status_static = 0x80047928; // type:func rom:0x22D28
|
||||
remove_status_static = 0x800479A0; // type:func rom:0x22DA0
|
||||
enable_status_2 = 0x80047A00; // type:func rom:0x22E00
|
||||
func_80047A30 = 0x80047A30; // type:func rom:0x22E30
|
||||
create_status_transparent = 0x80047A30; // type:func rom:0x22E30
|
||||
remove_status_transparent = 0x80047AA8; // type:func rom:0x22EA8
|
||||
enable_status_3 = 0x80047B08; // type:func rom:0x22F08
|
||||
func_80047B38 = 0x80047B38; // type:func rom:0x22F38
|
||||
remove_status_4 = 0x80047B84; // type:func rom:0x22F84
|
||||
enable_status_4 = 0x80047BE4; // type:func rom:0x22FE4
|
||||
enable_status_transparent = 0x80047B08; // type:func rom:0x22F08
|
||||
create_status_chill_out = 0x80047B38; // type:func rom:0x22F38
|
||||
remove_status_chill_out = 0x80047B84; // type:func rom:0x22F84
|
||||
enable_status_chill_out = 0x80047BE4; // type:func rom:0x22FE4
|
||||
create_status_icon_boost_jump = 0x80047C14; // type:func rom:0x23014
|
||||
remove_status_icon_boost_jump = 0x80047CA4; // type:func rom:0x230A4
|
||||
enable_status_icon_boost_jump = 0x80047D00; // type:func rom:0x23100
|
||||
|
Loading…
Reference in New Issue
Block a user