aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game
diff options
context:
space:
mode:
authorPaul Gilbert2016-09-11 14:16:11 -0400
committerPaul Gilbert2016-09-11 14:16:11 -0400
commitdd1a2b65e9a79b4d643c5b8fe3a8a35dd03c80c0 (patch)
treef1608efae67f5475ddf4fe456fdd7a9df1aed3d9 /engines/titanic/game
parentf207bc86cb29c6b941aeb3da0444d56e7d4d408d (diff)
downloadscummvm-rg350-dd1a2b65e9a79b4d643c5b8fe3a8a35dd03c80c0.tar.gz
scummvm-rg350-dd1a2b65e9a79b4d643c5b8fe3a8a35dd03c80c0.tar.bz2
scummvm-rg350-dd1a2b65e9a79b4d643c5b8fe3a8a35dd03c80c0.zip
TITANIC: Extra loading logic and translation code for German version
Diffstat (limited to 'engines/titanic/game')
-rw-r--r--engines/titanic/game/arboretum_gate.cpp63
-rw-r--r--engines/titanic/game/arboretum_gate.h25
-rw-r--r--engines/titanic/game/code_wheel.cpp12
-rw-r--r--engines/titanic/game/code_wheel.h3
4 files changed, 102 insertions, 1 deletions
diff --git a/engines/titanic/game/arboretum_gate.cpp b/engines/titanic/game/arboretum_gate.cpp
index 1435e3e204..1f684fdcc0 100644
--- a/engines/titanic/game/arboretum_gate.cpp
+++ b/engines/titanic/game/arboretum_gate.cpp
@@ -21,6 +21,7 @@
*/
#include "titanic/game/arboretum_gate.h"
+#include "titanic/titanic.h"
namespace Titanic {
@@ -68,6 +69,14 @@ CArboretumGate::CArboretumGate() : CBackground() {
_endFrameWinterOn1 = 364;
_startFrameWinterOn2 = 365;
_endFrameWinterOn2 = 424;
+
+ // German specific fields
+ _field160 = _field164 = _field168 = _field16C = 0;
+ _field170 = _field174 = _field178 = _field17C = 0;
+ _field180 = _field184 = _field188 = _field18C = 0;
+ _field190 = _field194 = _field198 = _field19C = 0;
+ _field1A0 = _field1A4 = _field1A8 = _field1AC = 0;
+ _field1B0 = _field1B4 = _field1B8 = _field1BC = 0;
}
void CArboretumGate::save(SimpleFile *file, int indent) {
@@ -104,6 +113,33 @@ void CArboretumGate::save(SimpleFile *file, int indent) {
file->writeNumberLine(_endFrameWinterOn2, indent);
file->writeQuotedLine(_viewName2, indent);
+ if (g_vm->getLanguage() == Common::DE_DEU) {
+ file->writeNumberLine(_field160, indent);
+ file->writeNumberLine(_field164, indent);
+ file->writeNumberLine(_field168, indent);
+ file->writeNumberLine(_field16C, indent);
+ file->writeNumberLine(_field170, indent);
+ file->writeNumberLine(_field174, indent);
+ file->writeNumberLine(_field178, indent);
+ file->writeNumberLine(_field17C, indent);
+ file->writeNumberLine(_field180, indent);
+ file->writeNumberLine(_field184, indent);
+ file->writeNumberLine(_field188, indent);
+ file->writeNumberLine(_field18C, indent);
+ file->writeNumberLine(_field190, indent);
+ file->writeNumberLine(_field194, indent);
+ file->writeNumberLine(_field198, indent);
+ file->writeNumberLine(_field19C, indent);
+ file->writeNumberLine(_field1A0, indent);
+ file->writeNumberLine(_field1A4, indent);
+ file->writeNumberLine(_field1A8, indent);
+ file->writeNumberLine(_field1AC, indent);
+ file->writeNumberLine(_field1B0, indent);
+ file->writeNumberLine(_field1B4, indent);
+ file->writeNumberLine(_field1B8, indent);
+ file->writeNumberLine(_field1BC, indent);
+ }
+
CBackground::save(file, indent);
}
@@ -141,6 +177,33 @@ void CArboretumGate::load(SimpleFile *file) {
_endFrameWinterOn2 = file->readNumber();
_viewName2 = file->readString();
+ if (g_vm->getLanguage() == Common::DE_DEU) {
+ _field160 = file->readNumber();
+ _field164 = file->readNumber();
+ _field168 = file->readNumber();
+ _field16C = file->readNumber();
+ _field170 = file->readNumber();
+ _field174 = file->readNumber();
+ _field178 = file->readNumber();
+ _field17C = file->readNumber();
+ _field180 = file->readNumber();
+ _field184 = file->readNumber();
+ _field188 = file->readNumber();
+ _field18C = file->readNumber();
+ _field190 = file->readNumber();
+ _field194 = file->readNumber();
+ _field198 = file->readNumber();
+ _field19C = file->readNumber();
+ _field1A0 = file->readNumber();
+ _field1A4 = file->readNumber();
+ _field1A8 = file->readNumber();
+ _field1AC = file->readNumber();
+ _field1B0 = file->readNumber();
+ _field1B4 = file->readNumber();
+ _field1B8 = file->readNumber();
+ _field1BC = file->readNumber();
+ }
+
CBackground::load(file);
}
diff --git a/engines/titanic/game/arboretum_gate.h b/engines/titanic/game/arboretum_gate.h
index b1c06cf773..efb4e81ae9 100644
--- a/engines/titanic/game/arboretum_gate.h
+++ b/engines/titanic/game/arboretum_gate.h
@@ -72,6 +72,31 @@ private:
int _startFrameWinterOn2;
int _endFrameWinterOn2;
CString _viewName2;
+ // German specific fields
+ int _field160;
+ int _field164;
+ int _field168;
+ int _field16C;
+ int _field170;
+ int _field174;
+ int _field178;
+ int _field17C;
+ int _field180;
+ int _field184;
+ int _field188;
+ int _field18C;
+ int _field190;
+ int _field194;
+ int _field198;
+ int _field19C;
+ int _field1A0;
+ int _field1A4;
+ int _field1A8;
+ int _field1AC;
+ int _field1B0;
+ int _field1B4;
+ int _field1B8;
+ int _field1BC;
public:
CLASSDEF;
CArboretumGate();
diff --git a/engines/titanic/game/code_wheel.cpp b/engines/titanic/game/code_wheel.cpp
index 94ee25435a..cd492ec856 100644
--- a/engines/titanic/game/code_wheel.cpp
+++ b/engines/titanic/game/code_wheel.cpp
@@ -21,6 +21,7 @@
*/
#include "titanic/game/code_wheel.h"
+#include "titanic/titanic.h"
namespace Titanic {
@@ -31,7 +32,8 @@ BEGIN_MESSAGE_MAP(CodeWheel, CBomb)
ON_MESSAGE(MovieEndMsg)
END_MESSAGE_MAP()
-CodeWheel::CodeWheel() : CBomb(), _field108(0), _state(4), _field110(0) {
+CodeWheel::CodeWheel() : CBomb(), _field108(0), _state(4),
+ _field110(0), _field114(0), _field118(0) {
}
void CodeWheel::save(SimpleFile *file, int indent) {
@@ -39,6 +41,10 @@ void CodeWheel::save(SimpleFile *file, int indent) {
file->writeNumberLine(_field108, indent);
file->writeNumberLine(_state, indent);
file->writeNumberLine(_field110, indent);
+ if (g_vm->getLanguage() == Common::DE_DEU) {
+ file->writeNumberLine(_field114, indent);
+ file->writeNumberLine(_field118, indent);
+ }
CBomb::save(file, indent);
}
@@ -48,6 +54,10 @@ void CodeWheel::load(SimpleFile *file) {
_field108 = file->readNumber();
_state = file->readNumber();
_field110 = file->readNumber();
+ if (g_vm->getLanguage() == Common::DE_DEU) {
+ _field114 = file->readNumber();
+ _field118 = file->readNumber();
+ }
CBomb::load(file);
}
diff --git a/engines/titanic/game/code_wheel.h b/engines/titanic/game/code_wheel.h
index e38a45b631..de246f56c4 100644
--- a/engines/titanic/game/code_wheel.h
+++ b/engines/titanic/game/code_wheel.h
@@ -37,6 +37,9 @@ private:
int _field108;
int _state;
int _field110;
+ // German specific fields
+ int _field114;
+ int _field118;
public:
CLASSDEF;
CodeWheel();