projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve test coverage.
[open-adventure.git]
/
main.c
diff --git
a/main.c
b/main.c
index 21fedadb11b7e5ff1af2cb2a393ac8f2aee1017b..e5859b613622cd108ebda83fbb0033b5e74cbac8 100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-623,6
+623,7
@@
static bool playermove(FILE *cmdin, token_t verb, int motion)
/* else fall through */
} else if (game.prop[motion] != game.newloc / 100 - 3)
break;
/* else fall through */
} else if (game.prop[motion] != game.newloc / 100 - 3)
break;
+ L12:
do {
if (TRAVEL[kk] < 0)BUG(25);
++kk;
do {
if (TRAVEL[kk] < 0)BUG(25);
++kk;
@@
-645,10
+646,10
@@
static bool playermove(FILE *cmdin, token_t verb, int motion)
* actual motion, but can be spotted by "go back". */
/* FIXME: Arithmetic on location numbers */
game.newloc = 99 + 100 - game.loc;
* actual motion, but can be spotted by "go back". */
/* FIXME: Arithmetic on location numbers */
game.newloc = 99 + 100 - game.loc;
- if (game.holdng
== 0 || (game.holdng == 1 && TOTING(EMRALD)))
-
return true
;
-
game.newloc = game.loc
;
- RSPEAK(MUST_DROP);
+ if (game.holdng
> 1 || (game.holdng == 1 && !TOTING(EMRALD))) {
+
game.newloc = game.loc
;
+
RSPEAK(MUST_DROP)
;
+ }
return true;
case 2:
/* Travel 302. Plover transport. Drop the emerald (only use
return true;
case 2:
/* Travel 302. Plover transport. Drop the emerald (only use
@@
-656,13
+657,7
@@
static bool playermove(FILE *cmdin, token_t verb, int motion)
* plover-passage to get it out. Having dropped it, go back and
* pretend he wasn't carrying it after all. */
DROP(EMRALD, game.loc);
* plover-passage to get it out. Having dropped it, go back and
* pretend he wasn't carrying it after all. */
DROP(EMRALD, game.loc);
- do {
- if (TRAVEL[kk] < 0)BUG(25);
- ++kk;
- game.newloc = labs(TRAVEL[kk]) / 1000;
- } while
- (game.newloc == scratchloc);
- continue; /* back to top of do/while loop */
+ goto L12;
case 3:
/* Travel 303. Troll bridge. Must be done only as special
* motion so that dwarves won't wander across and encounter
case 3:
/* Travel 303. Troll bridge. Must be done only as special
* motion so that dwarves won't wander across and encounter
@@
-693,13
+688,12
@@
static bool playermove(FILE *cmdin, token_t verb, int motion)
game.prop[BEAR] = 3;
game.oldlc2 = game.newloc;
croak(cmdin);
game.prop[BEAR] = 3;
game.oldlc2 = game.newloc;
croak(cmdin);
- return false;
}
}
BUG(20);
}
} while
}
}
BUG(20);
}
} while
- (false);
+
(false);
/* FIXME: Arithmetic on location number, becoming a message number */
RSPEAK(game.newloc - 500);
game.newloc = game.loc;
/* FIXME: Arithmetic on location number, becoming a message number */
RSPEAK(game.newloc - 500);
game.newloc = game.loc;