mirror of
https://github.com/zeldaret/tmc
synced 2026-06-09 20:50:47 -04:00
Decompile some UI
This commit is contained in:
+3
-3
@@ -28,9 +28,9 @@ extern Entity* CreatePlayerBomb(ItemBehavior*, u32);
|
||||
extern u32 CreateRandomItemDrop(Entity*, u32);
|
||||
extern void CreateSparkle(Entity*);
|
||||
extern void DoPlayerAction(Entity*);
|
||||
extern void DrawDirect(u32, u32); // trampoline to sub_080B27F4
|
||||
extern void DrawDirect(u32, u32);
|
||||
extern void DrawEntities(void);
|
||||
extern void DrawOAMCmd(void);
|
||||
extern void DrawUIElements(void);
|
||||
extern void EnemyFunctionHandlerAfterCollision(Entity*, void (*const[])());
|
||||
extern bool32 EntityWithinDistance(Entity*, s32, s32, s32);
|
||||
extern void FlushSprites(void);
|
||||
@@ -115,7 +115,7 @@ extern void sub_080171F0(void);
|
||||
extern u32 sub_0801766C(Entity*);
|
||||
extern void sub_0801AF18(const u8*, u32, u32);
|
||||
extern void sub_0801AFE4(void);
|
||||
extern void sub_0801C1D4(void);
|
||||
extern void UpdateUIElements(void);
|
||||
extern void sub_0801C25C(void);
|
||||
extern void sub_0801E104(void);
|
||||
extern void sub_08027870(Entity*);
|
||||
|
||||
+78
-5
@@ -45,14 +45,87 @@ typedef struct {
|
||||
} struct_020354C0;
|
||||
extern struct_020354C0 gUnk_020354C0[0x20];
|
||||
|
||||
#define MAX_UI_ELEMENTS 24
|
||||
|
||||
typedef enum {
|
||||
UI_ELEMENT_BUTTON_A,
|
||||
UI_ELEMENT_BUTTON_B,
|
||||
UI_ELEMENT_BUTTON_R,
|
||||
UI_ELEMENT_ITEM_A,
|
||||
UI_ELEMENT_ITEM_B,
|
||||
UI_ELEMENT_TEXT_R,
|
||||
UI_ELEMENT_HEART,
|
||||
UI_ELEMENT_EZLONAGSTART,
|
||||
UI_ELEMENT_EZLONAGACTIVE,
|
||||
UI_ELEMENT_TEXT_A,
|
||||
UI_ELEMENT_TEXT_B
|
||||
} UIElementType;
|
||||
|
||||
/**
|
||||
* @brief Floating UI element
|
||||
*/
|
||||
typedef struct {
|
||||
u8 filler0[0x1A];
|
||||
u16 rButtonX;
|
||||
u8 filler1C[0x4];
|
||||
u16 rButtonY;
|
||||
u8 used : 1;
|
||||
u8 unk_0_1 : 1;
|
||||
u8 unk_0_2 : 2; // Load data into VRAM? 0: do not load, 1: ready to load 2: loaded
|
||||
u8 unk_0_4 : 4;
|
||||
u8 type; /**< @see UIElementType */
|
||||
u8 type2; // Subtype
|
||||
u8 buttonElementId; /**< Id of the button UI element this text is attached to */
|
||||
u8 action;
|
||||
u8 unk_5;
|
||||
u8 unk_6;
|
||||
u8 unk_7;
|
||||
u8 unk_8;
|
||||
u8 unk_9[3];
|
||||
u16 x;
|
||||
u16 y;
|
||||
u8 frameIndex;
|
||||
u8 duration;
|
||||
u8 spriteSettings;
|
||||
u8 frameSettings;
|
||||
Frame* framePtr;
|
||||
u8 unk_18;
|
||||
u8 numTiles;
|
||||
u16 unk_1a; // TODO oam id? VRAM target (element->unk_1a * 0x20 + 0x6010000)
|
||||
u32* firstTile;
|
||||
} UIElement;
|
||||
|
||||
typedef struct {
|
||||
u8 unk_0;
|
||||
u8 unk_1;
|
||||
u8 unk_2;
|
||||
u8 health;
|
||||
u8 maxHealth;
|
||||
u8 unk_5;
|
||||
u8 unk_6;
|
||||
u8 unk_7;
|
||||
u8 unk_8;
|
||||
u8 unk_9;
|
||||
u8 unk_a;
|
||||
u8 unk_b;
|
||||
u8 unk_c;
|
||||
u8 unk_d;
|
||||
u16 rupees;
|
||||
u8 unk_10;
|
||||
u8 unk_11;
|
||||
u8 unk_12;
|
||||
s8 unk_13;
|
||||
s8 unk_14;
|
||||
u8 unk_15;
|
||||
u16 buttonX[3]; /**< X coordinates for the button UI elements */
|
||||
u16 buttonY[3]; /**< Y coordinates for the button UI elements */
|
||||
u8 filler22[0x2];
|
||||
u8 ezloNagFuncIndex;
|
||||
u8 filler25[0x30F];
|
||||
u8 filler25[7];
|
||||
u8 unk_2c;
|
||||
u8 unk_2d;
|
||||
u8 unk_2e;
|
||||
u8 unk_2f;
|
||||
u8 unk_30[2];
|
||||
u8 unk_32;
|
||||
u8 unk_33;
|
||||
UIElement elements[MAX_UI_ELEMENTS];
|
||||
} struct_0200AF00;
|
||||
extern struct_0200AF00 gUnk_0200AF00;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user