SWORD2: Added support for Spanish demo. Fixes #11396

This commit is contained in:
Eugene Sandulenko 2020-09-02 14:38:09 +02:00
parent ed4e42f0f1
commit 289bc959cf
3 changed files with 8 additions and 4 deletions

View File

@ -905,10 +905,10 @@ OptionsDialog::OptionsDialog(Sword2Engine *vm) : Dialog(vm) {
_mixer = _vm->_mixer; _mixer = _vm->_mixer;
_panel = new Widget(this, 1); _panel = new Widget(this, 1);
_panel->createSurfaceImages(3405, 0, 40); _panel->createSurfaceImages(3405, (_vm->_features & GF_SPANISHDEMO) ? 45 : 0, 40);
_objectLabelsSwitch = new Switch(this, 304, 100, 53, 32); _objectLabelsSwitch = new Switch(this, 304, 100, 53, 32);
_objectLabelsSwitch->createSurfaceImages(3687, 304, 100); _objectLabelsSwitch->createSurfaceImages((_vm->_features & GF_SPANISHDEMO) ? 901 : 3687, 304, 100);
_subtitlesSwitch = new Switch(this, 510, 100, 53, 32); _subtitlesSwitch = new Switch(this, 510, 100, 53, 32);
_subtitlesSwitch->linkSurfaceImages(_objectLabelsSwitch, 510, 100); _subtitlesSwitch->linkSurfaceImages(_objectLabelsSwitch, 510, 100);
@ -1179,7 +1179,7 @@ SaveRestoreDialog::SaveRestoreDialog(Sword2Engine *vm, int mode) : Dialog(vm) {
_fr2 = new FontRendererGui(_vm, _vm->_redFontId); _fr2 = new FontRendererGui(_vm, _vm->_redFontId);
_panel = new Widget(this, 1); _panel = new Widget(this, 1);
_panel->createSurfaceImages(2016, 0, 40); _panel->createSurfaceImages(2016, (_vm->_features & GF_SPANISHDEMO) ? 84 : 0, 40);
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
_slotButton[i] = new Slot(this, 114, 0, 384, 36); _slotButton[i] = new Slot(this, 114, 0, 384, 36);

View File

@ -70,6 +70,7 @@ static const GameSettings sword2_settings[] = {
{"sword2psx", "Broken Sword II: The Smoking Mirror (PlayStation)", 0, "screens.clu"}, {"sword2psx", "Broken Sword II: The Smoking Mirror (PlayStation)", 0, "screens.clu"},
{"sword2psxdemo", "Broken Sword II: The Smoking Mirror (PlayStation/Demo)", Sword2::GF_DEMO, "screens.clu"}, {"sword2psxdemo", "Broken Sword II: The Smoking Mirror (PlayStation/Demo)", Sword2::GF_DEMO, "screens.clu"},
{"sword2demo", "Broken Sword II: The Smoking Mirror (Demo)", Sword2::GF_DEMO, "players.clu" }, {"sword2demo", "Broken Sword II: The Smoking Mirror (Demo)", Sword2::GF_DEMO, "players.clu" },
{"sword2demo-es", "Broken Sword II: The Smoking Mirror (Spanish/Demo)", Sword2::GF_DEMO | Sword2::GF_SPANISHDEMO, "vielogo.tga" },
{NULL, NULL, 0, NULL} {NULL, NULL, 0, NULL}
}; };
@ -316,6 +317,8 @@ Sword2Engine::Sword2Engine(OSystem *syst) : Engine(syst), _rnd("sword2") {
if (!scumm_stricmp(ConfMan.get("gameid").c_str(), "sword2demo") || !scumm_stricmp(ConfMan.get("gameid").c_str(), "sword2psxdemo")) if (!scumm_stricmp(ConfMan.get("gameid").c_str(), "sword2demo") || !scumm_stricmp(ConfMan.get("gameid").c_str(), "sword2psxdemo"))
_features = GF_DEMO; _features = GF_DEMO;
else if (!scumm_stricmp(ConfMan.get("gameid").c_str(), "sword2demo-es"))
_features = GF_DEMO | GF_SPANISHDEMO;
else else
_features = 0; _features = 0;

View File

@ -56,7 +56,8 @@ class OSystem;
namespace Sword2 { namespace Sword2 {
enum { enum {
GF_DEMO = 1 << 0 GF_DEMO = 1 << 0,
GF_SPANISHDEMO = 1 << 1
}; };
class MemoryManager; class MemoryManager;