aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic')
-rw-r--r--engines/titanic/true_talk/tt_action.cpp9
-rw-r--r--engines/titanic/true_talk/tt_action.h1
-rw-r--r--engines/titanic/true_talk/tt_adj.cpp9
-rw-r--r--engines/titanic/true_talk/tt_adj.h1
-rw-r--r--engines/titanic/true_talk/tt_major_word.cpp8
-rw-r--r--engines/titanic/true_talk/tt_major_word.h1
-rw-r--r--engines/titanic/true_talk/tt_picture.cpp15
-rw-r--r--engines/titanic/true_talk/tt_picture.h1
-rw-r--r--engines/titanic/true_talk/tt_pronoun.cpp9
-rw-r--r--engines/titanic/true_talk/tt_pronoun.h1
10 files changed, 55 insertions, 0 deletions
diff --git a/engines/titanic/true_talk/tt_action.cpp b/engines/titanic/true_talk/tt_action.cpp
index 3caca5d9b7..5f552249e7 100644
--- a/engines/titanic/true_talk/tt_action.cpp
+++ b/engines/titanic/true_talk/tt_action.cpp
@@ -28,6 +28,15 @@ TTaction::TTaction(TTString &str, int val1, int val2, int val3, int val4) :
TTmajorWord(str, val1, val2, val3), _field30(val4) {
}
+TTaction::TTaction(TTaction *src) : TTmajorWord(src) {
+ if (src->getStatus()) {
+ _field30 = 0;
+ _status = SS_5;
+ } else {
+ _field30 = src->_field30;
+ }
+}
+
int TTaction::load(SimpleFile *file) {
int val;
diff --git a/engines/titanic/true_talk/tt_action.h b/engines/titanic/true_talk/tt_action.h
index 3c27067eb1..821d16b6b0 100644
--- a/engines/titanic/true_talk/tt_action.h
+++ b/engines/titanic/true_talk/tt_action.h
@@ -32,6 +32,7 @@ protected:
int _field30;
public:
TTaction(TTString &str, int val1, int val2, int val3, int val4);
+ TTaction(TTaction *src);
/**
* Load the word
diff --git a/engines/titanic/true_talk/tt_adj.cpp b/engines/titanic/true_talk/tt_adj.cpp
index 8ee35e21fb..64321b5b6b 100644
--- a/engines/titanic/true_talk/tt_adj.cpp
+++ b/engines/titanic/true_talk/tt_adj.cpp
@@ -34,6 +34,15 @@ TTadj::TTadj(TTString &str, int val1, int val2, int val3, int val4) :
}
}
+TTadj::TTadj(TTadj *src) : TTmajorWord(src) {
+ if (src->getStatus()) {
+ _field30 = 0;
+ _status = SS_5;
+ } else {
+ _field30 = src->_field30;
+ }
+}
+
int TTadj::load(SimpleFile *file) {
int val;
diff --git a/engines/titanic/true_talk/tt_adj.h b/engines/titanic/true_talk/tt_adj.h
index a0bb340980..1c0306f5b4 100644
--- a/engines/titanic/true_talk/tt_adj.h
+++ b/engines/titanic/true_talk/tt_adj.h
@@ -32,6 +32,7 @@ protected:
int _field30;
public:
TTadj(TTString &str, int val1, int val2, int val3, int val4);
+ TTadj(TTadj *src);
/**
* Load the word
diff --git a/engines/titanic/true_talk/tt_major_word.cpp b/engines/titanic/true_talk/tt_major_word.cpp
index 6df761b8ec..4af3ba1a68 100644
--- a/engines/titanic/true_talk/tt_major_word.cpp
+++ b/engines/titanic/true_talk/tt_major_word.cpp
@@ -28,5 +28,13 @@ TTmajorWord::TTmajorWord(TTString &str, int val1, int val2, int val3) :
TTword(str, val1, val2), _field2C(val3) {
}
+TTmajorWord::TTmajorWord(TTmajorWord *src) : TTword(src) {
+ if (src->getStatus()) {
+ _field2C = 0;
+ _status = SS_5;
+ } else {
+ _field2C = src->_field2C;
+ }
+}
} // End of namespace Titanic
diff --git a/engines/titanic/true_talk/tt_major_word.h b/engines/titanic/true_talk/tt_major_word.h
index 487c2a5f08..95ba6caa56 100644
--- a/engines/titanic/true_talk/tt_major_word.h
+++ b/engines/titanic/true_talk/tt_major_word.h
@@ -32,6 +32,7 @@ protected:
int _field2C;
public:
TTmajorWord(TTString &str, int val1, int val2, int val3);
+ TTmajorWord(TTmajorWord *src);
};
} // End of namespace Titanic
diff --git a/engines/titanic/true_talk/tt_picture.cpp b/engines/titanic/true_talk/tt_picture.cpp
index 21574df195..d1e58a57da 100644
--- a/engines/titanic/true_talk/tt_picture.cpp
+++ b/engines/titanic/true_talk/tt_picture.cpp
@@ -29,6 +29,21 @@ TTpicture::TTpicture(TTString &str, int val1, int val2, int val3, int val4, int
_field38(0) {
}
+TTpicture::TTpicture(TTpicture *src) : TTmajorWord(src) {
+ if (getStatus()) {
+ _field34 = 0;
+ _field30 = 0;
+ _field38 = 0;
+ _field3C = 0;
+ _status = SS_5;
+ } else {
+ _field34 = src->_field34;
+ _field30 = src->_field30;
+ _field38 = src->_field38;
+ _field3C = src->_field3C;
+ }
+}
+
int TTpicture::load(SimpleFile *file) {
CString str;
int val1, val2;
diff --git a/engines/titanic/true_talk/tt_picture.h b/engines/titanic/true_talk/tt_picture.h
index 93f953635c..938d342ee9 100644
--- a/engines/titanic/true_talk/tt_picture.h
+++ b/engines/titanic/true_talk/tt_picture.h
@@ -35,6 +35,7 @@ protected:
int _field3C;
public:
TTpicture(TTString &str, int val1, int val2, int val3, int val4, int val5, int val6);
+ TTpicture(TTpicture *src);
/**
* Load the word
diff --git a/engines/titanic/true_talk/tt_pronoun.cpp b/engines/titanic/true_talk/tt_pronoun.cpp
index b0e35270c5..764489d127 100644
--- a/engines/titanic/true_talk/tt_pronoun.cpp
+++ b/engines/titanic/true_talk/tt_pronoun.cpp
@@ -28,6 +28,15 @@ TTpronoun::TTpronoun(TTString &str, int val1, int val2, int val3, int val4) :
TTmajorWord(str, val1, val2, val3), _field30(val4) {
}
+TTpronoun::TTpronoun(TTpronoun *src) : TTmajorWord(src) {
+ if (src->getStatus()) {
+ _field30 = 0;
+ _status = SS_5;
+ } else {
+ _field30 = src->_field30;
+ }
+}
+
int TTpronoun::load(SimpleFile *file) {
int val;
diff --git a/engines/titanic/true_talk/tt_pronoun.h b/engines/titanic/true_talk/tt_pronoun.h
index 991c0b39ce..5f554a11a6 100644
--- a/engines/titanic/true_talk/tt_pronoun.h
+++ b/engines/titanic/true_talk/tt_pronoun.h
@@ -32,6 +32,7 @@ protected:
int _field30;
public:
TTpronoun(TTString &str, int val1, int val2, int val3, int val4);
+ TTpronoun(TTpronoun *src);
/**
* Load the word