aboutsummaryrefslogtreecommitdiff
path: root/costume.cpp
diff options
context:
space:
mode:
authorVincent Hamm2002-02-21 23:43:19 +0000
committerVincent Hamm2002-02-21 23:43:19 +0000
commitbb0a9a1a5e84ce1e943ec3df6470cb6219efd924 (patch)
tree458b5994655979f590db5a2511b7ecc866e667a5 /costume.cpp
parent1ba81a102eb9a59165638589f36cac034699188e (diff)
downloadscummvm-rg350-bb0a9a1a5e84ce1e943ec3df6470cb6219efd924.tar.gz
scummvm-rg350-bb0a9a1a5e84ce1e943ec3df6470cb6219efd924.tar.bz2
scummvm-rg350-bb0a9a1a5e84ce1e943ec3df6470cb6219efd924.zip
Fixed indy and zak costumes
svn-id: r3618
Diffstat (limited to 'costume.cpp')
-rw-r--r--costume.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/costume.cpp b/costume.cpp
index 468e056104..95c53f476a 100644
--- a/costume.cpp
+++ b/costume.cpp
@@ -726,7 +726,8 @@ byte CostumeRenderer::drawOneSlot(Actor *a, int slot) {
_srcptr = _loaded._ptr + READ_LE_UINT16(_frameptr + code*2);
if (code != 0x7B) {
- return mainRoutine(a, slot, code);
+ if( _vm->_features & GF_OLD256 && code <0x79)
+ return mainRoutine(a, slot, code);
}
#endif
@@ -786,9 +787,6 @@ void Scumm::cost_decodeData(Actor *a, int frame, uint usemask) {
int anim;
LoadedCostume lc;
- if(_gameId == GID_INDY3_256) /*FIXME*/
- return;
-
loadCostume(&lc, a->costume);
anim = cost_frameToAnim(a, frame);
@@ -813,9 +811,12 @@ void Scumm::cost_decodeData(Actor *a, int frame, uint usemask) {
i = 0;
do {
if (mask&0x8000) {
- if(_features & GF_OLD256) {
+ if(_features & GF_OLD256 ) {
+ j = 0;
j = *(r);
r++;
+ if(j==0xFF)
+ j=0xFFFF;
} else {
j = READ_LE_UINT16(r);
r+=2;