diff --git a/assets/ui/level-menu.json b/assets/ui/level-menu.json index c343c69..b74d924 100644 --- a/assets/ui/level-menu.json +++ b/assets/ui/level-menu.json @@ -100,14 +100,25 @@ 255 ] }, - "enter-hint": { + "play-hint": { "x": 16, "y": 166, "size": 1, "color": [ - 120, - 120, - 120, + 250, + 200, + 46, + 255 + ] + }, + "enter-hint": { + "x": 40, + "y": 166, + "size": 1, + "color": [ + 180, + 180, + 180, 255 ] }, diff --git a/include/wforge/scene.h b/include/wforge/scene.h index b77124f..9b534aa 100644 --- a/include/wforge/scene.h +++ b/include/wforge/scene.h @@ -66,6 +66,7 @@ class SceneManager { void changeScene(Scene new_scene); void handleEvent(sf::Event &evt); void tick(); + void setWindowTitle(std::string title); sf::Vector2i mousePosition() const; int scale() const { @@ -228,6 +229,7 @@ struct LevelSelectionMenu { UITextDescriptor _level_title; UITextDescriptor _level_desc; UITextDescriptor _level_difficulty; + UITextDescriptor _play_hint; UITextDescriptor _enter_hint; std::vector> _level_button; std::vector> _level_links; diff --git a/src/scenes/credits.cpp b/src/scenes/credits.cpp index 2a38f0f..cb612ea 100644 --- a/src/scenes/credits.cpp +++ b/src/scenes/credits.cpp @@ -43,7 +43,7 @@ std::array Credits::size() const { } void Credits::setup(SceneManager &mgr) { - // nothing to do + mgr.setWindowTitle("Credits"); } void Credits::handleEvent(SceneManager &mgr, sf::Event &evt) { diff --git a/src/scenes/help.cpp b/src/scenes/help.cpp index 8f9c099..89dceb4 100644 --- a/src/scenes/help.cpp +++ b/src/scenes/help.cpp @@ -37,7 +37,9 @@ void Help::handleEvent(SceneManager &mgr, sf::Event &evt) { } } -void Help::setup(SceneManager &mgr) {} +void Help::setup(SceneManager &mgr) { + mgr.setWindowTitle("Help"); +} void Help::step(SceneManager &mgr) {} void Help::render( diff --git a/src/scenes/level.cpp b/src/scenes/level.cpp index d1e97ac..f71d582 100644 --- a/src/scenes/level.cpp +++ b/src/scenes/level.cpp @@ -80,6 +80,7 @@ std::array LevelPlaying::size() const { } void LevelPlaying::setup(SceneManager &mgr) { + mgr.setWindowTitle(std::format("Level {} - {}", _level.metadata.index + 1, _level.metadata.name)); _level.selectItem(0); mgr.bgm.setCollection("background/level-music"); const auto &bgm_fade = FadeIOConfig::load(); diff --git a/src/scenes/level_menu.cpp b/src/scenes/level_menu.cpp index 088274e..78ee170 100644 --- a/src/scenes/level_menu.cpp +++ b/src/scenes/level_menu.cpp @@ -30,6 +30,7 @@ LevelSelectionMenu::LevelSelectionMenu() _level_difficulty = UITextDescriptor::fromJson( json_data.at("level-difficulty") ); + _play_hint = UITextDescriptor::fromJson(json_data.at("play-hint")); _enter_hint = UITextDescriptor::fromJson(json_data.at("enter-hint")); for (const auto &btn : json_data.at("level-buttons")) { @@ -77,6 +78,7 @@ std::array LevelSelectionMenu::size() const { void LevelSelectionMenu::setup(SceneManager &mgr) { mgr.bgm.setCollection("background/main-menu-music"); + mgr.setWindowTitle("Level Selection"); } void LevelSelectionMenu::handleEvent(SceneManager &mgr, sf::Event &evt) { @@ -271,7 +273,8 @@ void LevelSelectionMenu::render( ); // Render enter hint - _enter_hint.render(target, font, "[ENTER]", scale); + _play_hint.render(target, font, "Play", scale); + _enter_hint.render(target, font, "[Enter]", scale); } } diff --git a/src/scenes/main_menu.cpp b/src/scenes/main_menu.cpp index ef86cf8..a12b62c 100644 --- a/src/scenes/main_menu.cpp +++ b/src/scenes/main_menu.cpp @@ -72,6 +72,7 @@ std::array MainMenu::size() const { } void MainMenu::setup(SceneManager &mgr) { + mgr.setWindowTitle("Waveforge " WAVEFORGE_VERSION "alpha"); mgr.bgm.setCollection("background/main-menu-music"); } diff --git a/src/scenes/scene.cpp b/src/scenes/scene.cpp index 8c877f3..b4a1d18 100644 --- a/src/scenes/scene.cpp +++ b/src/scenes/scene.cpp @@ -111,6 +111,10 @@ void SceneManager::changeScene(Scene new_scene) { _scene_changed = true; } +void SceneManager::setWindowTitle(std::string title) { + window.setTitle(title); +} + void SceneManager::handleEvent(sf::Event &evt) { _current_scene->handleEvent(*this, evt); } diff --git a/src/scenes/settings.cpp b/src/scenes/settings.cpp index 91eb914..95dd6c0 100644 --- a/src/scenes/settings.cpp +++ b/src/scenes/settings.cpp @@ -252,7 +252,7 @@ std::array SettingsMenu::size() const { } void SettingsMenu::setup(SceneManager &mgr) { - // nothing to do here + mgr.setWindowTitle("Settings"); } void SettingsMenu::handleEvent(SceneManager &mgr, sf::Event &evt) {