SSBM Decomp
Loading...
Searching...
No Matches
mnmain.h
Go to the documentation of this file.
1#ifndef MELEE_MN_MAIN_H
2#define MELEE_MN_MAIN_H
3
4#include <placeholder.h>
5#include <platform.h>
6
7#include "gm/forward.h"
8#include "mn/forward.h"
9
10#include <dolphin/gx.h>
11#include <dolphin/mtx.h>
12#include <baselib/object.h>
13
14typedef struct _MainMenuData {
15 /* 0x0000 */ MenuKind8 menu_kind;
17 /* 0x0002 */ MenuState8 state;
18 /* 0x0003 */ u8 pad_3;
19 /* 0x0004 */ HSD_JObj* tree[42]; // 42 * 4 = 0xA8 bytes
20 /* 0x00AC */ HSD_Text* description;
22
23typedef struct _MainMenuPanelData {
24 /* 0x0000 */ MenuKind8 cur_menu;
25 /* 0x0001 */ MenuKind8 prev_menu;
26 /* 0x0002 */ u8 x2;
27 /* 0x0003 */ MenuState8 state;
29
30typedef struct _MenuFlow {
31 /* 0x0000 */ MenuKind8 cur_menu;
32 /* 0x0001 */ MenuKind8 prev_menu;
33 /* 0x0002 */ u16 hovered_selection;
34 /* 0x0004 */ u8 confirmed_selection;
35 /* 0x0005 */ u8 pad_5[3];
36 /* 0x0008 */ u64 buttons;
37 /* 0x0010 */ u8 x10;
38 /* 0x0011 */ u8 entering_menu;
39 /* 0x0012 */ u8 light_lerp_frames;
40 /* 0x0013 */ u8 pad_13;
41 /* 0x0014 */ GXColor* light_color;
42} MenuFlow;
43
44typedef struct _MenuInputState {
46 u16 x2;
49
50/* 2295AC */ u8 mn_802295AC(void);
51/* 229624 */ u32 mn_80229624(u32);
52/* 229860 */ void mn_80229860(s8);
53/* 229894 */ void mn_80229894(s32, u16, s32);
54/* 229938 */ bool mn_80229938(MenuKind, s32);
55/* 229A04 */ int mn_80229A04(MenuKind, int);
56/* 229B2C */ HSD_GObj* mn_80229B2C(void);
57/* 229BF4 */ void fn_80229BF4(HSD_GObj*);
58/* 229DC0 */ HSD_GObj* mn_80229DC0(void);
59/* 229F60 */ void mn_80229F60(HSD_GObj*, HSD_JObj*, MainMenuSelection);
60/* 22A440 */ void mn_8022A440(HSD_GObj*, HSD_JObj*, MainMenuSelection);
61/* 22A5D0 */ void mn_8022A5D0(HSD_GObj*, MainMenuSelection);
62/* 22ADD8 */ void mn_8022ADD8(HSD_GObj*, bool);
63/* 22AF10 */ void fn_8022AF10(HSD_GObj*);
64/* 22AFEC */ void fn_8022AFEC(HSD_GObj*);
65/* 22B3A0 */ HSD_GObj* mn_8022B3A0(u8);
66/* 22BA1C */ void mn_8022BA1C(HSD_GObj*);
67/* 22BCD4 */ void fn_8022BCD4(HSD_GObj*, int);
68/* 22BCF8 */ HSD_GObj* mn_8022BCF8(void);
69/* 22BD6C */ void mn_8022BD6C(void);
70/* 22BD8C */ void mn_8022BD8C(void);
71/* 22BDB4 */ void fn_8022BDB4(HSD_GObj*, int);
72/* 22BE34 */ HSD_GObj* mn_8022BE34(void);
73/* 22BEDC */ void mn_8022BEDC(HSD_GObj*);
74/* 22BFBC */ GXColor* mn_8022BFBC(int);
75/* 22C010 */ int mn_8022C010(int, int);
76/* 22C068 */ void mn_8022C068(HSD_LObj*, int, int);
77/* 22C128 */ void fn_8022C128(HSD_GObj*);
78/* 22C304 */ void mn_8022C304(void);
79/* 22C4F4 */ void mn_8022C4F4(HSD_GObj*);
80/* 22C7CC */ void mn_8022C7CC(HSD_GObj*);
81/* 22CA54 */ void mn_8022CA54(HSD_GObj*);
82/* 22CC28 */ void mn_8022CC28(HSD_GObj*);
83/* 22CE6C */ void mn_8022CE6C(HSD_GObj*);
84/* 22D104 */ void mn_8022D104(HSD_GObj*);
85/* 22D34C */ void mn_8022D34C(HSD_GObj*);
86/* 22D594 */ void mn_8022D594(HSD_GObj*);
87/* 22D7F4 */ void mn_8022D7F4(HSD_GObj*);
88/* 22DB10 */ void mn_8022DB10(HSD_GObj*);
89/* 22DD38 */ void mn_8022DD38_OnFrame(void);
90/* 22DDA8 */ void mn_8022DDA8_OnEnter(MenuEnterData*);
91/* 22E950 */ bool mn_IsFighterUnlocked(int);
92/* 22E978 */ void mn_8022E978(u8 item_idx,
93 u8 enable);
94/* 22EA08 */ void mn_8022EA08(char* buf, u32 num);
95/* 22EA78 */ void mn_8022EA78(char* buf, int buf_end, u32 num);
96/* 22EAE0 */ void mn_8022EAE0(HSD_GObj*);
97/* 22EB04 */ void mn_8022EB04(void* user_data);
98/* 22EB24 */ s32 mn_GetDigitAt(s32, s32);
99/* 22EB78 */ s32 mn_GetDigitCount(s32);
100/* 22EBDC */ void mn_8022EBDC(void);
101/* 22EC18 */ float mn_8022EC18(HSD_JObj*, AnimLoopSettings*, HSD_TypeMask);
102/* 22ED6C */ float mn_8022ED6C(HSD_JObj*, AnimLoopSettings*);
103/* 22EE84 */ float mn_8022EE84(HSD_JObj* arg0, AnimLoopSettings* arg1,
104 HSD_TypeMask arg2);
105/* 22EFD8 */ float mn_8022EFD8(HSD_JObj*, AnimLoopSettings*);
106/* 22F0F0 */ void mn_8022F0F0(int);
107/* 22F138 */ void mn_8022F138(u16, u16);
108/* 22F1A8 */ void mn_8022F1A8(u16, u16);
109/* 22F218 */ bool mn_8022F218(void);
110/* 22F268 */ void mn_8022F268(void);
111/* 22F298 */ f32 mn_8022F298(HSD_JObj*);
112/* 22F360 */ void mn_8022F360(HSD_AObj* aobj, void* obj, u32 arg2);
113/* 22F3D8 */ void mn_8022F3D8(HSD_JObj*, u8, HSD_TypeMask);
114/* 22F410 */ int mn_8022F410(float* x, float* target, float dx);
115/* 22F470 */ int mn_8022F470(int* x, int* target, int dx);
116/* 22F4CC */ void mn_8022F4CC(void);
117
118/* 4A04F0 */ extern MenuFlow mn_804A04F0;
119/* 4D6BB8 */ extern HSD_Archive* mn_804D6BB8;
120/* 4D6BC8 */ extern MenuInputState mn_804D6BC8;
121
122#endif
char buf[0x5A4]
Definition dbanim.c:16
signed char s8
Definition hsd_3B2B.h:3
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
unsigned char MenuKind8
Definition forward.h:25
MainMenuSelection
selection refers to the invidual options inside menus/submenus
Definition forward.h:122
MenuKind
Definition forward.h:73
unsigned char MenuState8
Definition forward.h:26
void mn_8022EA08(char *buf, u32 num)
Definition mnmain.c:658
void mn_8022C7CC(HSD_GObj *)
Stadium menu think.
Definition mnmain.c:1964
void mn_8022EAE0(HSD_GObj *)
mn_8022EA08
Definition mnmain.c:2934
void mn_8022C068(HSD_LObj *, int, int)
Definition mnmain.c:1736
int mn_8022F410(float *x, float *target, float dx)
Moves x toward a target value in increments of dx.
Definition mnmain.c:3234
int mn_8022C010(int, int)
gets the menu light color index
Definition mnmain.c:1687
void mn_8022C4F4(HSD_GObj *)
Special Vs menu think.
Definition mnmain.c:1849
void mn_8022F360(HSD_AObj *aobj, void *obj, u32 arg2)
Definition mnmain.c:3209
void mn_80229894(s32, u16, s32)
Definition mnmain.c:701
void fn_8022AF10(HSD_GObj *)
Definition mnmain.c:1188
void mn_8022F138(u16, u16)
Definition mnmain.c:3125
bool mn_8022F218(void)
Definition mnmain.c:3154
bool mn_IsFighterUnlocked(int)
Definition mnmain.c:2916
void mn_8022F3D8(HSD_JObj *, u8, HSD_TypeMask)
Definition mnmain.c:3220
void mn_8022BD6C(void)
Definition mnmain.c:1614
void fn_8022BCD4(HSD_GObj *, int)
Definition mnmain.c:1596
void mn_8022D104(HSD_GObj *)
Settings menu think.
Definition mnmain.c:2259
void mn_8022E978(u8 item_idx, u8 enable)
set/unset item mask bit
Definition mnmain.c:2921
void fn_80229BF4(HSD_GObj *)
Definition mnmain.c:836
HSD_GObj * mn_8022B3A0(u8)
sets up a new menu when transitioning from another.
Definition mnmain.c:1383
MenuInputState mn_804D6BC8
Definition mnmain.c:52
void mn_8022A440(HSD_GObj *, HSD_JObj *, MainMenuSelection)
cursor animation on unhover
Definition mnmain.c:995
void mn_80229F60(HSD_GObj *, HSD_JObj *, MainMenuSelection)
cursor animation on hover
Definition mnmain.c:931
HSD_GObj * mn_80229DC0(void)
Definition mnmain.c:885
GXColor * mn_8022BFBC(int)
Definition mnmain.c:1670
void mn_8022F0F0(int)
Definition mnmain.c:3114
bool mn_80229938(MenuKind, s32)
checks if a menu selection is locked
Definition mnmain.c:720
void mn_8022D34C(HSD_GObj *)
Trohpy menu think.
Definition mnmain.c:2339
HSD_GObj * mn_8022BE34(void)
Definition mnmain.c:1638
u32 mn_80229624(u32)
Definition mnmain.c:599
void mn_8022ADD8(HSD_GObj *, bool)
Definition mnmain.c:1137
void fn_8022BDB4(HSD_GObj *, int)
Definition mnmain.c:1626
float mn_8022EFD8(HSD_JObj *, AnimLoopSettings *)
updates a jobjs looping animation.
Definition mnmain.c:3080
void mn_8022DD38_OnFrame(void)
Definition mnmain.c:2675
void mn_8022A5D0(HSD_GObj *, MainMenuSelection)
updates cursor animation
Definition mnmain.c:1029
void mn_8022F1A8(u16, u16)
Definition mnmain.c:3145
void fn_8022C128(HSD_GObj *)
Definition mnmain.c:1763
MenuFlow mn_804A04F0
Definition mnmain.c:60
float mn_8022EC18(HSD_JObj *, AnimLoopSettings *, HSD_TypeMask)
Definition mnmain.c:2956
void mn_80229860(s8)
Definition mnmain.c:649
int mn_8022F470(int *x, int *target, int dx)
Same as mn_8022F410, but for int values instead of float.
Definition mnmain.c:3249
void mn_8022BEDC(HSD_GObj *)
Definition mnmain.c:1654
HSD_Archive * mn_804D6BB8
Definition mnmain.c:56
void mn_8022CA54(HSD_GObj *)
Records menu think.
Definition mnmain.c:2023
HSD_GObj * mn_80229B2C(void)
Definition mnmain.c:798
u8 mn_802295AC(void)
Definition mnmain.c:586
void mn_8022C304(void)
Definition mnmain.c:1785
void mn_8022BD8C(void)
Definition mnmain.c:1620
void mn_8022D594(HSD_GObj *)
Versus menu think.
Definition mnmain.c:2414
void mn_8022D7F4(HSD_GObj *)
Singleplayer menu think.
Definition mnmain.c:2501
float mn_8022EE84(HSD_JObj *arg0, AnimLoopSettings *arg1, HSD_TypeMask arg2)
int mn_80229A04(MenuKind, int)
returns the amount of unlocked selections
Definition mnmain.c:752
void fn_8022AFEC(HSD_GObj *)
main menu think func that handles the updating of objects (animations, text)
Definition mnmain.c:1217
void mn_8022CE6C(HSD_GObj *)
Data menu think.
Definition mnmain.c:2165
float mn_8022ED6C(HSD_JObj *, AnimLoopSettings *)
updates a jobjs animation in accordance to the passed in anim loop setting
Definition mnmain.c:2998
void mn_8022DDA8_OnEnter(MenuEnterData *)
Definition mnmain.c:2710
void mn_8022CC28(HSD_GObj *)
Regular Match menu think.
Definition mnmain.c:2089
s32 mn_GetDigitAt(s32, s32)
Definition mnmain.c:677
void mn_8022EBDC(void)
mn_GetDigitAt
Definition mnmain.c:2948
void mn_8022F268(void)
Definition mnmain.c:3162
s32 mn_GetDigitCount(s32)
Definition mnmain.c:682
f32 mn_8022F298(HSD_JObj *)
returns the current frame of jobjs animation
Definition mnmain.c:3168
void mn_8022EB04(void *user_data)
Definition mnmain.c:2939
void mn_8022BA1C(HSD_GObj *)
updates menu camera rotation from the cstick
Definition mnmain.c:1529
void mn_8022DB10(HSD_GObj *)
Main menu input think.
Definition mnmain.c:2601
void mn_8022F4CC(void)
Definition mnmain.c:3265
void mn_8022EA78(char *buf, int buf_end, u32 num)
Definition mnmain.c:668
HSD_GObj * mn_8022BCF8(void)
Definition mnmain.c:1601
HSD_TypeMask
Definition object.h:40
void * obj
Definition pobj.c:43
Definition types.h:435
Definition aobj.h:41
Definition archive.h:34
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition jobj.h:107
Definition lobj.h:57
Definition sislib.h:47
Definition mnmain.h:14
MenuState8 state
Definition mnmain.h:17
HSD_Text * description
Definition mnmain.h:20
MenuKind8 hovered_selection
Definition mnmain.h:16
MenuKind8 menu_kind
Definition mnmain.h:15
u8 pad_3
Definition mnmain.h:18
Definition mnmain.h:23
MenuKind8 cur_menu
Definition mnmain.h:24
MenuKind8 prev_menu
Definition mnmain.h:25
MenuState8 state
Definition mnmain.h:27
u8 x2
Definition mnmain.h:26
data passed to OnLoad callback for MJ_MENU
Definition types.h:980
Definition mnmain.h:30
u8 entering_menu
bool
Definition mnmain.h:38
GXColor * light_color
used for the main panel color
Definition mnmain.h:41
u8 light_lerp_frames
Definition mnmain.h:39
MenuKind8 cur_menu
Definition mnmain.h:31
MenuKind8 prev_menu
Definition mnmain.h:32
u8 confirmed_selection
Definition mnmain.h:34
u8 x10
Definition mnmain.h:37
u16 hovered_selection
Definition mnmain.h:33
u64 buttons
Definition mnmain.h:36
u8 pad_13
Definition mnmain.h:40
Definition mnmain.h:44
u16 cooldown
Definition mnmain.h:45
s32 x4
Definition mnmain.h:47
u16 x2
Definition mnmain.h:46