afegit resource::cache

normalitzat Audio
This commit is contained in:
2026-04-18 11:41:34 +02:00
parent 7409c799c3
commit 94aa69cffe
29 changed files with 1420 additions and 134 deletions

View File

@@ -1,22 +1,22 @@
#include "scenes/scene_utils.hpp"
#include <SDL3/SDL.h>
#include <string>
#include "core/jail/jail_audio.hpp"
#include "core/resources/resource_helper.hpp"
#include "core/audio/audio.hpp"
namespace scenes {
namespace {
std::string basename(const char* path) {
std::string s = path;
auto pos = s.find_last_of("/\\");
return pos == std::string::npos ? s : s.substr(pos + 1);
}
} // namespace
void playMusic(const char* filename, int loop) {
if (!filename) return;
auto buffer = ResourceHelper::loadFile(filename);
if (buffer.empty()) return;
// JA_LoadMusic fa una còpia interna del OGG comprimit (via SDL_malloc)
// per a stb_vorbis. El `buffer` local es destruirà en sortir d'àmbit.
JA_PlayMusic(JA_LoadMusic(buffer.data(),
static_cast<Uint32>(buffer.size()),
filename),
loop);
Audio::get()->playMusic(basename(filename), loop);
}
} // namespace scenes