diff options
author | Paul Gilbert | 2016-01-09 18:10:39 +1100 |
---|---|---|
committer | Paul Gilbert | 2016-01-09 18:10:39 +1100 |
commit | b3e81dba14cfc0ae3fb07dc43a3aaf84eb4d4570 (patch) | |
tree | 895bb90bc3211353509d96eba17790e755f27ec4 /engines/mads/conversations.cpp | |
parent | c313bc71cb65c23cec52ef196f6e8051ccf9a4e1 (diff) | |
download | scummvm-rg350-b3e81dba14cfc0ae3fb07dc43a3aaf84eb4d4570.tar.gz scummvm-rg350-b3e81dba14cfc0ae3fb07dc43a3aaf84eb4d4570.tar.bz2 scummvm-rg350-b3e81dba14cfc0ae3fb07dc43a3aaf84eb4d4570.zip |
MADS: Set up conversation mode enum, change hold fields to use it
Diffstat (limited to 'engines/mads/conversations.cpp')
-rw-r--r-- | engines/mads/conversations.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/engines/mads/conversations.cpp b/engines/mads/conversations.cpp index 2af74541f7..5077abdc6a 100644 --- a/engines/mads/conversations.cpp +++ b/engines/mads/conversations.cpp @@ -35,7 +35,8 @@ GameConversations::GameConversations(MADSEngine *vm) : _vm(vm) { _inputMode = kInputBuildingSentences; _startFrameNumber = 0; _speakerVal = 0; - _heldVal = _releaseVal = 0; + _currentMode = CONVMODE_NONE; + _priorMode = CONVMODE_NONE; _val1 =_val5 = 0; _vars = _nextStartNode = nullptr; _heroTrigger = 0; @@ -99,8 +100,9 @@ void GameConversations::run(int id) { _heroTrigger = 0; _interlocutorTrigger = 0; _val1 = 0; - _heldVal = 0; + _currentMode = CONVMODE_0; _val5 = -1; + _speakerVal = 1; // Initialize speaker arrays Common::fill(&_speakerActive[0], &_speakerActive[MAX_SPEAKERS], false); @@ -233,16 +235,16 @@ int *GameConversations::getVariable(int idx) { } void GameConversations::hold() { - if (_heldVal != -1) { - _releaseVal = _heldVal; - _heldVal = -1; + if (_currentMode != CONVMODE_NONE) { + _priorMode = _currentMode; + _currentMode = CONVMODE_NONE; } } void GameConversations::release() { - if (_heldVal == -1) { - _heldVal = _releaseVal; - if (_heldVal == 1 || _heldVal == 2) + if (_currentMode == CONVMODE_NONE) { + _currentMode = _priorMode; + if (_currentMode == 1 || _currentMode == 2) update(true); } } |