Move more globals into the game state block.
[open-adventure.git] / init.c
diff --git a/init.c b/init.c
index aedbeec244aaebb7662a5cc0ede2423498a1a30d..4bb7cc2b5a19f6c7d569503c418f33b2dda208ac 100644 (file)
--- a/init.c
+++ b/init.c
  *     300 locations
  *     100 objects */
 
-/* Note: the object count limit has been abstracted as NOBJECTS */
+/* Note: 
+ *  - the object count limit has been abstracted as NOBJECTS
+ *  - the random message limit has been abstracted as RTXSIZE
+ */
 
 /*  Description of the database format
  *
@@ -311,48 +314,48 @@ L1106:    /*etc*/ ;
        SAY=VOCWRD(190125,2);
        THROW=VOCWRD(2008181523,2);
 
-/*  Initialise the dwarves.  DLOC is loc of dwarves, hard-wired in.  ODLOC is
+/*  Initialise the dwarves.  game.dloc is loc of dwarves, hard-wired in.  game.odloc is
  *  prior loc of each dwarf, initially garbage.  DALTLC is alternate initial loc
  *  for dwarf, in case one of them starts out on top of the adventurer.  (No 2
- *  of the 5 initial locs are adjacent.)  DSEEN is true if dwarf has seen him.
- *  DFLAG controls the level of activation of all this:
+ *  of the 5 initial locs are adjacent.)  game.dseen is true if dwarf has seen him.
+ *  game.dflag controls the level of activation of all this:
  *     0       No dwarf stuff yet (wait until reaches Hall Of Mists)
  *     1       Reached Hall Of Mists, but hasn't met first dwarf
  *     2       Met first dwarf, others start moving, no knives thrown yet
  *     3       A knife has been thrown (first set always misses)
  *     3+      Dwarves are mad (increases their accuracy)
  *  Sixth dwarf is special (the pirate).  He always starts at his chest's
- *  eventual location inside the maze.  This loc is saved in CHLOC for ref.
- *  the dead end in the other maze has its loc stored in CHLOC2. */
+ *  eventual location inside the maze.  This loc is saved in game.chloc for ref.
+ *  the dead end in the other maze has its loc stored in game.chloc2. */
 
-       CHLOC=114;
-       CHLOC2=140;
-       for (I=1; I<=6; I++) {
-       DSEEN[I]=false;
+       game.chloc=114;
+       game.chloc2=140;
+       for (I=1; I<=NDWARVES; I++) {
+               game.dseen[I]=false;
        } /* end loop */
-       DFLAG=0;
-       DLOC[1]=19;
-       DLOC[2]=27;
-       DLOC[3]=33;
-       DLOC[4]=44;
-       DLOC[5]=64;
-       DLOC[6]=CHLOC;
+       game.dflag=0;
+       game.dloc[1]=19;
+       game.dloc[2]=27;
+       game.dloc[3]=33;
+       game.dloc[4]=44;
+       game.dloc[5]=64;
+       game.dloc[6]=game.chloc;
        DALTLC=18;
 
 /*  Other random flags and counters, as follows:
- *     ABBNUM  How often we should print non-abbreviated descriptions
- *     BONUS   Used to determine amount of bonus if he reaches closing
- *     CLOCK1  Number of turns from finding last treasure till closing
- *     CLOCK2  Number of turns from first warning till blinding flash
- *     CONDS   Min value for cond(loc) if loc has any hints
- *     DETAIL  How often we've said "not allowed to give more detail"
- *     DKILL   Number of dwarves killed (unused in scoring, needed for msg)
- *     FOOBAR  Current progress in saying "FEE FIE FOE FOO".
- *     HOLDNG  Number of objects being carried
+ *     game.abbnum     How often we should print non-abbreviated descriptions
+ *     game.bonus      Used to determine amount of bonus if he reaches closing
+ *     game.clock1     Number of turns from finding last treasure till closing
+ *     game.clock2     Number of turns from first warning till blinding flash
+ *     game.conds      Min value for cond(loc) if loc has any hints
+ *     game.detail     How often we've said "not allowed to give more detail"
+ *     game.dkill      # of dwarves killed (unused in scoring, needed for msg)
+ *     game.foobar     Current progress in saying "FEE FIE FOE FOO".
+ *     game.holdng     Number of objects being carried
  *     IGO     How many times he's said "go XXX" instead of "XXX"
- *     IWEST   How many times he's said "west" instead of "w"
- *     KNFLOC  0 if no knife here, loc if knife here, -1 after caveat
- *     LIMIT   Lifetime of lamp (not set here)
+ *     game.iwest      How many times he's said "west" instead of "w"
+ *     game.knfloc     0 if no knife here, loc if knife here, -1 after caveat
+ *     game.limit      Lifetime of lamp (not set here)
  *     MAXDIE  Number of reincarnation messages available (up to 5)
  *     NUMDIE  Number of times killed so far
  *     THRESH  Next #turns threshhold (-1 if none)
@@ -366,30 +369,31 @@ L1106:    /*etc*/ ;
        THRESH= -1;
        if(TRNVLS > 0)THRESH=MOD(TRNVAL[1],100000)+1;
        TRNLUZ=0;
-       LMWARN=false;
+       game.lmwarn=false;
        IGO=0;
-       IWEST=0;
-       KNFLOC=0;
-       DETAIL=0;
-       ABBNUM=5;
+       game.iwest=0;
+       game.knfloc=0;
+       game.detail=0;
+       game.abbnum=5;
        for (I=0; I<=4; I++) {
        {long x = 2*I+81; if(RTEXT[x] != 0)MAXDIE=I+1;}
        } /* end loop */
        NUMDIE=0;
-       HOLDNG=0;
-       DKILL=0;
-       FOOBAR=0;
-       BONUS=0;
-       CLOCK1=30;
-       CLOCK2=50;
-       CONDS=SETBIT(11);
+       game.holdng=0;
+       game.dkill=0;
+       game.foobar=0;
+       game.bonus=0;
+       game.clock1=30;
+       game.clock2=50;
+       game.conds=SETBIT(11);
        SAVED=0;
-       CLOSNG=false;
+       game.closng=false;
        PANIC=false;
-       CLOSED=false;
+       game.closed=false;
        CLSHNT=false;
        NOVICE=false;
        SETUP=1;
+       game.blklin=true;
 
        /* if we can ever think of how, we should save it at this point */