Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
hud_element.h
Go to the documentation of this file.
1#ifndef HUD_ELEMENT_H
2#define HUD_ELEMENT_H
3
4#include "common_structs.h"
5#include "icon_offsets.h"
6
7#define HUD_ELEMENT_BATTLE_ID_MASK 0x800
8
9typedef s32 HudScript[];
10
11enum {
40};
41
42enum {
68};
69
74 HUD_ELEMENT_FLAG_8 = 0x00000008, // unused
78 HUD_ELEMENT_FLAG_MANUAL_RENDER = 0x00000080, // user has responsibility for rendering
92 HUD_ELEMENT_FLAG_INVISIBLE = 0x00200000, // do not render
95 HUD_ELEMENT_VARIABLE_MASK = 0x0F000000, // users and scripts can read/write a value at this nibble
96 HUD_ELEMENT_FLAG_HIDDEN = 0x10000000, // same effect as HUD_ELEMENT_FLAG_INVISIBLE, allows two independent controls over visiblity
99};
100
101enum {
105};
106
107typedef struct HudCacheEntry {
108 /* 0x00 */ s32 id;
109 /* 0x04 */ u8* data;
110} HudCacheEntry; // size = 0x8;
111
112typedef struct PopupMenu {
113 /* 0x000 */ HudScript* ptrIcon[32];
114 /* 0x080 */ char unk_80[0x4];
115 /* 0x084 */ s32 nameMsg[32];
116 /* 0x104 */ char unk_104[0x4];
117 /* 0x108 */ s32 userIndex[32]; // used to map menu order to a user-ID for each item
118 /* 0x188 */ char unk_188[0x4];
119 /* 0x18C */ b32 enabled[32];
120 /* 0x20C */ char unk_20C[0x4];
121 /* 0x210 */ s32 value[32]; // sale price, etc
122 /* 0x290 */ char unk_290[0x4];
123 /* 0x294 */ s32 descMsg[32];
124 /* 0x314 */ char unk_314[0x4];
125 /* 0x318 */ s32 popupType;
126 /* 0x31C */ s32 dipMode;
127 /* 0x320 */ s32 titleNumber; // used to display 2/3 with double/triple dip
128 /* 0x324 */ s32 numEntries;
129 /* 0x328 */ s32 initialPos;
130 /* 0x32C */ s16 result;
131 /* 0x32E */ char unk_32E[0x2];
132#if VERSION_PAL
133 /* 0x330 */ s32 unk_330; // message ID
134 /* 0x334 */ s32 unk_334; // x offset
135 /* 0x338 */ s32 unk_338;
136 /* 0x33C */ s32 unk_33C; // message ID
137 /* 0x340 */ s32 unk_340;
138#endif
139} PopupMenu; // size = 0x330
140
141typedef struct Shop {
142 /* 0x000 */ s16 flags;
143 /* 0x002 */ s16 numItems;
145 /* 0x006 */ char unk_06[0x2];
146 /* 0x008 */ s32 curItemSlot;
148 /* 0x010 */ ShopOwner* owner;
152 /* 0x020 */ HudElemID costHID;
155 /* 0x358 */ s32 unk_358;
156} Shop; // size = 0x35C
157
158typedef struct IconHudScriptPair {
159 /* 0x00 */ HudScript* enabled;
160 /* 0x04 */ HudScript* disabled;
161} IconHudScriptPair; // size = 0x08
162
163typedef struct VtxRect {
165} VtxRect; // size = 0x40
166
167typedef struct HudTransform {
168 /* 0x00 */ s32 imgfxIdx;
169 /* 0x04 */ Vec3f pos;
170 /* 0x10 */ Vec3f rot;
171 /* 0x1C */ Vec3f scale;
172 /* 0x28 */ Vec2s pivot;
173 /* 0x30 */ VtxRect quadBuffers[3];
174} HudTransform; // size = 0xF0
175
176typedef struct HudElement {
177 /* 0x00 */ u32 flags;
178 /* 0x04 */ HudScript* readPos;
179 /* 0x08 */ HudScript* anim;
181 /* 0x10 */ IMG_PTR imageAddr;
183 /* 0x18 */ s32 memOffset;
185 /* 0x20 */ Vec2f deltaSize;
186 /* 0x28 */ Vec2f dynamicSize;
187 /* 0x30 */ f32 uniformScale;
188 /* 0x34 */ s32 widthScale;
189 /* 0x38 */ s32 heightScale;
190 /* 0x3C */ s16 renderPosX;
191 /* 0x3E */ s16 renderPosY;
194 /* 0x45 */ s8 drawSizePreset;
195 /* 0x46 */ s8 tileSizePreset;
196 /* 0x47 */ s8 updateTimer;
197 /* 0x48 */ u8 sizeX; /* screen size? */
198 /* 0x49 */ u8 sizeY; /* screen size? */
199 /* 0x4A */ u8 opacity;
200 /* 0x4B */ Color_RGB8 tint;
203} HudElement; // size = 0x54
204
206
209extern HudScript HES_Refund;
210#if VERSION_PAL
214#endif
216
218 /* 0x00 */ s32 nameMsg;
219 /* 0x04 */ s32 unk_04;
220 /* 0x08 */ s32 worldDescMsg;
221 /* 0x0C */ s32 battleDescMsg;
222} PartnerPopupProperties; // size = 0x10
223
227
228#define HS_PTR(sym) (s32)&sym
229
230#define hs_End HUD_ELEMENT_OP_End,
231#define hs_SetRGBA(time, image) HUD_ELEMENT_OP_SetRGBA, time, (s32)image,
232#define hs_SetCI(time, name) HUD_ELEMENT_OP_SetCI, time, (s32)name##_png, (s32)name##_pal,
233#define hs_SetCI_Explicit(time, raster, palette) HUD_ELEMENT_OP_SetCI, time, (s32)raster##_png, (s32)palette##_pal,
234#define hs_Restart HUD_ELEMENT_OP_Restart,
235#define hs_Loop HUD_ELEMENT_OP_Loop,
236#define hs_SetTileSize(size) HUD_ELEMENT_OP_SetTileSize, size,
237#define hs_SetSizesAutoScale(size1, size2) HUD_ELEMENT_OP_SetSizesAutoScale, size1, size2,
238#define hs_SetSizesFixedScale(size1, size2) HUD_ELEMENT_OP_SetSizesFixedScale, size1, size2,
239#define hs_SetVisible HUD_ELEMENT_OP_SetVisible,
240#define hs_SetHidden HUD_ELEMENT_OP_SetHidden,
241#define hs_AddTexelOffsetX(x) HUD_ELEMENT_OP_AddTexelOffsetX, x,
242#define hs_AddTexelOffsetY(y) HUD_ELEMENT_OP_AddTexelOffsetY, y,
243#define hs_SetTexelOffset(x, y) HUD_ELEMENT_OP_SetTexelOffset, x, y,
244#define hs_SetIcon(time, icon) HUD_ELEMENT_OP_SetImage, time, ICON_##icon##_raster, ICON_##icon##_palette, 0, 0,
245#define hs_SetScale(scale) HUD_ELEMENT_OP_SetScale, (s32)(scale * 65536.0f),
246#define hs_SetAlpha(alpha) HUD_ELEMENT_OP_SetAlpha, alpha,
247#define hs_RandomDelay(arg0, arg1) HUD_ELEMENT_OP_RandomDelay, arg0, arg1,
248#define hs_Delete HUD_ELEMENT_OP_Delete,
249#define hs_UseIA8 HUD_ELEMENT_OP_UseIA8,
250#define hs_SetCustomSize(arg0, arg1) HUD_ELEMENT_OP_SetCustomSize, arg0, arg1,
251
253#define hs_RandomRestart(max, cutoff) HUD_ELEMENT_OP_RandomRestart, max, cutoff,
254
255#define hs_SetVariable(arg0) HUD_ELEMENT_OP_SetVariable, arg0,
256#define hs_RandomBranch(args...) HUD_ELEMENT_OP_RandomBranch, (sizeof((s32[]){args})/sizeof(s32)), args,
257#define hs_SetFlags(arg0) HUD_ELEMENT_OP_SetFlags, arg0,
258#define hs_ClearFlags(arg0) HUD_ELEMENT_OP_ClearFlags, arg0,
259#define hs_PlaySound(arg0) HUD_ELEMENT_OP_PlaySound, arg0,
260#define hs_SetPivot(arg0, arg1) HUD_ELEMENT_OP_SetPivot, arg0, arg1,
261
263#define HES_TEMPLATE_CI_ENUM_SIZE(name, sizeX, sizeY) \
264 { \
265 hs_SetVisible \
266 hs_SetTileSize(HUD_ELEMENT_SIZE_##sizeX##x##sizeY) \
267 hs_Loop \
268 hs_SetCI(60, name) \
269 hs_Restart \
270 hs_End \
271 }
272
274#define HES_TEMPLATE_CI_CUSTOM_SIZE(name, sizeX, sizeY) \
275 { \
276 hs_SetVisible \
277 hs_SetCustomSize(sizeX, sizeY) \
278 hs_Loop \
279 hs_SetCI(60, name) \
280 hs_Restart \
281 hs_End \
282 }
283
284// hud script templates used to generate item scripts
285
286#define HES_TEMPLATE_ITEM(icon) \
287 { \
288 hs_SetVisible \
289 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
290 hs_Loop \
291 hs_SetIcon(60, icon) \
292 hs_Restart \
293 hs_End \
294 }
295
296#define HES_TEMPLATE_ITEM_HEART_PIECE() \
297 { \
298 hs_SetVisible \
299 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
300 hs_Loop \
301 hs_SetIcon(60, anim_heart_piece) \
302 hs_Restart \
303 hs_End \
304 }
305
306#define HES_TEMPLATE_ITEM_HEART() \
307 { \
308 hs_SetVisible \
309 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
310 hs_Loop \
311 hs_SetIcon(10, anim_heart_0) \
312 hs_SetIcon(6, anim_heart_1) \
313 hs_Restart \
314 hs_End \
315 }
316
317#define HES_TEMPLATE_ITEM_STAR_POINT() \
318 { \
319 hs_SetVisible \
320 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
321 hs_Loop \
322 hs_SetIcon(2, anim_sp_0) \
323 hs_SetIcon(2, anim_sp_1) \
324 hs_SetIcon(2, anim_sp_2) \
325 hs_SetIcon(2, anim_sp_3) \
326 hs_SetIcon(2, anim_sp_4) \
327 hs_SetIcon(2, anim_sp_5) \
328 hs_SetIcon(2, anim_sp_6) \
329 hs_SetIcon(2, anim_sp_7) \
330 hs_Restart \
331 hs_End \
332 }
333
334#define HES_TEMPLATE_ITEM_HEART_POINT() \
335 { \
336 hs_SetVisible \
337 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
338 hs_Loop \
339 hs_SetIcon(8, anim_hp_0) \
340 hs_SetIcon(5, anim_hp_1) \
341 hs_SetIcon(8, anim_hp_2) \
342 hs_Restart \
343 hs_End \
344 }
345
346#define HES_TEMPLATE_ITEM_FLOWER_POINT() \
347 { \
348 hs_SetVisible \
349 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
350 hs_Loop \
351 hs_SetIcon(8, anim_fp_0) \
352 hs_SetIcon(5, anim_fp_1) \
353 hs_SetIcon(8, anim_fp_2) \
354 hs_Restart \
355 hs_End \
356 }
357
358#define HES_TEMPLATE_ITEM_STAR_PIECE() \
359 { \
360 hs_SetVisible \
361 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
362 hs_Loop \
363 hs_SetIcon(12, anim_star_piece_0) \
364 hs_SetIcon(4, anim_star_piece_1) \
365 hs_SetIcon(12, anim_star_piece_2) \
366 hs_SetIcon(4, anim_star_piece_1) \
367 hs_Restart \
368 hs_End \
369 }
370
371#define HES_TEMPLATE_ITEM_COIN() \
372 { \
373 hs_SetVisible \
374 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
375 hs_Loop \
376 hs_SetVariable(0) \
377 hs_SetIcon(3, anim_coin_0) \
378 hs_SetIcon(3, anim_coin_1) \
379 hs_SetIcon(3, anim_coin_4) \
380 hs_SetIcon(3, anim_coin_5) \
381 hs_SetIcon(3, anim_coin_6) \
382 hs_SetIcon(3, anim_coin_7) \
383 hs_SetIcon(3, anim_coin_8) \
384 hs_SetIcon(3, anim_coin_9) \
385 hs_RandomRestart(100, 70) \
386 hs_SetVariable(1) \
387 hs_SetIcon(3, anim_coin_0) \
388 hs_SetIcon(2, anim_coin_1) \
389 hs_SetIcon(1, anim_coin_2) \
390 hs_SetIcon(1, anim_coin_3) \
391 hs_SetIcon(2, anim_coin_4) \
392 hs_SetIcon(3, anim_coin_5) \
393 hs_SetIcon(3, anim_coin_6) \
394 hs_SetIcon(3, anim_coin_7) \
395 hs_SetIcon(3, anim_coin_8) \
396 hs_SetIcon(3, anim_coin_9) \
397 hs_Restart \
398 hs_End \
399 }
400
401#define HES_COIN_SPARKLE(dx, dy) \
402 { \
403 hs_SetTexelOffset(dx, dy) \
404 hs_SetIcon(1, anim_shimmer_0) \
405 hs_SetIcon(1, anim_shimmer_1) \
406 hs_SetIcon(1, anim_shimmer_2) \
407 hs_SetIcon(2, anim_shimmer_6) \
408 hs_SetIcon(1, anim_shimmer_2) \
409 hs_SetIcon(1, anim_shimmer_3) \
410 hs_SetIcon(1, anim_shimmer_6) \
411 hs_SetIcon(1, anim_shimmer_4) \
412 hs_SetIcon(1, anim_shimmer_6) \
413 hs_SetIcon(1, anim_shimmer_5) \
414 hs_SetIcon(16, anim_shimmer_6) \
415 hs_End \
416 }
417
418#ifdef _LANGUAGE_C_PLUS_PLUS
419extern "C" {
420#endif
421
423
427
428void hud_element_clear_cache(void);
429
430void init_hud_element_list(void);
431
434
435void update_hud_elements(void);
436
439
440// first pass for rendering hud elements
441// collects, z-sorts, and draws all hud elements belonging to the 'backUI' pass, which renders
442// beneath windows and message boxes. does not render elements with a transformation being applied.
444
445// second pass for rendering hud elements
446// collects, z-sorts, and draws all hud elements belonging to the 'frontUI' pass, which renders
447// on top of windows and message boxes. does not render elements with a transformation being applied.
449
450// additional pass for registered hud elements associated with CAM_HUD or CAM_BATTLE
452
453// immediately draw the first complex (transformed) hud element using CAM_HUD, including all initial setup
454// use an ID of -1 to only perform the setup
456
457// immediately draw a subsequent complex (transformed) hud element using CAM_HUD, skipping any initial setup
459
460// immediately draw the first complex (transformed) hud element using CAM_BATTLE, including all initial setup
461// use an ID of -1 to only perform the setup
463
464// immediately draw a subsequent complex (transformed) hud element using CAM_BATTLE, skipping any initial setup
466
470
471void hud_element_set_script(s32 id, HudScript* anim);
472
474
476
477void hud_element_free(s32 id);
478
480
481void hud_element_get_render_pos(s32 id, s32* x, s32* y);
482
484
487
490
493
494void hud_element_set_scale(s32 index, f32 scale);
495
496void hud_element_use_preset_size(s32 id, s8 size);
497
499
500void hud_element_set_variable(s32 id, s32 arg1);
501
503void hud_element_set_alpha(s32 id, s32 opacity);
504
505void hud_element_set_tint(s32 id, s32 r, s32 g, s32 b);
506
508
510
512
514
516
518
520
522
524
525void hud_element_set_aux_cache(void* base, s32 size);
526
528
529#ifdef _LANGUAGE_C_PLUS_PLUS
530} // extern "C"
531#endif
532
533#endif
BSS s32 PopupMenu_SelectedIndex
#define PAL_PTR
#define IMG_PTR
s32 HudElemID
s32 b32
s8 flags
Definition demo_api.c:15
HudScript * loopStartPos
char unk_104[0x4]
Color_RGB8 tint
char unk_32E[0x2]
char unk_188[0x4]
void hud_element_draw_complex_hud_next(s32 hid)
@ HUD_ELEMENT_DRAW_NEXT
@ HUD_ELEMENT_DRAW_FIRST_WITH_CLIPPING
@ HUD_ELEMENT_DRAW_FIRST_WITHOUT_CLIPPING
HudScript HES_Refund
void hud_element_create_transform_C(s32 id)
HudScript * wDisabledPartnerHudScripts[]
Definition partners.c:136
HudScript * anim
void hud_element_get_render_pos(s32 id, s32 *x, s32 *y)
s32 userIndex[32]
s32 inventoryItemFlags
@ HUD_ELEMENT_OP_SetCI
Definition hud_element.h:14
@ HUD_ELEMENT_OP_Restart
Definition hud_element.h:15
@ HUD_ELEMENT_OP_End
Definition hud_element.h:12
@ HUD_ELEMENT_OP_SetPivot
Definition hud_element.h:39
@ HUD_ELEMENT_OP_op_16
Definition hud_element.h:34
@ HUD_ELEMENT_OP_SetVisible
Definition hud_element.h:20
@ HUD_ELEMENT_OP_AddTexelOffsetY
Definition hud_element.h:23
@ HUD_ELEMENT_OP_SetScale
Definition hud_element.h:26
@ HUD_ELEMENT_OP_SetImage
Definition hud_element.h:25
@ HUD_ELEMENT_OP_RandomBranch
Definition hud_element.h:35
@ HUD_ELEMENT_OP_PlaySound
Definition hud_element.h:38
@ HUD_ELEMENT_OP_SetSizesAutoScale
Definition hud_element.h:18
@ HUD_ELEMENT_OP_SetTexelOffset
Definition hud_element.h:24
@ HUD_ELEMENT_OP_RandomDelay
Definition hud_element.h:28
@ HUD_ELEMENT_OP_Loop
Definition hud_element.h:16
@ HUD_ELEMENT_OP_SetFlags
Definition hud_element.h:36
@ HUD_ELEMENT_OP_SetAlpha
Definition hud_element.h:27
@ HUD_ELEMENT_OP_SetTileSize
Definition hud_element.h:17
@ HUD_ELEMENT_OP_SetSizesFixedScale
Definition hud_element.h:19
@ HUD_ELEMENT_OP_RandomRestart
Definition hud_element.h:32
@ HUD_ELEMENT_OP_SetCustomSize
Definition hud_element.h:31
@ HUD_ELEMENT_OP_AddTexelOffsetX
Definition hud_element.h:22
@ HUD_ELEMENT_OP_SetRGBA
Definition hud_element.h:13
@ HUD_ELEMENT_OP_SetVariable
Definition hud_element.h:33
@ HUD_ELEMENT_OP_UseIA8
Definition hud_element.h:30
@ HUD_ELEMENT_OP_ClearFlags
Definition hud_element.h:37
@ HUD_ELEMENT_OP_SetHidden
Definition hud_element.h:21
@ HUD_ELEMENT_OP_Delete
Definition hud_element.h:29
void hud_element_set_aux_cache(void *base, s32 size)
PAL_PTR paletteAddr
@ HUD_ELEMENT_SIZE_24x24
Definition hud_element.h:45
@ HUD_ELEMENT_SIZE_192x32
Definition hud_element.h:61
@ HUD_ELEMENT_SIZE_32x16
Definition hud_element.h:54
@ HUD_ELEMENT_SIZE_64x64
Definition hud_element.h:48
@ HUD_ELEMENT_SIZE_40x40
Definition hud_element.h:62
@ HUD_ELEMENT_SIZE_40x24
Definition hud_element.h:66
@ HUD_ELEMENT_SIZE_32x24
Definition hud_element.h:67
@ HUD_ELEMENT_SIZE_12x12
Definition hud_element.h:55
@ HUD_ELEMENT_SIZE_64x16
Definition hud_element.h:59
@ HUD_ELEMENT_SIZE_24x8
Definition hud_element.h:58
@ HUD_ELEMENT_SIZE_40x16
Definition hud_element.h:65
@ HUD_ELEMENT_SIZE_32x40
Definition hud_element.h:64
@ HUD_ELEMENT_SIZE_16x24
Definition hud_element.h:51
@ HUD_ELEMENT_SIZE_16x16
Definition hud_element.h:44
@ HUD_ELEMENT_SIZE_64x32
Definition hud_element.h:53
@ HUD_ELEMENT_SIZE_8x16
Definition hud_element.h:49
@ HUD_ELEMENT_SIZE_32x8
Definition hud_element.h:57
@ HUD_ELEMENT_SIZE_48x24
Definition hud_element.h:56
@ HUD_ELEMENT_SIZE_16x32
Definition hud_element.h:52
@ HUD_ELEMENT_SIZE_48x48
Definition hud_element.h:47
@ HUD_ELEMENT_SIZE_16x8
Definition hud_element.h:50
@ HUD_ELEMENT_SIZE_16x64
Definition hud_element.h:60
@ HUD_ELEMENT_SIZE_32x32
Definition hud_element.h:46
@ HUD_ELEMENT_SIZE_8x8
Definition hud_element.h:43
@ HUD_ELEMENT_SIZE_24x16
Definition hud_element.h:63
void hud_element_draw_complex_battle_first(s32 hid)
PopupMenu itemSelectMenu
char unk_80[0x4]
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[]
Definition partners.c:130
void render_hud_elements_frontUI(void)
s32 hud_element_update(HudElement *hudElement)
s32 nameMsg[32]
HudElement * HudElementList[320]
void hud_element_draw_without_clipping(s32 id)
void hud_element_use_preset_size(s32 id, s8 size)
char unk_314[0x4]
void hud_element_set_script(s32 id, HudScript *anim)
void update_hud_elements(void)
HudScript * readPos
void hud_element_set_variable(s32 id, s32 arg1)
ShopSellPriceData * staticPriceList
void render_hud_elements_backUI(void)
ShopItemLocation * itemDataPositions
void hud_element_draw_complex_battle_next(s32 hid)
IMG_PTR imageAddr
HudElementFlags
Definition hud_element.h:70
@ HUD_ELEMENT_FLAG_ANTIALIASING
Definition hud_element.h:94
@ HUD_ELEMENT_FLAG_DELETE
Definition hud_element.h:89
@ HUD_ELEMENT_FLAG_DISABLED
Definition hud_element.h:72
@ HUD_ELEMENT_FLAG_INVISIBLE
Definition hud_element.h:92
@ HUD_ELEMENT_FLAG_SCALED
Definition hud_element.h:75
@ HUD_ELEMENT_FLAG_FLIPX
Definition hud_element.h:83
@ HUD_ELEMENT_FLAG_MEMOFFSET
Definition hud_element.h:93
@ HUD_ELEMENT_FLAG_FMT_IA8
Definition hud_element.h:90
@ HUD_ELEMENT_FLAG_BATTLE_CAM
Definition hud_element.h:98
@ HUD_ELEMENT_FLAG_CUSTOM_SIZE
Definition hud_element.h:91
@ HUD_ELEMENT_VARIABLE_MASK
Definition hud_element.h:95
@ HUD_ELEMENT_FLAG_8
Definition hud_element.h:74
@ HUD_ELEMENT_FLAG_REPEATED
Definition hud_element.h:82
@ HUD_ELEMENT_FLAG_INITIALIZED
Definition hud_element.h:71
@ HUD_ELEMENT_FLAG_FLIPY
Definition hud_element.h:84
@ HUD_ELEMENT_FLAG_HIDDEN
Definition hud_element.h:96
@ HUD_ELEMENT_FLAG_DROP_SHADOW
Definition hud_element.h:97
@ HUD_ELEMENT_FLAG_RESIZING
Definition hud_element.h:79
@ HUD_ELEMENT_FLAG_MANUAL_RENDER
Definition hud_element.h:78
@ HUD_ELEMENT_FLAG_NO_FOLD
Definition hud_element.h:88
@ HUD_ELEMENT_FLAG_RESIZE_DIR
Definition hud_element.h:80
@ HUD_ELEMENT_FLAG_ANIMATION_FINISHED
Definition hud_element.h:73
@ HUD_ELEMENT_FLAG_BATTLE
Definition hud_element.h:81
@ HUD_ELEMENT_FLAG_FRONTUI
Definition hud_element.h:77
@ HUD_ELEMENT_FLAG_FMT_CI4
Definition hud_element.h:85
@ HUD_ELEMENT_FLAG_TRANSFORM
Definition hud_element.h:87
@ HUD_ELEMENT_FLAG_FILTER_TEX
Definition hud_element.h:86
@ HUD_ELEMENT_FLAG_TRANSPARENT
Definition hud_element.h:76
Vec3b worldPosOffset
HudScript * disabled
s16 numSpecialPrices
HudScript HES_AnimatedHandPointer
void hud_element_set_render_depth(s32 id, s32 z)
void hud_element_create_transform_B(s32 id)
Vtx vtx[4]
s16 numItems
HudScript * hud_element_get_script(s32 id)
s32 titleNumber
ShopOwner * owner
Vec2b screenPosOffset
void hud_element_set_transform_pos(s32 id, f32 x, f32 y, f32 z)
void hud_element_clear_cache(void)
HudScript HES_StatusCoin
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)
s32 curItemSlot
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)
HudElemID costHID
HudTransform * hudTransform
void hud_element_draw_complex_hud_first(s32 hid)
HudScript * ptrIcon[32]
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
PartnerPopupProperties gPartnerPopupProperties[13]
Definition 5B320.c:331
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.
b32 enabled[32]
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.
s32 value[32]
HudScript HES_MenuTimes
void hud_element_clear_flags(s32 id, s32 flags)
Turns off the given flags.
char unk_20C[0x4]
s32 unk_358
s32 hud_element_get_variable(s32 id)
void hud_element_draw_clipped(s32 id)
void hud_element_set_transform_scale(s32 id, f32 x, f32 y, f32 z)
s16 flags
s32 heightScale
X10.
void hud_element_free(s32 id)
s32 selectedStoreItemSlot
void render_transformed_hud_elements(void)
VtxRect quadBuffers[3]
ShopItemData * staticInventory
s32 widthScale
X10.
char unk_06[0x2]
Vec2bu customImageSize
void hud_element_free_transform(s32 id)
s32 HudScript[]
Definition hud_element.h:9
Vec2f dynamicSize
void copy_world_hud_element_ref_to_battle(s32 worldID, s32 battleID)
char unk_290[0x4]
HudScript * enabled
void ALT_clear_hud_element_cache(void)
Vec2bu customDrawSize
Vec2f deltaSize
s32 descMsg[32]