aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTorbjörn Andersson2006-05-18 13:18:02 +0000
committerTorbjörn Andersson2006-05-18 13:18:02 +0000
commit5c1f91eed42aab58f022ca82066c91e5a672131c (patch)
tree9af4ffe72d4549432d0847db1237837632bc1ea8 /engines
parentc65d45146cf6ccaea20218c030b3a11dbcfd1f02 (diff)
downloadscummvm-rg350-5c1f91eed42aab58f022ca82066c91e5a672131c.tar.gz
scummvm-rg350-5c1f91eed42aab58f022ca82066c91e5a672131c.tar.bz2
scummvm-rg350-5c1f91eed42aab58f022ca82066c91e5a672131c.zip
Allow changing scaler while playing MPEG cutscenes.
svn-id: r22515
Diffstat (limited to 'engines')
-rw-r--r--engines/sword1/animation.cpp17
-rw-r--r--engines/sword1/animation.h4
-rw-r--r--engines/sword2/animation.cpp27
-rw-r--r--engines/sword2/animation.h4
4 files changed, 2 insertions, 50 deletions
diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp
index 9d0fbb7788..1697590e17 100644
--- a/engines/sword1/animation.cpp
+++ b/engines/sword1/animation.cpp
@@ -58,19 +58,6 @@ void AnimationState::drawYUV(int width, int height, byte *const *dat) {
#endif
}
-void AnimationState::updateScreen(void) {
-#ifndef BACKEND_8BIT
- int width = _movieScale * _frameWidth;
- int height = _movieScale * _frameHeight;
- int pitch = _movieScale * _movieWidth;
- int x = _movieScale * ((_movieWidth - _frameWidth) / 2);
- int y = _movieScale * ((_movieHeight - _frameHeight) / 2);
-
- _sys->copyRectToOverlay(_overlay + y * pitch + x, pitch, x, y + _movieScale * 40, width, height);
-#endif
- _sys->updateScreen();
-}
-
OverlayColor *AnimationState::giveRgbBuffer(void) {
#ifdef BACKEND_8BIT
return NULL;
@@ -153,11 +140,9 @@ void MoviePlayer::play(uint32 id) {
OSystem::Event event;
while (_sys->pollEvent(event)) {
switch (event.type) {
-#ifndef BACKEND_8BIT
case OSystem::EVENT_SCREEN_CHANGED:
- anim->buildLookup();
+ anim->screenChanged();
break;
-#endif
case OSystem::EVENT_KEYDOWN:
if (event.kbd.keycode == 27) {
delete anim;
diff --git a/engines/sword1/animation.h b/engines/sword1/animation.h
index 6e1fa11c3d..f49245153b 100644
--- a/engines/sword1/animation.h
+++ b/engines/sword1/animation.h
@@ -61,13 +61,9 @@ class AnimationState : public Graphics::BaseAnimationState {
private:
Screen *_scr;
- int _frameWidth;
- int _frameHeight;
-
public:
AnimationState(Screen *scr, Audio::Mixer *snd, OSystem *sys);
~AnimationState();
- void updateScreen();
OverlayColor *giveRgbBuffer(void);
bool soundFinished();
diff --git a/engines/sword2/animation.cpp b/engines/sword2/animation.cpp
index e8d17e88b0..b1ad009a86 100644
--- a/engines/sword2/animation.cpp
+++ b/engines/sword2/animation.cpp
@@ -114,29 +114,6 @@ void AnimationState::clearScreen() {
#endif
}
-void AnimationState::updateScreen() {
- int x, y;
-
- x = (_movieWidth - _frameWidth) / 2;
- y = (_movieHeight - _frameHeight) / 2;
-
-#ifdef BACKEND_8BIT
- byte *buf = _vm->_screen->getScreen() + y * RENDERWIDE + x;
-
- _vm->_system->copyRectToScreen(buf, _movieWidth, (640 - _movieWidth) / 2, (480 - _movieHeight) / 2, _movieWidth, _movieHeight);
-#else
- int width = _movieScale * _frameWidth;
- int height = _movieScale * _frameHeight;
- int pitch = _movieScale * _movieWidth;
-
- x *= _movieScale;
- y *= _movieScale;
-
- _sys->copyRectToOverlay(_overlay + y * pitch + x, pitch, x, y, width, height);
-#endif
- _vm->_system->updateScreen();
-}
-
void AnimationState::drawYUV(int width, int height, byte *const *dat) {
_frameWidth = width;
_frameHeight = height;
@@ -350,11 +327,9 @@ void MoviePlayer::playMPEG(const char *filename, MovieTextObject *text[], byte *
OSystem::Event event;
while (_sys->pollEvent(event)) {
switch (event.type) {
-#ifndef BACKEND_8BIT
case OSystem::EVENT_SCREEN_CHANGED:
- anim->buildLookup();
+ anim->screenChanged();
break;
-#endif
case OSystem::EVENT_KEYDOWN:
if (event.kbd.keycode == 27)
skipCutscene = true;
diff --git a/engines/sword2/animation.h b/engines/sword2/animation.h
index 960721b8a1..32598c013d 100644
--- a/engines/sword2/animation.h
+++ b/engines/sword2/animation.h
@@ -45,9 +45,6 @@ class AnimationState : public ::Graphics::BaseAnimationState {
private:
Sword2Engine *_vm;
- int _frameWidth;
- int _frameHeight;
-
public:
AnimationState(Sword2Engine *vm);
~AnimationState();
@@ -57,7 +54,6 @@ public:
#endif
void clearScreen();
- void updateScreen();
private:
void drawYUV(int width, int height, byte *const *dat);