animation struct documentation
This commit is contained in:
58
include/core2/skeletalanim.h
Normal file
58
include/core2/skeletalanim.h
Normal file
@@ -0,0 +1,58 @@
|
||||
#ifndef _SKELETAL_ANIMATION_H_
|
||||
#define _SKELETAL_ANIMATION_H_
|
||||
#include "core2/vla.h"
|
||||
#include "generic.h"
|
||||
#include "bonetransform.h"
|
||||
|
||||
enum skeletal_anim_e {
|
||||
SKELETAL_ANIM_1_LOOP = 1,
|
||||
SKELETAL_ANIM_2_ONCE,
|
||||
SKELETAL_ANIM_3_BACKWARDS,
|
||||
SKELETAL_ANIM_4_STOPPED
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
f32 when;
|
||||
u8 arg_count;
|
||||
//u8 pad5[0x3];
|
||||
void * callback_fn;
|
||||
s32 arg;
|
||||
}SkeletalAnimationCallback;
|
||||
|
||||
typedef struct {
|
||||
BoneTransformList *bone_transform;
|
||||
struct animation_file_s *animation_bin;
|
||||
f32 progress;
|
||||
f32 duration;
|
||||
vector(SkeletalAnimationCallback) *callback_list;
|
||||
u8 unk14;
|
||||
u8 behavior;
|
||||
s16 animation_id;
|
||||
s32 loop_count;
|
||||
f32 prev_progress;
|
||||
f32 transition_progress;
|
||||
BoneTransformList *transition_start;
|
||||
BoneTransformList *transition_target;
|
||||
f32 transition_duration;
|
||||
u8 unk30;
|
||||
// u8 pad31[3];
|
||||
}SkeletalAnimation;
|
||||
|
||||
void skeletalAnim_clearCallbacks(SkeletalAnimation *self);
|
||||
enum asset_e skeletalAnim_getAnimId(SkeletalAnimation *self);
|
||||
f32 skeletalAnim_getProgress(SkeletalAnimation *self);
|
||||
void skeletalAnim_getProgressRange(SkeletalAnimation *self, f32 *prev_progress, f32 *progress);
|
||||
BoneTransformList *skeletalAnim_getBoneTransformList(SkeletalAnimation *self);
|
||||
s32 skeletalAnim_getLoopCount(SkeletalAnimation *self);
|
||||
void skeletalAnim_setCallback_0(SkeletalAnimation *self, f32 when, GenFunction_0 fn);
|
||||
void skeletalAnim_setCallback_1(SkeletalAnimation *self, f32 when, GenFunction_1 fn, s32 arg);
|
||||
void skeletalAnim_free(SkeletalAnimation *self);
|
||||
SkeletalAnimation *skeletalAnim_new(void);
|
||||
void skeletalAnim_func_80335918(SkeletalAnimation *self);
|
||||
void skeletalAnim_set(SkeletalAnimation *self, enum asset_e anim_id, f32 transistion_duration, f32 duration);
|
||||
void skeletalAnim_swap(SkeletalAnimation *self, enum asset_e anim_id, f32 transistion_duration, f32 duration);
|
||||
void skeletalAnim_setProgress(SkeletalAnimation *self, f32 progress);
|
||||
void skeletalAnim_setDuration(SkeletalAnimation *self, f32 duration);
|
||||
void skeletalAnim_setBehavior(SkeletalAnimation *self, enum skeletal_anim_e behavior);
|
||||
void skeletalAnim_update(SkeletalAnimation *self, f32 dt, s32 arg2);
|
||||
#endif
|
Reference in New Issue
Block a user