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/mn_2295.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
12typedef enum _MenuEvent {
13 MenuEvent_Up = 1 << 0,
19 MenuEvent_unk = 1 << 6,
23 MenuEvent_unk5 = 1 << 10,
24 MenuEvent_unk6 = 1 << 11,
25} MenuEvent;
26
27#define GET_MENU(gobj) ((Menu*) HSD_GObjGetUserData(gobj))
28
29static inline void Menu_DecrementAnimTimer(void)
30{
32 mn_804D6BC8.x2 = 0;
33 mn_804D6BC8.x4 = 0;
34}
35
36static inline u64 Menu_GetEvents(void)
37{
38 return mn_804A04F0.x8 = mn_80229624(4);
39}
40
41// @todo: The functions `fn_8017435C`, `fn_80174338`, and `fn_80174380` are
42// probably deduplicated clones of these.
43
44static inline void sfxBack(void)
45{
47}
48
49static inline void sfxForward(void)
50{
52}
53
54static inline void sfxMove(void)
55{
57}
58
59static inline void Menu_InitCenterText(Menu* menu, u8 val)
60{
61 HSD_Text* text =
62 HSD_SisLib_803A5ACC(0, 1, -9.5F, 9.1F, 17.0F, 364.68332F, 38.38772F);
63 menu->text = text;
64 text->x24.x = 0.0521F;
65 text->x24.y = 0.0521F;
66 HSD_SisLib_803A6368(text, val);
67}
68
69// @todo: One of these inlines is probably correct
70
71static inline void inline_test_3(HSD_JObj* jobj, f32 val, u8 loops,
72 HSD_TypeMask type)
73{
74 HSD_JObjReqAnimAll(jobj, val);
75 mn_8022F3D8(jobj, loops, type);
76 HSD_JObjAnimAll(jobj);
77}
78
79static inline void inline_test_4(HSD_GObj* gobj, f32 val, u8 loops,
80 HSD_TypeMask type)
81{
82 HSD_JObj* jobj;
83 lb_80011E24(GET_JOBJ(gobj), &jobj, 5, -1);
84 HSD_JObjReqAnimAll(jobj, val);
85 mn_8022F3D8(jobj, loops, type);
86 HSD_JObjAnimAll(jobj);
87}
void * HSD_SisLib_803A5ACC(u8, int, float, float, float)
void HSD_SisLib_803A6368(void *, u32)
#define GET_JOBJ(gobj)
Definition gobj.h:162
void HSD_JObjReqAnimAll(HSD_JObj *jobj, f32 frame)
Definition jobj.c:273
void HSD_JObjAnimAll(HSD_JObj *jobj)
Definition jobj.c:562
int lb_80011E24(HSD_JObj *, HSD_JObj **,...)
void lbAudioAx_80024030(s32)
static void sfxMove(void)
Definition inlines.h:54
static void sfxBack(void)
Definition inlines.h:44
static void inline_test_3(HSD_JObj *jobj, f32 val, u8 loops, HSD_TypeMask type)
Definition inlines.h:71
static void Menu_InitCenterText(Menu *menu, u8 val)
Definition inlines.h:59
static void Menu_DecrementAnimTimer(void)
Definition inlines.h:29
static void inline_test_4(HSD_GObj *gobj, f32 val, u8 loops, HSD_TypeMask type)
Definition inlines.h:79
static u64 Menu_GetEvents(void)
Definition inlines.h:36
static void sfxForward(void)
Definition inlines.h:49
MenuEvent
Definition inlines.h:12
@ MenuEvent_Back
Definition inlines.h:18
@ MenuEvent_Down
Definition inlines.h:14
@ MenuEvent_Up
Definition inlines.h:13
@ MenuEvent_Right
Definition inlines.h:16
@ MenuEvent_unk
Definition inlines.h:19
@ MenuEvent_unk2
Definition inlines.h:20
@ MenuEvent_Left
Definition inlines.h:15
@ MenuEvent_unk6
Definition inlines.h:24
@ MenuEvent_unk5
Definition inlines.h:23
@ MenuEvent_Forward
Definition inlines.h:17
@ MenuEvent_unk4
Definition inlines.h:22
@ MenuEvent_unk3
Definition inlines.h:21
u32 mn_80229624(u32 arg0)
Definition mn_2295.c:25
mn_unk1 mn_804A04F0
void mn_8022F3D8(void *, u8, HSD_TypeMask)
mn_unk2 mn_804D6BC8
HSD_TypeMask
Definition object.h:40
float f32
A 32-bit floating-point number.
Definition platform.h:62
unsigned long long u64
An unsigned 64-bit integer.
Definition platform.h:29
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
Definition gobj.h:25
Definition jobj.h:108
Definition sislib.h:47
Vec2 x24
Definition sislib.h:57
Definition types.h:10
HSD_Text * text
Definition types.h:16
f32 x
The x component.
Definition types.h:10
f32 y
The y component.
Definition types.h:10
u64 x8
Definition mn_2295.h:35
u16 x2
Definition mn_2295.h:42
s32 x4
Definition mn_2295.h:43
u16 x0
Definition mn_2295.h:41