SSBM Decomp
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
7
8#include <dat_macros.h>
9
10#include <dolphin/mtx.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
36typedef u8 HSD_FObjData DAT_BLOB;
37
58
59typedef struct _HSD_FObjDesc {
60 struct _HSD_FObjDesc* next;
67 HSD_FObjData* ad DAT_COUNT(length);
69
75
77void HSD_FObjInitAllocData(void);
78void HSD_FObjRemove(HSD_FObj* fobj);
79void HSD_FObjRemoveAll(HSD_FObj* fobj);
82void HSD_FObjReqAnimAll(HSD_FObj* fobj, f32 startframe);
83void HSD_FObjStopAnim(HSD_FObj* fobj, void* obj, HSD_ObjUpdateFunc obj_update,
84 f32 rate);
85void HSD_FObjStopAnimAll(HSD_FObj* fobj, void* obj,
86 HSD_ObjUpdateFunc obj_update, f32 rate);
87void FObjUpdateAnim(HSD_FObj* fobj, void* obj, HSD_ObjUpdateFunc update_func);
88void HSD_FObjInterpretAnim(HSD_FObj* fobj, void* obj,
89 HSD_ObjUpdateFunc obj_update, f32 rate);
90void HSD_FObjInterpretAnimAll(void* fobj, void* obj,
91 HSD_ObjUpdateFunc obj_update, f32 rate);
94void HSD_FObjFree(HSD_FObj* fobj);
95
96#endif
Annotations describing how archive data is laid out, for the parts a C declaration cannot express: ho...
#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
void HSD_FObjInterpretAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition fobj.c:392
void HSD_FObjReqAnimAll(HSD_FObj *fobj, f32 startframe)
Definition fobj.c:74
u32 HSD_FObjGetState(HSD_FObj *fobj)
Definition fobj.c:46
void HSD_FObjStopAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition fobj.c:95
HSD_FObj * HSD_FObjLoadDesc(HSD_FObjDesc *desc)
Definition fobj.c:478
u32 HSD_FObjSetState(HSD_FObj *fobj, u32 state)
Definition fobj.c:38
HSD_FObj * HSD_FObjAlloc(void)
Definition fobj.c:495
void HSD_FObjInterpretAnimAll(void *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition fobj.c:468
HSD_ObjAllocData * HSD_FObjGetAllocData(void)
Definition fobj.c:10
void HSD_FObjInitAllocData(void)
Definition fobj.c:15
void HSD_FObjRemove(HSD_FObj *fobj)
Definition fobj.c:20
void FObjUpdateAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc update_func)
Definition fobj.c:338
void HSD_FObjStopAnimAll(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition fobj.c:106
void HSD_FObjFree(HSD_FObj *fobj)
Definition fobj.c:503
void HSD_FObjRemoveAll(HSD_FObj *fobj)
Definition fobj.c:29
state
Definition gm_1BFA.c:18
struct Vec Vec3
signed int s32
Definition types.h:12
unsigned int u32
Definition types.h:13
signed short int s16
Definition types.h:6
float f32
Definition types.h:18
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5
Definition fobj.h:59
struct _HSD_FObjDesc * next
Definition fobj.h:60
u8 frac_slope
Definition fobj.h:65
u8 frac_value
Definition fobj.h:64
u8 dummy0
Definition fobj.h:66
u32 length
Definition fobj.h:61
f32 startframe
Definition fobj.h:62
u8 type
Definition fobj.h:63
HSD_FObjData *ad DAT_COUNT(length)
Definition fobj.h:38
struct HSD_FObj * next
Definition fobj.h:39
f32 d1
Definition fobj.h:56
u8 op_intrp
Definition fobj.h:45
f32 p1
Definition fobj.h:54
u8 * ad
Definition fobj.h:40
u8 * ad_head
Definition fobj.h:41
u8 frac_slope
Definition fobj.h:48
u32 length
Definition fobj.h:42
u8 frac_value
Definition fobj.h:47
f32 time
Definition fobj.h:52
s16 startframe
Definition fobj.h:50
u16 nb_pack
Definition fobj.h:49
u8 flags
Definition fobj.h:43
u8 obj_type
Definition fobj.h:46
f32 p0
Definition fobj.h:53
u16 fterm
Definition fobj.h:51
u8 op
Definition fobj.h:44
f32 d0
Definition fobj.h:55
Definition objalloc.h:19
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition forward.h:111
Definition fobj.h:70
f32 fv
Definition fobj.h:71
Vec3 p
Definition fobj.h:73
s32 iv
Definition fobj.h:72