aboutsummaryrefslogtreecommitdiff
path: root/engines/mortevielle/mort.cpp
blob: c9e1d25d7e1a1eb8d479169254eb90b0d6586542 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "ptoc.h"



/*$v-*/
/*$k-*/
/*$x-*/
/*$c-*/

#include "var_mor.h"          /* les variables */
#include "keyboard.h"          /* la gestion du clavier */
#include "mouse.h"          /* la souris  */
#include "level15.h"          /* les fonctions de base */
#include "droite.h"          /* pour faire une droite */
#include "boite.h"
#include "sprint.h"          /* l'affichage des textes */
#include "outtext.h"          /* fonctions sup�rieures d'affichage */
#include "parole.h"          /* les fonctions de la parole */
#include "alert.h"
#include "parole2.h"          /* les fonctions de la parole */
/*  debug              le debugging */
#include "ques.h"          /* les questions */
#include "menu.h"          /* les fonctions du menu */
#include "mor.h"          /* divers */
#include "taffich.h"          /* chargement des dessins */
#include "ovd1.h"          /* les fonctions sur disque 1 */
#include "mor2.h"          /* divers */
#include "actions.h"          /* les actions */
#include "prog.h"          /* fonctions toplevel */
#include "disk.h"          /* chargements et sauvegardes */

/*  ecrihexa            utilitaire */

void divers(int np, boolean b) {
	teskbd();
	do {
		parole(np, 0, 0);
		atf3f8(key);
		if (newgd != gd) {
			gd = newgd;
			hirs();
			aff50(b);
		}
	} while (!(key == 66));
}

/* NIVEAU 0 */

int main(int argc, const char *argv[]) {
	/*init_debug;*/
	/*  ecri_seg;*/
	pio_initialize(argc, argv);
	gd = cga;
	newgd = gd;
	zuul = false;
	tesok = false;
	chartex();
	charpal();
	charge_cfiph();
	charge_cfiec();
	zzuul(adcfiec + 161, 0, 1644);
	c_zzz = 1;
	init_nbrepm();
	init_mouse();
	/*  crep:=memw[$7f00:0];
	  memw[$7f00:0]:= crep+1;
	  if (memw[$7f00:0]<> crep+1) then
	     begin
	       hirs;
	       show_mouse;
	       crep:=do_alert('[1][ 512 k  minimum requis  !!][OK]',1);
	       clrscr;
	       halt;
	     end;
	  if (Dseg+$1000>adbruit5) then
	     begin
	       hirs;
	       show_mouse;
	       crep:=do_alert('[1][ Il ne reste pas assez de |place m�moire  !!][OK]',1);
	       clrscr;
	       halt;
	     end;*/
	init_lieu();
	arret = false;
	sonoff = false;
	f2_all = false;
	textcolor(9);
	teskbd();
	dialpre();
	newgd = gd;
	teskbd();
	if (newgd != gd)  gd = newgd;
	hirs();
	ades = 0x7000;
	aff50(false);
	mlec = 0;
	divers(142, false);

	ani50();
	divers(143, true);
	suite();
	music();
	adzon();
	takesav(0);
	if (rech_cfiec)  charge_cfiec();
	for (crep = 1; crep <= c_zzz; crep ++) zzuul(adcfiec + 161, 0, 1644);
	charge_bruit5();
	init_menu();

	theure();
	dprog();
	hirs();
	dessine_rouleau();
	show_mouse();
	do {
		tjouer();
	} while (!arret);
	hide_mouse();
	clrscr;
	/*out_debug;*/
	return EXIT_SUCCESS;
}