aboutsummaryrefslogtreecommitdiff
path: root/engines/mortevielle/disk.h
blob: 28a2dbe6a536ebbf4c4f9680c9e9e0b8ed7503cc (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
void dem1()
{
      untyped_file f;
      integer k;

  /* -- demande de disk 1 -- */
  assign(f,"mort.005");
  /*$i-*/
  k=ioresult;
  reset(f);
  while (ioresult!=0) 
   {
    show_mouse();
    k= do_alert(al_mess,1);
    hide_mouse();
    reset(f);
   }
  close(f);
}

void takesav(integer n)
{
        untyped_file f;
        integer i;
       varying_string<10> st;

  dem1();
  /* -- chargement du fichier 'sauve#n.mor' -- */
  st= string("sav")+chr(n+48)+".mor";
  assign(f,st);
  reset(f,497);
  blockread(f,s1,1);
  if (ioresult!=0) 
     {
       i=do_alert(err_mess,1);
       exit(0);
     }
  s=s1;
  for( i=0; i <= 389; i ++) tabdon[i+acha]=bufcha[i];
  close(f);
}

void ld_game(integer n)
{
  hide_mouse();
  maivid();
  takesav(n);
  /* -- disquette 2 -- */
  dem2();
  /* -- mises en place -- */
  theure();
  dprog();
  antegame();
  show_mouse();
}

void sv_game(integer n)
{
        untyped_file f;
        integer i;

  hide_mouse();
  tmaj3();
  dem1();
  /* -- sauvegarde du fichier 'sauve#n.mor' -- */
  for( i=0; i <= 389; i ++) bufcha[i]=tabdon[i+acha];
  s1=s;
  if (s1.mlieu== 26)  s1.mlieu= 15;
  assign(f,string("sav")+chr(n+48)+".mor");
  rewrite(f,497);
  blockwrite(f,s1,1);
  close(f);
  dem2();
  show_mouse();
}