More pal work (#1102)

* wip

* same size at least

* closer

* matchin

* cleanup

* 22go

* 1 mo

* Fix asm, gettin ready

* almost

* Split more segments

* Clean up undefined_syms

* Remove temporay code

* Use dirs for regional assets

* Fix imports

* clean

* PRomment & cleanup

---------

Co-authored-by: Marijn van der Werf <marijn.vanderwerf@gmail.com>
This commit is contained in:
Ethan Roseman 2023-07-31 13:55:07 +09:00 committed by GitHub
parent b9cc73472b
commit 6e80d188e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 4330 additions and 256 deletions

View File

@ -16,12 +16,6 @@ BSS s16 D_8010CCFA;
BSS s16 D_8010CCFC;
BSS s16 D_8010CCFE;
BSS s16 D_8010CD00;
BSS char D_8010CD04[0xC];
BSS s16 D_8010CD10;
BSS s16 D_8010CD12;
BSS char D_8010CD14[0xA];
BSS s32 D_8010CD20;
BSS char D_8010CD24[0xC];
extern s32 MenuIndexFromPartnerID[];

View File

@ -1,6 +1,12 @@
#include "common.h"
#include "hud_element.h"
BSS s16 D_8010CD10;
BSS s16 D_8010CD12;
BSS char D_8010CD14[0xA];
BSS s32 D_8010CD20;
BSS char D_8010CD24[0xC];
SHIFT_BSS UiStatus gUIStatus;
extern HudScript* TimesHudScript;
@ -8,14 +14,17 @@ extern HudScript* SPIncrementHudScripts[];
extern HudScript* SPStarHudScripts[];
extern s32 StatusBarSPIncrementOffsets[];
extern s16 D_8010CD10;
extern s16 D_8010CD12;
extern HudScript* DigitHudScripts[10];
extern HudScript HES_StatusHP;
extern HudScript HES_StatusHP_de;
extern HudScript HES_StatusHP_fr;
extern HudScript HES_StatusHP_es;
extern HudScript HES_StatusHeart;
extern HudScript HES_StatusFP;
extern HudScript HES_StatusFP_de;
extern HudScript HES_StatusFP_fr;
extern HudScript HES_StatusFP_es;
extern HudScript HES_StatusFlower;
extern HudScript HES_Item_CoinSparkleRandom;
extern HudScript HES_StatusStarPoint;
@ -303,7 +312,6 @@ void initialize_status_bar(void) {
UiStatus* uiStatus = &gUIStatus;
PlayerData* playerData = &gPlayerData;
s32 iconIndex;
s32 newVar;
uiStatus->drawPosX = 12;
D_8010CD10 = 0;
@ -346,69 +354,95 @@ void initialize_status_bar(void) {
close_status_bar();
iconIndex = hud_element_create(&HES_StatusHP);
uiStatus->hpIconIndices[0] = iconIndex;
#if VERSION_PAL
switch (gCurrentLanguage) {
case LANGUAGE_EN:
iconIndex = uiStatus->hpIconIndices[0] = hud_element_create(&HES_StatusHP);
break;
case LANGUAGE_DE:
iconIndex = uiStatus->hpIconIndices[0] = hud_element_create(&HES_StatusHP_de);
break;
case LANGUAGE_FR:
iconIndex = uiStatus->hpIconIndices[0] = hud_element_create(&HES_StatusHP_fr);
break;
case LANGUAGE_ES:
iconIndex = uiStatus->hpIconIndices[0] = hud_element_create(&HES_StatusHP_es);
break;
}
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
#else
uiStatus->hpIconIndices[0] = iconIndex = hud_element_create(&HES_StatusHP);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
#endif
uiStatus->hpIconIndices[1] = iconIndex = hud_element_create(&HES_StatusHeart);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusHeart);
uiStatus->hpIconIndices[1] = iconIndex;
#if VERSION_PAL
switch (gCurrentLanguage) {
case LANGUAGE_EN:
iconIndex = uiStatus->fpIconIndices[0] = hud_element_create(&HES_StatusFP);
break;
case LANGUAGE_DE:
iconIndex = uiStatus->fpIconIndices[0] = hud_element_create(&HES_StatusFP_de);
break;
case LANGUAGE_FR:
iconIndex = uiStatus->fpIconIndices[0] = hud_element_create(&HES_StatusFP_fr);
break;
case LANGUAGE_ES:
iconIndex = uiStatus->fpIconIndices[0] = hud_element_create(&HES_StatusFP_es);
break;
}
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
#else
uiStatus->fpIconIndices[0] = iconIndex = hud_element_create(&HES_StatusFP);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
#endif
uiStatus->fpIconIndices[1] = iconIndex = hud_element_create(&HES_StatusFlower);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusFP);
uiStatus->fpIconIndices[0] = iconIndex;
uiStatus->coinIconIndex = iconIndex = hud_element_create(&HES_StatusCoin);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusFlower);
uiStatus->fpIconIndices[1] = iconIndex;
uiStatus->coinSparkleIconIndex = iconIndex = hud_element_create(&HES_Item_CoinSparkleRandom);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusCoin);
uiStatus->coinIconIndex = iconIndex;
uiStatus->starpointsIconIndex = iconIndex = hud_element_create(&HES_StatusStarPoint);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_Item_CoinSparkleRandom);
uiStatus->coinSparkleIconIndex = iconIndex;
uiStatus->starpointsShineIconIndex = iconIndex = hud_element_create(&HES_StatusSPShine);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusStarPoint);
uiStatus->starpointsIconIndex = iconIndex;
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusSPShine);
uiStatus->starpointsShineIconIndex = iconIndex;
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
newVar = hud_element_create(&HES_StatusTimes);
iconIndex = newVar;
uiStatus->iconIndex8 = iconIndex;
uiStatus->iconIndex8 = iconIndex = hud_element_create(&HES_StatusTimes);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusTimes);
uiStatus->iconIndex9 = iconIndex;
uiStatus->iconIndex9 = iconIndex = hud_element_create(&HES_StatusTimes);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusTimes);
uiStatus->iconIndexA = iconIndex;
uiStatus->iconIndexA = iconIndex = hud_element_create(&HES_StatusTimes);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusTimes);
uiStatus->iconIndexB = iconIndex;
uiStatus->iconIndexB = iconIndex = hud_element_create(&HES_StatusTimes);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);
iconIndex = hud_element_create(&HES_StatusStar1);
uiStatus->starIconIndex = iconIndex;
uiStatus->starIconIndex = iconIndex = hud_element_create(&HES_StatusStar1);
hud_element_set_flags(iconIndex, HUD_ELEMENT_FLAG_80);
hud_element_clear_flags(iconIndex, HUD_ELEMENT_FLAG_FILTER_TEX);

View File

@ -315,10 +315,15 @@ void func_800F16CC(void) {
gPopupState = POPUP_STATE_20;
}
#if VERSION_PAL
s32 popup_menu_update(void);
INCLUDE_ASM(s32, "8a860_len_3f30", popup_menu_update);
#else
s32 popup_menu_update(void) {
s32 posX;
s32 posY;
s32 width;
s32 height;
s32 elementID;
s32 cond;
s32 buttons;
@ -326,6 +331,12 @@ s32 popup_menu_update(void) {
s32 one;
s32 i;
s32 var_s5 = 0;
s32 var_s6 = 0; // maybe 6 before 5
s32 msgWidth;
s32 width2;
s32 posX2;
switch (gPopupState) {
case POPUP_STATE_INIT:
D_8010D67C = 20;
@ -409,6 +420,127 @@ s32 popup_menu_update(void) {
posX = D_8010D67C;
posY = D_8010D67E;
#if VERSION_PAL
gPopupMenu->unk_338 = 0;
gPopupMenu->unk_340 = 0;
switch (gPopupMenu->popupType) {
case POPUP_MENU_USE_ITEM:
gPopupMenu->unk_33C = MSG_Menus_0061;
switch (gPopupMenu->dipMode) {
case 0:
gPopupMenu->unk_330 = MSG_Menus_Items;
break;
case 1:
gPopupMenu->unk_330 = MSG_Menus_DoubleDip;
break;
case 2:
gPopupMenu->unk_330 = MSG_Menus_TripleDip;
break;
}
case POPUP_MENU_THROW_AWAY_ITEM:
gPopupMenu->unk_330 = MSG_Menus_Items;
gPopupMenu->unk_33C = MSG_Menus_0064;
case POPUP_MENU_CHECK_ITEM:
gPopupMenu->unk_330 = MSG_Menus_Items;
gPopupMenu->unk_33C = MSG_Menus_0066;
case POPUP_MENU_CLAIM_ITEM:
gPopupMenu->unk_330 = MSG_Menus_Items;
gPopupMenu->unk_33C = MSG_Menus_0067;
case POPUP_MENU_USEKEY:
var_s6 = 145;
var_s5 = 145;
gPopupMenu->unk_33C = MSG_Menus_0062;
gPopupMenu->unk_330 = MSG_Menus_Items;
break;
case POPUP_MENU_SWITCH_PARTNER:
var_s6 = 139;
var_s5 = 139;
gPopupMenu->unk_330 = MSG_Menus_PartyMember;
gPopupMenu->unk_338 = 1;
gPopupMenu->unk_33C = MSG_Menus_0063;
break;
case POPUP_MENU_TRADE_FOR_BADGE:
var_s6 = 162;
var_s5 = 140;
gPopupMenu->unk_340 = -16;
gPopupMenu->unk_330 = MSG_MenuTip_0032;
gPopupMenu->unk_33C = MSG_Menus_0070;
break;
case POPUP_MENU_UPGRADE_PARTNER:
var_s6 = 146;
var_s5 = 140;
gPopupMenu->unk_340 = -8;
gPopupMenu->unk_330 = MSG_Menus_PartyMember;
gPopupMenu->unk_338 = 1;
gPopupMenu->unk_33C = MSG_Menus_006A;
break;
case POPUP_MENU_SELL_ITEM:
var_s6 = 167;
var_s5 = 145;
gPopupMenu->unk_340 = -24;
gPopupMenu->unk_330 = MSG_Menus_Items;
gPopupMenu->unk_33C = MSG_Menus_0065;
break;
case POPUP_MENU_READ_LETTER:
var_s6 = 170;
var_s5 = 170;
gPopupMenu->unk_340 = -32;
gPopupMenu->unk_330 = MSG_MenuTip_0033;
gPopupMenu->unk_33C = MSG_Menus_006D;
break;
case POPUP_MENU_TAKE_FROM_CHEST:
var_s6 = 145;
var_s5 = 145;
gPopupMenu->unk_330 = MSG_Menus_00D7;
gPopupMenu->unk_33C = MSG_Menus_00D6;
break;
case POPUP_MENU_READ_DIARY_PAGE:
var_s6 = 140;
var_s5 = 140;
gPopupMenu->unk_340 = -16;
gPopupMenu->unk_330 = MSG_Menus_00CE;
gPopupMenu->unk_33C = MSG_Menus_006C;
break;
case POPUP_MENU_READ_POSTCARD:
var_s6 = 149;
var_s5 = 149;
gPopupMenu->unk_340 = -16;
gPopupMenu->unk_330 = MSG_Menus_00D0;
gPopupMenu->unk_33C = MSG_Menus_006D;
break;
case POPUP_MENU_POST_OFFICE:
var_s6 = 131;
var_s5 = 131;
gPopupMenu->unk_330 = MSG_Menus_PartyMember;
gPopupMenu->unk_338 = 1;
gPopupMenu->unk_33C = MSG_Menus_006F;
break;
}
msgWidth = get_msg_width(gPopupMenu->unk_330, 0);
width2 = msgWidth + (((var_s5 - msgWidth) * 2) / 5);
posX2 = (var_s5 - width2) / 2;
gPopupMenu->unk_334 = (width2 - msgWidth) / 2;
if (gPopupMenu->popupType == POPUP_MENU_USE_ITEM && gPopupMenu->dipMode != 0) {
width2 = 125;
posX2 = (var_s5 - width2) / 2;
gPopupMenu->unk_334 = (80 - msgWidth) / 2;
}
set_window_properties(WINDOW_ID_14, posX, posY, var_s6, (PopupMenu_DisplayedEntryCount * LINE_HEIGHT) + 26,
WINDOW_PRIORITY_20, popup_menu_draw_menu_contents, NULL, -1);
if (gPopupMenu->unk_338 == 0) {
set_window_properties(WINDOW_ID_15, posX2, -6, width2, 16, WINDOW_PRIORITY_21,
popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, 1);
set_window_update(WINDOW_ID_17, 2);
} else {
set_window_properties(WINDOW_ID_17, posX2, -6, width2, 16, WINDOW_PRIORITY_21,
popup_menu_draw_title_contents, NULL, WINDOW_ID_14);
set_window_update(WINDOW_ID_15, 2);
set_window_update(WINDOW_ID_17, 1);
}
#else
switch (gPopupMenu->popupType) {
case POPUP_MENU_USE_ITEM:
case POPUP_MENU_THROW_AWAY_ITEM:
@ -479,6 +611,7 @@ s32 popup_menu_update(void) {
set_window_update(WINDOW_ID_17, WINDOW_UPDATE_SHOW);
break;
}
#endif
switch (gPopupMenu->popupType) {
case POPUP_MENU_TRADE_FOR_BADGE:
@ -490,8 +623,9 @@ s32 popup_menu_update(void) {
}
if (gPopupMenu->popupType == POPUP_MENU_TRADE_FOR_BADGE) {
set_window_properties(WINDOW_ID_CURRENCY_COUNTER, PopupMenu_StarPieceCounterPosX, PopupMenu_StarPieceCounterPosY,
64, 20, WINDOW_PRIORITY_21, func_800F4D28, NULL, -1);
posX = PopupMenu_StarPieceCounterPosX;
posY = PopupMenu_StarPieceCounterPosY;
set_window_properties(WINDOW_ID_CURRENCY_COUNTER, posX, posY, 64, 20, WINDOW_PRIORITY_21, func_800F4D28, NULL, -1);
}
do {
@ -514,11 +648,21 @@ s32 popup_menu_update(void) {
if (gPopupMenu->popupType >= POPUP_MENU_USE_ITEM
&& (gPopupMenu->popupType < POPUP_MENU_READ_DIARY_PAGE || gPopupMenu->popupType == POPUP_MENU_USEKEY))
{
set_window_properties(WINDOW_ID_19, D_8010D680, D_8010D682, 280, 32, WINDOW_PRIORITY_20, func_800F48F4, NULL, -1);
posX = D_8010D680;
posY = D_8010D682;
set_window_properties(WINDOW_ID_19, posX, posY, 280, 32, WINDOW_PRIORITY_20, func_800F48F4, NULL, -1);
}
posX = D_8010D684;
posY = D_8010D686;
#if VERSION_PAL
height = 32;
if (get_msg_lines(gPopupMenu->unk_33C) == 2) {
height = 40;
}
set_window_properties(WINDOW_ID_21, posX, posY, gPopupMenu->unk_340 + 144, height, WINDOW_PRIORITY_20, func_800F4944, NULL, -1);
#else
switch (gPopupMenu->popupType) {
case POPUP_MENU_USE_ITEM:
case POPUP_MENU_CHECK_ITEM:
@ -547,6 +691,7 @@ s32 popup_menu_update(void) {
set_window_properties(WINDOW_ID_21, posX, posY, 120, 32, WINDOW_PRIORITY_20, func_800F4944, NULL, -1);
break;
}
#endif
if (!PopupNotBattle) {
switch (gPopupMenu->popupType) {
@ -886,8 +1031,18 @@ s32 popup_menu_update(void) {
if (PopupNotBattle) {
set_window_update(WINDOW_ID_21, WINDOW_UPDATE_HIDE);
}
#if VERSION_PAL
width = get_msg_width(MSG_Menus_006B, 0) + 32;
if (get_msg_lines(MSG_Menus_006B) == 1) {
posY = 76;
} else {
posY = 72;
}
set_window_properties(WINDOW_ID_BATTLE_POPUP, 160 - (width / 2), posY, width, 40, WINDOW_PRIORITY_20, popup_draw_already_have_partner, NULL, -1);
#else
width = get_msg_width(MSG_Menus_006B, 0) + 23;
set_window_properties(WINDOW_ID_BATTLE_POPUP, 160 - (width / 2), 80, width, 40, WINDOW_PRIORITY_20, popup_draw_already_have_partner, NULL, -1);
#endif
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW);
D_8010D644 = 60;
gPopupState = POPUP_STATE_ALREADY_HAVE_PARTNER_AWAIT;
@ -963,8 +1118,20 @@ s32 popup_menu_update(void) {
} else {
msgID = MSG_Menus_0069;
}
#if VERSION_PAL
width = get_msg_width(msgID, 0) + 32;
if (get_msg_lines(msgID) == 1) {
height = 32;
posY = 76;
} else {
height = 40;
posY = 72;
}
set_window_properties(WINDOW_ID_21, 160 - (width / 2), posY, width, height, WINDOW_PRIORITY_19, func_800F4C1C, NULL, -1);
#else
width = get_msg_width(msgID, 0) + 23;
set_window_properties(WINDOW_ID_21, 160 - (width / 2), 76, width, 32, WINDOW_PRIORITY_19, func_800F4C1C, NULL, -1);
#endif
set_window_update(WINDOW_ID_21, WINDOW_UPDATE_SHOW);
D_8010D6A0 = msg_get_printer_for_msg(MSG_Choice_001D, &D_8010D6A4);
msg_printer_set_origin_pos(D_8010D6A0, 160, 144);
@ -1039,6 +1206,7 @@ s32 popup_menu_update(void) {
gPopupMenu->result = POPUP_RESULT_CHOOSING;
return 0;
}
#endif
void popup_menu_draw_menu_contents(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 x, y;
@ -1411,28 +1579,61 @@ void popup_menu_draw_menu_contents(s32* userData, s32 baseX, s32 baseY, s32 widt
}
}
#if VERSION_PAL
void popup_menu_draw_title_contents(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
draw_msg(gPopupMenu->unk_330, baseX + gPopupMenu->unk_334, baseY + 2, PopupMenu_Alpha, gPopupMenu->unk_338 == 0 ? MSG_PAL_32 : MSG_PAL_34, DRAW_MSG_STYLE_MENU);
switch (gPopupMenu->popupType) {
case POPUP_MENU_USE_ITEM:
case POPUP_MENU_THROW_AWAY_ITEM:
case POPUP_MENU_SELL_ITEM:
case POPUP_MENU_CHECK_ITEM:
case POPUP_MENU_CLAIM_ITEM:
switch (gPopupMenu->dipMode) {
case 1:
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, 1, MSG_PAL_32, PopupMenu_Alpha,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(2, baseX + 114, baseY + 2, 1, MSG_PAL_32, PopupMenu_Alpha,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_msg(MSG_MenuTip_0034, baseX + 94, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case 2:
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, 1, MSG_PAL_32, PopupMenu_Alpha,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(3, baseX + 114, baseY + 2, 1, MSG_PAL_32, PopupMenu_Alpha,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_msg(MSG_MenuTip_0034, baseX + 94, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
}
break;
}
}
#else
void popup_menu_draw_title_contents(
s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
{
switch (gPopupMenu->popupType) {
case POPUP_MENU_USE_ITEM:
case POPUP_MENU_THROW_AWAY_ITEM:
case POPUP_MENU_SELL_ITEM:
case POPUP_MENU_CHECK_ITEM:
case POPUP_MENU_CLAIM_ITEM:
case POPUP_MENU_THROW_AWAY_ITEM:
switch (gPopupMenu->dipMode) {
case 0:
draw_msg(MSG_Menus_Items, baseX + 26, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
break;
case 1:
draw_msg(MSG_Menus_DoubleDip, baseX + 4, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, PopupMenu_Alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32,
PopupMenu_Alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(2, baseX + 114, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, PopupMenu_Alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
break;
case 2:
draw_msg(MSG_Menus_TripleDip, baseX + 6, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, PopupMenu_Alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(3, baseX + 114, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, PopupMenu_Alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(gPopupMenu->titleNumber, baseX + 94, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32,
PopupMenu_Alpha, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
draw_number(3, baseX + 114, baseY + 2, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_32, PopupMenu_Alpha,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
break;
}
break;
@ -1461,11 +1662,27 @@ void popup_menu_draw_title_contents(
break;
}
}
#endif
void func_800F48F4(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
draw_msg(gPopupMenu->descMsg[PopupMenu_SelectedIndex], baseX + 8, baseY, PopupMenu_Alpha, D_8010D690, 0);
}
#if VERSION_PAL
void func_800F4944(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 x = baseX;
s32 y = baseY + 7;
if (PopupNotBattle) {
s32 msgWidth = get_msg_width(gPopupMenu->unk_33C, 0);
s32 msgLines = get_msg_lines(gPopupMenu->unk_33C);
x += ((gPopupMenu->unk_340 + 144) / 2) - (msgWidth / 2);
draw_msg(gPopupMenu->unk_33C, x, msgLines != 1 ? y - 4 : y, 255, MSG_PAL_0F, 0);
}
}
#else
void func_800F4944(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 msgWidth;
@ -1546,15 +1763,30 @@ void func_800F4944(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s
}
}
}
#endif
#if VERSION_PAL
#define X_800F4C1C 16
#else
#define X_800F4C1C 11
#endif
void func_800F4C1C(s32* userData, s32 x, s32 y) {
s32 msg = MSG_Menus_0069;
s32 xPos = x + 11;
s32 xPos = x + X_800F4C1C;
s32 yPos = y + 8;
s32 msg;
if (PopupDipMode == 1) {
msg = MSG_Menus_0068;
} else {
msg = MSG_Menus_0069;
}
#if VERSION_PAL
if (get_msg_lines(msg) != 1) {
yPos -= 4;
}
#endif
draw_msg(msg, xPos, yPos, 255, MSG_PAL_0F, 0);
}

View File

@ -831,4 +831,3 @@ s32 draw_box(s32 flags, WindowStyle windowStyle, s32 posX, s32 posY, s32 posZ, s
return FALSE;
}
}

View File

@ -152,6 +152,62 @@
#define ui_pow_cost_notenough_png ui_pow_cost_png
#include "ui/pow_cost.notenough.pal.inc.c"
#if VERSION_PAL
#include "de/ui/fp_cost.png.inc.c"
#include "de/ui/fp_cost.pal.inc.c"
#define ui_fp_cost_de_reduced_png ui_fp_cost_de_png
#include "de/ui/fp_cost.reduced.pal.inc.c"
#define ui_fp_cost_de_reduced_twice_png ui_fp_cost_de_png
#include "de/ui/fp_cost.reduced_twice.pal.inc.c"
#define ui_fp_cost_de_notenough_png ui_fp_cost_de_png
#include "de/ui/fp_cost.notenough.pal.inc.c"
#include "de/ui/pow_cost.png.inc.c"
#include "de/ui/pow_cost.pal.inc.c"
#define ui_pow_cost_de_reduced_png ui_pow_cost_de_png
#include "de/ui/pow_cost.reduced.pal.inc.c"
#define ui_pow_cost_de_reduced_twice_png ui_pow_cost_de_png
#include "de/ui/pow_cost.reduced_twice.pal.inc.c"
#define ui_pow_cost_de_notenough_png ui_pow_cost_de_png
#include "de/ui/pow_cost.notenough.pal.inc.c"
#include "fr/ui/fp_cost.png.inc.c"
#include "fr/ui/fp_cost.pal.inc.c"
#define ui_fp_cost_fr_reduced_png ui_fp_cost_fr_png
#include "fr/ui/fp_cost.reduced.pal.inc.c"
#define ui_fp_cost_fr_reduced_twice_png ui_fp_cost_fr_png
#include "fr/ui/fp_cost.reduced_twice.pal.inc.c"
#define ui_fp_cost_fr_notenough_png ui_fp_cost_fr_png
#include "fr/ui/fp_cost.notenough.pal.inc.c"
#include "fr/ui/pow_cost.png.inc.c"
#include "fr/ui/pow_cost.pal.inc.c"
#define ui_pow_cost_fr_reduced_png ui_pow_cost_fr_png
#include "fr/ui/pow_cost.reduced.pal.inc.c"
#define ui_pow_cost_fr_reduced_twice_png ui_pow_cost_fr_png
#include "fr/ui/pow_cost.reduced_twice.pal.inc.c"
#define ui_pow_cost_fr_notenough_png ui_pow_cost_fr_png
#include "fr/ui/pow_cost.notenough.pal.inc.c"
#include "es/ui/fp_cost.png.inc.c"
#include "es/ui/fp_cost.pal.inc.c"
#define ui_fp_cost_es_reduced_png ui_fp_cost_es_png
#include "es/ui/fp_cost.reduced.pal.inc.c"
#define ui_fp_cost_es_reduced_twice_png ui_fp_cost_es_png
#include "es/ui/fp_cost.reduced_twice.pal.inc.c"
#define ui_fp_cost_es_notenough_png ui_fp_cost_es_png
#include "es/ui/fp_cost.notenough.pal.inc.c"
#include "es/ui/pow_cost.png.inc.c"
#include "es/ui/pow_cost.pal.inc.c"
#define ui_pow_cost_es_reduced_png ui_pow_cost_es_png
#include "es/ui/pow_cost.reduced.pal.inc.c"
#define ui_pow_cost_es_reduced_twice_png ui_pow_cost_es_png
#include "es/ui/pow_cost.reduced_twice.pal.inc.c"
#define ui_pow_cost_es_notenough_png ui_pow_cost_es_png
#include "es/ui/pow_cost.notenough.pal.inc.c"
#endif
#include "ui/green_arrow_down.png.inc.c"
#include "ui/green_arrow_down.pal.inc.c"
@ -329,6 +385,26 @@
#include "ui/status/text_fp.png.inc.c"
#include "ui/status/text_fp.pal.inc.c"
#if VERSION_PAL
#include "de/ui/status/text_hp.png.inc.c"
#include "de/ui/status/text_hp.pal.inc.c"
#include "de/ui/status/text_fp.png.inc.c"
#include "de/ui/status/text_fp.pal.inc.c"
#include "fr/ui/status/text_hp.png.inc.c"
#include "fr/ui/status/text_hp.pal.inc.c"
#include "fr/ui/status/text_fp.png.inc.c"
#include "fr/ui/status/text_fp.pal.inc.c"
#include "es/ui/status/text_hp.png.inc.c"
#include "es/ui/status/text_hp.pal.inc.c"
#include "es/ui/status/text_fp.png.inc.c"
#include "es/ui/status/text_fp.pal.inc.c"
#endif
#include "ui/status/pow_unit_1.png.inc.c"
#include "ui/status/pow_unit_1.pal.inc.c"
@ -563,6 +639,53 @@
#include "ui/battle/status/hp_drain.png.inc.c"
#include "ui/battle/status/hp_drain.pal.inc.c"
#if VERSION_PAL
#include "de/ui/battle/status/peril.png.inc.c"
#include "de/ui/battle/status/peril.pal.inc.c"
#include "de/ui/battle/status/danger.png.inc.c"
#include "de/ui/battle/status/danger.pal.inc.c"
#include "de/ui/battle/status/refund.png.inc.c"
#include "de/ui/battle/status/refund.pal.inc.c"
#include "de/ui/battle/status/happy.png.inc.c"
#include "de/ui/battle/status/happy.pal.inc.c"
#include "de/ui/battle/status/hp_drain.png.inc.c"
#include "de/ui/battle/status/hp_drain.pal.inc.c"
#include "fr/ui/battle/status/peril.png.inc.c"
#include "fr/ui/battle/status/peril.pal.inc.c"
#include "fr/ui/battle/status/danger.png.inc.c"
#include "fr/ui/battle/status/danger.pal.inc.c"
#include "fr/ui/battle/status/refund.png.inc.c"
#include "fr/ui/battle/status/refund.pal.inc.c"
#include "fr/ui/battle/status/happy.png.inc.c"
#include "fr/ui/battle/status/happy.pal.inc.c"
#include "fr/ui/battle/status/hp_drain.png.inc.c"
#include "fr/ui/battle/status/hp_drain.pal.inc.c"
#include "es/ui/battle/status/peril.png.inc.c"
#include "es/ui/battle/status/peril.pal.inc.c"
#include "es/ui/battle/status/danger.png.inc.c"
#include "es/ui/battle/status/danger.pal.inc.c"
#include "es/ui/battle/status/refund.png.inc.c"
#include "es/ui/battle/status/refund.pal.inc.c"
#include "es/ui/battle/status/happy.png.inc.c"
#include "es/ui/battle/status/happy.pal.inc.c"
#include "es/ui/battle/status/hp_drain.png.inc.c"
#include "es/ui/battle/status/hp_drain.pal.inc.c"
#endif
#include "ui/move_basic.png.inc.c"
#include "ui/move_basic.pal.inc.c"
#define ui_move_basic_disabled_png ui_move_basic_png
@ -1693,6 +1816,35 @@ HudScript HES_POWCostReducedTwice = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_redu
HudScript HES_NotEnoughPOW = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_notenough, 16, 8);
#if VERSION_PAL
HudScript HES_FPCost_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_de, 16, 8);
HudScript HES_FPCostReduced_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_de_reduced, 16, 8);
HudScript HES_FPCostReducedTwice_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_de_reduced_twice, 16, 8);
HudScript HES_NotEnoughFP_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_de_notenough, 16, 8);
HudScript HES_POWCost_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_de, 16, 8);
HudScript HES_POWCostReduced_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_de_reduced, 16, 8);
HudScript HES_POWCostReducedTwice_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_de_reduced_twice, 16, 8);
HudScript HES_NotEnoughPOW_de = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_de_notenough, 16, 8);
HudScript HES_FPCost_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_fr, 16, 8);
HudScript HES_FPCostReduced_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_fr_reduced, 16, 8);
HudScript HES_FPCostReducedTwice_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_fr_reduced_twice, 16, 8);
HudScript HES_NotEnoughFP_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_fr_notenough, 16, 8);
HudScript HES_POWCost_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_fr, 16, 8);
HudScript HES_POWCostReduced_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_fr_reduced, 16, 8);
HudScript HES_POWCostReducedTwice_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_fr_reduced_twice, 16, 8);
HudScript HES_NotEnoughPOW_fr = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_fr_notenough, 16, 8);
HudScript HES_FPCost_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_es, 16, 8);
HudScript HES_FPCostReduced_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_es_reduced, 16, 8);
HudScript HES_FPCostReducedTwice_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_es_reduced_twice, 16, 8);
HudScript HES_NotEnoughFP_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_fp_cost_es_notenough, 16, 8);
HudScript HES_POWCost_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_es, 16, 8);
HudScript HES_POWCostReduced_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_es_reduced, 16, 8);
HudScript HES_POWCostReducedTwice_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_es_reduced_twice, 16, 8);
HudScript HES_NotEnoughPOW_es = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pow_cost_es_notenough, 16, 8);
#endif
HudScript HES_GreenArrowDown = {
hs_SetVisible
hs_SetCustomSize(16, 8)
@ -1845,6 +1997,17 @@ HudScript HES_StatusHP = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_hp, 16, 16);
HudScript HES_StatusFP = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_fp, 16, 16);
#if VERSION_PAL
HudScript HES_StatusHP_de = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_hp_de, 16, 16);
HudScript HES_StatusFP_de = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_fp_de, 16, 16);
HudScript HES_StatusHP_fr = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_hp_fr, 16, 16);
HudScript HES_StatusFP_fr = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_fp_fr, 16, 16);
HudScript HES_StatusHP_es = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_hp_es, 16, 16);
HudScript HES_StatusFP_es = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_text_fp_es, 16, 16);
#endif
HudScript HES_StatusSPIncrement1 = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_pow_unit_1, 8, 8);
HudScript HES_StatusSPIncrement2 = HES_TEMPLATE_CI_ENUM_SIZE(ui_status_pow_unit_2, 8, 8);
@ -2012,6 +2175,137 @@ HudScript HES_Happy = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_happy, 40, 16);
HudScript HES_HPDrain = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_hp_drain, 40, 16);
#if VERSION_PAL
// German
HudScript HES_Peril_de = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x16)
hs_Loop
hs_PlaySound(SOUND_PERIL)
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(15, ui_battle_status_peril_de)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(10, ui_battle_status_peril_de)
hs_Restart
hs_End
};
HudScript HES_Danger_de = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x16)
hs_Loop
hs_PlaySound(SOUND_DANGER)
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(15, ui_battle_status_danger_de)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(10, ui_battle_status_danger_de)
hs_Restart
hs_End
};
HudScript HES_Refund_de = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x24)
hs_Loop
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(8, ui_battle_status_refund_de)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(4, ui_battle_status_refund_de)
hs_Restart
hs_End
};
HudScript HES_Happy_de = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_happy_de, 40, 16);
HudScript HES_HPDrain_de = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_hp_drain_de, 40, 16);
// French
HudScript HES_Peril_fr = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x16)
hs_Loop
hs_PlaySound(SOUND_PERIL)
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(15, ui_battle_status_peril_fr)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(10, ui_battle_status_peril_fr)
hs_Restart
hs_End
};
HudScript HES_Danger_fr = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x16)
hs_Loop
hs_PlaySound(SOUND_DANGER)
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(15, ui_battle_status_danger_fr)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(10, ui_battle_status_danger_fr)
hs_Restart
hs_End
};
HudScript HES_Refund_fr = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x24)
hs_Loop
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(8, ui_battle_status_refund_fr)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(4, ui_battle_status_refund_fr)
hs_Restart
hs_End
};
HudScript HES_Happy_fr = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_happy_fr, 40, 16);
HudScript HES_HPDrain_fr = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_hp_drain_fr, 40, 16);
// Spanish
HudScript HES_Peril_es = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x16)
hs_Loop
hs_PlaySound(SOUND_PERIL)
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(15, ui_battle_status_peril_es)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(10, ui_battle_status_peril_es)
hs_Restart
hs_End
};
HudScript HES_Danger_es = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x16)
hs_Loop
hs_PlaySound(SOUND_DANGER)
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(15, ui_battle_status_danger_es)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(10, ui_battle_status_danger_es)
hs_Restart
hs_End
};
HudScript HES_Refund_es = {
hs_SetVisible
hs_SetTileSize(HUD_ELEMENT_SIZE_40x24)
hs_Loop
hs_ClearFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(8, ui_battle_status_refund_es)
hs_SetFlags(HUD_ELEMENT_FLAG_200000)
hs_SetCI(4, ui_battle_status_refund_es)
hs_Restart
hs_End
};
HudScript HES_Happy_es = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_happy_es, 40, 16);
HudScript HES_HPDrain_es = HES_TEMPLATE_CI_ENUM_SIZE(ui_battle_status_hp_drain_es, 40, 16);
#endif
HudScript HES_BlueMeter = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_unk_bar, 72, 16);
HudScript HES_AButton = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_input_a_button_unpressed, 48, 40);

View File

@ -136,7 +136,11 @@ typedef struct PopupMenu {
/* 0x32C */ s16 result;
/* 0x32E */ char unk_32E[0x2];
#if VERSION_PAL
/* 0x330 */ char unk_330[0x14];
/* 0x330 */ s32 unk_330; // message ID
/* 0x334 */ s32 unk_334; // x offset
/* 0x338 */ s32 unk_338;
/* 0x33C */ s32 unk_33C; // message ID
/* 0x340 */ s32 unk_340;
#endif
} PopupMenu; // size = 0x330

View File

@ -1808,7 +1808,7 @@ void partner_flying_update_motion(Npc* partner) {
wSavedPartnerPosZ = partner->pos.z;
} else {
partner_do_player_collision(partner);
if (wPartnerFollowState != 0x32) {
if (wPartnerFollowState != 50) {
x = partner->pos.x;
y = partner->pos.y;
z = partner->pos.z;
@ -2177,14 +2177,13 @@ s32 partner_init_put_away(Npc* partner) {
s32 partner_put_away(Npc* partner) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 tempMoveToX;
f32 tempMoveToY;
f32 tempMoveToZ;
f32 tempPosZ;
f32 tempMoveToX;
f32 tempPosX;
f32 tempPosZ;
f32 tempPosY;
f32 tempDuration;
f32 divisor;
switch (wPartnerFollowState){
case 0:
@ -2206,9 +2205,8 @@ s32 partner_put_away(Npc* partner) {
partner->moveToPos.z = tempPosZ;
partner->planarFlyDist = dist2D(tempMoveToX, tempMoveToZ, tempPosX, tempPosZ);
partner->yaw = atan2(tempMoveToX, tempMoveToZ, tempPosX, tempPosZ);
partner->duration = 0xF;
divisor = 15.0f;
partner->moveSpeed = partner->planarFlyDist / divisor;
partner->duration = 15;
partner->moveSpeed = partner->planarFlyDist / partner->duration;
tempMoveToY = tempPosY - tempMoveToY;
partner->jumpVel = (tempMoveToY + partner->jumpScale * partner->duration * partner->duration * 0.5f) / partner->duration;
partner->curAnim = gPartnerAnimations[wCurrentPartnerId].jump;
@ -2230,7 +2228,7 @@ s32 partner_put_away(Npc* partner) {
partner->scale.y = partner->scale.x;
partner->scale.z = partner->scale.x;
partner->duration--;
if (partner->duration >> 0x10 != 0) {
if (partner->duration < 0) {
wPartnerFollowState = 2;
}
break;

View File

@ -1218,7 +1218,7 @@ if __name__ == "__main__":
if version < PIGMENT_REQ_VERSION:
print(f"error: {PIGMENT} version {PIGMENT_REQ_VERSION} or newer is required, system version is {version}\n")
exit(1)
except FileNotFoundError:
except (FileNotFoundError, PermissionError):
print(f"error: {PIGMENT} is not installed\n")
print("To build and install it, obtain cargo:\n\tcurl https://sh.rustup.rs -sSf | sh")
print(f"and then run:\n\tcargo install {PIGMENT}")

View File

@ -3,9 +3,7 @@ from dataclasses import astuple, dataclass
import os
import yaml
import struct
from typing import Any, Dict, List
from collections import OrderedDict
from functools import total_ordering
from typing import List
# splat imports; will fail if script run directly
@ -50,8 +48,6 @@ class SBN:
self.unknown_data = data[0x7A0:0x7C0]
print(f"Total size: {header.size}")
# Decode file entries
entry_addr = header.tableOffset
seen_entry_offsets = set()
@ -190,8 +186,8 @@ class SBN:
struct.pack_into(InitSongEntry.fstring, data, current_song_offset, *song)
current_song_offset += InitSongEntry.length
sentinel = InitSongEntry(0xFFFF, 0x00, 0x00, 0x00)
struct.pack_into(InitSongEntry.fstring, data, current_song_offset, *sentinel)
sentinel2 = InitSongEntry(0xFFFF, 0x00, 0x00, 0x00)
struct.pack_into(InitSongEntry.fstring, data, current_song_offset, *sentinel2)
current_mseq_offset = mseq_offset
for mseq in self.init.mseq_entries:

114
ver/pal/asm/bss2.s Normal file
View File

@ -0,0 +1,114 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
#ifndef SHIFT
.section .bss
dlabel PulseStoneNotificationCallback
.space 4
dlabel D_8010C924
.space 4
dlabel D_8010C928
.space 4
dlabel D_8010C92C
.space 4
dlabel wPartnerNpc
.space 4
dlabel TweesterTouchingPlayer
.space 4
dlabel D_8010C938
.space 4
dlabel ISpyNotificationCallback
.space 4
dlabel TalkNotificationCallback
.space 4
dlabel gSpinHistoryBufferPos
.space 4
dlabel D_8010C948
.space 4
dlabel D_8010C94C
.space 4
dlabel D_8010C950
.space 4
dlabel TweesterTouchingPartner
.space 4
dlabel InteractNotificationCallback
.space 4
dlabel PrevPlayerDirection
.space 4
dlabel JumpedOnSwitchX
.space 4
dlabel D_8010C964
.space 4
dlabel D_8010C968
.space 4
dlabel PeachDisguiseNpcIndex
.space 4
dlabel D_8010C970
.space 4
dlabel D_8010C974
.space 4
dlabel NpcHitQueryColliderID
.space 4
dlabel JumpedOnSwitchZ
.space 4
dlabel D_8010C980
.space 4
dlabel D_8010C984
.space 4
dlabel D_8010C988
.space 4
dlabel D_8010C98C
.space 4
dlabel D_8010C990
.space 4
dlabel D_8010C994
.space 0x0000000c
dlabel D_8010C9A0
.space 4
dlabel D_8010C9A4
.space 0x0000000c
dlabel D_8010C9B0
.space 4
dlabel D_8010C9B4
.space 0x0000000c
#endif

225
ver/pal/asm/bss2_2.s Normal file
View File

@ -0,0 +1,225 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
#ifndef SHIFT
.section .bss
dlabel wPartnerTetherDistance
.space 4
dlabel D_8010CFC4
.space 4
dlabel wPartnerFollowState
.space 2
dlabel D_8010CFCA
.space 2
dlabel D_8010CFCC
.space 2
dlabel D_8010CFCE
.space 2
dlabel wPartnerNpcIndex
.space 4
dlabel wPartnerCurrentScript
.space 4
dlabel wCurrentPartnerId
.space 4
dlabel wPartnerCurrentScriptID
.space 4
dlabel D_8010CFE0
.space 4
dlabel NextPartnerID
.space 4
dlabel NextPartnerCommand
.space 4
dlabel wPartner
.space 4
dlabel D_8010CFF0
.space 4
dlabel D_8010CFF4
.space 4
dlabel D_8010CFF8
.space 8
dlabel D_8010D000
.space 0x63C
dlabel D_8010D63C
.space 0x4
dlabel gPopupState
.space 4
dlabel D_8010D644
.space 4
dlabel PopupMenu_SelectedIndex
.space 4
dlabel PopupMenu_PrevSelectedIndex
.space 4
dlabel PopupMenu_Alpha
.space 4
dlabel PopupMenu_FirstDisplayIndex
.space 1
dlabel PopupMenu_LastDisplayIndex
.space 1
dlabel PopupMenu_DisplayedEntryCount
.space 2
dlabel D_8010D658
.space 2
dlabel D_8010D65A
.space 2
dlabel PopupMenu_EmptybarHEID
.space 4
dlabel PopupMenu_TitleIconHEID
.space 4
dlabel PopupMenu_TimesHEID
.space 4
dlabel PopupMenu_PartnerLevelHEID
.space 4
dlabel PopupMenu_CursorHEID
.space 4
dlabel PopupMenu_UpArrowHEID
.space 4
dlabel PopupMenu_DownArrowHEID
.space 4
dlabel PopupMenu_EntryIconHEID
.space 4
dlabel D_8010D67C
.space 2
dlabel D_8010D67E
.space 2
dlabel D_8010D680
.space 2
dlabel D_8010D682
.space 2
dlabel D_8010D684
.space 2
dlabel D_8010D686
.space 2
dlabel PopupMenu_StarPieceCounterPosX
.space 2
dlabel PopupMenu_StarPieceCounterPosY
.space 2
dlabel D_8010D68C
.space 2
dlabel PopupNotBattle
.space 1
dlabel PopupMenu_MaxDisplayableEntryCount
.space 1
dlabel D_8010D690
.space 1
dlabel D_8010D691
.space 1
dlabel D_8010D692
.space 1
dlabel D_8010D693
.space 1
dlabel gPopupWorker
.space 4
dlabel PopupNotDipping
.space 1
dlabel PopupDipMode
.space 1
dlabel D_8010D69A
.space 2
dlabel gPopupMenu
.space 4
dlabel D_8010D6A0
.space 4
dlabel D_8010D6A4
.space 4
dlabel D_8010D6A8
.space 0x8
dlabel gBoxQuadBuffer
.space 0x1500
dlabel gPartnerStatus
.space 0x360
dlabel gSpinHistoryPosY
.space 0x18
dlabel gSpinHistoryPosX
.space 0x18
dlabel gSpinHistoryPosZ
.space 0x18
dlabel gUIStatus
.space 0x70
dlabel gPlayerStatus
.space 0x288
dlabel gPlayerSpinState
.space 0x34
dlabel D_8010F284
.space 0xC
dlabel gPlayerData
.space 0x428
dlabel gSpinHistoryPosAngle
.space 0x10
#endif

File diff suppressed because it is too large Load Diff

View File

@ -34,6 +34,520 @@ segments:
start: 0
- [0x40, bin]
- name: engine1
type: code
start: 0x71D80
vram: 0x800D8C70
# vram_of_symbol: overlays_start # TODO once this symbol is implemented
subsegments:
- [auto, hasm, bss2]
- [auto, c, npc_collision]
- [auto, c, 77480]
- [auto, c, 7B440]
- [auto, c, 7bb60_len_41b0]
- [auto, c, 7E9D0]
- [auto, c, 7fd10_len_b40]
- [auto, c, 80850_len_3060]
- [auto, c, world/actions] # DUMMY ROM
- [auto, c, world/partners]
- [auto, hasm, bss2_2]
- [auto, c, 891b0_len_fb0]
- [auto, c, 8a160_len_700]
- [auto, c, 8a860_len_3f30]
- [auto, c, draw_box]
- [auto, .data, npc_collision]
- [auto, .data, world/actions]
- [auto, .data, world/partners]
- start: 0x8DA40
type: .data
name: global_hud_scripts
subsegments:
- [auto, ci4, ui/input/a_button_unpressed, 48, 40]
- [auto, palette, ui/input/a_button_unpressed]
- [auto, ci4, ui/input/a_button_pressed, 48, 40]
- [auto, palette, ui/input/a_button_pressed]
- [auto, ci4, ui/input/analog_stick, 32, 32]
- [auto, palette, ui/input/analog_stick]
- [auto, ci4, ui/input/analog_stick_left, 40, 32]
- [auto, palette, ui/input/analog_stick_left]
- [auto, ci4, ui/input/analog_stick2, 32, 32]
- [auto, palette, ui/input/analog_stick2]
- [auto, ci4, ui/input/analog_stick_right, 40, 32]
- [auto, palette, ui/input/analog_stick_right]
- [auto, ci4, ui/input/analog_stick3, 32, 32]
- [auto, palette, ui/input/analog_stick3]
- [auto, ci4, ui/input/analog_stick_down, 32, 32]
- [auto, palette, ui/input/analog_stick_down]
- [auto, ci4, ui/input/analog_stick_up, 32, 32]
- [auto, palette, ui/input/analog_stick_up]
- [auto, ci4, ui/unk_bar, 72, 16]
- [auto, palette, ui/unk_bar]
- [auto, ci4, ui/ok, 24, 16]
- [auto, palette, ui/ok]
- [auto, ci4, ui/input/start_button, 48, 40]
- [auto, palette, ui/input/start_button]
- [auto, ci4, ui/input/start_button2, 48, 40]
- [auto, palette, ui/input/start_button2]
- [auto, ci4, ui/input/start_text, 24, 8]
- [auto, palette, ui/input/start_text]
- [auto, ci4, ui/hammer, 32, 32]
- [auto, palette, ui/hammer]
- [auto, palette, ui/hammer.disabled]
- [auto, ci4, ui/super_hammer, 32, 32]
- [auto, palette, ui/super_hammer]
- [auto, palette, ui/super_hammer.disabled]
- [auto, ci4, ui/ultra_hammer, 32, 32]
- [auto, palette, ui/ultra_hammer]
- [auto, palette, ui/ultra_hammer.disabled]
- [auto, ci4, ui/boots, 32, 32]
- [auto, palette, ui/boots]
- [auto, palette, ui/boots.disabled]
- [auto, ci4, ui/super_boots, 32, 32]
- [auto, palette, ui/super_boots]
- [auto, palette, ui/super_boots.disabled]
- [auto, ci4, ui/ultra_boots, 32, 32]
- [auto, palette, ui/ultra_boots]
- [auto, palette, ui/ultra_boots.disabled]
- [auto, ci4, ui/item, 32, 32]
- [auto, palette, ui/item]
- [auto, palette, ui/item.disabled]
- [auto, ci4, ui/star_spirit, 32, 32]
- [auto, palette, ui/star_spirit]
- [auto, palette, ui/star_spirit.disabled]
- [auto, ci4, ui/arrow_left, 16, 16]
- [auto, palette, ui/arrow_left]
- [auto, ci4, ui/arrow_right, 16, 16]
- [auto, palette, ui/arrow_right]
- [auto, ci4, ui/point_right, 16, 16]
- [auto, palette, ui/point_right]
- [auto, ci4, ui/pip, 8, 8]
- [auto, palette, ui/pip]
- [auto, ci4, ui/pip2, 8, 8]
- [auto, palette, ui/pip2]
- [auto, ci4, ui/coin_sparkle_0, 8, 8]
- [auto, palette, ui/coin_sparkle_0]
- [auto, ci4, ui/coin_sparkle_1, 8, 8]
- [auto, palette, ui/coin_sparkle_1]
- [auto, ci4, ui/coin_sparkle_2, 8, 8]
- [auto, palette, ui/coin_sparkle_2]
- [auto, ci4, ui/coin_sparkle_3, 8, 8]
- [auto, palette, ui/coin_sparkle_3]
- [auto, ci4, ui/coin_sparkle_4, 8, 8]
- [auto, palette, ui/coin_sparkle_4]
- [auto, ci4, ui/coin_sparkle_5, 8, 8]
- [auto, palette, ui/coin_sparkle_5]
- [auto, ci4, ui/coin_sparkle_none, 8, 8]
- [auto, palette, ui/coin_sparkle_none]
- [auto, ia8, ui/status/star_point_shine, 24, 24]
- [auto, ci4, ui/status/star_piece_0, 16, 16]
- [auto, palette, ui/status/star_piece_0]
- [auto, ci4, ui/status/star_piece_1, 16, 16]
- [auto, palette, ui/status/star_piece_1]
- [auto, ci4, ui/status/star_piece_2, 16, 16]
- [auto, palette, ui/status/star_piece_2]
- [auto, ci4, ui/menu_times, 8, 8]
- [auto, palette, ui/menu_times]
- [auto, ci4, ui/fp_cost, 16, 8]
- [auto, palette, ui/fp_cost]
- [auto, palette, ui/fp_cost.reduced]
- [auto, palette, ui/fp_cost.reduced_twice]
- [auto, palette, ui/fp_cost.notenough]
- [auto, ci4, ui/pow_cost, 16, 8]
- [auto, palette, ui/pow_cost]
- [auto, palette, ui/pow_cost.reduced]
- [auto, palette, ui/pow_cost.reduced_twice]
- [auto, palette, ui/pow_cost.notenough]
- [auto, ci4, de/ui/fp_cost, 16, 8]
- [auto, palette, de/ui/fp_cost]
- [auto, palette, de/ui/fp_cost.reduced]
- [auto, palette, de/ui/fp_cost.reduced_twice]
- [auto, palette, de/ui/fp_cost.notenough]
- [auto, ci4, de/ui/pow_cost, 16, 8]
- [auto, palette, de/ui/pow_cost]
- [auto, palette, de/ui/pow_cost.reduced]
- [auto, palette, de/ui/pow_cost.reduced_twice]
- [auto, palette, de/ui/pow_cost.notenough]
- [auto, ci4, fr/ui/fp_cost, 16, 8]
- [auto, palette, fr/ui/fp_cost]
- [auto, palette, fr/ui/fp_cost.reduced]
- [auto, palette, fr/ui/fp_cost.reduced_twice]
- [auto, palette, fr/ui/fp_cost.notenough]
- [auto, ci4, fr/ui/pow_cost, 16, 8]
- [auto, palette, fr/ui/pow_cost]
- [auto, palette, fr/ui/pow_cost.reduced]
- [auto, palette, fr/ui/pow_cost.reduced_twice]
- [auto, palette, fr/ui/pow_cost.notenough]
- [auto, ci4, es/ui/fp_cost, 16, 8]
- [auto, palette, es/ui/fp_cost]
- [auto, palette, es/ui/fp_cost.reduced]
- [auto, palette, es/ui/fp_cost.reduced_twice]
- [auto, palette, es/ui/fp_cost.notenough]
- [auto, ci4, es/ui/pow_cost, 16, 8]
- [auto, palette, es/ui/pow_cost]
- [auto, palette, es/ui/pow_cost.reduced]
- [auto, palette, es/ui/pow_cost.reduced_twice]
- [auto, palette, es/ui/pow_cost.notenough]
- [auto, ci4, ui/green_arrow_down, 16, 8]
- [auto, palette, ui/green_arrow_down]
- [auto, ci4, ui/green_arrow_up, 16, 8]
- [auto, palette, ui/green_arrow_up]
- [auto, ci4, ui/kaime, 56, 24]
- [auto, palette, ui/kaime]
- [auto, ci4, ui/unused_1, 16, 16]
- [auto, palette, ui/unused_1]
- [auto, ci4, ui/unused_2, 16, 16]
- [auto, palette, ui/unused_2]
- [auto, ci4, ui/unused_3, 16, 16]
- [auto, palette, ui/unused_3]
- [auto, ci4, ui/red_bar1, 112, 8]
- [auto, palette, ui/red_bar1]
- [auto, ci4, ui/empty_bar, 112, 8]
- [auto, palette, ui/empty_bar]
- [auto, ci4, ui/red_bar2, 104, 8]
- [auto, palette, ui/red_bar2]
- [auto, ci4, ui/eldstar, 32, 32]
- [auto, palette, ui/eldstar]
- [auto, palette, ui/eldstar.disabled]
- [auto, ci4, ui/mamar, 32, 32]
- [auto, palette, ui/mamar]
- [auto, palette, ui/mamar.disabled]
- [auto, ci4, ui/skolar, 32, 32]
- [auto, palette, ui/skolar]
- [auto, palette, ui/skolar.disabled]
- [auto, ci4, ui/muskular, 32, 32]
- [auto, palette, ui/muskular]
- [auto, palette, ui/muskular.disabled]
- [auto, ci4, ui/misstar, 32, 32]
- [auto, palette, ui/misstar]
- [auto, palette, ui/misstar.disabled]
- [auto, ci4, ui/klevar, 32, 32]
- [auto, palette, ui/klevar]
- [auto, palette, ui/klevar.disabled]
- [auto, ci4, ui/kalmar, 32, 32]
- [auto, palette, ui/kalmar]
- [auto, palette, ui/kalmar.disabled]
- [auto, ci4, ui/star_beam, 32, 32]
- [auto, palette, ui/star_beam]
- [auto, palette, ui/star_beam.disabled]
- [auto, ci4, ui/peach_beam, 32, 32]
- [auto, palette, ui/peach_beam]
- [auto, palette, ui/peach_beam.disabled]
- [auto, ci4, ui/mario_head, 16, 16]
- [auto, palette, ui/mario_head]
- [auto, ci4, ui/partner0, 32, 32]
- [auto, palette, ui/partner0]
- [auto, palette, ui/partner0.disabled]
- [auto, ci4, ui/goombario, 32, 32]
- [auto, palette, ui/goombario]
- [auto, palette, ui/goombario.disabled]
- [auto, ci4, ui/kooper, 32, 32]
- [auto, palette, ui/kooper]
- [auto, palette, ui/kooper.disabled]
- [auto, ci4, ui/bombette, 32, 32]
- [auto, palette, ui/bombette]
- [auto, palette, ui/bombette.disabled]
- [auto, ci4, ui/parakarry, 32, 32]
- [auto, palette, ui/parakarry]
- [auto, palette, ui/parakarry.disabled]
- [auto, ci4, ui/bow, 32, 32]
- [auto, palette, ui/bow]
- [auto, palette, ui/bow.disabled]
- [auto, ci4, ui/watt, 32, 32]
- [auto, palette, ui/watt]
- [auto, palette, ui/watt.disabled]
- [auto, ci4, ui/sushie, 32, 32]
- [auto, palette, ui/sushie]
- [auto, palette, ui/sushie.disabled]
- [auto, ci4, ui/lakilester, 32, 32]
- [auto, palette, ui/lakilester]
- [auto, palette, ui/lakilester.disabled]
- [auto, ci4, ui/partner9, 32, 32]
- [auto, palette, ui/partner9]
- [auto, palette, ui/partner9.disabled]
- [auto, ci4, ui/partner10, 32, 32]
- [auto, palette, ui/partner10]
- [auto, palette, ui/partner10.disabled]
- [auto, ci4, ui/partner11, 32, 32]
- [auto, palette, ui/partner11]
- [auto, palette, ui/partner11.disabled]
- [auto, ci4, ui/status/text_times, 8, 8]
- [auto, palette, ui/status/text_times]
- [auto, ci4, ui/status/text_slash, 8, 16]
- [auto, palette, ui/status/text_slash]
- [auto, ci4, ui/status/text_0, 16, 16]
- [auto, palette, ui/status/text_0]
- [auto, ci4, ui/status/text_1, 16, 16]
- [auto, palette, ui/status/text_1]
- [auto, ci4, ui/status/text_2, 16, 16]
- [auto, palette, ui/status/text_2]
- [auto, ci4, ui/status/text_3, 16, 16]
- [auto, palette, ui/status/text_3]
- [auto, ci4, ui/status/text_4, 16, 16]
- [auto, palette, ui/status/text_4]
- [auto, ci4, ui/status/text_5, 16, 16]
- [auto, palette, ui/status/text_5]
- [auto, ci4, ui/status/text_6, 16, 16]
- [auto, palette, ui/status/text_6]
- [auto, ci4, ui/status/text_7, 16, 16]
- [auto, palette, ui/status/text_7]
- [auto, ci4, ui/status/text_8, 16, 16]
- [auto, palette, ui/status/text_8]
- [auto, ci4, ui/status/text_9, 16, 16]
- [auto, palette, ui/status/text_9]
- [auto, ci4, ui/status/text_hp, 16, 16]
- [auto, palette, ui/status/text_hp]
- [auto, ci4, ui/status/text_fp, 16, 16]
- [auto, palette, ui/status/text_fp]
- [auto, ci4, de/ui/status/text_hp, 16, 16]
- [auto, palette, de/ui/status/text_hp]
- [auto, ci4, de/ui/status/text_fp, 16, 16]
- [auto, palette, de/ui/status/text_fp]
- [auto, ci4, fr/ui/status/text_hp, 16, 16]
- [auto, palette, fr/ui/status/text_hp]
- [auto, ci4, fr/ui/status/text_fp, 16, 16]
- [auto, palette, fr/ui/status/text_fp]
- [auto, ci4, es/ui/status/text_hp, 16, 16]
- [auto, palette, es/ui/status/text_hp]
- [auto, ci4, es/ui/status/text_fp, 16, 16]
- [auto, palette, es/ui/status/text_fp]
- [auto, ci4, ui/status/pow_unit_1, 8, 8]
- [auto, palette, ui/status/pow_unit_1]
- [auto, ci4, ui/status/pow_unit_2, 8, 8]
- [auto, palette, ui/status/pow_unit_2]
- [auto, ci4, ui/status/pow_unit_3, 8, 8]
- [auto, palette, ui/status/pow_unit_3]
- [auto, ci4, ui/status/pow_unit_4, 8, 8]
- [auto, palette, ui/status/pow_unit_4]
- [auto, ci4, ui/status/pow_unit_5, 8, 8]
- [auto, palette, ui/status/pow_unit_5]
- [auto, ci4, ui/status/pow_unit_6, 8, 8]
- [auto, palette, ui/status/pow_unit_6]
- [auto, ci4, ui/status/pow_unit_7, 8, 8]
- [auto, palette, ui/status/pow_unit_7]
- [auto, ci4, ui/status/pow_unit_empty, 8, 8]
- [auto, palette, ui/status/pow_unit_empty]
- [auto, ci4, ui/status/pow_star_1, 8, 8]
- [auto, palette, ui/status/pow_star_1]
- [auto, ci4, ui/status/pow_star_2, 8, 8]
- [auto, palette, ui/status/pow_star_2]
- [auto, ci4, ui/status/pow_star_3, 8, 8]
- [auto, palette, ui/status/pow_star_3]
- [auto, ci4, ui/status/pow_star_4, 8, 8]
- [auto, palette, ui/status/pow_star_4]
- [auto, ci4, ui/status/pow_star_5, 8, 8]
- [auto, palette, ui/status/pow_star_5]
- [auto, ci4, ui/status/pow_star_6, 8, 8]
- [auto, palette, ui/status/pow_star_6]
- [auto, ci4, ui/status/pow_star_7, 8, 8]
- [auto, palette, ui/status/pow_star_7]
- [auto, ci4, ui/status/pow_star_empty, 8, 8]
- [auto, palette, ui/status/pow_star_empty]
- [auto, ci4, ui/status/coin_0, 16, 16]
- [auto, palette, ui/status/coin_0]
- [auto, ci4, ui/status/coin_1, 16, 16]
- [auto, palette, ui/status/coin_1]
- [auto, ci4, ui/status/coin_2, 16, 16]
- [auto, palette, ui/status/coin_2]
- [auto, ci4, ui/status/coin_3, 16, 16]
- [auto, palette, ui/status/coin_3]
- [auto, ci4, ui/status/coin_4, 16, 16]
- [auto, palette, ui/status/coin_4]
- [auto, ci4, ui/status/coin_5, 16, 16]
- [auto, palette, ui/status/coin_5]
- [auto, ci4, ui/status/coin_6, 16, 16]
- [auto, palette, ui/status/coin_6]
- [auto, ci4, ui/status/coin_7, 16, 16]
- [auto, palette, ui/status/coin_7]
- [auto, ci4, ui/status/coin_8, 16, 16]
- [auto, palette, ui/status/coin_8]
- [auto, ci4, ui/status/coin_9, 16, 16]
- [auto, palette, ui/status/coin_9]
- [auto, ci4, ui/status/star_point_0, 16, 16]
- [auto, palette, ui/status/star_point_0]
- [auto, ci4, ui/status/star_point_1, 16, 16]
- [auto, palette, ui/status/star_point_1]
- [auto, ci4, ui/status/star_point_2, 16, 16]
- [auto, palette, ui/status/star_point_2]
- [auto, ci4, ui/status/star_point_3, 16, 16]
- [auto, palette, ui/status/star_point_3]
- [auto, ci4, ui/status/star_point_4, 16, 16]
- [auto, palette, ui/status/star_point_4]
- [auto, ci4, ui/status/star_point_5, 16, 16]
- [auto, palette, ui/status/star_point_5]
- [auto, ci4, ui/status/star_point_6, 16, 16]
- [auto, palette, ui/status/star_point_6]
- [auto, ci4, ui/status/star_point_7, 16, 16]
- [auto, palette, ui/status/star_point_7]
- [auto, ci4, ui/bluepip, 16, 16]
- [auto, palette, ui/bluepip]
- [auto, ci4, ui/bluepip2, 16, 16]
- [auto, palette, ui/bluepip2]
- [auto, ci4, ui/battle/status/charge_jump, 24, 24]
- [auto, palette, ui/battle/status/charge_jump]
- [auto, ci4, ui/battle/status/charge_hammer, 24, 24]
- [auto, palette, ui/battle/status/charge_hammer]
- [auto, ci4, ui/battle/status/charge_goombario, 24, 24]
- [auto, palette, ui/battle/status/charge_goombario]
- [auto, ci4, ui/battle/status/exclamation, 24, 24]
- [auto, palette, ui/battle/status/exclamation]
- [auto, ci4, ui/battle/status/sleep_0, 16, 16]
- [auto, palette, ui/battle/status/sleep_0]
- [auto, ci4, ui/battle/status/sleep_1, 16, 16]
- [auto, palette, ui/battle/status/sleep_1]
- [auto, ci4, ui/battle/status/sleep_2, 16, 16]
- [auto, palette, ui/battle/status/sleep_2]
- [auto, ci4, ui/battle/status/static_0, 16, 16]
- [auto, palette, ui/battle/status/static_0]
- [auto, ci4, ui/battle/status/static_1, 16, 16]
- [auto, palette, ui/battle/status/static_1]
- [auto, ci4, ui/battle/status/paralyze_0, 16, 16]
- [auto, palette, ui/battle/status/paralyze_0]
- [auto, ci4, ui/battle/status/paralyze_1, 16, 16]
- [auto, palette, ui/battle/status/paralyze_1]
- [auto, ci4, ui/battle/status/dizzy_0, 16, 16]
- [auto, palette, ui/battle/status/dizzy_0]
- [auto, ci4, ui/battle/status/dizzy_1, 16, 16]
- [auto, palette, ui/battle/status/dizzy_1]
- [auto, ci4, ui/battle/status/dizzy_2, 16, 16]
- [auto, palette, ui/battle/status/dizzy_2]
- [auto, ci4, ui/battle/status/dizzy_3, 16, 16]
- [auto, palette, ui/battle/status/dizzy_3]
- [auto, ci4, ui/battle/status/poison_0, 16, 16]
- [auto, palette, ui/battle/status/poison_0]
- [auto, ci4, ui/battle/status/poison_1, 16, 16]
- [auto, palette, ui/battle/status/poison_1]
- [auto, ci4, ui/battle/status/frozen_0, 16, 16]
- [auto, palette, ui/battle/status/frozen_0]
- [auto, ci4, ui/battle/status/frozen_1, 16, 16]
- [auto, palette, ui/battle/status/frozen_1]
- [auto, ci4, ui/battle/status/frozen_2, 16, 16]
- [auto, palette, ui/battle/status/frozen_2]
- [auto, ci4, ui/battle/status/frozen_3, 16, 16]
- [auto, palette, ui/battle/status/frozen_3]
- [auto, ci4, ui/battle/status/stop_0, 16, 16]
- [auto, palette, ui/battle/status/stop_0]
- [auto, ci4, ui/battle/status/stop_1, 16, 16]
- [auto, palette, ui/battle/status/stop_1]
- [auto, ci4, ui/battle/status/stop_2, 16, 16]
- [auto, palette, ui/battle/status/stop_2]
- [auto, ci4, ui/battle/status/stop_3, 16, 16]
- [auto, palette, ui/battle/status/stop_3]
- [auto, ci4, ui/battle/status/pdown_0, 16, 16]
- [auto, palette, ui/battle/status/pdown_0]
- [auto, ci4, ui/battle/status/pdown_1, 16, 16]
- [auto, palette, ui/battle/status/pdown_1]
- [auto, ci4, ui/battle/status/shrink_0, 16, 16]
- [auto, palette, ui/battle/status/shrink_0]
- [auto, ci4, ui/battle/status/shrink_1, 16, 16]
- [auto, palette, ui/battle/status/shrink_1]
- [auto, ci4, ui/battle/status/shrink_2, 16, 16]
- [auto, palette, ui/battle/status/shrink_2]
- [auto, ci4, ui/battle/status/shrink_3, 16, 16]
- [auto, palette, ui/battle/status/shrink_3]
- [auto, ci4, ui/battle/status/transparent_0, 16, 16]
- [auto, palette, ui/battle/status/transparent_0]
- [auto, ci4, ui/battle/status/transparent_1, 16, 16]
- [auto, palette, ui/battle/status/transparent_1]
- [auto, ci4, ui/battle/status/transparent_2, 16, 16]
- [auto, palette, ui/battle/status/transparent_2]
- [auto, ci4, ui/battle/status/transparent_3, 16, 16]
- [auto, palette, ui/battle/status/transparent_3]
- [auto, ci4, ui/battle/status/transparent_4, 16, 16]
- [auto, palette, ui/battle/status/transparent_4]
- [auto, ci4, ui/battle/status/transparent_5, 16, 16]
- [auto, palette, ui/battle/status/transparent_5]
- [auto, ci4, ui/battle/status/peril, 40, 16]
- [auto, palette, ui/battle/status/peril]
- [auto, ci4, ui/battle/status/danger, 40, 16]
- [auto, palette, ui/battle/status/danger]
- [auto, ci4, ui/battle/status/refund, 40, 24]
- [auto, palette, ui/battle/status/refund]
- [auto, ci4, ui/battle/status/happy, 40, 16]
- [auto, palette, ui/battle/status/happy]
- [auto, ci4, ui/battle/status/hp_drain, 40, 16]
- [auto, palette, ui/battle/status/hp_drain]
- [auto, ci4, de/ui/battle/status/peril, 40, 16]
- [auto, palette, de/ui/battle/status/peril]
- [auto, ci4, de/ui/battle/status/danger, 40, 16]
- [auto, palette, de/ui/battle/status/danger]
- [auto, ci4, de/ui/battle/status/refund, 40, 24]
- [auto, palette, de/ui/battle/status/refund]
- [auto, ci4, de/ui/battle/status/happy, 40, 16]
- [auto, palette, de/ui/battle/status/happy]
- [auto, ci4, de/ui/battle/status/hp_drain, 40, 16]
- [auto, palette, de/ui/battle/status/hp_drain]
- [auto, ci4, fr/ui/battle/status/peril, 40, 16]
- [auto, palette, fr/ui/battle/status/peril]
- [auto, ci4, fr/ui/battle/status/danger, 40, 16]
- [auto, palette, fr/ui/battle/status/danger]
- [auto, ci4, fr/ui/battle/status/refund, 40, 24]
- [auto, palette, fr/ui/battle/status/refund]
- [auto, ci4, fr/ui/battle/status/happy, 40, 16]
- [auto, palette, fr/ui/battle/status/happy]
- [auto, ci4, fr/ui/battle/status/hp_drain, 40, 16]
- [auto, palette, fr/ui/battle/status/hp_drain]
- [auto, ci4, es/ui/battle/status/peril, 40, 16]
- [auto, palette, es/ui/battle/status/peril]
- [auto, ci4, es/ui/battle/status/danger, 40, 16]
- [auto, palette, es/ui/battle/status/danger]
- [auto, ci4, es/ui/battle/status/refund, 40, 24]
- [auto, palette, es/ui/battle/status/refund]
- [auto, ci4, es/ui/battle/status/happy, 40, 16]
- [auto, palette, es/ui/battle/status/happy]
- [auto, ci4, es/ui/battle/status/hp_drain, 40, 16]
- [auto, palette, es/ui/battle/status/hp_drain]
- [auto, ci4, ui/move_basic, 32, 32]
- [auto, palette, ui/move_basic]
- [auto, palette, ui/move_basic.disabled]
- [auto, ci4, ui/move_partner_1, 32, 32]
- [auto, palette, ui/move_partner_1]
- [auto, palette, ui/move_partner_1.disabled]
- [auto, ci4, ui/move_partner_2, 32, 32]
- [auto, palette, ui/move_partner_2]
- [auto, palette, ui/move_partner_2.disabled]
- [auto, ci4, ui/move_partner_3, 32, 32]
- [auto, palette, ui/move_partner_3]
- [auto, palette, ui/move_partner_3.disabled]
- [0x9B5A0]
- [0x9B5A8, rgba32, ui/stat_heart, 16, 16]
- [0x9B9B0, rgba32, ui/stat_flower, 16, 16]
- [0x9BDB0]
- [auto, .data, 891b0_len_fb0]
- [auto, .data, 8a160_len_700]
- start: 0xA1160
type: .data
name: 8a160_len_700
subsegments:
- [0xA1160, ia8, A2960, 32, 16]
- [0xA1360] # Vp
- [0xA1370, vtx, A2B70]
- [0xA13C0, gfx, A2BC0]
- [0xA1488, gfx, A2C88]
- [0xA14B0]
- [auto, .data, 8a860_len_3f30]
- start: 0xA1590
type: .data
name: draw_box
subsegments:
- [0xA1590]
- [0xA1690, ia8, ui/box/corners9, 16, 64]
- [auto, ia8, ui/box/corners8, 24, 96]
- [auto, ia8, ui/box/corners6, 16, 40]
- [auto, ia8, ui/box/corners7, 16, 32]
- [auto, ia8, ui/box/corners3, 16, 96]
- [auto, ia8, ui/box/corners5, 16, 32]
- [auto, ia8, ui/box/corners4, 8, 32]
- [auto, i4, ui/box/bg_tile, 16, 16]
- [auto, ia8, ui/box/corners1, 16, 64]
- [auto, i4, ui/box/corners2, 16, 64]
- [auto, i4, ui/box/bg_flat, 16, 1]
- [0xA3798]
- [0xA3878, vtx, vtx/drawbox1]
- [0xA38B8]
- [0xA3900]
- [0xA4520, bin]
- name: evt
type: code
dir: evt
@ -11569,8 +12083,255 @@ segments:
- [0xE8AFB0, c, gv_01_0_header]
- [0xE8AFB0, c, gv_01_1_main]
# todo: add heaps2
- [0xE8D120, bin]
- type: code
start: 0xE8D120
name: inspect_icon
vram: 0x802B7000
subsegments:
- [auto, c, inspect_icon]
- start: 0xE8DB40
type: .data
name: inspect_icon
subsegments:
- [0xE8DB40, ci4, inspect_icon, 32, 32]
- [0xE8DD40, palette, inspect_icon]
- [0xE8DD60, gfx, inspect_icon]
- [0xE8DDD8]
- [0xE8DEC0]
- type: code
start: 0xE8DEC0
name: speech_bubble
vram: 0x802B7000
# vram_of_symbol: world_action_vram_end
subsegments:
- [auto, c, speech_bubble]
- start: 0xE8E5D0
type: .data
name: speech_bubble
subsegments:
- [0xE8E5D0, ci4, speech_bubble, 32, 32]
- [0xE8E7D0, palette, speech_bubble]
- [0xE8E7F0, gfx, speech_bubble]
- [0xE8E868]
- [0xE8E880]
- type: code
start: 0xE8E880
name: pulse_stone
vram: 0x802B7000
# vram_of_symbol: world_action_vram_end
subsegments:
- [auto, c, pulse_stone]
- start: 0xE8EEC0
type: .data
name: pulse_stone
subsegments:
- [0xE8EEC0, ci4, pulse_stone_icon, 56, 56]
- [0xE8F4E0, palette, pulse_stone_icon]
- [0xE8F500, palette, pulse_stone_icon.flash]
- [0xE8F520, gfx, pulse_stone_icon]
- [0xE8F598]
- [0xE8F5C0]
- type: code
start: 0xE8F5C0
name: i_spy
vram: 0x802B7000
# vram_of_symbol: world_action_vram_end
subsegments:
- [auto, c, i_spy]
- start: 0xE8FB40
type: .data
name: i_spy
subsegments:
- [0xE8FB40, ci4, ispy_icon, 56, 56]
- [0xE90160, palette, ispy_icon]
- [0xE90180, palette, ispy_icon.2]
- [0xE901A0, palette, ispy_icon.3]
- [0xE901C0, gfx, ispy_icon]
- [0xE90238]
- [0xE90270]
- type: code
name: model_clear_render_tasks
start: 0xE90270
vram: 0x802B7E00
# vram_of_symbol: world_misc_vram_end
subsegments:
- [auto, c, model_clear_render_tasks]
- type: code
name: world_action_idle
dir: world/action
start: 0xE90270
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, idle]
- type: code
name: world_action_walk
dir: world/action
start: 0xE906F0
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, walk]
- type: code
name: world_action_jump
dir: world/action
start: 0xE91050
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, jump]
- type: code
name: world_action_step_up
dir: world/action
start: 0xE915E0
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, step_up]
- type: code
name: world_action_land
dir: world/action
start: 0xE91930
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, land]
- type: code
name: world_action_hammer
dir: world/action
start: 0xE91EE0
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, hammer]
- type: code
name: world_action_spin
dir: world/action
start: 0xE92D70
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, spin]
- type: code
name: world_action_tornado_jump
dir: world/action
start: 0xE93720
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, tornado_jump]
- type: code
name: world_action_spin_jump
dir: world/action
start: 0xE93DF0
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, spin_jump]
- type: code
name: world_action_slide
dir: world/action
start: 0xE94520
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, slide]
- type: code
name: world_action_hit_fire
dir: world/action
start: 0xE94CA0
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, hit_fire]
- type: code
name: world_action_hit_lava
dir: world/action
start: 0xE94F50
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, hit_lava]
- type: code
name: world_action_knockback
dir: world/action
start: 0xE95800
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, knockback]
- type: code
name: world_action_misc
dir: world/action
start: 0xE95A40
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, misc]
- type: code
name: world_action_use_munchlesia
dir: world/action
start: 0xE961B0
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, use_munchlesia]
- type: code
name: world_action_use_spinning_flower
dir: world/action
start: 0xE96480
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, use_spinning_flower]
- type: code
name: world_action_use_tweester
dir: world/action
start: 0xE97350
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, use_tweester]
- type: code
name: world_action_sneaky_parasol
dir: world/action
start: 0xE976C0
vram: 0x802B6000
# follows_vram: texture_memory
subsegments:
- [auto, c, sneaky_parasol]
- type: code
dir: entity/default
start: 0xE98540
vram: 0x802BAE00
# follows_vram: model_clear_render_tasks
subsegments:
- [auto, c, Padlock]
- [auto, c, BoardedFloor]
- [auto, c, BombableRock]
- type: code
dir: entity/jan_iwa
start: 0xE9A740
vram: 0x802BAE00
# follows_vram: model_clear_render_tasks
subsegments:
- [auto, c, Plants1]
- [auto, c, Plants2]
- [auto, c, ArrowSign]
- type: code
dir: entity/sbk_omo
start: 0xE9C760
vram: 0x802BAE00
# follows_vram: model_clear_render_tasks
subsegments:
- [auto, c, Tweester]
- [auto, c, StarBoxLauncher]
- name: entity_model_Hammer1Block
dir: entity/model
type: code

View File

@ -2179,6 +2179,483 @@ mgm_01_panel_bowser_img = 0x80243380; // rom:0xE82510
mgm_01_panel_bowser_pal = 0x80243580; // rom:0xE82710
mgm_02_panel_peach_img = 0x80248380; // rom:0xE8AB70
mgm_02_panel_peach_pal = 0x80248580; // rom:0xE8AD70
D_80109710 = 0x801082B0; // rom:0xA13C0
D_801097D8 = 0x80108378; // rom:0xA1488
ui_box_corners9_png = 0x80108580; // rom:0xA1690
ui_box_corners8_png = 0x80108980; // rom:0xA1A90
ui_box_corners6_png = 0x80109280; // rom:0xA2390
ui_box_corners7_png = 0x80109500; // rom:0xA2610
ui_box_corners3_png = 0x80109700; // rom:0xA2810
ui_box_corners5_png = 0x80109D00; // rom:0xA2E10
ui_box_corners4_png = 0x80109F00; // rom:0xA3010
ui_box_bg_tile_png = 0x8010A000; // rom:0xA3110
ui_box_corners1_png = 0x8010A080; // rom:0xA3190
ui_box_corners2_png = 0x8010A480; // rom:0xA3590
ui_box_bg_flat_png = 0x8010A680; // rom:0xA3790
ui_stat_heart_png = 0x80102498; // rom:0x9B5A8
ui_stat_flower_png = 0x801028A0; // rom:0x9B9B0
vtx_drawbox1 = 0x8010A768; // rom:0xA3878
ui_input_a_button_unpressed_png = 0x800F4930; // rom:0x8DA40
ui_input_a_button_unpressed_pal = 0x800F4CF0; // rom:0x8DE00
ui_input_a_button_pressed_png = 0x800F4D10; // rom:0x8DE20
ui_input_a_button_pressed_pal = 0x800F50D0; // rom:0x8E1E0
ui_input_analog_stick_png = 0x800F50F0; // rom:0x8E200
ui_input_analog_stick_pal = 0x800F52F0; // rom:0x8E400
ui_input_analog_stick_left_png = 0x800F5310; // rom:0x8E420
ui_input_analog_stick_left_pal = 0x800F5590; // rom:0x8E6A0
ui_input_analog_stick2_png = 0x800F55B0; // rom:0x8E6C0
ui_input_analog_stick2_pal = 0x800F57B0; // rom:0x8E8C0
ui_input_analog_stick_right_png = 0x800F57D0; // rom:0x8E8E0
ui_input_analog_stick_right_pal = 0x800F5A50; // rom:0x8EB60
ui_input_analog_stick3_png = 0x800F5A70; // rom:0x8EB80
ui_input_analog_stick3_pal = 0x800F5C70; // rom:0x8ED80
ui_input_analog_stick_down_png = 0x800F5C90; // rom:0x8EDA0
ui_input_analog_stick_down_pal = 0x800F5E90; // rom:0x8EFA0
ui_input_analog_stick_up_png = 0x800F5EB0; // rom:0x8EFC0
ui_input_analog_stick_up_pal = 0x800F60B0; // rom:0x8F1C0
ui_unk_bar_png = 0x800F60D0; // rom:0x8F1E0
ui_unk_bar_pal = 0x800F6310; // rom:0x8F420
ui_ok_png = 0x800F6330; // rom:0x8F440
ui_ok_pal = 0x800F63F0; // rom:0x8F500
ui_input_start_button_png = 0x800F6410; // rom:0x8F520
ui_input_start_button_pal = 0x800F67D0; // rom:0x8F8E0
ui_input_start_button2_png = 0x800F67F0; // rom:0x8F900
ui_input_start_button2_pal = 0x800F6BB0; // rom:0x8FCC0
ui_input_start_text_png = 0x800F6BD0; // rom:0x8FCE0
ui_input_start_text_pal = 0x800F6C30; // rom:0x8FD40
ui_hammer_png = 0x800F6C50; // rom:0x8FD60
ui_hammer_pal = 0x800F6E50; // rom:0x8FF60
ui_hammer_disabled_pal = 0x800F6E70; // rom:0x8FF80
ui_super_hammer_png = 0x800F6E90; // rom:0x8FFA0
ui_super_hammer_pal = 0x800F7090; // rom:0x901A0
ui_super_hammer_disabled_pal = 0x800F70B0; // rom:0x901C0
ui_ultra_hammer_png = 0x800F70D0; // rom:0x901E0
ui_ultra_hammer_pal = 0x800F72D0; // rom:0x903E0
ui_ultra_hammer_disabled_pal = 0x800F72F0; // rom:0x90400
ui_boots_png = 0x800F7310; // rom:0x90420
ui_boots_pal = 0x800F7510; // rom:0x90620
ui_boots_disabled_pal = 0x800F7530; // rom:0x90640
ui_super_boots_png = 0x800F7550; // rom:0x90660
ui_super_boots_pal = 0x800F7750; // rom:0x90860
ui_super_boots_disabled_pal = 0x800F7770; // rom:0x90880
ui_ultra_boots_png = 0x800F7790; // rom:0x908A0
ui_ultra_boots_pal = 0x800F7990; // rom:0x90AA0
ui_ultra_boots_disabled_pal = 0x800F79B0; // rom:0x90AC0
ui_item_png = 0x800F79D0; // rom:0x90AE0
ui_item_pal = 0x800F7BD0; // rom:0x90CE0
ui_item_disabled_pal = 0x800F7BF0; // rom:0x90D00
ui_star_spirit_png = 0x800F7C10; // rom:0x90D20
ui_star_spirit_pal = 0x800F7E10; // rom:0x90F20
ui_star_spirit_disabled_pal = 0x800F7E30; // rom:0x90F40
ui_arrow_left_png = 0x800F7E50; // rom:0x90F60
ui_arrow_left_pal = 0x800F7ED0; // rom:0x90FE0
ui_arrow_right_png = 0x800F7EF0; // rom:0x91000
ui_arrow_right_pal = 0x800F7F70; // rom:0x91080
ui_point_right_png = 0x800F7F90; // rom:0x910A0
ui_point_right_pal = 0x800F8010; // rom:0x91120
ui_pip_png = 0x800F8030; // rom:0x91140
ui_pip_pal = 0x800F8050; // rom:0x91160
ui_pip2_png = 0x800F8070; // rom:0x91180
ui_pip2_pal = 0x800F8090; // rom:0x911A0
ui_coin_sparkle_0_png = 0x800F80B0; // rom:0x911C0
ui_coin_sparkle_0_pal = 0x800F80D0; // rom:0x911E0
ui_coin_sparkle_1_png = 0x800F80F0; // rom:0x91200
ui_coin_sparkle_1_pal = 0x800F8110; // rom:0x91220
ui_coin_sparkle_2_png = 0x800F8130; // rom:0x91240
ui_coin_sparkle_2_pal = 0x800F8150; // rom:0x91260
ui_coin_sparkle_3_png = 0x800F8170; // rom:0x91280
ui_coin_sparkle_3_pal = 0x800F8190; // rom:0x912A0
ui_coin_sparkle_4_png = 0x800F81B0; // rom:0x912C0
ui_coin_sparkle_4_pal = 0x800F81D0; // rom:0x912E0
ui_coin_sparkle_5_png = 0x800F81F0; // rom:0x91300
ui_coin_sparkle_5_pal = 0x800F8210; // rom:0x91320
ui_coin_sparkle_none_png = 0x800F8230; // rom:0x91340
ui_coin_sparkle_none_pal = 0x800F8250; // rom:0x91360
ui_status_star_point_shine_png = 0x800F8270; // rom:0x91380
ui_status_star_piece_0_png = 0x800F84B0; // rom:0x915C0
ui_status_star_piece_0_pal = 0x800F8530; // rom:0x91640
ui_status_star_piece_1_png = 0x800F8550; // rom:0x91660
ui_status_star_piece_1_pal = 0x800F85D0; // rom:0x916E0
ui_status_star_piece_2_png = 0x800F85F0; // rom:0x91700
ui_status_star_piece_2_pal = 0x800F8670; // rom:0x91780
ui_menu_times_png = 0x800F8690; // rom:0x917A0
ui_menu_times_pal = 0x800F86B0; // rom:0x917C0
ui_fp_cost_png = 0x800F86D0; // rom:0x917E0
ui_fp_cost_pal = 0x800F8710; // rom:0x91820
ui_fp_cost_reduced_pal = 0x800F8730; // rom:0x91840
ui_fp_cost_reduced_twice_pal = 0x800F8750; // rom:0x91860
ui_fp_cost_notenough_pal = 0x800F8770; // rom:0x91880
ui_pow_cost_png = 0x800F8790; // rom:0x918A0
ui_pow_cost_pal = 0x800F87D0; // rom:0x918E0
ui_pow_cost_reduced_pal = 0x800F87F0; // rom:0x91900
ui_pow_cost_reduced_twice_pal = 0x800F8810; // rom:0x91920
ui_pow_cost_notenough_pal = 0x800F8830; // rom:0x91940
ui_fp_cost_de_png = 0x800F8850; // rom:0x91960
ui_fp_cost_de_pal = 0x800F8890; // rom:0x919A0
ui_fp_cost_de_reduced_pal = 0x800F88B0; // rom:0x919C0
ui_fp_cost_de_reduced_twice_pal = 0x800F88D0; // rom:0x919E0
ui_fp_cost_de_notenough_pal = 0x800F88F0; // rom:0x91A00
ui_pow_cost_de_png = 0x800F8910; // rom:0x91A20
ui_pow_cost_de_pal = 0x800F8950; // rom:0x91A60
ui_pow_cost_de_reduced_pal = 0x800F8970; // rom:0x91A80
ui_pow_cost_de_reduced_twice_pal = 0x800F8990; // rom:0x91AA0
ui_pow_cost_de_notenough_pal = 0x800F89B0; // rom:0x91AC0
ui_fp_cost_fr_png = 0x800F89D0; // rom:0x91AE0
ui_fp_cost_fr_pal = 0x800F8A10; // rom:0x91B20
ui_fp_cost_fr_reduced_pal = 0x800F8A30; // rom:0x91B40
ui_fp_cost_fr_reduced_twice_pal = 0x800F8A50; // rom:0x91B60
ui_fp_cost_fr_notenough_pal = 0x800F8A70; // rom:0x91B80
ui_pow_cost_fr_png = 0x800F8A90; // rom:0x91BA0
ui_pow_cost_fr_pal = 0x800F8AD0; // rom:0x91BE0
ui_pow_cost_fr_reduced_pal = 0x800F8AF0; // rom:0x91C00
ui_pow_cost_fr_reduced_twice_pal = 0x800F8B10; // rom:0x91C20
ui_pow_cost_fr_notenough_pal = 0x800F8B30; // rom:0x91C40
ui_fp_cost_es_png = 0x800F8B50; // rom:0x91C60
ui_fp_cost_es_pal = 0x800F8B90; // rom:0x91CA0
ui_fp_cost_es_reduced_pal = 0x800F8BB0; // rom:0x91CC0
ui_fp_cost_es_reduced_twice_pal = 0x800F8BD0; // rom:0x91CE0
ui_fp_cost_es_notenough_pal = 0x800F8BF0; // rom:0x91D00
ui_pow_cost_es_png = 0x800F8C10; // rom:0x91D20
ui_pow_cost_es_pal = 0x800F8C50; // rom:0x91D60
ui_pow_cost_es_reduced_pal = 0x800F8C70; // rom:0x91D80
ui_pow_cost_es_reduced_twice_pal = 0x800F8C90; // rom:0x91DA0
ui_pow_cost_es_notenough_pal = 0x800F8CB0; // rom:0x91DC0
ui_green_arrow_down_png = 0x800F8CD0; // rom:0x91DE0
ui_green_arrow_down_pal = 0x800F8D10; // rom:0x91E20
ui_green_arrow_up_png = 0x800F8D30; // rom:0x91E40
ui_green_arrow_up_pal = 0x800F8D70; // rom:0x91E80
ui_kaime_png = 0x800F8D90; // rom:0x91EA0
ui_kaime_pal = 0x800F9030; // rom:0x92140
ui_unused_1_png = 0x800F9050; // rom:0x92160
ui_unused_1_pal = 0x800F90D0; // rom:0x921E0
ui_unused_2_png = 0x800F90F0; // rom:0x92200
ui_unused_2_pal = 0x800F9170; // rom:0x92280
ui_unused_3_png = 0x800F9190; // rom:0x922A0
ui_unused_3_pal = 0x800F9210; // rom:0x92320
ui_red_bar1_png = 0x800F9230; // rom:0x92340
ui_red_bar1_pal = 0x800F93F0; // rom:0x92500
ui_empty_bar_png = 0x800F9410; // rom:0x92520
ui_empty_bar_pal = 0x800F95D0; // rom:0x926E0
ui_red_bar2_png = 0x800F95F0; // rom:0x92700
ui_red_bar2_pal = 0x800F9790; // rom:0x928A0
ui_eldstar_png = 0x800F97B0; // rom:0x928C0
ui_eldstar_pal = 0x800F99B0; // rom:0x92AC0
ui_eldstar_disabled_pal = 0x800F99D0; // rom:0x92AE0
ui_mamar_png = 0x800F99F0; // rom:0x92B00
ui_mamar_pal = 0x800F9BF0; // rom:0x92D00
ui_mamar_disabled_pal = 0x800F9C10; // rom:0x92D20
ui_skolar_png = 0x800F9C30; // rom:0x92D40
ui_skolar_pal = 0x800F9E30; // rom:0x92F40
ui_skolar_disabled_pal = 0x800F9E50; // rom:0x92F60
ui_muskular_png = 0x800F9E70; // rom:0x92F80
ui_muskular_pal = 0x800FA070; // rom:0x93180
ui_muskular_disabled_pal = 0x800FA090; // rom:0x931A0
ui_misstar_png = 0x800FA0B0; // rom:0x931C0
ui_misstar_pal = 0x800FA2B0; // rom:0x933C0
ui_misstar_disabled_pal = 0x800FA2D0; // rom:0x933E0
ui_klevar_png = 0x800FA2F0; // rom:0x93400
ui_klevar_pal = 0x800FA4F0; // rom:0x93600
ui_klevar_disabled_pal = 0x800FA510; // rom:0x93620
ui_kalmar_png = 0x800FA530; // rom:0x93640
ui_kalmar_pal = 0x800FA730; // rom:0x93840
ui_kalmar_disabled_pal = 0x800FA750; // rom:0x93860
ui_star_beam_png = 0x800FA770; // rom:0x93880
ui_star_beam_pal = 0x800FA970; // rom:0x93A80
ui_star_beam_disabled_pal = 0x800FA990; // rom:0x93AA0
ui_peach_beam_png = 0x800FA9B0; // rom:0x93AC0
ui_peach_beam_pal = 0x800FABB0; // rom:0x93CC0
ui_peach_beam_disabled_pal = 0x800FABD0; // rom:0x93CE0
ui_mario_head_png = 0x800FABF0; // rom:0x93D00
ui_mario_head_pal = 0x800FAC70; // rom:0x93D80
ui_partner0_png = 0x800FAC90; // rom:0x93DA0
ui_partner0_pal = 0x800FAE90; // rom:0x93FA0
ui_partner0_disabled_pal = 0x800FAEB0; // rom:0x93FC0
ui_goombario_png = 0x800FAED0; // rom:0x93FE0
ui_goombario_pal = 0x800FB0D0; // rom:0x941E0
ui_goombario_disabled_pal = 0x800FB0F0; // rom:0x94200
ui_kooper_png = 0x800FB110; // rom:0x94220
ui_kooper_pal = 0x800FB310; // rom:0x94420
ui_kooper_disabled_pal = 0x800FB330; // rom:0x94440
ui_bombette_png = 0x800FB350; // rom:0x94460
ui_bombette_pal = 0x800FB550; // rom:0x94660
ui_bombette_disabled_pal = 0x800FB570; // rom:0x94680
ui_parakarry_png = 0x800FB590; // rom:0x946A0
ui_parakarry_pal = 0x800FB790; // rom:0x948A0
ui_parakarry_disabled_pal = 0x800FB7B0; // rom:0x948C0
ui_bow_png = 0x800FB7D0; // rom:0x948E0
ui_bow_pal = 0x800FB9D0; // rom:0x94AE0
ui_bow_disabled_pal = 0x800FB9F0; // rom:0x94B00
ui_watt_png = 0x800FBA10; // rom:0x94B20
ui_watt_pal = 0x800FBC10; // rom:0x94D20
ui_watt_disabled_pal = 0x800FBC30; // rom:0x94D40
ui_sushie_png = 0x800FBC50; // rom:0x94D60
ui_sushie_pal = 0x800FBE50; // rom:0x94F60
ui_sushie_disabled_pal = 0x800FBE70; // rom:0x94F80
ui_lakilester_png = 0x800FBE90; // rom:0x94FA0
ui_lakilester_pal = 0x800FC090; // rom:0x951A0
ui_lakilester_disabled_pal = 0x800FC0B0; // rom:0x951C0
ui_partner9_png = 0x800FC0D0; // rom:0x951E0
ui_partner9_pal = 0x800FC2D0; // rom:0x953E0
ui_partner9_disabled_pal = 0x800FC2F0; // rom:0x95400
ui_partner10_png = 0x800FC310; // rom:0x95420
ui_partner10_pal = 0x800FC510; // rom:0x95620
ui_partner10_disabled_pal = 0x800FC530; // rom:0x95640
ui_partner11_png = 0x800FC550; // rom:0x95660
ui_partner11_pal = 0x800FC750; // rom:0x95860
ui_partner11_disabled_pal = 0x800FC770; // rom:0x95880
ui_status_text_times_png = 0x800FC790; // rom:0x958A0
ui_status_text_times_pal = 0x800FC7B0; // rom:0x958C0
ui_status_text_slash_png = 0x800FC7D0; // rom:0x958E0
ui_status_text_slash_pal = 0x800FC810; // rom:0x95920
ui_status_text_0_png = 0x800FC830; // rom:0x95940
ui_status_text_0_pal = 0x800FC8B0; // rom:0x959C0
ui_status_text_1_png = 0x800FC8D0; // rom:0x959E0
ui_status_text_1_pal = 0x800FC950; // rom:0x95A60
ui_status_text_2_png = 0x800FC970; // rom:0x95A80
ui_status_text_2_pal = 0x800FC9F0; // rom:0x95B00
ui_status_text_3_png = 0x800FCA10; // rom:0x95B20
ui_status_text_3_pal = 0x800FCA90; // rom:0x95BA0
ui_status_text_4_png = 0x800FCAB0; // rom:0x95BC0
ui_status_text_4_pal = 0x800FCB30; // rom:0x95C40
ui_status_text_5_png = 0x800FCB50; // rom:0x95C60
ui_status_text_5_pal = 0x800FCBD0; // rom:0x95CE0
ui_status_text_6_png = 0x800FCBF0; // rom:0x95D00
ui_status_text_6_pal = 0x800FCC70; // rom:0x95D80
ui_status_text_7_png = 0x800FCC90; // rom:0x95DA0
ui_status_text_7_pal = 0x800FCD10; // rom:0x95E20
ui_status_text_8_png = 0x800FCD30; // rom:0x95E40
ui_status_text_8_pal = 0x800FCDB0; // rom:0x95EC0
ui_status_text_9_png = 0x800FCDD0; // rom:0x95EE0
ui_status_text_9_pal = 0x800FCE50; // rom:0x95F60
ui_status_text_hp_png = 0x800FCE70; // rom:0x95F80
ui_status_text_hp_pal = 0x800FCEF0; // rom:0x96000
ui_status_text_fp_png = 0x800FCF10; // rom:0x96020
ui_status_text_fp_pal = 0x800FCF90; // rom:0x960A0
ui_status_text_hp_de_png = 0x800FCFB0; // rom:0x960C0
ui_status_text_hp_de_pal = 0x800FD030; // rom:0x96140
ui_status_text_fp_de_png = 0x800FD050; // rom:0x96160
ui_status_text_fp_de_pal = 0x800FD0D0; // rom:0x961E0
ui_status_text_hp_fr_png = 0x800FD0F0; // rom:0x96200
ui_status_text_hp_fr_pal = 0x800FD170; // rom:0x96280
ui_status_text_fp_fr_png = 0x800FD190; // rom:0x962A0
ui_status_text_fp_fr_pal = 0x800FD210; // rom:0x96320
ui_status_text_hp_es_png = 0x800FD230; // rom:0x96340
ui_status_text_hp_es_pal = 0x800FD2B0; // rom:0x963C0
ui_status_text_fp_es_png = 0x800FD2D0; // rom:0x963E0
ui_status_text_fp_es_pal = 0x800FD350; // rom:0x96460
ui_status_pow_unit_1_png = 0x800FD370; // rom:0x96480
ui_status_pow_unit_1_pal = 0x800FD390; // rom:0x964A0
ui_status_pow_unit_2_png = 0x800FD3B0; // rom:0x964C0
ui_status_pow_unit_2_pal = 0x800FD3D0; // rom:0x964E0
ui_status_pow_unit_3_png = 0x800FD3F0; // rom:0x96500
ui_status_pow_unit_3_pal = 0x800FD410; // rom:0x96520
ui_status_pow_unit_4_png = 0x800FD430; // rom:0x96540
ui_status_pow_unit_4_pal = 0x800FD450; // rom:0x96560
ui_status_pow_unit_5_png = 0x800FD470; // rom:0x96580
ui_status_pow_unit_5_pal = 0x800FD490; // rom:0x965A0
ui_status_pow_unit_6_png = 0x800FD4B0; // rom:0x965C0
ui_status_pow_unit_6_pal = 0x800FD4D0; // rom:0x965E0
ui_status_pow_unit_7_png = 0x800FD4F0; // rom:0x96600
ui_status_pow_unit_7_pal = 0x800FD510; // rom:0x96620
ui_status_pow_unit_empty_png = 0x800FD530; // rom:0x96640
ui_status_pow_unit_empty_pal = 0x800FD550; // rom:0x96660
ui_status_pow_star_1_png = 0x800FD570; // rom:0x96680
ui_status_pow_star_1_pal = 0x800FD590; // rom:0x966A0
ui_status_pow_star_2_png = 0x800FD5B0; // rom:0x966C0
ui_status_pow_star_2_pal = 0x800FD5D0; // rom:0x966E0
ui_status_pow_star_3_png = 0x800FD5F0; // rom:0x96700
ui_status_pow_star_3_pal = 0x800FD610; // rom:0x96720
ui_status_pow_star_4_png = 0x800FD630; // rom:0x96740
ui_status_pow_star_4_pal = 0x800FD650; // rom:0x96760
ui_status_pow_star_5_png = 0x800FD670; // rom:0x96780
ui_status_pow_star_5_pal = 0x800FD690; // rom:0x967A0
ui_status_pow_star_6_png = 0x800FD6B0; // rom:0x967C0
ui_status_pow_star_6_pal = 0x800FD6D0; // rom:0x967E0
ui_status_pow_star_7_png = 0x800FD6F0; // rom:0x96800
ui_status_pow_star_7_pal = 0x800FD710; // rom:0x96820
ui_status_pow_star_empty_png = 0x800FD730; // rom:0x96840
ui_status_pow_star_empty_pal = 0x800FD750; // rom:0x96860
ui_status_coin_0_png = 0x800FD770; // rom:0x96880
ui_status_coin_0_pal = 0x800FD7F0; // rom:0x96900
ui_status_coin_1_png = 0x800FD810; // rom:0x96920
ui_status_coin_1_pal = 0x800FD890; // rom:0x969A0
ui_status_coin_2_png = 0x800FD8B0; // rom:0x969C0
ui_status_coin_2_pal = 0x800FD930; // rom:0x96A40
ui_status_coin_3_png = 0x800FD950; // rom:0x96A60
ui_status_coin_3_pal = 0x800FD9D0; // rom:0x96AE0
ui_status_coin_4_png = 0x800FD9F0; // rom:0x96B00
ui_status_coin_4_pal = 0x800FDA70; // rom:0x96B80
ui_status_coin_5_png = 0x800FDA90; // rom:0x96BA0
ui_status_coin_5_pal = 0x800FDB10; // rom:0x96C20
ui_status_coin_6_png = 0x800FDB30; // rom:0x96C40
ui_status_coin_6_pal = 0x800FDBB0; // rom:0x96CC0
ui_status_coin_7_png = 0x800FDBD0; // rom:0x96CE0
ui_status_coin_7_pal = 0x800FDC50; // rom:0x96D60
ui_status_coin_8_png = 0x800FDC70; // rom:0x96D80
ui_status_coin_8_pal = 0x800FDCF0; // rom:0x96E00
ui_status_coin_9_png = 0x800FDD10; // rom:0x96E20
ui_status_coin_9_pal = 0x800FDD90; // rom:0x96EA0
ui_status_star_point_0_png = 0x800FDDB0; // rom:0x96EC0
ui_status_star_point_0_pal = 0x800FDE30; // rom:0x96F40
ui_status_star_point_1_png = 0x800FDE50; // rom:0x96F60
ui_status_star_point_1_pal = 0x800FDED0; // rom:0x96FE0
ui_status_star_point_2_png = 0x800FDEF0; // rom:0x97000
ui_status_star_point_2_pal = 0x800FDF70; // rom:0x97080
ui_status_star_point_3_png = 0x800FDF90; // rom:0x970A0
ui_status_star_point_3_pal = 0x800FE010; // rom:0x97120
ui_status_star_point_4_png = 0x800FE030; // rom:0x97140
ui_status_star_point_4_pal = 0x800FE0B0; // rom:0x971C0
ui_status_star_point_5_png = 0x800FE0D0; // rom:0x971E0
ui_status_star_point_5_pal = 0x800FE150; // rom:0x97260
ui_status_star_point_6_png = 0x800FE170; // rom:0x97280
ui_status_star_point_6_pal = 0x800FE1F0; // rom:0x97300
ui_status_star_point_7_png = 0x800FE210; // rom:0x97320
ui_status_star_point_7_pal = 0x800FE290; // rom:0x973A0
ui_bluepip_png = 0x800FE2B0; // rom:0x973C0
ui_bluepip_pal = 0x800FE330; // rom:0x97440
ui_bluepip2_png = 0x800FE350; // rom:0x97460
ui_bluepip2_pal = 0x800FE3D0; // rom:0x974E0
ui_battle_status_charge_jump_png = 0x800FE3F0; // rom:0x97500
ui_battle_status_charge_jump_pal = 0x800FE510; // rom:0x97620
ui_battle_status_charge_hammer_png = 0x800FE530; // rom:0x97640
ui_battle_status_charge_hammer_pal = 0x800FE650; // rom:0x97760
ui_battle_status_charge_goombario_png = 0x800FE670; // rom:0x97780
ui_battle_status_charge_goombario_pal = 0x800FE790; // rom:0x978A0
ui_battle_status_exclamation_png = 0x800FE7B0; // rom:0x978C0
ui_battle_status_exclamation_pal = 0x800FE8D0; // rom:0x979E0
ui_battle_status_sleep_0_png = 0x800FE8F0; // rom:0x97A00
ui_battle_status_sleep_0_pal = 0x800FE970; // rom:0x97A80
ui_battle_status_sleep_1_png = 0x800FE990; // rom:0x97AA0
ui_battle_status_sleep_1_pal = 0x800FEA10; // rom:0x97B20
ui_battle_status_sleep_2_png = 0x800FEA30; // rom:0x97B40
ui_battle_status_sleep_2_pal = 0x800FEAB0; // rom:0x97BC0
ui_battle_status_static_0_png = 0x800FEAD0; // rom:0x97BE0
ui_battle_status_static_0_pal = 0x800FEB50; // rom:0x97C60
ui_battle_status_static_1_png = 0x800FEB70; // rom:0x97C80
ui_battle_status_static_1_pal = 0x800FEBF0; // rom:0x97D00
ui_battle_status_paralyze_0_png = 0x800FEC10; // rom:0x97D20
ui_battle_status_paralyze_0_pal = 0x800FEC90; // rom:0x97DA0
ui_battle_status_paralyze_1_png = 0x800FECB0; // rom:0x97DC0
ui_battle_status_paralyze_1_pal = 0x800FED30; // rom:0x97E40
ui_battle_status_dizzy_0_png = 0x800FED50; // rom:0x97E60
ui_battle_status_dizzy_0_pal = 0x800FEDD0; // rom:0x97EE0
ui_battle_status_dizzy_1_png = 0x800FEDF0; // rom:0x97F00
ui_battle_status_dizzy_1_pal = 0x800FEE70; // rom:0x97F80
ui_battle_status_dizzy_2_png = 0x800FEE90; // rom:0x97FA0
ui_battle_status_dizzy_2_pal = 0x800FEF10; // rom:0x98020
ui_battle_status_dizzy_3_png = 0x800FEF30; // rom:0x98040
ui_battle_status_dizzy_3_pal = 0x800FEFB0; // rom:0x980C0
ui_battle_status_poison_0_png = 0x800FEFD0; // rom:0x980E0
ui_battle_status_poison_0_pal = 0x800FF050; // rom:0x98160
ui_battle_status_poison_1_png = 0x800FF070; // rom:0x98180
ui_battle_status_poison_1_pal = 0x800FF0F0; // rom:0x98200
ui_battle_status_frozen_0_png = 0x800FF110; // rom:0x98220
ui_battle_status_frozen_0_pal = 0x800FF190; // rom:0x982A0
ui_battle_status_frozen_1_png = 0x800FF1B0; // rom:0x982C0
ui_battle_status_frozen_1_pal = 0x800FF230; // rom:0x98340
ui_battle_status_frozen_2_png = 0x800FF250; // rom:0x98360
ui_battle_status_frozen_2_pal = 0x800FF2D0; // rom:0x983E0
ui_battle_status_frozen_3_png = 0x800FF2F0; // rom:0x98400
ui_battle_status_frozen_3_pal = 0x800FF370; // rom:0x98480
ui_battle_status_stop_0_png = 0x800FF390; // rom:0x984A0
ui_battle_status_stop_0_pal = 0x800FF410; // rom:0x98520
ui_battle_status_stop_1_png = 0x800FF430; // rom:0x98540
ui_battle_status_stop_1_pal = 0x800FF4B0; // rom:0x985C0
ui_battle_status_stop_2_png = 0x800FF4D0; // rom:0x985E0
ui_battle_status_stop_2_pal = 0x800FF550; // rom:0x98660
ui_battle_status_stop_3_png = 0x800FF570; // rom:0x98680
ui_battle_status_stop_3_pal = 0x800FF5F0; // rom:0x98700
ui_battle_status_pdown_0_png = 0x800FF610; // rom:0x98720
ui_battle_status_pdown_0_pal = 0x800FF690; // rom:0x987A0
ui_battle_status_pdown_1_png = 0x800FF6B0; // rom:0x987C0
ui_battle_status_pdown_1_pal = 0x800FF730; // rom:0x98840
ui_battle_status_shrink_0_png = 0x800FF750; // rom:0x98860
ui_battle_status_shrink_0_pal = 0x800FF7D0; // rom:0x988E0
ui_battle_status_shrink_1_png = 0x800FF7F0; // rom:0x98900
ui_battle_status_shrink_1_pal = 0x800FF870; // rom:0x98980
ui_battle_status_shrink_2_png = 0x800FF890; // rom:0x989A0
ui_battle_status_shrink_2_pal = 0x800FF910; // rom:0x98A20
ui_battle_status_shrink_3_png = 0x800FF930; // rom:0x98A40
ui_battle_status_shrink_3_pal = 0x800FF9B0; // rom:0x98AC0
ui_battle_status_transparent_0_png = 0x800FF9D0; // rom:0x98AE0
ui_battle_status_transparent_0_pal = 0x800FFA50; // rom:0x98B60
ui_battle_status_transparent_1_png = 0x800FFA70; // rom:0x98B80
ui_battle_status_transparent_1_pal = 0x800FFAF0; // rom:0x98C00
ui_battle_status_transparent_2_png = 0x800FFB10; // rom:0x98C20
ui_battle_status_transparent_2_pal = 0x800FFB90; // rom:0x98CA0
ui_battle_status_transparent_3_png = 0x800FFBB0; // rom:0x98CC0
ui_battle_status_transparent_3_pal = 0x800FFC30; // rom:0x98D40
ui_battle_status_transparent_4_png = 0x800FFC50; // rom:0x98D60
ui_battle_status_transparent_4_pal = 0x800FFCD0; // rom:0x98DE0
ui_battle_status_transparent_5_png = 0x800FFCF0; // rom:0x98E00
ui_battle_status_transparent_5_pal = 0x800FFD70; // rom:0x98E80
ui_battle_status_peril_png = 0x800FFD90; // rom:0x98EA0
ui_battle_status_peril_pal = 0x800FFED0; // rom:0x98FE0
ui_battle_status_danger_png = 0x800FFEF0; // rom:0x99000
ui_battle_status_danger_pal = 0x80100030; // rom:0x99140
ui_battle_status_refund_png = 0x80100050; // rom:0x99160
ui_battle_status_refund_pal = 0x80100230; // rom:0x99340
ui_battle_status_happy_png = 0x80100250; // rom:0x99360
ui_battle_status_happy_pal = 0x80100390; // rom:0x994A0
ui_battle_status_hp_drain_png = 0x801003B0; // rom:0x994C0
ui_battle_status_hp_drain_pal = 0x801004F0; // rom:0x99600
ui_battle_status_peril_de_png = 0x80100510; // rom:0x99620
ui_battle_status_peril_de_pal = 0x80100650; // rom:0x99760
ui_battle_status_danger_de_png = 0x80100670; // rom:0x99780
ui_battle_status_danger_de_pal = 0x801007B0; // rom:0x998C0
ui_battle_status_refund_de_png = 0x801007D0; // rom:0x998E0
ui_battle_status_refund_de_pal = 0x801009B0; // rom:0x99AC0
ui_battle_status_happy_de_png = 0x801009D0; // rom:0x99AE0
ui_battle_status_happy_de_pal = 0x80100B10; // rom:0x99C20
ui_battle_status_hp_drain_de_png = 0x80100B30; // rom:0x99C40
ui_battle_status_hp_drain_de_pal = 0x80100C70; // rom:0x99D80
ui_battle_status_peril_fr_png = 0x80100C90; // rom:0x99DA0
ui_battle_status_peril_fr_pal = 0x80100DD0; // rom:0x99EE0
ui_battle_status_danger_fr_png = 0x80100DF0; // rom:0x99F00
ui_battle_status_danger_fr_pal = 0x80100F30; // rom:0x9A040
ui_battle_status_refund_fr_png = 0x80100F50; // rom:0x9A060
ui_battle_status_refund_fr_pal = 0x80101130; // rom:0x9A240
ui_battle_status_happy_fr_png = 0x80101150; // rom:0x9A260
ui_battle_status_happy_fr_pal = 0x80101290; // rom:0x9A3A0
ui_battle_status_hp_drain_fr_png = 0x801012B0; // rom:0x9A3C0
ui_battle_status_hp_drain_fr_pal = 0x801013F0; // rom:0x9A500
ui_battle_status_peril_es_png = 0x80101410; // rom:0x9A520
ui_battle_status_peril_es_pal = 0x80101550; // rom:0x9A660
ui_battle_status_danger_es_png = 0x80101570; // rom:0x9A680
ui_battle_status_danger_es_pal = 0x801016B0; // rom:0x9A7C0
ui_battle_status_refund_es_png = 0x801016D0; // rom:0x9A7E0
ui_battle_status_refund_es_pal = 0x801018B0; // rom:0x9A9C0
ui_battle_status_happy_es_png = 0x801018D0; // rom:0x9A9E0
ui_battle_status_happy_es_pal = 0x80101A10; // rom:0x9AB20
ui_battle_status_hp_drain_es_png = 0x80101A30; // rom:0x9AB40
ui_battle_status_hp_drain_es_pal = 0x80101B70; // rom:0x9AC80
ui_move_basic_png = 0x80101B90; // rom:0x9ACA0
ui_move_basic_pal = 0x80101D90; // rom:0x9AEA0
ui_move_basic_disabled_pal = 0x80101DB0; // rom:0x9AEC0
ui_move_partner_1_png = 0x80101DD0; // rom:0x9AEE0
ui_move_partner_1_pal = 0x80101FD0; // rom:0x9B0E0
ui_move_partner_1_disabled_pal = 0x80101FF0; // rom:0x9B100
ui_move_partner_2_png = 0x80102010; // rom:0x9B120
ui_move_partner_2_pal = 0x80102210; // rom:0x9B320
ui_move_partner_2_disabled_pal = 0x80102230; // rom:0x9B340
ui_move_partner_3_png = 0x80102250; // rom:0x9B360
ui_move_partner_3_pal = 0x80102450; // rom:0x9B560
ui_move_partner_3_disabled_pal = 0x80102470; // rom:0x9B580
inspect_icon_img = 0x802B7A20; // rom:0xE8DB40
inspect_icon_pal = 0x802B7C20; // rom:0xE8DD40
inspect_icon_gfx = 0x802B7C40; // rom:0xE8DD60
speech_bubble_img = 0x802B7710; // rom:0xE8E5D0
speech_bubble_pal = 0x802B7910; // rom:0xE8E7D0
speech_bubble_gfx = 0x802B7930; // rom:0xE8E7F0
pulse_stone_icon_img = 0x802B7640; // rom:0xE8EEC0
pulse_stone_icon_1_pal = 0x802B7C60; // rom:0xE8F4E0
pulse_stone_icon_2_pal = 0x802B7C80; // rom:0xE8F500
pulse_stone_icon_gfx = 0x802B7CA0; // rom:0xE8F520
ispy_icon_img = 0x802B7580; // rom:0xE8FB40
ispy_icon_1_pal = 0x802B7BA0; // rom:0xE90160
ispy_icon_2_pal = 0x802B7BC0; // rom:0xE90180
ispy_icon_3_pal = 0x802B7BE0; // rom:0xE901A0
ispy_icon_gfx = 0x802B7C00; // rom:0xE901C0
D_0A000000_E31530 = 0xA000000; // rom:0xE9E540
D_0A000280_E317B0 = 0xA000280; // rom:0xE9E7C0
D_0A000380_E318B0 = 0xA000380; // rom:0xE9E8C0

View File

@ -20,6 +20,7 @@ round = 0x80029A44;
clamp_angle = 0x80029AA4;
get_clamped_angle_diff = 0x80029BA8;
atan2 = 0x80029C00;
get_player_normal_yaw = 0x80029DA0;
get_player_normal_pitch = 0x80029DD0;
dist2D = 0x80029E54;
dist3D = 0x80029EAC;
@ -61,6 +62,7 @@ create_standard_npc = 0x80038D54;
free_npc_by_index = 0x80038D90;
free_npc = 0x80038EBC;
get_npc_by_index = 0x80038FCC;
npc_do_world_collision = 0x80038FEC;
npc_do_other_npc_collision = 0x800394FC;
npc_try_snap_to_ground = 0x80039CD8;
npc_get_render_yaw = 0x8003A294;
@ -77,6 +79,8 @@ npc_set_palswap_mode_A = 0x8003B8C0;
npc_set_palswap_1 = 0x8003B93C;
npc_set_palswap_2 = 0x8003B954;
npc_set_decoration = 0x8003C8C8;
npc_find_closest = 0x8003D4A4;
npc_find_closest_simple = 0x8003D5B4;
npc_find_standing_on_entity = 0x8003D6C4;
npc_set_imgfx_params = 0x8003DB14;
spawn_surface_effects = 0x8003DB50;
@ -84,6 +88,7 @@ init_encounter_status = 0x8003E828;
kill_enemy = 0x8003EC9C;
get_enemy = 0x8003F1D8;
get_enemy_safe = 0x8003F258;
check_conversation_trigger = 0x800436D8;
is_starting_conversation = 0x80044644;
SetEncounterStatusFlags = 0x80044670;
IsStartingConversation = 0x800446E0;
@ -147,6 +152,7 @@ BasicAI_Main = 0x8004AA5C;
basic_ai_suspend = 0x8004AD1C;
ai_check_fwd_collisions = 0x8004AD64;
snd_start_sound = 0x800557C0;
snd_stop_sound = 0x800559A0;
snd_load_ambient = 0x80055A28;
snd_ambient_stop_slow = 0x80055AC8;
snd_ambient_pause = 0x80055B1C;
@ -175,6 +181,7 @@ get_collider_flags = 0x8005C4C8;
get_collider_center = 0x8005C530;
test_ray_colliders = 0x8005D3F0;
test_ray_zones = 0x8005D844;
test_ray_entities = 0x8005DB68;
npc_follow_init = 0x8005E5EC;
npc_update_npc_tracking = 0x8005E6F4;
npc_follow_npc = 0x8005E84C;
@ -217,6 +224,7 @@ gSaveSlotHasData = 0x80073D74;
EnemyNpcHit = 0x80074310;
EnemyNpcDefeat = 0x8007443C;
gEffectTable = 0x8007B5B0;
HES_Item_CoinSparkleRandom = 0x8007D364;
HES_Item_Unused_08B = 0x8007E698;
HES_Item_Unused_08B_disabled = 0x8007E6C8;
HES_Item_Unused_08C = 0x8007E6F8;
@ -226,6 +234,7 @@ gItemHudScripts = 0x80086A20;
gItemIconRasterOffsets = 0x8008A778;
gItemIconPaletteOffsets = 0x8008ACEC;
PartnerIDFromMenuIndex = 0x8008B260;
MenuIndexFromPartnerID = 0x8008B290;
gPartnerPopupProperties = 0x8008B2C0;
gMoveTable = 0x8008B400;
gAreas = 0x8008F890;
@ -234,6 +243,7 @@ EVS_NpcHitRecoil = 0x8008FA7C;
timeFreezeMode = 0x800969AC;
nuGfxZBuffer = 0x800969B0;
mdl_currentModelTreeNodeInfo = 0x800969C8;
gEncounterState = 0x800969D4;
gCurrentCamID = 0x80096A0C;
nuGfxCfb_ptr = 0x80096A24;
gOverrideFlags = 0x80096A28;
@ -251,178 +261,6 @@ wMapShapeName = 0x800D5988;
D_800D95E8 = 0x800D5D58;
wMapBgName = 0x800D5DD8;
gBattleStatus = 0x800D87E0;
npc_raycast_down_around = 0x800D8EE8;
npc_raycast_down_sides = 0x800D92EC;
npc_raycast_up = 0x800D95E0;
npc_raycast_up_corners = 0x800D9998;
npc_test_move_taller_with_slipping = 0x800DA254;
npc_test_move_simple_with_slipping = 0x800DA3B4;
npc_test_move_simple_without_slipping = 0x800DA45C;
npc_test_move_complex_with_slipping = 0x800DA504;
player_raycast_below_cam_relative = 0x800DABDC;
player_raycast_up_corners = 0x800DAF54;
player_test_lateral_overlap = 0x800DB374;
clear_player_status = 0x800DC3C0;
suggest_player_anim_allow_backward = 0x800DC66C;
force_player_anim = 0x800DC6C0;
suggest_player_anim_always_forward = 0x800DC6E8;
get_xz_dist_to_player = 0x800DC7F8;
enable_player_shadow = 0x800DC820;
disable_player_shadow = 0x800DC854;
disable_player_static_collisions = 0x800DC884;
enable_player_static_collisions = 0x800DC8B0;
disable_player_input = 0x800DC8E8;
enable_player_input = 0x800DC914;
func_800E01DC = 0x800DC94C;
can_trigger_loading_zone = 0x800DEE34;
move_player = 0x800DEEE8;
gravity_use_fall_parms = 0x800DF7DC;
player_handle_floor_collider_type = 0x800DF8CC;
player_fall_distance = 0x800DFC48;
player_check_collision_below = 0x800DFC84;
phys_main_collision_below = 0x800E0EB4;
func_800E4AD8 = 0x800E1248;
player_get_camera_facing_angle = 0x800E1BDC;
phys_adjust_cam_on_landing = 0x800E1CA0;
phys_get_spin_history = 0x800E20A8;
set_action_state = 0x800E2514;
start_falling = 0x800E2740;
start_bounce_b = 0x800E27FC;
peach_force_disguise_action = 0x800E2B14;
clear_player_data = 0x800E3B10;
get_player_data = 0x800E3CD4;
add_item = 0x800E3CE4;
get_item_count = 0x800E3D5C;
get_item_empty_count = 0x800E3D90;
find_item = 0x800E3DB4;
sort_items = 0x800E3E3C;
add_badge = 0x800E3EAC;
enforce_hpfp_limits = 0x800E3FDC;
hide_coin_counter_immediately = 0x800E5F20;
ShowCoinCounter = 0x800E5F50;
open_status_bar_long = 0x800E5FB8;
close_status_bar = 0x800E6010;
func_800E983C = 0x800E6094;
func_800E984C = 0x800E60A4;
status_bar_ignore_changes = 0x800E60EC;
status_bar_respond_to_changes = 0x800E611C;
func_800E98EC = 0x800E6144;
func_800E9900 = 0x800E6158;
status_bar_start_blinking_hp = 0x800E6178;
status_bar_stop_blinking_hp = 0x800E61BC;
status_bar_start_blinking_fp = 0x800E61E4;
status_bar_stop_blinking_fp = 0x800E6228;
status_bar_start_blinking_sp = 0x800E62B8;
status_bar_stop_blinking_sp = 0x800E62EC;
decrement_status_bar_disabled = 0x800E6388;
increment_status_bar_disabled = 0x800E63AC;
sync_status_bar = 0x800E63C4;
is_ability_active = 0x800E65A0;
add_coins = 0x800E6918;
add_star_points = 0x800E6980;
add_star_pieces = 0x800E69C8;
increment_max_SP = 0x800E6A0C;
set_max_SP = 0x800E6A30;
recover_fp = 0x800E6ABC;
recover_hp = 0x800E6B24;
subtract_hp = 0x800E6B8C;
subtract_fortress_keys = 0x800E6C10;
get_fortress_key_count = 0x800E6C3C;
remove_consumable = 0x800E6CCC;
func_800EA52C = 0x800E6D7C;
partner_is_flying = 0x800E6DF4;
switch_to_partner = 0x800E79B8;
func_800EB2A4 = 0x800E7AF4;
partner_use_ability = 0x800E7B64;
partner_can_use_ability = 0x800E7C7C;
partner_get_enter_map_script = 0x800E7E88;
partner_kill_ability_script = 0x800E801C;
partner_suspend_ability_script = 0x800E8068;
partner_resume_ability_script = 0x800E80B0;
partner_walking_enable = 0x800E80F8;
partner_walking_update_player_tracking = 0x800E828C;
partner_walking_update_motion = 0x800E8390;
partner_flying_enable = 0x800E9B60;
partner_flying_update_player_tracking = 0x800E9D08;
partner_flying_update_motion = 0x800E9E20;
partner_init_put_away = 0x800EB1E4;
partner_put_away = 0x800EB208;
partner_init_get_out = 0x800EB514;
partner_get_out = 0x800EB538;
func_800EF300 = 0x800EBB50;
func_800EF314 = 0x800EBB64;
enable_partner_ai = 0x800EBB78;
partner_set_tether_distance = 0x800EBBE4;
partner_reset_tether_distance = 0x800EBBF4;
partner_set_goal_pos = 0x800EBC10;
func_800EF3D4 = 0x800EBC24;
func_800EF3E4 = 0x800EBC34;
func_800EF43C = 0x800EBC8C;
partner_clear_player_tracking = 0x800EBCAC;
partner_force_player_flip_done = 0x800EBD30;
partner_enable_input = 0x800EBE50;
partner_disable_input = 0x800EBE78;
handle_floor_behavior = 0x800EC558;
hide_popup_menu = 0x800EDC00;
destroy_popup_menu = 0x800EDD88;
create_standard_popup_menu = 0x800F1270;
draw_box = 0x800F1710;
gPlayerStatusPtr = 0x800F3F60;
wPartnerHudScripts = 0x800F4330;
wDisabledPartnerHudScripts = 0x800F4370;
gPartnerAnimations = 0x800F4778;
HES_AnimatedHandPointer = 0x80102D18;
HES_FPCost = 0x80105928;
HES_FPCost_de = 0x80105A88;
HES_FPCost_fr = 0x80105BE8;
HES_FPCost_es = 0x80105D48;
HES_StatusSPIncrement1 = 0x80106A98;
HES_StatusSPIncrement2 = 0x80106AC0;
HES_StatusSPIncrement3 = 0x80106AE8;
HES_StatusSPIncrement4 = 0x80106B10;
HES_StatusSPIncrement5 = 0x80106B38;
HES_StatusSPIncrement6 = 0x80106B60;
HES_StatusSPIncrement7 = 0x80106B88;
HES_StatusSPEmptyIncrement = 0x80106BB0;
HES_StatusStar1 = 0x80106BD8;
HES_StatusStar2 = 0x80106C00;
HES_StatusStar3 = 0x80106C28;
HES_StatusStar4 = 0x80106C50;
HES_StatusStar5 = 0x80106C78;
HES_StatusStar6 = 0x80106CA0;
HES_StatusStar7 = 0x80106CC8;
HES_StatusStarEmpty = 0x80106CF0;
HES_StatusHeart = 0x80106D18;
HES_StatusCoin = 0x80106D58;
HES_StatusStarPoint = 0x80106EAC;
HES_Refund = 0x80107264;
HES_Refund_de = 0x8010739C;
HES_Refund_fr = 0x801074D4;
HES_Refund_es = 0x8010760C;
HES_BlueMeter = 0x801076A4;
HES_AButton = 0x801076D0;
HES_MashAButton = 0x80107728;
HES_PressAButton = 0x80107764;
HES_SlowlyMashAButton = 0x801077DC;
HES_PressStartButton = 0x801078AC;
HES_StartButtonText = 0x801078E8;
HES_StickNeutral = 0x801079C4;
HES_StickHoldLeft = 0x801079F0;
HES_StickTapRight = 0x80107D8C;
HES_RunAwayOK = 0x80107DEC;
HES_MoveDiamond = 0x80107EE0;
HES_MoveBlueOrb = 0x80107F08;
HES_MoveGreenOrb = 0x80107F30;
HES_MoveRedOrb = 0x80107F58;
ui_box_corners5_png = 0x80109D00;
ui_box_corners4_png = 0x80109F00;
ui_box_bg_tile_png = 0x8010A000;
wPartnerNpc = 0x8010B420;
TweesterTouchingPartner = 0x8010B444;
NpcHitQueryColliderID = 0x8010B468;
gPartnerStatus = 0x8010D6B0;
gPlayerStatus = 0x8010DAC8;
gPlayerData = 0x8010DD90;
update_entities = 0x8010E1D0;
set_entity_commandlist = 0x8010E6C0;
exec_entity_commandlist = 0x8010E868;
@ -448,6 +286,7 @@ create_shadow_type = 0x80110D60;
delete_shadow = 0x80110E28;
entity_raycast_down = 0x801110E8;
set_standard_shadow_scale = 0x8011135C;
set_peach_shadow_scale = 0x801114D4;
is_block_on_ground = 0x80111620;
clear_model_data = 0x80114844;
get_model_from_list_index = 0x80119830;
@ -552,6 +391,7 @@ test_item_entity_position = 0x80132B68;
set_item_entity_flags = 0x80132CE8;
clear_item_entity_flags = 0x80132D28;
auto_collect_item_entity = 0x80132D50;
is_picking_up_item = 0x80132D88;
set_item_entity_position = 0x80132DAC;
set_screen_overlay_params_front = 0x80136928;
set_screen_overlay_params_back = 0x80136944;
@ -587,6 +427,7 @@ hud_element_set_alpha = 0x80143A60;
hud_element_set_tint = 0x80143AAC;
hud_element_create_transform_A = 0x80143AD8;
hud_element_set_transform_rotation = 0x80143DD4;
copy_world_hud_element_ref_to_battle = 0x80143E64;
clear_saved_variables = 0x80143ED0;
clear_global_flag = 0x80143F90;
set_global_flag = 0x80144000;
@ -603,11 +444,13 @@ create_trigger = 0x8014431C;
delete_trigger = 0x801447A4;
is_another_trigger_bound = 0x8014481C;
get_trigger_by_id = 0x80144880;
should_collider_allow_interact = 0x80144898;
reset_background_settings = 0x801449A8;
enable_background_wave = 0x80145DBC;
play_ambient_sounds = 0x80145F18;
basic_window_update = 0x80146024;
basic_hidden_window_update = 0x80146124;
set_window_properties = 0x80146878;
update_window_hierarchy = 0x80146920;
replace_window_update = 0x801469F8;
set_window_update = 0x80146A2C;
@ -1047,20 +890,6 @@ action_command_whirlwind_start = 0x802A91E0;
action_command_power_shock_start = 0x802A9210;
action_command_hammer_start = 0x802A9258;
action_command_water_block_start = 0x802A9398;
SpeechBubblePtr = 0x802B79A8;
Entity_CymbalPlant = 0x802BC788;
Entity_PinkFlower = 0x802BC7AC;
Entity_SpinningFlower = 0x802BC7F4;
Entity_Tweester = 0x802BCA74;
Entity_StarBoxLauncher = 0x802BCB44;
Entity_BellbellPlant = 0x802BCBD8;
Entity_TrumpetPlant = 0x802BCBFC;
Entity_Munchlesia = 0x802BCC20;
Entity_Padlock = 0x802BCD68;
Entity_ArrowSign = 0x802BCD9C;
Entity_BoardedFloor = 0x802BCE84;
Entity_BombableRock = 0x802BCF00;
Entity_BombableRock2 = 0x802BCF24;
gMsgCharsets = 0x802F18A8;
D_802F4560 = 0x802FA860;
heap_generalHead = 0x802FB800;