[Scummvm-cvs-logs] SF.net SVN: scummvm: [27504] scummvm/trunk/engines/saga
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Sun Jun 17 03:50:50 CEST 2007
Revision: 27504
http://scummvm.svn.sourceforge.net/scummvm/?rev=27504&view=rev
Author: thebluegr
Date: 2007-06-16 18:50:49 -0700 (Sat, 16 Jun 2007)
Log Message:
-----------
Fixed the remaining glitch with fading after a cutaway is shown
Modified Paths:
--------------
scummvm/trunk/engines/saga/animation.cpp
scummvm/trunk/engines/saga/events.cpp
scummvm/trunk/engines/saga/events.h
Modified: scummvm/trunk/engines/saga/animation.cpp
===================================================================
--- scummvm/trunk/engines/saga/animation.cpp 2007-06-17 01:35:28 UTC (rev 27503)
+++ scummvm/trunk/engines/saga/animation.cpp 2007-06-17 01:50:49 UTC (rev 27504)
@@ -236,16 +236,13 @@
event.code = kPalEvent;
event.op = kEventPalToBlack;
event.time = 0;
- event.duration = 5000; //kNormalFadeDuration;
+ event.duration = kNormalFadeDuration;
event.data = cur_pal;
q_event = _vm->_events->queue(&event);
}
- // Note that clearCutaway() sets _cutawayActive to false.
- // clearCutaway();
- // TODO: Clearing the cutaway via an event is better, but it breaks things up
-
+ // Clear the cutaway. Note that this sets _cutawayActive to false
event.type = kEvTImmediate;
event.code = kCutawayEvent;
event.op = kEventClearCutaway;
@@ -268,13 +265,22 @@
q_event = _vm->_events->chain(q_event, &event); // chain with the other events
+ // Draw the scene
+ event.type = kEvTImmediate;
+ event.code = kSceneEvent;
+ event.op = kEventDrawScene;
+ event.time = 0;
+ event.duration = 0;
+
+ q_event = _vm->_events->chain(q_event, &event); // chain with the other events
+
// Handle fade up, if we previously faded down
if (_cutAwayFade) {
event.type = kEvTImmediate;
event.code = kPalEvent;
event.op = kEventBlackToPal;
event.time = 0;
- event.duration = 5000; //kNormalFadeDuration;
+ event.duration = kNormalFadeDuration;
event.data = saved_pal;
q_event = _vm->_events->chain(q_event, &event);
Modified: scummvm/trunk/engines/saga/events.cpp
===================================================================
--- scummvm/trunk/engines/saga/events.cpp 2007-06-17 01:35:28 UTC (rev 27503)
+++ scummvm/trunk/engines/saga/events.cpp 2007-06-17 01:50:49 UTC (rev 27504)
@@ -369,6 +369,19 @@
break;
case kSceneEvent:
switch (event->op) {
+ case kEventDrawScene:
+ {
+ Surface *backGroundSurface;
+ BGInfo bgInfo;
+
+ backBuffer = _vm->_gfx->getBackBuffer();
+ backGroundSurface = _vm->_render->getBackGroundSurface();
+ _vm->_scene->getBGInfo(bgInfo);
+ backGroundSurface->blit(bgInfo.bounds, bgInfo.buffer);
+
+ _vm->_scene->draw();
+ }
+ break;
case kEventEnd:
_vm->_scene->nextScene();
return kEvStBreak;
Modified: scummvm/trunk/engines/saga/events.h
===================================================================
--- scummvm/trunk/engines/saga/events.h 2007-06-17 01:35:28 UTC (rev 27503)
+++ scummvm/trunk/engines/saga/events.h 2007-06-17 01:50:49 UTC (rev 27504)
@@ -78,6 +78,7 @@
kEventPlay = 1,
kEventStop = 2,
// SCENE events
+ kEventDrawScene = 1,
kEventEnd = 2,
// TEXT events
kEventHide = 2,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list