#include "advent.h"
#include "database.h"
+#define VRSION 25 /* bump on save format change */
+
/*
* Action handlers. Eventually we'll do lookup through a method table
* that calls these. Absolutely nothing like the original FORTRAN.
* fixed), move rug there (not fixed), and move him there,
* too. Then do a null motion to get new description. */
RSPEAK(49);
- GETIN(input,WD1,WD1X,WD2,WD2X);
- if (WD1 != MAKEWD(25) && WD1 != MAKEWD(250519)) return(2607);
+ GETIN(input,&WD1,&WD1X,&WD2,&WD2X);
+ if (WD1 != MAKEWD(25) && WD1 != MAKEWD(250519))
+ return(2607);
PSPEAK(DRAGON,3);
game.prop[DRAGON]=1;
game.prop[RUG]=0;
- K=(PLAC[DRAGON]+FIXD[DRAGON])/2;
+ int k=(PLAC[DRAGON]+FIXD[DRAGON])/2;
MOVE(DRAGON+NOBJECTS,-1);
MOVE(RUG+NOBJECTS,0);
- MOVE(DRAGON,K);
- MOVE(RUG,K);
- DROP(BLOOD,K);
+ MOVE(DRAGON,k);
+ MOVE(RUG,k);
+ DROP(BLOOD,k);
for (obj=1; obj<=NOBJECTS; obj++) {
- if (game.place[obj] == PLAC[DRAGON] || game.place[obj] == FIXD[DRAGON])MOVE(obj,K);
- /*etc*/ ;
- } /* end loop */
- game.loc=K;
- K=NUL;
+ if (game.place[obj] == PLAC[DRAGON] || game.place[obj] == FIXD[DRAGON])
+ MOVE(obj,k);
+ }
+ game.loc=k;
+ K=NUL; /* FIXME: error if removed */
return(8);
}
if (game.foobar != 0)SPK=151;
return(2011);
} else {
-
game.foobar=k;
if (k != 4) return(2009);
game.foobar=0;
{
if (AT(obj) ||
(LIQ(0) == obj && AT(BOTTLE)) ||
- K == LIQLOC(game.loc) ||
+ obj == LIQLOC(game.loc) ||
(obj == DWARF && ATDWRF(game.loc) > 0))
SPK=94;
if (game.closed)SPK=138;
/* Suspend and resume */
{
int kk;
+ long i;
if (!resume) {
/* Suspend. Offer to save things in a file, but charging
* some points (so can't win by using saved games to retry
* for I/O. All the SAV* functions can be scrapped.
*/
- DATIME(&I,&K);
- K=I+650*K;
+ DATIME(&i,&K);
+ K=i+650*K;
SAVWRD(kk,K);
K=VRSION;
SAVWRD(0,K);
}
if (obj != AXE)
return(discard(obj, false));
- I=ATDWRF(game.loc);
- if (I <= 0) {
+ int i=ATDWRF(game.loc);
+ if (i <= 0) {
if (AT(DRAGON) && game.prop[DRAGON] == 0) {
SPK=152;
return throw_support(SPK);
SPK=48;
return throw_support(SPK);
}
- game.dseen[I]=false;
- game.dloc[I]=0;
+ game.dseen[i]=false;
+ game.dloc[i]=0;
SPK=47;
game.dkill=game.dkill+1;
if (game.dkill == 1)SPK=149;