[Scummvm-cvs-logs] scummvm master -> b3e81dba14cfc0ae3fb07dc43a3aaf84eb4d4570
dreammaster
dreammaster at scummvm.org
Sat Jan 9 08:11:17 CET 2016
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b3e81dba14 MADS: Set up conversation mode enum, change hold fields to use it
Commit: b3e81dba14cfc0ae3fb07dc43a3aaf84eb4d4570
https://github.com/scummvm/scummvm/commit/b3e81dba14cfc0ae3fb07dc43a3aaf84eb4d4570
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-01-09T18:10:39+11:00
Commit Message:
MADS: Set up conversation mode enum, change hold fields to use it
Changed paths:
engines/mads/conversations.cpp
engines/mads/conversations.h
diff --git a/engines/mads/conversations.cpp b/engines/mads/conversations.cpp
index 2af7454..5077abd 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);
}
}
diff --git a/engines/mads/conversations.h b/engines/mads/conversations.h
index 657abae..b62f4fb 100644
--- a/engines/mads/conversations.h
+++ b/engines/mads/conversations.h
@@ -33,6 +33,21 @@ namespace MADS {
#define MAX_CONVERSATIONS 5
#define MAX_SPEAKERS 5
+enum ConversationMode {
+ CONVMODE_NONE = -1,
+ CONVMODE_0 = 0,
+ CONVMODE_1 = 1,
+ CONVMODE_2 = 2,
+ CONVMODE_3 = 3,
+ CONVMODE_4 = 4,
+ CONVMODE_5 = 5,
+ CONVMODE_6 = 6,
+ CONVMODE_7 = 7,
+ CONVMODE_8 = 8,
+ CONVMODE_9 = 9,
+ CONVMODE_10 = 10
+};
+
enum DialogCommands {
cmdNodeEnd = 0,
//
@@ -180,7 +195,8 @@ private:
int _arr6[MAX_SPEAKERS];
InputMode _inputMode;
int _val1, _val5;
- int _heldVal, _releaseVal;
+ ConversationMode _currentMode;
+ ConversationMode _priorMode;
int _speakerVal;
int _heroTrigger;
TriggerMode _heroTriggerMode;
@@ -267,12 +283,12 @@ public:
int *getVariable(int idx);
/**
- * Hold a ??? value
+ * Hold the current mode value
*/
void hold();
/**
- * Release a prevoiusly held value
+ * Release the prevoiusly held mode value
*/
void release();
More information about the Scummvm-git-logs
mailing list