aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_lok.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra_lok.cpp')
-rw-r--r--engines/kyra/kyra_lok.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp
index fcd35e7282..e5ca52abcc 100644
--- a/engines/kyra/kyra_lok.cpp
+++ b/engines/kyra/kyra_lok.cpp
@@ -157,7 +157,10 @@ KyraEngine_LoK::~KyraEngine_LoK() {
}
Common::Error KyraEngine_LoK::init() {
- _screen = new Screen_LoK(this, _system);
+ if (_flags.platform == Common::kPlatformPC98 && _flags.useHiResOverlay && ConfMan.getBool("16_color"))
+ _screen = new Screen_LoK_16(this, _system);
+ else
+ _screen = new Screen_LoK(this, _system);
assert(_screen);
_screen->setResolution();
@@ -358,7 +361,7 @@ void KyraEngine_LoK::startup() {
loadButtonShapes();
initMainButtonList();
loadMainScreen();
- _screen->loadPalette("PALETTE.COL", _screen->_currentPalette);
+ _screen->loadPalette("PALETTE.COL", _screen->getPalette(0));
// XXX
_animator->initAnimStateList();
@@ -906,6 +909,9 @@ void KyraEngine_LoK::registerDefaultSettings() {
// Most settings already have sensible defaults. This one, however, is
// specific to the Kyra engine.
ConfMan.registerDefault("walkspeed", 2);
+
+ if (_flags.platform == Common::kPlatformPC98 && _flags.useHiResOverlay)
+ ConfMan.registerDefault("16_color", false);
}
void KyraEngine_LoK::readSettings() {