X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=main.c;h=c02bd3cf3f759239486781a460c59e268c37e2a5;hb=c080ea85bbba8def903facaf8e94e4b04e3924e2;hp=00a138f1160156223c6685b609d825b86d7e0575;hpb=59243cf8bc1939348467810bc63e107728a680c4;p=open-adventure.git diff --git a/main.c b/main.c index 00a138f..c02bd3c 100644 --- a/main.c +++ b/main.c @@ -43,17 +43,11 @@ struct game_t game; long LNLENG, LNPOSN; char rawbuf[LINESIZE], INLINE[LINESIZE + 1]; -long AMBER, AXE, BACK, BATTERY, BEAR, BIRD, BLOOD, - BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, - CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS, - EMERALD, ENTER, ENTRNC, FIND, FISSURE, FOOD, - GRATE, HINT, INVENT, JADE, KEYS, - KNIFE, LAMP, LOCK, LOOK, MAGAZINE, - MESSAG, MIRROR, NUGGET, NUL, OGRE, OIL, OYSTER, - PEARL, PILLOW, PLANT, PLANT2, PYRAMID, RESER, ROD, ROD2, - RUBY, RUG, SAPPH, SAY, SIGN, SNAKE, - STEPS, STREAM, THROW, TRIDENT, TROLL, TROLL2, - URN, VASE, VEND, VOLCANO, WATER; +long FIND; +long INVENT; +long SAY; +long LOCK; +long THROW; FILE *logfp = NULL, *rfp = NULL; bool oldstyle = false; @@ -303,11 +297,11 @@ static bool spotted_by_pirate(int i) int snarfed = 0; bool movechest = false, robplayer = false; for (int treasure = 1; treasure <= NOBJECTS; treasure++) { - if (!object_descriptions[treasure].is_treasure) + if (!objects[treasure].is_treasure) continue; /* Pirate won't take pyramid from plover room or dark * room (too easy!). */ - if (treasure == PYRAMID && (game.loc == object_descriptions[PYRAMID].plac || game.loc == object_descriptions[EMERALD].plac)) { + if (treasure == PYRAMID && (game.loc == objects[PYRAMID].plac || game.loc == objects[EMERALD].plac)) { continue; } if (TOTING(treasure) || HERE(treasure)) @@ -339,9 +333,9 @@ static bool spotted_by_pirate(int i) if (robplayer) { rspeak(PIRATE_POUNCES); for (int treasure = 1; treasure <= NOBJECTS; treasure++) { - if (!object_descriptions[treasure].is_treasure) + if (!objects[treasure].is_treasure) continue; - if (!(treasure == PYRAMID && (game.loc == object_descriptions[PYRAMID].plac || game.loc == object_descriptions[EMERALD].plac))) { + if (!(treasure == PYRAMID && (game.loc == objects[PYRAMID].plac || game.loc == objects[EMERALD].plac))) { if (AT(treasure) && game.fixed[treasure] == 0) carry(treasure, game.loc); if (TOTING(treasure)) @@ -417,8 +411,8 @@ static bool dwarfmove(void) if (game.dloc[i] == 0) continue; /* Fill tk array with all the places this dwarf might go. */ - int j = 1; - kk = KEY[game.dloc[i]]; + unsigned int j = 1; + kk = TKEY[game.dloc[i]]; if (kk != 0) do { game.newloc = T_DESTINATION(TRAVEL[kk]); @@ -541,7 +535,7 @@ static void croak(void) static bool playermove(token_t verb, int motion) { - int scratchloc, k2, kk = KEY[game.loc]; + int scratchloc, k2, kk = TKEY[game.loc]; game.newloc = game.loc; if (kk == 0) BUG(LOCATION_HAS_NO_TRAVEL_ENTRIES); @@ -564,7 +558,7 @@ static bool playermove(token_t verb, int motion) scratchloc = T_DESTINATION(TRAVEL[kk]); if (scratchloc != motion) { if (!SPECIAL(scratchloc)) { - if (FORCED(scratchloc) && T_DESTINATION(TRAVEL[KEY[scratchloc]]) == motion) + if (FORCED(scratchloc) && T_DESTINATION(TRAVEL[TKEY[scratchloc]]) == motion) k2 = kk; } if (TRAVEL[kk] >= 0) { @@ -580,7 +574,7 @@ static bool playermove(token_t verb, int motion) } motion = T_MOTION(TRAVEL[kk]); - kk = KEY[game.loc]; + kk = TKEY[game.loc]; break; /* fall through to ordinary travel */ } } else { @@ -709,13 +703,13 @@ static bool playermove(token_t verb, int motion) game.prop[TROLL] = 0; move(TROLL2, 0); move(TROLL2 + NOBJECTS, 0); - move(TROLL, object_descriptions[TROLL].plac); - move(TROLL + NOBJECTS, object_descriptions[TROLL].fixd); + move(TROLL, objects[TROLL].plac); + move(TROLL + NOBJECTS, objects[TROLL].fixd); juggle(CHASM); game.newloc = game.loc; return true; } else { - game.newloc = object_descriptions[TROLL].plac + object_descriptions[TROLL].fixd - game.loc; + game.newloc = objects[TROLL].plac + objects[TROLL].fixd - game.loc; if (game.prop[TROLL] == 0)game.prop[TROLL] = 1; if (!TOTING(BEAR)) return true; rspeak(BRIDGE_COLLAPSE); @@ -788,8 +782,8 @@ static bool closecheck(void) } move(TROLL, 0); move(TROLL + NOBJECTS, 0); - move(TROLL2, object_descriptions[TROLL].plac); - move(TROLL2 + NOBJECTS, object_descriptions[TROLL].fixd); + move(TROLL2, objects[TROLL].plac); + move(TROLL2 + NOBJECTS, objects[TROLL].fixd); juggle(CHASM); if (game.prop[BEAR] != 3)DESTROY(BEAR); game.prop[CHAIN] = 0;