feat(boot): precàrrega de música, sons i shapes a l'arrencada
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include "core/audio/audio.hpp"
|
||||
#include "core/audio/audio_adapter.hpp"
|
||||
#include "core/defaults/window.hpp"
|
||||
#include "core/graphics/shape_loader.hpp"
|
||||
#include "core/input/input.hpp"
|
||||
#include "core/input/mouse.hpp"
|
||||
#include "core/locale/locale.hpp"
|
||||
@@ -147,10 +148,21 @@ Director::Director(int argc, char* argv[])
|
||||
Audio::init(AUDIO_CONFIG);
|
||||
Audio::get()->applySettings(AUDIO_CONFIG);
|
||||
|
||||
AudioResource::getMusic("title.ogg");
|
||||
AudioResource::getMusic("game.ogg");
|
||||
// Precàrrega blocant de tots els recursos al boot per evitar hits d'I/O i
|
||||
// de decodificació en transicions (TITLE → GAME, primera explosió, etc.).
|
||||
// Mateix patró que aee_arcade: iterem `listResources` i forcem la càrrega
|
||||
// al cache de cada subsistema.
|
||||
for (const auto& path : Resource::Helper::listResources("music/")) {
|
||||
AudioResource::getMusic(path.substr(std::string_view{"music/"}.size()));
|
||||
}
|
||||
for (const auto& path : Resource::Helper::listResources("sounds/")) {
|
||||
AudioResource::getSound(path.substr(std::string_view{"sounds/"}.size()));
|
||||
}
|
||||
for (const auto& path : Resource::Helper::listResources("shapes/")) {
|
||||
Graphics::ShapeLoader::load(path.substr(std::string_view{"shapes/"}.size()));
|
||||
}
|
||||
if (cfg_->console) {
|
||||
std::cout << "Música precacheada\n";
|
||||
std::cout << "Recursos precachejats (música, sons, shapes)\n";
|
||||
}
|
||||
|
||||
context_ = std::make_unique<SceneContext>();
|
||||
|
||||
Reference in New Issue
Block a user