From 1b40c5bf55c24a090632765335d871c198004120 Mon Sep 17 00:00:00 2001 From: Peter Kohaut Date: Fri, 28 Oct 2016 22:34:04 +0200 Subject: BLADERUNNER: fixed memory leaks & overflows fixed few memory leaks fixed overflows prepared more logic for looping but its not yet working correctly - still figuring out original code for vqadecoder --- engines/bladerunner/scene.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'engines/bladerunner/scene.h') diff --git a/engines/bladerunner/scene.h b/engines/bladerunner/scene.h index 6a34fcd249..5bc25fc6fc 100644 --- a/engines/bladerunner/scene.h +++ b/engines/bladerunner/scene.h @@ -44,10 +44,10 @@ public: VQAPlayer *_vqaPlayer; int _defaultLoop; - int _defaultLoopSet; - int _field_20_loop_stuff; + bool _defaultLoopSet; int _specialLoopMode; int _specialLoop; + bool _specialLoopAtEnd; int _introFinished; int _nextSetId; int _nextSceneId; @@ -83,9 +83,7 @@ public: delete _set; delete _regions; delete _exits; - if (_vqaPlayer != nullptr) { - delete _vqaPlayer; - } + delete _vqaPlayer; } bool open(int setId, int sceneId, bool isLoadingGame); @@ -109,6 +107,10 @@ public: void objectSetIsObstacleAll(bool isObstacle, bool sceneLoaded); void objectSetIsTarget(int objectId, bool isTarget, bool sceneLoaded); const char *objectGetName(int objectId); + +private: + void loopEnded(int frame, int loopId); + static void loopEndedStatic(void* data, int frame, int loopId); }; } // End of namespace BladeRunner -- cgit v1.2.3