Eliminada gran cantidad de código sobrante

This commit is contained in:
2024-05-31 17:27:46 +02:00
parent 514372c9f0
commit d13e4daf25
9 changed files with 122 additions and 614 deletions

View File

@@ -130,6 +130,7 @@ void Director::initInput()
void Director::initJailAudio()
{
JA_Init(48000, AUDIO_S16, 2);
JA_SetVolume(0);
}
// Arranca SDL y crea la ventana
@@ -154,7 +155,7 @@ bool Director::initSDL()
std::srand(static_cast<unsigned int>(SDL_GetTicks()));
// Establece el filtro de la textura
if (!SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, std::to_string(options->filter).c_str()))
if (!SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, std::to_string(options->video.filter).c_str()))
{
if (options->console)
{
@@ -165,12 +166,12 @@ bool Director::initSDL()
// Crea la ventana
int incW = 0;
int incH = 0;
if (options->borderEnabled)
if (options->video.borderEnabled)
{
incW = options->borderWidth * 2;
incH = options->borderHeight * 2;
incW = options->video.borderWidth * 2;
incH = options->video.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->video.gameWidth + incW) * options->video.windowSize, (options->video.gameHeight + incH) * options->video.windowSize, SDL_WINDOW_SHOWN | SDL_WINDOW_ALLOW_HIGHDPI);
if (window == nullptr)
{
if (options->console)
@@ -186,7 +187,7 @@ bool Director::initSDL()
//Uint32 flags = SDL_RENDERER_SOFTWARE;
//Uint32 flags = SDL_RENDERER_ACCELERATED;
Uint32 flags = 0;
if (options->vSync)
if (options->video.vSync)
{
flags = flags | SDL_RENDERER_PRESENTVSYNC;
}
@@ -206,7 +207,7 @@ bool Director::initSDL()
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0xFF);
// Establece el tamaño del buffer de renderizado
SDL_RenderSetLogicalSize(renderer, options->gameWidth, options->gameHeight);
SDL_RenderSetLogicalSize(renderer, options->video.gameWidth, options->video.gameHeight);
// Establece el modo de mezcla
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND);
@@ -377,17 +378,23 @@ void Director::initOptions()
options->input.push_back(inp);
// Opciones de video
options->gameWidth = GAMECANVAS_WIDTH;
options->gameHeight = GAMECANVAS_HEIGHT;
options->videoMode = 0;
options->windowSize = 3;
options->filter = FILTER_NEAREST;
options->vSync = true;
options->integerScale = true;
options->keepAspect = true;
options->borderWidth = 0;
options->borderHeight = 0;
options->borderEnabled = false;
options->video.gameWidth = GAMECANVAS_WIDTH;
options->video.gameHeight = GAMECANVAS_HEIGHT;
options->video.mode = 0;
options->video.windowSize = 3;
options->video.windowWidth = options->video.windowSize * options->video.gameWidth;
options->video.windowHeight = options->video.windowSize * options->video.gameHeight;
options->video.filter = FILTER_NEAREST;
options->video.vSync = true;
options->video.integerScale = true;
options->video.keepAspect = true;
options->video.borderWidth = 0;
options->video.borderHeight = 0;
options->video.borderEnabled = false;
// Opciones de audio
options->audio.musicEnabled = false;
options->audio.soundEnabled = false;
// Opciones varios
options->playerSelected = 0;
@@ -521,17 +528,17 @@ bool Director::loadConfigFile()
}
// Normaliza los valores
const bool a = options->videoMode == 0;
const bool b = options->videoMode == SDL_WINDOW_FULLSCREEN;
const bool c = options->videoMode == SDL_WINDOW_FULLSCREEN_DESKTOP;
const bool a = options->video.mode == 0;
const bool b = options->video.mode == SDL_WINDOW_FULLSCREEN;
const bool c = options->video.mode == SDL_WINDOW_FULLSCREEN_DESKTOP;
if (!(a || b || c))
{
options->videoMode = 0;
options->video.mode = 0;
}
if (options->windowSize < 1 || options->windowSize > 4)
if (options->video.windowSize < 1 || options->video.windowSize > 4)
{
options->windowSize = 3;
options->video.windowSize = 3;
}
if (options->language < 0 || options->language > MAX_LANGUAGES)
@@ -567,24 +574,24 @@ bool Director::saveConfigFile()
// Opciones g´raficas
file << "## VISUAL OPTIONS\n";
if (options->videoMode == 0)
if (options->video.mode == 0)
{
file << "videoMode=0\n";
}
else if (options->videoMode == SDL_WINDOW_FULLSCREEN)
else if (options->video.mode == SDL_WINDOW_FULLSCREEN)
{
file << "fullScreenMode=SDL_WINDOW_FULLSCREEN\n";
}
else if (options->videoMode == SDL_WINDOW_FULLSCREEN_DESKTOP)
else if (options->video.mode == SDL_WINDOW_FULLSCREEN_DESKTOP)
{
file << "fullScreenMode=SDL_WINDOW_FULLSCREEN_DESKTOP\n";
}
file << "windowSize=" + std::to_string(options->windowSize) + "\n";
file << "windowSize=" + std::to_string(options->video.windowSize) + "\n";
if (options->filter == FILTER_NEAREST)
if (options->video.filter == FILTER_NEAREST)
{
file << "filter=FILTER_NEAREST\n";
}
@@ -593,12 +600,12 @@ bool Director::saveConfigFile()
file << "filter=FILTER_LINEAL\n";
}
file << "vSync=" + boolToString(options->vSync) + "\n";
file << "integerScale=" + boolToString(options->integerScale) + "\n";
file << "keepAspect=" + boolToString(options->keepAspect) + "\n";
file << "borderEnabled=" + boolToString(options->borderEnabled) + "\n";
file << "borderWidth=" + std::to_string(options->borderWidth) + "\n";
file << "borderHeight=" + std::to_string(options->borderHeight) + "\n";
file << "vSync=" + boolToString(options->video.vSync) + "\n";
file << "integerScale=" + boolToString(options->video.integerScale) + "\n";
file << "keepAspect=" + boolToString(options->video.keepAspect) + "\n";
file << "borderEnabled=" + boolToString(options->video.borderEnabled) + "\n";
file << "borderWidth=" + std::to_string(options->video.borderWidth) + "\n";
file << "borderHeight=" + std::to_string(options->video.borderHeight) + "\n";
// Otras opciones del programa
file << "\n## OTHER OPTIONS\n";
@@ -707,24 +714,24 @@ bool Director::setOptions(options_t *options, std::string var, std::string value
{
if (value == "SDL_WINDOW_FULLSCREEN_DESKTOP")
{
options->videoMode = SDL_WINDOW_FULLSCREEN_DESKTOP;
options->video.mode = SDL_WINDOW_FULLSCREEN_DESKTOP;
}
else if (value == "SDL_WINDOW_FULLSCREEN")
{
options->videoMode = SDL_WINDOW_FULLSCREEN;
options->video.mode = SDL_WINDOW_FULLSCREEN;
}
else
{
options->videoMode = 0;
options->video.mode = 0;
}
}
else if (var == "windowSize")
{
options->windowSize = std::stoi(value);
if ((options->windowSize < 1) || (options->windowSize > 4))
options->video.windowSize = std::stoi(value);
if ((options->video.windowSize < 1) || (options->video.windowSize > 4))
{
options->windowSize = 3;
options->video.windowSize = 3;
}
}
@@ -732,42 +739,42 @@ bool Director::setOptions(options_t *options, std::string var, std::string value
{
if (value == "FILTER_LINEAL")
{
options->filter = FILTER_LINEAL;
options->video.filter = FILTER_LINEAL;
}
else
{
options->filter = FILTER_NEAREST;
options->video.filter = FILTER_NEAREST;
}
}
else if (var == "vSync")
{
options->vSync = stringToBool(value);
options->video.vSync = stringToBool(value);
}
else if (var == "integerScale")
{
options->integerScale = stringToBool(value);
options->video.integerScale = stringToBool(value);
}
else if (var == "keepAspect")
{
options->keepAspect = stringToBool(value);
options->video.keepAspect = stringToBool(value);
}
else if (var == "borderEnabled")
{
options->borderEnabled = stringToBool(value);
options->video.borderEnabled = stringToBool(value);
}
else if (var == "borderWidth")
{
options->borderWidth = std::stoi(value);
options->video.borderWidth = std::stoi(value);
}
else if (var == "borderHeight")
{
options->borderHeight = std::stoi(value);
options->video.borderHeight = std::stoi(value);
}
// Opciones varias