[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