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 <dolphin/mtx.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
52
53typedef struct _HSD_FObjDesc {
54 struct _HSD_FObjDesc* next;
63
69
71void HSD_FObjInitAllocData(void);
72void HSD_FObjRemove(HSD_FObj* fobj);
73void HSD_FObjRemoveAll(HSD_FObj* fobj);
74u32 HSD_FObjSetState(HSD_FObj* fobj, u32 state);
76void HSD_FObjReqAnimAll(HSD_FObj* fobj, f32 startframe);
77void HSD_FObjStopAnim(HSD_FObj* fobj, void* obj, HSD_ObjUpdateFunc obj_update,
78 f32 rate);
79void HSD_FObjStopAnimAll(HSD_FObj* fobj, void* obj,
80 HSD_ObjUpdateFunc obj_update, f32 rate);
81void FObjUpdateAnim(HSD_FObj* fobj, void* obj, HSD_ObjUpdateFunc update_func);
82void HSD_FObjInterpretAnim(HSD_FObj* fobj, void* obj,
83 HSD_ObjUpdateFunc obj_update, f32 rate);
84void HSD_FObjInterpretAnimAll(void* fobj, void* obj,
85 HSD_ObjUpdateFunc obj_update, f32 rate);
88void HSD_FObjFree(HSD_FObj* fobj);
89
90#endif
struct Vec Vec3
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:13
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5
void HSD_FObjInterpretAnim(HSD_FObj *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition fobj.c:390
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:468
u32 HSD_FObjSetState(HSD_FObj *fobj, u32 state)
Definition fobj.c:38
HSD_FObj * HSD_FObjAlloc(void)
Definition fobj.c:485
void HSD_FObjInterpretAnimAll(void *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition fobj.c:458
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:336
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:493
void HSD_FObjRemoveAll(HSD_FObj *fobj)
Definition fobj.c:29
u8 desc[6][3]
Definition mnruleplus.c:98
void * obj
Definition pobj.c:38
Definition fobj.h:53
struct _HSD_FObjDesc * next
Definition fobj.h:54
u8 frac_slope
Definition fobj.h:59
u8 frac_value
Definition fobj.h:58
u8 dummy0
Definition fobj.h:60
u8 * ad
Definition fobj.h:61
u32 length
Definition fobj.h:55
f32 startframe
Definition fobj.h:56
u8 type
Definition fobj.h:57
Definition fobj.h:32
struct HSD_FObj * next
Definition fobj.h:33
f32 d1
Definition fobj.h:50
u8 op_intrp
Definition fobj.h:39
f32 p1
Definition fobj.h:48
u8 * ad
Definition fobj.h:34
u8 * ad_head
Definition fobj.h:35
u8 frac_slope
Definition fobj.h:42
u32 length
Definition fobj.h:36
u8 frac_value
Definition fobj.h:41
f32 time
Definition fobj.h:46
s16 startframe
Definition fobj.h:44
u16 nb_pack
Definition fobj.h:43
u8 flags
Definition fobj.h:37
u8 obj_type
Definition fobj.h:40
f32 p0
Definition fobj.h:47
u16 fterm
Definition fobj.h:45
u8 op
Definition fobj.h:38
f32 d0
Definition fobj.h:49
Definition objalloc.h:19
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition forward.h:106
Definition fobj.h:64
f32 fv
Definition fobj.h:65
Vec3 p
Definition fobj.h:67
s32 iv
Definition fobj.h:66