Ya carga las imagenes del juego y la demo desde la cache de rescursos
This commit is contained in:
53
source/common/resource.cpp
Normal file
53
source/common/resource.cpp
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
#include "resource.h"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
Resource::Resource(SDL_Renderer *renderer, Asset *asset, options_t *options)
|
||||||
|
{
|
||||||
|
this->renderer = renderer;
|
||||||
|
this->asset = asset;
|
||||||
|
this->options = options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Carga todos los recursos necesarios
|
||||||
|
void Resource::loadTextures(std::vector<std::string> list)
|
||||||
|
{
|
||||||
|
for (auto l : list)
|
||||||
|
{
|
||||||
|
texture_t t;
|
||||||
|
t.name = l;
|
||||||
|
t.texture = new Texture(renderer, asset->get(t.name));
|
||||||
|
textures.push_back(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Libera los recursos
|
||||||
|
void Resource::freeTextures()
|
||||||
|
{
|
||||||
|
// Libera las texturas
|
||||||
|
for (auto texture : textures)
|
||||||
|
{
|
||||||
|
texture.texture->unload();
|
||||||
|
delete texture.texture;
|
||||||
|
}
|
||||||
|
textures.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Obtiene una textura
|
||||||
|
Texture *Resource::getTexture(std::string name)
|
||||||
|
{
|
||||||
|
//std::cout << "BUSCANDO TEXTURA" << std::endl;
|
||||||
|
for (auto texture : textures)
|
||||||
|
{
|
||||||
|
//std::cout << "COMPROBANDO: " << texture.name << " - " << name << std::endl;
|
||||||
|
|
||||||
|
if (texture.name.find(name) != std::string::npos)
|
||||||
|
{
|
||||||
|
std::cout << "CACHE: " << name << std::endl;
|
||||||
|
return texture.texture;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::cout << "NO ENCONTRADA: " << name << std::endl;
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
44
source/common/resource.h
Normal file
44
source/common/resource.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <SDL2/SDL.h>
|
||||||
|
#include "asset.h"
|
||||||
|
#include "texture.h"
|
||||||
|
#include "utils.h"
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#ifndef RESOURCE_H
|
||||||
|
#define RESOURCE_H
|
||||||
|
|
||||||
|
struct texture_t
|
||||||
|
{
|
||||||
|
std::string name; // Nombre de la textura
|
||||||
|
Texture *texture; // La textura
|
||||||
|
};
|
||||||
|
|
||||||
|
class Resource
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
// Objetos y punteros
|
||||||
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
|
options_t *options; // Puntero a las opciones del juego
|
||||||
|
|
||||||
|
// Variables
|
||||||
|
std::vector<texture_t> textures;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Constructor
|
||||||
|
Resource(SDL_Renderer *renderer, Asset *asset, options_t *options);
|
||||||
|
|
||||||
|
// Carga todos los recursos necesarios
|
||||||
|
void loadTextures(std::vector<std::string> textureList);
|
||||||
|
|
||||||
|
// Libera los recursos
|
||||||
|
void freeTextures();
|
||||||
|
|
||||||
|
// Obtiene una textura
|
||||||
|
Texture* getTexture(std::string name);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#include "demo.h"
|
#include "demo.h"
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Demo::Demo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, Debug *debug)
|
Demo::Demo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, Debug *debug)
|
||||||
{
|
{
|
||||||
// Inicia algunas variables
|
// Inicia algunas variables
|
||||||
board.iniClock = SDL_GetTicks();
|
board.iniClock = SDL_GetTicks();
|
||||||
@@ -15,16 +15,20 @@ Demo::Demo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *opti
|
|||||||
currentRoom = rooms.at(roomIndex);
|
currentRoom = rooms.at(roomIndex);
|
||||||
|
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
|
this->resource = resource;
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
this->asset = asset;
|
this->asset = asset;
|
||||||
this->screen = screen;
|
this->screen = screen;
|
||||||
this->debug = debug;
|
this->debug = debug;
|
||||||
this->options = options;
|
this->options = options;
|
||||||
|
|
||||||
|
// Carga los recursos
|
||||||
|
loadResources();
|
||||||
|
|
||||||
// Crea los objetos
|
// Crea los objetos
|
||||||
itemTracker = new ItemTracker();
|
itemTracker = new ItemTracker();
|
||||||
scoreboard = new ScoreBoard(renderer, asset, options, &board);
|
scoreboard = new ScoreBoard(renderer, asset, options, &board);
|
||||||
room = new Room(asset->get(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
||||||
|
|
||||||
@@ -47,6 +51,8 @@ Demo::Demo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *opti
|
|||||||
Demo::~Demo()
|
Demo::~Demo()
|
||||||
{
|
{
|
||||||
// Libera la memoria de los objetos
|
// Libera la memoria de los objetos
|
||||||
|
resource->freeTextures();
|
||||||
|
//delete resource;
|
||||||
delete itemTracker;
|
delete itemTracker;
|
||||||
delete scoreboard;
|
delete scoreboard;
|
||||||
delete room;
|
delete room;
|
||||||
@@ -192,7 +198,7 @@ bool Demo::changeRoom(std::string file)
|
|||||||
room = nullptr;
|
room = nullptr;
|
||||||
|
|
||||||
// Crea un objeto habitación nuevo a partir del fichero
|
// Crea un objeto habitación nuevo a partir del fichero
|
||||||
room = new Room(asset->get(file), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(asset->get(file), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
||||||
|
|
||||||
// Actualiza el marcador
|
// Actualiza el marcador
|
||||||
const color_t c = room->getBorderColor(); // Pone el color del marcador
|
const color_t c = room->getBorderColor(); // Pone el color del marcador
|
||||||
@@ -223,3 +229,67 @@ void Demo::checkRoomChange()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Carga los recursos
|
||||||
|
void Demo::loadResources()
|
||||||
|
{
|
||||||
|
std::vector<std::string> textureList;
|
||||||
|
|
||||||
|
// Jugador
|
||||||
|
textureList.push_back("player.png");
|
||||||
|
|
||||||
|
// Tilesets
|
||||||
|
textureList.push_back("standard.png");
|
||||||
|
textureList.push_back("standard_zxarne.png");
|
||||||
|
|
||||||
|
// Enemigos
|
||||||
|
textureList.push_back("paco.png");
|
||||||
|
textureList.push_back("chip.png");
|
||||||
|
textureList.push_back("wave.png");
|
||||||
|
textureList.push_back("wave_v.png");
|
||||||
|
textureList.push_back("sigmasua.png");
|
||||||
|
textureList.push_back("diskette.png");
|
||||||
|
textureList.push_back("bird.png");
|
||||||
|
textureList.push_back("bin.png");
|
||||||
|
textureList.push_back("qvoid.png");
|
||||||
|
textureList.push_back("batman.png");
|
||||||
|
textureList.push_back("tuno.png");
|
||||||
|
textureList.push_back("matatunos.png");
|
||||||
|
textureList.push_back("abad.png");
|
||||||
|
textureList.push_back("jailbattle_human.png");
|
||||||
|
textureList.push_back("jailbattle_alien.png");
|
||||||
|
textureList.push_back("jailer.png");
|
||||||
|
textureList.push_back("jailer2.png");
|
||||||
|
textureList.push_back("jailer3.png");
|
||||||
|
textureList.push_back("printer.png");
|
||||||
|
textureList.push_back("code.png");
|
||||||
|
textureList.push_back("demon.png");
|
||||||
|
textureList.push_back("dimallas.png");
|
||||||
|
textureList.push_back("dimallas_v.png");
|
||||||
|
textureList.push_back("heavy.png");
|
||||||
|
textureList.push_back("spider.png");
|
||||||
|
textureList.push_back("macaronni_ted.png");
|
||||||
|
textureList.push_back("mummy.png");
|
||||||
|
textureList.push_back("sam.png");
|
||||||
|
textureList.push_back("amstrad_character_set.png");
|
||||||
|
textureList.push_back("breakout.png");
|
||||||
|
textureList.push_back("lamp.png");
|
||||||
|
textureList.push_back("bry.png");
|
||||||
|
textureList.push_back("tv.png");
|
||||||
|
textureList.push_back("tv_panel.png");
|
||||||
|
textureList.push_back("arounders_door.png");
|
||||||
|
textureList.push_back("arounders_machine.png");
|
||||||
|
textureList.push_back("arounder_walk.png");
|
||||||
|
textureList.push_back("arounder_stop.png");
|
||||||
|
textureList.push_back("arounder_fly.png");
|
||||||
|
textureList.push_back("bat.png");
|
||||||
|
|
||||||
|
// Items
|
||||||
|
textureList.push_back("items.png");
|
||||||
|
|
||||||
|
// Texto
|
||||||
|
textureList.push_back("smb2.png");
|
||||||
|
textureList.push_back("debug.png");
|
||||||
|
|
||||||
|
resource->loadTextures(textureList);
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
#include "common/asset.h"
|
#include "common/asset.h"
|
||||||
#include "common/debug.h"
|
#include "common/debug.h"
|
||||||
#include "common/input.h"
|
#include "common/input.h"
|
||||||
|
#include "common/resource.h"
|
||||||
#include "common/screen.h"
|
#include "common/screen.h"
|
||||||
#include "common/sprite.h"
|
#include "common/sprite.h"
|
||||||
#include "common/text.h"
|
#include "common/text.h"
|
||||||
@@ -26,6 +27,7 @@ private:
|
|||||||
SDL_Event *eventHandler; // Manejador de eventos
|
SDL_Event *eventHandler; // Manejador de eventos
|
||||||
Screen *screen; // Objeto encargado de manejar el renderizador
|
Screen *screen; // Objeto encargado de manejar el renderizador
|
||||||
Room *room; // Objeto encargado de gestionar cada habitación del juego
|
Room *room; // Objeto encargado de gestionar cada habitación del juego
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
Text *text; // Objeto para los textos del juego
|
Text *text; // Objeto para los textos del juego
|
||||||
ScoreBoard *scoreboard; // Objeto encargado de gestionar el marcador
|
ScoreBoard *scoreboard; // Objeto encargado de gestionar el marcador
|
||||||
@@ -64,9 +66,12 @@ private:
|
|||||||
// Comprueba si se ha de cambiar de habitación
|
// Comprueba si se ha de cambiar de habitación
|
||||||
void checkRoomChange();
|
void checkRoomChange();
|
||||||
|
|
||||||
|
// Carga los recursos
|
||||||
|
void loadResources();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Demo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, Debug *debug);
|
Demo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, Debug *debug);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Demo();
|
~Demo();
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ Director::Director(std::string path)
|
|||||||
screen = new Screen(window, renderer, options, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
|
screen = new Screen(window, renderer, options, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
|
||||||
screen->setBorderColor(borderColor);
|
screen->setBorderColor(borderColor);
|
||||||
screen->setVideoMode(options->fullScreenMode);
|
screen->setVideoMode(options->fullScreenMode);
|
||||||
|
resource = new Resource(renderer, asset, options);
|
||||||
debug = new Debug(renderer, screen, asset);
|
debug = new Debug(renderer, screen, asset);
|
||||||
music = JA_LoadMusic(asset->get("title.ogg").c_str());
|
music = JA_LoadMusic(asset->get("title.ogg").c_str());
|
||||||
}
|
}
|
||||||
@@ -707,7 +708,7 @@ void Director::runCredits()
|
|||||||
// Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
// Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
||||||
void Director::runDemo()
|
void Director::runDemo()
|
||||||
{
|
{
|
||||||
demo = new Demo(renderer, screen, asset, options, debug);
|
demo = new Demo(renderer, screen, resource, asset, options, debug);
|
||||||
setSection(demo->run());
|
setSection(demo->run());
|
||||||
delete demo;
|
delete demo;
|
||||||
}
|
}
|
||||||
@@ -716,7 +717,7 @@ void Director::runDemo()
|
|||||||
void Director::runGame()
|
void Director::runGame()
|
||||||
{
|
{
|
||||||
JA_StopMusic();
|
JA_StopMusic();
|
||||||
game = new Game(renderer, screen, asset, options, input, debug);
|
game = new Game(renderer, screen, resource, asset, options, input, debug);
|
||||||
setSection(game->run());
|
setSection(game->run());
|
||||||
delete game;
|
delete game;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include "common/input.h"
|
#include "common/input.h"
|
||||||
#include "common/jail_audio.h"
|
#include "common/jail_audio.h"
|
||||||
#include "common/movingsprite.h"
|
#include "common/movingsprite.h"
|
||||||
|
#include "common/resource.h"
|
||||||
#include "common/sprite.h"
|
#include "common/sprite.h"
|
||||||
#include "common/text.h"
|
#include "common/text.h"
|
||||||
#include "common/utils.h"
|
#include "common/utils.h"
|
||||||
@@ -33,6 +34,7 @@ private:
|
|||||||
Intro *intro; // Objeto para gestionar la introducción del juego
|
Intro *intro; // Objeto para gestionar la introducción del juego
|
||||||
Credits *credits; // Objeto para gestionar los creditos del juego
|
Credits *credits; // Objeto para gestionar los creditos del juego
|
||||||
Demo *demo; // Objeto para gestionar el modo demo, en el que se ven pantallas del juego
|
Demo *demo; // Objeto para gestionar el modo demo, en el que se ven pantallas del juego
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||||
Debug *debug; // Objeto para getsionar la información de debug
|
Debug *debug; // Objeto para getsionar la información de debug
|
||||||
|
|
||||||
|
|||||||
@@ -6,11 +6,13 @@
|
|||||||
Enemy::Enemy(enemy_t enemy)
|
Enemy::Enemy(enemy_t enemy)
|
||||||
{
|
{
|
||||||
// Obten punteros a objetos
|
// Obten punteros a objetos
|
||||||
|
resource = enemy.resource;
|
||||||
asset = enemy.asset;
|
asset = enemy.asset;
|
||||||
renderer = enemy.renderer;
|
renderer = enemy.renderer;
|
||||||
|
|
||||||
// Crea objetos
|
// Crea objetos
|
||||||
texture = new Texture(renderer, asset->get(enemy.tileset));
|
//texture = new Texture(renderer, asset->get(enemy.tileset));
|
||||||
|
texture = resource->getTexture(enemy.tileset);
|
||||||
sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation));
|
sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation));
|
||||||
|
|
||||||
// Obten el resto de valores
|
// Obten el resto de valores
|
||||||
@@ -45,7 +47,7 @@ Enemy::Enemy(enemy_t enemy)
|
|||||||
// Destructor
|
// Destructor
|
||||||
Enemy::~Enemy()
|
Enemy::~Enemy()
|
||||||
{
|
{
|
||||||
delete texture;
|
//delete texture;
|
||||||
delete sprite;
|
delete sprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
#include "common/animatedsprite.h"
|
#include "common/animatedsprite.h"
|
||||||
#include "common/asset.h"
|
#include "common/asset.h"
|
||||||
|
#include "common/resource.h"
|
||||||
#include "common/utils.h"
|
#include "common/utils.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@@ -12,6 +13,7 @@
|
|||||||
struct enemy_t
|
struct enemy_t
|
||||||
{
|
{
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
std::string tileset; // Fichero con los graficos del enemigo
|
std::string tileset; // Fichero con los graficos del enemigo
|
||||||
std::string animation; // Fichero con las animaciones del enemigo
|
std::string animation; // Fichero con las animaciones del enemigo
|
||||||
@@ -34,15 +36,16 @@ class Enemy
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
Texture *texture; // Textura con los graficos del enemigo
|
Texture *texture; // Textura con los graficos del enemigo
|
||||||
AnimatedSprite *sprite; // Sprite del enemigo
|
AnimatedSprite *sprite; // Sprite del enemigo
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
color_t color; // Color del enemigo
|
color_t color; // Color del enemigo
|
||||||
std::string colorString; // Color del enemigo en formato texto
|
std::string colorString; // Color del enemigo en formato texto
|
||||||
palette_e palette; // Paleta de colores
|
palette_e palette; // Paleta de colores
|
||||||
int x1; // Limite izquierdo de la ruta en el eje X
|
int x1; // Limite izquierdo de la ruta en el eje X
|
||||||
int x2; // Limite derecho de la ruta en el eje X
|
int x2; // Limite derecho de la ruta en el eje X
|
||||||
int y1; // Limite superior de la ruta en el eje Y
|
int y1; // Limite superior de la ruta en el eje Y
|
||||||
|
|||||||
148
source/game.cpp
148
source/game.cpp
@@ -1,7 +1,7 @@
|
|||||||
#include "game.h"
|
#include "game.h"
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, Input *input, Debug *debug)
|
Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, Input *input, Debug *debug)
|
||||||
{
|
{
|
||||||
// Inicia algunas variables
|
// Inicia algunas variables
|
||||||
board.iniClock = SDL_GetTicks();
|
board.iniClock = SDL_GetTicks();
|
||||||
@@ -9,6 +9,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *opti
|
|||||||
spawnPoint = {15, 96, 0, 0, 0, s_standing, SDL_FLIP_NONE};
|
spawnPoint = {15, 96, 0, 0, 0, s_standing, SDL_FLIP_NONE};
|
||||||
|
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
|
this->resource = resource;
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
this->asset = asset;
|
this->asset = asset;
|
||||||
this->screen = screen;
|
this->screen = screen;
|
||||||
@@ -24,15 +25,13 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *opti
|
|||||||
spawnPoint = {x * 8, y * 8, 0, 0, 0, s_standing, SDL_FLIP_HORIZONTAL};
|
spawnPoint = {x * 8, y * 8, 0, 0, 0, s_standing, SDL_FLIP_HORIZONTAL};
|
||||||
// ****
|
// ****
|
||||||
|
|
||||||
// Crea la cache de recursos
|
|
||||||
cacheResources();
|
|
||||||
|
|
||||||
// Crea los objetos
|
// Crea los objetos
|
||||||
|
loadResources();
|
||||||
scoreboard = new ScoreBoard(renderer, asset, options, &board);
|
scoreboard = new ScoreBoard(renderer, asset, options, &board);
|
||||||
itemTracker = new ItemTracker();
|
itemTracker = new ItemTracker();
|
||||||
roomTracker = new RoomTracker();
|
roomTracker = new RoomTracker();
|
||||||
room = new Room(asset->get(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
||||||
player = new Player(spawnPoint, asset->get("player.png"), asset->get("player.ani"), renderer, asset, options, input, room, debug);
|
player = new Player(spawnPoint, "player.png", asset->get("player.ani"), renderer, resource, asset, options, input, room, debug);
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
||||||
music = JA_LoadMusic(asset->get("game.ogg").c_str());
|
music = JA_LoadMusic(asset->get("game.ogg").c_str());
|
||||||
@@ -61,10 +60,10 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *opti
|
|||||||
|
|
||||||
Game::~Game()
|
Game::~Game()
|
||||||
{
|
{
|
||||||
// Libera los recursos
|
|
||||||
freeCache();
|
|
||||||
|
|
||||||
// Libera la memoria de los objetos
|
// Libera la memoria de los objetos
|
||||||
|
resource->freeTextures();
|
||||||
|
//delete resource;
|
||||||
|
|
||||||
delete scoreboard;
|
delete scoreboard;
|
||||||
delete itemTracker;
|
delete itemTracker;
|
||||||
delete roomTracker;
|
delete roomTracker;
|
||||||
@@ -305,7 +304,7 @@ bool Game::changeRoom(std::string file)
|
|||||||
room = nullptr;
|
room = nullptr;
|
||||||
|
|
||||||
// Crea un objeto habitación nuevo a partir del fichero
|
// Crea un objeto habitación nuevo a partir del fichero
|
||||||
room = new Room(asset->get(file), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(asset->get(file), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
||||||
|
|
||||||
// Actualiza el marcador
|
// Actualiza el marcador
|
||||||
const color_t c = room->getBorderColor(); // Pone el color del marcador
|
const color_t c = room->getBorderColor(); // Pone el color del marcador
|
||||||
@@ -394,8 +393,8 @@ void Game::killPlayer()
|
|||||||
setBlackScreen();
|
setBlackScreen();
|
||||||
|
|
||||||
// Crea la nueva habitación y el nuevo jugador
|
// Crea la nueva habitación y el nuevo jugador
|
||||||
room = new Room(asset->get(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
||||||
player = new Player(spawnPoint, asset->get("player.png"), asset->get("player.ani"), renderer, asset, options, input, room, debug);
|
player = new Player(spawnPoint, "player.png", asset->get("player.ani"), renderer, resource, asset, options, input, room, debug);
|
||||||
|
|
||||||
room->pause();
|
room->pause();
|
||||||
player->pause();
|
player->pause();
|
||||||
@@ -461,85 +460,66 @@ void Game::renderBlackScreen()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Carga todos los recursos necesarios
|
// Carga los recursos
|
||||||
void Game::cacheResources()
|
void Game::loadResources()
|
||||||
{
|
{
|
||||||
// Carga las texturas
|
|
||||||
std::vector<std::string> textureList;
|
std::vector<std::string> textureList;
|
||||||
|
|
||||||
// Jugador
|
// Jugador
|
||||||
textureList.push_back("player.png");
|
textureList.push_back("player.png");
|
||||||
|
|
||||||
// Tilesets
|
// Tilesets
|
||||||
textureList.push_back("standard.png");
|
textureList.push_back("standard.png");
|
||||||
textureList.push_back("standard_zxarne.png");
|
textureList.push_back("standard_zxarne.png");
|
||||||
|
|
||||||
// Enemigos
|
// Enemigos
|
||||||
textureList.push_back("paco.png");
|
textureList.push_back("paco.png");
|
||||||
textureList.push_back("chip.png");
|
textureList.push_back("chip.png");
|
||||||
textureList.push_back("wave.png");
|
textureList.push_back("wave.png");
|
||||||
textureList.push_back("wave_v.png");
|
textureList.push_back("wave_v.png");
|
||||||
textureList.push_back("sigmasua.png");
|
textureList.push_back("sigmasua.png");
|
||||||
textureList.push_back("diskette.png");
|
textureList.push_back("diskette.png");
|
||||||
textureList.push_back("bird.png");
|
textureList.push_back("bird.png");
|
||||||
textureList.push_back("bin.png");
|
textureList.push_back("bin.png");
|
||||||
textureList.push_back("qvoid.png");
|
textureList.push_back("qvoid.png");
|
||||||
textureList.push_back("batman.png");
|
textureList.push_back("batman.png");
|
||||||
textureList.push_back("tuno.png");
|
textureList.push_back("tuno.png");
|
||||||
textureList.push_back("matatunos.png");
|
textureList.push_back("matatunos.png");
|
||||||
textureList.push_back("abad.png");
|
textureList.push_back("abad.png");
|
||||||
textureList.push_back("jailbattle_human.png");
|
textureList.push_back("jailbattle_human.png");
|
||||||
textureList.push_back("jailbattle_alien.png");
|
textureList.push_back("jailbattle_alien.png");
|
||||||
textureList.push_back("jailer.png");
|
textureList.push_back("jailer.png");
|
||||||
textureList.push_back("jailer2.png");
|
textureList.push_back("jailer2.png");
|
||||||
textureList.push_back("jailer3.png");
|
textureList.push_back("jailer3.png");
|
||||||
textureList.push_back("printer.png");
|
textureList.push_back("printer.png");
|
||||||
textureList.push_back("code.png");
|
textureList.push_back("code.png");
|
||||||
textureList.push_back("demon.png");
|
textureList.push_back("demon.png");
|
||||||
textureList.push_back("dimallas.png");
|
textureList.push_back("dimallas.png");
|
||||||
textureList.push_back("dimallas_v.png");
|
textureList.push_back("dimallas_v.png");
|
||||||
textureList.push_back("heavy.png");
|
textureList.push_back("heavy.png");
|
||||||
textureList.push_back("spider.png");
|
textureList.push_back("spider.png");
|
||||||
textureList.push_back("macaronni_ted.png");
|
textureList.push_back("macaronni_ted.png");
|
||||||
textureList.push_back("mummy.png");
|
textureList.push_back("mummy.png");
|
||||||
textureList.push_back("sam.png");
|
textureList.push_back("sam.png");
|
||||||
textureList.push_back("amstrad_character_set.png");
|
textureList.push_back("amstrad_character_set.png");
|
||||||
textureList.push_back("breakout.png");
|
textureList.push_back("breakout.png");
|
||||||
textureList.push_back("lamp.png");
|
textureList.push_back("lamp.png");
|
||||||
textureList.push_back("bry.png");
|
textureList.push_back("bry.png");
|
||||||
textureList.push_back("tv.png");
|
textureList.push_back("tv.png");
|
||||||
textureList.push_back("tv_panel.png");
|
textureList.push_back("tv_panel.png");
|
||||||
textureList.push_back("arounders_door.png");
|
textureList.push_back("arounders_door.png");
|
||||||
textureList.push_back("arounders_machine.png");
|
textureList.push_back("arounders_machine.png");
|
||||||
textureList.push_back("arounder_walk.png");
|
textureList.push_back("arounder_walk.png");
|
||||||
textureList.push_back("arounder_stop.png");
|
textureList.push_back("arounder_stop.png");
|
||||||
textureList.push_back("arounder_fly.png");
|
textureList.push_back("arounder_fly.png");
|
||||||
textureList.push_back("bat.png");
|
textureList.push_back("bat.png");
|
||||||
|
|
||||||
// Items
|
// Items
|
||||||
textureList.push_back("items.png");
|
textureList.push_back("items.png");
|
||||||
|
|
||||||
// Texto
|
// Texto
|
||||||
textureList.push_back("smb2.png");
|
textureList.push_back("smb2.png");
|
||||||
textureList.push_back("debug.png");
|
textureList.push_back("debug.png");
|
||||||
|
|
||||||
for (auto list : textureList)
|
resource->loadTextures(textureList);
|
||||||
{
|
|
||||||
texture_t t;
|
|
||||||
t.name = list;
|
|
||||||
t.texture = new Texture(renderer, asset->get(t.name));
|
|
||||||
textures.push_back(t);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Libera los recursos
|
|
||||||
void Game::freeCache()
|
|
||||||
{
|
|
||||||
// Libera las texturas
|
|
||||||
for (auto texture : textures)
|
|
||||||
{
|
|
||||||
texture.texture->unload();
|
|
||||||
delete texture.texture;
|
|
||||||
}
|
|
||||||
textures.clear();
|
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
#include "common/debug.h"
|
#include "common/debug.h"
|
||||||
#include "common/input.h"
|
#include "common/input.h"
|
||||||
#include "common/jail_audio.h"
|
#include "common/jail_audio.h"
|
||||||
|
#include "common/resource.h"
|
||||||
#include "common/screen.h"
|
#include "common/screen.h"
|
||||||
#include "common/sprite.h"
|
#include "common/sprite.h"
|
||||||
#include "common/text.h"
|
#include "common/text.h"
|
||||||
@@ -24,12 +25,6 @@
|
|||||||
class Game
|
class Game
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct texture_t
|
|
||||||
{
|
|
||||||
std::string name; // Nombre de la textura
|
|
||||||
Texture *texture; // La textura
|
|
||||||
};
|
|
||||||
|
|
||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
SDL_Event *eventHandler; // Manejador de eventos
|
SDL_Event *eventHandler; // Manejador de eventos
|
||||||
@@ -42,12 +37,11 @@ private:
|
|||||||
Input *input; // Objeto pata gestionar la entrada
|
Input *input; // Objeto pata gestionar la entrada
|
||||||
Text *text; // Objeto para los textos del juego
|
Text *text; // Objeto para los textos del juego
|
||||||
ScoreBoard *scoreboard; // Objeto encargado de gestionar el marcador
|
ScoreBoard *scoreboard; // Objeto encargado de gestionar el marcador
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
Debug *debug; // Objeto para gestionar la información de debug
|
Debug *debug; // Objeto para gestionar la información de debug
|
||||||
options_t *options; // Puntero a las opciones del juego
|
options_t *options; // Puntero a las opciones del juego
|
||||||
Test *test;
|
Test *test;
|
||||||
|
|
||||||
std::vector<texture_t> textures;
|
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
JA_Music music; // Musica que suena durante el juego
|
JA_Music music; // Musica que suena durante el juego
|
||||||
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
@@ -115,15 +109,12 @@ private:
|
|||||||
// Dibuja la pantalla negra
|
// Dibuja la pantalla negra
|
||||||
void renderBlackScreen();
|
void renderBlackScreen();
|
||||||
|
|
||||||
// Carga todos los recursos necesarios
|
// Carga los recursos
|
||||||
void cacheResources();
|
void loadResources();
|
||||||
|
|
||||||
// Libera los recursos
|
|
||||||
void freeCache();
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, Input *input, Debug *debug);
|
Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, Input *input, Debug *debug);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Game();
|
~Game();
|
||||||
|
|||||||
@@ -8,11 +8,13 @@ Item::Item(item_t item)
|
|||||||
const int itemSize = 8;
|
const int itemSize = 8;
|
||||||
|
|
||||||
// Obten punteros a objetos
|
// Obten punteros a objetos
|
||||||
|
resource = item.resource;
|
||||||
asset = item.asset;
|
asset = item.asset;
|
||||||
renderer = item.renderer;
|
renderer = item.renderer;
|
||||||
|
|
||||||
// Crea objetos
|
// Crea objetos
|
||||||
texture = new Texture(renderer, asset->get(item.tileset));
|
//texture = new Texture(renderer, asset->get(item.tileset));
|
||||||
|
texture = resource->getTexture(item.tileset);
|
||||||
sprite = new Sprite(item.x, item.y, itemSize, itemSize, texture, renderer);
|
sprite = new Sprite(item.x, item.y, itemSize, itemSize, texture, renderer);
|
||||||
|
|
||||||
// Inicia variables
|
// Inicia variables
|
||||||
@@ -34,7 +36,7 @@ Item::Item(item_t item)
|
|||||||
// Destructor
|
// Destructor
|
||||||
Item::~Item()
|
Item::~Item()
|
||||||
{
|
{
|
||||||
delete texture;
|
//delete texture;
|
||||||
delete sprite;
|
delete sprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
#include "common/asset.h"
|
#include "common/asset.h"
|
||||||
|
#include "common/resource.h"
|
||||||
#include "common/sprite.h"
|
#include "common/sprite.h"
|
||||||
#include "common/utils.h"
|
#include "common/utils.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
@@ -12,6 +13,7 @@
|
|||||||
struct item_t
|
struct item_t
|
||||||
{
|
{
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
std::string tileset; // Fichero con los graficos del item
|
std::string tileset; // Fichero con los graficos del item
|
||||||
int x; // Posicion del item en pantalla
|
int x; // Posicion del item en pantalla
|
||||||
@@ -26,10 +28,11 @@ class Item
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
Texture *texture; // Textura con los graficos del objeto
|
Texture *texture; // Textura con los graficos del objeto
|
||||||
Sprite *sprite; // Sprite del objeto
|
Sprite *sprite; // Sprite del objeto
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
std::vector<color_t> color; // Vector con los colores del objeto
|
std::vector<color_t> color; // Vector con los colores del objeto
|
||||||
|
|||||||
@@ -3,9 +3,10 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, options_t *options, Input *input, Room *room, Debug *debug)
|
Player::Player(player_t ini, std::string png, std::string animation, SDL_Renderer *renderer, Resource *resource, Asset *asset, options_t *options, Input *input, Room *room, Debug *debug)
|
||||||
{
|
{
|
||||||
// Obten punteros a objetos
|
// Obten punteros a objetos
|
||||||
|
this->resource = resource;
|
||||||
this->asset = asset;
|
this->asset = asset;
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
this->input = input;
|
this->input = input;
|
||||||
@@ -14,7 +15,7 @@ Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Ren
|
|||||||
this->options = options;
|
this->options = options;
|
||||||
|
|
||||||
// Crea objetos
|
// Crea objetos
|
||||||
texture = new Texture(renderer, asset->get(tileset));
|
texture = resource->getTexture(png);
|
||||||
sprite = new AnimatedSprite(texture, renderer, animation);
|
sprite = new AnimatedSprite(texture, renderer, animation);
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
@@ -102,7 +103,6 @@ Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Ren
|
|||||||
// Destructor
|
// Destructor
|
||||||
Player::~Player()
|
Player::~Player()
|
||||||
{
|
{
|
||||||
delete texture;
|
|
||||||
delete sprite;
|
delete sprite;
|
||||||
|
|
||||||
for (auto s : jumpSound)
|
for (auto s : jumpSound)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include "common/asset.h"
|
#include "common/asset.h"
|
||||||
#include "common/debug.h"
|
#include "common/debug.h"
|
||||||
#include "common/input.h"
|
#include "common/input.h"
|
||||||
|
#include "common/resource.h"
|
||||||
#include "common/utils.h"
|
#include "common/utils.h"
|
||||||
#include "const.h"
|
#include "const.h"
|
||||||
#include "room.h"
|
#include "room.h"
|
||||||
@@ -38,6 +39,7 @@ public:
|
|||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
Input *input; // Objeto para gestionar la entrada
|
Input *input; // Objeto para gestionar la entrada
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
Room *room; // Objeto encargado de gestionar cada habitación del juego
|
Room *room; // Objeto encargado de gestionar cada habitación del juego
|
||||||
Texture *texture; // Textura con los graficos del enemigo
|
Texture *texture; // Textura con los graficos del enemigo
|
||||||
@@ -128,7 +130,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, options_t *options, Input *input, Room *room, Debug *debug);
|
Player(player_t ini, std::string png, std::string animation, SDL_Renderer *renderer, Resource *resource, Asset *asset, options_t *options, Input *input, Room *room, Debug *debug);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Player();
|
~Player();
|
||||||
|
|||||||
@@ -4,9 +4,10 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *items, Debug *debug)
|
Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, ItemTracker *itemTracker, int *items, Debug *debug)
|
||||||
{
|
{
|
||||||
// Copia los punteros a objetos
|
// Copia los punteros a objetos
|
||||||
|
this->resource = resource;
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
this->asset = asset;
|
this->asset = asset;
|
||||||
this->screen = screen;
|
this->screen = screen;
|
||||||
@@ -27,7 +28,8 @@ Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Asset *asse
|
|||||||
|
|
||||||
// Crea los objetos
|
// Crea los objetos
|
||||||
loadMapFile(file);
|
loadMapFile(file);
|
||||||
texture = new Texture(renderer, asset->get(tileset));
|
//texture = new Texture(renderer, asset->get(tileset));
|
||||||
|
texture = resource->getTexture(tileset);
|
||||||
tilesetWidth = texture->getWidth() / tileSize;
|
tilesetWidth = texture->getWidth() / tileSize;
|
||||||
|
|
||||||
itemSound = JA_LoadSound(asset->get("item.wav").c_str());
|
itemSound = JA_LoadSound(asset->get("item.wav").c_str());
|
||||||
@@ -64,7 +66,7 @@ Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Asset *asse
|
|||||||
Room::~Room()
|
Room::~Room()
|
||||||
{
|
{
|
||||||
// Reclama la memoria utilizada por los objetos
|
// Reclama la memoria utilizada por los objetos
|
||||||
delete texture;
|
//delete texture;
|
||||||
JA_DeleteSound(itemSound);
|
JA_DeleteSound(itemSound);
|
||||||
SDL_DestroyTexture(mapTexture);
|
SDL_DestroyTexture(mapTexture);
|
||||||
|
|
||||||
@@ -102,6 +104,7 @@ bool Room::loadMapFile(std::string file_path)
|
|||||||
if (line == "[enemy]")
|
if (line == "[enemy]")
|
||||||
{
|
{
|
||||||
enemy_t enemy;
|
enemy_t enemy;
|
||||||
|
enemy.resource = resource;
|
||||||
enemy.asset = asset;
|
enemy.asset = asset;
|
||||||
enemy.renderer = renderer;
|
enemy.renderer = renderer;
|
||||||
enemy.flip = false;
|
enemy.flip = false;
|
||||||
@@ -128,6 +131,7 @@ bool Room::loadMapFile(std::string file_path)
|
|||||||
else if (line == "[item]")
|
else if (line == "[item]")
|
||||||
{
|
{
|
||||||
item_t item;
|
item_t item;
|
||||||
|
item.resource = resource;
|
||||||
item.asset = asset;
|
item.asset = asset;
|
||||||
item.renderer = renderer;
|
item.renderer = renderer;
|
||||||
item.counter = 0;
|
item.counter = 0;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "common/asset.h"
|
#include "common/asset.h"
|
||||||
#include "common/debug.h"
|
#include "common/debug.h"
|
||||||
#include "common/jail_audio.h"
|
#include "common/jail_audio.h"
|
||||||
|
#include "common/resource.h"
|
||||||
#include "common/screen.h"
|
#include "common/screen.h"
|
||||||
#include "common/sprite.h"
|
#include "common/sprite.h"
|
||||||
#include "common/utils.h"
|
#include "common/utils.h"
|
||||||
@@ -41,6 +42,7 @@ private:
|
|||||||
std::vector<Enemy *> enemies; // Listado con los enemigos de la habitación
|
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<Item *> items; // Listado con los items que hay en la habitación
|
||||||
Texture *texture; // Textura con los graficos de la habitación
|
Texture *texture; // Textura con los graficos de la habitación
|
||||||
|
Resource *resource; // Objeto con los recursos
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||||
ItemTracker *itemTracker; // Lleva el control de los objetos recogidos
|
ItemTracker *itemTracker; // Lleva el control de los objetos recogidos
|
||||||
@@ -133,7 +135,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Room(std::string file, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *item_tracker, int *items, Debug *debug);
|
Room(std::string file, SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, ItemTracker *item_tracker, int *items, Debug *debug);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Room();
|
~Room();
|
||||||
|
|||||||
Reference in New Issue
Block a user