Commit 4dfbee71 authored by David CARLIER's avatar David CARLIER

In case the resolution settings in the config file have wrong values,

the main window is not appearing, forcing here minimum decent values.
parent a8e0e96a
Pipeline #17033444 passed with stage
in 4 minutes and 41 seconds
......@@ -46,6 +46,8 @@ int difficulty = 0;
float multiplier = 0;
float realmultiplier = 0;
float screenwidth = 0, screenheight = 0;
float minscreenwidth = 640, minscreenheight = 480;
float maxscreenwidth = 3000, maxscreenheight = 3000;
bool fullscreen = 0;
float viewdistance = 0;
XYZ viewer;
......
......@@ -76,16 +76,10 @@ void SaveSettings()
if (newdetail > 2) {
newdetail = 2;
}
if (newscreenwidth > 3000) {
if (newscreenwidth < minscreenwidth || newscreenwidth > maxscreenwidth) {
newscreenwidth = screenwidth;
}
if (newscreenwidth < 0) {
newscreenwidth = screenwidth;
}
if (newscreenheight > 3000) {
newscreenheight = screenheight;
}
if (newscreenheight < 0) {
if (newscreenheight < minscreenheight || newscreenheight > maxscreenheight) {
newscreenheight = screenheight;
}
errno = 0;
......@@ -207,8 +201,14 @@ bool LoadSettings()
if (!strncmp(setting, "Screenwidth", 11)) {
ipstream >> kContextWidth;
if (kContextWidth < (int)minscreenwidth || kContextWidth > (int)maxscreenwidth) {
kContextWidth = (int)minscreenwidth;
}
} else if (!strncmp(setting, "Screenheight", 12)) {
ipstream >> kContextHeight;
if (kContextHeight < (int)minscreenheight || kContextHeight > (int)maxscreenheight) {
kContextHeight = (int)minscreenheight;
}
} else if (!strncmp(setting, "Fullscreen", 10)) {
ipstream >> fullscreen;
} else if (!strncmp(setting, "Mouse sensitivity", 17)) {
......@@ -316,10 +316,10 @@ bool LoadSettings()
if (detail < 0) {
detail = 0;
}
if (screenwidth < 0) {
if (screenwidth < minscreenwidth || screenwidth > maxscreenwidth) {
screenwidth = 1024;
}
if (screenheight < 0) {
if (screenheight < minscreenheight || screenheight > maxscreenheight) {
screenheight = 768;
}
......
......@@ -51,6 +51,8 @@ extern int kContextWidth;
extern int kContextHeight;
extern float screenwidth, screenheight;
extern bool fullscreen;
extern float minscreenwidth, minscreenheight;
extern float maxscreenwidth, maxscreenheight;
void DefaultSettings();
void SaveSettings();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment