Unshadowed k2 into k3 in main.c
Reindented everything
This commit is contained in:
parent
5f44fccf4d
commit
bf2fa227f0
7 changed files with 323 additions and 342 deletions
141
main.c
141
main.c
|
@ -170,7 +170,7 @@ static bool fallback_handler(char *buf)
|
|||
// autogenerated, so don't charge user time for it.
|
||||
--game.turns;
|
||||
// here we reconfigure any global game state that uses random numbers
|
||||
make_zzword(game.zzword);
|
||||
make_zzword(game.zzword);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -283,8 +283,8 @@ static bool spotted_by_pirate(int i)
|
|||
int snarfed = 0;
|
||||
bool movechest = false, robplayer = false;
|
||||
for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
|
||||
if (!objects[treasure].is_treasure)
|
||||
continue;
|
||||
if (!objects[treasure].is_treasure)
|
||||
continue;
|
||||
/* Pirate won't take pyramid from plover room or dark
|
||||
* room (too easy!). */
|
||||
if (treasure == PYRAMID && (game.loc == objects[PYRAMID].plac || game.loc == objects[EMERALD].plac)) {
|
||||
|
@ -318,9 +318,9 @@ static bool spotted_by_pirate(int i)
|
|||
}
|
||||
if (robplayer) {
|
||||
rspeak(PIRATE_POUNCES);
|
||||
for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
|
||||
if (!objects[treasure].is_treasure)
|
||||
continue;
|
||||
for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
|
||||
if (!objects[treasure].is_treasure)
|
||||
continue;
|
||||
if (!(treasure == PYRAMID && (game.loc == objects[PYRAMID].plac || game.loc == objects[EMERALD].plac))) {
|
||||
if (AT(treasure) && game.fixed[treasure] == 0)
|
||||
carry(treasure, game.loc);
|
||||
|
@ -401,7 +401,7 @@ static bool dwarfmove(void)
|
|||
kk = tkey[game.dloc[i]];
|
||||
if (kk != 0)
|
||||
do {
|
||||
game.newloc = T_DESTINATION(travel[kk]);
|
||||
game.newloc = T_DESTINATION(travel[kk]);
|
||||
/* Have we avoided a dwarf encounter? */
|
||||
bool avoided = (SPECIAL(game.newloc) ||
|
||||
!INDEEP(game.newloc) ||
|
||||
|
@ -417,7 +417,7 @@ static bool dwarfmove(void)
|
|||
}
|
||||
++kk;
|
||||
} while
|
||||
(!travel[kk - 1].stop);
|
||||
(!travel[kk - 1].stop);
|
||||
tk[j] = game.odloc[i];
|
||||
if (j >= 2)
|
||||
--j;
|
||||
|
@ -551,8 +551,8 @@ static bool playermove(token_t verb, int motion)
|
|||
++kk; /* go to next travel entry for this location */
|
||||
continue;
|
||||
}
|
||||
/* we've reached the end of travel entries for game.loc */
|
||||
kk = k2;
|
||||
/* we've reached the end of travel entries for game.loc */
|
||||
kk = k2;
|
||||
if (kk == 0) {
|
||||
rspeak(NOT_CONNECTED);
|
||||
return true;
|
||||
|
@ -619,43 +619,43 @@ static bool playermove(token_t verb, int motion)
|
|||
long cond = T_CONDITION(travel[kk]);
|
||||
long arg = MOD(cond, 100);
|
||||
if (!SPECIAL(cond)) {
|
||||
/* YAML N and [pct N] conditionals */
|
||||
/* YAML N and [pct N] conditionals */
|
||||
if (cond <= 100) {
|
||||
if (cond == 0 || PCT(cond))
|
||||
break;
|
||||
/* else fall through */
|
||||
}
|
||||
/* YAML [with OBJ] clause */
|
||||
/* YAML [with OBJ] clause */
|
||||
if (TOTING(arg) || (cond > 200 && AT(arg)))
|
||||
break;
|
||||
/* else fall through to check [not OBJ STATE] */
|
||||
} else if (game.prop[arg] != cond / 100 - 3)
|
||||
break;
|
||||
|
||||
/* We arrive here on conditional failure.
|
||||
* Skip to next non-matching destination */
|
||||
long k2 = kk;
|
||||
do {
|
||||
if (travel[k2].stop)
|
||||
/* We arrive here on conditional failure.
|
||||
* Skip to next non-matching destination */
|
||||
long k3 = kk;
|
||||
do {
|
||||
if (travel[k3].stop)
|
||||
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
||||
++k2;
|
||||
++k3;
|
||||
} while
|
||||
(T_HIGH(travel[kk]) == T_HIGH(travel[k2]));
|
||||
kk = k2;
|
||||
(T_HIGH(travel[kk]) == T_HIGH(travel[k3]));
|
||||
kk = k3;
|
||||
}
|
||||
|
||||
/* Found an eligible rule, now execute it */
|
||||
/* Found an eligible rule, now execute it */
|
||||
game.newloc = T_DESTINATION(travel[kk]);
|
||||
if (!SPECIAL(game.newloc))
|
||||
return true;
|
||||
|
||||
if (game.newloc > 500) {
|
||||
/* Execute a speak rule */
|
||||
rspeak(L_SPEAK(game.newloc));
|
||||
game.newloc = game.loc;
|
||||
return true;
|
||||
} else {
|
||||
game.newloc -= SPECIALBASE;
|
||||
if (game.newloc > 500) {
|
||||
/* Execute a speak rule */
|
||||
rspeak(L_SPEAK(game.newloc));
|
||||
game.newloc = game.loc;
|
||||
return true;
|
||||
} else {
|
||||
game.newloc -= SPECIALBASE;
|
||||
switch (game.newloc) {
|
||||
case 1:
|
||||
/* Travel 301. Plover-alcove passage. Can carry only
|
||||
|
@ -676,13 +676,13 @@ static bool playermove(token_t verb, int motion)
|
|||
* to get it out. Having dropped it, go back and
|
||||
* pretend he wasn't carrying it after all. */
|
||||
drop(EMERALD, game.loc);
|
||||
k2 = kk;
|
||||
k2 = kk;
|
||||
do {
|
||||
if (travel[k2].stop)
|
||||
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
||||
++k2;
|
||||
} while
|
||||
(T_HIGH(travel[kk]) == T_HIGH(travel[k2]));
|
||||
(T_HIGH(travel[kk]) == T_HIGH(travel[k2]));
|
||||
kk = k2;
|
||||
continue; /* goto L12 */
|
||||
case 3:
|
||||
|
@ -696,7 +696,7 @@ static bool playermove(token_t verb, int motion)
|
|||
* entries check for game.prop(TROLL)=0.) Special
|
||||
* stuff for bear. */
|
||||
if (game.prop[TROLL] == 1) {
|
||||
pspeak(TROLL,look, 1);
|
||||
pspeak(TROLL, look, 1);
|
||||
game.prop[TROLL] = 0;
|
||||
move(TROLL2, 0);
|
||||
move(TROLL2 + NOBJECTS, 0);
|
||||
|
@ -719,8 +719,8 @@ static bool playermove(token_t verb, int motion)
|
|||
croak();
|
||||
return true;
|
||||
}
|
||||
default:
|
||||
BUG(SPECIAL_TRAVEL_500_GT_L_GT_300_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
|
||||
default:
|
||||
BUG(SPECIAL_TRAVEL_500_GT_L_GT_300_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
|
||||
}
|
||||
}
|
||||
break; /* Leave L12 loop */
|
||||
|
@ -778,7 +778,7 @@ static bool closecheck(void)
|
|||
move(TROLL2 + NOBJECTS, objects[TROLL].fixd);
|
||||
juggle(CHASM);
|
||||
if (game.prop[BEAR] != BEAR_DEAD)
|
||||
DESTROY(BEAR);
|
||||
DESTROY(BEAR);
|
||||
game.prop[CHAIN] = 0;
|
||||
game.fixed[CHAIN] = 0;
|
||||
game.prop[AXE] = 0;
|
||||
|
@ -871,7 +871,7 @@ static void lampcheck(void)
|
|||
int spk = GET_BATTERIES;
|
||||
if (game.place[BATTERY] == LOC_NOWHERE)spk = LAMP_DIM;
|
||||
if (game.prop[BATTERY] == DEAD_BATTERIES)
|
||||
spk = MISSING_BATTERIES;
|
||||
spk = MISSING_BATTERIES;
|
||||
rspeak(spk);
|
||||
}
|
||||
}
|
||||
|
@ -1016,22 +1016,21 @@ L2600:
|
|||
game.knfloc = 0;
|
||||
|
||||
/* This is where we get a new command from the user */
|
||||
char* input;
|
||||
for (;;) {
|
||||
input = get_input();
|
||||
if (input == NULL)
|
||||
return(false);
|
||||
if (word_count(input) > 2)
|
||||
{
|
||||
rspeak(TWO_WORDS);
|
||||
continue;
|
||||
}
|
||||
if (strcmp(input, "") != 0)
|
||||
break;
|
||||
}
|
||||
long tokens[4];
|
||||
tokenize(input, tokens);
|
||||
command.wd1 = tokens[0];
|
||||
char* input;
|
||||
for (;;) {
|
||||
input = get_input();
|
||||
if (input == NULL)
|
||||
return (false);
|
||||
if (word_count(input) > 2) {
|
||||
rspeak(TWO_WORDS);
|
||||
continue;
|
||||
}
|
||||
if (strcmp(input, "") != 0)
|
||||
break;
|
||||
}
|
||||
long tokens[4];
|
||||
tokenize(input, tokens);
|
||||
command.wd1 = tokens[0];
|
||||
command.wd1x = tokens[1];
|
||||
command.wd2 = tokens[2];
|
||||
command.wd2x = tokens[3];
|
||||
|
@ -1043,16 +1042,14 @@ L2607:
|
|||
game.foobar = (game.foobar > 0 ? -game.foobar : 0);
|
||||
++game.turns;
|
||||
|
||||
/* If a turn threshold has been met, apply penalties and tell
|
||||
* the player about it. */
|
||||
for (int i = 0; i < NTHRESHOLDS; ++i)
|
||||
{
|
||||
if (game.turns == turn_thresholds[i].threshold + 1)
|
||||
{
|
||||
game.trnluz += turn_thresholds[i].point_loss;
|
||||
speak(turn_thresholds[i].message);
|
||||
}
|
||||
}
|
||||
/* If a turn threshold has been met, apply penalties and tell
|
||||
* the player about it. */
|
||||
for (int i = 0; i < NTHRESHOLDS; ++i) {
|
||||
if (game.turns == turn_thresholds[i].threshold + 1) {
|
||||
game.trnluz += turn_thresholds[i].point_loss;
|
||||
speak(turn_thresholds[i].message);
|
||||
}
|
||||
}
|
||||
|
||||
if (command.verb == SAY && command.wd2 > 0)
|
||||
command.verb = 0;
|
||||
|
@ -1066,12 +1063,12 @@ L2607:
|
|||
} else
|
||||
lampcheck();
|
||||
|
||||
char word1[6];
|
||||
char word2[6];
|
||||
packed_to_token(command.wd1, word1);
|
||||
packed_to_token(command.wd2, word2);
|
||||
V1 = get_vocab_id(word1);
|
||||
V2 = get_vocab_id(word2);
|
||||
char word1[6];
|
||||
char word2[6];
|
||||
packed_to_token(command.wd1, word1);
|
||||
packed_to_token(command.wd2, word2);
|
||||
V1 = get_vocab_id(word1);
|
||||
V2 = get_vocab_id(word2);
|
||||
if (V1 == ENTER && (V2 == STREAM || V2 == 1000 + WATER)) {
|
||||
if (LIQLOC(game.loc) == WATER) {
|
||||
rspeak(FEET_WET);
|
||||
|
@ -1089,10 +1086,10 @@ L2607:
|
|||
if (!((V1 != 1000 + WATER && V1 != 1000 + OIL) ||
|
||||
(V2 != 1000 + PLANT && V2 != 1000 + DOOR))) {
|
||||
if (AT(V2 - 1000))
|
||||
command.wd2 = token_to_packed("POUR");
|
||||
command.wd2 = token_to_packed("POUR");
|
||||
}
|
||||
if (V1 == 1000 + CAGE && V2 == 1000 + BIRD && HERE(CAGE) && HERE(BIRD))
|
||||
command.wd1 = token_to_packed("CATCH");
|
||||
command.wd1 = token_to_packed("CATCH");
|
||||
}
|
||||
L2620:
|
||||
if (wordeq(command.wd1, token_to_packed("WEST"))) {
|
||||
|
@ -1105,8 +1102,8 @@ L2620:
|
|||
rspeak(GO_UNNEEDED);
|
||||
}
|
||||
Lookup:
|
||||
packed_to_token(command.wd1, word1);
|
||||
defn = get_vocab_id(word1);
|
||||
packed_to_token(command.wd1, word1);
|
||||
defn = get_vocab_id(word1);
|
||||
if (defn == -1) {
|
||||
/* Gee, I don't understand. */
|
||||
if (fallback_handler(input))
|
||||
|
@ -1172,7 +1169,7 @@ Laction:
|
|||
default:
|
||||
BUG(ACTION_RETURNED_PHASE_CODE_BEYOND_END_OF_SWITCH); // LCOV_EXCL_LINE
|
||||
}
|
||||
linenoiseFree(input);
|
||||
linenoiseFree(input);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue