aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/gfx.cpp25
-rw-r--r--scumm/scumm.h1
-rw-r--r--scumm/scummvm.cpp4
3 files changed, 26 insertions, 4 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 310dbcb4b4..9c0b39e0d7 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -2527,6 +2527,25 @@ void Scumm::setShake(int mode) {
#pragma mark --- Palette ---
#pragma mark -
+void Scumm::setupAmigaPalette() {
+ setPalColor( 0, 0, 0, 0);
+ setPalColor( 1, 0, 0, 204);
+ setPalColor( 2, 0, 204, 0);
+ setPalColor( 3, 0, 204, 204);
+ setPalColor( 4, 204, 0, 0);
+ setPalColor( 5, 204, 0, 204);
+ setPalColor( 6, 204, 102, 0);
+ setPalColor( 7, 204, 204, 204);
+ setPalColor( 8, 102, 102, 102);
+ setPalColor( 9, 102, 102, 255);
+ setPalColor(10, 0, 255, 0);
+ setPalColor(11, 0, 255, 255);
+ setPalColor(12, 255, 153, 153);
+ setPalColor(13, 255, 0, 255);
+ setPalColor(14, 255, 255, 0);
+ setPalColor(15, 255, 255, 255);
+}
+
void Scumm::setupEGAPalette() {
setPalColor( 0, 0, 0, 0);
setPalColor( 1, 0, 0, 168);
@@ -2534,16 +2553,14 @@ void Scumm::setupEGAPalette() {
setPalColor( 3, 0, 168, 168);
// setPalColor( 4, 168, 0, 0); // prev value
setPalColor( 4, 189, 0, 0);
- setPalColor( 5, 168, 0, 168); // prev value
-// setPalColor( 5, 189, 0, 189); // Amiga value
+ setPalColor( 5, 168, 0, 168);
setPalColor( 6, 168, 84, 0);
setPalColor( 7, 168, 168, 168);
setPalColor( 8, 84, 84, 84);
setPalColor( 9, 84, 84, 252);
setPalColor(10, 84, 252, 84);
setPalColor(11, 84, 252, 252);
- setPalColor(12, 252, 84, 84); // PC
-// setPalColor(12, 252, 144, 144); // Amiga value gives nicer skin colour
+ setPalColor(12, 252, 84, 84);
setPalColor(13, 252, 84, 252);
setPalColor(14, 252, 252, 84);
setPalColor(15, 252, 252, 252);
diff --git a/scumm/scumm.h b/scumm/scumm.h
index cddd2d8616..50f1627fa8 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -870,6 +870,7 @@ protected:
void actorFollowCamera(int act);
const byte *getPalettePtr();
+ void setupAmigaPalette();
void setupEGAPalette();
void setupC64Palette();
void setPalette(int pal);
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index 40f178bfb9..366dd63348 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -783,6 +783,10 @@ void Scumm::scummInit() {
for (i = 0; i < 16; i++)
_shadowPalette[i] = i;
setupC64Palette();
+ } else if (_features & GF_AMIGA) {
+ for (i = 0; i < 16; i++)
+ _shadowPalette[i] = i;
+ setupAmigaPalette();
} else if (_features & GF_16COLOR) {
for (i = 0; i < 16; i++)
_shadowPalette[i] = i;