[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