aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2013-08-11 14:10:24 -0400
committerPaul Gilbert2013-08-11 14:10:24 -0400
commit9d9833537f98a24b9be37e426917856bb1193be1 (patch)
tree835d855ba39c90e0c826de9aa5ce81be6105c7d8
parent43b729cae8c2f98cb38b94a5f9caf3bd80d8afab (diff)
downloadscummvm-rg350-9d9833537f98a24b9be37e426917856bb1193be1.tar.gz
scummvm-rg350-9d9833537f98a24b9be37e426917856bb1193be1.tar.bz2
scummvm-rg350-9d9833537f98a24b9be37e426917856bb1193be1.zip
TSAGE: Added missing logic for copying foreground to background in R2R scene 1100
-rw-r--r--engines/tsage/core.cpp4
-rw-r--r--engines/tsage/core.h2
-rw-r--r--engines/tsage/ringworld2/ringworld2_logic.cpp2
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes1.cpp4
4 files changed, 6 insertions, 6 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp
index 7ca529f2ed..6b4e2963a5 100644
--- a/engines/tsage/core.cpp
+++ b/engines/tsage/core.cpp
@@ -2762,8 +2762,8 @@ void BackgroundSceneObject::setup2(int visage, int stripFrameNum, int frameNum,
fixPriority(priority);
}
-void BackgroundSceneObject::proc27() {
- warning("STUB: BackgroundSceneObject::proc27()");
+void BackgroundSceneObject::copySceneToBackground() {
+ GLOBALS._sceneManager._scene->_backSurface.copyFrom(g_globals->gfxManager().getSurface(), 0, 0);
}
/*--------------------------------------------------------------------------*/
diff --git a/engines/tsage/core.h b/engines/tsage/core.h
index 1f9d7cd3a5..f7a5a43b16 100644
--- a/engines/tsage/core.h
+++ b/engines/tsage/core.h
@@ -613,7 +613,7 @@ public:
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void draw();
void setup2(int visage, int stripFrameNum, int frameNum, int posX, int posY, int priority, int32 arg10);
- void proc27();
+ static void copySceneToBackground();
};
class SceneText : public SceneObject {
diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index c407aa2c64..cb28d6d60b 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -2066,7 +2066,7 @@ void AnimationPlayer::close() {
_field38 = 0;
if (g_globals != NULL)
- R2_GLOBALS._animationCtr = MAX(R2_GLOBALS._animationCtr - 1, 0);
+ R2_GLOBALS._animationCtr = MAX(R2_GLOBALS._animationCtr, 0);
}
void AnimationPlayer::rleDecode(const byte *pSrc, byte *pDest, int size) {
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index 8d165fba07..6ea53d0852 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -1062,7 +1062,7 @@ void Scene1100::signal() {
setAction(&_sequenceManager1, this, 1105, &R2_GLOBALS._player, &_actor10, &_actor11, &_actor18, NULL);
break;
case 9:
- _object1.proc27();
+ _object1.copySceneToBackground();
_actor15.postInit();
_actor15.setup(1103, 2, 1);
@@ -1076,7 +1076,7 @@ void Scene1100::signal() {
_actor13.setAction(&_sequenceManager2, this, 1108, &_actor13, NULL);
break;
case 11: {
- setAction(&_sequenceManager1, this, 1116, &_actor11, &_actor10, &_actor12, NULL);
+ setAction(&_sequenceManager1, this, 1106, &_actor11, &_actor10, &_actor12, NULL);
R2_GLOBALS._player._effect = 5;
R2_GLOBALS._player.setup(1102, 3, 2);
R2_GLOBALS._player.setPosition(Common::Point(-50, 131));