56 lines
1.5 KiB
C
56 lines
1.5 KiB
C
#ifndef ANIMDATA_H
|
|
#define ANIMDATA_H
|
|
#include "Resource.h"
|
|
#include "FrameSheet.h"
|
|
|
|
struct AnimArray {
|
|
int count;
|
|
struct AnimData **anims;
|
|
};
|
|
struct AnimArray *newAnimArray();
|
|
int freeAnimArray(struct AnimArray *anim_array);
|
|
int pushAnimData(struct AnimArray *anim_array, struct AnimData *anim_data);
|
|
|
|
struct AnimData {
|
|
char *name;
|
|
int count;
|
|
struct SetData **sets;
|
|
};
|
|
struct AnimData *newAnimData();
|
|
int freeAnimData(struct AnimData *anim_data);
|
|
int pushSetData(struct AnimData *anim_data, struct SetData *set_data);
|
|
int saveAnimData(struct AnimData *anim_data);
|
|
int loadAnimData(struct AnimData *anim_data, const char *filename);
|
|
struct AnimData *loadAnimData_res(const char *filename);
|
|
|
|
struct FrameData *getAnimFrameData(struct AnimData *anim_data, const char *set, const char *face, int frame);
|
|
|
|
struct SetData {
|
|
char *name;
|
|
int fps;
|
|
int count;
|
|
struct FaceData **faces;
|
|
};
|
|
struct SetData *newSetData();
|
|
int freeSetData(struct SetData *set_data);
|
|
int pushFaceData(struct SetData *set_data, struct FaceData *face_data);
|
|
|
|
struct FaceData {
|
|
char *name;
|
|
int count;
|
|
struct FrameData **frames;
|
|
struct FrameSheet *sheet; // ugly, but let's reuse FaceData in LiveMap as well
|
|
};
|
|
struct FaceData *newFaceData();
|
|
int freeFaceData(struct FaceData *face_data);
|
|
int pushFrameData(struct FaceData *face_data, struct FrameData *frame_data);
|
|
|
|
struct FrameData {
|
|
char *file;
|
|
char *tag;
|
|
};
|
|
struct FrameData *newFrameData();
|
|
int freeFrameData(struct FrameData *frame_data);
|
|
|
|
#endif
|