Los parametros del juego ya se pueden cargar desde un fichero de texto. Falta empezar a sacar parametros hard-coded a ese fichero
This commit is contained in:
@@ -14,16 +14,10 @@
|
||||
// Constructor
|
||||
Director::Director(int argc, char *argv[])
|
||||
{
|
||||
// Carga los parametros para configurar el juego
|
||||
loadParams();
|
||||
|
||||
// Inicializa variables
|
||||
section = new section_t();
|
||||
section->name = SECTION_PROG_TITLE;
|
||||
|
||||
// Inicializa las opciones del programa
|
||||
initOptions();
|
||||
|
||||
// Comprueba los parametros del programa
|
||||
checkProgramArguments(argc, argv);
|
||||
|
||||
@@ -35,6 +29,9 @@ Director::Director(int argc, char *argv[])
|
||||
createSystemFolder("jailgames/coffee_crisis_arcade_edition_debug");
|
||||
#endif
|
||||
|
||||
// Inicializa las opciones del programa
|
||||
initOptions();
|
||||
|
||||
// Crea el objeto que controla los ficheros de recursos
|
||||
asset = new Asset(executablePath);
|
||||
asset->setVerbose(options->console);
|
||||
@@ -45,6 +42,9 @@ Director::Director(int argc, char *argv[])
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// Carga los parametros para configurar el juego
|
||||
loadParams();
|
||||
|
||||
// Carga el fichero de configuración
|
||||
loadConfigFile();
|
||||
|
||||
@@ -178,7 +178,7 @@ bool Director::initSDL()
|
||||
incW = options->video.border.width * 2;
|
||||
incH = options->video.border.height * 2;
|
||||
}
|
||||
window = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, (options->video.gameWidth + incW) * options->video.window.size, (options->video.gameHeight + incH) * options->video.window.size, SDL_WINDOW_SHOWN | SDL_WINDOW_ALLOW_HIGHDPI);
|
||||
window = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, (param->gameWidth + incW) * options->video.window.size, (param->gameHeight + incH) * options->video.window.size, SDL_WINDOW_SHOWN | SDL_WINDOW_ALLOW_HIGHDPI);
|
||||
if (window == nullptr)
|
||||
{
|
||||
if (options->console)
|
||||
@@ -211,7 +211,7 @@ bool Director::initSDL()
|
||||
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0xFF);
|
||||
|
||||
// Establece el tamaño del buffer de renderizado
|
||||
SDL_RenderSetLogicalSize(renderer, options->video.gameWidth, options->video.gameHeight);
|
||||
SDL_RenderSetLogicalSize(renderer, param->gameWidth, param->gameHeight);
|
||||
|
||||
// Establece el modo de mezcla
|
||||
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND);
|
||||
@@ -238,6 +238,7 @@ bool Director::setFileList()
|
||||
// Ficheros de configuración
|
||||
asset->add(systemFolder + "/config.txt", t_data, false, true);
|
||||
asset->add(systemFolder + "/score.bin", t_data, false, true);
|
||||
asset->add(prefix + "/data/config/param.txt", t_data);
|
||||
asset->add(prefix + "/data/config/demo.bin", t_data);
|
||||
asset->add(prefix + "/data/config/gamecontrollerdb.txt", t_data);
|
||||
|
||||
@@ -363,10 +364,12 @@ void Director::loadParams()
|
||||
{
|
||||
param = new param_t;
|
||||
|
||||
param->gameWidth = 320;
|
||||
param->gameHeight = 240;
|
||||
loadParam(param, asset->get("param.txt"));
|
||||
|
||||
param->scoreboard = {0, 240-32, 320, 32};
|
||||
options->video.window.width = options->video.window.size * param->gameWidth;
|
||||
options->video.window.height = options->video.window.size * param->gameHeight;
|
||||
options->video.gameWidth = param->gameWidth;
|
||||
options->video.gameHeight = param->gameHeight;
|
||||
}
|
||||
|
||||
// Inicializa las opciones del programa
|
||||
@@ -390,12 +393,10 @@ void Director::initOptions()
|
||||
options->input.push_back(inp);
|
||||
|
||||
// Opciones de video
|
||||
options->video.gameWidth = param->gameWidth;
|
||||
options->video.gameHeight = param->gameHeight;
|
||||
options->video.mode = 0;
|
||||
options->video.window.size = 3;
|
||||
options->video.window.width = options->video.window.size * options->video.gameWidth;
|
||||
options->video.window.height = options->video.window.size * options->video.gameHeight;
|
||||
//options->video.window.width = options->video.window.size * param->gameWidth;
|
||||
//options->video.window.height = options->video.window.size * param->gameHeight;
|
||||
options->video.filter = FILTER_NEAREST;
|
||||
options->video.vSync = true;
|
||||
options->video.integerScale = true;
|
||||
|
||||
Reference in New Issue
Block a user