forked from jaildesigner-jailgames/jaildoctors_dilemma
JA VA! Nomes s'havia de fer les coses be i no ser un ansias
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include "screen.h" // Para Screen
|
||||
#include "sprite.h" // Para Sprite
|
||||
#include "texture.h" // Para Texture
|
||||
#include "options.h"
|
||||
|
||||
// Carga las variables y texturas desde un fichero de mapa de tiles
|
||||
std::vector<int> loadRoomTileFile(std::string file_path, bool verbose)
|
||||
@@ -403,7 +404,7 @@ bool setItem(item_t *item, std::string var, std::string value)
|
||||
}
|
||||
|
||||
// Constructor
|
||||
Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, bool jailEnabled, Debug *debug)
|
||||
Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, ItemTracker *itemTracker, int *itemsPicked, bool jailEnabled, Debug *debug)
|
||||
{
|
||||
// Copia los punteros a objetos
|
||||
this->renderer = renderer;
|
||||
@@ -412,7 +413,6 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
||||
this->itemTracker = itemTracker;
|
||||
this->itemsPicked = itemsPicked;
|
||||
this->debug = debug;
|
||||
this->options = options;
|
||||
|
||||
number = room->number;
|
||||
name = room->name;
|
||||
@@ -430,7 +430,7 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
||||
textureA = room->textureA;
|
||||
textureB = room->textureB;
|
||||
tileMap = *room->tileMap;
|
||||
texture = (options->palette == p_zxspectrum) ? textureA : textureB;
|
||||
texture = (options.palette == p_zxspectrum) ? textureA : textureB;
|
||||
this->jailEnabled = jailEnabled;
|
||||
|
||||
// Inicializa variables
|
||||
@@ -445,7 +445,7 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
||||
for (auto &enemy : room->enemies)
|
||||
{
|
||||
enemy.renderer = renderer;
|
||||
enemy.palette = options->palette;
|
||||
enemy.palette = options.palette;
|
||||
enemies.push_back(new Enemy(enemy));
|
||||
}
|
||||
|
||||
@@ -457,8 +457,8 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
||||
if (!itemTracker->hasBeenPicked(room->name, itemPos))
|
||||
{
|
||||
item.renderer = renderer;
|
||||
item.color1 = stringToColor(options->palette, itemColor1);
|
||||
item.color2 = stringToColor(options->palette, itemColor2);
|
||||
item.color1 = stringToColor(options.palette, itemColor1);
|
||||
item.color2 = stringToColor(options.palette, itemColor2);
|
||||
items.push_back(new Item(item));
|
||||
}
|
||||
}
|
||||
@@ -488,7 +488,7 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
||||
mapTexture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, PLAY_AREA_WIDTH, PLAY_AREA_HEIGHT);
|
||||
if (mapTexture == nullptr)
|
||||
{
|
||||
if (options->console)
|
||||
if (options.console)
|
||||
{
|
||||
std::cout << "Error: mapTexture could not be created!\nSDL Error: " << SDL_GetError() << std::endl;
|
||||
}
|
||||
@@ -499,7 +499,7 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
||||
fillMapTexture();
|
||||
|
||||
// Establece el color del borde
|
||||
screen->setBorderColor(stringToColor(options->palette, room->borderColor));
|
||||
screen->setBorderColor(stringToColor(options.palette, room->borderColor));
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@@ -534,19 +534,19 @@ std::string Room::getName()
|
||||
// Devuelve el color de la habitación
|
||||
color_t Room::getBGColor()
|
||||
{
|
||||
return stringToColor(options->palette, bgColor);
|
||||
return stringToColor(options.palette, bgColor);
|
||||
}
|
||||
|
||||
// Devuelve el color del borde
|
||||
color_t Room::getBorderColor()
|
||||
{
|
||||
return stringToColor(options->palette, borderColor);
|
||||
return stringToColor(options.palette, borderColor);
|
||||
}
|
||||
|
||||
// Crea la textura con el mapeado de la habitación
|
||||
void Room::fillMapTexture()
|
||||
{
|
||||
const color_t color = stringToColor(options->palette, bgColor);
|
||||
const color_t color = stringToColor(options.palette, bgColor);
|
||||
SDL_SetRenderTarget(renderer, mapTexture);
|
||||
SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, 0xFF);
|
||||
SDL_RenderClear(renderer);
|
||||
@@ -841,7 +841,7 @@ bool Room::itemCollision(SDL_Rect &rect)
|
||||
items.erase(items.begin() + i);
|
||||
JA_PlaySound(itemSound);
|
||||
*itemsPicked = *itemsPicked + 1;
|
||||
options->stats.items = *itemsPicked;
|
||||
options.stats.items = *itemsPicked;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -872,20 +872,20 @@ void Room::reLoadPalette()
|
||||
// Cambia el color de los items
|
||||
for (auto item : items)
|
||||
{
|
||||
item->setColors(stringToColor(options->palette, itemColor1), stringToColor(options->palette, itemColor2));
|
||||
item->setColors(stringToColor(options.palette, itemColor1), stringToColor(options.palette, itemColor2));
|
||||
}
|
||||
|
||||
// Cambia el color de los enemigos
|
||||
for (auto enemy : enemies)
|
||||
{
|
||||
enemy->setPalette(options->palette);
|
||||
enemy->setPalette(options.palette);
|
||||
}
|
||||
|
||||
// Establece el color del borde
|
||||
screen->setBorderColor(stringToColor(options->palette, borderColor));
|
||||
screen->setBorderColor(stringToColor(options.palette, borderColor));
|
||||
|
||||
// Cambia la textura
|
||||
texture = (options->palette == p_zxspectrum) ? textureA : textureB;
|
||||
texture = (options.palette == p_zxspectrum) ? textureA : textureB;
|
||||
|
||||
// Pone la nueva textura a los tiles animados
|
||||
for (auto tile : aTile)
|
||||
|
||||
Reference in New Issue
Block a user