huge iQue matching (#1126)

* engine1

* !

* entity/model

* maps

* level_up

* btl_states_menus

* effects

* cleanup and asm match

* battle_code

* cleanup

* msg.c near matching

* final

* fix compilation

* meaningful

* pr commento

* compiler warn eliminate

* rank <-> chapter switcheroo
This commit is contained in:
AltoXorg 2023-11-20 23:22:26 +08:00 committed by GitHub
parent 5f5722c850
commit 36f1ef2c72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 17292 additions and 3885 deletions

View File

@ -2414,7 +2414,7 @@ enum DoorSounds {
DOOR_SOUNDS_UNUSED = 6,
};
#if VERSION_US || VERSION_PAL
#if VERSION_US || VERSION_PAL || VERSION_IQUE
#include "sprite/sprite_shading_profiles.h"
#endif
@ -5595,6 +5595,9 @@ enum MsgChars {
// All US characters are in the rom, but their range is used for multibyte characters
MSG_CHAR_MULTIBYTE_FIRST = 0x5F,
MSG_CHAR_MULTIBYTE_LAST = 0x8F,
MSG_CHAR_ZH_START = 0xA6,
MSG_CHAR_ZH_RANK = 0x33F, // 勋
MSG_CHAR_ZH_CHAPTER = 0x340, // 章
#endif
MSG_CHAR_UNK_C3 = 0xC3,

View File

@ -6,7 +6,7 @@
#ifdef SHIFT
#define SPRITE_ROM_START (u32) sprites_ROM_START + 0x10
#elif VERSION_US
#elif VERSION_US || VERSION_IQUE
#define SPRITE_ROM_START 0x1943000 + 0x10
#elif VERSION_PAL
#define SPRITE_ROM_START 0x1DF0000 + 0x10

View File

@ -311,7 +311,9 @@ BSS s8 D_802AD004;
BSS s16 D_802AD006;
BSS s16 BattleMenuAlpha;
BSS s16 D_802AD00A;
#if !VERSION_IQUE
BSS s16 D_802AD00C; // unused?
#endif
BSS s32 D_802AD010[6];
BSS s32 D_802AD028[6];
BSS s32 D_802AD040;
@ -330,13 +332,17 @@ BSS s8 BattleMenu_MaxIdx;
BSS s8 BattleMenu_HomePos;
BSS f32 BattleMenu_WheelAngle;
BSS f32 D_802AD070;
#if !VERSION_IQUE
BSS s32 D_802AD074; // unused?
#endif
BSS HudScript* BattleMenu_HudScripts[6];
BSS s32 BattleMenu_TitleMessages[6];
BSS s32 D_802AD0A8;
BSS s32 BattleMenu_NumOptions;
BSS s32 D_802AD0B0;
#if !VERSION_IQUE
BSS s32 D_802AD0B4; // unused?
#endif
BSS s32 battle_menu_submenuIDs[6];
BSS s32 BattleMenu_OptionEnabled[6];
BSS s32 battle_menu_isMessageDisabled[6];
@ -357,17 +363,25 @@ BSS s16 BattleMenu_Moves_TextAlpha;
BSS HudElemID BattleMenu_Moves_CursorID;
BSS HudElemID BattleMenu_Moves_UpArrowID;
BSS HudElemID BattleMenu_Moves_DownArrowID;
#if !VERSION_IQUE
BSS s32 D_802AD124; // unused?
#endif
BSS HudElemID BattleMenu_Moves_OptionIDs[24];
BSS HudElemID BattleMenu_Moves_TitleID;
#if !VERSION_IQUE
BSS s32 D_802AD18C; // unused?
#endif
BSS HudElemID BattleMenu_Moves_OptionCostUnitIDs[24];
BSS s16 BattleMenu_Moves_PosX;
BSS s16 BattleMenu_Moves_PosY;
#if !VERSION_IQUE
BSS s32 D_802AD1F4; // unused?
#endif
BSS s32 BattleMenu_Moves_OptionIndexMap[24];
BSS s32 D_802AD258;
#if !VERSION_IQUE
BSS s32 D_802AD25C; // unused?
#endif
BSS HudScript* battle_menu_moveOptionIconScripts[24];
BSS s32 battle_menu_moveOptionNames[24];
BSS s32 battle_menu_moveOptionDisplayCosts[24];
@ -377,7 +391,9 @@ BSS s32 battle_menu_moveOptionBPCosts[24];
BSS s32 BattleMenu_UsingSpiritsSubmenu;
BSS s32 BattleMenu_Moves_OptionCount;
BSS s32 D_802AD4A8;
#if !VERSION_IQUE
BSS s32 D_802AD4AC; // unused?
#endif
BSS s32 BattleMenu_Moves_OptionIndices[24];
BSS s32 BattleMenu_Moves_OptionEnabled[24];
BSS s32 BattleMenu_Moves_OptionDescMessages[24];
@ -401,18 +417,27 @@ BSS s32 D_802AD618;
BSS HudElemID GreenArrowUpID;
BSS HudElemID GreenArrowDownID;
BSS s32 D_802AD624;
#if VERSION_IQUE
#define TABMAX 5
#else
#define TABMAX 6
#endif
BSS s32 D_802AD628[5];
BSS s16 D_802AD63C;
BSS s16 D_802AD63E;
BSS HudScript* D_802AD640[6];
BSS HudScript* D_802AD640[TABMAX];
BSS s32 D_802AD658[5]; // msg IDs
BSS s32 D_802AD66C;
BSS s32 StratsMenuLastPos;
#if !VERSION_IQUE
BSS s32 D_802AD674; // unused?
BSS s32 D_802AD678[6];
BSS s32 D_802AD690[6]; // strats options enabled
BSS s32 D_802AD6A8[6];
#endif
BSS s32 D_802AD678[TABMAX];
BSS s32 D_802AD690[TABMAX]; // strats options enabled
BSS s32 D_802AD6A8[TABMAX];
BSS s32 D_802AD6C0[5];
BSS s32 D_802AD6D4;
@ -1423,6 +1448,16 @@ s32 btl_submenu_moves_update(void) {
return 0;
}
#if VERSION_IQUE
#define Y_VAR1 2
#define X_VAR1 104
#define X_VAR2 89
#else
#define Y_VAR1 0
#define X_VAR1 108
#define X_VAR2 93
#endif
void func_802A3C98(void* data, s32 x, s32 y) {
s32 var_t0;
s32 temp_f6;
@ -1480,7 +1515,7 @@ void func_802A3C98(void* data, s32 x, s32 y) {
if (battle_menu_moveOptionNames[BattleMenu_Moves_OptionIndexMap[idx]] >= 0) {
draw_msg(
battle_menu_moveOptionNames[BattleMenu_Moves_OptionIndexMap[idx]],
xPos, yPos, BattleMenu_Moves_TextAlpha, palette, 1
xPos, yPos - Y_VAR1, BattleMenu_Moves_TextAlpha, palette, 1
);
}
@ -1541,7 +1576,7 @@ void func_802A3C98(void* data, s32 x, s32 y) {
if (!BattleMenu_UsingSpiritsSubmenu) {
draw_number(
num, xPos + 108, yPos, DRAW_NUMBER_CHARSET_THIN, palette, BattleMenu_Moves_TextAlpha,
num, xPos + X_VAR1, yPos, DRAW_NUMBER_CHARSET_THIN, palette, BattleMenu_Moves_TextAlpha,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT
);
if (BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
@ -1551,7 +1586,7 @@ void func_802A3C98(void* data, s32 x, s32 y) {
hud_element_set_render_pos(id, xPos + 116, yRenderPos);
} else {
draw_number(
num, xPos + 93, yPos, DRAW_NUMBER_CHARSET_THIN, palette, BattleMenu_Moves_TextAlpha,
num, xPos + X_VAR2, yPos, DRAW_NUMBER_CHARSET_THIN, palette, BattleMenu_Moves_TextAlpha,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT
);
if (BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
@ -1985,6 +2020,12 @@ s32 btl_update_strats_menu(void) {
return 0;
}
#if VERSION_IQUE
#define Y_VAR2 3
#else
#define Y_VAR2 0
#endif
void btl_menu_strats_draw_content(void* data, s32 x, s32 y) {
s32 var_t0;
s32 temp_f6;
@ -2029,7 +2070,7 @@ void btl_menu_strats_draw_content(void* data, s32 x, s32 y) {
if (D_802AD690[idx] == 0) {
palette = MSG_PAL_0B;
}
draw_msg(D_802AD658[idx], xPos, yPos, D_802AD624, palette, DRAW_MSG_STYLE_MENU);
draw_msg(D_802AD658[idx], xPos, yPos - Y_VAR2, D_802AD624, palette, DRAW_MSG_STYLE_MENU);
yPos += 13;
}
@ -2463,11 +2504,11 @@ void btl_state_update_player_menu(void) {
D_802ACC60--;
break;
}
if (submenuResult == 0) {
break;
}
set_actor_anim(ACTOR_PLAYER, 0, ANIM_Mario1_Walk);
battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_MAIN] = battleStatus->curSubmenu = battle_menu_submenuIDs[submenuResult - 1];
for (i = 0; i < ARRAY_COUNT(battleStatus->submenuMoves); i++) {

View File

@ -874,7 +874,7 @@ void btl_update_message_popup(void* data) {
popup->showMsgState = BTL_MSG_STATE_ACTION_TIP_DISPOSE;
break;
}
if (!(gBattleStatus.flags1 & BS_FLAGS1_4000)
&& (actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL)
) {
@ -1125,6 +1125,74 @@ void btl_update_message_popup(void* data) {
}
}
#if VERSION_IQUE
#define TIP_X_PRL 83
#define TIP_X_HLT1 44
#define TIP_X_HLT2 67
#define TIP_X_PBST 124
#define TIP_X_MB 70
#define TIP_X_ML 69
#define TIP_X_HLA1 43
#define TIP_X_HLA2 177
#define TIP_X_PBS1 105
#define TIP_X_PBS2 83
#define TIP_X_PBS3 127
#define TIP_X_PWT1 40
#define TIP_X_PWT2 106
#define TIP_X_MB1 95
#define TIP_X_MB2 116
#define TIP_X_HTT 58
#define TIP_X_HTR1 39
#define TIP_X_HTR2 55
#define TIP_X_MTA1 53
#define TIP_X_MTA2 55
#define TIP_X_MTA3 108
#define TIP_X_BF_RD 66
#define TIP_Y_HLA2 17
#define TIP_Y_PBS1 14
#define TIP_Y_PBS2 14
#define TIP_Y_PBS3 14
#define TIP_Y_PWT1 14
#define TIP_Y_MTA1 14
#define TIP_Y_MTA2 32
#define TIP_Y_BF_RD 14
#define TIP_SCALE1 0.6f
#define TIP_SCALE2 0.7f
#else
#define TIP_X_PRL 65
#define TIP_X_HLT1 55
#define TIP_X_HLT2 73
#define TIP_X_PBST 64
#define TIP_X_MB 67
#define TIP_X_ML 56
#define TIP_X_HLA1 65
#define TIP_X_HLA2 146
#define TIP_X_PBS1 86
#define TIP_X_PBS2 64
#define TIP_X_PBS3 108
#define TIP_X_PWT1 105
#define TIP_X_PWT2 65
#define TIP_X_MB1 63
#define TIP_X_MB2 84
#define TIP_X_HTT 124
#define TIP_X_HTR1 56
#define TIP_X_HTR2 53
#define TIP_X_MTA1 107
#define TIP_X_MTA2 210
#define TIP_X_MTA3 56
#define TIP_X_BF_RD 64
#define TIP_Y_HLA2 32
#define TIP_Y_PBS1 13
#define TIP_Y_PBS2 13
#define TIP_Y_PBS3 13
#define TIP_Y_PWT1 13
#define TIP_Y_MTA1 13
#define TIP_Y_MTA2 15
#define TIP_Y_BF_RD 13
#define TIP_SCALE1 0.8f
#define TIP_SCALE2 0.8f
#endif
void btl_message_popup_draw_content(void* data, s32 x, s32 y) {
PopupMessage* popup = data;
s32 messageID;
@ -1259,122 +1327,122 @@ void btl_message_popup_draw_content(void* data, s32 x, s32 y) {
switch (popup->messageIndex) {
case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING:
hud_element_set_render_pos(HID_BattleMessage1, x + 65, y + 14);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_PRL, y + 14);
hud_element_set_scale(HID_BattleMessage1, 0.5f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
break;
case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED:
hud_element_set_render_pos(HID_BattleMessage1, x + 55, y + 14);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_HLT1, y + 14);
hud_element_set_scale(HID_BattleMessage1, 0.6f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
hud_element_set_render_pos(HID_BattleMessage2, x + 73, y + 31);
hud_element_set_render_pos(HID_BattleMessage2, x + TIP_X_HLT2, y + 31);
hud_element_set_alpha(HID_BattleMessage2, opacity);
hud_element_draw_clipped(HID_BattleMessage2);
break;
case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE:
hud_element_set_render_pos(HID_BattleMessage1, x + 64, y + 14);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_PBST, y + 14);
hud_element_set_scale(HID_BattleMessage1, 0.5f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
break;
case BTL_MSG_ACTION_TIP_MASH_BUTTON:
hud_element_set_render_pos(HID_BattleMessage1, x + 67, y + 14);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_MB, y + 14);
hud_element_set_scale(HID_BattleMessage1, 0.5f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
break;
case BTL_MSG_ACTION_TIP_MASH_LEFT:
hud_element_set_render_pos(HID_BattleMessage1, x + 56, y + 14);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_ML, y + 14);
hud_element_set_scale(HID_BattleMessage1, 0.6f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
break;
case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM:
hud_element_set_render_pos(HID_BattleMessage1, x + 65, y + 13);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_HLA1, y + 13);
hud_element_set_scale(HID_BattleMessage1, 0.6f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
hud_element_set_render_pos(HID_BattleMessage2, x + 146, y + 32);
hud_element_set_render_pos(HID_BattleMessage2, x + TIP_X_HLA2, y + TIP_Y_HLA2);
hud_element_set_scale(HID_BattleMessage2, 0.8f);
hud_element_set_alpha(HID_BattleMessage2, opacity);
func_80144218(HID_BattleMessage2);
break;
case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN:
hud_element_set_render_pos(HID_BattleMessage1, x + 86, y + 13);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_PBS1, y + TIP_Y_PBS1);
hud_element_set_scale(HID_BattleMessage1, 0.5f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
hud_element_set_render_pos(HID_BattleMessage2, x + 64, y + 13);
hud_element_set_render_pos(HID_BattleMessage2, x + TIP_X_PBS2, y + TIP_Y_PBS2);
hud_element_set_scale(HID_BattleMessage2, 0.5f);
hud_element_set_alpha(HID_BattleMessage2, opacity);
hud_element_draw_clipped(HID_BattleMessage2);
hud_element_set_render_pos(HID_BattleMessage3, x + 108, y + 13);
hud_element_set_render_pos(HID_BattleMessage3, x + TIP_X_PBS3, y + TIP_Y_PBS3);
hud_element_set_scale(HID_BattleMessage3, 0.5f);
hud_element_set_alpha(HID_BattleMessage3, opacity);
hud_element_draw_clipped(HID_BattleMessage3);
break;
case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING:
hud_element_set_render_pos(HID_BattleMessage1, x + 105, y + 13);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_PWT1, y + TIP_Y_PWT1);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
hud_element_set_render_pos(HID_BattleMessage2, x + 65, y + 14);
hud_element_set_render_pos(HID_BattleMessage2, x + TIP_X_PWT2, y + 14);
hud_element_set_scale(HID_BattleMessage2, 0.5f);
hud_element_set_alpha(HID_BattleMessage2, opacity);
hud_element_draw_clipped(HID_BattleMessage2);
break;
case BTL_MSG_ACTION_TIP_MASH_BOTH:
hud_element_set_render_pos(HID_BattleMessage1, x + 63, y + 14);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_MB1, y + 14);
hud_element_set_scale(HID_BattleMessage1, 0.5f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
hud_element_set_render_pos(HID_BattleMessage2, x + 84, y + 14);
hud_element_set_render_pos(HID_BattleMessage2, x + TIP_X_MB2, y + 14);
hud_element_set_scale(HID_BattleMessage2, 0.5f);
hud_element_set_alpha(HID_BattleMessage2, opacity);
hud_element_draw_clipped(HID_BattleMessage2);
break;
case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP:
hud_element_set_render_pos(HID_BattleMessage1, x + 124, y + 14);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_HTT, y + 14);
hud_element_set_scale(HID_BattleMessage1, 0.5f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
break;
case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE:
hud_element_set_render_pos(HID_BattleMessage1, x + 56, y + 31);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_HTR1, y + 31);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
hud_element_set_render_pos(HID_BattleMessage2, x + 53, y + 14);
hud_element_set_render_pos(HID_BattleMessage2, x + TIP_X_HTR2, y + 14);
hud_element_set_scale(HID_BattleMessage2, 0.5f);
hud_element_set_alpha(HID_BattleMessage2, opacity);
hud_element_draw_clipped(HID_BattleMessage2);
break;
case BTL_MSG_ACTION_TIP_MOVE_TO_AIM:
hud_element_set_render_pos(HID_BattleMessage1, x + 107, y + 13);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_MTA1, y + TIP_Y_MTA1);
hud_element_set_scale(HID_BattleMessage1, 0.6f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);
hud_element_set_render_pos(HID_BattleMessage2, x + 210, y + 15);
hud_element_set_scale(HID_BattleMessage2, 0.8f);
hud_element_set_render_pos(HID_BattleMessage2, x + TIP_X_MTA2, y + TIP_Y_MTA2);
hud_element_set_scale(HID_BattleMessage2, TIP_SCALE1);
hud_element_set_alpha(HID_BattleMessage2, opacity);
func_80144218(HID_BattleMessage2);
hud_element_set_render_pos(HID_BattleMessage3, x + 56, y + 15);
hud_element_set_scale(HID_BattleMessage3, 0.8f);
hud_element_set_render_pos(HID_BattleMessage3, x + TIP_X_MTA3, y + 15);
hud_element_set_scale(HID_BattleMessage3, TIP_SCALE2);
hud_element_set_alpha(HID_BattleMessage3, opacity);
func_80144218(HID_BattleMessage3);
break;
case BTL_MSG_ACTION_TIP_BREAK_FREE:
case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE:
hud_element_set_render_pos(HID_BattleMessage1, x + 64, y + 13);
hud_element_set_render_pos(HID_BattleMessage1, x + TIP_X_BF_RD, y + TIP_Y_BF_RD);
hud_element_set_scale(HID_BattleMessage1, 0.5f);
hud_element_set_alpha(HID_BattleMessage1, opacity);
hud_element_draw_clipped(HID_BattleMessage1);

View File

@ -59,9 +59,15 @@ UnkStruct D_E010E7FC[] = {
};
UnkStruct D_E010E838[] = {
#if VERSION_IQUE
{ D_0900C240_3F80A0, 70, 0, 104, 20 },
{ D_0900C328_3F8188, 70, 20, 104, 20 },
{ D_0900C370_3F81D0, 172, 0, 16, 40 },
#else
{ D_0900C240_3F80A0, 0, 0, 104, 20 },
{ D_0900C328_3F8188, 0, 20, 104, 20 },
{ D_0900C370_3F81D0, 232, 0, 16, 40 },
#endif
{ NULL, 0, 0, 0, 0 }
};
@ -82,23 +88,31 @@ UnkStruct D_E010E838_c[] = {
};
#endif
#if VERSION_IQUE
#define X_VAR 48
#define Y_VAR -13
#else
#define X_VAR 128
#define Y_VAR -33
#endif
UnkStruct D_E010E868[] = {
{ D_0900BE40_3F7CA0, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BE88_3F7CE8, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BED0_3F7D30, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BF18_3F7D78, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BF60_3F7DC0, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BFA8_3F7E08, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BFF0_3F7E50, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900C038_3F7E98, 128, -33, 64, 64 },
{ NULL, 0, 0, 0, 0 }
{ D_0900BE40_3F7CA0, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BE88_3F7CE8, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BED0_3F7D30, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BF18_3F7D78, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BF60_3F7DC0, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BFA8_3F7E08, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900BFF0_3F7E50, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 },
{ D_0900C038_3F7E98, X_VAR, Y_VAR, 64, 64 },
{ NULL, 0, 0, 0, 0 }
};
void chapter_change_init(EffectInstance* effect);

View File

@ -4,16 +4,6 @@
#include "model.h"
#include "sprite/player.h"
#if VERSION_IQUE
// TODO: remove if sections are split in iQue release
extern Addr entity_jan_iwa_ROM_START;
extern Addr entity_jan_iwa_ROM_END;
extern Addr entity_default_ROM_START;
extern Addr entity_default_ROM_END;
extern Addr entity_sbk_omo_ROM_START;
extern Addr entity_sbk_omo_ROM_END;
#endif
#ifdef SHIFT
extern Addr WorldEntityHeapBottom;
extern Addr WorldEntityHeapBase;

View File

@ -4,11 +4,6 @@
s32 msg_get_print_char_width(s32 character, s32 charset, s32 variation, f32 msgScale, s32 overrideCharWidth, u8 flags);
#if VERSION_IQUE
// TODO: remove when charset segment is split for iQue
extern Addr charset_standard_OFFSET;
#endif
extern MessageCharset* MsgCharsets[5];
extern PAL_BIN D_802F4560[80][8];
extern u8 filemenu_glyphBuffer[20][0x80];

View File

@ -3,11 +3,6 @@
#include "nu/nusys.h"
#include "ld_addrs.h"
#if VERSION_IQUE
// TODO: remove if section is split in iQue release
extern Addr icon_ROM_START;
#endif
#define MAX_HUD_CACHE_ENTRIES 192
typedef struct HudElementSize {
@ -1837,7 +1832,7 @@ void func_80143C48(s32 elemID, s32 arg1, s32 camID) {
if (elem->flags & HUD_ELEMENT_FLAG_FRONTUI || elem->drawSizePreset < 0 || !(elem->flags & HUD_ELEMENT_FLAG_80)) {
return;
}
render_hud_element(elem);
}
}

View File

@ -3,11 +3,6 @@
#include "sprite.h"
#include "imgfx.h"
#if VERSION_IQUE || VERSION_PAL
// TODO: remove if section is split in iQue release
extern Addr imgfx_data_ROM_START;
#endif
typedef union ImgFXIntVars {
s32 raw[2][4];
struct {

View File

@ -11,11 +11,6 @@
#include "sprite.h"
#include "sprite/player.h"
#if VERSION_IQUE
// TODO: remove if section is split in iQue release
extern Addr icon_ROM_START;
#endif
#define MAX_ITEM_ENTITIES 256
extern SparkleScript SparkleScript_Coin;
@ -734,7 +729,7 @@ s32 make_item_entity_at_player(s32 itemID, s32 category, s32 pickupMsgFlags) {
if (gItemTable[itemID].typeFlags & ITEM_TYPE_FLAG_ENTITY_FULLSIZE) {
item->flags = (item->flags | ITEM_ENTITY_FLAG_FULLSIZE) & ~ITEM_ENTITY_RESIZABLE;
}
if (ItemEntityAlternatingSpawn != 0) {
item->flags |= ITEM_ENTITY_FLAG_ODD_SPAWN_PARITY;
}

View File

@ -34,7 +34,11 @@ Gfx D_802A76E8_7A5628[] = {
gsSPDisplayList(D_802A4508_7A2448),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
#if VERSION_IQUE
gsSPVertex(&D_802A1218_79F158[0], 8, 0),
#else
gsSPVertex(&D_802A1398_79F2D8[0], 8, 0),
#endif
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
gsSPEndDisplayList(),
@ -90,7 +94,11 @@ Gfx D_802A7888_7A57C8[] = {
gsSPDisplayList(D_802A65F8_7A4538),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
#if VERSION_IQUE
gsSPVertex(&D_802A1098_79EFD8[0], 8, 0),
#else
gsSPVertex(&D_802A1198_79F0D8[0], 8, 0),
#endif
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
gsSPEndDisplayList(),
@ -140,13 +148,17 @@ Gfx D_802A79C0_7A5900[] = {
Gfx D_802A7A28_7A5968[] = {
gsSPSetLights1(level_up_lights),
#if !VERSION_IQUE
gsSPDisplayList(D_802A79C0_7A5900),
gsSPDisplayList(D_802A7958_7A5898),
#endif
gsSPDisplayList(D_802A78F0_7A5830),
gsSPDisplayList(D_802A7888_7A57C8),
#if !VERSION_IQUE
gsSPDisplayList(D_802A7820_7A5760),
gsSPDisplayList(D_802A77B8_7A56F8),
gsSPDisplayList(D_802A7750_7A5690),
#endif
gsSPDisplayList(D_802A76E8_7A5628),
gsSPEndDisplayList(),
};

119
src/msg.c
View File

@ -3,21 +3,8 @@
#include "message_ids.h"
#include "sprite.h"
#if !VERSION_IQUE
// TODO: remove if assets are dumped in iQue release
#include "charset/postcard.png.h"
#include "charset/letter_content_1.png.h"
#endif
#if VERSION_IQUE
// TODO: remove if section is split in iQue release
extern Addr charset_ROM_START;
extern Addr charset_standard_OFFSET;
extern Addr charset_standard_pal_OFFSET;
extern Addr charset_title_OFFSET;
extern Addr charset_credits_pal_OFFSET;
extern Addr charset_subtitle_OFFSET;
#endif
enum RewindArrowStates {
REWIND_ARROW_STATE_INIT = 0,
@ -104,6 +91,9 @@ SHIFT_BSS MessageDrawState* msg_drawState;
SHIFT_BSS IMG_BIN D_80159B50[0x200];
SHIFT_BSS PAL_BIN D_8015C7E0[0x10];
SHIFT_BSS MessagePrintState gMessagePrinters[3];
#if VERSION_IQUE
SHIFT_BSS IMG_BIN D_801544A0[120][128];
#endif
extern s16 MsgStyleVerticalLineOffsets[];
@ -697,7 +687,7 @@ extern s32 MsgLetterRasterOffsets[];
extern s32 MsgLetterPaletteOffsets[];
extern MsgVoice MsgVoices[];
#if VERSION_IQUE || VERSION_PAL
#if VERSION_PAL
INCLUDE_ASM(s32, "msg", msg_copy_to_print_buffer);
#else
void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
@ -952,6 +942,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
printer->delayFlags |= MSG_DELAY_FLAG_1;
printer->lineCount = 0;
break;
#if !VERSION_IQUE
case MSG_READ_FUNC_SIZE:
*printBuf++ = MSG_CHAR_PRINT_FUNCTION;
*printBuf++ = MSG_PRINT_FUNC_SIZE;
@ -964,6 +955,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
*printBuf++ = MSG_PRINT_FUNC_SIZE_RESET;
printer->sizeScale = 1.0f;
break;
#endif
case MSG_READ_FUNC_SPEED:
printer->printDelayTime = *srcBuf++;
printer->charsPerChunk = *srcBuf++;
@ -1303,6 +1295,13 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
default:
*printBuf++ = c;
arg1--;
#if VERSION_IQUE
if (c >= MSG_CHAR_MULTIBYTE_FIRST && c <= MSG_CHAR_MULTIBYTE_LAST) {
*printBuf++ = nextArg;
srcBuf++;
arg1--;
}
#endif
if (printer->fontVariant == 0 && c == MSG_CHAR_UNK_C3) {
printer->stateFlags &= ~MSG_STATE_FLAG_SPEAKING;
} else {
@ -3693,20 +3692,20 @@ void msg_reset_gfx_state(void) {
gSPDisplayList(gMainGfxPos++, D_8014C500);
}
#if VERSION_IQUE
#if VERSION_IQUE && !defined(NON_MATCHING)
INCLUDE_ASM(s32, "msg", msg_draw_char);
#else
void msg_draw_char(MessagePrintState* printer, MessageDrawState* drawState, s32 charIndex, s32 palette, s32 posX, s32 posY) {
MessageCharset* messageCharset = MsgCharsets[drawState->font];
s32 fontVariant = drawState->fontVariant;
MessageCharset* messageCharset;
s32 fontVariant;
s32 clipUly = drawState->clipY[0];
s32 clipLry = drawState->clipY[1];
s32 clipUlx = drawState->clipX[0];
s32 clipLrx = drawState->clipX[1];
s32 clipUly;
s32 clipLry;
s32 clipUlx;
s32 clipLrx;
s32 rightPosX = posX + (s32)(drawState->charScale.x * messageCharset->texSize.x);
s32 rightPosY = posY + (s32)(drawState->charScale.y * messageCharset->texSize.y);
s32 rightPosX;
s32 rightPosY;
f32 clipOffset;
s32 texOffsetX;
@ -3714,6 +3713,27 @@ void msg_draw_char(MessagePrintState* printer, MessageDrawState* drawState, s32
s32 ulx, uly, lrx, lry;
s32 dsdx, dtdy;
#if VERSION_IQUE
if (charIndex == MSG_CHAR_ZH_RANK) {
load_font_data(charset_standard_OFFSET + 0x19F80, sizeof(D_801544A0[0]), D_801544A0[0]);
} else if (charIndex == MSG_CHAR_ZH_CHAPTER) {
load_font_data(charset_standard_OFFSET + 0x1A000, sizeof(D_801544A0[0]), D_801544A0[1]);
} else if (charIndex >= MSG_CHAR_ZH_START) {
load_font_data(charset_standard_OFFSET + charIndex, sizeof(D_801544A0[0]), D_801544A0[D_8014AD24]);
}
#endif
messageCharset = MsgCharsets[drawState->font];
fontVariant = drawState->fontVariant;
clipUly = drawState->clipY[0];
clipLry = drawState->clipY[1];
clipUlx = drawState->clipX[0];
clipLrx = drawState->clipX[1];
rightPosX = posX + (s32)(drawState->charScale.x * messageCharset->texSize.x);
rightPosY = posY + (s32)(drawState->charScale.y * messageCharset->texSize.y);
if (posX >= clipLrx || posY >= clipLry || rightPosX <= clipUlx || rightPosY <= clipUly) {
return;
}
@ -3760,17 +3780,56 @@ void msg_draw_char(MessagePrintState* printer, MessageDrawState* drawState, s32
}
if (messageCharset->texSize.x >= 16 && messageCharset->texSize.x % 16 == 0) {
gDPLoadTextureBlock_4b(gMainGfxPos++, messageCharset->rasters[fontVariant].raster + messageCharset->charRasterSize * charIndex, G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
#if VERSION_IQUE
if (charIndex == MSG_CHAR_ZH_RANK || charIndex == MSG_CHAR_ZH_CHAPTER) {
gDPLoadTextureBlock_4b(gMainGfxPos++, D_801544A0[charIndex - MSG_CHAR_ZH_RANK], G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
} else if (charIndex >= MSG_CHAR_ZH_START) {
gDPLoadTextureBlock_4b(gMainGfxPos++, D_801544A0[D_8014AD24], G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
} else {
#endif
gDPLoadTextureBlock_4b(gMainGfxPos++, messageCharset->rasters[fontVariant].raster + messageCharset->charRasterSize * charIndex, G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
#if VERSION_IQUE
}
#endif
} else {
gDPLoadTextureTile_4b(gMainGfxPos++, messageCharset->rasters[fontVariant].raster + messageCharset->charRasterSize * charIndex, G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y,
0, 0, messageCharset->texSize.x - 1, messageCharset->texSize.y - 1, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
#if VERSION_IQUE
if (charIndex == MSG_CHAR_ZH_RANK || charIndex == MSG_CHAR_ZH_CHAPTER) {
gDPLoadTextureTile_4b(gMainGfxPos++, D_801544A0[charIndex - MSG_CHAR_ZH_RANK], G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y,
0, 0, messageCharset->texSize.x - 1, messageCharset->texSize.y - 1, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
} else if (charIndex >= MSG_CHAR_ZH_START) {
gDPLoadTextureTile_4b(gMainGfxPos++, D_801544A0[D_8014AD24], G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y,
0, 0, messageCharset->texSize.x - 1, messageCharset->texSize.y - 1, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
} else {
#endif
gDPLoadTextureTile_4b(gMainGfxPos++, messageCharset->rasters[fontVariant].raster + messageCharset->charRasterSize * charIndex, G_IM_FMT_CI,
messageCharset->texSize.x, messageCharset->texSize.y,
0, 0, messageCharset->texSize.x - 1, messageCharset->texSize.y - 1, 0,
G_TX_WRAP, G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
#if VERSION_IQUE
}
#endif
}
gSPTextureRectangle(gMainGfxPos++, ulx * 4, uly * 4, lrx * 4, lry * 4, G_TX_RENDERTILE, texOffsetX, texOffsetY,
dsdx, dtdy);
#if VERSION_IQUE
if (charIndex >= MSG_CHAR_ZH_START) {
D_8014AD24 = (D_8014AD24 + 1) % 120;
if (D_8014AD24 == 0) {
D_8014AD24 = 2;
}
}
#endif
}
#endif

View File

@ -117,6 +117,9 @@ u8 MsgCharWidthNormal[] = {
[MSG_CHAR_UPPER_I_UMLAUT] 8,
[MSG_CHAR_UPPER_N_TILDE] 9,
[MSG_CHAR_UPPER_O_GRAVE] 9,
#if VERSION_IQUE
[MSG_CHAR_UPPER_O_ACUTE ... MSG_CHAR_BUTTON_C_LEFT] = 18,
#else
[MSG_CHAR_UPPER_O_ACUTE] 9,
[MSG_CHAR_UPPER_O_CIRCUMFLEX] 9,
[MSG_CHAR_UPPER_O_UMLAUT] 9,
@ -166,6 +169,7 @@ u8 MsgCharWidthNormal[] = {
[MSG_CHAR_BUTTON_C_UP] 13,
[MSG_CHAR_BUTTON_C_DOWN] 13,
[MSG_CHAR_BUTTON_C_LEFT] 13,
#endif
[MSG_CHAR_BUTTON_C_RIGHT] 13,
[MSG_CHAR_BUTTON_START] 16,
[MSG_CHAR_DOUBLE_QUOTE_OPEN] 9,
@ -309,16 +313,32 @@ MessageCharset* MsgCharsets[] = {
NULL
};
s32 MsgLetterRasterOffsets[] = {
0x0000D178, 0x0000ED78, 0x00010978, 0x00012578,
0x00014178, 0x00015D78, 0x00017978, 0x00019578,
0x0001B178, 0x0001CD78, 0x0001E978, 0x00020578,
u8 *MsgLetterRasterOffsets[] = {
charset_letter_content_1_OFFSET,
charset_letter_content_2_OFFSET,
charset_letter_content_3_OFFSET,
charset_letter_content_4_OFFSET,
charset_letter_content_5_OFFSET,
charset_letter_content_6_OFFSET,
charset_letter_content_7_OFFSET,
charset_letter_content_8_OFFSET,
charset_letter_content_9_OFFSET,
charset_letter_content_10_OFFSET,
charset_letter_content_11_OFFSET,
charset_letter_content_12_OFFSET,
};
// TODO: palette offsets
s32 MsgLetterPaletteOffsets[] = {
#if VERSION_IQUE
0x00058890, 0x0005A490, 0x0005C090, 0x0005DC90,
0x0005F890, 0x00061490, 0x00063090, 0x00064C90,
0x00066890, 0x00068490, 0x0006A090, 0x0006BC90,
#else
0x0000EB78, 0x00010778, 0x00012378, 0x00013F78,
0x00015B78, 0x00017778, 0x00019378, 0x0001AF78,
0x0001CB78, 0x0001E778, 0x00020378, 0x00021F78,
#endif
};
MsgVoice MsgVoices[] = {

View File

@ -78,7 +78,10 @@ unsigned char ui_msg_palettes[16][32] = {
BSS IMG_BIN MsgCharImgTitle[0xF60];
BSS IMG_BIN MsgCharImgNormal[0x5100];
BSS IMG_BIN MsgCharImgSubtitle[0xB88];
BSS char MSG_unused[8];
BSS PAL_BIN D_802F4560[80][8];
BSS PAL_BIN D_802F4560[80][8]
#if !VERSION_IQUE
ALIGNED(16)
#endif
;
MATCHING_BSS(0x6DA0);

114
ver/ique/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 PlayerNormalYaw
.space 4
dlabel ISpyNotificationCallback
.space 4
dlabel TalkNotificationCallback
.space 4
dlabel gSpinHistoryBufferPos
.space 4
dlabel D_8010C948
.space 4
dlabel NpcHitQueryBehindRightY
.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 NpcHitQueryBehindCollider
.space 4
dlabel PeachDisguiseNpcIndex
.space 4
dlabel NpcHitQueryAheadY
.space 4
dlabel NpcHitQueryBehindLeftY
.space 4
dlabel NpcHitQueryColliderID
.space 4
dlabel JumpedOnSwitchZ
.space 4
dlabel PlayerRunStateTime
.space 4
dlabel D_8010C984
.space 4
dlabel D_8010C988
.space 4
dlabel NpcHitQueryAheadCollider
.space 4
dlabel PlayerNormalPitch
.space 4
dlabel D_8010C994
.space 0x0000000c
dlabel PlayerYInterpUpdateDelay
.space 4
dlabel D_8010C9A4
.space 0x0000000c
dlabel D_8010C9B0
.space 4
dlabel D_8010C9B4
.space 0x0000000c
#endif

225
ver/ique/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 PopupMenu_WasStatusBarIgnoringChanges
.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 gStatusBar
.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

@ -18,8 +18,8 @@ glabel msg_draw_char
/* C1668 8012A788 2402033F */ addiu $v0, $zero, 0x33F
/* C166C 8012A78C 16420007 */ bne $s2, $v0, .LIQUE_8012A7AC
/* C1670 8012A790 AFBF0024 */ sw $ra, 0x24($sp)
/* C1674 8012A794 3C040002 */ lui $a0, %hi(D_19F80)
/* C1678 8012A798 24849F80 */ addiu $a0, $a0, %lo(D_19F80)
/* C1674 8012A794 3C040002 */ lui $a0, %hi(charset_standard_OFFSET + 0x19F80)
/* C1678 8012A798 24849F80 */ addiu $a0, $a0, %lo(charset_standard_OFFSET + 0x19F80)
/* C167C 8012A79C 3C068015 */ lui $a2, %hi(D_801544A0)
/* C1680 8012A7A0 24C644A0 */ addiu $a2, $a2, %lo(D_801544A0)
/* C1684 8012A7A4 0804AA00 */ j .LIQUE_8012A800
@ -28,10 +28,10 @@ glabel msg_draw_char
/* C168C 8012A7AC 24020340 */ addiu $v0, $zero, 0x340
/* C1690 8012A7B0 16420007 */ bne $s2, $v0, .LIQUE_8012A7D0
/* C1694 8012A7B4 2A4200A6 */ slti $v0, $s2, 0xA6
/* C1698 8012A7B8 3C040002 */ lui $a0, %hi(D_1A000)
/* C169C 8012A7BC 2484A000 */ addiu $a0, $a0, %lo(D_1A000)
/* C16A0 8012A7C0 3C068015 */ lui $a2, %hi(D_80154520)
/* C16A4 8012A7C4 24C64520 */ addiu $a2, $a2, %lo(D_80154520)
/* C1698 8012A7B8 3C040002 */ lui $a0, %hi(charset_standard_OFFSET + 0x1A000)
/* C169C 8012A7BC 2484A000 */ addiu $a0, $a0, %lo(charset_standard_OFFSET + 0x1A000)
/* C16A0 8012A7C0 3C068015 */ lui $a2, %hi(D_801544A0 + 0x80)
/* C16A4 8012A7C4 24C64520 */ addiu $a2, $a2, %lo(D_801544A0 + 0x80)
/* C16A8 8012A7C8 0804AA00 */ j .LIQUE_8012A800
/* C16AC 8012A7CC 24050080 */ addiu $a1, $zero, 0x80
.LIQUE_8012A7D0:
@ -238,8 +238,8 @@ glabel msg_draw_char
/* C19A0 8012AAC0 3C02FD50 */ lui $v0, (0xFD500000 >> 16)
/* C19A4 8012AAC4 3C05800A */ lui $a1, %hi(gMainGfxPos)
/* C19A8 8012AAC8 24A59244 */ addiu $a1, $a1, %lo(gMainGfxPos)
/* C19AC 8012AACC 3C038014 */ lui $v1, %hi(D_8013A520)
/* C19B0 8012AAD0 2463A520 */ addiu $v1, $v1, %lo(D_8013A520)
/* C19AC 8012AACC 3C038014 */ lui $v1, %hi(D_801544A0 - 0x19F80)
/* C19B0 8012AAD0 2463A520 */ addiu $v1, $v1, %lo(D_801544A0 - 0x19F80)
/* C19B4 8012AAD4 8CA40000 */ lw $a0, 0x0($a1)
/* C19B8 8012AAD8 3C080700 */ lui $t0, (0x7000000 >> 16)
/* C19BC 8012AADC 0080302D */ daddu $a2, $a0, $zero
@ -461,8 +461,8 @@ glabel msg_draw_char
/* C1CDC 8012ADFC 3C06800A */ lui $a2, %hi(gMainGfxPos)
/* C1CE0 8012AE00 24C69244 */ addiu $a2, $a2, %lo(gMainGfxPos)
/* C1CE4 8012AE04 8CC50000 */ lw $a1, 0x0($a2)
/* C1CE8 8012AE08 3C048014 */ lui $a0, %hi(D_8013A520)
/* C1CEC 8012AE0C 2484A520 */ addiu $a0, $a0, %lo(D_8013A520)
/* C1CE8 8012AE08 3C048014 */ lui $a0, %hi(D_801544A0 - 0x19F80)
/* C1CEC 8012AE0C 2484A520 */ addiu $a0, $a0, %lo(D_801544A0 - 0x19F80)
/* C1CF0 8012AE10 00A0382D */ daddu $a3, $a1, $zero
/* C1CF4 8012AE14 24A50008 */ addiu $a1, $a1, 0x8
/* C1CF8 8012AE18 ACC50000 */ sw $a1, 0x0($a2)

View File

@ -5109,8 +5109,8 @@
#define MSG_EntityTattle_FloorSwitch_TornadoJump MESSAGE_ID(0x1B, 0x00F)
#define MSG_EntityTattle_Pipe MESSAGE_ID(0x1B, 0x010)
#define MSG_EntityTattle_PadLock MESSAGE_ID(0x1B, 0x011)
#define MSG_EntityTattle_0012 MESSAGE_ID(0x1B, 0x012)
#define MSG_EntityTattle_Sign MESSAGE_ID(0x1B, 0x013)
#define MSG_EntityTattle_SignPost MESSAGE_ID(0x1B, 0x012)
#define MSG_EntityTattle_ArrowSign MESSAGE_ID(0x1B, 0x013)
#define MSG_EntityTattle_BombableRock MESSAGE_ID(0x1B, 0x014)
#define MSG_EntityTattle_Chest MESSAGE_ID(0x1B, 0x015)
#define MSG_EntityTattle_EmptyChest MESSAGE_ID(0x1B, 0x016)
@ -5128,7 +5128,7 @@
#define MSG_EntityTattle_Munchlesia MESSAGE_ID(0x1B, 0x022)
#define MSG_EntityTattle_SpinningFlower MESSAGE_ID(0x1B, 0x023)
#define MSG_EntityTattle_BulbBush MESSAGE_ID(0x1B, 0x024)
#define MSG_EntityTattle_25 MESSAGE_ID(0x1B, 0x025)
#define MSG_EntityTattle_Interact MESSAGE_ID(0x1B, 0x025)
#define MSG_EnemyTattle_Goomba MESSAGE_ID(0x1C, 0x000)
#define MSG_EnemyTattle_SpikedGoomba MESSAGE_ID(0x1C, 0x001)
#define MSG_EnemyTattle_Paragoomba MESSAGE_ID(0x1C, 0x002)
@ -5411,8 +5411,8 @@
#define MSG_Menus_StarEnergyMaxedOut MESSAGE_ID(0x1D, 0x081)
#define MSG_Menus_AttackUp MESSAGE_ID(0x1D, 0x082)
#define MSG_Menus_DefenseUp MESSAGE_ID(0x1D, 0x083)
#define MSG_Menus_0084 MESSAGE_ID(0x1D, 0x084)
#define MSG_Menus_0085 MESSAGE_ID(0x1D, 0x085)
#define MSG_Menus_HealOne MESSAGE_ID(0x1D, 0x084)
#define MSG_Menus_HealAll MESSAGE_ID(0x1D, 0x085)
#define MSG_Menus_EnemyTransparent MESSAGE_ID(0x1D, 0x086)
#define MSG_Menus_EnemyElectricCharge MESSAGE_ID(0x1D, 0x087)
#define MSG_Menus_PlayerDazed MESSAGE_ID(0x1D, 0x088)
@ -6598,9 +6598,9 @@
#define MSG_ItemShopDesc_Refund MESSAGE_ID(0x24, 0x09D)
#define MSG_ItemShopDesc_ISpy MESSAGE_ID(0x24, 0x09E)
#define MSG_ItemShopDesc_Peekaboo MESSAGE_ID(0x24, 0x09F)
#define MSG_ItemShopDesc_Jump MESSAGE_ID(0x24, 0x0A0)
#define MSG_ItemShopDesc_SpinJump MESSAGE_ID(0x24, 0x0A1)
#define MSG_ItemShopDesc_TornadoJump MESSAGE_ID(0x24, 0x0A2)
#define MSG_ItemShopDesc_Boots MESSAGE_ID(0x24, 0x0A0)
#define MSG_ItemShopDesc_SuperBoots MESSAGE_ID(0x24, 0x0A1)
#define MSG_ItemShopDesc_UltraBoots MESSAGE_ID(0x24, 0x0A2)
#define MSG_ItemShopDesc_Hammer MESSAGE_ID(0x24, 0x0A3)
#define MSG_ItemShopDesc_SuperHammer MESSAGE_ID(0x24, 0x0A4)
#define MSG_ItemShopDesc_UltraHammer MESSAGE_ID(0x24, 0x0A5)
@ -6866,9 +6866,9 @@
#define MSG_ItemFullDesc_Refund MESSAGE_ID(0x25, 0x09D)
#define MSG_ItemFullDesc_ISpy MESSAGE_ID(0x25, 0x09E)
#define MSG_ItemFullDesc_Peekaboo MESSAGE_ID(0x25, 0x09F)
#define MSG_ItemFullDesc_Jump MESSAGE_ID(0x25, 0x0A0)
#define MSG_ItemFullDesc_SpinJump MESSAGE_ID(0x25, 0x0A1)
#define MSG_ItemFullDesc_TornadoJump MESSAGE_ID(0x25, 0x0A2)
#define MSG_ItemFullDesc_Boots MESSAGE_ID(0x25, 0x0A0)
#define MSG_ItemFullDesc_SuperBoots MESSAGE_ID(0x25, 0x0A1)
#define MSG_ItemFullDesc_UltraBoots MESSAGE_ID(0x25, 0x0A2)
#define MSG_ItemFullDesc_Hammer MESSAGE_ID(0x25, 0x0A3)
#define MSG_ItemFullDesc_SuperHammer MESSAGE_ID(0x25, 0x0A4)
#define MSG_ItemFullDesc_UltraHammer MESSAGE_ID(0x25, 0x0A5)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff