SSBM Decomp
Loading...
Searching...
No Matches
inlines.h
Go to the documentation of this file.
1#include "lb/lb_00F9.h"
2#include "lb/lbaudio_ax.h"
3#include "mn/mnmain.h"
4#include "mn/types.h"
5
6#include <baselib/gobj.h>
8#include <baselib/jobj.h>
9#include <baselib/memory.h>
10#include <baselib/sislib.h>
11
13typedef enum _MenuEvent {
14 MenuEvent_Up = 1 << 0,
20 MenuEvent_unk = 1 << 6,
24 MenuEvent_unk5 = 1 << 10,
25 MenuEvent_unk6 = 1 << 11,
26} MenuEvent;
27
28#define GET_MENU(gobj) ((Menu*) HSD_GObjGetUserData(gobj))
29
30static inline void Menu_DecrementAnimTimer(void)
31{
33 mn_804D6BC8.x2 = 0;
34 mn_804D6BC8.x4 = 0;
35}
36
37static inline u64 Menu_GetAllEvents(void)
38{
39 return mn_804A04F0.x8 = mn_80229624(4);
40}
41
42static inline u64 Menu_GetEventsForPort(s32 i)
43{
44 return mn_804A04F0.x8 = mn_80229624(i);
45}
46
47// @todo: The functions `fn_8017435C`, `fn_80174338`, and `fn_80174380` are
48// probably deduplicated clones of these.
49
50static inline void sfxBack(void)
51{
53}
54
55static inline void sfxForward(void)
56{
58}
59
60static inline void sfxMove(void)
61{
63}
64
65static inline void Menu_InitCenterText(Menu* menu, u8 val)
66{
67 HSD_Text* text =
68 HSD_SisLib_803A5ACC(0, 1, -9.5F, 9.1F, 17.0F, 364.68332F, 38.38772F);
69 menu->text = text;
70 text->x24.x = 0.0521F;
71 text->x24.y = 0.0521F;
73}
74
75// @todo: One of these inlines is probably correct
76
77static inline void inline_test_3(HSD_JObj* jobj, f32 val, u8 loops,
78 HSD_TypeMask type)
79{
80 HSD_JObjReqAnimAll(jobj, val);
81 mn_8022F3D8(jobj, loops, type);
82 HSD_JObjAnimAll(jobj);
83}
84
85static inline void inline_test_4(HSD_GObj* gobj, f32 val, u8 loops,
86 HSD_TypeMask type)
87{
88 HSD_JObj* jobj;
89 lb_80011E24(GET_JOBJ(gobj), &jobj, 5, -1);
90 HSD_JObjReqAnimAll(jobj, val);
91 mn_8022F3D8(jobj, loops, type);
92 HSD_JObjAnimAll(jobj);
93}
DevText * text
Definition dbanim.c:15
#define GET_JOBJ(gobj)
Definition gobj.h:168
void HSD_JObjReqAnimAll(HSD_JObj *jobj, f32 frame)
Definition jobj.c:272
void HSD_JObjAnimAll(HSD_JObj *jobj)
Definition jobj.c:561
int lb_80011E24(HSD_JObj *, HSD_JObj **,...)
void lbAudioAx_80024030(s32)
static void sfxMove(void)
Definition inlines.h:60
static void sfxBack(void)
Definition inlines.h:50
static void inline_test_3(HSD_JObj *jobj, f32 val, u8 loops, HSD_TypeMask type)
Definition inlines.h:77
static u64 Menu_GetAllEvents(void)
Definition inlines.h:37
static void Menu_InitCenterText(Menu *menu, u8 val)
Definition inlines.h:65
static void Menu_DecrementAnimTimer(void)
Definition inlines.h:30
static void inline_test_4(HSD_GObj *gobj, f32 val, u8 loops, HSD_TypeMask type)
Definition inlines.h:85
static void sfxForward(void)
Definition inlines.h:55
static u64 Menu_GetEventsForPort(s32 i)
Definition inlines.h:42
MenuEvent
Definition inlines.h:13
@ MenuEvent_Back
Definition inlines.h:19
@ MenuEvent_Down
Definition inlines.h:15
@ MenuEvent_Up
Definition inlines.h:14
@ MenuEvent_Right
Definition inlines.h:17
@ MenuEvent_unk
Definition inlines.h:20
@ MenuEvent_unk2
Definition inlines.h:21
@ MenuEvent_Left
Definition inlines.h:16
@ MenuEvent_unk6
Definition inlines.h:25
@ MenuEvent_unk5
Definition inlines.h:24
@ MenuEvent_Forward
Definition inlines.h:18
@ MenuEvent_unk4
Definition inlines.h:23
@ MenuEvent_unk3
Definition inlines.h:22
void mn_8022F3D8(void *, u8, HSD_TypeMask)
u32 mn_80229624(u32)
Definition mnmain.c:603
mn_unk1 mn_804A04F0
Definition mnmain.c:58
mn_unk2 mn_804D6BC8
Definition mnmain.c:50
HSD_TypeMask
Definition object.h:40
void HSD_SisLib_803A6368(HSD_Text *arg0, s32 arg1)
Definition sislib.c:583
HSD_Text * HSD_SisLib_803A5ACC(int arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6)
Definition sislib.c:329
s16 y
Definition types.h:18
s16 x
Definition types.h:17
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition jobj.h:107
Definition sislib.h:37
Definition types.h:12
HSD_Text * text
Definition types.h:18
u64 x8
Definition mnmain.h:16
u16 x2
Definition mnmain.h:26
s32 x4
Definition mnmain.h:27
u16 x0
Definition mnmain.h:25