26 { 236, 0, 0, 0 }, { 204, 0, 0, 0 }, { 238, 0, 0, 0 }, { 248, 0, 0, 0 }, { 252, 0, 0, 0 },
27 { 252, 0, 0, 0 }, { 252, 0, 0, 0 }, { 252, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 },
28 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
29 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
30 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
31 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
32 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
33 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
34 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
35 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
36 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
37 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
38 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
39 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
40 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
41 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
42 { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 }, { 248, 0, 0, 0 },
62 { 3.5f, -1.0f, 0.0f },
63 { 3.0f, -2.0f, 0.0f },
64 { 2.0f, -3.0f, 0.0f },
65 { 1.0f, -4.0f, 0.0f },
66 { 0.0f, -4.5f, 0.0f },
327 if (!
popup->active) {
389 popup->messageIndex = 1;
390 popup->active |= 0x10;
417 bonkData->startupTime = startupTime;
537 if (
popup->active != 0 && (
popup->active & 0x10)) {
579 popup->messageIndex = messageIndex;
580 popup->duration = duration;
604 popup->messageIndex = messageIndex;
605 popup->duration = duration;
656 s32 actionCommandMode;
658 switch (
popup->messageIndex) {
710 switch (
popup->showMsgState) {
724 if (
popup->duration != 0) {
768 switch (
popup->showMsgState) {
772 switch (
popup->messageIndex) {
920 switch (
popup->messageIndex) {
988 if (
popup->duration != -1) {
989 popup->duration = 30;
1016 if (
popup->duration == -1) {
1020 if (
popup->duration != 0) {
1025 switch (
popup->messageIndex) {
1074 switch (
popup->showMsgState) {
1085 popup->duration = 0;
1088 if (
popup->duration != 0) {
1109 switch (
popup->showMsgState) {
1111 switch (
popup->messageIndex) {
1151 if (
popup->duration != 0) {
1170#define TIP_X_HLT1 44
1171#define TIP_X_HLT2 67
1172#define TIP_X_PBST 124
1175#define TIP_X_HLA1 43
1176#define TIP_X_HLA2 177
1177#define TIP_X_PBS1 105
1178#define TIP_X_PBS2 83
1179#define TIP_X_PBS3 127
1180#define TIP_X_PWT1 40
1181#define TIP_X_PWT2 106
1183#define TIP_X_MB2 116
1185#define TIP_X_HTR1 39
1186#define TIP_X_HTR2 55
1187#define TIP_X_MTA1 53
1188#define TIP_X_MTA2 55
1189#define TIP_X_MTA3 108
1190#define TIP_X_BF_RD 66
1191#define TIP_Y_HLT2 31
1192#define TIP_Y_HLA2 17
1193#define TIP_Y_PBS1 14
1194#define TIP_Y_PBS2 14
1195#define TIP_Y_PBS3 14
1196#define TIP_Y_PWT1 14
1197#define TIP_Y_HTR1 31
1198#define TIP_Y_MTA1 14
1199#define TIP_Y_MTA2 32
1200#define TIP_Y_BF_RD 14
1201#define TIP_SCALE1 0.6f
1202#define TIP_SCALE2 0.7f
1204#define TIP_X_PRL 115
1205#define TIP_X_HLT1 29
1206#define TIP_X_HLT2 129
1207#define TIP_X_PBST 126
1210#define TIP_X_HLA1 29
1211#define TIP_X_HLA2 128
1212#define TIP_X_PBS1 111
1213#define TIP_X_PBS2 88
1214#define TIP_X_PBS3 134
1215#define TIP_X_PWT1 28
1216#define TIP_X_PWT2 160
1220#define TIP_X_HTR1 126
1221#define TIP_X_HTR2 28
1222#define TIP_X_MTA1 29
1223#define TIP_X_MTA2 153
1224#define TIP_X_MTA3 68
1225#define TIP_X_BF_RD 29
1226#define TIP_Y_HLT2 13
1227#define TIP_Y_HLA2 15
1228#define TIP_Y_PBS1 13
1229#define TIP_Y_PBS2 13
1230#define TIP_Y_PBS3 13
1231#define TIP_Y_PWT1 13
1232#define TIP_Y_HTR1 13
1233#define TIP_Y_MTA1 13
1234#define TIP_Y_MTA2 15
1235#define TIP_Y_BF_RD 13
1236#define TIP_SCALE1 0.8f
1237#define TIP_SCALE2 0.8f
1240#define TIP_X_HLT1 55
1241#define TIP_X_HLT2 73
1242#define TIP_X_PBST 64
1245#define TIP_X_HLA1 65
1246#define TIP_X_HLA2 146
1247#define TIP_X_PBS1 86
1248#define TIP_X_PBS2 64
1249#define TIP_X_PBS3 108
1250#define TIP_X_PWT1 105
1251#define TIP_X_PWT2 65
1254#define TIP_X_HTT 124
1255#define TIP_X_HTR1 56
1256#define TIP_X_HTR2 53
1257#define TIP_X_MTA1 107
1258#define TIP_X_MTA2 210
1259#define TIP_X_MTA3 56
1260#define TIP_X_BF_RD 64
1261#define TIP_Y_HLT2 31
1262#define TIP_Y_HLA2 32
1263#define TIP_Y_PBS1 13
1264#define TIP_Y_PBS2 13
1265#define TIP_Y_PBS3 13
1266#define TIP_Y_PWT1 13
1267#define TIP_Y_HTR1 31
1268#define TIP_Y_MTA1 13
1269#define TIP_Y_MTA2 15
1270#define TIP_Y_BF_RD 13
1271#define TIP_SCALE1 0.8f
1272#define TIP_SCALE2 0.8f
1289 switch (
popup->messageIndex) {
1423 switch (
popup->messageIndex) {
1634 switch (
popup->messageIndex) {
1661 if (
popup->needsInit) {
1664 posX = 160 - (msgWidth / 2);
1675 if (
popup->needsInit) {
1678 posX = 160 - (msgWidth / 2);
1706 if (
popup->needsInit) {
1709 posX = 160 - (msgWidth / 2);
1734 if (
popup->needsInit) {
1737 posX = 160 - (msgWidth / 2);
1752 if (
popup->needsInit) {
1755 posX = 160 - (msgWidth / 2);
1775 if (
popup->needsInit) {
1778 posX = 160 - (msgWidth / 2);
1800 if (
popup->needsInit) {
1807 posX = 160 - (msgWidth / 2);
1815 if (
popup->needsInit) {
1822 posX = 160 - (msgWidth / 2);
1831 switch (
popup->messageIndex) {
1878 if (
popup->needsInit) {
1884 posX = 160 - (msgWidth / 2);
1899 if (
popup->needsInit) {
1902 posX = 160 - (msgWidth / 2);
1919 if (
popup->needsInit) {
1926 posX = 160 - (msgWidth / 2);
1935 if (
popup->needsInit) {
1942 posX = 160 - (msgWidth / 2);
1971 if (
popup->needsInit) {
1977 posX = 160 - (msgWidth / 2);
2070 y -= actor->
size.
y / 2;
BSS s32 PopupMenu_SelectedIndex
HudScript HES_MashBButton1
HudScript HES_TimingReady
HudScript HES_StickNeutral
HudScript HES_MashAButton
HudScript HES_PressAButton
HudScript HES_StickMashLeft
HudScript HES_AButtonDown
HudScript HES_PressBButton
HudScript HES_PressCDownButton
PopupMessageCallback updateFunc
PopupMessageCallback renderUIFunc
struct ActorPart * partsTable
PopupMessageCallback renderWorldFunc
#define ASSERT(condition)
s32 load_entity_model(EntityModelScript *cmdList)
@ ENTITY_MODEL_FLAG_HIDDEN
@ BTL_MSG_STATE_POPUP_DISPOSE
@ BTL_MSG_STATE_POPUP_POST_DELAY
@ BTL_MSG_STATE_ERROR_PRE_DELAY
@ BTL_MSG_STATE_DISABLED_DELAY
@ BTL_MSG_STATE_ACTION_TIP_DELAY
@ BTL_MSG_STATE_ERROR_POST_DELAY
@ BTL_MSG_STATE_ERROR_DISPOSE
@ BTL_MSG_STATE_POPUP_PRE_DELAY
@ BTL_MSG_STATE_ERROR_DELAY
@ BTL_MSG_STATE_POPUP_DELAY
@ BTL_MSG_STATE_ACTION_TIP_DISPOSE
@ BTL_MSG_JUMP_DISABLED_1
@ BTL_MSG_ACTION_TIP_HOLD_THEN_TAP
@ BTL_MSG_ACTION_TIP_UNUSED_2
@ BTL_MSG_ACTION_TIP_MOVE_TO_AIM
@ BTL_MSG_STAR_POWER_MAXED
@ BTL_MSG_ACTION_TIP_UNUSED_3
@ BTL_MSG_CHARGE_HAMMER_MORE
@ BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN
@ BTL_MSG_PLAYER_POISONED
@ BTL_MSG_TURBO_CHARGE_BEGIN
@ BTL_MSG_TURBO_CHARGE_END
@ BTL_MSG_ACTION_TIP_MASH_BUTTON
@ BTL_MSG_PLAYER_PARALYZED
@ BTL_MSG_ACTION_TIP_NOT_USED_3
@ BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED
@ BTL_MSG_HAMMER_DISABLED_3
@ BTL_MSG_CANT_SWITCH_UNUSED
@ BTL_MSG_ACTION_TIP_NOT_USED_1
@ BTL_MSG_ENEMY_CANT_MOVE
@ BTL_MSG_WATER_BLOCK_BEGIN
@ BTL_MSG_CANT_MOVE_UNUSED
@ BTL_MSG_ACTION_TIP_UNUSED_4
@ BTL_MSG_ENEMY_PARALYZED
@ BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE
@ BTL_MSG_UNUSED_CLOUD_NINE
@ BTL_MSG_ACTION_TIP_NOT_USED_2
@ BTL_MSG_ACTION_TIP_BREAK_FREE
@ BTL_MSG_ACTION_TIP_UNUSED_1
@ BTL_MSG_LAST_ACTION_TIP
@ BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM
@ BTL_MSG_JUMP_DISABLED_3
@ BTL_MSG_CHILL_OUT_BEGIN
@ BTL_MSG_WATER_BLOCK_END
@ BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE
@ BTL_MSG_CANT_SELECT_NOW
@ BTL_MSG_ACTION_TIP_MASH_BOTH
@ BTL_MSG_FIRST_ACTION_TIP
@ BTL_MSG_CHARGE_JUMP_MORE
@ BTL_MSG_JUMP_DISABLED_2
@ BTL_MSG_PARTNER_INJURED
@ BTL_MSG_CHARGE_GOOMBARIO_MORE
@ BTL_MSG_CANT_SELECT_NOW_ALT
@ BTL_MSG_STAR_POWER_RECHARGED
@ BTL_MSG_NO_HAMMER_TARGET
@ BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING
@ BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING
@ BTL_MSG_CHARGE_GOOMBARIO
@ BTL_MSG_CLOUD_NINE_BEGIN
@ BTL_MSG_ENEMY_ELECTRIFIED
@ BTL_MSG_ACTION_TIP_REDUCE_DAMAGE
@ BTL_MSG_ENEMY_TRANSPARENT
@ BTL_MSG_ACTION_TIP_MASH_LEFT
@ BTL_MSG_HAMMER_DISABLED_1
@ BTL_MSG_PLAYER_TRANSPARENT
@ BTL_MSG_HAMMER_DISABLED_2
@ BTL_MSG_STAR_POWER_FILLED
@ WINDOW_UPDATE_SHOW_DARKENED
@ WINDOW_UPDATE_SHOW_TRANSPARENT
@ ACTOR_PART_FLAG_SKIP_SHOCK_EFFECT
@ ACTOR_PART_FLAG_INVISIBLE
s32 evt_get_variable(Evt *script, Bytecode var)
void draw_entity_model_A(s32, Mtx *)
void set_window_update(s32 panelID, s32)
void clear_entity_model_flags(s32 idx, s32 newFlags)
void set_entity_model_flags(s32 idx, s32 newFlags)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
void exec_entity_model_commandlist(s32 idx)
void set_message_int_var(s32 value, s32 index)
void set_message_text_var(s32 msgID, s32 index)
void bind_entity_model_setupGfx(s32 idx, void *setupGfxCallbackArg0, void(*fpSetupGfxCallback)(void *))
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, u8, void *drawContents, void *drawContentsArg, s8 parent)
void free_entity_model_by_index(s32 idx)
void * heap_malloc(s32 size)
s32 get_msg_lines(s32 messageID)
void hud_element_set_scale(s32 index, f32 scale)
void hud_element_set_alpha(s32 id, s32 opacity)
void hud_element_set_script(s32 id, HudScript *anim)
void hud_element_create_transform_B(s32 id)
void hud_element_draw_complex_hud_first(s32 hid)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
s32 hud_element_create(HudScript *anim)
Creates a new HUD element and returns its ID.
void hud_element_set_flags(s32 id, s32 flags)
Turns on the given flags.
void hud_element_draw_clipped(s32 id)
void hud_element_free(s32 id)
@ HUD_ELEMENT_FLAG_MANUAL_RENDER
@ HUD_ELEMENT_FLAG_FILTER_TEX
BattleStatus gBattleStatus