If we fail to read the game settings, use sensible defaults.
svn-id: r10990
This commit is contained in:
parent
31a8ef2e7f
commit
7418c47b48
2 changed files with 11 additions and 21 deletions
|
@ -717,7 +717,7 @@ private:
|
||||||
Button *_okButton;
|
Button *_okButton;
|
||||||
Button *_cancelButton;
|
Button *_cancelButton;
|
||||||
|
|
||||||
int32 writeOptionSettings(void);
|
void writeOptionSettings(void);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
OptionsDialog() {
|
OptionsDialog() {
|
||||||
|
@ -886,7 +886,7 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
int32 OptionsDialog::writeOptionSettings(void) {
|
void OptionsDialog::writeOptionSettings(void) {
|
||||||
uint8 buff[10];
|
uint8 buff[10];
|
||||||
char filename[256];
|
char filename[256];
|
||||||
SaveFile *fp;
|
SaveFile *fp;
|
||||||
|
@ -905,18 +905,13 @@ int32 OptionsDialog::writeOptionSettings(void) {
|
||||||
buff[8] = gui._pointerTextSelected;
|
buff[8] = gui._pointerTextSelected;
|
||||||
buff[9] = gui._stereoReversed;
|
buff[9] = gui._stereoReversed;
|
||||||
|
|
||||||
if (!(fp = mgr->open_savefile(filename, g_sword2->getSavePath(), true)))
|
fp = mgr->open_savefile(filename, g_sword2->getSavePath(), true);
|
||||||
return 1;
|
|
||||||
|
|
||||||
if (fp->write(buff, 10) != 10) {
|
if (fp)
|
||||||
delete fp;
|
fp->write(buff, 10);
|
||||||
delete mgr;
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
delete fp;
|
delete fp;
|
||||||
delete mgr;
|
delete mgr;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -1464,7 +1459,7 @@ void Gui::restartControl(void) {
|
||||||
this_screen.new_palette = 99;
|
this_screen.new_palette = 99;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 Gui::readOptionSettings(void) {
|
void Gui::readOptionSettings(void) {
|
||||||
// settings file is 9 bytes long:
|
// settings file is 9 bytes long:
|
||||||
// 1 music volume
|
// 1 music volume
|
||||||
// 2 speech volume
|
// 2 speech volume
|
||||||
|
@ -1477,20 +1472,16 @@ int32 Gui::readOptionSettings(void) {
|
||||||
// 9 object labels
|
// 9 object labels
|
||||||
|
|
||||||
uint8 buff[10];
|
uint8 buff[10];
|
||||||
|
uint8 default_settings[10] = { 14, 12, 12, 0, 0, 0, 2, 1, 1 };
|
||||||
char filename[256];
|
char filename[256];
|
||||||
SaveFile *fp;
|
SaveFile *fp;
|
||||||
SaveFileManager *mgr = g_system->get_savefile_manager();
|
SaveFileManager *mgr = g_system->get_savefile_manager();
|
||||||
|
|
||||||
sprintf(filename, "%s-settings.dat", g_sword2->_targetName);
|
sprintf(filename, "%s-settings.dat", g_sword2->_targetName);
|
||||||
|
|
||||||
if (!(fp = mgr->open_savefile(filename, g_sword2->getSavePath(), false)))
|
fp = mgr->open_savefile(filename, g_sword2->getSavePath(), false);
|
||||||
return 1;
|
if (!fp || fp->read(buff, 10) != 10)
|
||||||
|
memcpy(buff, default_settings, sizeof(buff));
|
||||||
if (fp->read(buff, 10) != 10) {
|
|
||||||
delete fp;
|
|
||||||
delete mgr;
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
delete fp;
|
delete fp;
|
||||||
delete mgr;
|
delete mgr;
|
||||||
|
@ -1512,7 +1503,6 @@ int32 Gui::readOptionSettings(void) {
|
||||||
g_sound->reverseStereo();
|
g_sound->reverseStereo();
|
||||||
|
|
||||||
gui._stereoReversed = buff[9];
|
gui._stereoReversed = buff[9];
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gui::optionControl(void) {
|
void Gui::optionControl(void) {
|
||||||
|
|
|
@ -40,7 +40,7 @@ public:
|
||||||
void quitControl(void);
|
void quitControl(void);
|
||||||
void restartControl(void);
|
void restartControl(void);
|
||||||
void optionControl(void);
|
void optionControl(void);
|
||||||
int32 readOptionSettings(void);
|
void readOptionSettings(void);
|
||||||
void updateGraphicsLevel(uint8 newLevel);
|
void updateGraphicsLevel(uint8 newLevel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue