Files
aee-arcade/tests/audio_cache_stubs.cpp

39 lines
1.3 KiB
C++

// Stubs d'`Audio` i `Resource::Cache` per als smokes que enllacen
// entitats amb so propi (`mummy.cpp` carrega + dispara `mummy_hurt.wav`).
//
// Linkar `audio.cpp` i `resource_cache.cpp` arrossegaria SDL_mixer/Ja,
// el sistema de paquets, el carregador de GIFs, etc. — la mateixa
// explosió de dependències que `hole_player_stubs.cpp` evita per al
// Player. Aquests stubs deixen `Audio::get()` retornant `nullptr`
// (els call-sites comprovem aquesta condició abans de tocar el so) i
// fan no-op `Resource::Cache::loadSound`.
#include "core/audio/audio.hpp"
#include "core/resources/resource_cache.hpp"
auto Audio::get() -> Audio* {
return nullptr;
}
void Audio::playSound(const std::string& /*name*/, Audio::Group /*group*/) {
}
void Audio::playSound(const std::string& /*name*/, Audio::Group /*group*/, float /*speed*/) {
}
namespace Resource {
auto Cache::get() -> Cache& {
// Heap-leak deliberat: el destructor de Cache requeriria els
// deleters de Ja::Music/Ja::Sound (a resource_types.cpp) que el
// smoke target no enllaça. Mai destruïm la instància — el procés
// mor abans i el SO recupera la memòria.
static Cache* instance_ = new Cache();
return *instance_;
}
void Cache::loadSound(const std::string& /*name*/, const std::string& /*file_path*/) {
}
} // namespace Resource