[Scummvm-git-logs] scummvm master -> c0aa33528df6cf2e0fae99abdfb0938ec3e8857e
mduggan
noreply at scummvm.org
Fri Jun 10 00:01:33 UTC 2022
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
026ed0d1d5 ULTIMA8: Use ADExtraGuiOptionsMap for all games
c0aa33528d ULTIMA8: The Christmas easter egg in No Regret is not in the demo version
Commit: 026ed0d1d51af3427993fc9c8cc9c2f9e307b028
https://github.com/scummvm/scummvm/commit/026ed0d1d51af3427993fc9c8cc9c2f9e307b028
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-06-10T09:01:29+09:00
Commit Message:
ULTIMA8: Use ADExtraGuiOptionsMap for all games
Changed paths:
engines/ultima/detection.cpp
engines/ultima/detection.h
engines/ultima/detection_tables.h
diff --git a/engines/ultima/detection.cpp b/engines/ultima/detection.cpp
index 4c4e96971f0..ef167e3b70c 100644
--- a/engines/ultima/detection.cpp
+++ b/engines/ultima/detection.cpp
@@ -60,115 +60,118 @@ static const ADExtraGuiOptionsMap optionsList[] = {
0
}
},
- AD_EXTRA_GUI_OPTIONS_TERMINATOR
-};
-
-static const ExtraGuiOption COMMON_OPTIONS[] = {
{
- _s("Enable frame skipping"),
- _s("Allow the game to skip animation frames when running too slow."),
- "frameSkip",
- false,
- 0,
- 0
+ GAMEOPTION_FRAME_SKIPPING,
+ {
+ _s("Enable frame skipping"),
+ _s("Allow the game to skip animation frames when running too slow."),
+ "frameSkip",
+ false,
+ 0,
+ 0
+ }
},
{
- _s("Enable frame limiting"),
- _s("Limits the speed of the game to prevent running too fast."),
- "frameLimit",
- true,
- 0,
- 0
+ GAMEOPTION_FRAME_LIMITING,
+ {
+ _s("Enable frame limiting"),
+ _s("Limits the speed of the game to prevent running too fast."),
+ "frameLimit",
+ true,
+ 0,
+ 0
+ }
},
{
- _s("Enable cheats"),
- _s("Allow cheats by commands and a menu when player is clicked."),
- "cheat",
- false,
- 0,
- 0
+ GAMEOPTION_CHEATS,
+ {
+ _s("Enable cheats"),
+ _s("Allow cheats by commands and a menu when player is clicked."),
+ "cheat",
+ false,
+ 0,
+ 0
+ }
},
{
- _s("Enable high resolution"),
- _s("Enable a higher resolution for the game"),
- "usehighres",
- false,
- 0,
- 0
+ GAMEOPTION_HIGH_RESOLUTION,
+ {
+ _s("Enable high resolution"),
+ _s("Enable a higher resolution for the game"),
+ "usehighres",
+ false,
+ 0,
+ 0
+ }
},
- { nullptr, nullptr, nullptr, false, 0, 0 }
-};
-
-static const ExtraGuiOption U8_OPTIONS[] = {
{
- _s("Play foot step sounds"),
- _s("Plays sound when the player moves."),
- "footsteps",
- true,
- 0,
- 0
+ GAMEOPTION_FOOTSTEP_SOUNDS,
+ {
+ _s("Play foot step sounds"),
+ _s("Plays sound when the player moves."),
+ "footsteps",
+ true,
+ 0,
+ 0
+ }
},
{
- _s("Enable jump to mouse position"),
- _s("Jumping while not moving targets the mouse cursor rather than direction only."),
- "targetedjump",
- true,
- 0,
- 0
+ GAMEOPTION_JUMP_TO_MOUSE,
+ {
+ _s("Enable jump to mouse position"),
+ _s("Jumping while not moving targets the mouse cursor rather than direction only."),
+ "targetedjump",
+ true,
+ 0,
+ 0
+ }
},
{
- _s("Use original save/load screens"),
- _s("Use the original save/load screens instead of the ScummVM ones"),
- "originalsaveload",
- false,
- 0,
- 0
+ GAMEOPTION_FONT_REPLACEMENT,
+ {
+ _s("Enable font replacement"),
+ _s("Replaces game fonts with rendered fonts"),
+ "font_override",
+ false,
+ 0,
+ 0
+ }
},
{
- _s("Enable font replacement"),
- _s("Replaces game fonts with rendered fonts"),
- "font_override",
- false,
- 0,
- 0
+ GAMEOPTION_FONT_ANTIALIASING,
+ {
+ _s("Enable font anti-aliasing"),
+ _s("When font anti-aliasing is enabled, the text is smoother."),
+ "font_antialiasing",
+ false,
+ 0,
+ 0
+ }
},
{
- _s("Enable font anti-aliasing"),
- _s("When font anti-aliasing is enabled, the text is smoother."),
- "font_antialiasing",
- false,
- 0,
- 0
+ GAMEOPTION_CAMERA_WITH_SILENCER,
+ {
+ // I18N: Silencer is the player-character in Crusader games, known as the Avatar in Ultima series.
+ _s("Camera moves with Silencer"),
+ _s("Camera tracks the player movement rather than snapping to defined positions."),
+ "camera_on_player",
+ true,
+ 0,
+ 0
+ }
},
- { nullptr, nullptr, nullptr, false, 0, 0 }
-};
-
-static const ExtraGuiOption CAMERA_WITH_SILENCER = {
- // I18N: Silencer is the player-character in Crusader games, known as the Avatar in Ultima series.
- _s("Camera moves with Silencer"),
- _s("Camera tracks the player movement rather than snapping to defined positions."),
- "camera_on_player",
- true,
- 0,
- 0
-};
-
-static const ExtraGuiOption REMORSE_OPTIONS[] = {
- CAMERA_WITH_SILENCER,
- { nullptr, nullptr, nullptr, false, 0, 0 }
-};
-
-static const ExtraGuiOption REGRET_OPTIONS[] = {
- CAMERA_WITH_SILENCER,
{
- _s("Always enable Christmas easter-egg"),
- _s("Enable the Christmas music at any time of year."),
- "always_christmas",
- true,
- 0,
- 0
+ GAMEOPTION_ALWAYS_CHRISTMAS,
+ {
+ _s("Always enable Christmas easter-egg"),
+ _s("Enable the Christmas music at any time of year."),
+ "always_christmas",
+ true,
+ 0,
+ 0
+ }
},
- { nullptr, nullptr, nullptr, false, 0, 0 }
+ AD_EXTRA_GUI_OPTIONS_TERMINATOR
};
} // End of namespace Ultima
@@ -180,46 +183,4 @@ UltimaMetaEngineDetection::UltimaMetaEngineDetection() : AdvancedMetaEngineDetec
_directoryGlobs = DIRECTORY_GLOBS;
}
-Common::String UltimaMetaEngineDetection::getGameId(const Common::String& target) {
- // Store a copy of the active domain
- Common::String currDomain = ConfMan.getActiveDomainName();
-
- // Switch to the given target domain and get it's game Id
- ConfMan.setActiveDomain(target);
- Common::String gameId = ConfMan.get("gameid");
-
- // Switch back to the original domain and return the game Id
- ConfMan.setActiveDomain(currDomain);
- return gameId;
-}
-
-const ExtraGuiOptions UltimaMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
- // TODO: Use ADExtraGuiOptionsMap for all games
- const Common::String gameId = getGameId(target);
- if (gameId == "ultima8" || gameId == "remorse" || gameId == "regret") {
- ExtraGuiOptions options;
-
- for (const ExtraGuiOption *o = Ultima::COMMON_OPTIONS; o->configOption; ++o) {
- options.push_back(*o);
- }
-
- // Game specific options
- const ExtraGuiOption *game_options;
- if (gameId == "ultima8")
- game_options = Ultima::U8_OPTIONS;
- else if (gameId == "remorse")
- game_options = Ultima::REMORSE_OPTIONS;
- else
- game_options = Ultima::REGRET_OPTIONS;
-
- for (const ExtraGuiOption *o = game_options; o->configOption; ++o) {
- options.push_back(*o);
- }
-
- return options;
- }
-
- return MetaEngineDetection::getExtraGuiOptions(gameId);
-}
-
REGISTER_PLUGIN_STATIC(ULTIMA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, UltimaMetaEngineDetection);
diff --git a/engines/ultima/detection.h b/engines/ultima/detection.h
index 5cd3145fc20..d016b1e8624 100644
--- a/engines/ultima/detection.h
+++ b/engines/ultima/detection.h
@@ -86,11 +86,6 @@ public:
const char *getOriginalCopyright() const override {
return "Ultima Games (C) 1980-1995 Origin Systems Inc.";
}
-
- const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
-
-private:
- static Common::String getGameId(const Common::String& target);
};
#endif
diff --git a/engines/ultima/detection_tables.h b/engines/ultima/detection_tables.h
index 09da7f2b020..05c312726d0 100644
--- a/engines/ultima/detection_tables.h
+++ b/engines/ultima/detection_tables.h
@@ -22,8 +22,25 @@
namespace Ultima {
#define GAMEOPTION_ORIGINAL_SAVELOAD GUIO_GAMEOPTIONS1
-
-#define GUI_OPTIONS_ULTIMA8 GUIO1(GAMEOPTION_ORIGINAL_SAVELOAD)
+#define GAMEOPTION_FRAME_SKIPPING GUIO_GAMEOPTIONS2
+#define GAMEOPTION_FRAME_LIMITING GUIO_GAMEOPTIONS3
+#define GAMEOPTION_CHEATS GUIO_GAMEOPTIONS4
+#define GAMEOPTION_HIGH_RESOLUTION GUIO_GAMEOPTIONS5
+#define GAMEOPTION_FOOTSTEP_SOUNDS GUIO_GAMEOPTIONS6
+#define GAMEOPTION_JUMP_TO_MOUSE GUIO_GAMEOPTIONS7
+#define GAMEOPTION_FONT_REPLACEMENT GUIO_GAMEOPTIONS8
+#define GAMEOPTION_FONT_ANTIALIASING GUIO_GAMEOPTIONS9
+#define GAMEOPTION_CAMERA_WITH_SILENCER GUIO_GAMEOPTIONS10
+#define GAMEOPTION_ALWAYS_CHRISTMAS GUIO_GAMEOPTIONS11
+
+#define GUI_OPTIONS_ULTIMA1 GUIO0()
+#define GUI_OPTIONS_ULTIMA4 GUIO1(GUIO_NOSPEECH)
+#define GUI_OPTIONS_ULTIMA6 GUIO0()
+#define GUI_OPTIONS_ULTIMA8 GUIO5(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION)
+#define GUI_OPTIONS_REMORSE GUIO6(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER)
+#define GUI_OPTIONS_REGRET GUIO7(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER, GAMEOPTION_ALWAYS_CHRISTMAS)
+#define GUI_OPTIONS_MARTIAN_DREAMS GUIO0()
+#define GUI_OPTIONS_SAVAGE_EMPIRE GUIO0()
static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
#ifndef RELEASE_BUILD
@@ -41,7 +58,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_ULTIMA1
},
GAME_ULTIMA1,
GF_VGA_ENHANCED
@@ -57,7 +74,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::JA_JPN,
Common::kPlatformPC98,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_ULTIMA1
},
GAME_ULTIMA1,
0
@@ -72,7 +89,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_ULTIMA1
},
GAME_ULTIMA1,
0
@@ -88,7 +105,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO1(GUIO_NOSPEECH)
+ GUI_OPTIONS_ULTIMA4
},
GAME_ULTIMA4,
0
@@ -103,7 +120,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO1(GUIO_NOSPEECH)
+ GUI_OPTIONS_ULTIMA4
},
GAME_ULTIMA4,
GF_VGA_ENHANCED
@@ -118,7 +135,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
0
@@ -133,7 +150,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
GF_VGA_ENHANCED
@@ -149,7 +166,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::DE_DEU,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
0
@@ -165,7 +182,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::DE_DEU,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
GF_VGA_ENHANCED
@@ -181,7 +198,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::DE_DEU,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
0
@@ -196,7 +213,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::JA_JPN,
Common::kPlatformPC98,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
0
@@ -211,7 +228,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
0
@@ -224,7 +241,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
GF_VGA_ENHANCED
@@ -239,7 +256,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
0
@@ -252,7 +269,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
- GUIO0()
+ GUI_OPTIONS_ULTIMA6
},
GAME_ULTIMA6,
GF_VGA_ENHANCED
@@ -401,7 +418,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_USECODE_DEFAULT,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -416,7 +433,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -431,7 +448,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE | ADGF_USECODE_ORIG,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -446,7 +463,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::FR_FRA,
Common::kPlatformDOS,
ADGF_UNSTABLE | ADGF_USECODE_FR,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -461,7 +478,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::ES_ESP,
Common::kPlatformDOS,
ADGF_USECODE_ES,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -476,7 +493,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::ES_ESP,
Common::kPlatformDOS,
ADGF_USECODE_DEFAULT,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -491,7 +508,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::JA_JPN,
Common::kPlatformWindows,
ADGF_UNSTABLE | ADGF_USECODE_JA,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -506,7 +523,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_DEMO,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REMORSE
},
GAME_CRUSADER_REM,
0
@@ -521,7 +538,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE | ADGF_USECODE_DEFAULT,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REGRET
},
GAME_CRUSADER_REG,
0
@@ -536,7 +553,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::DE_DEU,
Common::kPlatformDOS,
ADGF_UNSTABLE | ADGF_USECODE_DE,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REGRET
},
GAME_CRUSADER_REG,
0
@@ -551,7 +568,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE | ADGF_DEMO,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REGRET
},
GAME_CRUSADER_REG,
0
@@ -566,7 +583,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::ES_ESP,
Common::kPlatformDOS,
ADGF_UNSTABLE | ADGF_USECODE_ES,
- GUIO1(GUIO_NOMIDI)
+ GUI_OPTIONS_REGRET
},
GAME_CRUSADER_REG,
0
@@ -581,7 +598,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_MARTIAN_DREAMS
},
GAME_MARTIAN_DREAMS,
0
@@ -596,7 +613,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_MARTIAN_DREAMS
},
GAME_MARTIAN_DREAMS,
GF_VGA_ENHANCED
@@ -612,7 +629,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_SAVAGE_EMPIRE
},
GAME_SAVAGE_EMPIRE,
0
@@ -627,7 +644,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_SAVAGE_EMPIRE
},
GAME_SAVAGE_EMPIRE,
GF_VGA_ENHANCED
@@ -642,7 +659,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_SAVAGE_EMPIRE
},
GAME_SAVAGE_EMPIRE,
0
@@ -657,7 +674,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE,
- GUIO0()
+ GUI_OPTIONS_SAVAGE_EMPIRE
},
GAME_SAVAGE_EMPIRE,
GF_VGA_ENHANCED
Commit: c0aa33528df6cf2e0fae99abdfb0938ec3e8857e
https://github.com/scummvm/scummvm/commit/c0aa33528df6cf2e0fae99abdfb0938ec3e8857e
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-06-10T09:01:29+09:00
Commit Message:
ULTIMA8: The Christmas easter egg in No Regret is not in the demo version
Changed paths:
engines/ultima/detection_tables.h
engines/ultima/ultima8/audio/cru_music_process.cpp
engines/ultima/ultima8/ultima8.h
diff --git a/engines/ultima/detection_tables.h b/engines/ultima/detection_tables.h
index 05c312726d0..b24c00e1039 100644
--- a/engines/ultima/detection_tables.h
+++ b/engines/ultima/detection_tables.h
@@ -39,6 +39,7 @@ namespace Ultima {
#define GUI_OPTIONS_ULTIMA8 GUIO5(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION)
#define GUI_OPTIONS_REMORSE GUIO6(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER)
#define GUI_OPTIONS_REGRET GUIO7(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER, GAMEOPTION_ALWAYS_CHRISTMAS)
+#define GUI_OPTIONS_REGRET_DEMO GUIO6(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER)
#define GUI_OPTIONS_MARTIAN_DREAMS GUIO0()
#define GUI_OPTIONS_SAVAGE_EMPIRE GUIO0()
@@ -568,7 +569,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_UNSTABLE | ADGF_DEMO,
- GUI_OPTIONS_REGRET
+ GUI_OPTIONS_REGRET_DEMO
},
GAME_CRUSADER_REG,
0
diff --git a/engines/ultima/ultima8/audio/cru_music_process.cpp b/engines/ultima/ultima8/audio/cru_music_process.cpp
index c0f8a515dbc..e76f50e9b13 100644
--- a/engines/ultima/ultima8/audio/cru_music_process.cpp
+++ b/engines/ultima/ultima8/audio/cru_music_process.cpp
@@ -119,10 +119,12 @@ void CruMusicProcess::playMusic(int track) {
}
// Regret has a Christmas music easter egg.
- TimeDate t;
- g_system->getTimeAndDate(t);
- if ((t.tm_mon == 11 && t.tm_mday >= 24) || ConfMan.getBool("always_christmas")) {
- track = 22;
+ if (!GAME_IS_DEMO) {
+ TimeDate t;
+ g_system->getTimeAndDate(t);
+ if ((t.tm_mon == 11 && t.tm_mday >= 24) || ConfMan.getBool("always_christmas")) {
+ track = 22;
+ }
}
}
playMusic_internal(track);
diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h
index bb00ddb2b23..f53b8490300 100644
--- a/engines/ultima/ultima8/ultima8.h
+++ b/engines/ultima/ultima8/ultima8.h
@@ -61,6 +61,7 @@ struct GameInfo;
#define GAME_IS_REMORSE (Ultima8Engine::get_instance()->getGameInfo()->_type == GameInfo::GAME_REMORSE)
#define GAME_IS_REGRET (Ultima8Engine::get_instance()->getGameInfo()->_type == GameInfo::GAME_REGRET)
#define GAME_IS_CRUSADER (GAME_IS_REMORSE || GAME_IS_REGRET)
+#define GAME_IS_DEMO (Ultima8Engine::get_instance()->getGameInfo()->_ucOffVariant == GameInfo::GAME_UC_DEMO)
class Ultima8Engine : public Shared::UltimaEngine {
friend class Debugger;
More information about the Scummvm-git-logs
mailing list