diff options
author | Eugene Sandulenko | 2016-09-04 01:16:45 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-04 01:16:45 +0200 |
commit | 49cfa190df7825cb18b4985866b903ef9d01dcfd (patch) | |
tree | b54445710636e12942775f9e2d6c8db764d7b7f4 /engines/fullpipe | |
parent | 35c18c3811dbb714e39419ca432acf8fdc6d55e3 (diff) | |
download | scummvm-rg350-49cfa190df7825cb18b4985866b903ef9d01dcfd.tar.gz scummvm-rg350-49cfa190df7825cb18b4985866b903ef9d01dcfd.tar.bz2 scummvm-rg350-49cfa190df7825cb18b4985866b903ef9d01dcfd.zip |
FULLPIPE: Fix GameObject::setPicAniInfo(). Now all animations get restored correctly.
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/gfx.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp index eba5d442d5..59c2e41fce 100644 --- a/engines/fullpipe/gfx.cpp +++ b/engines/fullpipe/gfx.cpp @@ -398,18 +398,23 @@ bool GameObject::setPicAniInfo(PicAniInfo *picAniInfo) { return false; } - if (picAniInfo->type & 3) { + if (picAniInfo->type & 2) { setOXY(picAniInfo->ox, picAniInfo->oy); _priority = picAniInfo->priority; _okeyCode = picAniInfo->field_8; setFlags(picAniInfo->flags); _field_8 = picAniInfo->field_24; + + return true; } if (picAniInfo->type & 1) { StaticANIObject *ani = (StaticANIObject *)this; ani->_messageQueueId = (picAniInfo->type >> 16) & 0xffff; + ani->_okeyCode = picAniInfo->field_8; + ani->setFlags(picAniInfo->flags); + ani->_field_8 = picAniInfo->field_24; if (picAniInfo->staticsId) { ani->_statics = ani->getStaticsById(picAniInfo->staticsId); @@ -425,10 +430,15 @@ bool GameObject::setPicAniInfo(PicAniInfo *picAniInfo) { ani->_movement = 0; } + ani->setOXY(picAniInfo->ox, picAniInfo->oy); + ani->_priority = picAniInfo->priority; + ani->setSomeDynamicPhaseIndex(picAniInfo->someDynamicPhaseIndex); + + return true; } - return true; + return false; } Picture::Picture() { |