From c87f0e1a0c7cfdea1b52a35ef337072e37320bb6 Mon Sep 17 00:00:00 2001 From: Ethan Lee Date: Sun, 26 Dec 2021 08:38:16 -0500 Subject: [PATCH] Consolidate SoundSystem into Music. It's just some small wrappers, and SoundSystem can be inlined trivially. --- desktop_version/CMakeLists.txt | 1 - desktop_version/src/Music.cpp | 54 ++++++++++++++++++++++++++++ desktop_version/src/Music.h | 27 +++++++++++++- desktop_version/src/SoundSystem.cpp | 55 ----------------------------- desktop_version/src/SoundSystem.h | 27 -------------- desktop_version/src/main.cpp | 1 - 6 files changed, 80 insertions(+), 85 deletions(-) delete mode 100644 desktop_version/src/SoundSystem.cpp delete mode 100644 desktop_version/src/SoundSystem.h diff --git a/desktop_version/CMakeLists.txt b/desktop_version/CMakeLists.txt index 2284245f..636b72b4 100644 --- a/desktop_version/CMakeLists.txt +++ b/desktop_version/CMakeLists.txt @@ -99,7 +99,6 @@ set(VVV_SRC src/Screen.cpp src/Script.cpp src/Scripts.cpp - src/SoundSystem.cpp src/Spacestation2.cpp src/TerminalScripts.cpp src/Textbox.cpp diff --git a/desktop_version/src/Music.cpp b/desktop_version/src/Music.cpp index f5891f89..1004fa04 100644 --- a/desktop_version/src/Music.cpp +++ b/desktop_version/src/Music.cpp @@ -5,6 +5,7 @@ #include #include "BinaryBlob.h" +#include "FileSystemUtils.h" #include "Game.h" #include "Graphics.h" #include "Map.h" @@ -12,6 +13,59 @@ #include "UtilityClass.h" #include "Vlogging.h" +/* Begin SDL_mixer wrapper */ + +MusicTrack::MusicTrack(SDL_RWops *rw) +{ + m_music = Mix_LoadMUS_RW(rw, 1); + m_isValid = true; + if(m_music == NULL) + { + vlog_error("Unable to load Magic Binary Music file: %s", Mix_GetError()); + m_isValid = false; + } +} + +SoundTrack::SoundTrack(const char* fileName) +{ + unsigned char *mem; + size_t length; + + sound = NULL; + + FILESYSTEM_loadAssetToMemory(fileName, &mem, &length, false); + if (mem == NULL) + { + vlog_error("Unable to load WAV file %s", fileName); + SDL_assert(0 && "WAV file missing!"); + return; + } + SDL_RWops *fileIn = SDL_RWFromConstMem(mem, length); + sound = Mix_LoadWAV_RW(fileIn, 1); + FILESYSTEM_freeMemory(&mem); + + if (sound == NULL) + { + vlog_error("Unable to load WAV file: %s", Mix_GetError()); + } +} + +SoundSystem::SoundSystem(void) +{ + int audio_rate = 44100; + Uint16 audio_format = AUDIO_S16SYS; + int audio_channels = 2; + int audio_buffers = 1024; + + if (Mix_OpenAudio(audio_rate, audio_format, audio_channels, audio_buffers) != 0) + { + vlog_error("Unable to initialize audio: %s", Mix_GetError()); + SDL_assert(0 && "Unable to initialize audio!"); + } +} + +/* End SDL_mixer wrapper */ + musicclass::musicclass(void) { safeToProcessMusic= false; diff --git a/desktop_version/src/Music.h b/desktop_version/src/Music.h index 87707170..3b99bed2 100644 --- a/desktop_version/src/Music.h +++ b/desktop_version/src/Music.h @@ -4,7 +4,32 @@ #include #include "BinaryBlob.h" -#include "SoundSystem.h" +#include + +/* SDL_mixer object wrappers */ + +class MusicTrack +{ +public: + MusicTrack(SDL_RWops *rw); + Mix_Music *m_music; + bool m_isValid; +}; + +class SoundTrack +{ +public: + SoundTrack(const char* fileName); + Mix_Chunk *sound; +}; + +/* SDL_mixer init wrapper */ + +class SoundSystem +{ +public: + SoundSystem(void); +}; #define musicroom(rx, ry) ((rx) + ((ry) * 20)) diff --git a/desktop_version/src/SoundSystem.cpp b/desktop_version/src/SoundSystem.cpp deleted file mode 100644 index 5f7c0d1e..00000000 --- a/desktop_version/src/SoundSystem.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include "SoundSystem.h" - -#include - -#include "FileSystemUtils.h" -#include "Vlogging.h" - -MusicTrack::MusicTrack(SDL_RWops *rw) -{ - m_music = Mix_LoadMUS_RW(rw, 1); - m_isValid = true; - if(m_music == NULL) - { - vlog_error("Unable to load Magic Binary Music file: %s", Mix_GetError()); - m_isValid = false; - } -} - -SoundTrack::SoundTrack(const char* fileName) -{ - unsigned char *mem; - size_t length; - - sound = NULL; - - FILESYSTEM_loadAssetToMemory(fileName, &mem, &length, false); - if (mem == NULL) - { - vlog_error("Unable to load WAV file %s", fileName); - SDL_assert(0 && "WAV file missing!"); - return; - } - SDL_RWops *fileIn = SDL_RWFromConstMem(mem, length); - sound = Mix_LoadWAV_RW(fileIn, 1); - FILESYSTEM_freeMemory(&mem); - - if (sound == NULL) - { - vlog_error("Unable to load WAV file: %s", Mix_GetError()); - } -} - -SoundSystem::SoundSystem(void) -{ - int audio_rate = 44100; - Uint16 audio_format = AUDIO_S16SYS; - int audio_channels = 2; - int audio_buffers = 1024; - - if (Mix_OpenAudio(audio_rate, audio_format, audio_channels, audio_buffers) != 0) - { - vlog_error("Unable to initialize audio: %s", Mix_GetError()); - SDL_assert(0 && "Unable to initialize audio!"); - } -} diff --git a/desktop_version/src/SoundSystem.h b/desktop_version/src/SoundSystem.h deleted file mode 100644 index e4bf49a5..00000000 --- a/desktop_version/src/SoundSystem.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef SOUNDSYSTEM_H -#define SOUNDSYSTEM_H - -#include - -class MusicTrack -{ -public: - MusicTrack(SDL_RWops *rw); - Mix_Music *m_music; - bool m_isValid; -}; - -class SoundTrack -{ -public: - SoundTrack(const char* fileName); - Mix_Chunk *sound; -}; - -class SoundSystem -{ -public: - SoundSystem(void); -}; - -#endif /* SOUNDSYSTEM_H */ diff --git a/desktop_version/src/main.cpp b/desktop_version/src/main.cpp index 3ef56eff..d2be21be 100644 --- a/desktop_version/src/main.cpp +++ b/desktop_version/src/main.cpp @@ -24,7 +24,6 @@ #include "RenderFixed.h" #include "Screen.h" #include "Script.h" -#include "SoundSystem.h" #include "UtilityClass.h" #include "Vlogging.h"