Abolish funcs.h.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 8 Jun 2017 08:25:20 +0000 (04:25 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 8 Jun 2017 08:25:20 +0000 (04:25 -0400)
Makefile
actions1.c
actions2.c
advent.h
funcs.h [deleted file]
init.c
main.c
misc.c

index c06d0aba16bbdc1c93a0e5cba972943516b9c1cf..92a2941117908f885b4d15c2936c9a2aa6de2cf7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@ ifeq ($(UNAME_S),Linux)
 endif
 
 OBJS=main.o init.o actions1.o actions2.o score.o misc.o
-SOURCES=$(OBJS:.o=.c) dungeon.c advent.h funcs.h sizes.h adventure.text Makefile control linenoise/linenoise.[ch]
+SOURCES=$(OBJS:.o=.c) dungeon.c advent.h sizes.h adventure.text Makefile control linenoise/linenoise.[ch]
 
 .c.o:
        $(CC) $(CCFLAGS) $(DBX) -c $<
@@ -30,13 +30,13 @@ SOURCES=$(OBJS:.o=.c) dungeon.c advent.h funcs.h sizes.h adventure.text Makefile
 advent:        $(OBJS) database.o linenoise.o
        $(CC) $(CCFLAGS) $(DBX) -o advent $(OBJS) database.o linenoise.o $(LDFLAGS) $(LIBS)
 
-main.o:                advent.h funcs.h database.h database.c sizes.h
+main.o:                advent.h database.h database.c sizes.h
 
-init.o:                advent.h funcs.h database.h database.c sizes.h
+init.o:                advent.h database.h database.c sizes.h
 
-actions1.o:     advent.h funcs.h database.h database.c sizes.h
+actions1.o:     advent.h database.h database.c sizes.h
 
-actions2.o:     advent.h funcs.h database.h database.c sizes.h
+actions2.o:     advent.h database.h database.c sizes.h
 
 score.o:       advent.h database.h database.c sizes.h
 
index f1de63b3bd9e014e20ca41e29f6c98c1fae19140..5de9a1f84a89f31a2b166032482353a7958565e5 100644 (file)
@@ -1,7 +1,6 @@
 #include <stdlib.h>
 #include <stdbool.h>
 #include "advent.h"
-#include "funcs.h"
 #include "database.h"
 
 /* This stuff was broken off as part of an effort to get the main program
index 1470762aaee88b1b60aad12731aa99ef84176bb0..57b06cea92a684ade31d9a461c80a5f8056c2a47 100644 (file)
@@ -1,5 +1,5 @@
 #include "advent.h"
-#include "funcs.h"
+#include "database.h"
 
 /*  Carry an object.  Special cases for bird and cage (if bird in cage, can't
  *  take one without the other).  Liquids also special, since they depend on
index d3a62cab67a14fc9b06499d274be57447bf18608..8b993645e54476ead1c1dda9d93a78e98f9306d4 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -135,6 +135,49 @@ extern void set_seed(long);
 extern unsigned long get_next_lcg_value(void);
 extern long randrange(long);
 extern void score(long);
+extern int carry(long);
+extern int discard(long, bool);
+extern int attack(FILE *, long, long);
+extern int throw(FILE *, long, long);
+extern int feed(long);
+extern int fill(long);
+
+/*  Statement functions
+ *
+ *  AT(OBJ)    = true if on either side of two-placed object
+ *  CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit)
+ *  DARK(DUMMY) = true if location "LOC" is dark
+ *  FORCED(LOC) = true if LOC moves without asking for input (COND=2)
+ *  FOREST(LOC)  = true if LOC is part of the forest
+ *  GSTONE(OBJ)  = true if OBJ is a gemstone
+ *  HERE(OBJ)  = true if the OBJ is at "LOC" (or is being carried)
+ *  LIQ(DUMMY) = object number of liquid in bottle
+ *  LIQLOC(LOC) = object number of liquid (if any) at LOC
+ *  PCT(N)       = true N% of the time (N integer from 0 to 100)
+ *  TOTING(OBJ) = true if the OBJ is being carried */
+
+#define TOTING(OBJ)    (game.place[OBJ] == -1)
+#define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc)
+#define HERE(OBJ)      (AT(OBJ) || TOTING(OBJ))
+#define LIQ2(PBOTL)    ((1-(PBOTL))*WATER+((PBOTL)/2)*(WATER+OIL))
+#define LIQ(DUMMY)     (LIQ2(game.prop[BOTTLE]<0 ? -1-game.prop[BOTTLE] : game.prop[BOTTLE]))
+#define LIQLOC(LOC)    (LIQ2((MOD(COND[LOC]/2*2,8)-5)*MOD(COND[LOC]/4,2)+1))
+#define CNDBIT(L,N)    (TSTBIT(COND[L],N))
+#define FORCED(LOC)    (COND[LOC] == 2)
+#define DARK(DUMMY)    ((!CNDBIT(game.loc,0)) && (game.prop[LAMP] == 0 || !HERE(LAMP)))
+#define PCT(N) (randrange(100) < (N))
+#define GSTONE(OBJ)    ((OBJ) == EMRALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
+#define FOREST(LOC)    ((LOC) >= 145 && (LOC) <= 166)
+#define VOCWRD(LETTRS,SECT)    (VOCAB(MAKEWD(LETTRS),SECT))
+
+/*  The following two functions were added to fix a bug (game.clock1 decremented
+ *  while in forest).  They should probably be replaced by using another
+ *  "cond" bit.  For now, however, a quick fix...  OUTSID(LOC) is true if
+ *  LOC is outside, INDEEP(LOC) is true if LOC is "deep" in the cave (hall
+ *  of mists or deeper).  Note special kludges for "Foof!" locs. */
+
+#define OUTSID(LOC)    ((LOC) <= 8 || FOREST(LOC) || (LOC) == PLAC[SAPPH] || (LOC) == 180 || (LOC) == 182)
+#define INDEEP(LOC)    ((LOC) >= 15 && !OUTSID(LOC) && (LOC) != 179)
 
 /* vocabulary items */ 
 extern long AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
diff --git a/funcs.h b/funcs.h
deleted file mode 100644 (file)
index e21fbd4..0000000
--- a/funcs.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <stdbool.h>
-#include "database.h"
-
-/*  Statement functions
- *
- *  AT(OBJ)    = true if on either side of two-placed object
- *  CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit)
- *  DARK(DUMMY) = true if location "LOC" is dark
- *  FORCED(LOC) = true if LOC moves without asking for input (COND=2)
- *  FOREST(LOC)  = true if LOC is part of the forest
- *  GSTONE(OBJ)  = true if OBJ is a gemstone
- *  HERE(OBJ)  = true if the OBJ is at "LOC" (or is being carried)
- *  LIQ(DUMMY) = object number of liquid in bottle
- *  LIQLOC(LOC) = object number of liquid (if any) at LOC
- *  PCT(N)       = true N% of the time (N integer from 0 to 100)
- *  TOTING(OBJ) = true if the OBJ is being carried */
-
-#define TOTING(OBJ)    (game.place[OBJ] == -1)
-#define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc)
-#define HERE(OBJ)      (AT(OBJ) || TOTING(OBJ))
-#define LIQ2(PBOTL)    ((1-(PBOTL))*WATER+((PBOTL)/2)*(WATER+OIL))
-#define LIQ(DUMMY)     (LIQ2(game.prop[BOTTLE]<0 ? -1-game.prop[BOTTLE] : game.prop[BOTTLE]))
-#define LIQLOC(LOC)    (LIQ2((MOD(COND[LOC]/2*2,8)-5)*MOD(COND[LOC]/4,2)+1))
-#define CNDBIT(L,N)    (TSTBIT(COND[L],N))
-#define FORCED(LOC)    (COND[LOC] == 2)
-#define DARK(DUMMY)    ((!CNDBIT(game.loc,0)) && (game.prop[LAMP] == 0 || !HERE(LAMP)))
-#define PCT(N) (randrange(100) < (N))
-#define GSTONE(OBJ)    ((OBJ) == EMRALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
-#define FOREST(LOC)    ((LOC) >= 145 && (LOC) <= 166)
-#define VOCWRD(LETTRS,SECT)    (VOCAB(MAKEWD(LETTRS),SECT))
-
-/*  The following two functions were added to fix a bug (game.clock1 decremented
- *  while in forest).  They should probably be replaced by using another
- *  "cond" bit.  For now, however, a quick fix...  OUTSID(LOC) is true if
- *  LOC is outside, INDEEP(LOC) is true if LOC is "deep" in the cave (hall
- *  of mists or deeper).  Note special kludges for "Foof!" locs. */
-
-#define OUTSID(LOC)    ((LOC) <= 8 || FOREST(LOC) || (LOC) == PLAC[SAPPH] || (LOC) == 180 || (LOC) == 182)
-#define INDEEP(LOC)    ((LOC) >= 15 && !OUTSID(LOC) && (LOC) != 179)
-
-extern int carry(long);
-extern int discard(long, bool);
-extern int attack(FILE *, long, long);
-extern int throw(FILE *, long, long);
-extern int feed(long);
-extern int fill(long);
-void score(long);
-
-
-
-
diff --git a/init.c b/init.c
index a0d8f1cc6cc9a00d832d543b032245157e2b7e37..aae770424558e6f21c1ada2f4099bb4f1df5d97b 100644 (file)
--- a/init.c
+++ b/init.c
@@ -4,7 +4,6 @@
 #include <stdbool.h>
 
 #include "advent.h"
-#include "funcs.h"
 #include "database.h"
 
 /*
diff --git a/main.c b/main.c
index 03990db0ab677017a55a347bc46d814a389f81ce..04bb5088ea722dddc2a27c298c3786fd2ae4849d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -90,8 +90,6 @@ int main(int argc, char *argv[]) {
  *  game.panic says whether he's found out he's trapped in the cave
  *  game.wzdark says whether the loc he's leaving was dark */
 
-#include "funcs.h"
-
 /* Initialize our LCG PRNG with parameters tested against Knuth vol. 2. by the original authors */
 
        lcgstate.a = 1093;
diff --git a/misc.c b/misc.c
index 1e2f600573f50f0c67476c48168298046b6b46fb..6b9e761d1b0ecd9375a66390c2214e92f68e1654 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -3,8 +3,8 @@
 #include <stdio.h>
 #include <string.h>
 #include <sys/time.h>
+
 #include "advent.h"
-#include "funcs.h"
 #include "database.h"
 #include "linenoise/linenoise.h"