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
11typedef s32 HudElemID;
12
13enum {
42};
43
44enum {
70};
71
106
107enum {
111};
112
113typedef struct HudCacheEntry {
114 /* 0x00 */ s32 id;
115 /* 0x04 */ u8* data;
116} HudCacheEntry; // size = 0x8;
117
118typedef struct PopupMenu {
119 /* 0x000 */ HudScript* ptrIcon[32];
120 /* 0x080 */ char unk_80[0x4];
121 /* 0x084 */ s32 nameMsg[32];
122 /* 0x104 */ char unk_104[0x4];
123 /* 0x108 */ s32 userIndex[32]; // used to map menu order to a user-ID for each item
124 /* 0x188 */ char unk_188[0x4];
125 /* 0x18C */ s32 enabled[32];
126 /* 0x20C */ char unk_20C[0x4];
127 /* 0x210 */ s32 value[32]; // sale price, etc
128 /* 0x290 */ char unk_290[0x4];
129 /* 0x294 */ s32 descMsg[32];
130 /* 0x314 */ char unk_314[0x4];
131 /* 0x318 */ s32 popupType;
132 /* 0x31C */ s32 dipMode;
133 /* 0x320 */ s32 titleNumber; // used to display 2/3 with double/triple dip
134 /* 0x324 */ s32 numEntries;
135 /* 0x328 */ s32 initialPos;
136 /* 0x32C */ s16 result;
137 /* 0x32E */ char unk_32E[0x2];
138#if VERSION_PAL
139 /* 0x330 */ s32 unk_330; // message ID
140 /* 0x334 */ s32 unk_334; // x offset
141 /* 0x338 */ s32 unk_338;
142 /* 0x33C */ s32 unk_33C; // message ID
143 /* 0x340 */ s32 unk_340;
144#endif
145} PopupMenu; // size = 0x330
146
147typedef struct Shop {
148 /* 0x000 */ s16 flags;
149 /* 0x002 */ s16 numItems;
150 /* 0x004 */ s16 numSpecialPrices;
151 /* 0x006 */ char unk_06[0x2];
152 /* 0x008 */ s32 curItemSlot;
153 /* 0x00C */ s32 selectedStoreItemSlot;
154 /* 0x010 */ ShopOwner* owner;
158 /* 0x020 */ s32 costIconID;
159 /* 0x024 */ s32 inventoryItemFlags;
161 /* 0x358 */ s32 unk_358;
162} Shop; // size = 0x35C
163
164typedef struct IconHudScriptPair {
165 /* 0x00 */ HudScript* enabled;
166 /* 0x04 */ HudScript* disabled;
167} IconHudScriptPair; // size = 0x08
168
169typedef struct VtxRect {
170 Vtx vtx[4];
171} VtxRect; // size = 0x40
172
173typedef struct HudTransform {
174 /* 0x00 */ s32 imgfxIdx;
175 /* 0x04 */ Vec3f pos;
176 /* 0x10 */ Vec3f rot;
177 /* 0x1C */ Vec3f scale;
178 /* 0x28 */ Vec2s pivot;
179 /* 0x30 */ VtxRect unk_30[3];
180} HudTransform; // size = 0xF0
181
182typedef struct HudElement {
183 /* 0x00 */ u32 flags;
184 /* 0x04 */ HudScript* readPos;
185 /* 0x08 */ HudScript* anim;
187 /* 0x10 */ u8* imageAddr;
188 /* 0x14 */ u8* paletteAddr;
189 /* 0x18 */ s32 memOffset;
191 /* 0x20 */ f32 deltaSizeX;
192 /* 0x24 */ f32 deltaSizeY;
193 /* 0x28 */ f32 unkImgScale[2];
194 /* 0x30 */ f32 uniformScale;
195 /* 0x34 */ s32 widthScale;
196 /* 0x38 */ s32 heightScale;
197 /* 0x3C */ s16 renderPosX;
198 /* 0x3E */ s16 renderPosY;
201 /* 0x45 */ s8 drawSizePreset;
202 /* 0x46 */ s8 tileSizePreset;
203 /* 0x47 */ s8 updateTimer;
204 /* 0x48 */ u8 sizeX; /* screen size? */
205 /* 0x49 */ u8 sizeY; /* screen size? */
206 /* 0x4A */ u8 opacity;
207 /* 0x4B */ Color_RGB8 tint;
210} HudElement; // size = 0x54
211
213
216extern HudScript HES_Refund;
217#if VERSION_PAL
218extern HudScript HES_Refund_de;
219extern HudScript HES_Refund_fr;
220extern HudScript HES_Refund_es;
221#endif
223
225 /* 0x00 */ s32 nameMsg;
226 /* 0x04 */ s32 unk_04;
227 /* 0x08 */ s32 worldDescMsg;
228 /* 0x0C */ s32 battleDescMsg;
229} PartnerPopupProperties; // size = 0x10
230
234
235#define HS_PTR(sym) (s32)&sym
236
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,
258
260#define hs_RandomRestart(max, cutoff) HUD_ELEMENT_OP_RandomRestart, max, cutoff,
261
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,
268
270#define HES_TEMPLATE_CI_ENUM_SIZE(name, sizeX, sizeY) \
271 { \
272 hs_SetVisible \
273 hs_SetTileSize(HUD_ELEMENT_SIZE_##sizeX##x##sizeY) \
274 hs_Loop \
275 hs_SetCI(60, name) \
276 hs_Restart \
277 hs_End \
278 }
279
281#define HES_TEMPLATE_CI_CUSTOM_SIZE(name, sizeX, sizeY) \
282 { \
283 hs_SetVisible \
284 hs_SetCustomSize(sizeX, sizeY) \
285 hs_Loop \
286 hs_SetCI(60, name) \
287 hs_Restart \
288 hs_End \
289 }
290
291// hud script templates used to generate item scripts
292
293#define HES_TEMPLATE_ITEM(icon) \
294 { \
295 hs_SetVisible \
296 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
297 hs_Loop \
298 hs_SetIcon(60, icon) \
299 hs_Restart \
300 hs_End \
301 }
302
303#define HES_TEMPLATE_ITEM_HEART_PIECE() \
304 { \
305 hs_SetVisible \
306 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
307 hs_Loop \
308 hs_SetIcon(60, anim_heart_piece) \
309 hs_Restart \
310 hs_End \
311 }
312
313#define HES_TEMPLATE_ITEM_HEART() \
314 { \
315 hs_SetVisible \
316 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
317 hs_Loop \
318 hs_SetIcon(10, anim_heart_0) \
319 hs_SetIcon(6, anim_heart_1) \
320 hs_Restart \
321 hs_End \
322 }
323
324#define HES_TEMPLATE_ITEM_STAR_POINT() \
325 { \
326 hs_SetVisible \
327 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
328 hs_Loop \
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) \
337 hs_Restart \
338 hs_End \
339 }
340
341#define HES_TEMPLATE_ITEM_HEART_POINT() \
342 { \
343 hs_SetVisible \
344 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
345 hs_Loop \
346 hs_SetIcon(8, anim_hp_0) \
347 hs_SetIcon(5, anim_hp_1) \
348 hs_SetIcon(8, anim_hp_2) \
349 hs_Restart \
350 hs_End \
351 }
352
353#define HES_TEMPLATE_ITEM_FLOWER_POINT() \
354 { \
355 hs_SetVisible \
356 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
357 hs_Loop \
358 hs_SetIcon(8, anim_fp_0) \
359 hs_SetIcon(5, anim_fp_1) \
360 hs_SetIcon(8, anim_fp_2) \
361 hs_Restart \
362 hs_End \
363 }
364
365#define HES_TEMPLATE_ITEM_STAR_PIECE() \
366 { \
367 hs_SetVisible \
368 hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
369 hs_Loop \
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) \
374 hs_Restart \
375 hs_End \
376 }
377
378#define HES_TEMPLATE_ITEM_COIN() \
379 { \
380 hs_SetVisible \
381 hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
382 hs_Loop \
383 hs_op_15(0) \
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) \
393 hs_op_15(1) \
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) \
404 hs_Restart \
405 hs_End \
406 }
407
408#define HES_COIN_SPARKLE(dx, dy) \
409 { \
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) \
422 hs_End \
423 }
424
425void hud_element_load_script(HudElement* hudElement, HudScript* anim);
426
429void hud_element_draw_rect(HudElement* hudElement, s16 texSizeX, s16 texSizeY, s16 drawSizeX, s16 drawSizeY, s16 offsetX, s16 offsetY, s32 clamp, s32 dropShadow);
430
431void hud_element_clear_cache(void);
432
433void init_hud_element_list(void);
434
437
438void update_hud_elements(void);
439
441s32 hud_element_update(HudElement* hudElement);
442
444
446
447void render_hud_element(HudElement* hudElement);
448
450
451void func_80143C48(s32 arg0, s32 arg1, s32 camID);
452void func_80144218(s32 arg0);
453void func_80144238(s32 arg0);
454void func_80144258(s32 arg0);
455void func_80144278(s32 arg0);
456
457void draw_hud_element_internal(s32 id, s32 clipMode);
458void hud_element_draw_clipped(s32 id);
459void hud_element_draw_next(s32 id);
461
462void hud_element_set_script(s32 id, HudScript* anim);
463
465
467
468void hud_element_free(s32 id);
469
470void hud_element_set_render_pos(s32 id, s32 x, s32 y);
471
472void hud_element_get_render_pos(s32 id, s32* x, s32* y);
473
474void hud_element_set_render_depth(s32 id, s32 z);
475
477void hud_element_set_flags(s32 id, s32 flags);
478
480void hud_element_clear_flags(s32 id, s32 flags);
481
484
485void hud_element_set_scale(s32 index, f32 scale);
486
487void hud_element_use_preset_size(s32 id, s8 size);
488
489s32 func_80144E4C(s32 id);
490
491void func_80144E74(s32 id, s32 arg1);
492
494void hud_element_set_alpha(s32 id, s32 opacity);
495
496void hud_element_set_tint(s32 id, s32 r, s32 g, s32 b);
497
499
501
503
504void hud_element_free_transform(s32 id);
505
506void hud_element_set_transform_pos(s32 id, f32 x, f32 y, f32 z);
507
508void hud_element_set_transform_scale(s32 id, f32 x, f32 y, f32 z);
509
510void hud_element_set_transform_rotation(s32 id, f32 x, f32 y, f32 z);
511
512void hud_element_set_transform_rotation_pivot(s32 id, s32 dx, s32 dy);
513
514void copy_world_hud_element_ref_to_battle(s32 worldID, s32 battleID);
515
516void hud_element_set_aux_cache(void* base, s32 size);
517
519
520#endif
s8 flags
Definition demo_api.c:15
HudScript * loopStartPos
char unk_104[0x4]
void func_80144258(s32 arg0)
Color_RGB8 tint
s32 func_80144E4C(s32 id)
VtxRect unk_30[3]
char unk_32E[0x2]
char unk_188[0x4]
@ HUD_ELEMENT_OP_SetCI
Definition hud_element.h:16
@ HUD_ELEMENT_OP_Restart
Definition hud_element.h:17
@ HUD_ELEMENT_OP_End
Definition hud_element.h:14
@ HUD_ELEMENT_OP_SetPivot
Definition hud_element.h:41
@ HUD_ELEMENT_OP_op_16
Definition hud_element.h:36
@ HUD_ELEMENT_OP_SetVisible
Definition hud_element.h:22
@ HUD_ELEMENT_OP_AddTexelOffsetY
Definition hud_element.h:25
@ HUD_ELEMENT_OP_SetScale
Definition hud_element.h:28
@ HUD_ELEMENT_OP_SetImage
Definition hud_element.h:27
@ HUD_ELEMENT_OP_RandomBranch
Definition hud_element.h:37
@ HUD_ELEMENT_OP_PlaySound
Definition hud_element.h:40
@ HUD_ELEMENT_OP_SetSizesAutoScale
Definition hud_element.h:20
@ HUD_ELEMENT_OP_SetTexelOffset
Definition hud_element.h:26
@ HUD_ELEMENT_OP_RandomDelay
Definition hud_element.h:30
@ HUD_ELEMENT_OP_Loop
Definition hud_element.h:18
@ HUD_ELEMENT_OP_SetFlags
Definition hud_element.h:38
@ HUD_ELEMENT_OP_SetAlpha
Definition hud_element.h:29
@ HUD_ELEMENT_OP_SetTileSize
Definition hud_element.h:19
@ HUD_ELEMENT_OP_SetSizesFixedScale
Definition hud_element.h:21
@ HUD_ELEMENT_OP_RandomRestart
Definition hud_element.h:34
@ HUD_ELEMENT_OP_SetCustomSize
Definition hud_element.h:33
@ HUD_ELEMENT_OP_AddTexelOffsetX
Definition hud_element.h:24
@ HUD_ELEMENT_OP_SetRGBA
Definition hud_element.h:15
@ HUD_ELEMENT_OP_UseIA8
Definition hud_element.h:32
@ HUD_ELEMENT_OP_ClearFlags
Definition hud_element.h:39
@ HUD_ELEMENT_OP_SetHidden
Definition hud_element.h:23
@ HUD_ELEMENT_OP_Delete
Definition hud_element.h:31
@ HUD_ELEMENT_OP_op_15
Definition hud_element.h:35
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
void hud_element_set_aux_cache(void *base, s32 size)
f32 unkImgScale[2]
void func_80144238(s32 arg0)
void func_80144218(s32 arg0)
PopupMenu itemSelectMenu
void render_hud_element(HudElement *hudElement)
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
ShopSellPriceData * staticPriceList
void render_hud_elements_backUI(void)
ShopItemLocation * itemDataPositions
u8 * paletteAddr
HudElementFlags
Definition hud_element.h:72
@ HUD_ELEMENT_FLAG_200000
Definition hud_element.h:94
@ HUD_ELEMENT_FLAG_ANTIALIASING
Definition hud_element.h:96
@ HUD_ELEMENT_FLAG_4000000
Definition hud_element.h:99
@ HUD_ELEMENT_FLAG_DELETE
Definition hud_element.h:91
@ HUD_ELEMENT_FLAG_DISABLED
Definition hud_element.h:74
@ HUD_ELEMENT_FLAG_SCALED
Definition hud_element.h:77
@ HUD_ELEMENT_FLAG_FLIPX
Definition hud_element.h:85
@ HUD_ELEMENT_FLAG_1000000
Definition hud_element.h:97
@ HUD_ELEMENT_FLAG_10000000
@ HUD_ELEMENT_FLAG_MEMOFFSET
Definition hud_element.h:95
@ HUD_ELEMENT_FLAG_80
Definition hud_element.h:80
@ HUD_ELEMENT_FLAG_FMT_IA8
Definition hud_element.h:92
@ HUD_ELEMENT_FLAG_CUSTOM_SIZE
Definition hud_element.h:93
@ HUD_ELEMENT_FLAG_8
Definition hud_element.h:76
@ HUD_ELEMENT_FLAG_FIXEDSCALE
Definition hud_element.h:81
@ HUD_ELEMENT_FLAG_REPEATED
Definition hud_element.h:84
@ HUD_ELEMENT_FLAG_INITIALIZED
Definition hud_element.h:73
@ HUD_ELEMENT_FLAG_FLIPY
Definition hud_element.h:86
@ HUD_ELEMENT_FLAG_80000000
@ HUD_ELEMENT_FLAG_8000000
@ HUD_ELEMENT_FLAG_DROP_SHADOW
@ HUD_ELEMENT_FLAG_2000000
Definition hud_element.h:98
@ HUD_ELEMENT_FLAG_40000000
@ HUD_ELEMENT_FLAG_NO_FOLD
Definition hud_element.h:90
@ HUD_ELEMENT_FLAG_ANIMATION_FINISHED
Definition hud_element.h:75
@ HUD_ELEMENT_FLAG_BATTLE
Definition hud_element.h:83
@ HUD_ELEMENT_FLAG_FRONTUI
Definition hud_element.h:79
@ HUD_ELEMENT_FLAG_FMT_CI4
Definition hud_element.h:87
@ HUD_ELEMENT_FLAG_200
Definition hud_element.h:82
@ HUD_ELEMENT_FLAG_TRANSFORM
Definition hud_element.h:89
@ HUD_ELEMENT_FLAG_FILTER_TEX
Definition hud_element.h:88
@ HUD_ELEMENT_FLAG_TRANSPARENT
Definition hud_element.h:78
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 HudElemID
Definition hud_element.h:11
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 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_NEXT
@ HUD_ELEMENT_DRAW_FIRST_WITH_CLIPPING
@ HUD_ELEMENT_DRAW_FIRST_WITHOUT_CLIPPING
HudScript * ptrIcon[32]
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
s32 costIconID
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.
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
s32 enabled[32]
void hud_element_clear_flags(s32 id, s32 flags)
Turns off the given flags.
char unk_20C[0x4]
void func_80143C48(s32 arg0, s32 arg1, s32 camID)
s32 unk_358
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)
ShopItemData * staticInventory
void func_80144E74(s32 id, s32 arg1)
s32 widthScale
X10.
char unk_06[0x2]
Vec2bu customImageSize
@ HUD_ELEMENT_SIZE_24x24
Definition hud_element.h:47
@ HUD_ELEMENT_SIZE_192x32
Definition hud_element.h:63
@ HUD_ELEMENT_SIZE_32x16
Definition hud_element.h:56
@ HUD_ELEMENT_SIZE_64x64
Definition hud_element.h:50
@ HUD_ELEMENT_SIZE_40x40
Definition hud_element.h:64
@ HUD_ELEMENT_SIZE_40x24
Definition hud_element.h:68
@ HUD_ELEMENT_SIZE_32x24
Definition hud_element.h:69
@ HUD_ELEMENT_SIZE_12x12
Definition hud_element.h:57
@ HUD_ELEMENT_SIZE_64x16
Definition hud_element.h:61
@ HUD_ELEMENT_SIZE_24x8
Definition hud_element.h:60
@ HUD_ELEMENT_SIZE_40x16
Definition hud_element.h:67
@ HUD_ELEMENT_SIZE_32x40
Definition hud_element.h:66
@ HUD_ELEMENT_SIZE_16x24
Definition hud_element.h:53
@ HUD_ELEMENT_SIZE_16x16
Definition hud_element.h:46
@ HUD_ELEMENT_SIZE_64x32
Definition hud_element.h:55
@ HUD_ELEMENT_SIZE_8x16
Definition hud_element.h:51
@ HUD_ELEMENT_SIZE_32x8
Definition hud_element.h:59
@ HUD_ELEMENT_SIZE_48x24
Definition hud_element.h:58
@ HUD_ELEMENT_SIZE_16x32
Definition hud_element.h:54
@ HUD_ELEMENT_SIZE_48x48
Definition hud_element.h:49
@ HUD_ELEMENT_SIZE_16x8
Definition hud_element.h:52
@ HUD_ELEMENT_SIZE_16x64
Definition hud_element.h:62
@ HUD_ELEMENT_SIZE_32x32
Definition hud_element.h:48
@ HUD_ELEMENT_SIZE_8x8
Definition hud_element.h:45
@ HUD_ELEMENT_SIZE_24x16
Definition hud_element.h:65
void hud_element_free_transform(s32 id)
s32 HudScript[]
Definition hud_element.h:9
void copy_world_hud_element_ref_to_battle(s32 worldID, s32 battleID)
char unk_290[0x4]
void draw_hud_element_internal(s32 id, s32 clipMode)
HudScript * enabled
void ALT_clear_hud_element_cache(void)
Vec2bu customDrawSize
s32 descMsg[32]