[Scummvm-git-logs] scummvm master -> c6a24d1540f1fdcd69aa0afe64fbc4613a936772
dreammaster
dreammaster at scummvm.org
Sun Nov 13 21:45:33 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:
c6a24d1540 TITANIC: Properly initialize NPC scripts
Commit: c6a24d1540f1fdcd69aa0afe64fbc4613a936772
https://github.com/scummvm/scummvm/commit/c6a24d1540f1fdcd69aa0afe64fbc4613a936772
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-11-13T15:39:59-05:00
Commit Message:
TITANIC: Properly initialize NPC scripts
Changed paths:
engines/titanic/true_talk/tt_concept.cpp
engines/titanic/true_talk/tt_script_base.cpp
engines/titanic/true_talk/tt_word.cpp
diff --git a/engines/titanic/true_talk/tt_concept.cpp b/engines/titanic/true_talk/tt_concept.cpp
index acb2e61..cd24d7c 100644
--- a/engines/titanic/true_talk/tt_concept.cpp
+++ b/engines/titanic/true_talk/tt_concept.cpp
@@ -28,7 +28,7 @@
namespace Titanic {
TTconcept::TTconcept() : _string1(" "), _string2(" "),
- _scriptP(nullptr), _wordP(nullptr) {
+ _scriptP(nullptr), _wordP(nullptr), _status(SS_VALID) {
if (setStatus())
setScriptType(ST_UNKNOWN_SCRIPT);
else
@@ -36,7 +36,8 @@ TTconcept::TTconcept() : _string1(" "), _string2(" "),
}
TTconcept::TTconcept(TTscriptBase *script, ScriptType scriptType) :
- _string1(" "), _string2(" "), _wordP(nullptr), _scriptP(nullptr) {
+ _string1(" "), _string2(" "), _wordP(nullptr), _scriptP(nullptr),
+ _status(SS_VALID) {
if (!script->getStatus()) {
setScriptType(scriptType);
_scriptP = script;
@@ -50,8 +51,8 @@ TTconcept::TTconcept(TTscriptBase *script, ScriptType scriptType) :
}
TTconcept::TTconcept(TTword *word, ScriptType scriptType) :
- _string1(" "), _string2(" "), _wordP(nullptr), _scriptP(nullptr) {
-
+ _string1(" "), _string2(" "), _wordP(nullptr), _scriptP(nullptr),
+ _status(SS_VALID) {
if (!word || !setStatus() || word->getStatus()) {
_status = SS_5;
} else {
@@ -66,8 +67,7 @@ TTconcept::TTconcept(TTword *word, ScriptType scriptType) :
TTconcept::TTconcept(TTconcept &src) :
_string1(src._string1), _string2(src._string2),
- _wordP(nullptr), _scriptP(nullptr) {
-
+ _wordP(nullptr), _scriptP(nullptr), _status(SS_VALID) {
if (src.getStatus()) {
_status = SS_5;
} else {
diff --git a/engines/titanic/true_talk/tt_script_base.cpp b/engines/titanic/true_talk/tt_script_base.cpp
index 1fa1ce3..c1c052d 100644
--- a/engines/titanic/true_talk/tt_script_base.cpp
+++ b/engines/titanic/true_talk/tt_script_base.cpp
@@ -33,7 +33,7 @@ TTscriptBase::TTscriptBase(int scriptId, const char *charClass, int state,
_field20(0), _field24(0), _field28(0), _field2C(0),
_field30(0), _state(0), _hist2P(nullptr), _field3C(0),
_respHeadP(nullptr), _respTailP(nullptr), _oldResponseP(nullptr) {
- if (!isValid()) {
+ if (isValid()) {
if (!v7 || !getStatus()) {
_id = scriptId;
_field20 = v3;
@@ -43,7 +43,7 @@ TTscriptBase::TTscriptBase(int scriptId, const char *charClass, int state,
_field30 = v7;
_state = state;
} else {
- _status = 5;
+ _status = SS_5;
}
}
@@ -65,9 +65,13 @@ TTscriptBase::~TTscriptBase() {
}
bool TTscriptBase::isValid() {
- bool result = !_charName.isValid() && !_charClass.isValid();
- _status = result ? 0 : 11;
- return result;
+ if (!_charName.empty() && !_charClass.empty()) {
+ _status = SS_VALID;
+ return true;
+ } else {
+ _status = SS_11;
+ return false;
+ }
}
void TTscriptBase::reset() {
diff --git a/engines/titanic/true_talk/tt_word.cpp b/engines/titanic/true_talk/tt_word.cpp
index c8676e4..01541de 100644
--- a/engines/titanic/true_talk/tt_word.cpp
+++ b/engines/titanic/true_talk/tt_word.cpp
@@ -43,6 +43,7 @@ TTword::TTword(const TTword *src) {
_id = src->_id;
_tag = src->_tag;
_synP = nullptr;
+ _status = SS_VALID;
TTsynonym *priorSyn = nullptr;
for (TTsynonym *synP = _synP; synP && !_status;) {
More information about the Scummvm-git-logs
mailing list