aboutsummaryrefslogtreecommitdiff
path: root/saga/events.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2004-08-10 23:04:52 +0000
committerEugene Sandulenko2004-08-10 23:04:52 +0000
commitb13fc9f366d45736c3edd04399d2590aa2fb0cf5 (patch)
tree3e565d7af4fea4032fc69cf9291f5e7afb218a1f /saga/events.cpp
parent9956666a7a3740d2732bb1bb76089eb66051073f (diff)
downloadscummvm-rg350-b13fc9f366d45736c3edd04399d2590aa2fb0cf5.tar.gz
scummvm-rg350-b13fc9f366d45736c3edd04399d2590aa2fb0cf5.tar.bz2
scummvm-rg350-b13fc9f366d45736c3edd04399d2590aa2fb0cf5.zip
Improved intro. Now it correctly shows game title.
svn-id: r14544
Diffstat (limited to 'saga/events.cpp')
-rw-r--r--saga/events.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/saga/events.cpp b/saga/events.cpp
index 515fcc16bc..9b4338c95c 100644
--- a/saga/events.cpp
+++ b/saga/events.cpp
@@ -174,7 +174,21 @@ int Events::handleContinuous(R_EVENT *event) {
_vm->_render->getBufferInfo(&buf_info);
_vm->_scene->getBGInfo(&bg_info);
TRANSITION_Dissolve(buf_info.r_bg_buf, buf_info.r_bg_buf_w, buf_info.r_bg_buf_h,
- buf_info.r_bg_buf_w, bg_info.bg_buf, bg_info.bg_p, 0, event_pc);
+ buf_info.r_bg_buf_w, bg_info.bg_buf, bg_info.bg_w,
+ bg_info.bg_h, bg_info.bg_p, 0, 0, 0, event_pc);
+ break;
+ case EVENT_DISSOLVE_BGMASK:
+ // we dissolve it centered.
+ // set flag of Dissolve to 1. It is a hack to simulate zero masking.
+ int w, h;
+ byte *mask_buf;
+ size_t len;
+
+ _vm->_render->getBufferInfo(&buf_info);
+ _vm->_scene->getBGMaskInfo(&w, &h, &mask_buf, &len);
+ TRANSITION_Dissolve(buf_info.r_bg_buf, buf_info.r_bg_buf_w, buf_info.r_bg_buf_h,
+ buf_info.r_bg_buf_w, mask_buf, w, h, 0, 1, (320 - w) / 2,
+ (200 - h) / 2, event_pc);
break;
default:
break;
@@ -269,6 +283,12 @@ int Events::handleOneShot(R_EVENT *event) {
case EVENT_FRAME:
_vm->_anim->play(event->param, event->time);
break;
+ case EVENT_SETFLAG:
+ _vm->_anim->setFlag(event->param, event->param2);
+ break;
+ case EVENT_CLEARFLAG:
+ _vm->_anim->clearFlag(event->param, event->param2);
+ break;
default:
break;
}