mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-29 07:32:16 -04:00
Decompile dialogTick
This commit is contained in:
@@ -1457,9 +1457,16 @@
|
||||
#define MENUDIALOGFLAG_0400 0x0400
|
||||
#define MENUDIALOGFLAG_0800 0x0800
|
||||
|
||||
#define MENUDIALOGSTATE_PREOPEN 0
|
||||
#define MENUDIALOGSTATE_OPENING 1
|
||||
#define MENUDIALOGSTATE_POPULATING 2
|
||||
#define MENUDIALOGSTATE_POPULATED 3
|
||||
|
||||
#define MENUDIALOGTYPE_DEFAULT 1
|
||||
#define MENUDIALOGTYPE_DANGER 2
|
||||
#define MENUDIALOGTYPE_SUCCESS 3
|
||||
#define MENUDIALOGTYPE_4 4
|
||||
#define MENUDIALOGTYPE_WHITE 5
|
||||
|
||||
#define MENUITEMFLAG_00000001 0x00000001
|
||||
#define MENUITEMFLAG_00000004 0x00000004
|
||||
@@ -1474,11 +1481,14 @@
|
||||
#define MENUITEMFLAG_00000800 0x00000800
|
||||
#define MENUITEMFLAG_00001000 0x00001000
|
||||
#define MENUITEMFLAG_00008000 0x00008000
|
||||
#define MENUITEMFLAG_00010000 0x00010000
|
||||
#define MENUITEMFLAG_00020000 0x00020000
|
||||
#define MENUITEMFLAG_00040000 0x00040000
|
||||
#define MENUITEMFLAG_00080000 0x00080000
|
||||
#define MENUITEMFLAG_00100000 0x00100000
|
||||
#define MENUITEMFLAG_00200000 0x00200000
|
||||
#define MENUITEMFLAG_00400000 0x00400000
|
||||
#define MENUITEMFLAG_00800000 0x00800000
|
||||
#define MENUITEMFLAG_01000000 0x01000000
|
||||
#define MENUITEMFLAG_02000000 0x02000000
|
||||
#define MENUITEMFLAG_04000000 0x04000000
|
||||
@@ -1551,6 +1561,7 @@
|
||||
#define MENUROOT_COOPCONTINUE 9
|
||||
#define MENUROOT_4MBFILEMGR 10
|
||||
#define MENUROOT_4MBMAINMENU 11
|
||||
#define MENUROOT_12 12
|
||||
#define MENUROOT_TRAINING 13
|
||||
|
||||
#define MENUSOUND_SWIPE 0x00 // Navigating to left/right dialog
|
||||
@@ -1565,6 +1576,11 @@
|
||||
#define MENUSOUND_0B 0x0b
|
||||
#define MENUSOUND_KEYBOARDFOCUS 0x0c // Changing focus within a keyboard item
|
||||
#define MENUSOUND_KEYBOARDCANCEL 0x0d // Pressing A on a keyboard's cancel button
|
||||
#define MENUSOUND_SUCCESS 0x0e
|
||||
|
||||
#define MENUTICKFLAG_DIALOGISCURRENT 0x01
|
||||
#define MENUTICKFLAG_ITEMISFOCUSED 0x02
|
||||
#define MENUTICKFLAG_DIALOGISDIMMED 0x04
|
||||
|
||||
#define MISCBIO_MAIANS 0
|
||||
#define MISCBIO_SKEDAR 1
|
||||
|
||||
@@ -31,7 +31,7 @@ char *menuResolveDialogTitle(struct menudialogdef *dialogdef);
|
||||
void func0f0f15a4(struct menuitem *item, s32 *arg1);
|
||||
void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struct menudialog *dialog);
|
||||
void func0f0f1d6c(struct menudialogdef *dialogdef, struct menudialog *dialog, struct menu *menu);
|
||||
u32 func0f0f1ef4(void);
|
||||
void func0f0f1ef4(struct menudialog *dialog);
|
||||
void dialogCalculateContentSize(struct menudialogdef *dialogdef, struct menudialog *dialog, struct menu *menu);
|
||||
s32 dialogFindItem(struct menudialog *dialog, struct menuitem *item, s32 *rowindex, s32 *colindex);
|
||||
bool menuIsScrollableUnscrollable(struct menuitem *item);
|
||||
@@ -42,7 +42,7 @@ struct menuitem *dialogFindFirstItem(struct menudialog *dialog);
|
||||
u32 func0f0f2928(void);
|
||||
u32 func0f0f29cc(void);
|
||||
u32 func0f0f2b2c(void);
|
||||
u32 func0f0f2c44(void);
|
||||
s32 func0f0f2c44(struct menudialog *dialog, s32 leftright, s32 updown);
|
||||
void menuOpenDialog(struct menudialogdef *dialogdef, struct menudialog *arg1, struct menu *menu);
|
||||
void menuPushDialog(struct menudialogdef *dialogdef);
|
||||
|
||||
@@ -77,8 +77,8 @@ Gfx *menuRenderDialog(Gfx *gdl, struct menudialog *dialog, struct menu *menu, s3
|
||||
Gfx *menuRenderDialogs(Gfx *gdl);
|
||||
void func0f0f8bb4(u8 *arg0, u32 arg1, u32 arg2);
|
||||
void menuInit(void);
|
||||
u32 func0f0f9030(void);
|
||||
void dialogProcessInput(struct menudialog *dialog, struct menuinputs *inputs, bool iscurrent);
|
||||
void func0f0f9030(s32 arg0);
|
||||
void dialogTick(struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags);
|
||||
void dialogInitItems(struct menudialog *dialog);
|
||||
void func0f0fa6ac(void);
|
||||
void menuProcessInput(void);
|
||||
|
||||
@@ -9,16 +9,16 @@ s32 menuitem0f0e5ef8(s16 arg0, struct menuitem *item);
|
||||
u32 menuitem0f0e6038(void);
|
||||
Gfx *menuitemListOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2);
|
||||
Gfx *menuitemListRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2, union menuitemdata *data);
|
||||
bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
|
||||
void menuitemDropdownInit(struct menuitem *item, union menuitemdata *data);
|
||||
Gfx *menuitemDropdownRender(Gfx *gdl);
|
||||
bool menuitemDropdownTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemDropdownTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemDropdownOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menuitem *item, struct menudialog *dialog, union menuitemdata *data);
|
||||
bool menuitemKeyboardIsStringEmptyOrSpaces(char *text);
|
||||
Gfx *menuitemKeyboardRender(Gfx *gdl, struct menurendercontext *thing);
|
||||
bool menuitemKeyboardTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2, union menuitemdata *data);
|
||||
bool menuitemKeyboardTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemKeyboardInit(struct menuitem *item, union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemSeparatorRender(Gfx *gdl, struct menurendercontext *context);
|
||||
@@ -33,21 +33,21 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context);
|
||||
Gfx *menuitemMeterRender(Gfx *gdl, struct menurendercontext *context);
|
||||
|
||||
Gfx *menuitemSelectableRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemSelectableTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2);
|
||||
bool menuitemSelectableTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags);
|
||||
|
||||
Gfx *menuitemSliderRender(Gfx *gdl);
|
||||
bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemSliderInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemCarouselRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2);
|
||||
bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags);
|
||||
|
||||
Gfx *menuitemCheckboxRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemCheckboxTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2);
|
||||
bool menuitemCheckboxTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags);
|
||||
|
||||
char *menuitemScrollableGetText(u32 type);
|
||||
Gfx *menuitemScrollableRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemScrollableTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemScrollableTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemScrollableInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemMarqueeRender(Gfx *gdl, struct menurendercontext *context);
|
||||
@@ -57,11 +57,11 @@ void menuitemMarqueeInit(union menuitemdata *data);
|
||||
Gfx *menuitem07Render(Gfx *gdl);
|
||||
|
||||
Gfx *menuitemRankingRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemRankingTick(struct menuinputs *inputs, u32 arg1, union menuitemdata *data);
|
||||
bool menuitemRankingTick(struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemRankingInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemPlayerStatsRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemPlayerStatsTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemPlayerStatsTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
Gfx *menuitemPlayerStatsOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menuitem *item, struct menudialog *dialog, union menuitemdata *data);
|
||||
void menuitemPlayerStatsInit(struct menuitem *item, union menuitemdata *data);
|
||||
|
||||
@@ -75,7 +75,7 @@ Gfx *menuitemControllerRender(Gfx *gdl, struct menurendercontext *context);
|
||||
void menuitemControllerInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemInit(struct menuitem *item, union menuitemdata *data);
|
||||
Gfx *menuitemOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menuitem *item, struct menudialog *dialog, union menuitemdata *data);
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ s32 mpChooseRandomLockPlayer(void);
|
||||
bool mpSetLock(s32 locktype, s32 playernum);
|
||||
s32 mpGetLockType(void);
|
||||
u32 mpGetLockPlayerNum(void);
|
||||
bool mpIsPlayerLockedOut(u32 playernum);
|
||||
bool mpIsPlayerLockedOut(s32 playernum);
|
||||
void mpCalculateLockIfLastWinnerOrLoser(void);
|
||||
bool mpIsTrackUnlocked(s32 tracknum);
|
||||
s32 mpGetTrackSlotIndex(s32 tracknum);
|
||||
|
||||
+16
-16
@@ -3777,29 +3777,29 @@ struct menudialog {
|
||||
struct menuitem *focuseditem;
|
||||
/*0x0c*/ bool dimmed; // when dropdown is open or slider is active
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ s32 x14;
|
||||
/*0x18*/ s32 y18;
|
||||
/*0x1c*/ s32 width1c;
|
||||
/*0x20*/ s32 height20;
|
||||
/*0x14*/ s32 x;
|
||||
/*0x18*/ s32 y;
|
||||
/*0x1c*/ s32 width;
|
||||
/*0x20*/ s32 height;
|
||||
/*0x24*/ s32 contentwidth;
|
||||
/*0x28*/ s32 contentheight;
|
||||
/*0x2c*/ s32 x2c;
|
||||
/*0x30*/ s32 y30;
|
||||
/*0x34*/ s32 width34;
|
||||
/*0x38*/ s32 height38;
|
||||
/*0x2c*/ s32 dstx;
|
||||
/*0x30*/ s32 dsty;
|
||||
/*0x34*/ s32 dstwidth;
|
||||
/*0x38*/ s32 dstheight;
|
||||
/*0x3c*/ u8 type; // dialog type
|
||||
/*0x3d*/ u8 type2; // used when transitioning
|
||||
/*0x40*/ f32 transitiontimer; // >= 0 means transitioning from one dialog type to another
|
||||
/*0x40*/ f32 transitionfrac; // >= 0 means transitioning from one dialog type to another
|
||||
/*0x44*/ u32 colourweight;
|
||||
/*0x48*/ f32 unk48;
|
||||
/*0x48*/ f32 redrawtimer;
|
||||
/*0x4c*/ f32 unk4c;
|
||||
/*0x50*/ f32 unk50;
|
||||
/*0x54*/ u32 unk54;
|
||||
/*0x50*/ f32 statefrac;
|
||||
/*0x54*/ s32 unk54;
|
||||
/*0x58*/ u32 unk58;
|
||||
/*0x5c*/ u32 unk5c;
|
||||
/*0x60*/ u8 unk60;
|
||||
/*0x64*/ u32 unk64;
|
||||
/*0x68*/ u32 unk68;
|
||||
/*0x5c*/ s32 unk5c;
|
||||
/*0x60*/ u8 state;
|
||||
/*0x64*/ s32 scroll; // scroll related, 0 when at top, negative when scrolled down
|
||||
/*0x68*/ s32 dstscroll; // same value as unk64
|
||||
/*0x6c*/ u8 unk6c;
|
||||
/*0x6d*/ s8 unk6d;
|
||||
/*0x6e*/ u8 unk6e;
|
||||
|
||||
Reference in New Issue
Block a user