forked from jaildesigner-jailgames/jaildoctors_dilemma
treballant en les novetats de LoadingScreen
This commit is contained in:
@@ -13,12 +13,12 @@
|
||||
#include <memory> // Para make_unique, unique_ptr
|
||||
#include <string> // Para operator+, allocator, char_traits
|
||||
|
||||
#include "core/audio/audio.hpp" // Para Audio
|
||||
#include "core/input/input.hpp" // Para Input, InputAction
|
||||
#include "core/rendering/screen.hpp" // Para Screen
|
||||
#include "core/resources/asset.hpp" // Para Asset, AssetType
|
||||
#include "core/resources/resource.hpp" // Para Resource
|
||||
#include "core/system/debug.hpp" // Para Debug
|
||||
#include "external/jail_audio.h" // Para JA_SetMusicVolume, JA_SetSoundV...
|
||||
#include "game/gameplay/cheevos.hpp" // Para Cheevos
|
||||
#include "game/options.hpp" // Para Options, options, OptionsVideo
|
||||
#include "game/scenes/credits.hpp" // Para Credits
|
||||
@@ -62,7 +62,7 @@ Director::Director(int argc, const char* argv[]) {
|
||||
Options::loadFromFile(Asset::get()->get("config.txt"));
|
||||
|
||||
// Inicializa JailAudio
|
||||
initJailAudio();
|
||||
Audio::init();
|
||||
|
||||
// Crea los objetos
|
||||
Screen::init();
|
||||
@@ -86,6 +86,7 @@ Director::~Director() {
|
||||
Input::destroy();
|
||||
Notifier::destroy();
|
||||
Resource::destroy();
|
||||
Audio::destroy();
|
||||
Screen::destroy();
|
||||
Asset::destroy();
|
||||
|
||||
@@ -237,22 +238,6 @@ void Director::initInput() {
|
||||
}
|
||||
}
|
||||
|
||||
// Inicializa JailAudio
|
||||
void Director::initJailAudio() {
|
||||
if (!SDL_Init(SDL_INIT_AUDIO)) {
|
||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_AUDIO could not initialize! SDL Error: %s", SDL_GetError());
|
||||
} else {
|
||||
JA_Init(48000, SDL_AUDIO_S16LE, 2);
|
||||
if (Options::audio.enabled) {
|
||||
JA_SetMusicVolume(Options::audio.music.volume);
|
||||
JA_SetSoundVolume(Options::audio.sound.volume);
|
||||
} else {
|
||||
JA_SetMusicVolume(0);
|
||||
JA_SetSoundVolume(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Crea el indice de ficheros
|
||||
bool Director::setFileList() {
|
||||
#ifdef MACOS_BUNDLE
|
||||
@@ -537,7 +522,7 @@ void Director::runGameOver() {
|
||||
|
||||
// Ejecuta la seccion de juego donde se juega
|
||||
void Director::runGame() {
|
||||
JA_StopMusic();
|
||||
Audio::get()->stopMusic();
|
||||
auto game = std::make_unique<Game>(GameMode::GAME);
|
||||
game->run();
|
||||
}
|
||||
|
||||
@@ -5,60 +5,28 @@
|
||||
#include <string> // Para string
|
||||
|
||||
class Director {
|
||||
private:
|
||||
// Variables
|
||||
std::string executable_path_; // Path del ejecutable
|
||||
std::string system_folder_; // Carpeta del sistema donde guardar datos
|
||||
|
||||
// Comprueba los parametros del programa
|
||||
std::string checkProgramArguments(int argc, const char* argv[]);
|
||||
|
||||
// Crea la carpeta del sistema donde guardar datos
|
||||
void createSystemFolder(const std::string& folder);
|
||||
|
||||
// Inicializa jail_audio
|
||||
void initJailAudio();
|
||||
|
||||
// Inicializa el objeto Input
|
||||
void initInput();
|
||||
|
||||
// Crea el indice de ficheros
|
||||
bool setFileList();
|
||||
|
||||
// Ejecuta la seccion de juego con el logo
|
||||
void runLogo();
|
||||
|
||||
// Ejecuta la seccion de juego de la pantalla de carga
|
||||
void runLoadingScreen();
|
||||
|
||||
// Ejecuta la seccion de juego con el titulo y los menus
|
||||
void runTitle();
|
||||
|
||||
// Ejecuta la seccion de los creditos del juego
|
||||
void runCredits();
|
||||
|
||||
// Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
||||
void runDemo();
|
||||
|
||||
// Ejecuta la seccion del final del juego
|
||||
void runEnding();
|
||||
|
||||
// Ejecuta la seccion del final del juego
|
||||
void runEnding2();
|
||||
|
||||
// Ejecuta la seccion del final de la partida
|
||||
void runGameOver();
|
||||
|
||||
// Ejecuta la seccion de juego donde se juega
|
||||
void runGame();
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Director(int argc, const char* argv[]);
|
||||
Director(int argc, const char* argv[]); // Constructor
|
||||
~Director(); // Destructor
|
||||
int run(); // Bucle principal
|
||||
|
||||
// Destructor
|
||||
~Director();
|
||||
private:
|
||||
// --- Variables ---
|
||||
std::string executable_path_; // Path del ejecutable
|
||||
std::string system_folder_; // Carpeta del sistema donde guardar datos
|
||||
std::string checkProgramArguments(int argc, const char* argv[]); // Comprueba los parametros del programa
|
||||
|
||||
// Bucle principal
|
||||
int run();
|
||||
// --- Funciones ---
|
||||
void createSystemFolder(const std::string& folder); // Crea la carpeta del sistema donde guardar datos
|
||||
void initInput(); // Inicializa el objeto Input
|
||||
bool setFileList(); // Crea el indice de ficheros
|
||||
void runLogo(); // Ejecuta la seccion de juego con el logo
|
||||
void runLoadingScreen(); // Ejecuta la seccion de juego de la pantalla de carga
|
||||
void runTitle(); // Ejecuta la seccion de juego con el titulo y los menus
|
||||
void runCredits(); // Ejecuta la seccion de los creditos del juego
|
||||
void runDemo(); // Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
||||
void runEnding(); // Ejecuta la seccion del final del juego
|
||||
void runEnding2(); // Ejecuta la seccion del final del juego
|
||||
void runGameOver(); // Ejecuta la seccion del final de la partida
|
||||
void runGame(); // Ejecuta la seccion de juego donde se juega
|
||||
};
|
||||
Reference in New Issue
Block a user