Trabajando en integrar la clase screen

This commit is contained in:
2021-09-10 23:04:52 +02:00
parent b28d798545
commit 3fe0861e4f
15 changed files with 240 additions and 81 deletions

View File

@@ -22,7 +22,7 @@ Director::Director(std::string path)
if (!checkFileList())
section = PROG_SECTION_QUIT;
// Inicializa el objeto de idioma
// Crea el objeto de idioma
mLang = new Lang(mFileList);
// Crea el puntero a la estructura y carga el fichero de configuración
@@ -45,12 +45,15 @@ Director::Director(std::string path)
// Inicializa SDL
initSDL();
// Crea el objeto para dibujar en pantalla (Requiere initSDL)
mScreen = new Screen(mWindow, mRenderer);
// Inicializa JailAudio
initJailAudio();
// Aplica las opciones
SDL_SetWindowFullscreen(mWindow, mOptions->fullScreenMode);
SDL_SetWindowSize(mWindow, SCREEN_WIDTH * mOptions->windowSize, SCREEN_HEIGHT * mOptions->windowSize);
//SDL_SetWindowSize(mWindow, REAL_SCREEN_WIDTH * mOptions->windowSize, REAL_SCREEN_HEIGHT * mOptions->windowSize);
mLang->setLang(mOptions->language);
#ifdef __MIPSEL__
@@ -76,6 +79,9 @@ Director::~Director()
delete mInput;
mInput = nullptr;
delete mScreen;
mScreen = nullptr;
delete mLang;
mLang = nullptr;
@@ -484,21 +490,21 @@ void Director::setSection(section_t section)
void Director::runLogo()
{
mLogo = new Logo(mRenderer, mFileList);
mLogo = new Logo(mRenderer, mScreen, mFileList);
setSection(mLogo->run());
delete mLogo;
}
void Director::runIntro()
{
mIntro = new Intro(mRenderer, mFileList, mLang);
mIntro = new Intro(mRenderer, mScreen, mFileList, mLang);
setSection(mIntro->run());
delete mIntro;
}
void Director::runTitle()
{
mTitle = new Title(mWindow, mRenderer, mInput, mFileList, mOptions, mLang);
mTitle = new Title(mWindow, mRenderer, mScreen, mInput, mFileList, mOptions, mLang);
setSection(mTitle->run(mSection.subsection));
delete mTitle;
}
@@ -506,9 +512,9 @@ void Director::runTitle()
void Director::runGame()
{
if (mSection.subsection == GAME_SECTION_PLAY_1P)
mGame = new Game(1, mRenderer, mFileList, mLang, mInput, false, mOptions);
mGame = new Game(1, mRenderer, mScreen, mFileList, mLang, mInput, false, mOptions);
if (mSection.subsection == GAME_SECTION_PLAY_2P)
mGame = new Game(2, mRenderer, mFileList, mLang, mInput, false, mOptions);
mGame = new Game(2, mRenderer, mScreen, mFileList, mLang, mInput, false, mOptions);
setSection(mGame->run());
delete mGame;
}