diff options
author | Paweł Kołodziejski | 2003-06-07 10:44:54 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2003-06-07 10:44:54 +0000 |
commit | 395ab54ea976817d5c1ea304968561d4014ddf2a (patch) | |
tree | 60b0fecedf65787995962ee040d2c9ed4b5623ff | |
parent | f1b3e170e9905967c72eb052e45bb6787b4e1516 (diff) | |
download | scummvm-rg350-395ab54ea976817d5c1ea304968561d4014ddf2a.tar.gz scummvm-rg350-395ab54ea976817d5c1ea304968561d4014ddf2a.tar.bz2 scummvm-rg350-395ab54ea976817d5c1ea304968561d4014ddf2a.zip |
some changes for v1 costumes
svn-id: r8380
-rw-r--r-- | scumm/costume.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/scumm/costume.cpp b/scumm/costume.cpp index b0daf2ca3d..43e7d71956 100644 --- a/scumm/costume.cpp +++ b/scumm/costume.cpp @@ -436,7 +436,9 @@ void LoadedCostume::loadCostume(int id) { // Don't forget, these games were designed around a fixed 16 color HW palette :-) // In addition, all offsets are shifted by 2; we accomodate that via a seperate // _baseptr value (instead of adding tons of if's throughout the code). - if (_vm->_features & GF_OLD_BUNDLE) { + if (_vm->_version == 1) + _baseptr += 2; + else if (_vm->_features & GF_OLD_BUNDLE) { _numColors = 1; _baseptr += 2; } @@ -510,7 +512,10 @@ void Scumm::cost_decodeData(Actor *a, int frame, uint usemask) { return; } - r = lc._baseptr + READ_LE_UINT16(lc._ptr + anim * 2 + lc._numColors + 42); + if (_version == 1) + r = lc._baseptr + READ_LE_UINT16(lc._ptr + anim * 2 + lc._numColors + 30); + else + r = lc._baseptr + READ_LE_UINT16(lc._ptr + anim * 2 + lc._numColors + 42); if (r == lc._baseptr) { return; @@ -573,6 +578,8 @@ void CostumeRenderer::setPalette(byte *palette) { memset(_palette, 8, 16); _palette[12] = 0; } + if (_vm->_version == 1) + return; _palette[_loaded._ptr[8]] = _palette[0]; } else { if ((_vm->_features & GF_NEW_OPCODES) || (_vm->VAR(_vm->VAR_CURRENT_LIGHTS) & LIGHTMODE_actor_color)) { |