aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/mortevielle/actions.cpp2
-rw-r--r--engines/mortevielle/alert.h2
-rw-r--r--engines/mortevielle/boite.cpp2
-rw-r--r--engines/mortevielle/droite.cpp1
-rw-r--r--engines/mortevielle/level15.cpp1
-rw-r--r--engines/mortevielle/mor2.h2
-rw-r--r--engines/mortevielle/prog.cpp1
-rw-r--r--engines/mortevielle/ques.cpp10
-rw-r--r--engines/mortevielle/sprint.cpp1
-rw-r--r--engines/mortevielle/var_mor.cpp382
-rw-r--r--engines/mortevielle/var_mor.h380
11 files changed, 393 insertions, 391 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp
index 27598feea9..6e28c173e6 100644
--- a/engines/mortevielle/actions.cpp
+++ b/engines/mortevielle/actions.cpp
@@ -26,6 +26,8 @@
*/
#include "mortevielle/actions.h"
+#include "mortevielle/mor.h"
+#include "mortevielle/mor2.h"
namespace Mortevielle {
diff --git a/engines/mortevielle/alert.h b/engines/mortevielle/alert.h
index 6c66a20e6a..6419e814cf 100644
--- a/engines/mortevielle/alert.h
+++ b/engines/mortevielle/alert.h
@@ -33,7 +33,7 @@
namespace Mortevielle {
int do_alert(Common::String str_, int n);
-void decod(Common::String s, int &nbc, int &nbl, int &col, Common::String &c, Common::String &cs);
+static void decod(Common::String s, int &nbc, int &nbl, int &col, Common::String &c, Common::String &cs);
static void posit(int ji, int &coldep, int &esp);
static void fait_boite(int lidep, int nli, int tx);
static void fait_choix(Common::String c, int &coldep, int &nbcase, array<1, 2, varying_string<3> > &s, int &esp);
diff --git a/engines/mortevielle/boite.cpp b/engines/mortevielle/boite.cpp
index cfda996e10..0a37cc7af2 100644
--- a/engines/mortevielle/boite.cpp
+++ b/engines/mortevielle/boite.cpp
@@ -26,6 +26,8 @@
*/
#include "mortevielle/boite.h"
+#include "mortevielle/mouse.h"
+#include "mortevielle/var_mor.h"
namespace Mortevielle {
diff --git a/engines/mortevielle/droite.cpp b/engines/mortevielle/droite.cpp
index 3f582e8cb2..9def04add5 100644
--- a/engines/mortevielle/droite.cpp
+++ b/engines/mortevielle/droite.cpp
@@ -26,6 +26,7 @@
*/
#include "mortevielle/droite.h"
+#include "mortevielle/var_mor.h"
namespace Mortevielle {
diff --git a/engines/mortevielle/level15.cpp b/engines/mortevielle/level15.cpp
index 6f5f001d74..42219ee943 100644
--- a/engines/mortevielle/level15.cpp
+++ b/engines/mortevielle/level15.cpp
@@ -26,6 +26,7 @@
*/
#include "mortevielle/level15.h"
+#include "mortevielle/var_mor.h"
namespace Mortevielle {
diff --git a/engines/mortevielle/mor2.h b/engines/mortevielle/mor2.h
index 46181c5e9a..adfbff9d26 100644
--- a/engines/mortevielle/mor2.h
+++ b/engines/mortevielle/mor2.h
@@ -40,7 +40,7 @@ void tmlieu(int mli);
void tlu(int af, int ob);
void delin(int n);
void affrep();
-void mfouen()
+void mfouen();
void atf3f8(int &key);
/* NIVEAU 6 */
void tperd();
diff --git a/engines/mortevielle/prog.cpp b/engines/mortevielle/prog.cpp
index ddf9e4d36b..08b63fe3aa 100644
--- a/engines/mortevielle/prog.cpp
+++ b/engines/mortevielle/prog.cpp
@@ -25,6 +25,7 @@
* Copyright (c) 1988-1989 Lankhor
*/
+#include "mortevielle/mor2.h"
#include "mortevielle/prog.h"
namespace Mortevielle {
diff --git a/engines/mortevielle/ques.cpp b/engines/mortevielle/ques.cpp
index a802516795..8ea4e4c49c 100644
--- a/engines/mortevielle/ques.cpp
+++ b/engines/mortevielle/ques.cpp
@@ -31,14 +31,8 @@
namespace Mortevielle {
/* overlay */ bool ques() {
- const array<1, 10, int> ta
- = {{
- 511, 516, 524, 531, 545,
- 552, 559, 563, 570, 576
- }
- };
- const array<1, 10, int> ok
- = {{ 4, 7, 1, 6, 4, 4, 2, 5, 3, 1 }};
+ const int ta[10] = {511, 516, 524, 531, 545, 552, 559, 563, 570, 576};
+ const int ok[10] = {4, 7, 1, 6, 4, 4, 2, 5, 3, 1 };
bool q, func, test;
int i, j, k, y, memk;
diff --git a/engines/mortevielle/sprint.cpp b/engines/mortevielle/sprint.cpp
index 92ff49f768..6209b08f7d 100644
--- a/engines/mortevielle/sprint.cpp
+++ b/engines/mortevielle/sprint.cpp
@@ -25,6 +25,7 @@
* Copyright (c) 1988-1989 Lankhor
*/
+#include "mortevielle/mouse.h"
#include "mortevielle/sprint.h"
#include "common/str.h"
diff --git a/engines/mortevielle/var_mor.cpp b/engines/mortevielle/var_mor.cpp
index 2f9928738d..25789e29b3 100644
--- a/engines/mortevielle/var_mor.cpp
+++ b/engines/mortevielle/var_mor.cpp
@@ -30,390 +30,10 @@
namespace Mortevielle {
-/* Constantes, Types et Variables pour le
-
- M A N O I R DE M O R T E V I E L L E
-
- ( version Nov 1988
- +
- musique & paroles Oct 88 )
- */
-
-
-/*---------------------------------------------------------------------------*/
-/*------------------------- CONSTANTES ----------------------------------*/
-/*---------------------------------------------------------------------------*/
-
-const float freq0 = 1.19318e6;
-
-const int seg_syst = 0x6fed;
-const int segmou = 0x6f00;
-const int segdon = 0x6c00;
-const int adani = 0x7314;
-const int adword = 0x4000;
-const int adtroct = 0x406b;
-const int adcfiec = 0x4300;
-const int adbruit = 0x5cb0;/*2C00;*/
-const int adbruit1 = 0x6924;/*3874;*/
-const int adbruit2 = 0x6b30;/*3A80;*/
-const int adbruit3 = 0x6ba6;/*3AF6;*/
-const int adbruit5 = 0x3b50;
-const int adson = 0x5cb0;/*2C00;*/
-const int adson2 = 0x60b0;/*3000;*/
-const int offsetb1 = 6;
-const int offsetb2 = 4;
-const int offsetb3 = 6;
-
-const int null = 255;
-
-const int tempo_mus = 71;
-const int tempo_bruit = 78;
-const int tempo_f = 80;
-const int tempo_m = 89;
-
-const int ti1 = 410;
-const int ti2 = 250;
-const int maxti = 7975;
-const int maxtd = 600;
-const int max_rect = 14;
-
-const int ams = 0;
-const int cga = 1;
-const int ega = 2;
-const int her = 3;
-const int tan = 4;
-
-const int c_repon = 0;
-const int c_st41 = 186;
-const int c_tparler = 247;
-const int c_paroles = 292;
-const int c_tmlieu = 435;
-const int c_dialpre = 456;
-const int c_action = 476;
-const int c_saction = 497;
-const int c_dis = 502;
-const int c_fin = 510; /* => n'existe pas ; si !! */
-
-const int arega = 0;
-const int asoul = 154;
-const int aouvr = 282;
-const int achai = 387;
-const int acha = 492;
-const int arcf = 1272;
-const int arep = 1314;
-const int amzon = 1650;
-const int fleche = 1758;
-
-const int no_choice = 0;
-const int invent = 1;
-const int depla = 2;
-const int action = 3;
-const int saction = 4;
-const int discut = 5;
-const int fichier = 6;
-const int sauve = 7;
-const int charge = 8;
-
-const int attacher = 0x301;
-const int attendre = 0x302;
-const int defoncer = 0x303;
-const int dormir = 0x304;
-const int ecouter = 0x305;
-const int entrer = 0x306;
-const int fermer = 0x307;
-const int fouiller = 0x308;
-const int frapper = 0x309;
-const int gratter = 0x30a;
-const int lire = 0x30b;
-const int manger = 0x30c;
-const int mettre = 0x30d;
-const int ouvrir = 0x30e;
-const int prendre = 0x30f;
-const int regarder = 0x310;
-const int sentir = 0x311;
-const int sonder = 0x312;
-const int sortir = 0x313;
-const int soulever = 0x314;
-const int tourner = 0x315;
-
-const int scacher = 0x401;
-const int sfouiller = 0x402;
-const int slire = 0x403;
-const int sposer = 0x404;
-const int sregarder = 0x405;
-
-const byte tabdbc[18] = {7, 23, 7, 14, 13, 9, 14, 9, 5, 12, 6, 12, 13, 4, 0, 4, 5, 9};
-const byte tabdph[16] = {0, 10, 2, 0, 2, 10, 3, 0, 3, 7, 5, 0, 6, 7, 7, 10};
-const byte typcon[26] = {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3};
-const byte intcon[26] = {1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0};
-const byte tnocon[364] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-
-const matrix<1, 8, 1, 4, byte> don
-= {{{{ 7, 37, 22, 8}},
- {{19, 33, 23, 7}},
- {{31, 89, 10, 21}},
- {{43, 25, 11, 5}},
- {{55, 37, 5, 8}},
- {{64, 13, 11, 2}},
- {{62, 22, 13, 4}},
- {{62, 25, 13, 5}}
- }
-};
-
-const array<1, 2, varying_string<11> > fic
-= {{ " Sauvegarde",
- " Chargement"
- }
-};
-
-const byte addv[2] = {8, 8};
-
-const char recom[] = " Recommence ";
-
-const char f3[] = "F3: Encore";
-const char f8[] = "F8: Suite";
-
-const int max_patt = 20;
-
-
-const byte rang[16] = {15, 14, 11, 7, 13, 12, 10, 6, 9, 5, 3, 1, 2, 4, 8, 0};
-
-
/*---------------------------------------------------------------------------*/
-/*-------------------------------- TYPES --------------------------------*/
+/*-------------------- PROCEDURES AND FONCTIONS -----------------------*/
/*---------------------------------------------------------------------------*/
-typedef float long_int;
-typedef file<byte> fichier_byte;
-struct sav_chaine {
- int conf;
- char pourc[11];
- char teauto[43];
- char sjer[31];
- int mlieu, iboul, ibag, icave, ivier, ipuit;
- int derobj, iloic, icryp;
- bool ipre;
- char heure;
-};
-struct registres {
- int ax, bx, cx, dx, bp, si, di, ds, es, flags;
-};
-typedef array<1, 1410, char> phrase;
-struct ind {
- int indis;
- byte point;
-};
-typedef array<0, maxtd, ind> tabind;
-
-typedef matrix<1, 7, 0, 24, byte> tab_mlieu;
-
-typedef int word1;
-struct chariot {
- int val,
- code,
- acc,
- freq,
- rep;
-};
-
-struct doublet {
- byte x, y;
-};
-typedef array<1, 16, doublet> tabdb;
-struct rectangle {
- int x1, x2, y1, y2;
- bool etat;
-};
-
-typedef array<1, max_rect, rectangle> mult_rect;
-
-struct pattern {
- byte tay, tax;
- matrix<1, max_patt, 1, max_patt, byte> des;
-};
-
-
-struct nhom {
- byte n; /* numero entre 0 et 32 */
- byte hom[4];
-};
-
-struct t_pcga {
- byte p;
- nhom a[16];
-};
-
-/*---------------------------------------------------------------------------*/
-/*------------------------------ VARIABLES ------------------------------*/
-/*---------------------------------------------------------------------------*/
-
-bool blo,
- bh1,
- bf1,
- bh2,
- bh4,
- bf4,
- bh5,
- bh6,
- bh8,
- bt3,
- bt7,
- bh9,
-
- sonoff,
- main1,
- choisi,
- test0,
- f2_all,
- imen,
- cache,
- iesc,
- perdu,
- col,
- syn,
- fouil,
- zuul,
- tesok,
- obpart,
- okdes,
- solu,
- arret,
- anyone,
- brt,
- rect,
- rech_cfiec,
- active_menu;
-
-
-int x,
- y,
- t,
- vj,
- li,
- vh,
- vm,
- jh,
- mh,
- cs,
- gd, /* Gd = graph device */
- hdb,
- hfb,
- heu,
- jou,
- key,
- min,
- num,
- max,
- res,
- ment,
- haut,
- caff,
- maff,
- crep,
- ades,
- iouv,
- inei,
- ctrm,
- dobj,
- msg3,
- msg4,
- mlec,
- newgd,
- c_zzz,
- mchai,
- menup,
- ipers,
- ledeb,
- lefin,
- mpers,
- mnumo,
- xprec,
- yprec,
- perdep,
- prebru,
- typlec,
- num_ph,
- xwhere,
- ywhere,
- numpal,
- lderobj,
- nb_word,
- ptr_oct,
- k_tempo,
- ptr_tcph,
- ptr_word,
- color_txt;
-
-int t_cph[6401];
-byte tabdon[4001];
-/* t_dxx : array[0..121] of int;*/
-Common::String stpou; /* donne le % d'indices */
-byte is;
-char mode;
-fichier_byte ficdes;
-Common::String al_mess,
- err_mess,
- ind_mess,
- al_mess2;
-
-array<1, 8, int> invt,
- nbrep,
- nbrepm,
- disc;
-int msg[5];
-array<1, 7, int> depl;
-array<1, 8, varying_string<22> > inv;
-array<1, 7, varying_string<23> > dep;
-array<1, 21, varying_string<10> > act;
-array<1, 5, varying_string<11> > self_;
-array<1, 8, varying_string<5> > dis;
-array<1, 7, char> touv;
-sav_chaine s, s1;
-byte bufcha[391];
-
-matrix<1, 6, 0, 23, byte> lettres;
-
-byte palher[16];
-
-int t_mot[maxti + 1];
-int tay_tchar;
-tabind t_rec;
-file<ind> sauv_t;
-untyped_file fibyte;
-tab_mlieu v_lieu;
-int l[108];
-int tbi[256];
-chariot c1, c2, c3;
-float addfix;
-t_pcga palsav[91];
-array<0, 90, tabdb> tabpal;
-t_pcga palcga[91];
-pattern tpt[15];
-
-
-
-/*---------------------------------------------------------------------------*/
-/*-------------------- PROCEDURES ET FONCTIONS ------------------------*/
-/*---------------------------------------------------------------------------*/
-
-/* procedure box(c,Gd,xo,yo,xi,yi,patt:int); external 'c:\mc\boite.com'; */
-
void hirs() {
const byte tandy[14] = {113, 80, 90, 14, 63, 6, 50, 56, 2, 3, 6, 7, 0, 0};
const byte herc[13] = {50, 40, 41, 9, 103, 3, 100, 100, 2, 3, 0, 0, 0};
diff --git a/engines/mortevielle/var_mor.h b/engines/mortevielle/var_mor.h
index 86bb296ee2..4a526a32f1 100644
--- a/engines/mortevielle/var_mor.h
+++ b/engines/mortevielle/var_mor.h
@@ -28,8 +28,388 @@
#ifndef MORTEVIELLE_VAR_H
#define MORTEVIELLE_VAR_H
+#include "common/str.h"
+
namespace Mortevielle {
+/* Constantes, Types et Variables pour le
+
+ M A N O I R DE M O R T E V I E L L E
+
+ ( version Nov 1988
+ +
+ musique & paroles Oct 88 )
+ */
+
+
+/*---------------------------------------------------------------------------*/
+/*------------------------- CONSTANTES ----------------------------------*/
+/*---------------------------------------------------------------------------*/
+
+const float freq0 = 1.19318e6;
+
+const int seg_syst = 0x6fed;
+const int segmou = 0x6f00;
+const int segdon = 0x6c00;
+const int adani = 0x7314;
+const int adword = 0x4000;
+const int adtroct = 0x406b;
+const int adcfiec = 0x4300;
+const int adbruit = 0x5cb0;/*2C00;*/
+const int adbruit1 = 0x6924;/*3874;*/
+const int adbruit2 = 0x6b30;/*3A80;*/
+const int adbruit3 = 0x6ba6;/*3AF6;*/
+const int adbruit5 = 0x3b50;
+const int adson = 0x5cb0;/*2C00;*/
+const int adson2 = 0x60b0;/*3000;*/
+const int offsetb1 = 6;
+const int offsetb2 = 4;
+const int offsetb3 = 6;
+
+const int null = 255;
+
+const int tempo_mus = 71;
+const int tempo_bruit = 78;
+const int tempo_f = 80;
+const int tempo_m = 89;
+
+const int ti1 = 410;
+const int ti2 = 250;
+const int maxti = 7975;
+const int maxtd = 600;
+const int max_rect = 14;
+
+const int ams = 0;
+const int cga = 1;
+const int ega = 2;
+const int her = 3;
+const int tan = 4;
+
+const int c_repon = 0;
+const int c_st41 = 186;
+const int c_tparler = 247;
+const int c_paroles = 292;
+const int c_tmlieu = 435;
+const int c_dialpre = 456;
+const int c_action = 476;
+const int c_saction = 497;
+const int c_dis = 502;
+const int c_fin = 510; /* => n'existe pas ; si !! */
+
+const int arega = 0;
+const int asoul = 154;
+const int aouvr = 282;
+const int achai = 387;
+const int acha = 492;
+const int arcf = 1272;
+const int arep = 1314;
+const int amzon = 1650;
+const int fleche = 1758;
+
+const int no_choice = 0;
+const int invent = 1;
+const int depla = 2;
+const int action = 3;
+const int saction = 4;
+const int discut = 5;
+const int fichier = 6;
+const int sauve = 7;
+const int charge = 8;
+
+const int attacher = 0x301;
+const int attendre = 0x302;
+const int defoncer = 0x303;
+const int dormir = 0x304;
+const int ecouter = 0x305;
+const int entrer = 0x306;
+const int fermer = 0x307;
+const int fouiller = 0x308;
+const int frapper = 0x309;
+const int gratter = 0x30a;
+const int lire = 0x30b;
+const int manger = 0x30c;
+const int mettre = 0x30d;
+const int ouvrir = 0x30e;
+const int prendre = 0x30f;
+const int regarder = 0x310;
+const int sentir = 0x311;
+const int sonder = 0x312;
+const int sortir = 0x313;
+const int soulever = 0x314;
+const int tourner = 0x315;
+
+const int scacher = 0x401;
+const int sfouiller = 0x402;
+const int slire = 0x403;
+const int sposer = 0x404;
+const int sregarder = 0x405;
+
+const byte tabdbc[18] = {7, 23, 7, 14, 13, 9, 14, 9, 5, 12, 6, 12, 13, 4, 0, 4, 5, 9};
+const byte tabdph[16] = {0, 10, 2, 0, 2, 10, 3, 0, 3, 7, 5, 0, 6, 7, 7, 10};
+const byte typcon[26] = {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3};
+const byte intcon[26] = {1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0};
+const byte tnocon[364] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+
+const matrix<1, 8, 1, 4, byte> don
+= {{{{ 7, 37, 22, 8}},
+ {{19, 33, 23, 7}},
+ {{31, 89, 10, 21}},
+ {{43, 25, 11, 5}},
+ {{55, 37, 5, 8}},
+ {{64, 13, 11, 2}},
+ {{62, 22, 13, 4}},
+ {{62, 25, 13, 5}}
+ }
+};
+
+const array<1, 2, varying_string<11> > fic
+= {{ " Sauvegarde",
+ " Chargement"
+ }
+};
+
+const byte addv[2] = {8, 8};
+
+const char recom[] = " Recommence ";
+
+const char f3[] = "F3: Encore";
+const char f8[] = "F8: Suite";
+
+const int max_patt = 20;
+
+
+const byte rang[16] = {15, 14, 11, 7, 13, 12, 10, 6, 9, 5, 3, 1, 2, 4, 8, 0};
+
+
+/*---------------------------------------------------------------------------*/
+/*-------------------------------- TYPES --------------------------------*/
+/*---------------------------------------------------------------------------*/
+
+typedef float long_int;
+typedef file<byte> fichier_byte;
+struct sav_chaine {
+ int conf;
+ char pourc[11];
+ char teauto[43];
+ char sjer[31];
+ int mlieu, iboul, ibag, icave, ivier, ipuit;
+ int derobj, iloic, icryp;
+ bool ipre;
+ char heure;
+};
+struct registres {
+ int ax, bx, cx, dx, bp, si, di, ds, es, flags;
+};
+typedef char[1410] phrase;
+struct ind {
+ int indis;
+ byte point;
+};
+typedef ind[maxtd + 1] tabind;
+
+typedef matrix<1, 7, 0, 24, byte> tab_mlieu;
+
+typedef int word1;
+struct chariot {
+ int val,
+ code,
+ acc,
+ freq,
+ rep;
+};
+
+struct doublet {
+ byte x, y;
+};
+
+typedef doublet[16] tabdb;
+
+struct rectangle {
+ int x1, x2, y1, y2;
+ bool etat;
+};
+
+typedef rectangle[max_rect] mult_rect;
+
+struct pattern {
+ byte tay, tax;
+ matrix<1, max_patt, 1, max_patt, byte> des;
+};
+
+
+struct nhom {
+ byte n; /* numero entre 0 et 32 */
+ byte hom[4];
+};
+
+struct t_pcga {
+ byte p;
+ nhom a[16];
+};
+
+/*---------------------------------------------------------------------------*/
+/*------------------------------ VARIABLES ------------------------------*/
+/*---------------------------------------------------------------------------*/
+
+bool blo,
+ bh1,
+ bf1,
+ bh2,
+ bh4,
+ bf4,
+ bh5,
+ bh6,
+ bh8,
+ bt3,
+ bt7,
+ bh9,
+
+ sonoff,
+ main1,
+ choisi,
+ test0,
+ f2_all,
+ imen,
+ cache,
+ iesc,
+ perdu,
+ col,
+ syn,
+ fouil,
+ zuul,
+ tesok,
+ obpart,
+ okdes,
+ solu,
+ arret,
+ anyone,
+ brt,
+ rect,
+ rech_cfiec,
+ active_menu;
+
+
+int x,
+ y,
+ t,
+ vj,
+ li,
+ vh,
+ vm,
+ jh,
+ mh,
+ cs,
+ gd, /* Gd = graph device */
+ hdb,
+ hfb,
+ heu,
+ jou,
+ key,
+ min,
+ num,
+ max,
+ res,
+ ment,
+ haut,
+ caff,
+ maff,
+ crep,
+ ades,
+ iouv,
+ inei,
+ ctrm,
+ dobj,
+ msg3,
+ msg4,
+ mlec,
+ newgd,
+ c_zzz,
+ mchai,
+ menup,
+ ipers,
+ ledeb,
+ lefin,
+ mpers,
+ mnumo,
+ xprec,
+ yprec,
+ perdep,
+ prebru,
+ typlec,
+ num_ph,
+ xwhere,
+ ywhere,
+ numpal,
+ lderobj,
+ nb_word,
+ ptr_oct,
+ k_tempo,
+ ptr_tcph,
+ ptr_word,
+ color_txt;
+
+int t_cph[6401];
+byte tabdon[4001];
+/* t_dxx : array[0..121] of int;*/
+Common::String stpou; /* donne le % d'indices */
+byte is;
+char mode;
+fichier_byte ficdes;
+Common::String al_mess,
+ err_mess,
+ ind_mess,
+ al_mess2;
+
+int invt[8];
+int nbrep[8];
+int nbrepm[8];
+int disc[8]
+int msg[5];
+int depl[7];
+array<1, 8, varying_string<22> > inv;
+array<1, 7, varying_string<23> > dep;
+array<1, 21, varying_string<10> > act;
+array<1, 5, varying_string<11> > self_;
+array<1, 8, varying_string<5> > dis;
+char touv[7];
+sav_chaine s, s1;
+byte bufcha[391];
+
+matrix<1, 6, 0, 23, byte> lettres;
+
+byte palher[16];
+
+int t_mot[maxti + 1];
+int tay_tchar;
+tabind t_rec;
+file<ind> sauv_t;
+untyped_file fibyte;
+tab_mlieu v_lieu;
+int l[108];
+int tbi[256];
+chariot c1, c2, c3;
+float addfix;
+t_pcga palsav[91];
+tabdb tabpal[91];
+t_pcga palcga[91];
+pattern tpt[15];
+
/*---------------------------------------------------------------------------*/
/*------------------- PROCEDURES AND FONCTIONS ------------------------*/
/*---------------------------------------------------------------------------*/