tots els singletons tornats a fer a la vieja y gorda usanza
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
#include "resource.h" // Para Resource
|
||||
#include "screen.h" // Para Screen
|
||||
#include "section.h" // Para Name, Options, name, options
|
||||
#include "service_menu.h" // Para ServiceMenu
|
||||
#include "title.h" // Para Title
|
||||
#include "utils.h" // Para Overrides, overrides
|
||||
|
||||
@@ -91,13 +92,14 @@ void Director::init()
|
||||
loadParams(); // Carga los parámetros del programa
|
||||
loadScoreFile(); // Carga el archivo de puntuaciones
|
||||
|
||||
// Inicialización de subsistemas
|
||||
// Inicialización de subsistemas principales
|
||||
lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language))); // Carga el archivo de idioma
|
||||
Screen::init(); // Inicializa la pantalla y el sistema de renderizado
|
||||
Audio::get(); // Activa el sistema de audio
|
||||
Audio::init(); // Activa el sistema de audio
|
||||
Resource::init(); // Inicializa el sistema de gestión de recursos
|
||||
Input::init(Asset::get()->get("gamecontrollerdb.txt")); // Carga configuración de controles
|
||||
bindInputs(); // Asigna los controles a la entrada del sistema
|
||||
ServiceMenu::init(); // Inicializa el menú de servicio
|
||||
|
||||
// Inicialización del sistema de notificaciones
|
||||
Notifier::init(std::string(), Resource::get()->getText("8bithud"));
|
||||
@@ -109,20 +111,26 @@ void Director::init()
|
||||
#endif
|
||||
}
|
||||
|
||||
// Cierra todo
|
||||
// Cierra todo y libera recursos del sistema y de los singletons
|
||||
void Director::close()
|
||||
{
|
||||
// Guarda las opciones actuales en el archivo de configuración
|
||||
saveOptionsFile(Asset::get()->get("config.txt"));
|
||||
|
||||
Notifier::destroy();
|
||||
Input::destroy();
|
||||
Resource::destroy();
|
||||
Screen::destroy();
|
||||
Asset::destroy();
|
||||
// Libera los singletons y recursos en orden inverso al de inicialización
|
||||
Notifier::destroy(); // Libera el sistema de notificaciones
|
||||
ServiceMenu::destroy(); // Libera el sistema de menú de servicio
|
||||
Input::destroy(); // Libera el sistema de entrada
|
||||
Resource::destroy(); // Libera el sistema de recursos gráficos y de texto
|
||||
Audio::destroy(); // Libera el sistema de audio
|
||||
Screen::destroy(); // Libera el sistema de pantalla y renderizado
|
||||
Asset::destroy(); // Libera el gestor de archivos
|
||||
|
||||
// Libera todos los recursos de SDL
|
||||
SDL_Quit();
|
||||
|
||||
#ifdef ARCADE
|
||||
// Si está en modo arcade, apaga el sistema si corresponde
|
||||
shutdownSystem(section::options == section::Options::QUIT_WITH_CONTROLLER);
|
||||
#endif
|
||||
}
|
||||
@@ -460,7 +468,7 @@ void Director::setFileList()
|
||||
void Director::checkProgramArguments(int argc, const char *argv[])
|
||||
{
|
||||
// Establece la ruta del programa
|
||||
executable_path_ = argv[0];
|
||||
executable_path_ = getPath(argv[0]);
|
||||
|
||||
// Comprueba el resto de parámetros
|
||||
for (int i = 1; i < argc; ++i)
|
||||
@@ -605,8 +613,8 @@ void Director::runDemoGame()
|
||||
// Ejecuta la sección init
|
||||
void Director::runInit()
|
||||
{
|
||||
Audio::get().stopMusic();
|
||||
Audio::get().stopAllSounds();
|
||||
Audio::get()->stopMusic();
|
||||
Audio::get()->stopAllSounds();
|
||||
if (section::options == section::Options::RELOAD || true)
|
||||
{
|
||||
Resource::get()->reload();
|
||||
|
||||
Reference in New Issue
Block a user