From d1e4a5eb07fd6ed8eae7830a6826cde2091b425a Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Sat, 27 Sep 2025 00:33:05 +0200 Subject: [PATCH] eliminat tot el define NO_AUDIO del codi --- CMakeLists.txt | 17 +---------------- source/audio.cpp | 30 ------------------------------ source/resource.cpp | 22 ---------------------- tools/pack_resources | Bin 43440 -> 69616 bytes 4 files changed, 1 insertion(+), 68 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cae636c..803e820 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,17 +108,12 @@ set(APP_SOURCES # Fuentes de librerías de terceros set(EXTERNAL_SOURCES + source/external/jail_audio.cpp source/external/jail_shader.cpp source/external/json.hpp source/external/gif.cpp ) -# Añadir jail_audio.cpp solo si el audio está habilitado -if(NOT DISABLE_AUDIO) - list(APPEND EXTERNAL_SOURCES source/external/jail_audio.cpp) -endif() - - # Configuración de SDL3 find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3) message(STATUS "SDL3 encontrado: ${SDL3_INCLUDE_DIRS}") @@ -144,16 +139,6 @@ target_compile_options(${PROJECT_NAME} PRIVATE $<$:-Os -ffunctio # Definir _DEBUG en modo Debug target_compile_definitions(${PROJECT_NAME} PRIVATE $<$:_DEBUG>) -# Opción para habilitar/deshabilitar audio -option(DISABLE_AUDIO "Disable audio system" OFF) - -# Definir NO_AUDIO si la opción está activada -if(DISABLE_AUDIO) - target_compile_definitions(${PROJECT_NAME} PRIVATE NO_AUDIO) - message(STATUS "Audio deshabilitado - NO_AUDIO definido") -else() - message(STATUS "Audio habilitado") -endif() # Configuración específica para cada plataforma if(WIN32) diff --git a/source/audio.cpp b/source/audio.cpp index 783e0a2..588bcd4 100644 --- a/source/audio.cpp +++ b/source/audio.cpp @@ -4,9 +4,7 @@ #include // Para clamp -#ifndef NO_AUDIO #include "external/jail_audio.h" // Para JA_FadeOutMusic, JA_Init, JA_PauseM... -#endif #include "options.h" // Para AudioOptions, audio, MusicOptions #include "resource.h" // Para Resource @@ -27,9 +25,7 @@ Audio::Audio() { initSDLAudio(); } // Destructor Audio::~Audio() { -#ifndef NO_AUDIO JA_Quit(); -#endif } // Método principal @@ -43,9 +39,7 @@ void Audio::playMusic(const std::string &name, const int loop) { music_.loop = (loop != 0); if (music_enabled_ && music_.state != MusicState::PLAYING) { -#ifndef NO_AUDIO JA_PlayMusic(Resource::get()->getMusic(name), loop); -#endif music_.state = MusicState::PLAYING; } } @@ -53,9 +47,7 @@ void Audio::playMusic(const std::string &name, const int loop) { // Pausa la música void Audio::pauseMusic() { if (music_enabled_ && music_.state == MusicState::PLAYING) { -#ifndef NO_AUDIO JA_PauseMusic(); -#endif music_.state = MusicState::PAUSED; } } @@ -63,9 +55,7 @@ void Audio::pauseMusic() { // Continua la música pausada void Audio::resumeMusic() { if (music_enabled_ && music_.state == MusicState::PAUSED) { -#ifndef NO_AUDIO JA_ResumeMusic(); -#endif music_.state = MusicState::PLAYING; } } @@ -73,9 +63,7 @@ void Audio::resumeMusic() { // Detiene la música void Audio::stopMusic() { if (music_enabled_) { -#ifndef NO_AUDIO JA_StopMusic(); -#endif music_.state = MusicState::STOPPED; } } @@ -83,33 +71,26 @@ void Audio::stopMusic() { // Reproduce un sonido void Audio::playSound(const std::string &name, Group group) const { if (sound_enabled_) { -#ifndef NO_AUDIO JA_PlaySound(Resource::get()->getSound(name), 0, static_cast(group)); -#endif } } // Detiene todos los sonidos void Audio::stopAllSounds() const { if (sound_enabled_) { -#ifndef NO_AUDIO JA_StopChannel(-1); -#endif } } // Realiza un fundido de salida de la música void Audio::fadeOutMusic(int milliseconds) const { if (music_enabled_ && getRealMusicState() == MusicState::PLAYING) { -#ifndef NO_AUDIO JA_FadeOutMusic(milliseconds); -#endif } } // Consulta directamente el estado real de la música en jailaudio auto Audio::getRealMusicState() const -> MusicState { -#ifndef NO_AUDIO JA_Music_state ja_state = JA_GetMusicState(); switch (ja_state) { case JA_MUSIC_PLAYING: @@ -122,19 +103,14 @@ auto Audio::getRealMusicState() const -> MusicState { default: return MusicState::STOPPED; } -#else - return MusicState::STOPPED; -#endif } // Establece el volumen de los sonidos void Audio::setSoundVolume(int sound_volume, Group group) const { if (sound_enabled_) { sound_volume = std::clamp(sound_volume, MIN_VOLUME, MAX_VOLUME); -#ifndef NO_AUDIO const float CONVERTED_VOLUME = (sound_volume / 100.0F) * (Options::audio.volume / 100.0F); JA_SetSoundVolume(CONVERTED_VOLUME, static_cast(group)); -#endif } } @@ -142,10 +118,8 @@ void Audio::setSoundVolume(int sound_volume, Group group) const { void Audio::setMusicVolume(int music_volume) const { if (music_enabled_) { music_volume = std::clamp(music_volume, MIN_VOLUME, MAX_VOLUME); -#ifndef NO_AUDIO const float CONVERTED_VOLUME = (music_volume / 100.0F) * (Options::audio.volume / 100.0F); JA_SetMusicVolume(CONVERTED_VOLUME); -#endif } } @@ -164,7 +138,6 @@ void Audio::enable(bool value) { // Inicializa SDL Audio void Audio::initSDLAudio() { -#ifndef NO_AUDIO if (!SDL_Init(SDL_INIT_AUDIO)) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_AUDIO could not initialize! SDL Error: %s", SDL_GetError()); } else { @@ -173,7 +146,4 @@ void Audio::initSDLAudio() { SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "** Audio system initialized successfully"); } -#else - SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "** Audio system disabled"); -#endif } \ No newline at end of file diff --git a/source/resource.cpp b/source/resource.cpp index c6544f5..f46c26b 100644 --- a/source/resource.cpp +++ b/source/resource.cpp @@ -13,9 +13,7 @@ #include "asset.h" // Para Asset #include "color.h" // Para Color #include "version.h" // Para Version::APP_NAME y Version::GIT_HASH -#ifndef NO_AUDIO #include "external/jail_audio.h" // Para JA_LoadMusic, JA_LoadSound, JA_DeleteMusic, JA_DeleteSound -#endif #include "lang.h" // Para getText #include "param.h" // Para Param, param, ParamResource, ParamGame #include "resource_helper.h" // Para ResourceHelper @@ -325,7 +323,6 @@ auto Resource::getDemoData(int index) -> DemoData & { auto Resource::loadSoundLazy(const std::string &name) -> JA_Sound_t * { SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Loading sound lazily: %s", name.c_str()); -#ifndef NO_AUDIO auto sound_list = Asset::get()->getListByType(Asset::Type::SOUND); for (const auto &file : sound_list) { if (getFileName(file) == name) { @@ -333,13 +330,11 @@ auto Resource::loadSoundLazy(const std::string &name) -> JA_Sound_t * { return JA_LoadSound(audio_path.c_str()); } } -#endif return nullptr; } auto Resource::loadMusicLazy(const std::string &name) -> JA_Music_t * { SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Loading music lazily: %s", name.c_str()); -#ifndef NO_AUDIO auto music_list = Asset::get()->getListByType(Asset::Type::MUSIC); for (const auto &file : music_list) { if (getFileName(file) == name) { @@ -347,7 +342,6 @@ auto Resource::loadMusicLazy(const std::string &name) -> JA_Music_t * { return JA_LoadMusic(audio_path.c_str()); } } -#endif return nullptr; } @@ -426,10 +420,8 @@ auto Resource::loadAnimationLazy(const std::string &name) -> AnimationsFileBuffe // Vacia todos los vectores de recursos void Resource::clear() { -#ifndef NO_AUDIO clearSounds(); clearMusics(); -#endif textures_.clear(); text_files_.clear(); texts_.clear(); @@ -449,10 +441,8 @@ void Resource::load() { screen->setVSync(false); SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "\n** LOADING RESOURCES"); -#ifndef NO_AUDIO loadSounds(); // Carga sonidos loadMusics(); // Carga músicas -#endif loadTextures(); // Carga texturas loadTextFiles(); // Carga ficheros de texto loadAnimations(); // Carga animaciones @@ -485,12 +475,8 @@ void Resource::loadSounds() { for (const auto &l : list) { auto name = getFileName(l); updateLoadingProgress(name); -#ifndef NO_AUDIO std::string audio_path = createTempAudioFile(l, temp_audio_files_); sounds_.emplace_back(name, JA_LoadSound(audio_path.c_str())); -#else - sounds_.emplace_back(name, nullptr); -#endif printWithDots("Sound : ", name, "[ LOADED ]"); } } @@ -504,12 +490,8 @@ void Resource::loadMusics() { for (const auto &l : list) { auto name = getFileName(l); updateLoadingProgress(name); -#ifndef NO_AUDIO std::string audio_path = createTempAudioFile(l, temp_audio_files_); musics_.emplace_back(name, JA_LoadMusic(audio_path.c_str())); -#else - musics_.emplace_back(name, nullptr); -#endif printWithDots("Music : ", name, "[ LOADED ]"); } } @@ -739,9 +721,7 @@ void Resource::createText() { void Resource::clearSounds() { for (auto &sound : sounds_) { if (sound.sound != nullptr) { -#ifndef NO_AUDIO JA_DeleteSound(sound.sound); -#endif sound.sound = nullptr; } } @@ -752,9 +732,7 @@ void Resource::clearSounds() { void Resource::clearMusics() { for (auto &music : musics_) { if (music.music != nullptr) { -#ifndef NO_AUDIO JA_DeleteMusic(music.music); -#endif music.music = nullptr; } } diff --git a/tools/pack_resources b/tools/pack_resources index 6c4dd0280cadbeb78fe6e9d46f73ef71c9496a84..46e9685440c5ebd18a16f4b9020da31155be934e 100755 GIT binary patch literal 69616 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 E7eV2j(*OVf literal 43440 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%0DUPk2k5)AtY-zKx6Z+`Hx*B=<8=daPPUSr5 zkii<=DQ`r>4)J3r5r*jeU^>+Ai&`Ac^o5|lfPF5E**Z}gmW|q!nRqptNp~$8l{9;G5)#hj}!@m^=6x+(F&wKbY)#&xk<}lunkwb#XWI<+MF1t+s1P+s@2No`hpH zrIK+?wCQ!6S;dr+Uc)#5`0pv0soB?!gL|u}A6h5TI~?SNaXHhM$2*&GcoDmDTer#fgWagVFl|{LpRLxpZBdj{W^&`Rd9~ub&pTfL!#(>>kJV?1qHH%+?>ExJOpfT8Cz^q7l z@F~|G4ldx)d6bPOk)-ivC^pmF{-0Dm zr5Vm}$EuKQ($|SM8AJ9C42X^Xrc{+wGpkHhiFK0B%i`_7&JdUX3!k{2q8%Ki%*LS% zr&;T1d3(rF^)z~7VztSKVp@H{r04``I@dZ7a*~VTCDQrP6}-SNe!@5N!}A-}=q-!4;osb^!N^RWO?#q{_mEI-`obo$kQuu24PRa)%!>t{YEP&Z!nc zY#C$dJZwmD)7#C|O>7<5Bg)*tS;r7F_Qnv@1Z7y=ZLWY^GGiAmje^|RKSJffT3>Y( z)48g{fbq09tnARuF>&Jj$?K4IzsvI_*CDA2$KDtl*HW>7O!M6i=I=n2LEZlJD=eJgqX46`v&caWstoAWH1Tr(seCpk{gd_1{3{`Tk3r93)?{%TF2uHcKL%|?pQ-X+i-auP4zrCzhjIV!h?YM`82^OP#gRU%4va!z}^y zcLUSYo0r=$c42`$*A26p$gJdZOe|^U(&_bLcT|kT9Vu?Ml+7+-`1(0qHI1e0vlr<` zP<=h+G|X2S^m1Y4oVQRvHbzodWG zS45f#8>{N9r#C0dv>}%C8}ddFxq#HqY1n8*=I(Yu`)o3*8_js#tzr|>-y$XuX~t}} zcW+Q+b1*3NXxy5cj2)y|Xu#9lJc1wMqLo8?xcz{k$A=HW+z1nrb?bCm+2)Q7o5F%5 znPzWj!-5GrI1`=N%HgbJJA7`pP2Dx%?P_NI7T}vK z9Vab)thA#P)XpF<(n((^9C^iLJF#w`V~g>XNr~#paH* z>{B|Zf1qXa;S`JhREJ0PO57a75VMetX8(6@kin2A`|y>!)&S;_>@!}j&XB#C-=3Tt z;Gf{4(T5pCS#ohK4fWJUc=8qQ4`>BKt97X6u&>=S0iP%1RJAkh6X=l=Mov2pN~vdcCyL-O6yPc1!(k~A zC(>xcfHH`yuJ({p%GO+^xGZh;BT5%RuUjb%dAkv1J7c8*Kf9e+>TMHGBD8tHO~z1+ z+wJsryS-f@Jat0Oj&bF?QJjaoM&YgwAJ}t-7~YjqJRL#bD3lM-d^w26y%c%`NIV9u z6pH7=B$Ur>$x?_`A1+1&kAx@k)Aze5NGP8xopRbh94NJBzT;S2@ME&J^X9*~t!zLL? zcQQX7XJo;LU#hY!U%tmCp?q(RQ*$2jn&1uir+30+e)%4lgtrP}DZiwXkkaWLGZ~lf znMqh98l2=O-AVZcTO}s&GQWK9O+xwJn=D`Em-YXS$Ujpsl<(0=DBruI{CGq&QNGOo z1K>zR$zQP`Lczj*@kC^5Ft-1LNY>}KSUA0e^qz=5;4x_yB>V|t`uq(S^K=O%9mmo$ znmkCj5m9~qr#j+>r; zg1C!A*-s@4nNP+qL}tRt@@sl{N} BHdp`v