aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authornathansmith117 <thenathansmithsmith@gmail.com>2024-02-15 00:06:35 +0000
committernathansmith117 <thenathansmithsmith@gmail.com>2024-02-15 00:06:35 +0000
commit64bb931e18825b285dd93d0b9987ef72ece15ab4 (patch)
tree78cee060cf5f4f2bcc99254c99cead6f2d77578e /src
parentadf3b7635326af20e0e77d37c080ef08c64e9e91 (diff)
downloadPenguinYippies-64bb931e18825b285dd93d0b9987ef72ece15ab4.tar.gz
PenguinYippies-64bb931e18825b285dd93d0b9987ef72ece15ab4.tar.bz2
PenguinYippies-64bb931e18825b285dd93d0b9987ef72ece15ab4.zip
Working on animation stuff
Diffstat (limited to 'src')
-rw-r--r--src/animation.c25
-rw-r--r--src/animation.h25
-rw-r--r--src/assets.c1
-rw-r--r--src/assets.h10
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