forked from jaildesigner-jailgames/jaildoctors_dilemma
Trabajando en la precarga de habitaciones
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
#include "common/asset.h"
|
||||
#include "common/debug.h"
|
||||
#include "common/jail_audio.h"
|
||||
#include "common/resource.h"
|
||||
#include "common/screen.h"
|
||||
#include "common/sprite.h"
|
||||
#include "common/utils.h"
|
||||
@@ -35,14 +34,52 @@ struct aTile_t
|
||||
int xcOrig; // Poicion X donde se encuentra el primer tile de la animacion en la tilesheet
|
||||
};
|
||||
|
||||
struct room_t
|
||||
{
|
||||
std::string name; // Nombre de la habitación
|
||||
std::string bgColor; // Color de fondo de la habitación
|
||||
std::string borderColor; // Color del borde de la pantalla
|
||||
std::string itemColor1; // Color 1 para los items de la habitación
|
||||
std::string itemColor2; // Color 2 para los items de la habitación
|
||||
std::string roomUp; // Identificador de la habitación que se encuentra arriba
|
||||
std::string roomDown; // Identificador de la habitación que se encuentra abajp
|
||||
std::string roomLeft; // Identificador de la habitación que se encuentra a la izquierda
|
||||
std::string roomRight; // Identificador de la habitación que se encuentra a la derecha
|
||||
std::string tileSetFile; // Imagen con los graficos para la habitación
|
||||
std::string tileMapFile; // Fichero con el mapa de indices de tile
|
||||
std::vector<int> *tileMap; // Indice de los tiles a dibujar en la habitación
|
||||
int autoSurfaceDirection; // Sentido en el que arrastran las superficies automáticas de la habitación
|
||||
std::vector<enemy_t> enemies; // Listado con los enemigos de la habitación
|
||||
std::vector<item_t> items; // Listado con los items que hay en la habitación
|
||||
Texture *textureA; // Textura con los graficos de la habitación
|
||||
Texture *textureB; // Textura con los graficos de la habitación
|
||||
};
|
||||
|
||||
// Carga las variables desde un fichero de mapa
|
||||
room_t loadRoomFile(std::string file);
|
||||
|
||||
// Carga las variables y texturas desde un fichero de mapa de tiles
|
||||
std::vector<int> loadRoomTileFile(std::string file_path);
|
||||
|
||||
// Asigna variables a partir de dos cadenas
|
||||
bool setVars(room_t *room, std::string var, std::string value);
|
||||
|
||||
// Asigna variables a una estructura enemy_t
|
||||
bool setEnemy(enemy_t *enemy, std::string var, std::string value);
|
||||
|
||||
// Asigna variables a una estructura item_t
|
||||
bool setItem(item_t *item, std::string var, std::string value);
|
||||
|
||||
class Room
|
||||
{
|
||||
private:
|
||||
// Objetos y punteros
|
||||
std::vector<Enemy *> enemies; // Listado con los enemigos de la habitación
|
||||
std::vector<Item *> items; // Listado con los items que hay en la habitación
|
||||
std::vector<int> *tileMap; // Indice de los tiles a dibujar en la habitación
|
||||
Texture *texture; // Textura con los graficos de la habitación
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Texture *textureA; // Textura con los graficos de la habitación
|
||||
Texture *textureB; // Textura con los graficos de la habitación
|
||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
ItemTracker *itemTracker; // Lleva el control de los objetos recogidos
|
||||
@@ -62,9 +99,9 @@ private:
|
||||
std::string roomDown; // Identificador de la habitación que se encuentra abajp
|
||||
std::string roomLeft; // Identificador de la habitación que se encuentra a la izquierda
|
||||
std::string roomRight; // Identificador de la habitación que se encuentra a la derecha
|
||||
std::string tileset; // Imagen con los graficos para la habitación
|
||||
std::string tileSetFile; // Imagen con los graficos para la habitación
|
||||
std::string tileMapFile; // Fichero con el mapa de indices de tile
|
||||
std::vector<int> tilemap; // Indice de los tiles a dibujar en la habitación
|
||||
int autoSurfaceDirection; // Sentido en el que arrastran las superficies automáticas de la habitación
|
||||
JA_Sound itemSound; // Sonido producido al coger un objeto
|
||||
std::vector<h_line_t> bottomSurfaces; // Lista con las superficies inferiores de la habitación
|
||||
std::vector<h_line_t> topSurfaces; // Lista con las superficies superiores de la habitación
|
||||
@@ -76,26 +113,10 @@ private:
|
||||
bool paused; // Indica si el mapa esta en modo pausa
|
||||
std::vector<aTile_t> aTile; // Vector con los indices de tiles animados
|
||||
std::vector<h_line_t> autoSurfaces; // Lista con las superficies automaticas de la habitación
|
||||
int autoSurfaceDirection; // Sentido en el que arrastran las superficies automáticas de la habitación
|
||||
int tileSize; // Ancho del tile en pixels
|
||||
int mapWidth; // Ancho del mapa en tiles
|
||||
int mapHeight; // Alto del mapa en tiles
|
||||
int tilesetWidth; // Ancho del tileset en tiles
|
||||
|
||||
// Carga las variables desde un fichero de mapa
|
||||
bool loadMapFile(std::string file);
|
||||
|
||||
// Carga las variables y texturas desde un fichero de mapa de tiles
|
||||
bool loadMapTileFile(std::string file);
|
||||
|
||||
// Asigna variables a partir de dos cadenas
|
||||
bool setVars(std::string var, std::string value);
|
||||
|
||||
// Asigna variables a una estructura enemy_t
|
||||
bool setEnemy(enemy_t *enemy, std::string var, std::string value);
|
||||
|
||||
// Asigna variables a una estructura item_t
|
||||
bool setItem(item_t *item, std::string var, std::string value);
|
||||
int tileSetWidth; // Ancho del tileset en tiles
|
||||
|
||||
// Pinta el mapa de la habitación en la textura
|
||||
void fillMapTexture();
|
||||
@@ -135,7 +156,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Room(std::string file, SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, ItemTracker *item_tracker, int *items, Debug *debug);
|
||||
Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, Debug *debug);
|
||||
|
||||
// Destructor
|
||||
~Room();
|
||||
|
||||
Reference in New Issue
Block a user