aboutsummaryrefslogtreecommitdiff
path: root/devtools/create_mortdat/create_mortdat.cpp
diff options
context:
space:
mode:
authorThierry Crozat2013-08-03 16:45:05 +0100
committerThierry Crozat2013-08-03 16:50:14 +0100
commit0a2e64b903a65e9ffcfc3f7f81eba708c774d0f2 (patch)
tree93ab2865cf717fe65fa479601063e7c825f76f5f /devtools/create_mortdat/create_mortdat.cpp
parent178feb8e8bd46b0bb5222c7a4a09e6da91df9752 (diff)
downloadscummvm-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.cpp27
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();
}
/**