git repos / saland

commit 092a6944

Poul Sander · 2026-02-07 10:35
092a69449930595b45b37d20e7b245a3f9de2387 patch · browse files
parent 12ce2c2dd5f97fa6fb4f26395cb8af9d8d97aa4a

Add specific animation for spell cast

Changed files

M data/sprites/hair_blonde.sprite before
M data/sprites/hair_blue.sprite before
M data/sprites/hair_brunette.sprite before
M data/sprites/hair_raven.sprite before
M data/sprites/std_hair_female.sprite before
M src/saland/Game.cpp before
M src/saland/GameDraw.cpp before
diff --git a/data/sprites/hair_blonde.sprite b/data/sprites/hair_blonde.sprite index 4de7a0a..f22427f 100644 --- a/data/sprites/hair_blonde.sprite +++ b/data/sprites/hair_blonde.sprite
@@ -144,6 +144,54 @@
"originy" : 50
},
+"male_spellcast_hair_blonde_N" : {
+ "texture" : "std_hair/plain-male/blonde",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_blonde_W" : {
+ "texture" : "std_hair/plain-male/blonde",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_blonde_S" : {
+ "texture" : "std_hair/plain-male/blonde",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_blonde_E" : {
+ "texture" : "std_hair/plain-male/blonde",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"male_hurt_hair_blonde_S" : {
"texture" : "std_hair/plain-male/blonde",
"topx" : 0,
@@ -300,6 +348,54 @@
"originy" : 50
},
+"female_spellcast_hair_blonde_N" : {
+ "texture" : "std_hair/ponytail2-female/blonde",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_blonde_W" : {
+ "texture" : "std_hair/ponytail2-female/blonde",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_blonde_S" : {
+ "texture" : "std_hair/ponytail2-female/blonde",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_blonde_E" : {
+ "texture" : "std_hair/ponytail2-female/blonde",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"female_hurt_hair_blonde_S" : {
"texture" : "std_hair/ponytail2-female/blonde",
"topx" : 0,
diff --git a/data/sprites/hair_blue.sprite b/data/sprites/hair_blue.sprite index d136212..e9132ad 100644 --- a/data/sprites/hair_blue.sprite +++ b/data/sprites/hair_blue.sprite
@@ -144,6 +144,54 @@
"originy" : 50
},
+"male_spellcast_hair_blue_N" : {
+ "texture" : "std_hair/plain-male/blue",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_blue_W" : {
+ "texture" : "std_hair/plain-male/blue",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_blue_S" : {
+ "texture" : "std_hair/plain-male/blue",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_blue_E" : {
+ "texture" : "std_hair/plain-male/blue",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"male_hurt_hair_blue_S" : {
"texture" : "std_hair/plain-male/blue",
"topx" : 0,
@@ -300,6 +348,54 @@
"originy" : 50
},
+"female_spellcast_hair_blue_N" : {
+ "texture" : "std_hair/ponytail2-female/blue",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_blue_W" : {
+ "texture" : "std_hair/ponytail2-female/blue",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_blue_S" : {
+ "texture" : "std_hair/ponytail2-female/blue",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_blue_E" : {
+ "texture" : "std_hair/ponytail2-female/blue",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"female_hurt_hair_blue_S" : {
"texture" : "std_hair/ponytail2-female/blue",
"topx" : 0,
diff --git a/data/sprites/hair_brunette.sprite b/data/sprites/hair_brunette.sprite index 6a52e2b..bc9d15a 100644 --- a/data/sprites/hair_brunette.sprite +++ b/data/sprites/hair_brunette.sprite
@@ -144,6 +144,54 @@
"originy" : 50
},
+"male_spellcast_hair_brunette_N" : {
+ "texture" : "std_hair/plain-male/brunette",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_brunette_W" : {
+ "texture" : "std_hair/plain-male/brunette",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_brunette_S" : {
+ "texture" : "std_hair/plain-male/brunette",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_brunette_E" : {
+ "texture" : "std_hair/plain-male/brunette",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"male_hurt_hair_brunette_S" : {
"texture" : "std_hair/plain-male/brunette",
"topx" : 0,
@@ -300,6 +348,54 @@
"originy" : 50
},
+"female_spellcast_hair_brunette_N" : {
+ "texture" : "std_hair/ponytail2-female/brunette",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_brunette_W" : {
+ "texture" : "std_hair/ponytail2-female/brunette",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_brunette_S" : {
+ "texture" : "std_hair/ponytail2-female/brunette",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_brunette_E" : {
+ "texture" : "std_hair/ponytail2-female/brunette",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"female_hurt_hair_brunette_S" : {
"texture" : "std_hair/ponytail2-female/brunette",
"topx" : 0,
diff --git a/data/sprites/hair_raven.sprite b/data/sprites/hair_raven.sprite index a743465..b477e42 100644 --- a/data/sprites/hair_raven.sprite +++ b/data/sprites/hair_raven.sprite
@@ -144,6 +144,54 @@
"originy" : 50
},
+"male_spellcast_hair_raven_N" : {
+ "texture" : "std_hair/plain-male/raven",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_raven_W" : {
+ "texture" : "std_hair/plain-male/raven",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_raven_S" : {
+ "texture" : "std_hair/plain-male/raven",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"male_spellcast_hair_raven_E" : {
+ "texture" : "std_hair/plain-male/raven",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"male_hurt_hair_raven_S" : {
"texture" : "std_hair/plain-male/raven",
"topx" : 0,
@@ -300,6 +348,54 @@
"originy" : 50
},
+"female_spellcast_hair_raven_N" : {
+ "texture" : "std_hair/ponytail2-female/raven",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_raven_W" : {
+ "texture" : "std_hair/ponytail2-female/raven",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_raven_S" : {
+ "texture" : "std_hair/ponytail2-female/raven",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_hair_raven_E" : {
+ "texture" : "std_hair/ponytail2-female/raven",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"female_hurt_hair_raven_S" : {
"texture" : "std_hair/ponytail2-female/raven",
"topx" : 0,
diff --git a/data/sprites/std_hair_female.sprite b/data/sprites/std_hair_female.sprite index aa8279d..c328fcd 100644 --- a/data/sprites/std_hair_female.sprite +++ b/data/sprites/std_hair_female.sprite
@@ -144,6 +144,54 @@
"originy" : 50
},
+"female_spellcast_standard_hair_N" : {
+ "texture" : "std_hair/ponytail2-female/redhead",
+ "topx" : 0,
+ "topy" : 1024,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_standard_hair_W" : {
+ "texture" : "std_hair/ponytail2-female/redhead",
+ "topx" : 0,
+ "topy" : 1088,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_standard_hair_S" : {
+ "texture" : "std_hair/ponytail2-female/redhead",
+ "topx" : 0,
+ "topy" : 1152,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
+"female_spellcast_standard_hair_E" : {
+ "texture" : "std_hair/ponytail2-female/redhead",
+ "topx" : 0,
+ "topy" : 1216,
+ "height" : 64,
+ "width" : 64,
+ "number_of_frames" : 7,
+ "frame_time" : 100,
+ "originx" : 32,
+ "originy" : 50
+},
+
"female_hurt_standard_hair_S" : {
"texture" : "std_hair/ponytail2-female/redhead",
"topx" : 0,
diff --git a/src/saland/Game.cpp b/src/saland/Game.cpp index fd5a4c8..b8270f9 100644 --- a/src/saland/Game.cpp +++ b/src/saland/Game.cpp
@@ -412,7 +412,7 @@ static std::string GetLayerInfoForTile(const World& w, int x, int y) {
return ret.str();
}
-static void DrawDebugMenu(SDL_Renderer* target) {
+static void DrawDebugMenu(SDL_Renderer*) {
ImGui::Begin("Debug menu");
//ImGui::Text("Hello, world!");
if (ImGui::Button("Toggle overlay")) {
diff --git a/src/saland/GameDraw.cpp b/src/saland/GameDraw.cpp index 1acde25..5979ea3 100644 --- a/src/saland/GameDraw.cpp +++ b/src/saland/GameDraw.cpp
@@ -241,9 +241,6 @@ void DrawHumanEntity(SDL_Renderer* target, sago::SagoSpriteHolder* sHolder, cons
}
if (entity->hair.length() > 0) {
std::string hairAnimation = animation;
- if (hairAnimation == "spellcast") {
- hairAnimation = "standing";
- }
const sago::SagoSprite& myHair = sHolder->GetSprite(entity->race + "_"+hairAnimation+"_"+entity->hair+"_"+std::string(1,entity->direction));
if (relativeAnimation) {
myHair.DrawProgressive(target, relativeAnimationState, x, y, resize);