aboutsummaryrefslogtreecommitdiff
path: root/tools/create_hugo/create_hugo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/create_hugo/create_hugo.cpp')
-rw-r--r--tools/create_hugo/create_hugo.cpp72
1 files changed, 67 insertions, 5 deletions
diff --git a/tools/create_hugo/create_hugo.cpp b/tools/create_hugo/create_hugo.cpp
index 0f460c9268..031804f8e1 100644
--- a/tools/create_hugo/create_hugo.cpp
+++ b/tools/create_hugo/create_hugo.cpp
@@ -25,6 +25,9 @@
* data file, used by the game engine
*/
+// Disable symbol overrides so that we can use system headers.
+#define FORBIDDEN_SYMBOL_ALLOW_ALL
+
// HACK to allow building with the SDL backend on MinGW
// see bug #1800764 "TOOLS: MinGW tools building broken"
#ifdef main
@@ -49,6 +52,7 @@
#include "staticparser.h"
#include "staticschedule.h"
#include "staticutil.h"
+#include "staticfont.h"
static void writeByte(FILE *fp, uint8 b) {
fwrite(&b, 1, 1, fp);
@@ -307,13 +311,48 @@ int main(int argc, char *argv[]) {
writeTextArray(outFile, textEngine, NUM_ENGINE_TEXT);
// Write textIntro
- writeTextArray(outFile, textIntro, NUM_INTRO_TEXT);
+ writeTextArray(outFile, textIntro_dummy, NUM_INTRO_TEXT_DUMMY);
+ writeTextArray(outFile, textIntro_dummy, NUM_INTRO_TEXT_DUMMY);
+ writeTextArray(outFile, textIntro_v3, NUM_INTRO_TEXT_V3);
+ writeTextArray(outFile, textIntro_dummy, NUM_INTRO_TEXT_DUMMY);
+ writeTextArray(outFile, textIntro_dummy, NUM_INTRO_TEXT_DUMMY);
+ writeTextArray(outFile, textIntro_v3, NUM_INTRO_TEXT_V3);
// Write x_intro and y_intro
- writeUint16BE(outFile, NUM_INTRO_TICK);
- for (i = 0; i < NUM_INTRO_TICK; i++) {
- writeByte(outFile, x_intro[i]);
- writeByte(outFile, y_intro[i]);
+ writeUint16BE(outFile, NUM_INTRO_TICK_DUMMY);
+ for (i = 0; i < NUM_INTRO_TICK_DUMMY; i++) {
+ writeByte(outFile, x_intro_dummy[i]);
+ writeByte(outFile, y_intro_dummy[i]);
+ }
+
+ writeUint16BE(outFile, NUM_INTRO_TICK_DUMMY);
+ for (i = 0; i < NUM_INTRO_TICK_DUMMY; i++) {
+ writeByte(outFile, x_intro_dummy[i]);
+ writeByte(outFile, y_intro_dummy[i]);
+ }
+
+ writeUint16BE(outFile, NUM_INTRO_TICK_V3);
+ for (i = 0; i < NUM_INTRO_TICK_V3; i++) {
+ writeByte(outFile, x_intro_v3[i]);
+ writeByte(outFile, y_intro_v3[i]);
+ }
+
+ writeUint16BE(outFile, NUM_INTRO_TICK_V1D);
+ for (i = 0; i < NUM_INTRO_TICK_V1D; i++) {
+ writeByte(outFile, x_intro_v1d[i]);
+ writeByte(outFile, y_intro_v1d[i]);
+ }
+
+ writeUint16BE(outFile, NUM_INTRO_TICK_DUMMY);
+ for (i = 0; i < NUM_INTRO_TICK_DUMMY; i++) {
+ writeByte(outFile, x_intro_dummy[i]);
+ writeByte(outFile, y_intro_dummy[i]);
+ }
+
+ writeUint16BE(outFile, NUM_INTRO_TICK_V3);
+ for (i = 0; i < NUM_INTRO_TICK_V3; i++) {
+ writeByte(outFile, x_intro_v3[i]);
+ writeByte(outFile, y_intro_v3[i]);
}
// Write textMouse
@@ -780,6 +819,29 @@ int main(int argc, char *argv[]) {
writeUint16BE(outFile, kALnewscr_2d);
writeUint16BE(outFile, 0);
+ // The following fonts info have been added to avoid temporarly the .FON
+ // used in the DOS version
+ // font5
+ nbrElem = sizeof(font5) / sizeof(byte);
+ writeUint16BE(outFile, nbrElem);
+
+ for (int j = 0; j < nbrElem; j++)
+ writeByte(outFile, font5[j]);
+
+ // font6
+ nbrElem = sizeof(font6) / sizeof(byte);
+ writeUint16BE(outFile, nbrElem);
+
+ for (int j = 0; j < nbrElem; j++)
+ writeByte(outFile, font6[j]);
+
+ // font8
+ nbrElem = sizeof(font8) / sizeof(byte);
+ writeUint16BE(outFile, nbrElem);
+
+ for (int j = 0; j < nbrElem; j++)
+ writeByte(outFile, font8[j]);
+
fclose(outFile);
return 0;
}