Arreglos tontos de codi
This commit is contained in:
@@ -316,12 +316,10 @@ bool Director::initSDL()
|
|||||||
std::cout << "Warning: texture filtering not enabled!\n";
|
std::cout << "Warning: texture filtering not enabled!\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NO_SHADERS
|
|
||||||
if (!SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl"))
|
if (!SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl"))
|
||||||
{
|
{
|
||||||
std::cout << "Warning: opengl not enabled!\n";
|
std::cout << "Warning: opengl not enabled!\n";
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// Crea la ventana
|
// Crea la ventana
|
||||||
window_ = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, param.game.width * options.video.window.size, param.game.height * options.video.window.size, SDL_WINDOW_HIDDEN);
|
window_ = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, param.game.width * options.video.window.size, param.game.height * options.video.window.size, SDL_WINDOW_HIDDEN);
|
||||||
@@ -339,10 +337,8 @@ bool Director::initSDL()
|
|||||||
flags = SDL_RENDERER_PRESENTVSYNC;
|
flags = SDL_RENDERER_PRESENTVSYNC;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NO_SHADERS
|
|
||||||
// La aceleración se activa según el define
|
// La aceleración se activa según el define
|
||||||
flags = flags | SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE;
|
flags = flags | SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE;
|
||||||
#endif
|
|
||||||
|
|
||||||
renderer_ = SDL_CreateRenderer(window_, -1, flags);
|
renderer_ = SDL_CreateRenderer(window_, -1, flags);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
#ifndef NO_SHADERS
|
|
||||||
|
|
||||||
#include "jail_shader.h"
|
#include "jail_shader.h"
|
||||||
#include <SDL2/SDL_rect.h> // para SDL_Point
|
#include <SDL2/SDL_rect.h> // para SDL_Point
|
||||||
#include <stdlib.h> // para NULL, free, malloc, exit
|
#include <stdlib.h> // para NULL, free, malloc, exit
|
||||||
@@ -247,5 +245,4 @@ namespace shader
|
|||||||
SDL_RenderPresent(renderer);
|
SDL_RenderPresent(renderer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
#ifndef NO_SHADERS
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <SDL2/SDL_render.h> // para SDL_Texture
|
#include <SDL2/SDL_render.h> // para SDL_Texture
|
||||||
@@ -44,5 +42,4 @@ namespace shader
|
|||||||
const char *vertexShader, const char *fragmentShader = nullptr);
|
const char *vertexShader, const char *fragmentShader = nullptr);
|
||||||
|
|
||||||
void render();
|
void render();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
@@ -53,9 +53,6 @@ Logo::Logo()
|
|||||||
color_.push_back(Color(0x00, 0xd8, 0xd8)); // Cyan
|
color_.push_back(Color(0x00, 0xd8, 0xd8)); // Cyan
|
||||||
color_.push_back(Color(0xd8, 0xd8, 0x00)); // Yellow
|
color_.push_back(Color(0xd8, 0xd8, 0x00)); // Yellow
|
||||||
color_.push_back(Color(0xFF, 0xFF, 0xFF)); // Bright white
|
color_.push_back(Color(0xFF, 0xFF, 0xFF)); // Bright white
|
||||||
|
|
||||||
mi_textura = copyTextureToTarget(Screen::get()->getRenderer(), Resource::get()->getTexture("logo_retroweekend.png")->getSDLTexture());
|
|
||||||
pixels_ = extractPixels(mi_textura);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
|
|||||||
@@ -12,22 +12,22 @@
|
|||||||
#include "texture.h" // Para Texture
|
#include "texture.h" // Para Texture
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
// [SINGLETON] Hay que definir las variables estáticas, desde el .h sólo la hemos declarado
|
// [SINGLETON]
|
||||||
Notifier *Notifier::notifier_ = nullptr;
|
Notifier *Notifier::notifier_ = nullptr;
|
||||||
|
|
||||||
// [SINGLETON] Crearemos el objeto screen con esta función estática
|
// [SINGLETON] Crearemos el objeto con esta función estática
|
||||||
void Notifier::init(const std::string &icon_file, std::shared_ptr<Text> text)
|
void Notifier::init(const std::string &icon_file, std::shared_ptr<Text> text)
|
||||||
{
|
{
|
||||||
Notifier::notifier_ = new Notifier(icon_file, text);
|
Notifier::notifier_ = new Notifier(icon_file, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
// [SINGLETON] Destruiremos el objeto screen con esta función estática
|
// [SINGLETON] Destruiremos el objeto con esta función estática
|
||||||
void Notifier::destroy()
|
void Notifier::destroy()
|
||||||
{
|
{
|
||||||
delete Notifier::notifier_;
|
delete Notifier::notifier_;
|
||||||
}
|
}
|
||||||
|
|
||||||
// [SINGLETON] Con este método obtenemos el objeto screen y podemos trabajar con él
|
// [SINGLETON] Con este método obtenemos el objeto y podemos trabajar con él
|
||||||
Notifier *Notifier::get()
|
Notifier *Notifier::get()
|
||||||
{
|
{
|
||||||
return Notifier::notifier_;
|
return Notifier::notifier_;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class Texture; // lines 11-11
|
|||||||
class Notifier
|
class Notifier
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
// [SINGLETON] Objeto notifier privado para Don Melitón
|
// [SINGLETON] Objeto notifier
|
||||||
static Notifier *notifier_;
|
static Notifier *notifier_;
|
||||||
|
|
||||||
enum class NotificationStatus
|
enum class NotificationStatus
|
||||||
@@ -77,13 +77,13 @@ private:
|
|||||||
~Notifier() = default;
|
~Notifier() = default;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// [SINGLETON] Crearemos el objeto notifier con esta función estática
|
// [SINGLETON] Crearemos el objeto con esta función estática
|
||||||
static void init(const std::string &icon_file, std::shared_ptr<Text> text);
|
static void init(const std::string &icon_file, std::shared_ptr<Text> text);
|
||||||
|
|
||||||
// [SINGLETON] Destruiremos el objeto notifier con esta función estática
|
// [SINGLETON] Destruiremos el objeto con esta función estática
|
||||||
static void destroy();
|
static void destroy();
|
||||||
|
|
||||||
// [SINGLETON] Con este método obtenemos el objeto notifier y podemos trabajar con él
|
// [SINGLETON] Con este método obtenemos el objeto y podemos trabajar con él
|
||||||
static Notifier *get();
|
static Notifier *get();
|
||||||
|
|
||||||
// Dibuja las notificaciones por pantalla
|
// Dibuja las notificaciones por pantalla
|
||||||
|
|||||||
@@ -15,10 +15,7 @@
|
|||||||
#include "on_screen_help.h" // Para OnScreenHelp
|
#include "on_screen_help.h" // Para OnScreenHelp
|
||||||
#include "options.h" // Para Options, OptionsVideo, options, Options...
|
#include "options.h" // Para Options, OptionsVideo, options, Options...
|
||||||
#include "mouse.h"
|
#include "mouse.h"
|
||||||
|
|
||||||
#ifndef NO_SHADERS
|
|
||||||
#include "jail_shader.h" // para init, render
|
#include "jail_shader.h" // para init, render
|
||||||
#endif
|
|
||||||
|
|
||||||
// [SINGLETON]
|
// [SINGLETON]
|
||||||
Screen *Screen::screen_ = nullptr;
|
Screen *Screen::screen_ = nullptr;
|
||||||
@@ -105,11 +102,6 @@ void Screen::renderScreen()
|
|||||||
SDL_SetRenderTarget(renderer_, nullptr);
|
SDL_SetRenderTarget(renderer_, nullptr);
|
||||||
clean();
|
clean();
|
||||||
|
|
||||||
#ifdef NO_SHADERS
|
|
||||||
// Actualiza la pantalla con el contenido del buffer de renderizado
|
|
||||||
SDL_RenderCopy(renderer_, game_canvas_, nullptr, nullptr);
|
|
||||||
SDL_RenderPresent(renderer_);
|
|
||||||
#else
|
|
||||||
if (options.video.shaders)
|
if (options.video.shaders)
|
||||||
{
|
{
|
||||||
// Aplica shaders y renderiza el contenido
|
// Aplica shaders y renderiza el contenido
|
||||||
@@ -121,7 +113,6 @@ void Screen::renderScreen()
|
|||||||
SDL_RenderCopy(renderer_, game_canvas_, nullptr, nullptr);
|
SDL_RenderCopy(renderer_, game_canvas_, nullptr, nullptr);
|
||||||
SDL_RenderPresent(renderer_);
|
SDL_RenderPresent(renderer_);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el modo de video
|
// Establece el modo de video
|
||||||
@@ -174,13 +165,11 @@ void Screen::setVideoMode(ScreenVideoMode videoMode)
|
|||||||
// Reinicia los shaders
|
// Reinicia los shaders
|
||||||
if (options.video.shaders)
|
if (options.video.shaders)
|
||||||
{
|
{
|
||||||
#ifndef NO_SHADERS
|
|
||||||
const std::string glsl_file = param.game.game_area.rect.h == 256 ? "crtpi_256.glsl" : "crtpi_240.glsl";
|
const std::string glsl_file = param.game.game_area.rect.h == 256 ? "crtpi_256.glsl" : "crtpi_240.glsl";
|
||||||
std::ifstream f(Asset::get()->get(glsl_file).c_str());
|
std::ifstream f(Asset::get()->get(glsl_file).c_str());
|
||||||
std::string source((std::istreambuf_iterator<char>(f)), std::istreambuf_iterator<char>());
|
std::string source((std::istreambuf_iterator<char>(f)), std::istreambuf_iterator<char>());
|
||||||
|
|
||||||
shader::init(window_, game_canvas_, source.c_str());
|
shader::init(window_, game_canvas_, source.c_str());
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,9 +110,6 @@ private:
|
|||||||
// Calcula la nueva posición de la ventana a partir de la antigua al cambiarla de tamaño
|
// Calcula la nueva posición de la ventana a partir de la antigua al cambiarla de tamaño
|
||||||
SDL_Point getNewPosition();
|
SDL_Point getNewPosition();
|
||||||
|
|
||||||
// Actualiza la pantalla con el contenido del game_canvas_
|
|
||||||
void presentGameCanvas();
|
|
||||||
|
|
||||||
// Selecciona y ejecuta el método de renderizado adecuado basado en la configuración de shaders
|
// Selecciona y ejecuta el método de renderizado adecuado basado en la configuración de shaders
|
||||||
void renderScreen();
|
void renderScreen();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user