kettek2/wiki/games/newsboy/Newsboy_0x00/engine/AnimData.h

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