diff options
author | Johannes Schickel | 2007-01-31 23:48:12 +0000 |
---|---|---|
committer | Johannes Schickel | 2007-01-31 23:48:12 +0000 |
commit | 69788f3d70c7db865fadfce9247dd572cb7f2da1 (patch) | |
tree | f74cf016580682232835963b90bf6861ecd890cd /engines/kyra/sprites.cpp | |
parent | fd0e90588dc158911a35fe55a1bd4da76a708d35 (diff) | |
download | scummvm-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.cpp | 9 |
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); |