projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove message pointer math in croak().
[open-adventure.git]
/
main.c
diff --git
a/main.c
b/main.c
index c4892ffe04e8eb04f74b0cae5bebb62c2d5777e4..7e30f4eb0797a87855fe9caf8ca7f10941afae8d 100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-148,7
+148,7
@@
int main(int argc, char *argv[])
game.loc = LOC_START;
game.limit = 330;
if (!rfp) {
game.loc = LOC_START;
game.limit = 330;
if (!rfp) {
- game.novice = YES(
WELCOME_YOU, CAVE_NEARBY, NO_MESSAGE
);
+ game.novice = YES(
arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]
);
if (game.novice)game.limit = 1000;
} else {
restore(rfp);
if (game.novice)game.limit = 1000;
} else {
restore(rfp);
@@
-264,11
+264,11
@@
static void checkhints(void)
/* Fall through to hint display */
game.hintlc[hint] = 0;
/* Fall through to hint display */
game.hintlc[hint] = 0;
- if (!YES(
HINTS[hint][3], NO_MESSAGE, OK_MAN
))
+ if (!YES(
arbitrary_messages[HINTS[hint][3]], arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN]
))
return;
SETPRM(1, HINTS[hint][2], HINTS[hint][2]);
RSPEAK(HINT_COST);
return;
SETPRM(1, HINTS[hint][2], HINTS[hint][2]);
RSPEAK(HINT_COST);
- game.hinted[hint] = YES(
WANT_HINT, HINTS[hint][4], OK_MAN
);
+ game.hinted[hint] = YES(
arbitrary_messages[WANT_HINT], arbitrary_messages[HINTS[hint][4]], arbitrary_messages[OK_MAN]
);
if (game.hinted[hint] && game.limit > WARNTIME)
game.limit += WARNTIME * HINTS[hint][2];
}
if (game.hinted[hint] && game.limit > WARNTIME)
game.limit += WARNTIME * HINTS[hint][2];
}
@@
-490,6
+490,8
@@
static bool dwarfmove(void)
static void croak(void)
/* Okay, he's dead. Let's get on with it. */
{
static void croak(void)
/* Okay, he's dead. Let's get on with it. */
{
+ const char* query = obituaries[game.numdie].query;
+ const char* yes_response = obituaries[game.numdie].yes_response;
++game.numdie;
if (game.closng) {
/* He died during closing time. No resurrection. Tally up a
++game.numdie;
if (game.closng) {
/* He died during closing time. No resurrection. Tally up a
@@
-497,8
+499,7
@@
static void croak(void)
RSPEAK(DEATH_CLOSING);
terminate(endgame);
}
RSPEAK(DEATH_CLOSING);
terminate(endgame);
}
- /* FIXME: Arithmetic on message numbers */
- else if (game.numdie == MAXDIE || !YES(WATCH_IT + game.numdie * 2, WHICH_WAY + game.numdie * 2, OK_MAN))
+ else if (game.numdie == maximum_deaths || !YES(query, yes_response, arbitrary_messages[OK_MAN]))
terminate(endgame);
else {
game.place[WATER] = game.place[OIL] = NOWHERE;
terminate(endgame);
else {
game.place[WATER] = game.place[OIL] = NOWHERE;
@@
-841,7
+842,7
@@
static void lampcheck(void)
* goes out. Even then, he can explore outside for a while
* if desired. */
if (game.limit <= WARNTIME && HERE(BATTERY) && game.prop[BATTERY] == 0 && HERE(LAMP)) {
* goes out. Even then, he can explore outside for a while
* if desired. */
if (game.limit <= WARNTIME && HERE(BATTERY) && game.prop[BATTERY] == 0 && HERE(LAMP)) {
- RSPEAK(REPLACE_BATTER
Y
IES);
+ RSPEAK(REPLACE_BATTERIES);
game.prop[BATTERY] = 1;
if (TOTING(BATTERY))
DROP(BATTERY, game.loc);
game.prop[BATTERY] = 1;
if (TOTING(BATTERY))
DROP(BATTERY, game.loc);
@@
-855,7
+856,7
@@
static void lampcheck(void)
} else if (game.limit <= WARNTIME) {
if (!game.lmwarn && HERE(LAMP)) {
game.lmwarn = true;
} else if (game.limit <= WARNTIME) {
if (!game.lmwarn && HERE(LAMP)) {
game.lmwarn = true;
- int spk = GET_BATTER
Y
IES;
+ int spk = GET_BATTERIES;
if (game.place[BATTERY] == NOWHERE)spk = LAMP_DIM;
if (game.prop[BATTERY] == 1)spk = MISSING_BATTERYIES;
RSPEAK(spk);
if (game.place[BATTERY] == NOWHERE)spk = LAMP_DIM;
if (game.prop[BATTERY] == 1)spk = MISSING_BATTERYIES;
RSPEAK(spk);