diff options
author | Paul Gilbert | 2016-07-24 23:08:19 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-24 23:08:19 -0400 |
commit | d59b012442289e81f021957306bee36de294aac5 (patch) | |
tree | 5a419883e197402a9b96265ea3856217e2e49325 /devtools/create_titanic | |
parent | 6558eb78c351aa852c02071ef1c73b5b9ff7259f (diff) | |
download | scummvm-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.cpp | 30 |
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(); |