diff options
author | Thierry Crozat | 2013-08-03 16:45:05 +0100 |
---|---|---|
committer | Thierry Crozat | 2013-08-03 16:50:14 +0100 |
commit | 0a2e64b903a65e9ffcfc3f7f81eba708c774d0f2 (patch) | |
tree | 93ab2865cf717fe65fa479601063e7c825f76f5f /devtools/create_mortdat/create_mortdat.cpp | |
parent | 178feb8e8bd46b0bb5222c7a4a09e6da91df9752 (diff) | |
download | scummvm-rg350-0a2e64b903a65e9ffcfc3f7f81eba708c774d0f2.tar.gz scummvm-rg350-0a2e64b903a65e9ffcfc3f7f81eba708c774d0f2.tar.bz2 scummvm-rg350-0a2e64b903a65e9ffcfc3f7f81eba708c774d0f2.zip |
DEVTOOLS: Include English menu in mortevielle dat file
Diffstat (limited to 'devtools/create_mortdat/create_mortdat.cpp')
-rw-r--r-- | devtools/create_mortdat/create_mortdat.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/devtools/create_mortdat/create_mortdat.cpp b/devtools/create_mortdat/create_mortdat.cpp index 653a0754eb..93ca721d95 100644 --- a/devtools/create_mortdat/create_mortdat.cpp +++ b/devtools/create_mortdat/create_mortdat.cpp @@ -41,6 +41,7 @@ #include "create_mortdat.h" #include "enginetext.h" #include "gametext.h" +#include "menudata.h" bool File::open(const char *filename, AccessMode mode) { @@ -200,10 +201,36 @@ void writeGameStrings() { writeStaticStrings(gameDataDe, kGameStrings, 2); } +/** + * Write out the data for the English menu + */ +void writeMenuBlock() { + // Write out a section header to the output file and the font data + const char menuHeader[4] = { 'M', 'E', 'N', 'U' }; + outputFile.write(menuHeader, 4); // Section Id + outputFile.writeWord(strlen(menuDataEn) / 8); // Section size + // Write each 8-characters block as a byte (one bit per character) + // ' ' -> 0, anything else -> 1 + byte value; + int valueCpt = 0; + const char* str = menuDataEn; + while (*str != 0) { + if (*(str++) != ' ') + value |= (1 << (7 - valueCpt)); + ++valueCpt; + if (valueCpt == 8) { + outputFile.writeByte(value); + value = 0; + valueCpt = 0; + } + } +} + void process() { writeFontBlock(); writeGameStrings(); writeEngineStrings(); + writeMenuBlock(); } /** |