aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/true_talk/tt_npc_script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/true_talk/tt_npc_script.cpp')
-rw-r--r--engines/titanic/true_talk/tt_npc_script.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/engines/titanic/true_talk/tt_npc_script.cpp b/engines/titanic/true_talk/tt_npc_script.cpp
index 527e33f14c..ba205b6498 100644
--- a/engines/titanic/true_talk/tt_npc_script.cpp
+++ b/engines/titanic/true_talk/tt_npc_script.cpp
@@ -406,15 +406,17 @@ void TTnpcScript::save(SimpleFile *file) {
file->writeNumber(_dialDelta);
file->writeNumber(_field7C);
+ // Write out the dial values
file->writeNumber(10);
for (int idx = 0; idx < 10; ++idx)
- file->writeNumber(_data[idx]);
+ file->writeNumber(_dialValues[idx]);
}
void TTnpcScript::load(SimpleFile *file) {
loadBody(file);
int count = file->readNumber();
+ assert(count == 4);
_rangeResetCtr = file->readNumber();
_currentDialNum = file->readNumber();
_dialDelta = file->readNumber();
@@ -423,22 +425,23 @@ void TTnpcScript::load(SimpleFile *file) {
for (int idx = count; idx > 4; --idx)
file->readNumber();
+ // Read in the dial values
count = file->readNumber();
for (int idx = 0; idx < count; ++idx) {
int v = file->readNumber();
if (idx < 10)
- _data[idx] = v;
+ _dialValues[idx] = v;
}
}
void TTnpcScript::saveBody(SimpleFile *file) {
- int count = proc31();
+ int count = getRangesCount();
file->writeNumber(count);
if (count > 0) {
for (uint idx = 0; idx < _ranges.size(); ++idx) {
const TTscriptRange &item = _ranges[idx];
- if (item._mode == SF_RANDOM && item._priorIndex) {
+ if (item._mode != SF_RANDOM && item._priorIndex) {
file->writeNumber(item._id);
file->writeNumber(item._priorIndex);
}
@@ -464,7 +467,7 @@ void TTnpcScript::loadBody(SimpleFile *file) {
}
}
-int TTnpcScript::proc31() const {
+int TTnpcScript::getRangesCount() const {
int count = 0;
for (uint idx = 0; idx < _ranges.size(); ++idx) {
const TTscriptRange &item = _ranges[idx];