aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Lange2009-06-19 11:24:06 +0000
committerNorbert Lange2009-06-19 11:24:06 +0000
commitc3596c184b032744d0a6d0d72879dcde854ec93e (patch)
treefb2cf662f95d6ae1cc99a4ab20304c11c9171b6e
parent6126341755d37d2238fe0ce5467f629cb32229e7 (diff)
downloadscummvm-rg350-c3596c184b032744d0a6d0d72879dcde854ec93e.tar.gz
scummvm-rg350-c3596c184b032744d0a6d0d72879dcde854ec93e.tar.bz2
scummvm-rg350-c3596c184b032744d0a6d0d72879dcde854ec93e.zip
Ugly hack for fixing color palette
svn-id: r41672
-rw-r--r--engines/scumm/palette.cpp23
-rw-r--r--sound/mods/tfmx.cpp2
-rw-r--r--sound/mods/tfmx.h2
3 files changed, 24 insertions, 3 deletions
diff --git a/engines/scumm/palette.cpp b/engines/scumm/palette.cpp
index a2cd4a0d4d..8d8511f059 100644
--- a/engines/scumm/palette.cpp
+++ b/engines/scumm/palette.cpp
@@ -167,7 +167,7 @@ void ScummEngine::setNESPalette() {
setPalColor(0x3E,0x00,0x00,0x00);
setPalColor(0x3F,0x00,0x00,0x00);
}
-
+/*
void ScummEngine::setAmigaPalette() {
setPalColor( 0, 0, 0, 0);
setPalColor( 1, 0, 0, 187);
@@ -185,6 +185,25 @@ void ScummEngine::setAmigaPalette() {
setPalColor(13, 255, 0, 255);
setPalColor(14, 255, 255, 0);
setPalColor(15, 255, 255, 255);
+} */
+
+void ScummEngine::setAmigaPalette() {
+ setPalColor( 0, 0, 0, 0);
+ setPalColor( 1, 0, 0, 170);
+ setPalColor( 2, 0, 136, 34);
+ setPalColor( 3, 0, 102, 119);
+ setPalColor( 4, 187, 102, 102);
+ setPalColor( 5, 170, 34, 170);
+ setPalColor( 6, 136, 85, 34);
+ setPalColor( 7, 119, 119, 119);
+ setPalColor( 8, 51, 51, 51);
+ setPalColor( 9, 34, 85, 221);
+ setPalColor(10, 34, 221, 68);
+ setPalColor(11, 0, 204, 255);
+ setPalColor(12, 255, 153, 153);
+ setPalColor(13, 255, 85, 255);
+ setPalColor(14, 255, 255, 119);
+ setPalColor(15, 255, 255, 255);
}
void ScummEngine::setHercPalette() {
@@ -302,6 +321,8 @@ void ScummEngine::setPaletteFromPtr(const byte *ptr, int numcolor) {
memcpy(_darkenPalette, _currentPalette, 768);
}
+ setAmigaPalette();
+
setDirtyColors(0, numcolor - 1);
}
diff --git a/sound/mods/tfmx.cpp b/sound/mods/tfmx.cpp
index a43e330908..7272848ae1 100644
--- a/sound/mods/tfmx.cpp
+++ b/sound/mods/tfmx.cpp
@@ -211,7 +211,7 @@ FORCEINLINE bool Tfmx::macroStep(ChannelContext &channel) {
case 0x13: // DMA Off. Parameters: deferWait, addset, vol
// TODO: implement PArameters
Paula::disableChannel(channel.paulaChannel);
- channel.deferWait = macroPtr[1] >= 1;
+ channel.deferWait = (macroPtr[1] != 0);
if (channel.deferWait) {
// if set, then we expect a DMA On in the same tick.
channel.period = 4;
diff --git a/sound/mods/tfmx.h b/sound/mods/tfmx.h
index 37c71e8b38..bcb25fbf8b 100644
--- a/sound/mods/tfmx.h
+++ b/sound/mods/tfmx.h
@@ -144,7 +144,7 @@ public:
uint8 relVol;
uint8 note;
uint8 prevNote;
- int16 fineTune;
+ int16 fineTune; // always a signextended byte
uint8 portaSkip;
uint8 portaCount;