diff options
author | Willem Jan Palenstijn | 2013-09-24 13:55:54 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-09-24 13:55:54 +0200 |
commit | 6417192584873f98737a0928adefeb9aa9cad894 (patch) | |
tree | 0d238f05c406ae70fff8c907bd10d29a16f2d6a4 /devtools/create_mortdat/create_mortdat.cpp | |
parent | f3514534ce46bad5e3ffadfdf0b3af403045e5ef (diff) | |
parent | 74cc4aec8aa80da2541857e3120b31a566ccdff3 (diff) | |
download | scummvm-rg350-6417192584873f98737a0928adefeb9aa9cad894.tar.gz scummvm-rg350-6417192584873f98737a0928adefeb9aa9cad894.tar.bz2 scummvm-rg350-6417192584873f98737a0928adefeb9aa9cad894.zip |
Merge branch 'master' into zvision
Conflicts:
video/avi_decoder.cpp
Diffstat (limited to 'devtools/create_mortdat/create_mortdat.cpp')
-rw-r--r-- | devtools/create_mortdat/create_mortdat.cpp | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/devtools/create_mortdat/create_mortdat.cpp b/devtools/create_mortdat/create_mortdat.cpp index f12a69bd37..5a491eea2f 100644 --- a/devtools/create_mortdat/create_mortdat.cpp +++ b/devtools/create_mortdat/create_mortdat.cpp @@ -204,16 +204,19 @@ void writeGameStrings() { /** * Write out the data for the English menu */ -void writeMenuBlock() { - // Write out a section header to the output file and the font data +void writeMenuData(const char *menuData, int languageId) { + // Write out a section header to the output file and the menu data const char menuHeader[4] = { 'M', 'E', 'N', 'U' }; outputFile.write(menuHeader, 4); // Section Id - outputFile.writeWord(strlen(menuDataEn) / 8); // Section size + int size = strlen(menuData) / 8 + 1; // Language code + Menu data size + outputFile.writeWord(size); + + outputFile.writeByte(languageId); // 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; + const char* str = menuData; while (*str != 0) { if (*(str++) != ' ') value |= (1 << (7 - valueCpt)); @@ -226,10 +229,34 @@ void writeMenuBlock() { } } +void writeMenuBlock() { + writeMenuData(menuDataEn, 1); + writeMenuData(menuDataDe, 2); +} + +void writeVerbNums(const int *verbs, int languageId) { + // Write out a section header to the output file + const char menuHeader[4] = { 'V', 'E', 'R', 'B' }; + outputFile.write(menuHeader, 4); // Section Id + int size = 52 + 1; // Language code + 26 words + outputFile.writeWord(size); + + outputFile.writeByte(languageId); + for (int i = 0; i < 26; i++) + outputFile.writeWord(verbs[i]); +} + +void writeMenuVerbs() { + writeVerbNums(verbsEn, 1); + writeVerbNums(verbsFr, 0); + writeVerbNums(verbsDe, 2); +} + void process() { writeFontBlock(); writeGameStrings(); writeEngineStrings(); + writeMenuVerbs(); writeMenuBlock(); } |