aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorFilippos Karapetis2018-10-23 01:32:26 +0300
committerFilippos Karapetis2018-10-23 01:32:26 +0300
commitef841f615e558fe2f51301712da03072e9194033 (patch)
tree77c743f5a848cfb5c3cc129984453167b14fb365 /engines/sci/engine
parent602b7d816c8a117f22d9e92941d16ab60b56557a (diff)
downloadscummvm-rg350-ef841f615e558fe2f51301712da03072e9194033.tar.gz
scummvm-rg350-ef841f615e558fe2f51301712da03072e9194033.tar.bz2
scummvm-rg350-ef841f615e558fe2f51301712da03072e9194033.zip
SCI32: Always start in the Bridge room in Hoyle 5 Bridge
It's the only game included, so there's no point showing the game selection menu in this case. This follows the behavior of the original
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/kmisc.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp
index db2b31097f..92a9cfaf8b 100644
--- a/engines/sci/engine/kmisc.cpp
+++ b/engines/sci/engine/kmisc.cpp
@@ -415,7 +415,15 @@ reg_t kGetConfig(EngineState *s, int argc, reg_t *argv) {
s->_segMan->strcpy(data, "");
} else if (setting == "game") {
// Hoyle 5 startup, specifies the number of the game to start.
- s->_segMan->strcpy(data, "");
+ if (g_sci->getGameId() == GID_HOYLE5 &&
+ !g_sci->getResMan()->testResource(ResourceId(kResourceTypeScript, 100)) &&
+ g_sci->getResMan()->testResource(ResourceId(kResourceTypeScript, 700))) {
+ // Special case for Hoyle 5 Bridge: only one game is included (Bridge),
+ // so mimic the setting in 700.cfg and set the starting room number to 700.
+ s->_segMan->strcpy(data, "700");
+ } else {
+ s->_segMan->strcpy(data, "");
+ }
} else if (setting == "laptop") {
// Hoyle 5 startup.
s->_segMan->strcpy(data, "");