aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2013-11-27 07:39:16 +0100
committerStrangerke2013-11-27 07:39:16 +0100
commita6ae7d485622b5332914b077a1100cf299f8358d (patch)
tree0c7dc89e8ee77d00275179375f3c998b91db1ca9
parent57f45a76f28f20feb40b55ea2bb0edb7d19f7717 (diff)
downloadscummvm-rg350-a6ae7d485622b5332914b077a1100cf299f8358d.tar.gz
scummvm-rg350-a6ae7d485622b5332914b077a1100cf299f8358d.tar.bz2
scummvm-rg350-a6ae7d485622b5332914b077a1100cf299f8358d.zip
TSAGE: R2R - Fix waitFrames in scene 1337
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes1.cpp18
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes1.h2
2 files changed, 11 insertions, 9 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index f03fb90eaa..87639b5715 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -2264,16 +2264,18 @@ void Scene1337::Action1337::subD18B5(int resNum, int stripNum, int frameNum) {
warning("STUBBED: Action1337::subD18B5()");
}
-void Scene1337::Action1337::waitFrames(int32 skipCount) {
- warning("STUBBED: waitFrames()");
-/*
+void Scene1337::Action1337::waitFrames(int32 frameCount) {
uint32 firstFrameNumber = g_globals->_events.getFrameNumber();
- uint32 tmpFrameNumber = firstFrameNumber;
+ uint32 curFrame = firstFrameNumber;
+ uint32 destFrame = firstFrameNumber + frameCount;
- while (tmpFrameNumber < firstFrameNumber + skipCount)
- tmpFrameNumber = g_globals->_events.getFrameNumber();
-*/
- warning("_eventManager.waitEvent(-1)");
+ while (curFrame < destFrame) {
+ TsAGE::Event event;
+ g_globals->_events.getEvent(event);
+ curFrame = g_globals->_events.getFrameNumber();
+ }
+
+ // CHECKME: The original is calling _eventManager.waitEvent();
}
void Scene1337::Action1::signal() {
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h
index ecc4c1f2ca..ed66f98921 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.h
@@ -214,7 +214,7 @@ class Scene1337 : public SceneExt {
class Action1337: public Action {
public:
void subD18B5(int resNum, int stripNum, int frameNum);
- void waitFrames(int32 skipCount);
+ void waitFrames(int32 frameCount);
};
class Action1: public Action1337 {