aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sprites.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2007-01-31 23:48:12 +0000
committerJohannes Schickel2007-01-31 23:48:12 +0000
commit69788f3d70c7db865fadfce9247dd572cb7f2da1 (patch)
treef74cf016580682232835963b90bf6861ecd890cd /engines/kyra/sprites.cpp
parentfd0e90588dc158911a35fe55a1bd4da76a708d35 (diff)
downloadscummvm-rg350-69788f3d70c7db865fadfce9247dd572cb7f2da1.tar.gz
scummvm-rg350-69788f3d70c7db865fadfce9247dd572cb7f2da1.tar.bz2
scummvm-rg350-69788f3d70c7db865fadfce9247dd572cb7f2da1.zip
Some changes to be closer to the original with palette handling.
svn-id: r25316
Diffstat (limited to 'engines/kyra/sprites.cpp')
-rw-r--r--engines/kyra/sprites.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/kyra/sprites.cpp b/engines/kyra/sprites.cpp
index da2f99df8a..85cb1ea372 100644
--- a/engines/kyra/sprites.cpp
+++ b/engines/kyra/sprites.cpp
@@ -415,10 +415,15 @@ void Sprites::loadDAT(const char *filename, SceneExits &exits) {
_engine->_northExitHeight = READ_LE_UINT16(_dat + 0x15);
if (_engine->_northExitHeight & 1)
_engine->_northExitHeight += 1;
+
+ if (_engine->queryGameFlag(0xA0)) {
+ memcpy(_screen->getPalette(1), _screen->getPalette(3), 768);
+ } else {
+ memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
+ }
// XXX
- memcpy(_screen->_currentPalette + 744 - 60, _dat + 0x17, 60);
_engine->_paletteChanged = 1;
- memcpy(_screen->getPalette(1), _screen->_currentPalette, sizeof(uint8)*768);
+ memcpy(_screen->getPalette(1) + 684, _dat + 0x17, 60);
uint8 *data = _dat + 0x6B;
uint16 length = READ_LE_UINT16(data);