From 49cfa190df7825cb18b4985866b903ef9d01dcfd Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 4 Sep 2016 01:16:45 +0200 Subject: FULLPIPE: Fix GameObject::setPicAniInfo(). Now all animations get restored correctly. --- engines/fullpipe/gfx.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'engines/fullpipe') 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() { -- cgit v1.2.3