aboutsummaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
Diffstat (limited to 'devtools')
-rw-r--r--devtools/create_titanic/create_titanic_dat.cpp103
-rw-r--r--devtools/create_titanic/script_quotes.cpp55
-rw-r--r--devtools/create_titanic/script_quotes.h7
3 files changed, 94 insertions, 71 deletions
diff --git a/devtools/create_titanic/create_titanic_dat.cpp b/devtools/create_titanic/create_titanic_dat.cpp
index 9519e4182a..285b3fe976 100644
--- a/devtools/create_titanic/create_titanic_dat.cpp
+++ b/devtools/create_titanic/create_titanic_dat.cpp
@@ -56,7 +56,7 @@
* ASCIIZ - name of the resource
*/
-#define VERSION_NUMBER 3
+#define VERSION_NUMBER 4
#define HEADER_SIZE 0x1700
Common::File inputFile, outputFile;
@@ -615,7 +615,7 @@ static const BedheadEntry OFF_RESTING_D_WRONG[1] = {
{ "Any", "Any", "Any", "ClosedWrong", 59, 70 }
};
-static const char *const STRINGS_EN[151] = {
+static const char *const STRINGS_EN[153] = {
"",
"You are standing outside the Pellerator.",
"I'm sorry, you cannot enter this pellerator at present as a bot is in the way.",
@@ -760,6 +760,8 @@ static const char *const STRINGS_EN[151] = {
"A previously assigned room: ",
"Saved Chevron: ",
"Current location: ",
+ "Elevator %d",
+ " (shift-click edits)",
"A hot",
"A cold",
"Load the game.",
@@ -774,20 +776,20 @@ static const char *const STRINGS_EN[151] = {
"Speech volume"
};
-static const char *const STRINGS_DE[197] = {
+static const char *const STRINGS_DE[199] = {
"",
"Sie befinden sich vor dem Pellerator.",
"Wir bedauern, da ein Bot den Weg versperrt, ist Ihnen der "
"Zutritt zum Pellerator Ihnen gegenwSrtig verwehrt.",
- "Wir bedauern, Zutritt zu diesem Pellerator ist nicht m\0xF6"
- "glich, da die T\0xFC" "r zugefroren ist.",
+ "Wir bedauern, Zutritt zu diesem Pellerator ist nicht m\xF6"
+ "glich, da die T\xFC" "r zugefroren ist.",
"Der Sukk-U-Bus befindet sich gegenwSrtig im Standby-oder \"AUS\"-Betrieb.",
"Zur Zeit gibt es nichts zuzustellen.",
"Gegenw\xE4rtig befindet sich nichts im Ablagekorb.",
- "Der Sukk-U-Bus ist ein Einzel-St\0xFC" "ck-Liefergerst.",
+ "Der Sukk-U-Bus ist ein Einzel-St\xFC" "ck-Liefergerst.",
"Nur ein H\xFChnchen pro Passagier. Wir bedanken uns f\xFC"
"r Ihr Verst\xE4ndnis.",
- "H\0xFChner werden nur in Eine-Einheit-Pro-Person-Rationen zugeteilt.",
+ "H\xFChner werden nur in Eine-Einheit-Pro-Person-Rationen zugeteilt.",
"Sie sind in die Erste Klasse h\xF6hergestuft worden. Genie\xDF"
"en Sie es in vollen Z\xFCgen.",
"Sie sind in die Zweite Klasse h\xF6hergestuft worden. Genie\xDF"
@@ -935,6 +937,8 @@ static const char *const STRINGS_DE[197] = {
"Dein zuvor zugewiesenes Zimmer: ",
"Gespeichertes Abzeichen: ",
"Derzeitige Position: ",
+ "Aufzug %d",
+ " (Chevrons verändern mit Umschalt-Taste+Klicken)",
"Eine hei\xDF""e",
"Eine kalte",
"Laden Sie das Spiel.",
@@ -951,28 +955,28 @@ static const char *const STRINGS_DE[197] = {
"Sommer",
"Herbst",
"Winter",
- "Fr\0xFC" "nhling",
+ "Fr\xFC" "nhling",
"Sn'ood",
"J'af'ah",
"Bitta",
- "Fr\0xAA" "ic",
- "Pflanzen bitte nicht ber\0xFC" "nhren.",
- "!\0xBC" "ta'\0xAD" "ta! !T\0xAA" "z n\0xAA" " sappibundli t\0xAA"
- "cn\0xAA" "z!",
+ "Fr\xAA" "ic",
+ "Pflanzen bitte nicht ber\xFC" "nhren.",
+ "!\xBC" "ta'\xAD" "ta! !T\xAA" "z n\xAA" " sappibundli t\xAA"
+ "cn\xAA" "z!",
"Stop",
"!Hanaz!",
"VorwSrts",
"!Panaz!",
- "T\0xAA" "z k'b\0xAA" "z",
+ "T\xAA" "z k'b\xAA" "z",
"Ein wenig herumkurven",
- "Otundo a\0x92" " doom\0xAA" "n n\0x92" "sanza",
+ "Otundo a\x92" " doom\xAA" "n n\x92" "sanza",
"Sinnlose Drehung des Steuerrads",
- "!0xBC" "ta\0x92\0xAD" "ta! T\0xAA""z vidsta\0x92" "jaha i\0xAC"
- "in\0x92" "qu\0xAA" " m\0xAA" "n\0xAA" "z",
- "Sternenpanorama des Reiseziels hier einf\0xFC" "ngen.",
+ "!0xBC" "ta\x92\xAD" "ta! T\xAA""z vidsta\x92" "jaha i\xAC"
+ "in\x92" "qu\xAA" " m\xAA" "n\xAA" "z",
+ "Sternenpanorama des Reiseziels hier einf\xFC" "ngen.",
- "V'lo\0xAC",
+ "V'lo\xAC",
"Geschwindigkeit",
"Pan",
"Ein",
@@ -983,29 +987,29 @@ static const char *const STRINGS_DE[197] = {
"Pido",
"Schnell",
- "\0xBC" "lu\0xAD" " q\0xB0 scu'b\0xAA" "rri",
- "H\0xFC" "hnchen a la sauce tomate",
- "\0xBC" "lu\0xAD" " q\0xB0 scu'jajaja",
+ "\xBC" "lu\xAD" " q\xB0 scu'b\xAA" "rri",
+ "H\xFC" "hnchen a la sauce tomate",
+ "\xBC" "lu\xAD" " q\xB0 scu'jajaja",
"H0xFC" "hnchen a la sauce moutarde",
- "\0xBC" "lu0xAD q\0xB0 scu'\0xAD" "lu\0xAD",
- "H\0xFC" "hnchen a la sauce 'Vogel'",
- "\0xBC" "lu\0xAD" " sanza scu, n\0xAA n\0xAA n\0xAA",
- "H\0xFC" "hnchen bar jeglicher sauce",
+ "\xBC" "lu0xAD q\xB0 scu'\xAD" "lu\xAD",
+ "H\xFC" "hnchen a la sauce 'Vogel'",
+ "\xBC" "lu\xAD" " sanza scu, n\xAA n\xAA n\xAA",
+ "H\xFC" "hnchen bar jeglicher sauce",
- "!\0xB2" "la! !\0xB2" "la! !!!Sizzlo ab\0x92\0xAA\0xAA" "o s\0xAA"
- "nza cr\0xAA" "dibo!!! N\0xAA" "nto p\0xAA" "rificio i\0xAC" "ind\0xAA",
+ "!\xB2" "la! !\xB2" "la! !!!Sizzlo ab\x92\xAA\xAA" "o s\xAA"
+ "nza cr\xAA" "dibo!!! N\xAA" "nto p\xAA" "rificio i\xAC" "ind\xAA",
"Achtung, Lebensgefahr. Unglaublich hohe Voltzahl!!! Innen keine "
- "artungsbed\0xFC" "rftigen Teile vorhanden.",
- "!!!Birin\0xAC" "i sp\0xAA" "culato t\0xAA" "z n\0xAA n\0xAA n\0xAA"
- " ouvraditiniz! J\0x92" "in n\0xAA n\0xAA upraximus stifibilimus"
- " j\0x92" "in sigorto funct",
- "Sie hStten die erste Kontrollt\0xFC" "r nicht \0xF6"
- "ffnen sollen! Dies ist nicht nur ungeheuer gef\0xE4"
- "hrlich, Sie verlieren auch jegliche Garantie-Anspr\0xFC" "che.",
- "!T\0xAA" "z n\0xAA bleabaz t\0xAA" "z n\0xAA j\0x92" "abaz! Coco?",
- "Und sagen Sie hinterher blo\0xFC nicht, niemand hStte Sie gewarnt.",
- "Pin\0xAA" "z-pin\0xAA" "z stot \0xAF" "r\0xB0 jibbli",
- "Dr\0xFC" "cken Sie den Knopf um die Bombe zu entschSrfen."
+ "artungsbed\xFC" "rftigen Teile vorhanden.",
+ "!!!Birin\xAC" "i sp\xAA" "culato t\xAA" "z n\xAA n\xAA n\xAA"
+ " ouvraditiniz! J\x92" "in n\xAA n\xAA upraximus stifibilimus"
+ " j\x92" "in sigorto funct",
+ "Sie hStten die erste Kontrollt\xFC" "r nicht \xF6"
+ "ffnen sollen! Dies ist nicht nur ungeheuer gef\xE4"
+ "hrlich, Sie verlieren auch jegliche Garantie-Anspr\xFC" "che.",
+ "!T\xAA" "z n\xAA bleabaz t\xAA" "z n\xAA j\x92" "abaz! Coco?",
+ "Und sagen Sie hinterher blo\xFC nicht, niemand hStte Sie gewarnt.",
+ "Pin\xAA" "z-pin\xAA" "z stot \xAF" "r\xB0 jibbli",
+ "Dr\xFC" "cken Sie den Knopf um die Bombe zu entschSrfen."
};
static const char *const MUSIC_DATA[4] = {
@@ -1142,6 +1146,9 @@ void writeResource(const char *resName, const char *sectionStr, uint32 resId, bo
void writeResource(const char *sectionStr, uint32 resId, bool isEnglish = true) {
char nameBuffer[256];
sprintf(nameBuffer, "%s/%u", sectionStr, resId);
+ if (!isEnglish)
+ strcat(nameBuffer, "/DE");
+
writeResource(nameBuffer, sectionStr, resId, isEnglish);
}
@@ -1556,11 +1563,6 @@ void writeData() {
writeResource("TEXT/STVOCAB", "TEXT", "STVOCAB.TXT");
writeResource("TEXT/JRQUOTES", "TEXT", "JRQUOTES.TXT");
writeResource("TEXT", 155);
- if (!resGer.empty()) {
- writeResource("TEXT/STVOCAB/DE", "TEXT", "STVOCABDE.TXT", false);
- writeResource("TEXT/JRQUOTES/DE", "TEXT", "JRQUOTESDE.TXT", false);
- writeResource("TEXT/155/DE", "TEXT", 155, false);
- }
writeResource("STARFIELD", 132);
writeStarfieldPoints();
@@ -1571,8 +1573,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, 151);
- writeStringArray("TEXT/STRINGS/DE", STRINGS_DE, 197);
+ writeStringArray("TEXT/STRINGS", STRINGS_EN, 153);
+ writeStringArray("TEXT/STRINGS/DE", STRINGS_DE, 199);
const int TEXT_PHRASES[3] = { 0x61D3C8, 0x618340, 0x61B1E0 };
const int TEXT_REPLACEMENTS1[3] = { 0x61D9B0, 0x61C788, 0x61B7C8 };
const int TEXT_REPLACEMENTS2[3] = { 0x61DD20, 0x61CAF8, 0x61BB38 };
@@ -1695,7 +1697,7 @@ void writeData() {
writeResponseTree();
writeNumbers();
- writeAllScriptQuotesEN();
+ writeAllScriptQuotes();
writeAllScriptResponses();
writeAllScriptRanges();
@@ -1709,6 +1711,10 @@ void writeData() {
}
void writeGermanData() {
+ writeResource("TEXT/STVOCAB/DE", "TEXT", "STVOCABDE.TXT", false);
+ writeResource("TEXT/JRQUOTES/DE", "TEXT", "JRQUOTESDE.TXT", false);
+ writeResource("TEXT/155/DE", "TEXT", 155, false);
+
writeStringArray("TEXT/PHRASES/DE", 0x23EEC8 + GERMAN_DIFF, 178);
writeStringArray("TEXT/REPLACEMENTS1/DE", 0x23F198 + GERMAN_DIFF, 1362);
writeStringArray("TEXT/REPLACEMENTS2/DE", 0x2406E8 + GERMAN_DIFF, 816);
@@ -1753,6 +1759,11 @@ void writeGermanData() {
writeSentenceEntries("Sentences/SuccUBus/DE", 0x637CD8);
writeMissiveOMatMessagesDE();
+
+ writeResource("STFONT", 149, false);
+ writeResource("STFONT", 151, false);
+ writeResource("STFONT", 152, false);
+ writeResource("STFONT", 153, false);
}
void createScriptMap() {
diff --git a/devtools/create_titanic/script_quotes.cpp b/devtools/create_titanic/script_quotes.cpp
index a84bfe2c93..2a8b16c59f 100644
--- a/devtools/create_titanic/script_quotes.cpp
+++ b/devtools/create_titanic/script_quotes.cpp
@@ -33,6 +33,9 @@
#include "script_quotes.h"
static const ScriptQuote BARBOT_QUOTES[] = {
+ { 0x0003d722, 0x0003d372, 0x0000001e },
+ { 0x0003d722, 0x0003d372, 0x00000032 },
+ { 0x0003d722, 0x0003d372, 0x00000046 },
{ 0x00000008, 0x00000000, 0x0003D372 },
{ 0x00000007, 0x00000000, 0x0003D72B },
{ 0x00000004, 0x00000000, 0x0003D722 },
@@ -82,6 +85,10 @@ static const ScriptQuote BARBOT_QUOTES[] = {
};
static const ScriptQuote BELLBOT_QUOTES[] = {
+ { 0x000313d6, 0x000313d7, 0x0000001e },
+ { 0x000313d6, 0x000313d7, 0x00000032 },
+ { 0x000313d6, 0x000313d7, 0x00000046 },
+ { 0x000313a1, 0x000313ae, 0x0000003c },
{ 0x00000008, 0x00000000, 0x00031116 },
{ 0x00000007, 0x00000000, 0x00031447 },
{ 0x00000006, 0x00000000, 0x000310F9 },
@@ -163,6 +170,10 @@ static const ScriptQuote BELLBOT_QUOTES[] = {
};
static const ScriptQuote DESKBOT_QUOTES[] = {
+ { 0x0003ae0e, 0x0003ae27, 0x0000001e },
+ { 0x0003ae0e, 0x0003ae27, 0x00000032 },
+ { 0x0003ae0e, 0x0003ae27, 0x00000046 },
+ { 0x0003abe1, 0x0003ae4c, 0x0000003c },
{ 0x00000008, 0x00000000, 0x0003ACD0 },
{ 0x00000007, 0x00000000, 0x0003ACDC },
{ 0x00000006, 0x00000000, 0x0003ABF9 },
@@ -241,6 +252,10 @@ static const ScriptQuote DESKBOT_QUOTES[] = {
};
static const ScriptQuote DOORBOT_QUOTES[] = {
+ { 0x000360bf, 0x000360c0, 0x0000001e },
+ { 0x000360bf, 0x000360c0, 0x00000032 },
+ { 0x000360bf, 0x000360c0, 0x00000046 },
+ { 0x000360c1, 0x000360c2, 0x0000003c },
{ 0x00000008, 0x00000000, 0x00035F14 },
{ 0x00000007, 0x00000000, 0x00035F6F },
{ 0x00000004, 0x00000000, 0x000360BF },
@@ -316,6 +331,10 @@ static const ScriptQuote DOORBOT_QUOTES[] = {
};
static const ScriptQuote LIFTBOT_QUOTES[] = {
+ { 0x00033694, 0x00033695, 0x0000001e },
+ { 0x00033694, 0x00033695, 0x00000032 },
+ { 0x00033694, 0x00033695, 0x00000046 },
+ { 0x00033696, 0x00033697, 0x0000003c },
{ 0x00000008, 0x00000000, 0x00033655 },
{ 0x00000007, 0x00000000, 0x000335A0 },
{ 0x00000006, 0x00000000, 0x0003368B },
@@ -379,6 +398,10 @@ static const ScriptQuote LIFTBOT_QUOTES[] = {
};
static const ScriptQuote MAITRED_QUOTES[] = {
+ { 0x0003f833, 0x0003f847, 0x0000001e },
+ { 0x0003f833, 0x0003f847, 0x00000032 },
+ { 0x0003f833, 0x0003f847, 0x00000046 },
+ { 0x0003f94f, 0x0003f936, 0x0000003c },
{ 0x00000008, 0x00000000, 0x0003F967 },
{ 0x00000007, 0x00000000, 0x0003F995 },
{ 0x00000006, 0x00000000, 0x0003F833 },
@@ -429,17 +452,16 @@ static const ScriptQuote MAITRED_QUOTES[] = {
};
void writeScriptQuotes(const char *name, const ScriptQuote *quotes,
- uint tag1, uint tag2, uint rangeStart, uint rangeEnd) {
+ uint rangeStart, uint rangeEnd, uint incr) {
outputFile.seek(dataOffset);
- outputFile.writeLong(tag1);
- outputFile.writeLong(tag2);
outputFile.writeLong(rangeStart);
outputFile.writeLong(rangeEnd);
+ outputFile.writeLong(incr);
for (; quotes->_index; ++quotes) {
+ outputFile.writeLong(quotes->_tag1);
+ outputFile.writeLong(quotes->_tag2);
outputFile.writeLong(quotes->_index);
- outputFile.writeLong(quotes->_tagId);
- outputFile.writeLong(quotes->_dialogueId);
}
uint size = outputFile.size() - dataOffset;
@@ -447,20 +469,11 @@ void writeScriptQuotes(const char *name, const ScriptQuote *quotes,
dataOffset += size;
}
-void writeAllScriptQuotesEN() {
- writeScriptQuotes("Quotes/Barbot", BARBOT_QUOTES, 221376, 221375, 0, 999);
- writeScriptQuotes("Quotes/Bellbot", BELLBOT_QUOTES, 201687, 201686, 270000, 270500);
- writeScriptQuotes("Quotes/Deskbot", DESKBOT_QUOTES, 241191, 241166, 270000, 270500);
- writeScriptQuotes("Quotes/Doorbot", DOORBOT_QUOTES, 221376, 221375, 0, 999);
- writeScriptQuotes("Quotes/Liftbot", LIFTBOT_QUOTES, 210581, 210580, 0, 999);
- writeScriptQuotes("Quotes/MaitreD", MAITRED_QUOTES, 260167, 260147, 270000, 270500);
-}
-
-void writeAllScriptQuotesDE() {
- writeScriptQuotes("Quotes/Barbot/DE", BARBOT_QUOTES, 251682, 250738, 0, 999);
- writeScriptQuotes("Quotes/Bellbot", BELLBOT_QUOTES, 201686, 201687, 270000, 270500);
- writeScriptQuotes("Quotes/Deskbot", DESKBOT_QUOTES, 241166, 241191, 270000, 270500);
- writeScriptQuotes("Quotes/Doorbot", DOORBOT_QUOTES, 221375, 221376, 0, 999);
- writeScriptQuotes("Quotes/Liftbot", LIFTBOT_QUOTES, 210580, 210581, 0, 999);
- writeScriptQuotes("Quotes/MaitreD", MAITRED_QUOTES, 260147, 260167, 270000, 270500);
+void writeAllScriptQuotes() {
+ writeScriptQuotes("Quotes/Barbot", BARBOT_QUOTES, 0, 999, 90);
+ writeScriptQuotes("Quotes/Bellbot", BELLBOT_QUOTES, 270000, 270500, 25);
+ writeScriptQuotes("Quotes/Deskbot", DESKBOT_QUOTES, 270000, 270500, 25);
+ writeScriptQuotes("Quotes/Doorbot", DOORBOT_QUOTES, 0, 999, 25);
+ writeScriptQuotes("Quotes/Liftbot", LIFTBOT_QUOTES, 0, 999, 57);
+ writeScriptQuotes("Quotes/MaitreD", MAITRED_QUOTES, 270000, 270500, 25);
}
diff --git a/devtools/create_titanic/script_quotes.h b/devtools/create_titanic/script_quotes.h
index e282ec5181..053ca64993 100644
--- a/devtools/create_titanic/script_quotes.h
+++ b/devtools/create_titanic/script_quotes.h
@@ -26,13 +26,12 @@
#include "common/scummsys.h"
struct ScriptQuote {
+ uint _tag1;
+ uint _tag2;
uint _index;
- uint _tagId;
- uint _dialogueId;
};
-extern void writeAllScriptQuotesEN();
-extern void writeAllScriptQuotesDE();
+extern void writeAllScriptQuotes();
extern void writeEntryHeader(const char *name, uint offset, uint size);
extern uint dataOffset;