diff options
Diffstat (limited to 'devtools')
-rw-r--r-- | devtools/create_mortdat/create_mortdat.cpp | 197 | ||||
-rw-r--r-- | devtools/create_mortdat/create_mortdat.h | 90 | ||||
-rw-r--r-- | devtools/create_mortdat/enginetext.h | 136 |
3 files changed, 236 insertions, 187 deletions
diff --git a/devtools/create_mortdat/create_mortdat.cpp b/devtools/create_mortdat/create_mortdat.cpp index aff67dc949..2f1539822d 100644 --- a/devtools/create_mortdat/create_mortdat.cpp +++ b/devtools/create_mortdat/create_mortdat.cpp @@ -38,74 +38,11 @@ #include <string.h> #include "common/endian.h" - -enum AccessMode { - kFileReadMode = 1, - kFileWriteMode = 2 -}; - -class File { -private: - FILE *f; -public: - bool open(const char *filename, AccessMode mode = kFileReadMode) { - f = fopen(filename, (mode == kFileReadMode) ? "rb" : "wb"); - return (f != NULL); - } - void close() { - fclose(f); - f = NULL; - } - int seek(int32 offset, int whence = SEEK_SET) { - return fseek(f, offset, whence); - } - long read(void *buffer, int len) { - return fread(buffer, 1, len, f); - } - void write(const void *buffer, int len) { - fwrite(buffer, 1, len, f); - } - byte readByte() { - byte v; - read(&v, sizeof(byte)); - return v; - } - uint16 readWord() { - uint16 v; - read(&v, sizeof(uint16)); - return FROM_LE_16(v); - } - uint32 readLong() { - uint32 v; - read(&v, sizeof(uint32)); - return FROM_LE_32(v); - } - void writeByte(byte v) { - write(&v, sizeof(byte)); - } - void writeWord(uint16 v) { - uint16 vTemp = TO_LE_16(v); - write(&vTemp, sizeof(uint16)); - } - void writeLong(uint32 v) { - uint32 vTemp = TO_LE_32(v); - write(&vTemp, sizeof(uint32)); - } - void writeString(const char *s) { - write(s, strlen(s) + 1); - } - uint32 pos() { - return ftell(f); - } -}; - -File outputFile, mortCom; +#include "create_mortdat.h" +#include "enginetext.h" /*-------------------------------------------------------------------------*/ -#define VERSION_MAJOR 1 -#define VERSION_MINOR 0 - void openOutputFile(const char *outFilename) { outputFile.open(outFilename, kFileWriteMode); @@ -171,143 +108,29 @@ void writeStaticStrings(const char **strings, int languageId) { } /** - * Write out the French strings previously hard-coded into the application - */ -void writeEnglishStaticStrings() { - const char *string_list[] = { - "[2][ ][YES][NO]", - "Go to", - "Someone enters, looks surised, but says nothing", - "Cool", - " Lourde ", - "Malsaine", - "Idem", - "You", - "are", - "Alone", - - "Gosh! You hear some noise...", - " | You should have noticed, | ", - "% of hints...", - "Do you want to wake up?", - "OK", - "", - " Save", - - " Load", - " Restart ", - "F3: Repeat", - "F8: Proceed", - "Hide self", - "take", - " probe ", - " raise ", - " -SUITE- ", - " -STOP- ", - "[1] [So, use the DEP menu] [Ok]", - "lift", - "read", - - "look", - "search", - "open", - "put", - "turn", - "tie", - "close", - "hit", - "pose", - "smash", - - "smell", - "scratch", - "probe", - "[1] [ | Before, use the DEP menu...] [Ok]", - "& day", - NULL - }; - - writeStaticStrings(string_list, 1); -} - -/** - * Write out the French strings previously hard-coded into the application + * Write out the strings previously hard-coded into the engine */ -void writeFrenchStaticStrings() { - const char *string_list[] = { - "[2][ ][OUI][NON]", - "aller", - "quelqu'un entre, parait ‚tonn‚ mais ne dit rien", - "Cool", - " Lourde ", - "Malsaine", - "Idem", - "Vous", - "ˆtes", - "SEUL", - - "Mince! Vous entendez du bruit...", - " | Vous devriez avoir remarqu‚| ", - "% des indices...", - "D‚sirez-vous vous r‚veiller?", - "OK", - "", - " Sauvegarde", - - " Chargement", - " Recommence ", - "F3: Encore", - "F8: Suite", - "se cacher", - - "prendre", - " sonder ", - "soulever", - " -SUITE- ", - " -STOP- ", - "[1][Alors, utilisez le menu DEP...][ok]", - "soulever", - "lire", - - "regarder", - "fouiller", - "ouvrir", - "mettre", - "tourner", - "attacher", - "fermer", - "frapper", - "poser", - "d‚foncer", - - "sentir", - "gratter", - "sonder", - "[1][ | Avant, utilisez le menu DEP...][ok]", - "& jour", - NULL - }; - - writeStaticStrings(string_list, 0); +void writeEngineStrings() { + writeStaticStrings(engineDataEn, 1); + writeStaticStrings(engineDataFr, 0); } void process() { writeFontBlock(); - writeEnglishStaticStrings(); - writeFrenchStaticStrings(); + writeEngineStrings(); } /** * Main method */ int main(int argc, char *argv[]) { - if (argc != 3) { - printf("Format: input_filename output_filename\n", argv[0]); + if (argc != 2) { + printf("Usage:\n%s input_filename\nWhere input_filename is the name of the Mortevielle DOS executable", argv[0]); exit(0); } mortCom.open(argv[1], kFileReadMode); - openOutputFile(argv[2]); + openOutputFile("mort.dat"); process(); diff --git a/devtools/create_mortdat/create_mortdat.h b/devtools/create_mortdat/create_mortdat.h new file mode 100644 index 0000000000..c46ad8aa26 --- /dev/null +++ b/devtools/create_mortdat/create_mortdat.h @@ -0,0 +1,90 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * This is a utility for extracting needed resource data from different language + * version of the Mortevielle executable files into a new file mort.dat - this + * is required for the ScummVM Mortevielle module to work properly + */ + +#define VERSION_MAJOR 1 +#define VERSION_MINOR 0 + +enum AccessMode { + kFileReadMode = 1, + kFileWriteMode = 2 +}; + +class File { +private: + FILE *f; +public: + bool open(const char *filename, AccessMode mode = kFileReadMode) { + f = fopen(filename, (mode == kFileReadMode) ? "rb" : "wb"); + return (f != NULL); + } + void close() { + fclose(f); + f = NULL; + } + int seek(int32 offset, int whence = SEEK_SET) { + return fseek(f, offset, whence); + } + long read(void *buffer, int len) { + return fread(buffer, 1, len, f); + } + void write(const void *buffer, int len) { + fwrite(buffer, 1, len, f); + } + byte readByte() { + byte v; + read(&v, sizeof(byte)); + return v; + } + uint16 readWord() { + uint16 v; + read(&v, sizeof(uint16)); + return FROM_LE_16(v); + } + uint32 readLong() { + uint32 v; + read(&v, sizeof(uint32)); + return FROM_LE_32(v); + } + void writeByte(byte v) { + write(&v, sizeof(byte)); + } + void writeWord(uint16 v) { + uint16 vTemp = TO_LE_16(v); + write(&vTemp, sizeof(uint16)); + } + void writeLong(uint32 v) { + uint32 vTemp = TO_LE_32(v); + write(&vTemp, sizeof(uint32)); + } + void writeString(const char *s) { + write(s, strlen(s) + 1); + } + uint32 pos() { + return ftell(f); + } +}; + +File outputFile, mortCom; + diff --git a/devtools/create_mortdat/enginetext.h b/devtools/create_mortdat/enginetext.h new file mode 100644 index 0000000000..fb4d12d966 --- /dev/null +++ b/devtools/create_mortdat/enginetext.h @@ -0,0 +1,136 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * This is a utility for extracting needed resource data from different language + * version of the Mortevielle executable files into a new file mort.dat - this + * is required for the ScummVM Mortevielle module to work properly + */ + +#ifndef ENGINEDATA_H +#define ENGINEDATA_H + +const char *engineDataEn[] = { + "[2][ ][YES][NO]", + "Go to", + "Someone enters, looks surised, but says nothing", + "Cool", + " Lourde ", + "Malsaine", + "Idem", + "You", + "are", + "Alone", + + "Gosh! You hear some noise...", + " | You should have noticed, | ", + "% of hints...", + "Do you want to wake up?", + "OK", + "", + " Save", + + " Load", + " Restart ", + "F3: Repeat", + "F8: Proceed", + "Hide self", + "take", + " probe ", + " raise ", + " -SUITE- ", + " -STOP- ", + "[1] [So, use the DEP menu] [Ok]", + "lift", + "read", + + "look", + "search", + "open", + "put", + "turn", + "tie", + "close", + "hit", + "pose", + "smash", + + "smell", + "scratch", + "probe", + "[1] [ | Before, use the DEP menu...] [Ok]", + "& day", + NULL +}; + +const char *engineDataFr[] = { + "[2][ ][OUI][NON]", + "aller", + "quelqu'un entre, parait ‚tonn‚ mais ne dit rien", + "Cool", + " Lourde ", + "Malsaine", + "Idem", + "Vous", + "ˆtes", + "SEUL", + + "Mince! Vous entendez du bruit...", + " | Vous devriez avoir remarqu‚| ", + "% des indices...", + "D‚sirez-vous vous r‚veiller?", + "OK", + "", + " Sauvegarde", + + " Chargement", + " Recommence ", + "F3: Encore", + "F8: Suite", + "se cacher", + + "prendre", + " sonder ", + "soulever", + " -SUITE- ", + " -STOP- ", + "[1][Alors, utilisez le menu DEP...][ok]", + "soulever", + "lire", + + "regarder", + "fouiller", + "ouvrir", + "mettre", + "tourner", + "attacher", + "fermer", + "frapper", + "poser", + "d‚foncer", + + "sentir", + "gratter", + "sonder", + "[1][ | Avant, utilisez le menu DEP...][ok]", + "& jour", + NULL +}; + +#endif |