aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dists/engine-data/hugo.datbin189600 -> 189584 bytes
-rw-r--r--engines/hugo/display.cpp43
-rw-r--r--engines/hugo/hugo.cpp16
-rw-r--r--engines/hugo/hugo.h2
-rw-r--r--tools/create_hugo/create_hugo.cpp328
-rw-r--r--tools/create_hugo/create_hugo.h2
-rw-r--r--tools/create_hugo/staticdisplay.h66
7 files changed, 216 insertions, 241 deletions
diff --git a/dists/engine-data/hugo.dat b/dists/engine-data/hugo.dat
index c404a1b456..556bb29436 100644
--- a/dists/engine-data/hugo.dat
+++ b/dists/engine-data/hugo.dat
Binary files differ
diff --git a/engines/hugo/display.cpp b/engines/hugo/display.cpp
index da821c5d3a..0210eb8f04 100644
--- a/engines/hugo/display.cpp
+++ b/engines/hugo/display.cpp
@@ -130,26 +130,12 @@ viewdib_t &Screen::getGUIBuffer() {
*/
void Screen::createPal() {
debugC(1, kDebugDisplay, "createPal");
-
- byte pal[3 * 256];
- for (uint i = 0; i < _paletteSize; ++i) {
- pal[3 * i + 0] = _mainPalette[4 * i + 0];
- pal[3 * i + 1] = _mainPalette[4 * i + 1];
- pal[3 * i + 2] = _mainPalette[4 * i + 2];
- }
-
- g_system->getPaletteManager()->setPalette(pal, 0, _paletteSize / 4);
+ g_system->getPaletteManager()->setPalette(_mainPalette, 0, _paletteSize / 3);
}
void Screen::setCursorPal() {
- byte pal[3 * 256];
- for (uint i = 0; i < _paletteSize; ++i) {
- pal[3 * i + 0] = _curPalette[4 * i + 0];
- pal[3 * i + 1] = _curPalette[4 * i + 1];
- pal[3 * i + 2] = _curPalette[4 * i + 2];
- }
-
- CursorMan.replaceCursorPalette(pal, 0, _paletteSize / 4);
+ debugC(1, kDebugDisplay, "setCursorPal");
+ CursorMan.replaceCursorPalette(_curPalette, 0, _paletteSize / 3);
}
/**
@@ -205,14 +191,11 @@ void Screen::displayRect(const int16 x, const int16 y, const int16 dx, const int
void Screen::remapPal(const uint16 oldIndex, const uint16 newIndex) {
debugC(1, kDebugDisplay, "Remap_pal(%d, %d)", oldIndex, newIndex);
- byte pal[3];
+ _curPalette[3 * oldIndex + 0] = _mainPalette[newIndex * 3 + 0];
+ _curPalette[3 * oldIndex + 1] = _mainPalette[newIndex * 3 + 1];
+ _curPalette[3 * oldIndex + 2] = _mainPalette[newIndex * 3 + 2];
- pal[0] = _curPalette[4 * oldIndex + 0] = _mainPalette[newIndex * 4 + 0];
- pal[1] = _curPalette[4 * oldIndex + 1] = _mainPalette[newIndex * 4 + 1];
- pal[2] = _curPalette[4 * oldIndex + 2] = _mainPalette[newIndex * 4 + 2];
- //pal[3] = _curPalette[4 * oldIndex + 3] = _mainPalette[newIndex * 4 + 3];
-
- g_system->getPaletteManager()->setPalette(pal, oldIndex, 1);
+ g_system->getPaletteManager()->setPalette(_curPalette, oldIndex, 1);
}
/**
@@ -231,17 +214,9 @@ void Screen::savePal(Common::WriteStream *f) const {
void Screen::restorePal(Common::ReadStream *f) {
debugC(1, kDebugDisplay, "restorePal()");
- byte pal[3];
-
- for (int i = 0; i < _paletteSize; i++)
+ for (int i = 0; i < _paletteSize; i++) {
_curPalette[i] = f->readByte();
-
- for (int i = 0; i < _paletteSize / 4; i++) {
- pal[0] = _curPalette[i * 4 + 0];
- pal[1] = _curPalette[i * 4 + 1];
- pal[2] = _curPalette[i * 4 + 2];
- //pal[3] = _curPalette[i * 4 + 3];
- g_system->getPaletteManager()->setPalette(pal, i, 1);
+ g_system->getPaletteManager()->setPalette(_curPalette, i, 1);
}
}
diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp
index a99e83e648..2143b8cfde 100644
--- a/engines/hugo/hugo.cpp
+++ b/engines/hugo/hugo.cpp
@@ -398,22 +398,25 @@ bool HugoEngine::loadHugoDat() {
_numVariant = in.readUint16BE();
_screen->loadPalette(in);
+ _screen->loadFontArr(in);
_text->loadAllTexts(in);
_intro->loadIntroData(in);
_parser->loadArrayReqs(in);
+ _parser->loadCatchallList(in);
+ _parser->loadBackgroundObjects(in);
+ _parser->loadCmdList(in);
_mouse->loadHotspots(in);
_inventory->loadInvent(in);
_object->loadObjectUses(in);
- _parser->loadCatchallList(in);
- _parser->loadBackgroundObjects(in);
+ _object->loadObjectArr(in);
+ _object->loadNumObj(in);
_scheduler->loadPoints(in);
- _parser->loadCmdList(in);
_scheduler->loadScreenAct(in);
- _object->loadObjectArr(in);
+ _scheduler->loadActListArr(in);
+ _scheduler->loadAlNewscrIndex(in);
_hero = &_object->_objects[kHeroIndex]; // This always points to hero
_screen_p = &(_object->_objects[kHeroIndex].screenIndex); // Current screen is hero's
_heroImage = kHeroIndex; // Current in use hero image
- _scheduler->loadActListArr(in);
for (int varnt = 0; varnt < _numVariant; varnt++) {
if (varnt == _gameVariant) {
@@ -464,10 +467,7 @@ bool HugoEngine::loadHugoDat() {
}
}
- _object->loadNumObj(in);
- _scheduler->loadAlNewscrIndex(in);
_sound->loadIntroSong(in);
- _screen->loadFontArr(in);
_topMenu->loadBmpArr(in);
return true;
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index 45d2dc4dd4..b2739c829e 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -36,7 +36,7 @@
#include "hugo/file.h"
#define HUGO_DAT_VER_MAJ 0 // 1 byte
-#define HUGO_DAT_VER_MIN 41 // 1 byte
+#define HUGO_DAT_VER_MIN 42 // 1 byte
#define DATAALIGNMENT 4
namespace Common {
diff --git a/tools/create_hugo/create_hugo.cpp b/tools/create_hugo/create_hugo.cpp
index 01b6d915f0..1dffa0edf1 100644
--- a/tools/create_hugo/create_hugo.cpp
+++ b/tools/create_hugo/create_hugo.cpp
@@ -103,6 +103,29 @@ int main(int argc, char *argv[]) {
writeByte(outFile, _palette[i]);
}
+ // 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]);
+
// Write textData
// textData_1w
nbrElem = sizeof(textData_1w) / sizeof(char *);
@@ -396,6 +419,114 @@ int main(int argc, char *argv[]) {
nbrElem = sizeof(arrayReqs_3d) / sizeof(uint16 *);
writeUint16Array(outFile, arrayReqs_3d, nbrElem);
+ // catchall_1w
+ nbrElem = sizeof(catchall_1w) / sizeof(background_t);
+ writeBackgroundArray(outFile, catchall_1w, nbrElem);
+
+ // catchall_2w
+ nbrElem = sizeof(catchall_2w) / sizeof(background_t);
+ writeBackgroundArray(outFile, catchall_2w, nbrElem);
+
+ // catchall_3w
+ nbrElem = sizeof(catchall_3w) / sizeof(background_t);
+ writeBackgroundArray(outFile, catchall_3w, nbrElem);
+
+ // catchall_1d
+ nbrElem = sizeof(catchall_1d) / sizeof(background_t);
+ writeBackgroundArray(outFile, catchall_1d, nbrElem);
+
+ // catchall_2d
+ nbrElem = sizeof(catchall_2d) / sizeof(background_t);
+ writeBackgroundArray(outFile, catchall_2d, nbrElem);
+
+ // catchall_3d
+ nbrElem = sizeof(catchall_3d) / sizeof(background_t);
+ writeBackgroundArray(outFile, catchall_3d, nbrElem);
+
+ // backgroundList_1w
+ nbrElem = sizeof(backgroundList_1w) / sizeof(background_t *);
+ writeUint16BE(outFile, nbrElem);
+ for (int j = 0; j < nbrElem; j++) {
+ nbrSubElem = 1;
+ for (int k = 0; backgroundList_1w[j][k].verbIndex != 0; k++)
+ nbrSubElem ++;
+ writeBackgroundArray(outFile, backgroundList_1w[j], nbrSubElem);
+ }
+
+ // backgroundList_2w
+ nbrElem = sizeof(backgroundList_2w) / sizeof(background_t *);
+ writeUint16BE(outFile, nbrElem);
+ for (int j = 0; j < nbrElem; j++) {
+ nbrSubElem = 1;
+ for (int k = 0; backgroundList_2w[j][k].verbIndex != 0; k++)
+ nbrSubElem ++;
+ writeBackgroundArray(outFile, backgroundList_2w[j], nbrSubElem);
+ }
+
+ // backgroundList_3w
+ nbrElem = sizeof(backgroundList_3w) / sizeof(background_t *);
+ writeUint16BE(outFile, nbrElem);
+ for (int j = 0; j < nbrElem; j++) {
+ nbrSubElem = 1;
+ for (int k = 0; backgroundList_3w[j][k].verbIndex != 0; k++)
+ nbrSubElem ++;
+ writeBackgroundArray(outFile, backgroundList_3w[j], nbrSubElem);
+ }
+
+ // backgroundList_1d
+ nbrElem = sizeof(backgroundList_1d) / sizeof(background_t *);
+ writeUint16BE(outFile, nbrElem);
+ for (int j = 0; j < nbrElem; j++) {
+ nbrSubElem = 1;
+ for (int k = 0; backgroundList_1d[j][k].verbIndex != 0; k++)
+ nbrSubElem ++;
+ writeBackgroundArray(outFile, backgroundList_1d[j], nbrSubElem);
+ }
+
+ // backgroundList_2d
+ nbrElem = sizeof(backgroundList_2d) / sizeof(background_t *);
+ writeUint16BE(outFile, nbrElem);
+ for (int j = 0; j < nbrElem; j++) {
+ nbrSubElem = 1;
+ for (int k = 0; backgroundList_2d[j][k].verbIndex != 0; k++)
+ nbrSubElem ++;
+ writeBackgroundArray(outFile, backgroundList_2d[j], nbrSubElem);
+ }
+
+ // backgroundList_3d
+ nbrElem = sizeof(backgroundList_3d) / sizeof(background_t *);
+ writeUint16BE(outFile, nbrElem);
+ for (int j = 0; j < nbrElem; j++) {
+ nbrSubElem = 1;
+ for (int k = 0; backgroundList_3d[j][k].verbIndex != 0; k++)
+ nbrSubElem ++;
+ writeBackgroundArray(outFile, backgroundList_3d[j], nbrSubElem);
+ }
+
+ // cmdList_1w
+ nbrElem = sizeof(cmdList_1w) / sizeof(cmd **);
+ writeCmdArray(outFile, cmdList_1w, nbrElem);
+
+ // cmdList_2w
+ nbrElem = sizeof(cmdList_2w) / sizeof(cmd **);
+ writeCmdArray(outFile, cmdList_2w, nbrElem);
+
+ // cmdList_3w
+ nbrElem = sizeof(cmdList_3w) / sizeof(cmd **);
+ writeCmdArray(outFile, cmdList_3w, nbrElem);
+
+ // cmdList_1d
+ nbrElem = sizeof(cmdList_1d) / sizeof(cmd **);
+ writeCmdArray(outFile, cmdList_1d, nbrElem);
+
+ // cmdList_2d
+ nbrElem = sizeof(cmdList_2d) / sizeof(cmd **);
+ writeCmdArray(outFile, cmdList_2d, nbrElem);
+
+ // cmdList_3d
+ nbrElem = sizeof(cmdList_3d) / sizeof(cmd **);
+ writeCmdArray(outFile, cmdList_3d, nbrElem);
+
// hotspots_1w
nbrElem = sizeof(hotspots_1w) / sizeof(hotspot_t);
writeHotspot(outFile, hotspots_1w, nbrElem);
@@ -486,89 +617,37 @@ int main(int argc, char *argv[]) {
nbrElem = sizeof(uses_3d) / sizeof(uses_t);
writeUseArray(outFile, uses_3d, nbrElem);
- // catchall_1w
- nbrElem = sizeof(catchall_1w) / sizeof(background_t);
- writeBackgroundArray(outFile, catchall_1w, nbrElem);
-
- // catchall_2w
- nbrElem = sizeof(catchall_2w) / sizeof(background_t);
- writeBackgroundArray(outFile, catchall_2w, nbrElem);
-
- // catchall_3w
- nbrElem = sizeof(catchall_3w) / sizeof(background_t);
- writeBackgroundArray(outFile, catchall_3w, nbrElem);
-
- // catchall_1d
- nbrElem = sizeof(catchall_1d) / sizeof(background_t);
- writeBackgroundArray(outFile, catchall_1d, nbrElem);
-
- // catchall_2d
- nbrElem = sizeof(catchall_2d) / sizeof(background_t);
- writeBackgroundArray(outFile, catchall_2d, nbrElem);
-
- // catchall_3d
- nbrElem = sizeof(catchall_3d) / sizeof(background_t);
- writeBackgroundArray(outFile, catchall_3d, nbrElem);
+ // objects_1w
+ nbrElem = sizeof(objects_1w) / sizeof(object_t);
+ writeObjectArray(outFile, objects_1w, nbrElem);
- // backgroundList_1w
- nbrElem = sizeof(backgroundList_1w) / sizeof(background_t *);
- writeUint16BE(outFile, nbrElem);
- for (int j = 0; j < nbrElem; j++) {
- nbrSubElem = 1;
- for (int k = 0; backgroundList_1w[j][k].verbIndex != 0; k++)
- nbrSubElem ++;
- writeBackgroundArray(outFile, backgroundList_1w[j], nbrSubElem);
- }
+ // objects_2w
+ nbrElem = sizeof(objects_2w) / sizeof(object_t);
+ writeObjectArray(outFile, objects_2w, nbrElem);
- // backgroundList_2w
- nbrElem = sizeof(backgroundList_2w) / sizeof(background_t *);
- writeUint16BE(outFile, nbrElem);
- for (int j = 0; j < nbrElem; j++) {
- nbrSubElem = 1;
- for (int k = 0; backgroundList_2w[j][k].verbIndex != 0; k++)
- nbrSubElem ++;
- writeBackgroundArray(outFile, backgroundList_2w[j], nbrSubElem);
- }
+ // objects_3w
+ nbrElem = sizeof(objects_3w) / sizeof(object_t);
+ writeObjectArray(outFile, objects_3w, nbrElem);
- // backgroundList_3w
- nbrElem = sizeof(backgroundList_3w) / sizeof(background_t *);
- writeUint16BE(outFile, nbrElem);
- for (int j = 0; j < nbrElem; j++) {
- nbrSubElem = 1;
- for (int k = 0; backgroundList_3w[j][k].verbIndex != 0; k++)
- nbrSubElem ++;
- writeBackgroundArray(outFile, backgroundList_3w[j], nbrSubElem);
- }
+ // objects_1d
+ nbrElem = sizeof(objects_1d) / sizeof(object_t);
+ writeObjectArray(outFile, objects_1d, nbrElem);
- // backgroundList_1d
- nbrElem = sizeof(backgroundList_1d) / sizeof(background_t *);
- writeUint16BE(outFile, nbrElem);
- for (int j = 0; j < nbrElem; j++) {
- nbrSubElem = 1;
- for (int k = 0; backgroundList_1d[j][k].verbIndex != 0; k++)
- nbrSubElem ++;
- writeBackgroundArray(outFile, backgroundList_1d[j], nbrSubElem);
- }
+ // objects_2d
+ nbrElem = sizeof(objects_2d) / sizeof(object_t);
+ writeObjectArray(outFile, objects_2d, nbrElem);
- // backgroundList_2d
- nbrElem = sizeof(backgroundList_2d) / sizeof(background_t *);
- writeUint16BE(outFile, nbrElem);
- for (int j = 0; j < nbrElem; j++) {
- nbrSubElem = 1;
- for (int k = 0; backgroundList_2d[j][k].verbIndex != 0; k++)
- nbrSubElem ++;
- writeBackgroundArray(outFile, backgroundList_2d[j], nbrSubElem);
- }
+ // objects_3d
+ nbrElem = sizeof(objects_3d) / sizeof(object_t);
+ writeObjectArray(outFile, objects_3d, nbrElem);
- // backgroundList_3d
- nbrElem = sizeof(backgroundList_3d) / sizeof(background_t *);
- writeUint16BE(outFile, nbrElem);
- for (int j = 0; j < nbrElem; j++) {
- nbrSubElem = 1;
- for (int k = 0; backgroundList_3d[j][k].verbIndex != 0; k++)
- nbrSubElem ++;
- writeBackgroundArray(outFile, backgroundList_3d[j], nbrSubElem);
- }
+ // Save LASTOBJ
+ writeUint16BE(outFile, LASTOBJ_1w);
+ writeUint16BE(outFile, LASTOBJ_2w);
+ writeUint16BE(outFile, LASTOBJ_3w);
+ writeUint16BE(outFile, LASTOBJ_1d); //(not set in original, as Hugo1 DOS doesn't use a DAT file to pack the screens)
+ writeUint16BE(outFile, LASTOBJ_2d);
+ writeUint16BE(outFile, LASTOBJ_3d);
// points_1w
nbrElem = sizeof(points_1w) / sizeof(byte);
@@ -612,30 +691,6 @@ int main(int argc, char *argv[]) {
for (int j = 0; j < nbrElem; j++)
writeByte(outFile, points_3d[j]);
- // cmdList_1w
- nbrElem = sizeof(cmdList_1w) / sizeof(cmd **);
- writeCmdArray(outFile, cmdList_1w, nbrElem);
-
- // cmdList_2w
- nbrElem = sizeof(cmdList_2w) / sizeof(cmd **);
- writeCmdArray(outFile, cmdList_2w, nbrElem);
-
- // cmdList_3w
- nbrElem = sizeof(cmdList_3w) / sizeof(cmd **);
- writeCmdArray(outFile, cmdList_3w, nbrElem);
-
- // cmdList_1d
- nbrElem = sizeof(cmdList_1d) / sizeof(cmd **);
- writeCmdArray(outFile, cmdList_1d, nbrElem);
-
- // cmdList_2d
- nbrElem = sizeof(cmdList_2d) / sizeof(cmd **);
- writeCmdArray(outFile, cmdList_2d, nbrElem);
-
- // cmdList_3d
- nbrElem = sizeof(cmdList_3d) / sizeof(cmd **);
- writeCmdArray(outFile, cmdList_3d, nbrElem);
-
// screenActs_1w
nbrElem = sizeof(screenActs_1w) / sizeof(uint16 *);
writeScreenActs(outFile, screenActs_1w, nbrElem);
@@ -660,30 +715,6 @@ int main(int argc, char *argv[]) {
nbrElem = sizeof(screenActs_3d) / sizeof(uint16 *);
writeScreenActs(outFile, screenActs_3d, nbrElem);
- // objects_1w
- nbrElem = sizeof(objects_1w) / sizeof(object_t);
- writeObjectArray(outFile, objects_1w, nbrElem);
-
- // objects_2w
- nbrElem = sizeof(objects_2w) / sizeof(object_t);
- writeObjectArray(outFile, objects_2w, nbrElem);
-
- // objects_3w
- nbrElem = sizeof(objects_3w) / sizeof(object_t);
- writeObjectArray(outFile, objects_3w, nbrElem);
-
- // objects_1d
- nbrElem = sizeof(objects_1d) / sizeof(object_t);
- writeObjectArray(outFile, objects_1d, nbrElem);
-
- // objects_2d
- nbrElem = sizeof(objects_2d) / sizeof(object_t);
- writeObjectArray(outFile, objects_2d, nbrElem);
-
- // objects_3d
- nbrElem = sizeof(objects_3d) / sizeof(object_t);
- writeObjectArray(outFile, objects_3d, nbrElem);
-
// actlistArr_1w
nbrElem = sizeof(actListArr_1w) / sizeof(actList);
writeActListArray(outFile, actListArr_1w, nbrElem);
@@ -708,6 +739,14 @@ int main(int argc, char *argv[]) {
nbrElem = sizeof(actListArr_3d) / sizeof(actList);
writeActListArray(outFile, actListArr_3d, nbrElem);
+ // Maze ALnewscr
+ writeUint16BE(outFile, 0);
+ writeUint16BE(outFile, kALnewscr_2w);
+ writeUint16BE(outFile, 0);
+ writeUint16BE(outFile, 0);
+ writeUint16BE(outFile, kALnewscr_2d);
+ writeUint16BE(outFile, 0);
+
writeSByte(outFile, NUM_TUNES_1w);
writeSByte(outFile, SILENCE_1w);
writeSByte(outFile, TEST_SOUND_1w);
@@ -808,22 +847,6 @@ int main(int argc, char *argv[]) {
writeUint16BE(outFile, kVTake_3d);
writeUint16BE(outFile, kVDrop_3d);
- // Save LASTOBJ
- writeUint16BE(outFile, LASTOBJ_1w);
- writeUint16BE(outFile, LASTOBJ_2w);
- writeUint16BE(outFile, LASTOBJ_3w);
- writeUint16BE(outFile, LASTOBJ_1d); //(not set in original, as Hugo1 DOS doesn't use a DAT file to pack the screens)
- writeUint16BE(outFile, LASTOBJ_2d);
- writeUint16BE(outFile, LASTOBJ_3d);
-
- // Maze ALnewscr
- writeUint16BE(outFile, 0);
- writeUint16BE(outFile, kALnewscr_2w);
- writeUint16BE(outFile, 0);
- writeUint16BE(outFile, 0);
- writeUint16BE(outFile, kALnewscr_2d);
- writeUint16BE(outFile, 0);
-
// DOS Intro music
// Win version do not use it
// H1 Dos doesn't have an intro
@@ -835,29 +858,6 @@ int main(int argc, char *argv[]) {
writeUint16BE(outFile, 0);
writeUint16BE(outFile, kDTsong11_3d);
- // 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]);
-
//bitmap images for menu
writeUint16BE(outFile, 18);
diff --git a/tools/create_hugo/create_hugo.h b/tools/create_hugo/create_hugo.h
index 7fb5d761ba..f30c186877 100644
--- a/tools/create_hugo/create_hugo.h
+++ b/tools/create_hugo/create_hugo.h
@@ -31,7 +31,7 @@
#define DATAALIGNMENT 4
#define HUGO_DAT_VER_MAJ 0 // 1 byte
-#define HUGO_DAT_VER_MIN 41 // 1 byte
+#define HUGO_DAT_VER_MIN 42 // 1 byte
typedef unsigned char uint8;
typedef unsigned char byte;
diff --git a/tools/create_hugo/staticdisplay.h b/tools/create_hugo/staticdisplay.h
index a9f38ba7a0..790bf74d3b 100644
--- a/tools/create_hugo/staticdisplay.h
+++ b/tools/create_hugo/staticdisplay.h
@@ -33,7 +33,7 @@
#ifndef STATICDISPLAY_H
#define STATICDISPLAY_H
-#define SIZE_PAL_ARRAY 64
+#define SIZE_PAL_ARRAY 3*16
#if 1
// Color table of standard 16 VGA colors
@@ -45,22 +45,22 @@
byte _palette[SIZE_PAL_ARRAY] = {
- 0, 0, 0, 0, // BLACK
- 0, 0, V1, 0, // BLUE
- 0, V1, 0, 0, // GREEN
- 0, V1, V1, 0, // CYAN
- V1, 0, 0, 0, // RED
- V1, 0, V1, 0, // MAGENTA
- V1, V3, 0, 0, // BROWN
- V1, V1, V1, 0, // WHITE (LIGHT GRAY)
- V3, V3, V3, 0, // GRAY (DARK GRAY)
- V4, V4, V2, 0, // LIGHTBLUE
- V4, V2, V4, 0, // LIGHTGREEN
- V4, V2, V2, 0, // LIGHTCYAN
- V2, V4, V4, 0, // LIGHTRED
- V2, V4, V2, 0, // LIGHTMAGENTA
- V2, V2, V4, 0, // YELLOW
- V2, V2, V2, 0 // BRIGHTWHITE
+ 0, 0, 0, // BLACK
+ 0, 0, V1, // BLUE
+ 0, V1, 0, // GREEN
+ 0, V1, V1, // CYAN
+ V1, 0, 0, // RED
+ V1, 0, V1, // MAGENTA
+ V1, V3, 0, // BROWN
+ V1, V1, V1, // WHITE (LIGHT GRAY)
+ V3, V3, V3, // GRAY (DARK GRAY)
+ V4, V4, V2, // LIGHTBLUE
+ V4, V2, V4, // LIGHTGREEN
+ V4, V2, V2, // LIGHTCYAN
+ V2, V4, V4, // LIGHTRED
+ V2, V4, V2, // LIGHTMAGENTA
+ V2, V2, V4, // YELLOW
+ V2, V2, V2 // BRIGHTWHITE
};
#else
// Original paletter found in original exe.
@@ -70,22 +70,22 @@ byte _palette[SIZE_PAL_ARRAY] = {
#define C2 255 // High intensity value
#define C3 127 // Special for Brown/Gray
byte _palette[SIZE_PAL_ARRAY] = {
- 0, 0, 0, 0, // BLACK
- 0, 0, C1, 0, // BLUE
- 0, C1, 0, 0, // GREEN
- 0, C1, C1, 0, // CYAN
- C1, 0, 0, 0, // RED
- C1, 0, C1, 0, // MAGENTA
- C3, C3, 0, 0, // BROWN
- C1, C1, C1, 0, // WHITE (LIGHT GRAY)
- C3, C3, C3, 0, // GRAY (DARK GRAY)
- 0, 0, C2, 0, // LIGHTBLUE
- 0, C2, 0, 0, // LIGHTGREEN
- 0, C2, C2, 0, // LIGHTCYAN
- C2, 0, 0, 0, // LIGHTRED
- C2, 0, C2, 0, // LIGHTMAGENTA
- C2, C2, 0, 0, // YELLOW
- C2, C2, C2, 0 // BRIGHTWHITE
+ 0, 0, 0, // BLACK
+ 0, 0, C1, // BLUE
+ 0, C1, 0, // GREEN
+ 0, C1, C1, // CYAN
+ C1, 0, 0, // RED
+ C1, 0, C1, // MAGENTA
+ C3, C3, 0, // BROWN
+ C1, C1, C1, // WHITE (LIGHT GRAY)
+ C3, C3, C3, // GRAY (DARK GRAY)
+ 0, 0, C2, // LIGHTBLUE
+ 0, C2, 0, // LIGHTGREEN
+ 0, C2, C2, // LIGHTCYAN
+ C2, 0, 0, // LIGHTRED
+ C2, 0, C2, // LIGHTMAGENTA
+ C2, C2, 0, // YELLOW
+ C2, C2, C2 // BRIGHTWHITE
};
#endif