SSBM Decomp
Toggle main menu visibility
Loading...
Searching...
No Matches
fobj.h
Go to the documentation of this file.
1
#ifndef _fobj_h_
2
#define _fobj_h_
3
4
#include <
Runtime/platform.h
>
5
6
#include <
sysdolphin/baselib/forward.h
>
7
8
#include <
dolphin/mtx.h
>
9
#include <
sysdolphin/baselib/objalloc.h
>
10
11
#define HSD_A_OP_NONE 0
12
#define HSD_A_OP_CON 1
13
#define HSD_A_OP_LIN 2
14
#define HSD_A_OP_SPL0 3
15
#define HSD_A_OP_SPL 4
16
#define HSD_A_OP_SLP 5
17
#define HSD_A_OP_KEY 6
18
19
#define HSD_A_FRAC_FLOAT (0 << 5)
20
#define HSD_A_FRAC_S16 (1 << 5)
21
#define HSD_A_FRAC_U16 (2 << 5)
22
#define HSD_A_FRAC_S8 (3 << 5)
23
#define HSD_A_FRAC_U8 (4 << 5)
24
25
#define FOBJ_LOAD_DATA0 1
26
#define FOBJ_LOAD_DATA 2
27
#define FOBJ_LOAD_WAIT 3
28
29
#define TYPE_ROBJ 1
30
#define TYPE_JOBJ 12
31
32
struct
HSD_FObj
{
33
struct
HSD_FObj
*
next
;
34
u8
*
ad
;
35
u8
*
ad_head
;
36
u32
length
;
37
u8
flags
;
38
u8
op
;
39
u8
op_intrp
;
40
u8
obj_type
;
41
u8
frac_value
;
42
u8
frac_slope
;
43
u16
nb_pack
;
44
s16
startframe
;
45
u16
fterm
;
46
f32
time
;
47
f32
p0
;
48
f32
p1
;
49
f32
d0
;
50
f32
d1
;
51
};
52
53
typedef
struct
_HSD_FObjDesc {
54
struct
_HSD_FObjDesc*
next
;
55
u32
length
;
56
f32
startframe
;
57
u8
type
;
58
u8
frac_value
;
59
u8
frac_slope
;
60
u8
dummy0
;
61
u8
*
ad
;
62
}
HSD_FObjDesc
;
63
64
union
HSD_ObjData
{
65
f32
fv
;
66
s32
iv
;
67
Vec3
p
;
68
};
69
70
HSD_ObjAllocData
*
HSD_FObjGetAllocData
(
void
);
71
void
HSD_FObjInitAllocData
(
void
);
72
void
HSD_FObjRemove
(
HSD_FObj
* fobj);
73
void
HSD_FObjRemoveAll
(
HSD_FObj
* fobj);
74
u32
HSD_FObjSetState
(
HSD_FObj
* fobj,
u32
state);
75
u32
HSD_FObjGetState
(
HSD_FObj
* fobj);
76
void
HSD_FObjReqAnimAll
(
HSD_FObj
* fobj,
f32
startframe);
77
void
HSD_FObjStopAnim
(
HSD_FObj
* fobj,
void
*
obj
,
HSD_ObjUpdateFunc
obj_update,
78
f32
rate);
79
void
HSD_FObjStopAnimAll
(
HSD_FObj
* fobj,
void
*
obj
,
80
HSD_ObjUpdateFunc
obj_update,
f32
rate);
81
void
FObjUpdateAnim
(
HSD_FObj
* fobj,
void
*
obj
,
HSD_ObjUpdateFunc
update_func);
82
void
HSD_FObjInterpretAnim
(
HSD_FObj
* fobj,
void
*
obj
,
83
HSD_ObjUpdateFunc
obj_update,
f32
rate);
84
void
HSD_FObjInterpretAnimAll
(
void
* fobj,
void
*
obj
,
85
HSD_ObjUpdateFunc
obj_update,
f32
rate);
86
HSD_FObj
*
HSD_FObjLoadDesc
(
HSD_FObjDesc
*
desc
);
87
HSD_FObj
*
HSD_FObjAlloc
(
void
);
88
void
HSD_FObjFree
(
HSD_FObj
* fobj);
89
90
#endif
mtx.h
Vec3
struct Vec Vec3
u32
unsigned long u32
Definition
types.h:9
s16
signed short int s16
Definition
types.h:6
f32
float f32
Definition
types.h:13
u16
unsigned short int u16
Definition
types.h:7
s32
signed long s32
Definition
types.h:8
u8
unsigned char u8
Definition
types.h:5
HSD_FObjInterpretAnim
void HSD_FObjInterpretAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition
fobj.c:390
HSD_FObjReqAnimAll
void HSD_FObjReqAnimAll(HSD_FObj *fobj, f32 startframe)
Definition
fobj.c:74
HSD_FObjGetState
u32 HSD_FObjGetState(HSD_FObj *fobj)
Definition
fobj.c:46
HSD_FObjStopAnim
void HSD_FObjStopAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition
fobj.c:95
HSD_FObjLoadDesc
HSD_FObj * HSD_FObjLoadDesc(HSD_FObjDesc *desc)
Definition
fobj.c:468
HSD_FObjSetState
u32 HSD_FObjSetState(HSD_FObj *fobj, u32 state)
Definition
fobj.c:38
HSD_FObjAlloc
HSD_FObj * HSD_FObjAlloc(void)
Definition
fobj.c:485
HSD_FObjInterpretAnimAll
void HSD_FObjInterpretAnimAll(void *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition
fobj.c:458
HSD_FObjGetAllocData
HSD_ObjAllocData * HSD_FObjGetAllocData(void)
Definition
fobj.c:10
HSD_FObjInitAllocData
void HSD_FObjInitAllocData(void)
Definition
fobj.c:15
HSD_FObjRemove
void HSD_FObjRemove(HSD_FObj *fobj)
Definition
fobj.c:20
FObjUpdateAnim
void FObjUpdateAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc update_func)
Definition
fobj.c:336
HSD_FObjStopAnimAll
void HSD_FObjStopAnimAll(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition
fobj.c:106
HSD_FObjFree
void HSD_FObjFree(HSD_FObj *fobj)
Definition
fobj.c:493
HSD_FObjRemoveAll
void HSD_FObjRemoveAll(HSD_FObj *fobj)
Definition
fobj.c:29
desc
u8 desc[6][3]
Definition
mnruleplus.c:98
objalloc.h
platform.h
obj
void * obj
Definition
pobj.c:38
HSD_FObjDesc
Definition
fobj.h:53
HSD_FObjDesc::next
struct _HSD_FObjDesc * next
Definition
fobj.h:54
HSD_FObjDesc::frac_slope
u8 frac_slope
Definition
fobj.h:59
HSD_FObjDesc::frac_value
u8 frac_value
Definition
fobj.h:58
HSD_FObjDesc::dummy0
u8 dummy0
Definition
fobj.h:60
HSD_FObjDesc::ad
u8 * ad
Definition
fobj.h:61
HSD_FObjDesc::length
u32 length
Definition
fobj.h:55
HSD_FObjDesc::startframe
f32 startframe
Definition
fobj.h:56
HSD_FObjDesc::type
u8 type
Definition
fobj.h:57
HSD_FObj
Definition
fobj.h:32
HSD_FObj::next
struct HSD_FObj * next
Definition
fobj.h:33
HSD_FObj::d1
f32 d1
Definition
fobj.h:50
HSD_FObj::op_intrp
u8 op_intrp
Definition
fobj.h:39
HSD_FObj::p1
f32 p1
Definition
fobj.h:48
HSD_FObj::ad
u8 * ad
Definition
fobj.h:34
HSD_FObj::ad_head
u8 * ad_head
Definition
fobj.h:35
HSD_FObj::frac_slope
u8 frac_slope
Definition
fobj.h:42
HSD_FObj::length
u32 length
Definition
fobj.h:36
HSD_FObj::frac_value
u8 frac_value
Definition
fobj.h:41
HSD_FObj::time
f32 time
Definition
fobj.h:46
HSD_FObj::startframe
s16 startframe
Definition
fobj.h:44
HSD_FObj::nb_pack
u16 nb_pack
Definition
fobj.h:43
HSD_FObj::flags
u8 flags
Definition
fobj.h:37
HSD_FObj::obj_type
u8 obj_type
Definition
fobj.h:40
HSD_FObj::p0
f32 p0
Definition
fobj.h:47
HSD_FObj::fterm
u16 fterm
Definition
fobj.h:45
HSD_FObj::op
u8 op
Definition
fobj.h:38
HSD_FObj::d0
f32 d0
Definition
fobj.h:49
HSD_ObjAllocData
Definition
objalloc.h:19
forward.h
HSD_ObjUpdateFunc
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition
forward.h:106
HSD_ObjData
Definition
fobj.h:64
HSD_ObjData::fv
f32 fv
Definition
fobj.h:65
HSD_ObjData::p
Vec3 p
Definition
fobj.h:67
HSD_ObjData::iv
s32 iv
Definition
fobj.h:66
src
sysdolphin
baselib
fobj.h
Generated by
1.17.0