summary refs log tree commit diff stats
path: root/src/sprite.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-02-13 12:14:58 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-02-13 12:14:58 -0500
commited933607765a6e010689aaaf85184053ff6e8a2b (patch)
tree9c59ddfa9c7ddb221788485ad96cad116f8b0c28 /src/sprite.h
parente9602acecd1c5f63c6cf72a270a1bd09eba1e7e1 (diff)
downloadtanetane-ed933607765a6e010689aaaf85184053ff6e8a2b.tar.gz
tanetane-ed933607765a6e010689aaaf85184053ff6e8a2b.tar.bz2
tanetane-ed933607765a6e010689aaaf85184053ff6e8a2b.zip
Added non-looping animations
Lucas can get electrocuted now.
Diffstat (limited to 'src/sprite.h')
-rw-r--r--src/sprite.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/sprite.h b/src/sprite.h index 84a7b03..fcf7e1d 100644 --- a/src/sprite.h +++ b/src/sprite.h
@@ -16,6 +16,11 @@ struct SpriteFrame {
16 vec2i size; 16 vec2i size;
17}; 17};
18 18
19struct Animation {
20 bool looping = true;
21 std::vector<int> frameIndices;
22};
23
19enum class CharacterState { 24enum class CharacterState {
20 Still, 25 Still,
21 Walking, 26 Walking,
@@ -48,8 +53,9 @@ public:
48 int animationId = 0; 53 int animationId = 0;
49 int animationFrame = 0; 54 int animationFrame = 0;
50 std::vector<SpriteFrame> frames; 55 std::vector<SpriteFrame> frames;
51 std::vector<std::vector<int>> animations; 56 std::vector<Animation> animations;
52 std::map<std::string, std::map<Direction, int>> nameDirToAnim; 57 std::map<std::string, std::map<Direction, int>> nameDirToAnim;
58 bool animFinished = false;
53 bool hasShadow = false; 59 bool hasShadow = false;
54 60
55 // Character 61 // Character