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 <platform.h>
5
6#include "baselib/forward.h"
7
8#include "baselib/objalloc.h"
9
10#include <dolphin/mtx/types.h>
11
12#define HSD_A_OP_NONE 0
13#define HSD_A_OP_CON 1
14#define HSD_A_OP_LIN 2
15#define HSD_A_OP_SPL0 3
16#define HSD_A_OP_SPL 4
17#define HSD_A_OP_SLP 5
18#define HSD_A_OP_KEY 6
19
20#define HSD_A_FRAC_FLOAT (0 << 5)
21#define HSD_A_FRAC_S16 (1 << 5)
22#define HSD_A_FRAC_U16 (2 << 5)
23#define HSD_A_FRAC_S8 (3 << 5)
24#define HSD_A_FRAC_U8 (4 << 5)
25
26#define FOBJ_LOAD_DATA0 1
27#define FOBJ_LOAD_DATA 2
28#define FOBJ_LOAD_WAIT 3
29
30#define TYPE_ROBJ 1
31#define TYPE_JOBJ 12
32
53
54typedef struct _HSD_FObjDesc {
55 struct _HSD_FObjDesc* next;
64
70
72void HSD_FObjInitAllocData(void);
73void HSD_FObjRemove(HSD_FObj* fobj);
74void HSD_FObjRemoveAll(HSD_FObj* fobj);
75u32 HSD_FObjSetState(HSD_FObj* fobj, u32 state);
77void HSD_FObjReqAnimAll(HSD_FObj* fobj, f32 startframe);
78void HSD_FObjStopAnim(HSD_FObj* fobj, void* obj, HSD_ObjUpdateFunc obj_update,
79 f32 rate);
80void HSD_FObjStopAnimAll(HSD_FObj* fobj, void* obj,
81 HSD_ObjUpdateFunc obj_update, f32 rate);
82void FObjUpdateAnim(HSD_FObj* fobj, void* obj, HSD_ObjUpdateFunc update_func);
83void HSD_FObjInterpretAnim(HSD_FObj* fobj, void* obj,
84 HSD_ObjUpdateFunc obj_update, f32 rate);
85void HSD_FObjInterpretAnimAll(void* fobj, void* obj,
86 HSD_ObjUpdateFunc obj_update, f32 rate);
89void HSD_FObjFree(HSD_FObj* fobj);
90
91#endif
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:456
u32 HSD_FObjSetState(HSD_FObj *fobj, u32 state)
Definition fobj.c:38
HSD_FObj * HSD_FObjAlloc(void)
Definition fobj.c:473
void HSD_FObjInterpretAnimAll(void *fobj, void *obj, HSD_ObjUpdateFunc obj_update, f32 rate)
Definition fobj.c:446
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:481
void HSD_FObjRemoveAll(HSD_FObj *fobj)
Definition fobj.c:29
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
float f32
A 32-bit floating-point number.
Definition platform.h:62
signed short s16
A signed 16-bit integer.
Definition platform.h:11
unsigned short u16
An unsigned 16-bit integer.
Definition platform.h:23
signed long s32
A signed 32-bit integer.
Definition platform.h:14
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
void * obj
Definition pobj.c:49
Definition fobj.h:54
struct _HSD_FObjDesc * next
Definition fobj.h:55
u8 frac_slope
Definition fobj.h:60
u8 frac_value
Definition fobj.h:59
u8 dummy0
Definition fobj.h:61
u8 * ad
Definition fobj.h:62
u32 length
Definition fobj.h:56
f32 startframe
Definition fobj.h:57
u8 type
Definition fobj.h:58
Definition fobj.h:33
f32 d1
Definition fobj.h:51
u8 op_intrp
Definition fobj.h:40
f32 p1
Definition fobj.h:49
u8 * ad
Definition fobj.h:35
u8 * ad_head
Definition fobj.h:36
u8 frac_slope
Definition fobj.h:43
u32 length
Definition fobj.h:37
u8 frac_value
Definition fobj.h:42
f32 time
Definition fobj.h:47
s16 startframe
Definition fobj.h:45
u16 nb_pack
Definition fobj.h:44
u8 flags
Definition fobj.h:38
u8 obj_type
Definition fobj.h:41
struct _HSD_FObj * next
Definition fobj.h:34
f32 p0
Definition fobj.h:48
u16 fterm
Definition fobj.h:46
u8 op
Definition fobj.h:39
f32 d0
Definition fobj.h:50
Definition objalloc.h:21
Definition types.h:13
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition forward.h:99
Definition fobj.h:65
f32 fv
Definition fobj.h:66
Vec3 p
Definition fobj.h:68
s32 iv
Definition fobj.h:67