Añadiendo la clase asset
This commit is contained in:
102
source/game.cpp
102
source/game.cpp
@@ -1,12 +1,12 @@
|
||||
#include "game.h"
|
||||
|
||||
// Constructor
|
||||
Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, std::string *filelist, Lang *lang, Input *input, bool demo, options_t *options)
|
||||
Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, Asset *mAsset, Lang *lang, Input *input, bool demo, options_t *options)
|
||||
{
|
||||
// Copia los punteros
|
||||
mRenderer = renderer;
|
||||
mScreen = screen;
|
||||
mFileList = filelist;
|
||||
this->mAsset = mAsset;
|
||||
mLang = lang;
|
||||
mInput = input;
|
||||
mOptions = options;
|
||||
@@ -68,14 +68,14 @@ Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *scr
|
||||
mTextureTextNokia2 = new LTexture(mRenderer);
|
||||
mTextureTextNokiaBig2 = new LTexture(mRenderer);
|
||||
|
||||
mText = new Text(mFileList[48], mTextureText, mRenderer);
|
||||
mTextScoreBoard = new Text(mFileList[46], mTextureTextScoreBoard, mRenderer);
|
||||
mTextBig = new Text(mFileList[47], mTextureTextBig, mRenderer);
|
||||
mTextNokia2 = new Text(mFileList[57], mTextureTextNokia2, mRenderer);
|
||||
mTextNokiaBig2 = new Text(mFileList[55], mTextureTextNokiaBig2, mRenderer);
|
||||
mText = new Text(mAsset->get("smb2.txt"), mTextureText, mRenderer);
|
||||
mTextScoreBoard = new Text(mAsset->get("8bithud.txt"), mTextureTextScoreBoard, mRenderer);
|
||||
mTextBig = new Text(mAsset->get("smb2_big.txt"), mTextureTextBig, mRenderer);
|
||||
mTextNokia2 = new Text(mAsset->get("nokia2.txt"), mTextureTextNokia2, mRenderer);
|
||||
mTextNokiaBig2 = new Text(mAsset->get("nokia_big2.txt"), mTextureTextNokiaBig2, mRenderer);
|
||||
|
||||
mMenuGameOver = new Menu(mRenderer, mText, mInput, mFileList);
|
||||
mMenuPause = new Menu(mRenderer, mText, mInput, mFileList);
|
||||
mMenuGameOver = new Menu(mRenderer, mText, mInput, mAsset);
|
||||
mMenuPause = new Menu(mRenderer, mText, mInput, mAsset);
|
||||
|
||||
mFade = new Fade(mRenderer);
|
||||
mEventHandler = new SDL_Event();
|
||||
@@ -104,7 +104,7 @@ Game::~Game()
|
||||
|
||||
mRenderer = nullptr;
|
||||
mScreen = nullptr;
|
||||
mFileList = nullptr;
|
||||
mAsset = nullptr;
|
||||
mLang = nullptr;
|
||||
mInput = nullptr;
|
||||
|
||||
@@ -549,47 +549,47 @@ bool Game::loadMedia()
|
||||
bool success = true;
|
||||
|
||||
// Texturas
|
||||
success &= loadTextureFromFile(mTextureText, mFileList[30], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextScoreBoard, mFileList[27], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextBig, mFileList[29], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextNokia2, mFileList[56], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextNokiaBig2, mFileList[54], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureText, mAsset->get("smb2.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextScoreBoard, mAsset->get("8bithud.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextBig, mAsset->get("smb2_big.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextNokia2, mAsset->get("nokia2.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextNokiaBig2, mAsset->get("nokia_big2.png"), mRenderer);
|
||||
|
||||
success &= loadTextureFromFile(mTexturePlayer1Legs, mFileList[39], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Head, mFileList[41], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Body, mFileList[37], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Death, mFileList[38], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Legs, mAsset->get("player1_legs.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Head, mAsset->get("player1_head.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Body, mAsset->get("player1_body.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Death, mAsset->get("player1_death.png"), mRenderer);
|
||||
|
||||
success &= loadTextureFromFile(mTexturePlayer2Legs, mFileList[44], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer2Head, mFileList[45], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer2Body, mFileList[42], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer2Death, mFileList[43], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer2Legs, mAsset->get("player2_legs.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer2Head, mAsset->get("player2_head.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer2Body, mAsset->get("player2_body.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer2Death, mAsset->get("player2_death.png"), mRenderer);
|
||||
|
||||
success &= loadTextureFromFile(mTextureBalloon, mFileList[24], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureBullet, mFileList[25], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureGameBG, mFileList[31], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureItems, mFileList[34], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureGameText, mFileList[32], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureBalloon, mAsset->get("balloon.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureBullet, mAsset->get("bullet.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureGameBG, mAsset->get("game_bg.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureItems, mAsset->get("items.png"), mRenderer);
|
||||
success &= loadTextureFromFile(mTextureGameText, mAsset->get("game_text.png"), mRenderer);
|
||||
|
||||
// Sonidos
|
||||
mSoundBalloon = JA_LoadSound(mFileList[6].c_str());
|
||||
mSoundBubble1 = JA_LoadSound(mFileList[7].c_str());
|
||||
mSoundBubble2 = JA_LoadSound(mFileList[8].c_str());
|
||||
mSoundBubble3 = JA_LoadSound(mFileList[9].c_str());
|
||||
mSoundBubble4 = JA_LoadSound(mFileList[10].c_str());
|
||||
mSoundBullet = JA_LoadSound(mFileList[11].c_str());
|
||||
mSoundClock = JA_LoadSound(mFileList[22].c_str());
|
||||
mSoundCoffeeOut = JA_LoadSound(mFileList[12].c_str());
|
||||
mSoundHiScore = JA_LoadSound(mFileList[13].c_str());
|
||||
mSoundItemDrop = JA_LoadSound(mFileList[14].c_str());
|
||||
mSoundItemPickup = JA_LoadSound(mFileList[15].c_str());
|
||||
mSoundPlayerCollision = JA_LoadSound(mFileList[19].c_str());
|
||||
mSoundPowerBall = JA_LoadSound(mFileList[23].c_str());
|
||||
mSoundStageChange = JA_LoadSound(mFileList[20].c_str());
|
||||
mSoundCollision = JA_LoadSound(mFileList[21].c_str());
|
||||
mSoundBalloon = JA_LoadSound(mAsset->get("balloon.wav").c_str());
|
||||
mSoundBubble1 = JA_LoadSound(mAsset->get("bubble1.wav").c_str());
|
||||
mSoundBubble2 = JA_LoadSound(mAsset->get("bubble2.wav").c_str());
|
||||
mSoundBubble3 = JA_LoadSound(mAsset->get("bubble3.wav").c_str());
|
||||
mSoundBubble4 = JA_LoadSound(mAsset->get("bubble4.wav").c_str());
|
||||
mSoundBullet = JA_LoadSound(mAsset->get("bullet.wav").c_str());
|
||||
mSoundClock = JA_LoadSound(mAsset->get("clock.wav").c_str());
|
||||
mSoundCoffeeOut = JA_LoadSound(mAsset->get("coffeeout.wav").c_str());
|
||||
mSoundHiScore = JA_LoadSound(mAsset->get("hiscore.wav").c_str());
|
||||
mSoundItemDrop = JA_LoadSound(mAsset->get("itemdrop.wav").c_str());
|
||||
mSoundItemPickup = JA_LoadSound(mAsset->get("itempickup.wav").c_str());
|
||||
mSoundPlayerCollision = JA_LoadSound(mAsset->get("player_collision.wav").c_str());
|
||||
mSoundPowerBall = JA_LoadSound(mAsset->get("powerball.wav").c_str());
|
||||
mSoundStageChange = JA_LoadSound(mAsset->get("stage_change.wav").c_str());
|
||||
mSoundCollision = JA_LoadSound(mAsset->get("title.wav").c_str());
|
||||
|
||||
// Musicas
|
||||
mMusicPlaying = JA_LoadMusic(mFileList[4].c_str());
|
||||
mMusicPlaying = JA_LoadMusic(mAsset->get("playing.ogg").c_str());
|
||||
|
||||
return success;
|
||||
}
|
||||
@@ -599,7 +599,7 @@ bool Game::loadScoreFile()
|
||||
{
|
||||
// Indicador de éxito en la carga
|
||||
bool success = true;
|
||||
const std::string p = mFileList[0];
|
||||
const std::string p = mAsset->get("score.bin");
|
||||
const std::string filename = p.substr(p.find_last_of("\\/") + 1);
|
||||
SDL_RWops *file = SDL_RWFromFile(p.c_str(), "r+b");
|
||||
|
||||
@@ -644,12 +644,12 @@ bool Game::loadScoreFile()
|
||||
|
||||
// Establece el valor de la máxima puntuación a partir del vector con los datos
|
||||
if (mScoreDataFile[0] == 0)
|
||||
mHiScore = 10000;
|
||||
{mHiScore = 10000;}
|
||||
// Comprueba el checksum para ver si se ha modificado el fichero
|
||||
else if (mScoreDataFile[0] % 43 == mScoreDataFile[1])
|
||||
mHiScore = mScoreDataFile[0];
|
||||
{mHiScore = mScoreDataFile[0];}
|
||||
else
|
||||
mHiScore = 10000;
|
||||
{mHiScore = 10000;}
|
||||
|
||||
return success;
|
||||
}
|
||||
@@ -659,7 +659,7 @@ bool Game::loadDemoFile()
|
||||
{
|
||||
// Indicador de éxito en la carga
|
||||
bool success = true;
|
||||
const std::string p = mFileList[1];
|
||||
const std::string p = mAsset->get("demo.bin");
|
||||
const std::string filename = p.substr(p.find_last_of("\\/") + 1);
|
||||
SDL_RWops *file = SDL_RWFromFile(p.c_str(), "r+b");
|
||||
|
||||
@@ -715,7 +715,7 @@ bool Game::loadDemoFile()
|
||||
bool Game::saveScoreFile()
|
||||
{
|
||||
bool success = true;
|
||||
const std::string p = mFileList[0];
|
||||
const std::string p = mAsset->get("score.bin");
|
||||
const std::string filename = p.substr(p.find_last_of("\\/") + 1);
|
||||
SDL_RWops *file = SDL_RWFromFile(p.c_str(), "w+b");
|
||||
if (file != nullptr)
|
||||
@@ -742,7 +742,7 @@ bool Game::saveScoreFile()
|
||||
bool Game::saveDemoFile()
|
||||
{
|
||||
bool success = true;
|
||||
const std::string p = mFileList[1];
|
||||
const std::string p = mAsset->get("demo.bin");
|
||||
const std::string filename = p.substr(p.find_last_of("\\/") + 1);
|
||||
if (mDemo.recording)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user