aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorAndrei Prykhodko2019-05-08 12:01:22 +0300
committerAndrei Prykhodko2019-05-08 12:01:22 +0300
commit3c67ce0eed26712946244d06e119ee398562a704 (patch)
treedc3266ceb7cecced0a6316119d8c46fc081d5a01 /engines
parent711b7399a07d602df1b33f98a4b2225770b51c30 (diff)
downloadscummvm-rg350-3c67ce0eed26712946244d06e119ee398562a704.tar.gz
scummvm-rg350-3c67ce0eed26712946244d06e119ee398562a704.tar.bz2
scummvm-rg350-3c67ce0eed26712946244d06e119ee398562a704.zip
PINK: removed usage of global variable
Diffstat (limited to 'engines')
-rw-r--r--engines/pink/objects/actions/action_play_with_sfx.cpp5
-rw-r--r--engines/pink/objects/actions/action_play_with_sfx.h2
-rw-r--r--engines/pink/objects/sequences/sequencer.cpp15
-rw-r--r--engines/pink/objects/sequences/sequencer.h2
4 files changed, 11 insertions, 13 deletions
diff --git a/engines/pink/objects/actions/action_play_with_sfx.cpp b/engines/pink/objects/actions/action_play_with_sfx.cpp
index 3064215fd3..0ebb869411 100644
--- a/engines/pink/objects/actions/action_play_with_sfx.cpp
+++ b/engines/pink/objects/actions/action_play_with_sfx.cpp
@@ -26,11 +26,10 @@
#include "pink/objects/actors/actor.h"
#include "pink/objects/actions/action_play_with_sfx.h"
#include "pink/objects/pages/game_page.h"
+#include "pink/objects/sequences/sequencer.h"
namespace Pink {
-bool g_skipping = false; // FIXME: non-const global var
-
ActionPlayWithSfx::~ActionPlayWithSfx() {
ActionPlay::end();
for (uint i = 0; i < _sfxArray.size(); ++i) {
@@ -77,7 +76,7 @@ void ActionPlayWithSfx::end() {
ActionCEL::end();
debugC(6, kPinkDebugActions, "ActionPlayWithSfx %s of Actor %s is ended", _name.c_str(), _actor->getName().c_str());
// original bug fix
- if (g_skipping) {
+ if (_actor->getPage()->getSequencer()->isSkipping()) {
for (uint i = 0; i < _sfxArray.size(); ++i) {
_sfxArray[i]->end();
}
diff --git a/engines/pink/objects/actions/action_play_with_sfx.h b/engines/pink/objects/actions/action_play_with_sfx.h
index 16d1855584..d595bc1069 100644
--- a/engines/pink/objects/actions/action_play_with_sfx.h
+++ b/engines/pink/objects/actions/action_play_with_sfx.h
@@ -28,8 +28,6 @@
namespace Pink {
-extern bool g_skipping;
-
class ActionSfx;
class ActionPlayWithSfx : public ActionPlay {
diff --git a/engines/pink/objects/sequences/sequencer.cpp b/engines/pink/objects/sequences/sequencer.cpp
index df5522de54..437f6b956e 100644
--- a/engines/pink/objects/sequences/sequencer.cpp
+++ b/engines/pink/objects/sequences/sequencer.cpp
@@ -24,7 +24,6 @@
#include "pink/archive.h"
#include "pink/pink.h"
-#include "pink/objects/actions/action_play_with_sfx.h"
#include "pink/objects/actors/lead_actor.h"
#include "pink/objects/pages/game_page.h"
#include "pink/objects/sequences/sequencer.h"
@@ -35,7 +34,7 @@
namespace Pink {
Sequencer::Sequencer(GamePage *page)
- : _context(nullptr), _page(page), _time(0) {}
+ : _context(nullptr), _page(page), _time(0), _isSkipping(false) {}
Sequencer::~Sequencer() {
for (uint i = 0; i < _sequences.size(); ++i) {
@@ -145,25 +144,25 @@ void Sequencer::removeContext(SequenceContext *context) {
void Sequencer::skipSubSequence() {
if (_context) {
- g_skipping = true;
+ _isSkipping = true;
_context->getSequence()->skipSubSequence();
- g_skipping = false;
+ _isSkipping = false;
}
}
void Sequencer::restartSequence() {
if (_context) {
- g_skipping = true;
+ _isSkipping = true;
_context->getSequence()->restart();
- g_skipping = false;
+ _isSkipping = false;
}
}
void Sequencer::skipSequence() {
if (_context && _context->getSequence()->isSkippingAllowed()) {
- g_skipping = true;
+ _isSkipping = true;
_context->getSequence()->skip();
- g_skipping = false;
+ _isSkipping = false;
}
}
diff --git a/engines/pink/objects/sequences/sequencer.h b/engines/pink/objects/sequences/sequencer.h
index 7c74b2789d..1aec5f556c 100644
--- a/engines/pink/objects/sequences/sequencer.h
+++ b/engines/pink/objects/sequences/sequencer.h
@@ -47,6 +47,7 @@ public:
void saveState(Archive &archive);
bool isPlaying() { return _context != nullptr; }
+ bool isSkipping() { return _isSkipping; }
void update();
void authorSequence(Sequence *sequence, bool loadingSave);
@@ -72,6 +73,7 @@ private:
Array<Sequence *> _sequences;
Array<SeqTimer *> _timers;
uint _time;
+ bool _isSkipping;
};
} // End of namespace Pink