From 0c798c9e0dffa8bf29387e26eaf69887bb3f3055 Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Fri, 20 Feb 2026 11:06:14 -0500 Subject: [PATCH] Fixed the way scene updates, but it's still not connecting the ticks to the updates in animation. --- boss/ui.cpp | 3 +-- scene.cpp | 11 ++--------- scene.hpp | 3 +-- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/boss/ui.cpp b/boss/ui.cpp index 70298eb..5d0db5e 100644 --- a/boss/ui.cpp +++ b/boss/ui.cpp @@ -89,8 +89,7 @@ namespace boss { } void UI::update() { - $arena.tick(); - $arena.play_animations(); + $arena.update(); } bool UI::mouse(float x, float y, Modifiers mods) { diff --git a/scene.cpp b/scene.cpp index e7552a3..40ab0ac 100644 --- a/scene.cpp +++ b/scene.cpp @@ -1,6 +1,5 @@ #include "scene.hpp" #include "animate2.hpp" -#include #include "shaders.hpp" #include #include "dbc.hpp" @@ -132,6 +131,7 @@ namespace scene { inline void this_is_stupid_refactor(std::vector& elements) { for(auto& element : elements) { if(element.anim.playing) { + auto [ticks, alpha] = element.anim.commit(); element.anim.update(); element.anim.motion(*element.st.sprite, element.pos, element.scale); element.anim.apply(*element.st.sprite); @@ -140,7 +140,7 @@ namespace scene { } } - void Engine::play_animations() { + void Engine::update() { this_is_stupid_refactor($fixtures); this_is_stupid_refactor($actors); } @@ -187,11 +187,4 @@ namespace scene { void Engine::reset(sf::RenderTexture& view) { $camera.reset(view); } - - void Engine::tick() { - for(auto& actor : $actors) { - dbc::log("IDIOT! you need to use the ticks to all update ticks number of times"); - auto [ticks, alpha] = actor.anim.commit(); - } - } } diff --git a/scene.hpp b/scene.hpp index 2831b98..32e7557 100644 --- a/scene.hpp +++ b/scene.hpp @@ -41,6 +41,7 @@ namespace scene { void init(); void render(sf::RenderTexture& view); + void update(); bool mouse(float x, float y, guecs::Modifiers mods); void attach_text(const std::string& actor, const std::string& text); Element config_scene_element(nlohmann::json& config, bool duped); @@ -49,13 +50,11 @@ namespace scene { void move_actor(const std::string& actor, const std::string& cell_name); void animate_actor(const std::string& actor, const std::string& form); - void play_animations(); void apply_effect(const std::string& actor, const std::string& shader); Element& actor_config(const std::string& actor); void zoom(const std::string& actor, const std::string& style, float scale=0.9f); void zoom(float mid_x, float mid_y, const std::string& style, float scale); void reset(sf::RenderTexture& view); void set_end_cb(std::function cb); - void tick(); }; }