forked from jaildesigner-jailgames/jaildoctors_dilemma
Añadido el objeto resource a todas las secciones
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 690 B |
@@ -1,9 +1,10 @@
|
||||
#include "credits.h"
|
||||
|
||||
// Constructor
|
||||
Credits::Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options)
|
||||
Credits::Credits(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options)
|
||||
{
|
||||
// Copia la dirección de los objetos
|
||||
this->resource = resource;
|
||||
this->renderer = renderer;
|
||||
this->screen = screen;
|
||||
this->asset = asset;
|
||||
@@ -12,7 +13,7 @@ Credits::Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t
|
||||
// Reserva memoria para los punteros
|
||||
eventHandler = new SDL_Event();
|
||||
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
||||
texture = new Texture(renderer, asset->get("shine.png"));
|
||||
texture = resource->getTexture("shine.png");
|
||||
sprite = new AnimatedSprite(texture, renderer, asset->get("shine.ani"));
|
||||
|
||||
// Inicializa variables
|
||||
@@ -82,8 +83,6 @@ Credits::~Credits()
|
||||
{
|
||||
delete eventHandler;
|
||||
delete text;
|
||||
texture->unload();
|
||||
delete texture;
|
||||
delete sprite;
|
||||
SDL_DestroyTexture(textTexture);
|
||||
SDL_DestroyTexture(coverTexture);
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "common/animatedsprite.h"
|
||||
#include "common/asset.h"
|
||||
#include "common/jail_audio.h"
|
||||
#include "common/resource.h"
|
||||
#include "common/screen.h"
|
||||
#include "common/sprite.h"
|
||||
#include "common/text.h"
|
||||
@@ -27,6 +28,7 @@ private:
|
||||
// Objetos y punteros
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Asset *asset; // Objeto con los ficheros de recursos
|
||||
SDL_Event *eventHandler; // Manejador de eventos
|
||||
Text *text; // Objeto para escribir texto en pantalla
|
||||
@@ -62,7 +64,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options);
|
||||
Credits(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options);
|
||||
|
||||
// Destructor
|
||||
~Credits();
|
||||
|
||||
@@ -180,7 +180,44 @@ bool Director::saveConfig()
|
||||
// Carga los recursos
|
||||
void Director::loadResources(section_t section)
|
||||
{
|
||||
if (section.name == SECTION_PROG_GAME || section.name == SECTION_PROG_DEMO)
|
||||
if (section.name == SECTION_PROG_LOGO)
|
||||
{
|
||||
std::vector<std::string> textureList;
|
||||
textureList.push_back("jailgames.png");
|
||||
textureList.push_back("since_1998.png");
|
||||
|
||||
resource->loadTextures(textureList);
|
||||
}
|
||||
|
||||
else if (section.name == SECTION_PROG_INTRO)
|
||||
{
|
||||
std::vector<std::string> textureList;
|
||||
textureList.push_back("loading_screen_bn.png");
|
||||
textureList.push_back("loading_screen_color.png");
|
||||
textureList.push_back("loading_screen_bn_zxarne.png");
|
||||
textureList.push_back("loading_screen_color_zxarne.png");
|
||||
|
||||
resource->loadTextures(textureList);
|
||||
}
|
||||
|
||||
else if (section.name == SECTION_PROG_TITLE)
|
||||
{
|
||||
std::vector<std::string> textureList;
|
||||
textureList.push_back("loading_screen_color.png");
|
||||
textureList.push_back("loading_screen_color_zxarne.png");
|
||||
|
||||
resource->loadTextures(textureList);
|
||||
}
|
||||
|
||||
else if (section.name == SECTION_PROG_CREDITS)
|
||||
{
|
||||
std::vector<std::string> textureList;
|
||||
textureList.push_back("shine.png");
|
||||
|
||||
resource->loadTextures(textureList);
|
||||
}
|
||||
|
||||
else if (section.name == SECTION_PROG_GAME || section.name == SECTION_PROG_DEMO)
|
||||
{
|
||||
std::vector<std::string> textureList;
|
||||
|
||||
@@ -703,7 +740,6 @@ bool Director::setFileList()
|
||||
// Logo
|
||||
asset->add("/data/logo/jailgames.png", t_bitmap);
|
||||
asset->add("/data/logo/since_1998.png", t_bitmap);
|
||||
asset->add("/data/logo/seagull.png", t_bitmap);
|
||||
|
||||
// Intro
|
||||
asset->add("/data/title/loading_screen_bn.png", t_bitmap);
|
||||
@@ -739,17 +775,21 @@ void Director::setSection(section_t section)
|
||||
// Ejecuta la seccion de juego con el logo
|
||||
void Director::runLogo()
|
||||
{
|
||||
logo = new Logo(renderer, screen, asset, options, section.subsection);
|
||||
loadResources(section);
|
||||
logo = new Logo(renderer, screen, resource, asset, options, section.subsection);
|
||||
setSection(logo->run());
|
||||
delete logo;
|
||||
resource->freeTextures();
|
||||
}
|
||||
|
||||
// Ejecuta la seccion de juego de la introducción
|
||||
void Director::runIntro()
|
||||
{
|
||||
intro = new Intro(renderer, screen, asset, options);
|
||||
loadResources(section);
|
||||
intro = new Intro(renderer, screen, resource, asset, options);
|
||||
setSection(intro->run());
|
||||
delete intro;
|
||||
resource->freeTextures();
|
||||
}
|
||||
|
||||
// Ejecuta la seccion de juego con el titulo y los menus
|
||||
@@ -759,17 +799,21 @@ void Director::runTitle()
|
||||
{
|
||||
JA_PlayMusic(music);
|
||||
}
|
||||
title = new Title(renderer, screen, asset, options);
|
||||
loadResources(section);
|
||||
title = new Title(renderer, screen, resource, asset, options);
|
||||
setSection(title->run());
|
||||
delete title;
|
||||
resource->freeTextures();
|
||||
}
|
||||
|
||||
// Ejecuta la seccion de los creditos del juego
|
||||
void Director::runCredits()
|
||||
{
|
||||
credits = new Credits(renderer, screen, asset, options);
|
||||
loadResources(section);
|
||||
credits = new Credits(renderer, screen, resource, asset, options);
|
||||
setSection(credits->run());
|
||||
delete credits;
|
||||
resource->freeTextures();
|
||||
}
|
||||
|
||||
// Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#include "intro.h"
|
||||
|
||||
// Constructor
|
||||
Intro::Intro(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options)
|
||||
Intro::Intro(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options)
|
||||
{
|
||||
// Copia la dirección de los objetos
|
||||
this->resource = resource;
|
||||
this->renderer = renderer;
|
||||
this->screen = screen;
|
||||
this->asset = asset;
|
||||
@@ -13,13 +14,13 @@ Intro::Intro(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *op
|
||||
eventHandler = new SDL_Event();
|
||||
if (options->palette == p_zxspectrum)
|
||||
{
|
||||
loadingScreenTexture1 = new Texture(renderer, asset->get("loading_screen_bn.png"));
|
||||
loadingScreenTexture2 = new Texture(renderer, asset->get("loading_screen_color.png"));
|
||||
loadingScreenTexture1 =resource->getTexture("loading_screen_bn.png");
|
||||
loadingScreenTexture2 =resource->getTexture("loading_screen_color.png");
|
||||
}
|
||||
else if (options->palette == p_zxarne)
|
||||
{
|
||||
loadingScreenTexture1 = new Texture(renderer, asset->get("loading_screen_bn_zxarne.png"));
|
||||
loadingScreenTexture2 = new Texture(renderer, asset->get("loading_screen_color_zxarne.png"));
|
||||
loadingScreenTexture1 =resource->getTexture("loading_screen_bn_zxarne.png");
|
||||
loadingScreenTexture2 =resource->getTexture("loading_screen_color_zxarne.png");
|
||||
}
|
||||
sprite1 = new Sprite(0, 0, loadingScreenTexture1->getWidth(), loadingScreenTexture1->getHeight(), loadingScreenTexture1, renderer);
|
||||
sprite2 = new Sprite(0, 0, loadingScreenTexture2->getWidth(), loadingScreenTexture2->getHeight(), loadingScreenTexture2, renderer);
|
||||
@@ -72,8 +73,6 @@ Intro::Intro(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *op
|
||||
// Destructor
|
||||
Intro::~Intro()
|
||||
{
|
||||
delete loadingScreenTexture1;
|
||||
delete loadingScreenTexture2;
|
||||
delete sprite1;
|
||||
delete sprite2;
|
||||
delete eventHandler;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include "common/asset.h"
|
||||
#include "common/jail_audio.h"
|
||||
#include "common/resource.h"
|
||||
#include "common/screen.h"
|
||||
#include "common/sprite.h"
|
||||
#include "common/utils.h"
|
||||
@@ -21,6 +22,7 @@ private:
|
||||
// Objetos y punteros
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Asset *asset; // Objeto con los ficheros de recursos
|
||||
Texture *loadingScreenTexture1; // Textura con la pantalla de carga en blanco y negro
|
||||
Texture *loadingScreenTexture2; // Textura con la pantalla de carga en color
|
||||
@@ -64,7 +66,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Intro(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options);
|
||||
Intro(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options);
|
||||
|
||||
// Destructor
|
||||
~Intro();
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#include "logo.h"
|
||||
|
||||
// Constructor
|
||||
Logo::Logo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, int subsection)
|
||||
Logo::Logo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, int subsection)
|
||||
{
|
||||
// Copia la dirección de los objetos
|
||||
this->resource = resource;
|
||||
this->renderer = renderer;
|
||||
this->screen = screen;
|
||||
this->asset = asset;
|
||||
@@ -11,8 +12,8 @@ Logo::Logo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *opti
|
||||
|
||||
// Reserva memoria para los punteros
|
||||
eventHandler = new SDL_Event();
|
||||
texture = new Texture(renderer, asset->get("jailgames.png"));
|
||||
texture2 = new Texture(renderer, asset->get("since_1998.png"));
|
||||
texture = resource->getTexture("jailgames.png");
|
||||
texture2 = resource->getTexture("since_1998.png");
|
||||
sprite2 = new Sprite((256 - texture2->getWidth()) / 2, 83 + texture->getHeight() + 5, texture2->getWidth(), texture2->getHeight(), texture2, renderer);
|
||||
sprite2->setSpriteClip(0, 0, texture2->getWidth(), texture2->getHeight());
|
||||
texture2->setColor(0, 0, 0);
|
||||
@@ -55,9 +56,6 @@ Logo::Logo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *opti
|
||||
// Destructor
|
||||
Logo::~Logo()
|
||||
{
|
||||
delete texture;
|
||||
delete texture2;
|
||||
|
||||
for (auto s : sprite)
|
||||
{
|
||||
delete s;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include "common/asset.h"
|
||||
#include "common/jail_audio.h"
|
||||
#include "common/resource.h"
|
||||
#include "common/screen.h"
|
||||
#include "common/sprite.h"
|
||||
#include "common/utils.h"
|
||||
@@ -18,6 +19,7 @@ private:
|
||||
// Objetos y punteros
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Asset *asset; // Objeto con los ficheros de recursos
|
||||
Texture *texture; // Textura con los graficos "JAILGAMES"
|
||||
Texture *texture2; // Textura con los graficos "Since 1998"
|
||||
@@ -53,7 +55,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Logo(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, int subsection);
|
||||
Logo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, int subsection);
|
||||
|
||||
// Destructor
|
||||
~Logo();
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#include "title.h"
|
||||
|
||||
// Constructor
|
||||
Title::Title(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options)
|
||||
Title::Title(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options)
|
||||
{
|
||||
// Copia la dirección de los objetos
|
||||
this->resource = resource;
|
||||
this->renderer = renderer;
|
||||
this->screen = screen;
|
||||
this->asset = asset;
|
||||
@@ -13,11 +14,11 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *op
|
||||
eventHandler = new SDL_Event();
|
||||
if (options->palette == p_zxspectrum)
|
||||
{
|
||||
texture = new Texture(renderer, asset->get("loading_screen_color.png"));
|
||||
texture =resource->getTexture("loading_screen_color.png");
|
||||
}
|
||||
else if (options->palette == p_zxarne)
|
||||
{
|
||||
texture = new Texture(renderer, asset->get("loading_screen_color_zxarne.png"));
|
||||
texture =resource->getTexture("loading_screen_color_zxarne.png");
|
||||
}
|
||||
sprite = new Sprite(0, 0, texture->getWidth(), texture->getHeight(), texture, renderer);
|
||||
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
|
||||
@@ -48,7 +49,6 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *op
|
||||
Title::~Title()
|
||||
{
|
||||
delete eventHandler;
|
||||
delete texture;
|
||||
delete sprite;
|
||||
delete text;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include "common/asset.h"
|
||||
#include "common/jail_audio.h"
|
||||
#include "common/resource.h"
|
||||
#include "common/screen.h"
|
||||
#include "common/sprite.h"
|
||||
#include "common/text.h"
|
||||
@@ -26,6 +27,7 @@ private:
|
||||
// Objetos y punteros
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Asset *asset; // Objeto con los ficheros de recursos
|
||||
SDL_Event *eventHandler; // Manejador de eventos
|
||||
Texture *texture; // Textura con los graficos
|
||||
@@ -64,7 +66,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Title(SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options);
|
||||
Title(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options);
|
||||
|
||||
// Destructor
|
||||
~Title();
|
||||
|
||||
Reference in New Issue
Block a user