From b8d2d1870de9a579c680365eb3c1bf8b55252156 Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Sun, 1 Jun 2025 11:10:25 -0400 Subject: [PATCH] Clean up the debug UI so that it's not using the jank debug component I didn't use anyway. --- components.hpp | 6 ------ gui/debug_ui.cpp | 20 +++++--------------- gui/debug_ui.hpp | 3 +-- gui/fsm.cpp | 28 +++++++++++++++------------- gui/fsm.hpp | 1 + 5 files changed, 22 insertions(+), 36 deletions(-) diff --git a/components.hpp b/components.hpp index 696d87e..b603ec7 100644 --- a/components.hpp +++ b/components.hpp @@ -57,12 +57,6 @@ namespace components { std::string ai_goal_name; }; - struct Debug { - bool PATHS=false; - bool LIGHT=false; - bool FPS=false; - }; - struct Weapon { int damage = 0; }; diff --git a/gui/debug_ui.cpp b/gui/debug_ui.cpp index e8a06d6..1368364 100644 --- a/gui/debug_ui.cpp +++ b/gui/debug_ui.cpp @@ -41,16 +41,13 @@ namespace gui { void DebugUI::spawn(std::string enemy_key) { auto ent = $level_mgr.spawn_enemy(enemy_key); - auto& level = $level_mgr.current(); level.world->send(Events::GUI::ENEMY_SPAWN, ent, {}); } void DebugUI::render(sf::RenderWindow& window) { - auto& level = $level_mgr.current(); - - auto debug_settings = level.world->get_the(); - if(debug_settings.FPS) { + if(active) { + auto& level = $level_mgr.current(); auto player = level.world->get_the(); auto player_combat = level.world->get(player.entity); auto map = level.map; @@ -77,13 +74,10 @@ namespace gui { } void DebugUI::debug() { - auto& level = $level_mgr.current(); + active = !active; - auto& dbg = level.world->get_the(); - dbg.FPS = !dbg.FPS; - dbg.PATHS = !dbg.PATHS; - - if(dbg.FPS) { + if(active) { + auto& level = $level_mgr.current(); // it's on now, enable things auto player = level.world->get_the(); auto& player_combat = level.world->get(player.entity); @@ -99,10 +93,6 @@ namespace gui { return $gui.mouse(x, y, hover); } - void DebugUI::update_level(GameLevel &level) { - $level = level; - } - Stats::TimeBullshit DebugUI::time_start() { return $stats.time_start(); } diff --git a/gui/debug_ui.hpp b/gui/debug_ui.hpp index 3730024..cdc158a 100644 --- a/gui/debug_ui.hpp +++ b/gui/debug_ui.hpp @@ -10,8 +10,8 @@ namespace gui { public: Stats $stats; guecs::UI $gui; - GameLevel $level; LevelManager& $level_mgr; + bool active = false; DebugUI(LevelManager& level_mgr); @@ -19,7 +19,6 @@ namespace gui { void render(sf::RenderWindow& window); bool mouse(float x, float y, bool hover); void debug(); - void update_level(GameLevel &level); void spawn(std::string enemy_key); void add_spawn_button(std::string enemy_key, std::string sprite_name, std::string region); diff --git a/gui/fsm.cpp b/gui/fsm.cpp index 6138c32..7adffff 100644 --- a/gui/fsm.cpp +++ b/gui/fsm.cpp @@ -46,19 +46,16 @@ namespace gui { void FSM::START(Event ) { $main_ui.update_level($level); - $level.world->set_the({}); $main_ui.init(); $loot_ui.init(); // BUG: maybe this is a function on main_ui? auto cell = $main_ui.$overlay_ui.$gui.cell_for("left"); $debug_ui.init(cell); - $debug_ui.update_level($level); $combat_ui.init(); $status_ui.init(); - $boss_fight_ui = $levels.create_bossfight($level.world); $boss_fight_ui->init(); @@ -267,7 +264,7 @@ namespace gui { event(Event::STAIRS_DOWN); } } else { - $debug_ui.mouse(pos.x, pos.y, false); + if($debug_ui.active) $debug_ui.mouse(pos.x, pos.y, false); $combat_ui.mouse(pos.x, pos.y, false); $status_ui.mouse(pos.x, pos.y, false); $main_ui.mouse(pos.x, pos.y, false); @@ -276,7 +273,7 @@ namespace gui { } } else if(const auto* mouse = ev->getIf()) { sf::Vector2f pos = $window.mapPixelToCoords(mouse->position); - $debug_ui.mouse(pos.x, pos.y, true); + if($debug_ui.active) $debug_ui.mouse(pos.x, pos.y, true); $combat_ui.mouse(pos.x, pos.y, true); $status_ui.mouse(pos.x, pos.y, true); $main_ui.mouse(pos.x, pos.y, true); @@ -321,7 +318,6 @@ namespace gui { if(!sound::playing("ambient_1")) sound::play("ambient_1", true); $debug_ui.debug(); shaders::reload(); - dbc::log("save map!"); $map_ui.save_map("map.txt", $main_ui.$compass_dir); break; case KEY::O: @@ -340,15 +336,23 @@ namespace gui { } } + void FSM::debug_render() { + auto start = $debug_ui.time_start(); + $main_ui.render(); + $debug_ui.sample_time(start); + $debug_ui.render($window); + } + void FSM::draw_gui() { if(in_state(State::NEXT_LEVEL)) { $boss_fight_ui->render($window); } else { - // BUG: maybe pass the stats to main_ui for this? - auto start = $debug_ui.time_start(); - $main_ui.render(); - $debug_ui.sample_time(start); - $debug_ui.render($window); + if($debug_ui.active) { + debug_render(); + } else { + $main_ui.render(); + } + $status_ui.render($window); $combat_ui.render($window); @@ -416,7 +420,6 @@ namespace gui { event(Event::START_COMBAT); break; case eGUI::ENEMY_SPAWN: - $debug_ui.update_level($level); $main_ui.update_level($level); run_systems(); break; @@ -469,7 +472,6 @@ namespace gui { $levels.create_level($level.world); $level = $levels.next(); - $debug_ui.update_level($level); $status_ui.update_level($level); $map_ui.update_level($level); $mini_map.update_level($level); diff --git a/gui/fsm.hpp b/gui/fsm.hpp index d4e3064..ca09627 100644 --- a/gui/fsm.hpp +++ b/gui/fsm.hpp @@ -89,5 +89,6 @@ namespace gui { void run_systems(); void handle_world_events(); void next_level(); + void debug_render(); }; }