From e4a1056a600458579c035d5b55f786b84f5fdda6 Mon Sep 17 00:00:00 2001 From: chimort Date: Tue, 19 Mar 2024 00:13:47 +0300 Subject: [PATCH 1/5] create sound manager --- res/sound/chime.wav | Bin 0 -> 18602 bytes .../game/states/cell_movement.h | 4 +++ src/sound_manager/sound_manager.h | 27 ++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 res/sound/chime.wav create mode 100644 src/sound_manager/sound_manager.h diff --git a/res/sound/chime.wav b/res/sound/chime.wav new file mode 100644 index 0000000000000000000000000000000000000000..99741bc8c11505bdbbc727e202bebc159a9704f2 GIT binary patch literal 18602 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 literal 0 HcmV?d00001 diff --git a/src/gui_controller/game/states/cell_movement.h b/src/gui_controller/game/states/cell_movement.h index 33fd71df..fc26d928 100644 --- a/src/gui_controller/game/states/cell_movement.h +++ b/src/gui_controller/game/states/cell_movement.h @@ -5,6 +5,7 @@ #include "gui_controller/timed_count.h" #include "gui_controller/utils.h" #include "static_data/game_config.h" +#include "sound_manager/sound_manager.h" #include #include #include @@ -89,6 +90,7 @@ class CellMovement : public GameState { } else if (clicked_enter) { d->setNextCell(d->getNextOnPath().lock()); gm->changeState(GUIGameState::kMoveTransition); + sound.playSound("res/sound/chime.wav"); } if (is_clicked) { d->setTargetRoom(neighbours[r_selected].lock()); @@ -121,6 +123,8 @@ class CellMovement : public GameState { KeyboardManager m_keyboard_manager; + sound::SoundManager& sound = sound::SoundManager::getInstance(); + bool is_in_room = true; int r_selected = 0; diff --git a/src/sound_manager/sound_manager.h b/src/sound_manager/sound_manager.h new file mode 100644 index 00000000..8b51c891 --- /dev/null +++ b/src/sound_manager/sound_manager.h @@ -0,0 +1,27 @@ +#pragma once +#include +#include + +namespace sound { +class SoundManager { +public: + static SoundManager &getInstance() { + static SoundManager instance; + return instance; + } + void playSound(const std::string& sound_path) { + soundBuffer = std::make_unique(); + sound = std::make_unique(); + + if (soundBuffer->loadFromFile(sound_path)) { + sound->setBuffer(*soundBuffer); + sound->play(); + } + } +private: + SoundManager() = default; + + std::unique_ptr soundBuffer; + std::unique_ptr sound; +}; +} \ No newline at end of file From 24fc66cef729ee61092e7eb1e6c207c7a530328a Mon Sep 17 00:00:00 2001 From: chimort Date: Tue, 19 Mar 2024 12:24:05 +0300 Subject: [PATCH 2/5] some changes --- res/sound/walking-sound.wav | Bin 0 -> 138318 bytes .../game/states/cell_movement.h | 5 +- src/sound_manager/sound_manager.h | 49 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 res/sound/walking-sound.wav diff --git a/res/sound/walking-sound.wav b/res/sound/walking-sound.wav new file mode 100644 index 0000000000000000000000000000000000000000..9533336d75cc8a44a63a6c4c36fe820fed7ce02f GIT binary patch literal 138318 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⥖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 OWd;6a1^)lA0{setNextCell(d->getPrevOnPath().lock()); gm->changeState(GUIGameState::kMoveTransition); } + sound::SoundManager::getInstance().playSound("res/sound/walking-sound.wav", 80); return; } @@ -88,9 +89,9 @@ class CellMovement : public GameState { } else if (clicked_left && !neighbours[3].expired()) { r_selected = 3; } else if (clicked_enter) { + sound::SoundManager::getInstance().playSound("res/sound/chime.wav"); d->setNextCell(d->getNextOnPath().lock()); gm->changeState(GUIGameState::kMoveTransition); - sound.playSound("res/sound/chime.wav"); } if (is_clicked) { d->setTargetRoom(neighbours[r_selected].lock()); @@ -123,8 +124,6 @@ class CellMovement : public GameState { KeyboardManager m_keyboard_manager; - sound::SoundManager& sound = sound::SoundManager::getInstance(); - bool is_in_room = true; int r_selected = 0; diff --git a/src/sound_manager/sound_manager.h b/src/sound_manager/sound_manager.h index 8b51c891..3d035ee4 100644 --- a/src/sound_manager/sound_manager.h +++ b/src/sound_manager/sound_manager.h @@ -1,27 +1,28 @@ -#pragma once -#include -#include + #pragma once + #include + #include -namespace sound { -class SoundManager { -public: - static SoundManager &getInstance() { - static SoundManager instance; - return instance; - } - void playSound(const std::string& sound_path) { - soundBuffer = std::make_unique(); - sound = std::make_unique(); + namespace sound { + class SoundManager { + public: + static SoundManager &getInstance() { + static SoundManager instance; + return instance; + } + void playSound(const std::string& sound_path, float volume = 100.f) { + sound_buffer = std::make_unique(); + sound = std::make_unique(); - if (soundBuffer->loadFromFile(sound_path)) { - sound->setBuffer(*soundBuffer); - sound->play(); + if (sound_buffer->loadFromFile(sound_path)) { + sound->setBuffer(*sound_buffer); + sound->setVolume(volume); + sound->play(); + } } - } -private: - SoundManager() = default; - - std::unique_ptr soundBuffer; - std::unique_ptr sound; -}; -} \ No newline at end of file + private: + SoundManager() = default; + + std::unique_ptr sound_buffer; + std::unique_ptr sound; + }; + } \ No newline at end of file From 5a10d7c2c294f814780f2ad729393e0d7bca181f Mon Sep 17 00:00:00 2001 From: chimort Date: Tue, 19 Mar 2024 12:27:32 +0300 Subject: [PATCH 3/5] removed strange indentations --- src/sound_manager/sound_manager.h | 50 +++++++++++++++---------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/sound_manager/sound_manager.h b/src/sound_manager/sound_manager.h index 3d035ee4..e0a7336a 100644 --- a/src/sound_manager/sound_manager.h +++ b/src/sound_manager/sound_manager.h @@ -1,28 +1,28 @@ - #pragma once - #include - #include +#pragma once +#include +#include - namespace sound { - class SoundManager { - public: - static SoundManager &getInstance() { - static SoundManager instance; - return instance; - } - void playSound(const std::string& sound_path, float volume = 100.f) { - sound_buffer = std::make_unique(); - sound = std::make_unique(); +namespace sound { +class SoundManager { +public: + static SoundManager &getInstance() { + static SoundManager instance; + return instance; + } + void playSound(const std::string& sound_path, float volume = 100.f) { + sound_buffer = std::make_unique(); + sound = std::make_unique(); - if (sound_buffer->loadFromFile(sound_path)) { - sound->setBuffer(*sound_buffer); - sound->setVolume(volume); - sound->play(); - } + if (sound_buffer->loadFromFile(sound_path)) { + sound->setBuffer(*sound_buffer); + sound->setVolume(volume); + sound->play(); } - private: - SoundManager() = default; - - std::unique_ptr sound_buffer; - std::unique_ptr sound; - }; - } \ No newline at end of file + } +private: + SoundManager() = default; + + std::unique_ptr sound_buffer; + std::unique_ptr sound; +}; +} \ No newline at end of file From 2a4c3c7b8f90a69a7a56135ba6cd036fe7752684 Mon Sep 17 00:00:00 2001 From: chimort Date: Tue, 19 Mar 2024 16:04:48 +0300 Subject: [PATCH 4/5] create static method --- src/gui_controller/game/states/cell_movement.h | 4 ++-- src/sound_manager/sound_manager.h | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gui_controller/game/states/cell_movement.h b/src/gui_controller/game/states/cell_movement.h index 45c378e4..e1239017 100644 --- a/src/gui_controller/game/states/cell_movement.h +++ b/src/gui_controller/game/states/cell_movement.h @@ -76,7 +76,7 @@ class CellMovement : public GameState { d->setNextCell(d->getPrevOnPath().lock()); gm->changeState(GUIGameState::kMoveTransition); } - sound::SoundManager::getInstance().playSound("res/sound/walking-sound.wav", 80); + sound::playSound("res/sound/walking-sound.wav", 80); return; } @@ -89,7 +89,7 @@ class CellMovement : public GameState { } else if (clicked_left && !neighbours[3].expired()) { r_selected = 3; } else if (clicked_enter) { - sound::SoundManager::getInstance().playSound("res/sound/chime.wav"); + sound::playSound("res/sound/chime.wav"); d->setNextCell(d->getNextOnPath().lock()); gm->changeState(GUIGameState::kMoveTransition); } diff --git a/src/sound_manager/sound_manager.h b/src/sound_manager/sound_manager.h index e0a7336a..8d60700c 100644 --- a/src/sound_manager/sound_manager.h +++ b/src/sound_manager/sound_manager.h @@ -9,7 +9,7 @@ class SoundManager { static SoundManager instance; return instance; } - void playSound(const std::string& sound_path, float volume = 100.f) { + void playSound(const std::string& sound_path, const float volume) { sound_buffer = std::make_unique(); sound = std::make_unique(); @@ -25,4 +25,8 @@ class SoundManager { std::unique_ptr sound_buffer; std::unique_ptr sound; }; -} \ No newline at end of file + +static void playSound(const std::string& sound_path, float volume = 100.f) { + sound::SoundManager::getInstance().playSound(sound_path, volume); +} +} From d190f97a45e9484c73573741775de0956cd663b2 Mon Sep 17 00:00:00 2001 From: chimort Date: Tue, 19 Mar 2024 17:09:51 +0300 Subject: [PATCH 5/5] make code better --- res/{sound => sounds}/chime.wav | Bin res/{sound => sounds}/walking-sound.wav | Bin src/gui_controller/game/states/cell_movement.h | 4 ++-- src/sound_manager/sound_manager.h | 9 ++++----- src/static_data/game_config.h | 1 + 5 files changed, 7 insertions(+), 7 deletions(-) rename res/{sound => sounds}/chime.wav (100%) rename res/{sound => sounds}/walking-sound.wav (100%) diff --git a/res/sound/chime.wav b/res/sounds/chime.wav similarity index 100% rename from res/sound/chime.wav rename to res/sounds/chime.wav diff --git a/res/sound/walking-sound.wav b/res/sounds/walking-sound.wav similarity index 100% rename from res/sound/walking-sound.wav rename to res/sounds/walking-sound.wav diff --git a/src/gui_controller/game/states/cell_movement.h b/src/gui_controller/game/states/cell_movement.h index e1239017..76c7bf7f 100644 --- a/src/gui_controller/game/states/cell_movement.h +++ b/src/gui_controller/game/states/cell_movement.h @@ -76,7 +76,7 @@ class CellMovement : public GameState { d->setNextCell(d->getPrevOnPath().lock()); gm->changeState(GUIGameState::kMoveTransition); } - sound::playSound("res/sound/walking-sound.wav", 80); + sound::playSound("walking-sound", 80); return; } @@ -89,7 +89,7 @@ class CellMovement : public GameState { } else if (clicked_left && !neighbours[3].expired()) { r_selected = 3; } else if (clicked_enter) { - sound::playSound("res/sound/chime.wav"); + sound::playSound("chime"); d->setNextCell(d->getNextOnPath().lock()); gm->changeState(GUIGameState::kMoveTransition); } diff --git a/src/sound_manager/sound_manager.h b/src/sound_manager/sound_manager.h index 8d60700c..c28b9c95 100644 --- a/src/sound_manager/sound_manager.h +++ b/src/sound_manager/sound_manager.h @@ -9,11 +9,10 @@ class SoundManager { static SoundManager instance; return instance; } - void playSound(const std::string& sound_path, const float volume) { + void playSound(const std::string& sound_name, const float volume) { sound_buffer = std::make_unique(); sound = std::make_unique(); - - if (sound_buffer->loadFromFile(sound_path)) { + if (sound_buffer->loadFromFile(cfg::SOUNDS_PATH + sound_name + ".wav")) { sound->setBuffer(*sound_buffer); sound->setVolume(volume); sound->play(); @@ -26,7 +25,7 @@ class SoundManager { std::unique_ptr sound; }; -static void playSound(const std::string& sound_path, float volume = 100.f) { - sound::SoundManager::getInstance().playSound(sound_path, volume); +static void playSound(const std::string& sound_name, float volume = 100.f) { + sound::SoundManager::getInstance().playSound(sound_name, volume); } } diff --git a/src/static_data/game_config.h b/src/static_data/game_config.h index 45f7bf5a..2bf42760 100644 --- a/src/static_data/game_config.h +++ b/src/static_data/game_config.h @@ -11,6 +11,7 @@ const unsigned CELL_SIZE = 20; const std::string WINDOW_NAME = "*EPIC DUNGEONS*"; const std::string FONTS_PATH = "res/fonts/"; const std::string SPRITES_PATH = "res/sprites/"; +const std::string SOUNDS_PATH = "res/sounds/"; const keyboard::Key CONTROLS_MOVE_RIGHT = keyboard::Key::KEY_RIGHT; const keyboard::Key CONTROLS_MOVE_DOWN = keyboard::Key::KEY_DOWN;