// 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