[Scummvm-git-logs] scummvm master -> c3e026564a0bf3805fc2c74de7062f2bad435b75

dreammaster dreammaster at scummvm.org
Fri Nov 4 01:45:14 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:
c3e026564a TITANIC: Fix choosing correct vocab matches for words


Commit: c3e026564a0bf3805fc2c74de7062f2bad435b75
    https://github.com/scummvm/scummvm/commit/c3e026564a0bf3805fc2c74de7062f2bad435b75
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-11-03T20:45:08-04:00

Commit Message:
TITANIC: Fix choosing correct vocab matches for words

Changed paths:
    engines/titanic/true_talk/tt_parser.cpp
    engines/titanic/true_talk/tt_vocab.cpp



diff --git a/engines/titanic/true_talk/tt_parser.cpp b/engines/titanic/true_talk/tt_parser.cpp
index dc05621..f69c0c7 100644
--- a/engines/titanic/true_talk/tt_parser.cpp
+++ b/engines/titanic/true_talk/tt_parser.cpp
@@ -482,7 +482,7 @@ int TTparser::findFrames(TTsentence *sentence) {
 	TTstring *line = sentence->_normalizedLine.copy();
 	TTstring wordString;
 	int status = 0;
-	for (int ctr = 1; !status; ++ctr) {
+	for (int ctr = 1; status <= 1; ++ctr) {
 		// Keep stripping words off the start of the passed input
 		wordString = line->tokenize(" \n");
 		if (wordString.empty())
@@ -496,7 +496,7 @@ int TTparser::findFrames(TTsentence *sentence) {
 			word = new TTword(wordString, WC_UNKNOWN, 0);
 		}
 
-		for (TTword *currP = word; currP && !status; currP = currP->_nextP)
+		for (TTword *currP = word; currP && status <= 1; currP = currP->_nextP)
 			status = processRequests(currP);
 
 		word->deleteSiblings();
@@ -514,7 +514,7 @@ int TTparser::findFrames(TTsentence *sentence) {
 int TTparser::loadRequests(TTword *word) {
 	int status = 0;
 
-	if (word->_tag != MKTAG('Z', 'Z', 'Z', 'T'))
+	if (word->_tag != MKTAG('Z', 'Z', 'Z', '['))
 		addNode(word->_tag);
 
 	switch (word->_wordClass) {
diff --git a/engines/titanic/true_talk/tt_vocab.cpp b/engines/titanic/true_talk/tt_vocab.cpp
index 062a6b6..785f33a 100644
--- a/engines/titanic/true_talk/tt_vocab.cpp
+++ b/engines/titanic/true_talk/tt_vocab.cpp
@@ -196,10 +196,12 @@ TTword *TTvocab::getPrimeWord(TTstring &str, TTword **srcWord) const {
 	TTword *newWord = nullptr;
 	TTword *vocabP;
 
-	if (!Common::isDigit(c)) {
+	if (Common::isDigit(c)) {
+		// Number
 		vocabP = _headP;
 		newWord = new TTword(str, WC_ABSTRACT, 300);
 	} else {
+		// Standard word
 		for (vocabP = _headP; vocabP && !newWord; vocabP = vocabP->_nextP) {
 			if (_vocabMode == 3 && !strcmp(str.c_str(), vocabP->c_str())) {
 				newWord = vocabP->copy();





More information about the Scummvm-git-logs mailing list