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 <
dat_macros.h
>
9
10
#include <
dolphin/mtx.h
>
11
#include <
sysdolphin/baselib/objalloc.h
>
12
13
#define HSD_A_OP_NONE 0
14
#define HSD_A_OP_CON 1
15
#define HSD_A_OP_LIN 2
16
#define HSD_A_OP_SPL0 3
17
#define HSD_A_OP_SPL 4
18
#define HSD_A_OP_SLP 5
19
#define HSD_A_OP_KEY 6
20
21
#define HSD_A_FRAC_FLOAT (0 << 5)
22
#define HSD_A_FRAC_S16 (1 << 5)
23
#define HSD_A_FRAC_U16 (2 << 5)
24
#define HSD_A_FRAC_S8 (3 << 5)
25
#define HSD_A_FRAC_U8 (4 << 5)
26
27
#define FOBJ_LOAD_DATA0 1
28
#define FOBJ_LOAD_DATA 2
29
#define FOBJ_LOAD_WAIT 3
30
31
#define TYPE_ROBJ 1
32
#define TYPE_JOBJ 12
33
36
typedef
u8
HSD_FObjData
DAT_BLOB
;
37
38
struct
HSD_FObj
{
39
struct
HSD_FObj
*
next
;
40
u8
*
ad
;
41
u8
*
ad_head
;
42
u32
length
;
43
u8
flags
;
44
u8
op
;
45
u8
op_intrp
;
46
u8
obj_type
;
47
u8
frac_value
;
48
u8
frac_slope
;
49
u16
nb_pack
;
50
s16
startframe
;
51
u16
fterm
;
52
f32
time
;
53
f32
p0
;
54
f32
p1
;
55
f32
d0
;
56
f32
d1
;
57
};
58
59
typedef
struct
_HSD_FObjDesc {
60
struct
_HSD_FObjDesc*
next
;
61
u32
length
;
62
f32
startframe
;
63
u8
type
;
64
u8
frac_value
;
65
u8
frac_slope
;
66
u8
dummy0
;
67
HSD_FObjData* ad
DAT_COUNT
(
length
);
68
}
HSD_FObjDesc
;
69
70
union
HSD_ObjData
{
71
f32
fv
;
72
s32
iv
;
73
Vec3
p
;
74
};
75
76
HSD_ObjAllocData
*
HSD_FObjGetAllocData
(
void
);
77
void
HSD_FObjInitAllocData
(
void
);
78
void
HSD_FObjRemove
(
HSD_FObj
* fobj);
79
void
HSD_FObjRemoveAll
(
HSD_FObj
* fobj);
80
u32
HSD_FObjSetState
(
HSD_FObj
* fobj,
u32
state
);
81
u32
HSD_FObjGetState
(
HSD_FObj
* fobj);
82
void
HSD_FObjReqAnimAll
(
HSD_FObj
* fobj,
f32
startframe);
83
void
HSD_FObjStopAnim
(
HSD_FObj
* fobj,
void
* obj,
HSD_ObjUpdateFunc
obj_update,
84
f32
rate);
85
void
HSD_FObjStopAnimAll
(
HSD_FObj
* fobj,
void
* obj,
86
HSD_ObjUpdateFunc
obj_update,
f32
rate);
87
void
FObjUpdateAnim
(
HSD_FObj
* fobj,
void
* obj,
HSD_ObjUpdateFunc
update_func);
88
void
HSD_FObjInterpretAnim
(
HSD_FObj
* fobj,
void
* obj,
89
HSD_ObjUpdateFunc
obj_update,
f32
rate);
90
void
HSD_FObjInterpretAnimAll
(
void
* fobj,
void
* obj,
91
HSD_ObjUpdateFunc
obj_update,
f32
rate);
92
HSD_FObj
*
HSD_FObjLoadDesc
(
HSD_FObjDesc
* desc);
93
HSD_FObj
*
HSD_FObjAlloc
(
void
);
94
void
HSD_FObjFree
(
HSD_FObj
* fobj);
95
96
#endif
dat_macros.h
Annotations describing how archive data is laid out, for the parts a C declaration cannot express: ho...
DAT_BLOB
#define DAT_BLOB
On a typedef of u8: the bytes are data of one format the archive doesn't break down further,...
Definition
dat_macros.h:103
HSD_FObjInterpretAnim
void HSD_FObjInterpretAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition
fobj.c:392
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:478
HSD_FObjSetState
u32 HSD_FObjSetState(HSD_FObj *fobj, u32 state)
Definition
fobj.c:38
HSD_FObjAlloc
HSD_FObj * HSD_FObjAlloc(void)
Definition
fobj.c:495
HSD_FObjInterpretAnimAll
void HSD_FObjInterpretAnimAll(void *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition
fobj.c:468
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:338
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:503
HSD_FObjRemoveAll
void HSD_FObjRemoveAll(HSD_FObj *fobj)
Definition
fobj.c:29
state
state
Definition
gm_1BFA.c:18
mtx.h
Vec3
struct Vec Vec3
s32
signed int s32
Definition
types.h:12
u32
unsigned int u32
Definition
types.h:13
s16
signed short int s16
Definition
types.h:6
f32
float f32
Definition
types.h:18
u16
unsigned short int u16
Definition
types.h:7
u8
unsigned char u8
Definition
types.h:5
objalloc.h
platform.h
HSD_FObjDesc
Definition
fobj.h:59
HSD_FObjDesc::next
struct _HSD_FObjDesc * next
Definition
fobj.h:60
HSD_FObjDesc::frac_slope
u8 frac_slope
Definition
fobj.h:65
HSD_FObjDesc::frac_value
u8 frac_value
Definition
fobj.h:64
HSD_FObjDesc::dummy0
u8 dummy0
Definition
fobj.h:66
HSD_FObjDesc::length
u32 length
Definition
fobj.h:61
HSD_FObjDesc::startframe
f32 startframe
Definition
fobj.h:62
HSD_FObjDesc::type
u8 type
Definition
fobj.h:63
HSD_FObjDesc::DAT_COUNT
HSD_FObjData *ad DAT_COUNT(length)
HSD_FObj
Definition
fobj.h:38
HSD_FObj::next
struct HSD_FObj * next
Definition
fobj.h:39
HSD_FObj::d1
f32 d1
Definition
fobj.h:56
HSD_FObj::op_intrp
u8 op_intrp
Definition
fobj.h:45
HSD_FObj::p1
f32 p1
Definition
fobj.h:54
HSD_FObj::ad
u8 * ad
Definition
fobj.h:40
HSD_FObj::ad_head
u8 * ad_head
Definition
fobj.h:41
HSD_FObj::frac_slope
u8 frac_slope
Definition
fobj.h:48
HSD_FObj::length
u32 length
Definition
fobj.h:42
HSD_FObj::frac_value
u8 frac_value
Definition
fobj.h:47
HSD_FObj::time
f32 time
Definition
fobj.h:52
HSD_FObj::startframe
s16 startframe
Definition
fobj.h:50
HSD_FObj::nb_pack
u16 nb_pack
Definition
fobj.h:49
HSD_FObj::flags
u8 flags
Definition
fobj.h:43
HSD_FObj::obj_type
u8 obj_type
Definition
fobj.h:46
HSD_FObj::p0
f32 p0
Definition
fobj.h:53
HSD_FObj::fterm
u16 fterm
Definition
fobj.h:51
HSD_FObj::op
u8 op
Definition
fobj.h:44
HSD_FObj::d0
f32 d0
Definition
fobj.h:55
HSD_ObjAllocData
Definition
objalloc.h:19
forward.h
HSD_ObjUpdateFunc
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition
forward.h:111
HSD_ObjData
Definition
fobj.h:70
HSD_ObjData::fv
f32 fv
Definition
fobj.h:71
HSD_ObjData::p
Vec3 p
Definition
fobj.h:73
HSD_ObjData::iv
s32 iv
Definition
fobj.h:72
src
sysdolphin
baselib
fobj.h
Generated by
1.17.0