Añadiendo la clase asset

This commit is contained in:
2022-09-26 10:17:54 +02:00
parent 25616e1e6c
commit 9e089e9092
18 changed files with 1190 additions and 622 deletions

View File

@@ -1,14 +1,14 @@
#include "title.h"
// Constructor
Title::Title(SDL_Window *window, SDL_Renderer *renderer, Screen *screen, Input *input, std::string *fileList, options_t *options, Lang *lang)
Title::Title(SDL_Window *window, SDL_Renderer *renderer, Screen *screen, Input *input, Asset *mAsset, options_t *options, Lang *lang)
{
// Copia las direcciones de los punteros
mWindow = window;
mRenderer = renderer;
mScreen = screen;
mInput = input;
mFileList = fileList;
this->mAsset = mAsset;
mOptions = options;
mLang = lang;
@@ -25,10 +25,10 @@ Title::Title(SDL_Window *window, SDL_Renderer *renderer, Screen *screen, Input *
mDustBitmapR = new AnimatedSprite();
mTile = new Sprite();
mGradient = new Sprite();
mText = new Text(mFileList[48], mTextTexture, mRenderer);
mText2 = new Text(mFileList[46], mTextTexture2, mRenderer);
mMenu.title = new Menu(mRenderer, mText, mInput, mFileList);
mMenu.options = new Menu(mRenderer, mText, mInput, mFileList);
mText = new Text(mAsset->get("smb2.txt"), mTextTexture, mRenderer);
mText2 = new Text(mAsset->get("8bithud.txt"), mTextTexture2, mRenderer);
mMenu.title = new Menu(mRenderer, mText, mInput, mAsset);
mMenu.options = new Menu(mRenderer, mText, mInput, mAsset);
// Crea la textura para el mosaico de fondo
mBackground = SDL_CreateTexture(mRenderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, SCREEN_WIDTH * 2, SCREEN_HEIGHT * 2);
@@ -45,7 +45,7 @@ Title::~Title()
mRenderer = nullptr;
mScreen = nullptr;
mInput = nullptr;
mFileList = nullptr;
mAsset = nullptr;
mOptions = nullptr;
mLang = nullptr;
@@ -108,12 +108,6 @@ Title::~Title()
SDL_DestroyTexture(mBackground);
mBackground = nullptr;
mWindow = nullptr;
mRenderer = nullptr;
mInput = nullptr;
mFileList = nullptr;
mOptions = nullptr;
}
// Inicializa las variables necesarias para la sección 'Title'
@@ -302,16 +296,16 @@ bool Title::loadMedia()
bool success = true;
// Texturas
success &= loadTextureFromFile(mTitleTexture, mFileList[40], mRenderer);
success &= loadTextureFromFile(mItemsTexture, mFileList[34], mRenderer);
success &= loadTextureFromFile(mTextTexture, mFileList[30], mRenderer);
success &= loadTextureFromFile(mTextTexture2, mFileList[27], mRenderer);
success &= loadTextureFromFile(mTitleTexture, mAsset->get("title.png"), mRenderer);
success &= loadTextureFromFile(mItemsTexture, mAsset->get("items.png"), mRenderer);
success &= loadTextureFromFile(mTextTexture, mAsset->get("smb2.png"), mRenderer);
success &= loadTextureFromFile(mTextTexture2, mAsset->get("8bithud.png"), mRenderer);
// Sonidos
mSound = JA_LoadSound(mFileList[21].c_str());
mSound = JA_LoadSound(mAsset->get("title.wav").c_str());
// Musicas
mMusic = JA_LoadMusic(mFileList[5].c_str());
mMusic = JA_LoadMusic(mAsset->get("title.ogg").c_str());
return success;
}
@@ -920,7 +914,7 @@ section_t Title::run(Uint8 subsection)
// Ejecuta la parte donde se muestran las instrucciones
void Title::runInstructions(Uint8 mode)
{
mInstructions = new Instructions(mRenderer, mScreen, mFileList, mLang);
mInstructions = new Instructions(mRenderer, mScreen, mAsset, mLang);
mInstructions->run(mode);
delete mInstructions;
}
@@ -928,7 +922,7 @@ void Title::runInstructions(Uint8 mode)
// Ejecuta el juego en modo demo
void Title::runDemoGame()
{
mDemoGame = new Game(1, 0, mRenderer, mScreen, mFileList, mLang, mInput, true, mOptions);
mDemoGame = new Game(1, 0, mRenderer, mScreen, mAsset, mLang, mInput, true, mOptions);
mDemoGame->run();
delete mDemoGame;
}