diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/animation.c | 25 | ||||
-rw-r--r-- | src/animation.h | 25 | ||||
-rw-r--r-- | src/assets.c | 1 | ||||
-rw-r--r-- | src/assets.h | 10 |
4 files changed, 61 insertions, 0 deletions
diff --git a/src/animation.c b/src/animation.c new file mode 100644 index 0000000..f173401 --- /dev/null +++ b/src/animation.c @@ -0,0 +1,25 @@ +#include "animation.h" +#include "game.h" +#include <raylib.h> + +Animation loadAnimationFromFile(const char* fileName) +{ + Animation animation; + + // Load image in. + animation.image = LoadImageAnim(fileName, &animation.frameCount); + animation.texture = LoadTextureFromImage(animation.image); + + // Set options. + animation.currentFrame = 0; + animation.delay = ANIMATION_DEFAULT_DELAY; + animation.lastTime = -1.0; // -1.0 means there wasn't a last time. + + return animation; +} + +void freeAnimation(Animation* animation) +{ + UnloadImage(animation->image); + UnloadTexture(animation->texture); +} diff --git a/src/animation.h b/src/animation.h new file mode 100644 index 0000000..8ec918f --- /dev/null +++ b/src/animation.h @@ -0,0 +1,25 @@ +#include "gameCommon.h" + +#define ANIMATION_DEFAULT_DELAY 0.1 + +#ifndef ANIMATION_H +#define ANIMATION_H + +typedef struct Animation { + // Frame stuff. + int frameCount; + int currentFrame; + + // The animation is stored in a image and the texture is used for fast rendering. + Image image; + Texture texture; + + // Timing the frames. + double delay; + double lastTime; +} Animation; + +Animation loadAnimationFromFile(const char* fileName); +void freeAnimation(Animation* animation); + +#endif diff --git a/src/assets.c b/src/assets.c new file mode 100644 index 0000000..4ed3d53 --- /dev/null +++ b/src/assets.c @@ -0,0 +1 @@ +#include "assets.h" diff --git a/src/assets.h b/src/assets.h new file mode 100644 index 0000000..9846f3b --- /dev/null +++ b/src/assets.h @@ -0,0 +1,10 @@ +#include "gameCommon.h" + +#define ASSETS_NAME_MAX 100 +#define IMAGE_ASSET_COUNT 4 +#define ANIMATION_ASSET_COUNT 2 + +#ifndef ASSETS_H +#define ASSETS_H + +#endif |