forked from jaildesigner-jailgames/jaildoctors_dilemma
Implementats els shaders
This commit is contained in:
@@ -131,6 +131,7 @@ void Director::initOptions()
|
||||
options->videoMode = 0;
|
||||
options->windowSize = 3;
|
||||
options->filter = FILTER_NEAREST;
|
||||
options->shaders = false;
|
||||
options->vSync = true;
|
||||
options->integerScale = true;
|
||||
options->keepAspect = true;
|
||||
@@ -373,6 +374,7 @@ bool Director::saveConfig()
|
||||
file << "filter=FILTER_LINEAL\n";
|
||||
}
|
||||
|
||||
file << "shaders=" + boolToString(options->shaders) + "\n";
|
||||
file << "vSync=" + boolToString(options->vSync) + "\n";
|
||||
file << "integerScale=" + boolToString(options->integerScale) + "\n";
|
||||
file << "keepAspect=" + boolToString(options->keepAspect) + "\n";
|
||||
@@ -1106,6 +1108,11 @@ bool Director::setOptions(options_t *options, std::string var, std::string value
|
||||
}
|
||||
}
|
||||
|
||||
else if (var == "shaders")
|
||||
{
|
||||
options->shaders = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "vSync")
|
||||
{
|
||||
options->vSync = stringToBool(value);
|
||||
@@ -1262,9 +1269,10 @@ void Director::initInput()
|
||||
input->bindKey(input_exit, SDL_SCANCODE_ESCAPE);
|
||||
input->bindKey(input_window_dec_size, SDL_SCANCODE_F1);
|
||||
input->bindKey(input_window_inc_size, SDL_SCANCODE_F2);
|
||||
input->bindKey(input_window_fullscreen, SDL_SCANCODE_F3);
|
||||
input->bindKey(input_swap_palette, SDL_SCANCODE_F5);
|
||||
input->bindKey(input_switch_music, SDL_SCANCODE_M);
|
||||
input->bindKey(input_toggle_videomode, SDL_SCANCODE_F3);
|
||||
input->bindKey(input_toggle_shaders, SDL_SCANCODE_F4);
|
||||
input->bindKey(input_toggle_palette, SDL_SCANCODE_F5);
|
||||
input->bindKey(input_toggle_music, SDL_SCANCODE_M);
|
||||
input->bindKey(input_toggle_border, SDL_SCANCODE_B);
|
||||
|
||||
// Mando - Movimiento
|
||||
@@ -1282,8 +1290,8 @@ void Director::initInput()
|
||||
input->bindGameControllerButton(input_pause, SDL_CONTROLLER_BUTTON_START);
|
||||
input->bindGameControllerButton(input_exit, SDL_CONTROLLER_BUTTON_BACK);
|
||||
#endif
|
||||
input->bindGameControllerButton(input_swap_palette, SDL_CONTROLLER_BUTTON_LEFTSHOULDER);
|
||||
input->bindGameControllerButton(input_switch_music, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER);
|
||||
input->bindGameControllerButton(input_toggle_palette, SDL_CONTROLLER_BUTTON_LEFTSHOULDER);
|
||||
input->bindGameControllerButton(input_toggle_music, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER);
|
||||
input->bindGameControllerButton(input_toggle_border, SDL_CONTROLLER_BUTTON_X);
|
||||
}
|
||||
|
||||
@@ -1300,7 +1308,7 @@ bool Director::initSDL()
|
||||
bool success = true;
|
||||
|
||||
// Inicializa SDL
|
||||
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER | SDL_INIT_AUDIO) < 0)
|
||||
if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
|
||||
{
|
||||
if (options->console)
|
||||
{
|
||||
@@ -1322,6 +1330,12 @@ bool Director::initSDL()
|
||||
}
|
||||
}
|
||||
|
||||
// Activa el render OpenGL
|
||||
if (!SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl"))
|
||||
{
|
||||
std::cout << "Warning: opengl not enabled!\n";
|
||||
}
|
||||
|
||||
// Crea la ventana
|
||||
int incW = 0;
|
||||
int incH = 0;
|
||||
@@ -1331,7 +1345,7 @@ bool Director::initSDL()
|
||||
incH = options->borderHeight * 2;
|
||||
}
|
||||
|
||||
window = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, (options->gameWidth + incW) * options->windowSize, (options->gameHeight + incH) * options->windowSize, SDL_WINDOW_SHOWN | SDL_WINDOW_ALLOW_HIGHDPI);
|
||||
window = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, (options->gameWidth + incW) * options->windowSize, (options->gameHeight + incH) * options->windowSize, SDL_WINDOW_HIDDEN);
|
||||
if (window == nullptr)
|
||||
{
|
||||
if (options->console)
|
||||
@@ -1343,8 +1357,6 @@ bool Director::initSDL()
|
||||
else
|
||||
{
|
||||
// Crea un renderizador para la ventana. El vsync se activa en funcion de las opciones
|
||||
// Uint32 flags = SDL_RENDERER_SOFTWARE;
|
||||
// Uint32 flags = SDL_RENDERER_ACCELERATED;
|
||||
Uint32 flags = 0;
|
||||
if (options->vSync)
|
||||
{
|
||||
@@ -1400,6 +1412,10 @@ bool Director::setFileList()
|
||||
asset->add(prefix + "/data/font/subatomic.png", t_font);
|
||||
asset->add(prefix + "/data/font/subatomic.txt", t_font);
|
||||
|
||||
// Shaders
|
||||
asset->add(prefix + "/data/shaders/crtpi_192.glsl", t_data);
|
||||
asset->add(prefix + "/data/shaders/crtpi_240.glsl", t_data);
|
||||
|
||||
// Datos
|
||||
asset->add(prefix + "/data/input/gamecontrollerdb.txt", t_data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user