#include <getopt.h>
#include <signal.h>
#include <time.h>
-#include "main.h"
+#include "advent.h"
#include "database.h"
-#include "misc.h"
long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
DLOC[7], FIXED[101], HOLDNG,
LINK[201], LNLENG, LNPOSN,
PARMS[26], PLACE[101],
SETUP = 0;
-signed char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
+char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS,
BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
if (logfp)
fprintf(logfp, "seed %ld\n", seedval);
-
+
for (;;) {
if (!do_command(stdin))
break;
score(1);
}
-static bool fallback_handler(signed char *buf)
+static bool fallback_handler(char *buf)
/* fallback handler for commands not handled by FORTRANish parser */
{
long sv;
KK=DLOC[I];
KK=KEY[KK];
if(KK == 0) goto L6016;
-L6012: NEWLOC=MOD(IABS(TRAVEL[KK])/1000,1000);
+L6012: NEWLOC=MOD(labs(TRAVEL[KK])/1000,1000);
{long x = J-1;
if(NEWLOC > 300 || !INDEEP(NEWLOC) || NEWLOC == ODLOC[I] || (J > 1 &&
NEWLOC == TK[x]) || J >= 20 || NEWLOC == DLOC[I] ||
FORCED(NEWLOC) || (I == 6 && CNDBIT(NEWLOC,3)) ||
- IABS(TRAVEL[KK])/1000000 == 100) goto L6014;}
+ labs(TRAVEL[KK])/1000000 == 100) goto L6014;}
TK[J]=NEWLOC;
J=J+1;
L6014: KK=KK+1;
OLDLC2=OLDLOC;
OLDLOC=LOC;
-L9: LL=IABS(TRAVEL[KK]);
+L9: LL=labs(TRAVEL[KK]);
if(MOD(LL,1000) == 1 || MOD(LL,1000) == K) goto L10;
if(TRAVEL[KK] < 0) goto L50;
KK=KK+1;
if(PROP[K] != NEWLOC/100-3) goto L16;
L12: if(TRAVEL[KK] < 0)BUG(25);
KK=KK+1;
- NEWLOC=IABS(TRAVEL[KK])/1000;
+ NEWLOC=labs(TRAVEL[KK])/1000;
if(NEWLOC == LL) goto L12;
LL=NEWLOC;
goto L11;
RSPEAK(K2);
return true;
-L21: LL=MOD((IABS(TRAVEL[KK])/1000),1000);
+L21: LL=MOD((labs(TRAVEL[KK])/1000),1000);
if(LL == K) goto L25;
if(LL > 300) goto L22;
J=KEY[LL];
- if(FORCED(LL) && MOD((IABS(TRAVEL[J])/1000),1000) == K)K2=KK;
+ if(FORCED(LL) && MOD((labs(TRAVEL[J])/1000),1000) == K)K2=KK;
L22: if(TRAVEL[KK] < 0) goto L23;
KK=KK+1;
goto L21;
RSPEAK(140);
return true;
-L25: K=MOD(IABS(TRAVEL[KK]),1000);
+L25: K=MOD(labs(TRAVEL[KK]),1000);
KK=KEY[LOC];
goto L9;