84 lines
2.0 KiB
C++
84 lines
2.0 KiB
C++
#pragma once
|
|
|
|
#include <SDL2/SDL_render.h> // for SDL_Renderer
|
|
#include <SDL2/SDL_video.h> // for SDL_Window
|
|
#include <string> // for string
|
|
class Asset; // lines 6-6
|
|
class Debug; // lines 8-8
|
|
class Input; // lines 14-14
|
|
class Resource; // lines 17-17
|
|
class Screen; // lines 18-18
|
|
struct JA_Music_t; // lines 20-20
|
|
struct options_t; // lines 21-21
|
|
struct section_t; // lines 22-22
|
|
|
|
class Director
|
|
{
|
|
private:
|
|
// Objetos y punteros
|
|
SDL_Window *window_; // La ventana donde dibujamos
|
|
SDL_Renderer *renderer_; // El renderizador de la ventana
|
|
|
|
// Variables
|
|
JA_Music_t *title_music_; // Musica del titulo
|
|
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);
|
|
|
|
// Carga los recursos
|
|
void loadResources(section_t section);
|
|
|
|
// Inicializa jail_audio
|
|
void initJailAudio();
|
|
|
|
// Arranca SDL y crea la ventana
|
|
bool initSDL();
|
|
|
|
// 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[]);
|
|
|
|
// Destructor
|
|
~Director();
|
|
|
|
// Bucle principal
|
|
int run();
|
|
}; |