aboutsummaryrefslogtreecommitdiff
path: root/devtools/create_titanic
diff options
context:
space:
mode:
authorPaul Gilbert2016-07-24 23:08:19 -0400
committerPaul Gilbert2016-07-24 23:08:19 -0400
commitd59b012442289e81f021957306bee36de294aac5 (patch)
tree5a419883e197402a9b96265ea3856217e2e49325 /devtools/create_titanic
parent6558eb78c351aa852c02071ef1c73b5b9ff7259f (diff)
downloadscummvm-rg350-d59b012442289e81f021957306bee36de294aac5.tar.gz
scummvm-rg350-d59b012442289e81f021957306bee36de294aac5.tar.bz2
scummvm-rg350-d59b012442289e81f021957306bee36de294aac5.zip
DEVTOOLS: Add NPC Script word lists to create_titanic
Diffstat (limited to 'devtools/create_titanic')
-rw-r--r--devtools/create_titanic/create_titanic_dat.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/devtools/create_titanic/create_titanic_dat.cpp b/devtools/create_titanic/create_titanic_dat.cpp
index 199a8d1fec..1ddfd46fd3 100644
--- a/devtools/create_titanic/create_titanic_dat.cpp
+++ b/devtools/create_titanic/create_titanic_dat.cpp
@@ -52,7 +52,7 @@
*/
#define VERSION_NUMBER 1
-#define HEADER_SIZE 0x700
+#define HEADER_SIZE 0x740
Common::File inputFile, outputFile;
Common::PEResources res;
@@ -441,6 +441,29 @@ void writeSentenceEntries(const char *name, uint tableOffset) {
dataOffset += size;
}
+void writeWords(const char *name, uint tableOffset, int recordCount = 2) {
+ outputFile.seek(dataOffset);
+ int recordSize = recordCount * 4;
+
+ uint val, strOffset;
+ for (uint idx = 0; ; ++idx) {
+ inputFile.seek(tableOffset - FILE_DIFF + idx * recordSize);
+ val = inputFile.readLong();
+ strOffset = inputFile.readLong();
+
+ if (!val)
+ // Reached end of list
+ break;
+
+ outputFile.writeLong(val);
+ writeString(strOffset);
+ }
+
+ uint size = outputFile.size() - dataOffset;
+ writeEntryHeader(name, dataOffset, size);
+ dataOffset += size;
+}
+
void writeSentenceMappings(const char *name, uint offset, int numValues) {
inputFile.seek(offset - FILE_DIFF);
outputFile.seek(dataOffset);
@@ -553,6 +576,11 @@ void writeData() {
writeSentenceMappings("Mappings/MaitreD", 0x6125C8, 1);
writeSentenceMappings("Mappings/Parrot", 0x615B68, 1);
writeSentenceMappings("Mappings/SuccUBus", 0x6189F0, 1);
+ writeWords("Words/Barbot", 0x5BE2E0);
+ writeWords("Words/Bellbot", 0x5D8230);
+ writeWords("Words/Deskbot", 0x5EAAA8);
+ writeWords("Words/Doorbot", 0x601098, 3);
+ writeWords("Words/Liftbot", 0x60C788);
writeResponseTree();
writeNumbers();