5#include "icon_offsets.h"
7#define HUD_ELEMENT_BATTLE_ID_MASK 0x800
235#define HS_PTR(sym) (s32)&sym
237#define hs_End HUD_ELEMENT_OP_End,
238#define hs_SetRGBA(time, image) HUD_ELEMENT_OP_SetRGBA, time, (s32)image,
239#define hs_SetCI(time, name) HUD_ELEMENT_OP_SetCI, time, (s32)name##_png, (s32)name##_pal,
240#define hs_SetCI_Explicit(time, raster, palette) HUD_ELEMENT_OP_SetCI, time, (s32)raster##_png, (s32)palette##_pal,
241#define hs_Restart HUD_ELEMENT_OP_Restart,
242#define hs_Loop HUD_ELEMENT_OP_Loop,
243#define hs_SetTileSize(size) HUD_ELEMENT_OP_SetTileSize, size,
244#define hs_SetSizesAutoScale(size1, size2) HUD_ELEMENT_OP_SetSizesAutoScale, size1, size2,
245#define hs_SetSizesFixedScale(size1, size2) HUD_ELEMENT_OP_SetSizesFixedScale, size1, size2,
246#define hs_SetVisible HUD_ELEMENT_OP_SetVisible,
247#define hs_SetHidden HUD_ELEMENT_OP_SetHidden,
248#define hs_AddTexelOffsetX(x) HUD_ELEMENT_OP_AddTexelOffsetX, x,
249#define hs_AddTexelOffsetY(y) HUD_ELEMENT_OP_AddTexelOffsetY, y,
250#define hs_SetTexelOffset(x, y) HUD_ELEMENT_OP_SetTexelOffset, x, y,
251#define hs_SetIcon(time, icon) HUD_ELEMENT_OP_SetImage, time, ICON_##icon##_raster, ICON_##icon##_palette, 0, 0,
252#define hs_SetScale(scale) HUD_ELEMENT_OP_SetScale, (s32)(scale * 65536.0f),
253#define hs_SetAlpha(alpha) HUD_ELEMENT_OP_SetAlpha, alpha,
254#define hs_RandomDelay(arg0, arg1) HUD_ELEMENT_OP_RandomDelay, arg0, arg1,
255#define hs_Delete HUD_ELEMENT_OP_Delete,
256#define hs_UseIA8 HUD_ELEMENT_OP_UseIA8,
257#define hs_SetCustomSize(arg0, arg1) HUD_ELEMENT_OP_SetCustomSize, arg0, arg1,
260#define hs_RandomRestart(max, cutoff) HUD_ELEMENT_OP_RandomRestart, max, cutoff,
262#define hs_op_15(arg0) HUD_ELEMENT_OP_op_15, arg0,
263#define hs_RandomBranch(args...) HUD_ELEMENT_OP_RandomBranch, (sizeof((s32[]){args})/sizeof(s32)), args,
264#define hs_SetFlags(arg0) HUD_ELEMENT_OP_SetFlags, arg0,
265#define hs_ClearFlags(arg0) HUD_ELEMENT_OP_ClearFlags, arg0,
266#define hs_PlaySound(arg0) HUD_ELEMENT_OP_PlaySound, arg0,
267#define hs_SetPivot(arg0, arg1) HUD_ELEMENT_OP_SetPivot, arg0, arg1,
270#define HES_TEMPLATE_CI_ENUM_SIZE(name, sizeX, sizeY) \
273 hs_SetTileSize(HUD_ELEMENT_SIZE_##sizeX##x##sizeY) \
281#define HES_TEMPLATE_CI_CUSTOM_SIZE(name, sizeX, sizeY) \
284 hs_SetCustomSize(sizeX, sizeY) \
293#define HES_TEMPLATE_ITEM(icon) \
296 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
298 hs_SetIcon(60, icon) \
303#define HES_TEMPLATE_ITEM_HEART_PIECE() \
306 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
308 hs_SetIcon(60, anim_heart_piece) \
313#define HES_TEMPLATE_ITEM_HEART() \
316 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
318 hs_SetIcon(10, anim_heart_0) \
319 hs_SetIcon(6, anim_heart_1) \
324#define HES_TEMPLATE_ITEM_STAR_POINT() \
327 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
329 hs_SetIcon(2, anim_sp_0) \
330 hs_SetIcon(2, anim_sp_1) \
331 hs_SetIcon(2, anim_sp_2) \
332 hs_SetIcon(2, anim_sp_3) \
333 hs_SetIcon(2, anim_sp_4) \
334 hs_SetIcon(2, anim_sp_5) \
335 hs_SetIcon(2, anim_sp_6) \
336 hs_SetIcon(2, anim_sp_7) \
341#define HES_TEMPLATE_ITEM_HEART_POINT() \
344 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
346 hs_SetIcon(8, anim_hp_0) \
347 hs_SetIcon(5, anim_hp_1) \
348 hs_SetIcon(8, anim_hp_2) \
353#define HES_TEMPLATE_ITEM_FLOWER_POINT() \
356 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
358 hs_SetIcon(8, anim_fp_0) \
359 hs_SetIcon(5, anim_fp_1) \
360 hs_SetIcon(8, anim_fp_2) \
365#define HES_TEMPLATE_ITEM_STAR_PIECE() \
368 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
370 hs_SetIcon(12, anim_star_piece_0) \
371 hs_SetIcon(4, anim_star_piece_1) \
372 hs_SetIcon(12, anim_star_piece_2) \
373 hs_SetIcon(4, anim_star_piece_1) \
378#define HES_TEMPLATE_ITEM_COIN() \
381 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
384 hs_SetIcon(3, anim_coin_0) \
385 hs_SetIcon(3, anim_coin_1) \
386 hs_SetIcon(3, anim_coin_4) \
387 hs_SetIcon(3, anim_coin_5) \
388 hs_SetIcon(3, anim_coin_6) \
389 hs_SetIcon(3, anim_coin_7) \
390 hs_SetIcon(3, anim_coin_8) \
391 hs_SetIcon(3, anim_coin_9) \
392 hs_RandomRestart(100, 70) \
394 hs_SetIcon(3, anim_coin_0) \
395 hs_SetIcon(2, anim_coin_1) \
396 hs_SetIcon(1, anim_coin_2) \
397 hs_SetIcon(1, anim_coin_3) \
398 hs_SetIcon(2, anim_coin_4) \
399 hs_SetIcon(3, anim_coin_5) \
400 hs_SetIcon(3, anim_coin_6) \
401 hs_SetIcon(3, anim_coin_7) \
402 hs_SetIcon(3, anim_coin_8) \
403 hs_SetIcon(3, anim_coin_9) \
408#define HES_COIN_SPARKLE(dx, dy) \
410 hs_SetTexelOffset(dx, dy) \
411 hs_SetIcon(1, anim_shimmer_0) \
412 hs_SetIcon(1, anim_shimmer_1) \
413 hs_SetIcon(1, anim_shimmer_2) \
414 hs_SetIcon(2, anim_shimmer_6) \
415 hs_SetIcon(1, anim_shimmer_2) \
416 hs_SetIcon(1, anim_shimmer_3) \
417 hs_SetIcon(1, anim_shimmer_6) \
418 hs_SetIcon(1, anim_shimmer_4) \
419 hs_SetIcon(1, anim_shimmer_6) \
420 hs_SetIcon(1, anim_shimmer_5) \
421 hs_SetIcon(16, anim_shimmer_6) \
429void hud_element_draw_rect(
HudElement* hudElement, s16 texSizeX, s16 texSizeY, s16 drawSizeX, s16 drawSizeY, s16 offsetX, s16 offsetY, s32 clamp, s32 dropShadow);
void func_80144258(s32 arg0)
s32 func_80144E4C(s32 id)
@ HUD_ELEMENT_OP_SetPivot
@ HUD_ELEMENT_OP_SetVisible
@ HUD_ELEMENT_OP_AddTexelOffsetY
@ HUD_ELEMENT_OP_SetScale
@ HUD_ELEMENT_OP_SetImage
@ HUD_ELEMENT_OP_RandomBranch
@ HUD_ELEMENT_OP_PlaySound
@ HUD_ELEMENT_OP_SetSizesAutoScale
@ HUD_ELEMENT_OP_SetTexelOffset
@ HUD_ELEMENT_OP_RandomDelay
@ HUD_ELEMENT_OP_SetFlags
@ HUD_ELEMENT_OP_SetAlpha
@ HUD_ELEMENT_OP_SetTileSize
@ HUD_ELEMENT_OP_SetSizesFixedScale
@ HUD_ELEMENT_OP_RandomRestart
@ HUD_ELEMENT_OP_SetCustomSize
@ HUD_ELEMENT_OP_AddTexelOffsetX
@ HUD_ELEMENT_OP_ClearFlags
@ HUD_ELEMENT_OP_SetHidden
void hud_element_create_transform_C(s32 id)
HudScript * wDisabledPartnerHudScripts[]
void hud_element_get_render_pos(s32 id, s32 *x, s32 *y)
void hud_element_set_aux_cache(void *base, s32 size)
void func_80144238(s32 arg0)
void func_80144218(s32 arg0)
void render_hud_element(HudElement *hudElement)
void hud_element_create_transform_A(s32 id)
void hud_element_set_scale(s32 index, f32 scale)
void hud_element_set_alpha(s32 id, s32 opacity)
HudScript * wPartnerHudScripts[]
void render_hud_elements_frontUI(void)
s32 hud_element_update(HudElement *hudElement)
HudElement * HudElementList[320]
void hud_element_draw_without_clipping(s32 id)
void hud_element_use_preset_size(s32 id, s8 size)
void hud_element_set_script(s32 id, HudScript *anim)
void update_hud_elements(void)
ShopSellPriceData * staticPriceList
void render_hud_elements_backUI(void)
ShopItemLocation * itemDataPositions
@ HUD_ELEMENT_FLAG_200000
@ HUD_ELEMENT_FLAG_ANTIALIASING
@ HUD_ELEMENT_FLAG_4000000
@ HUD_ELEMENT_FLAG_DELETE
@ HUD_ELEMENT_FLAG_DISABLED
@ HUD_ELEMENT_FLAG_SCALED
@ HUD_ELEMENT_FLAG_1000000
@ HUD_ELEMENT_FLAG_10000000
@ HUD_ELEMENT_FLAG_MEMOFFSET
@ HUD_ELEMENT_FLAG_FMT_IA8
@ HUD_ELEMENT_FLAG_CUSTOM_SIZE
@ HUD_ELEMENT_FLAG_FIXEDSCALE
@ HUD_ELEMENT_FLAG_REPEATED
@ HUD_ELEMENT_FLAG_INITIALIZED
@ HUD_ELEMENT_FLAG_80000000
@ HUD_ELEMENT_FLAG_8000000
@ HUD_ELEMENT_FLAG_DROP_SHADOW
@ HUD_ELEMENT_FLAG_2000000
@ HUD_ELEMENT_FLAG_40000000
@ HUD_ELEMENT_FLAG_NO_FOLD
@ HUD_ELEMENT_FLAG_ANIMATION_FINISHED
@ HUD_ELEMENT_FLAG_BATTLE
@ HUD_ELEMENT_FLAG_FRONTUI
@ HUD_ELEMENT_FLAG_FMT_CI4
@ HUD_ELEMENT_FLAG_TRANSFORM
@ HUD_ELEMENT_FLAG_FILTER_TEX
@ HUD_ELEMENT_FLAG_TRANSPARENT
HudScript HES_AnimatedHandPointer
void hud_element_set_render_depth(s32 id, s32 z)
void hud_element_create_transform_B(s32 id)
HudScript * hud_element_get_script(s32 id)
void hud_element_set_transform_pos(s32 id, f32 x, f32 y, f32 z)
void hud_element_clear_cache(void)
void hud_element_draw_rect(HudElement *hudElement, s16 texSizeX, s16 texSizeY, s16 drawSizeX, s16 drawSizeY, s16 offsetX, s16 offsetY, s32 clamp, s32 dropShadow)
void hud_element_draw_next(s32 id)
void func_80144278(s32 arg0)
void init_hud_element_list(void)
void hud_element_set_tint(s32 id, s32 r, s32 g, s32 b)
void create_standard_popup_menu(PopupMenu *)
void hud_element_set_transform_rotation(s32 id, f32 x, f32 y, f32 z)
HudTransform * hudTransform
@ HUD_ELEMENT_DRAW_FIRST_WITH_CLIPPING
@ HUD_ELEMENT_DRAW_FIRST_WITHOUT_CLIPPING
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
PartnerPopupProperties gPartnerPopupProperties[13]
void hud_element_set_transform_rotation_pivot(s32 id, s32 dx, s32 dy)
s32 hud_element_create(HudScript *anim)
Creates a new HUD element and returns its ID.
void hud_element_load_script(HudElement *hudElement, HudScript *anim)
HudElement * get_hud_element(s32 id)
void hud_element_set_flags(s32 id, s32 flags)
Turns on the given flags.
void hud_element_clear_flags(s32 id, s32 flags)
Turns off the given flags.
void func_80143C48(s32 arg0, s32 arg1, s32 camID)
void hud_element_draw_clipped(s32 id)
void hud_element_set_transform_scale(s32 id, f32 x, f32 y, f32 z)
void hud_element_free(s32 id)
s32 selectedStoreItemSlot
void render_transformed_hud_elements(void)
ShopItemData * staticInventory
void func_80144E74(s32 id, s32 arg1)
@ HUD_ELEMENT_SIZE_192x32
void hud_element_free_transform(s32 id)
void copy_world_hud_element_ref_to_battle(s32 worldID, s32 battleID)
void draw_hud_element_internal(s32 id, s32 clipMode)
void ALT_clear_hud_element_cache(void)