aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-06-07 10:44:54 +0000
committerPaweł Kołodziejski2003-06-07 10:44:54 +0000
commit395ab54ea976817d5c1ea304968561d4014ddf2a (patch)
tree60b0fecedf65787995962ee040d2c9ed4b5623ff
parentf1b3e170e9905967c72eb052e45bb6787b4e1516 (diff)
downloadscummvm-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.cpp11
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)) {