diff options
Diffstat (limited to 'devtools/create_mortdat/create_mortdat.cpp')
-rw-r--r-- | devtools/create_mortdat/create_mortdat.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/devtools/create_mortdat/create_mortdat.cpp b/devtools/create_mortdat/create_mortdat.cpp index 00b9b1ce4a..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() { +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,6 +229,11 @@ 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' }; |