aboutsummaryrefslogtreecommitdiff
path: root/devtools/create_titanic/create_titanic_dat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/create_titanic/create_titanic_dat.cpp')
-rw-r--r--devtools/create_titanic/create_titanic_dat.cpp140
1 files changed, 123 insertions, 17 deletions
diff --git a/devtools/create_titanic/create_titanic_dat.cpp b/devtools/create_titanic/create_titanic_dat.cpp
index fc9222467f..b788733002 100644
--- a/devtools/create_titanic/create_titanic_dat.cpp
+++ b/devtools/create_titanic/create_titanic_dat.cpp
@@ -416,7 +416,7 @@ static const BedheadEntry OFF_RESTING_D_WRONG[1] = {
{ "Any", "Any", "Any", "ClosedWrong", 59, 70 }
};
-static const char *const STRINGS_EN[] = {
+static const char *const STRINGS_EN[108] = {
"",
"You are standing outside the Pellerator.",
"I'm sorry, you cannot enter this pellerator at present as a bot is in the way.",
@@ -478,11 +478,62 @@ static const char *const STRINGS_EN[] = {
"Go where?",
"It would be nice if you could take that but you can't.",
"A bowl of pistachio nuts.",
- "Not a bowl of pistachio nuts."
+ "Not a bowl of pistachio nuts.",
+
+ "Sadly, it is not possible to summon the DoorBot from this location.",
+ "Sadly, it is not possible to summon the BellBot from this location.",
+ "There is no one here to talk to",
+ "Talking to ",
+ "the DoorBot",
+ "the DeskBot",
+ "a LiftBot",
+ "the Parrot",
+ "the BarBot",
+ "a ChatterBot",
+ "the BellBot",
+ "the Maitre d'Bot",
+ "a Succ-U-Bus",
+ "Unknown",
+ "The arm is already holding something.",
+ "You can't get this.",
+ "That doesn't seem to do anything.",
+ "It doesn't seem to want this.",
+ "This does not reach.",
+ "The chicken is already clean.",
+ "Succ-U-Bus auxiliary hose attachment incompatible with sliding glass cover.",
+ "This item is incorrectly calibrated.",
+ "Only First Class passengers are allowed to use the Gondoliers.",
+ "There is currently nothing available for your viewing pleasure on this channel.",
+ "Television control",
+ "Operate visual entertainment device",
+ "Operate the lights",
+ "Deploy floral enhancement",
+ "Deploy fully recumbent relaxation device",
+ "Deploy comfort workstation",
+ "Deploy minor horizontally mobile storage compartment",
+ "Deploy major semi-recumbent relaxation device",
+ "Inflate fully recumbent relaxation device ",
+ "Deploy personal maintenance hub",
+ "Deploy executive horizontal worksurface",
+ "Deploy minor semi-recumbent relaxation device",
+ "Deploy aqueous cleansing receptacle",
+ "Deploy major horizontally mobile storage compartment",
+ "Succ-U-Bus delivery system control",
+ "Navigation controller",
+ "Summon Elevator",
+ "Summon Pellerator",
+ "Go to the Bottom of the Well",
+ "Go to the Top of the Well",
+ "Go to your stateroom",
+ "Go to the Bar",
+ "Go to the Promenade Deck",
+ "Go to the Arboretum",
+ "Go to the Music Room",
+ "Go to the First Class Restaurant"
};
-static const char *const STRINGS_DE[] = {
- // TODO: Translate these to their German versions
+static const char *const STRINGS_DE[152] = {
+ // TODO: Still many strings to translate to German
"",
"Sie befinden sich vor dem Pellerator.",
"Wir bedauern, Zutritt zu diesem Pellerator ist nicht m\0xF6"
@@ -561,6 +612,57 @@ static const char *const STRINGS_DE[] = {
"Eine Schale Pistazien.",
"Keine Schale Pistazien.",
+ "Sadly, it is not possible to summon the DoorBot from this location.",
+ "Sadly, it is not possible to summon the BellBot from this location.",
+ "There is no one here to talk to",
+ "Talking to ",
+ "the DoorBot",
+ "the DeskBot",
+ "a LiftBot",
+ "the Parrot",
+ "the BarBot",
+ "a ChatterBot",
+ "the BellBot",
+ "the Maitre d'Bot",
+ "a Succ-U-Bus",
+ "Unknown"
+ "The arm is already holding something.",
+ "You can't get this.",
+ "That doesn't seem to do anything.",
+ "It doesn't seem to want this.",
+ "This does not reach.",
+ "The chicken is already clean.",
+ "Succ-U-Bus auxiliary hose attachment incompatible with sliding glass cover.",
+ "This item is incorrectly calibrated.",
+ "Only First Class passengers are allowed to use the Gondoliers.",
+ "There is currently nothing available for your viewing pleasure on this channel.",
+ "Television control",
+ "Operate visual entertainment device",
+ "Operate the lights",
+ "Deploy floral enhancement",
+ "Deploy fully recumbent relaxation device",
+ "Deploy comfort workstation",
+ "Deploy minor horizontally mobile storage compartment",
+ "Deploy major semi-recumbent relaxation device",
+ "Inflate fully recumbent relaxation device ",
+ "Deploy personal maintenance hub",
+ "Deploy executive horizontal worksurface",
+ "Deploy minor semi-recumbent relaxation device",
+ "Deploy aqueous cleansing receptacle",
+ "Deploy major horizontally mobile storage compartment",
+ "Succ-U-Bus delivery system control",
+ "Navigation controller",
+ "Summon Elevator",
+ "Summon Pellerator",
+ "Go to the Bottom of the Well",
+ "Go to the Top of the Well",
+ "Go to your stateroom",
+ "Go to the Bar",
+ "Go to the Promenade Deck",
+ "Go to the Arboretum",
+ "Go to the Music Room",
+ "Go to the First Class Restaurant"
+
"Sommer",
"Herbst",
"Winter",
@@ -779,12 +881,16 @@ void writeNumbers() {
}
void writeString(uint offset) {
- inputFile.seek(offset - FILE_DIFF[_version]);
- char c;
- do {
- c = inputFile.readByte();
- outputFile.writeByte(c);
- } while (c);
+ if (offset == 0) {
+ outputFile.writeByte(0);
+ } else {
+ inputFile.seek(offset - FILE_DIFF[_version]);
+ char c;
+ do {
+ c = inputFile.readByte();
+ outputFile.writeByte(c);
+ } while (c);
+ }
}
void writeResponseTree() {
@@ -818,7 +924,7 @@ void writeResponseTree() {
void writeSentenceEntries(const char *name, uint tableOffset) {
outputFile.seek(dataOffset);
- uint v1, v2, v9, v11, v12, v13;
+ uint v1, category, v4, v9, v11, v12, v13;
uint offset3, offset5, offset6, offset7, offset8, offset10;
for (uint idx = 0; ; ++idx) {
@@ -829,9 +935,9 @@ void writeSentenceEntries(const char *name, uint tableOffset) {
break;
// Read data fields
- v2 = inputFile.readLong();
+ category = inputFile.readLong();
offset3 = inputFile.readLong();
- /* v4 = */inputFile.readLong();
+ v4 = inputFile.readLong();
offset5 = inputFile.readLong();
offset6 = inputFile.readLong();
offset7 = inputFile.readLong();
@@ -843,9 +949,9 @@ void writeSentenceEntries(const char *name, uint tableOffset) {
v13 = inputFile.readLong();
outputFile.writeLong(v1);
- outputFile.writeLong(v2);
+ outputFile.writeLong(category);
writeString(offset3);
- outputFile.writeLong(v1);
+ outputFile.writeLong(v4);
writeString(offset5);
writeString(offset6);
writeString(offset7);
@@ -1085,8 +1191,8 @@ void writeData() {
writeStringArray("TEXT/ITEM_NAMES", ITEM_NAMES, 46);
writeStringArray("TEXT/ITEM_IDS", ITEM_IDS, 40);
writeStringArray("TEXT/ROOM_NAMES", ROOM_NAMES, 34);
- writeStringArray("TEXT/STRINGS", STRINGS_EN, 58);
- writeStringArray("TEXT/STRINGS/DE", STRINGS_DE, 104);
+ writeStringArray("TEXT/STRINGS", STRINGS_EN, 108);
+ writeStringArray("TEXT/STRINGS/DE", STRINGS_DE, 152);
const int TEXT_PHRASES[3] = { 0x61D3C8, 0x618340, 0x61B1E0 };
const int TEXT_REPLACEMENTS1[3] = { 0x61D9B0, 0x61C788, 0x61B7C8 };
const int TEXT_REPLACEMENTS2[3] = { 0x61DD20, 0x61CAF8, 0x61BB38 };