- bool blooded; // has player drunk of dragon's blood?
- long abbrev[NLOCATIONS + 1];
- long atloc[NLOCATIONS + 1];
- long dseen[NDWARVES + 1]; // true if dwarf has seen him
- loc_t dloc[NDWARVES + 1]; // location of dwarves, initially hard-wired in
- loc_t odloc[NDWARVES + 1]; // prior loc of each dwarf, initially garbage
- loc_t fixed[NOBJECTS + 1];
- long link[NOBJECTS * 2 + 1];
- loc_t place[NOBJECTS + 1];
- long hinted[NHINTS]; // hinted[i] = true iff hint i has been used.
- long hintlc[NHINTS]; // hintlc[i] = how long at LOC with cond bit i
-
- long prop[NOBJECTS + 1];
+ struct {
+ int abbrev; // has location been seen?
+ int atloc; // head of object linked list per location
+ } locs[NLOCATIONS + 1];
+ struct {
+ int seen; // true if dwarf has seen him
+ loc_t loc; // location of dwarves, initially hard-wired in
+ loc_t oldloc; // prior loc of each dwarf, initially garbage
+ } dwarves[NDWARVES + 1];
+ loc_t fixed[NOBJECTS + 1]; // fixed location of object (if not IS_FREE)
+ obj_t link[NOBJECTS * 2 + 1];// object-list links
+ loc_t place[NOBJECTS + 1]; // location of object
+ bool hinted[NHINTS]; // hinted[i] = true iff hint i has been used.
+ int hintlc[NHINTS]; // hintlc[i] = show int at LOC with cond bit i
+ int prop[NOBJECTS + 1]; // object state array */