Cambiados muchos DEFINEs por variables de param
This commit is contained in:
@@ -5,20 +5,26 @@
|
||||
// Asigna variables a partir de dos cadenas
|
||||
bool setOptions(param_t *param, std::string var, std::string value);
|
||||
|
||||
// Calcula variables a partir de otras variables
|
||||
void precalculateZones(param_t *param);
|
||||
|
||||
// Establece valores por defecto a las variables
|
||||
void initParam(param_t *param)
|
||||
{
|
||||
// GAME
|
||||
param->game.width = 320;
|
||||
param->game.height = 240;
|
||||
param->game.height = 256;
|
||||
param->game.itemSize = 20;
|
||||
param->game.gameArea.rect = {0, 0, param->game.width, param->game.height};
|
||||
param->game.playArea.rect = {0, 0, param->game.width, 216};
|
||||
precalculateZones(param);
|
||||
|
||||
// SCOREBOARD
|
||||
param->scoreboard = {0, 200, 320, 40};
|
||||
param->scoreboard = {0, 216, param->game.width, 40};
|
||||
|
||||
// FADE
|
||||
param->fade.numSquaresWidth = 160;
|
||||
param->fade.numSquaresHeight = 120;
|
||||
param->fade.numSquaresWidth = param->game.width / 2;
|
||||
param->fade.numSquaresHeight = param->game.height / 2;
|
||||
param->fade.randomSquaresDelay = 1;
|
||||
param->fade.randomSquaresMult = 500;
|
||||
param->fade.postDuration = 80;
|
||||
@@ -46,7 +52,7 @@ void initParam(param_t *param)
|
||||
}
|
||||
|
||||
// Establece valores para los parametros a partir de un fichero de texto
|
||||
void loadParam(param_t *param, std::string filePath)
|
||||
void loadParamsFromFile(param_t *param, std::string filePath)
|
||||
{
|
||||
// Pone valores por defecto a las variables
|
||||
initParam(param);
|
||||
@@ -130,6 +136,8 @@ void loadParam(param_t *param, std::string filePath)
|
||||
// Cierra el fichero
|
||||
file.close();
|
||||
}
|
||||
|
||||
precalculateZones(param);
|
||||
}
|
||||
|
||||
// Asigna variables a partir de dos cadenas
|
||||
@@ -154,6 +162,26 @@ bool setOptions(param_t *param, std::string var, std::string value)
|
||||
param->game.itemSize = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.playArea.rect.x")
|
||||
{
|
||||
param->game.playArea.rect.x = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.playArea.rect.y")
|
||||
{
|
||||
param->game.playArea.rect.y = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.playArea.rect.w")
|
||||
{
|
||||
param->game.playArea.rect.w = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.playArea.rect.h")
|
||||
{
|
||||
param->game.playArea.rect.h = std::stoi(value);
|
||||
}
|
||||
|
||||
// FADE
|
||||
else if (var == "fade.numSquaresWidth")
|
||||
{
|
||||
@@ -296,4 +324,26 @@ bool setOptions(param_t *param, std::string var, std::string value)
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
// Calcula variables a partir de otras variables
|
||||
void precalculateZones(param_t *param)
|
||||
{
|
||||
|
||||
// playArea
|
||||
param->game.playArea.centerX = param->game.playArea.rect.w / 2;
|
||||
param->game.playArea.firstQuarterX = param->game.playArea.rect.w / 4;
|
||||
param->game.playArea.thirdQuarterX = param->game.playArea.rect.w / 4 * 3;
|
||||
param->game.playArea.centerY = param->game.playArea.rect.h / 2;
|
||||
param->game.playArea.firstQuarterY = param->game.playArea.rect.h / 4;
|
||||
param->game.playArea.thirdQuarterY = param->game.playArea.rect.h / 4 * 3;
|
||||
|
||||
// gameArea
|
||||
param->game.gameArea.rect = {0, 0, param->game.width, param->game.height};
|
||||
param->game.gameArea.centerX = param->game.gameArea.rect.w / 2;
|
||||
param->game.gameArea.firstQuarterX = param->game.gameArea.rect.w / 4;
|
||||
param->game.gameArea.thirdQuarterX = param->game.gameArea.rect.w / 4 * 3;
|
||||
param->game.gameArea.centerY = param->game.gameArea.rect.h / 2;
|
||||
param->game.gameArea.firstQuarterY = param->game.gameArea.rect.h / 4;
|
||||
param->game.gameArea.thirdQuarterY = param->game.gameArea.rect.h / 4 * 3;
|
||||
}
|
||||
Reference in New Issue
Block a user