[Scummvm-git-logs] scummvm master -> 6f150abf15cdcd325feee8f71e7fdd7030657e0f

dreammaster dreammaster at scummvm.org
Sun Sep 24 01:30:35 CEST 2017


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:
6f150abf15 TITANIC: DE: Added changes for LiftbotScript


Commit: 6f150abf15cdcd325feee8f71e7fdd7030657e0f
    https://github.com/scummvm/scummvm/commit/6f150abf15cdcd325feee8f71e7fdd7030657e0f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-09-23T19:30:28-04:00

Commit Message:
TITANIC: DE: Added changes for LiftbotScript

Changed paths:
    engines/titanic/true_talk/liftbot_script.cpp


diff --git a/engines/titanic/true_talk/liftbot_script.cpp b/engines/titanic/true_talk/liftbot_script.cpp
index 5f0f6fb..757b640 100644
--- a/engines/titanic/true_talk/liftbot_script.cpp
+++ b/engines/titanic/true_talk/liftbot_script.cpp
@@ -24,13 +24,17 @@
 #include "titanic/true_talk/liftbot_script.h"
 #include "titanic/true_talk/true_talk_manager.h"
 #include "titanic/titanic.h"
+#include "titanic/translation.h"
 
 namespace Titanic {
 
 int LiftbotScript::_stateIndex;
 
-static const int STATE_ARRAY[7] = {
-	0x78BE, 0x78C0, 0x78C1, 0x78C2, 0x78C3, 0x78C4, 0x78C5
+static const int STATE_ARRAY_EN[7] = {
+	30910, 30912, 30913, 30914, 30915, 30916, 30917
+};
+static const int STATE_ARRAY_DE[7] = {
+	30919, 30921, 30922, 30923, 30924, 30925, 30926
 };
 
 LiftbotScript::LiftbotScript(int val1, const char *charClass, int v2,
@@ -63,21 +67,22 @@ int LiftbotScript::chooseResponse(const TTroomScript *roomScript, const TTsenten
 	case MKTAG('H', 'H', 'G', 'Q'):
 	case MKTAG('A', 'N', 'S', 'W'):
 		if (_stateIndex >= 7) {
-			selectResponse(30918);
+			selectResponse(TRANSLATE(30918, 30927));
 			setState(2);
 			_stateIndex = 0;
 		} else {
-			addResponse(STATE_ARRAY[_stateIndex++]);
+			addResponse(TRANSLATE(STATE_ARRAY_EN[_stateIndex++],
+				STATE_ARRAY_DE[_stateIndex++]));
 		}
 
 		applyResponse();
 		return 2;
 
 	case MKTAG('O', 'R', 'D', '8'):
-		addResponse(30475);
-		addResponse(30467);
-		addResponse(30466);
-		addResponse(30474);
+		addResponse(TRANSLATE(30475, 30484));
+		addResponse(TRANSLATE(30467, 30476));
+		addResponse(TRANSLATE(30466, 30475));
+		addResponse(TRANSLATE(30474, 30483));
 		applyResponse();
 		return SS_2;
 
@@ -103,22 +108,22 @@ int LiftbotScript::process(const TTroomScript *roomScript, const TTsentence *sen
 		switch (currState) {
 		case 2:
 			if (flag1)
-				return addDialogueAndState(30920, 3);
+				return addDialogueAndState(TRANSLATE(30920, 30929), 3);
 			if (flag2)
-				return addDialogueAndState(30919, 1);
+				return addDialogueAndState(TRANSLATE(30919, 30928), 1);
 			break;
 
 		case 3:
 			if (flag1)
-				return addDialogueAndState(30919, 1);
+				return addDialogueAndState(TRANSLATE(30919, 30928), 1);
 			break;
 
 		case 4:
-			return addDialogueAndState(210391, 1);
+			return addDialogueAndState(getDialogueId(210391), 1);
 
 		case 5:
 			if (sentence->contains("reborzo") || sentence->contains("is that"))
-				return addDialogueAndState(30515, 1);
+				return addDialogueAndState(TRANSLATE(30515, 30524), 1);
 			break;
 
 		case 6:
@@ -184,7 +189,7 @@ ScriptChangedResult LiftbotScript::scriptChanged(const TTroomScript *roomScript,
 		break;
 
 	case 155:
-		selectResponse(30446);
+		selectResponse(TRANSLATE(30446, 30455));
 		applyResponse();
 		break;
 
@@ -192,7 +197,7 @@ ScriptChangedResult LiftbotScript::scriptChanged(const TTroomScript *roomScript,
 		if (getCurrentFloor() == 1) {
 			addResponse(getDialogueId(210614));
 		} else {
-			selectResponse(30270);
+			selectResponse(TRANSLATE(30270, 30272));
 		}
 		applyResponse();
 		break;
@@ -201,7 +206,7 @@ ScriptChangedResult LiftbotScript::scriptChanged(const TTroomScript *roomScript,
 		break;
 	}
 
-	if (id >= 210000 && id <= 211001) {
+	if (id >= 210000 && id <= (uint)TRANSLATE(211001, 211003)) {
 		addResponse(getDialogueId(id));
 		applyResponse();
 	}
@@ -333,8 +338,13 @@ int LiftbotScript::updateState(uint oldId, uint newId, int index) {
 }
 
 int LiftbotScript::preResponse(uint id) {
-	if (id == 30565 || id == 30566 || id == 30567 || id == 30568
-			|| id == 30569 || id == 30570 || id == 30571)
+	if (id == (uint)TRANSLATE(30565, 30574)
+			|| id == (uint)TRANSLATE(30566, 30575)
+			|| id == (uint)TRANSLATE(30567, 30576)
+			|| id == (uint)TRANSLATE(30568, 30577)
+			|| id == (uint)TRANSLATE(30569, 30578)
+			|| id == (uint)TRANSLATE(30570, 30579)
+			|| id == (uint)TRANSLATE(30571, 30580))
 		return 210901;
 
 	if (getDialRegion(0) == 0 && getRandomNumber(100) > 60)
@@ -355,7 +365,6 @@ uint LiftbotScript::getDialsBitset() const {
 	return bits;
 }
 
-
 int LiftbotScript::doSentenceEntry(int val1, const int *srcIdP, const TTroomScript *roomScript, const TTsentence *sentence) {
 	// Responses for each floor when asked "what floor are we on"
 	static const int FLOOR_RESPONSE_IDS[] = {
@@ -374,7 +383,9 @@ int LiftbotScript::doSentenceEntry(int val1, const int *srcIdP, const TTroomScri
 	getState();
 	int stateVal;
 
-	switch (val1) {
+	int state = (g_language == Common::DE_DEU && val1 > 3000 && val1 < 3020)
+		? val1 - 3000 : val1;
+	switch (state) {
 	case 1:
 		if (getValue(1) != 1)
 			return 1;
@@ -394,8 +405,9 @@ int LiftbotScript::doSentenceEntry(int val1, const int *srcIdP, const TTroomScri
 		if (sentence->localWord("big") || sentence->localWord("small")) {
 			addResponse(getDialogueId(210215));
 			applyResponse();
-		} else if (sentence->localWord("my") || sentence->contains("my") ||
-				sentence->contains("bedroom") || sentence->contains("state")) {
+		} else if (sentence->localWord("my") || sentence->contains("my")
+				|| sentence->contains("bedroom") || sentence->contains("state")
+				|| sentence->contains("mein") || sentence->contains("schlafzimmer")) {
 			addResponse1(CTrueTalkManager::getStateValue(4), true, 0);
 		} else {
 			selectResponse(210763);
@@ -434,9 +446,11 @@ int LiftbotScript::doSentenceEntry(int val1, const int *srcIdP, const TTroomScri
 	case 14:
 		// Which lift am I in
 		stateVal = getState6();
-		if (sentence->contains("elevator") ||
-			(!sentence->contains("lift") && getRandomNumber(100) > 60))
-			stateVal += 4;
+		if (g_language == Common::EN_ANY) {
+			if (sentence->contains("elevator") ||
+				(!sentence->contains("lift") && getRandomNumber(100) > 60))
+				stateVal += 4;
+		}
 		selectResponse(LIFT_RESPONSE_IDS[stateVal]);
 		applyResponse();
 		return 2;
@@ -450,7 +464,9 @@ int LiftbotScript::doSentenceEntry(int val1, const int *srcIdP, const TTroomScri
 		applyResponse();
 		return 2;
 	case 16:
-		if (sentence->contains("elevator") || sentence->contains("elavator"))
+		if (g_language == Common::DE_DEU)
+			addResponse(30589);
+		else if (sentence->contains("elevator") || sentence->contains("elavator"))
 			addResponse(30579);
 		else
 			addResponse(30580);
@@ -461,6 +477,7 @@ int LiftbotScript::doSentenceEntry(int val1, const int *srcIdP, const TTroomScri
 			return 1;
 		break;
 	default:
+
 		break;
 	}
 
@@ -510,11 +527,12 @@ int LiftbotScript::addResponse1(int index, bool flag, int id) {
 		return 1;
 	} else if (index == getCurrentFloor()) {
 		if (index == 1) {
-			addResponse(30558 - (getRandomBit() ? 290 : 0));
+			addResponse(TRANSLATE(30558 - (getRandomBit() ? 290 : 0),
+				30567 - (getRandomBit() ? 297 : 0)));
 			addResponse(getDialogueId(210589));
 		} else {
 			if (index == 39)
-				addResponse(30346);
+				addResponse(TRANSLATE(30346, 30348));
 			addResponse(getDialogueId(210589));
 		}
 
@@ -539,9 +557,10 @@ int LiftbotScript::addResponse1(int index, bool flag, int id) {
 
 	if (flag) {
 		if (index == 1) {
-			selectResponse(30558 - (getRandomBit() ? 290 : 0));
+			selectResponse(TRANSLATE(30558 - (getRandomBit() ? 290 : 0),
+				30567 - (getRandomBit() ? 297 : 0)));
 		} else if (index == 39) {
-			addResponse(30346);
+			addResponse(TRANSLATE(30346, 30348));
 		} else {
 			if (getRandomNumber(100) > 35 && index >= 2 && index <= 38) {
 				addResponse(getDialogueId(DIALOGUE_IDS[index - 2]));
@@ -638,7 +657,7 @@ int LiftbotScript::sentence1(const TTsentence *sentence) {
 		diff = -100;
 	}
 
-	if (sentence->localWord("lobby"))
+	if (g_language == Common::EN_ANY && sentence->localWord("lobby"))
 		diff = (getValue(1) == 0 ? 1 : 0) - 99;
 	if (sentence->localWord("bottomofwell") || sentence->contains("bottom"))
 		diff = 39;
@@ -656,22 +675,25 @@ int LiftbotScript::sentence1(const TTsentence *sentence) {
 	}
 
 	if (sentence->_category == 4 || sentence->localWord("find")
-			|| sentence->contains("get to")) {
+			|| sentence->contains("get to")
+			|| sentence->contains("komme ich")
+			|| sentence->contains("ich will zum")
+			|| sentence->contains("ich will zur")
+			|| sentence->contains("ich will ins")
+			|| sentence->contains("ich will in")) {
 		if (getCurrentFloor() != diff) {
 			selectResponse(diff == 1 ? 210769 : 210764);
-			applyResponse();
 		} else if (!newId) {
 			selectResponse(210764);
-			applyResponse();
-		} else if (newId >= 210715 && newId <= 210719) {
-			selectResponse(newId);
-			applyResponse();
-		} else {
+		} else if (newId > 210715 && newId <= 210719) {
 			addResponse(getDialogueId(210720));
+			selectResponse(getDialogueId(newId));
 			selectResponse(210715);
-			applyResponse();
+		} else {
+			selectResponse(newId);
 		}
 
+		applyResponse();
 		return 1;
 	}
 





More information about the Scummvm-git-logs mailing list