Add Amiga renderer mode for EGA games.

svn-id: r17019
This commit is contained in:
Travis Howell 2005-03-07 00:39:48 +00:00
parent 7dd8a39ad0
commit 07aa92063a
6 changed files with 12 additions and 5 deletions

2
README
View file

@ -374,7 +374,7 @@ arguments - see the next section.
--output-rate=RATE Select output sample rate in Hz (e.g. 22050) --output-rate=RATE Select output sample rate in Hz (e.g. 22050)
--aspect-ratio Enable aspect ratio correction --aspect-ratio Enable aspect ratio correction
--render-mode=MODE Enable additional render modes (cga, ega, hercGreen --render-mode=MODE Enable additional render modes (cga, ega, hercGreen
hercAmber) hercAmber, amiga)
--alt-intro Use alternative intro for CD versions of Beneath a --alt-intro Use alternative intro for CD versions of Beneath a
Steel Sky and Flight of the Amazon Queen Steel Sky and Flight of the Amazon Queen

View file

@ -97,7 +97,7 @@ static const char USAGE_STRING[] =
" --output-rate=RATE Select output sample rate in Hz (e.g. 22050)\n" " --output-rate=RATE Select output sample rate in Hz (e.g. 22050)\n"
" --aspect-ratio Enable aspect ratio correction\n" " --aspect-ratio Enable aspect ratio correction\n"
" --render-mode=MODE Enable additional render modes (cga, ega, hercGreen,\n" " --render-mode=MODE Enable additional render modes (cga, ega, hercGreen,\n"
" hercAmber)\n" " hercAmber, amiga)\n"
"\n" "\n"
#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN) #if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
" --alt-intro Use alternative intro for CD versions of Beneath a\n" " --alt-intro Use alternative intro for CD versions of Beneath a\n"

View file

@ -226,6 +226,7 @@ const RenderModeDescription g_renderModes[] = {
{"hercAmber", "Hercules Amber", kRenderHercA}, {"hercAmber", "Hercules Amber", kRenderHercA},
{"cga", "CGA", kRenderCGA}, {"cga", "CGA", kRenderCGA},
{"ega", "EGA", kRenderEGA}, {"ega", "EGA", kRenderEGA},
{"amiga", "Amiga", kRenderAmiga},
{0, 0, kRenderDefault} {0, 0, kRenderDefault}
}; };

View file

@ -163,7 +163,8 @@ enum RenderMode {
kRenderEGA = 1, kRenderEGA = 1,
kRenderCGA = 2, kRenderCGA = 2,
kRenderHercG = 3, kRenderHercG = 3,
kRenderHercA = 4 kRenderHercA = 4,
kRenderAmiga = 5
}; };
enum HerculesDimesnions { enum HerculesDimesnions {

View file

@ -39,7 +39,7 @@ Usage: scummvm [OPTIONS]... [GAME]\\
--native-mt32 &True Roland MT-32 (disable GM emulation)\\ --native-mt32 &True Roland MT-32 (disable GM emulation)\\
--output-rate=RATE &Select output sample rate in Hz (e.g. 22050)\\ --output-rate=RATE &Select output sample rate in Hz (e.g. 22050)\\
--aspect-ratio &Enable aspect ratio correction\\ --aspect-ratio &Enable aspect ratio correction\\
--render-mode=MODE &Enable additional render modes (cga, ega, hercGreen, hercAmber)\\ --render-mode=MODE &Enable additional render modes (cga, ega, hercGreen, hercAmber, amiga)\\
\\ \\
--alt-intro &Use alternative intro for CD versions of Beneath a\\ --alt-intro &Use alternative intro for CD versions of Beneath a\\
&Steel Sky and Flight of the Amazon Queen\\ &Steel Sky and Flight of the Amazon Queen\\

View file

@ -1039,6 +1039,11 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
_renderMode = Common::kRenderDefault; _renderMode = Common::kRenderDefault;
break; break;
case Common::kRenderAmiga:
if (!(_features & GF_16COLOR))
_renderMode = Common::kRenderDefault;
break;
default: default:
break; break;
} }
@ -1318,7 +1323,7 @@ void ScummEngine::scummInit() {
} else if (_features & GF_16COLOR) { } else if (_features & GF_16COLOR) {
for (i = 0; i < 16; i++) for (i = 0; i < 16; i++)
_shadowPalette[i] = i; _shadowPalette[i] = i;
if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST)) if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST) || _renderMode == Common::kRenderAmiga)
setupAmigaPalette(); setupAmigaPalette();
else if (_renderMode == Common::kRenderHercA || _renderMode == Common::kRenderHercG) else if (_renderMode == Common::kRenderHercA || _renderMode == Common::kRenderHercG)
setupHercPalette(); setupHercPalette();