aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2009-10-30 08:22:53 +0000
committerFilippos Karapetis2009-10-30 08:22:53 +0000
commit87aa24e1740bb9aa957537c5dfe96fa3c0f4fb29 (patch)
tree22ca4daa89499df16602cc8000f6cf73eb9f3e70 /engines
parentafcd186bef64a4ebbfbdad5706434e3d4da1d13e (diff)
downloadscummvm-rg350-87aa24e1740bb9aa957537c5dfe96fa3c0f4fb29.tar.gz
scummvm-rg350-87aa24e1740bb9aa957537c5dfe96fa3c0f4fb29.tar.bz2
scummvm-rg350-87aa24e1740bb9aa957537c5dfe96fa3c0f4fb29.zip
Started porting ReAnimate() from Greg's SCI engine
svn-id: r45526
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/gui/gui_animate.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/engines/sci/gui/gui_animate.cpp b/engines/sci/gui/gui_animate.cpp
index e949dfde15..ec6e8520c7 100644
--- a/engines/sci/gui/gui_animate.cpp
+++ b/engines/sci/gui/gui_animate.cpp
@@ -477,6 +477,38 @@ void SciGuiAnimate::restoreAndDelete(int argc, reg_t *argv) {
void SciGuiAnimate::reAnimate(Common::Rect rect) {
// TODO: implement ReAnimate
_gfx->BitsShow(rect);
+
+ /*
+ _s->_gui->localToGlobal(rect.left, rect.top);
+ _s->_gui->localToGlobal(rect.right, rect.bottom);
+ GuiPort *oldPort = _gfx->SetPort((GuiPort *)_picWind);
+ _s->_gui->globalToLocal(rect.left, rect.top);
+ _s->_gui->globalToLocal(rect.right, rect.bottom);
+
+ if (!_lastCast->isEmpty()) {
+ HEAPHANDLE hnode = _lastCast->getFirst();
+ sciCast *pCast;
+ CResView *res;
+ while (hnode) {
+ pCast = (sciCast *)heap2Ptr(hnode);
+ res = (CResView *)ResMgr.ResLoad(SCI_RES_VIEW, pCast->view);
+ pCast->hSaved = _gfx->SaveBits(pCast->rect, 3);
+ res->drawCel(pCast->loop, pCast->cel, &pCast->rect, pCast->z, pCast->pal);
+ hnode = pCast->node.next;
+ }
+ _gfx->BitsShow(rect);
+ // restoring
+ hnode = _lastCast->getLast();
+ while (hnode) {
+ pCast = (sciCast *)heap2Ptr(hnode);
+ _gfx->BitsShow(pCast->hSaved);
+ hnode = pCast->node.prev;
+ }
+ } else
+ _gfx->BitsShow(rect);
+
+ _gfx->SetPort(oldPort);
+ */
}
void SciGuiAnimate::addToPicDrawCels() {