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)
--aspect-ratio Enable aspect ratio correction
--render-mode=MODE Enable additional render modes (cga, ega, hercGreen
hercAmber)
hercAmber, amiga)
--alt-intro Use alternative intro for CD versions of Beneath a
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"
" --aspect-ratio Enable aspect ratio correction\n"
" --render-mode=MODE Enable additional render modes (cga, ega, hercGreen,\n"
" hercAmber)\n"
" hercAmber, amiga)\n"
"\n"
#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
" --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},
{"cga", "CGA", kRenderCGA},
{"ega", "EGA", kRenderEGA},
{"amiga", "Amiga", kRenderAmiga},
{0, 0, kRenderDefault}
};

View file

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

View file

@ -39,7 +39,7 @@ Usage: scummvm [OPTIONS]... [GAME]\\
--native-mt32 &True Roland MT-32 (disable GM emulation)\\
--output-rate=RATE &Select output sample rate in Hz (e.g. 22050)\\
--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\\
&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;
break;
case Common::kRenderAmiga:
if (!(_features & GF_16COLOR))
_renderMode = Common::kRenderDefault;
break;
default:
break;
}
@ -1318,7 +1323,7 @@ void ScummEngine::scummInit() {
} else if (_features & GF_16COLOR) {
for (i = 0; i < 16; i++)
_shadowPalette[i] = i;
if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST))
if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST) || _renderMode == Common::kRenderAmiga)
setupAmigaPalette();
else if (_renderMode == Common::kRenderHercA || _renderMode == Common::kRenderHercG)
setupHercPalette();