projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Spelling fixes
[open-adventure.git]
/
misc.c
diff --git
a/misc.c
b/misc.c
index 7365fbf1a7bb3f0b04eb79587cbb2558a7b2ea40..c2512cb0ac5a5b78493142f966ed9b653a94d9be 100644
(file)
--- a/
misc.c
+++ b/
misc.c
@@
-1,5
+1,5
@@
/*
/*
- * I/O and support r
i
utines.
+ * I/O and support r
o
utines.
*
* Copyright (c) 1977, 2005 by Will Crowther and Don Woods
* Copyright (c) 2017 by Eric S. Raymond
*
* Copyright (c) 1977, 2005 by Will Crowther and Don Woods
* Copyright (c) 2017 by Eric S. Raymond
@@
-221,7
+221,7
@@
static char* get_input(void)
// Print a blank line
printf("\n");
// Print a blank line
printf("\n");
- char* input
= ""
;
+ char* input;
for (;;) {
input = myreadline(input_prompt);
for (;;) {
input = myreadline(input_prompt);
@@
-411,7
+411,7
@@
static bool is_valid_int(const char *str)
if (!*str)
return false; // LCOV_EXCL_LINE
if (!*str)
return false; // LCOV_EXCL_LINE
- // Check for non-digit chars in the rest of the st
ir
ng.
+ // Check for non-digit chars in the rest of the st
ri
ng.
while (*str) {
if (!isdigit(*str))
return false;
while (*str) {
if (!isdigit(*str))
return false;
@@
-476,7
+476,7
@@
static void get_vocab_metadata(const char* word, vocab_t* id, word_type_t* type)
static void tokenize(char* raw, command_t *cmd)
{
/*
static void tokenize(char* raw, command_t *cmd)
{
/*
- * Be ca
ereful about modif
ing this. We do not want to nuke the
+ * Be ca
reful about modify
ing this. We do not want to nuke the
* the speech part or ID from the previous turn.
*/
memset(&cmd->word[0].raw, '\0', sizeof(cmd->word[0].raw));
* the speech part or ID from the previous turn.
*/
memset(&cmd->word[0].raw, '\0', sizeof(cmd->word[0].raw));
@@
-490,7
+490,7
@@
static void tokenize(char* raw, command_t *cmd)
/* (ESR) In oldstyle mode, simulate the uppercasing and truncating
* effect on raw tokens of packing them into sixbit characters, 5
* to a 32-bit word. This is something the FORTRAN version did
/* (ESR) In oldstyle mode, simulate the uppercasing and truncating
* effect on raw tokens of packing them into sixbit characters, 5
* to a 32-bit word. This is something the FORTRAN version did
- * becuse archaic FORTRAN had no string types. Don Wood's
+ * bec
a
use archaic FORTRAN had no string types. Don Wood's
* mechanical translation of 2.5 to C retained the packing and
* thus this misfeature.
*
* mechanical translation of 2.5 to C retained the packing and
* thus this misfeature.
*
@@
-602,7
+602,7
@@
loc_t put(obj_t object, loc_t where, int pval)
* negated game.prop values for the repository objects. */
{
move(object, where);
* negated game.prop values for the repository objects. */
{
move(object, where);
- return
STASHED(pval);
+ return
(-1) - pval;; // Needs to stay sinchronized with STASHED
}
void carry(obj_t object, loc_t where)
}
void carry(obj_t object, loc_t where)
@@
-617,6
+617,13
@@
void carry(obj_t object, loc_t where)
return;
game.place[object] = CARRIED;
return;
game.place[object] = CARRIED;
+ /*
+ * Without this conditional your inventory is overcounted
+ * when you pick up the bird while it's caged. This fixes
+ * a cosmetic bug in the original.
+ *
+ * Possibly this check should be skipped whwn oldstyle is on.
+ */
if (object != BIRD)
++game.holdng;
}
if (object != BIRD)
++game.holdng;
}
@@
-641,7
+648,7
@@
void drop(obj_t object, loc_t where)
if (game.place[object] == CARRIED)
if (object != BIRD)
/* The bird has to be weightless. This ugly hack (and the
if (game.place[object] == CARRIED)
if (object != BIRD)
/* The bird has to be weightless. This ugly hack (and the
- * corresponding code in the
drop
function) brought to you
+ * corresponding code in the
carry
function) brought to you
* by the fact that when the bird is caged, we need to be able
* to either 'take bird' or 'take cage' and have the right thing
* happen.
* by the fact that when the bird is caged, we need to be able
* to either 'take bird' or 'take cage' and have the right thing
* happen.
@@
-692,7
+699,7
@@
bool tstbit(int mask, int bit)
}
void set_seed(int32_t seedval)
}
void set_seed(int32_t seedval)
-/* Set the LCG seed */
+/* Set the LCG
1
seed */
{
game.lcg_x = seedval % LCG_M;
if (game.lcg_x < 0) {
{
game.lcg_x = seedval % LCG_M;
if (game.lcg_x < 0) {
@@
-711,6
+718,9
@@
static int32_t get_next_lcg_value(void)
{
int32_t old_x = game.lcg_x;
game.lcg_x = (LCG_A * game.lcg_x + LCG_C) % LCG_M;
{
int32_t old_x = game.lcg_x;
game.lcg_x = (LCG_A * game.lcg_x + LCG_C) % LCG_M;
+ if (settings.debug) {
+ printf("# random %d\n", old_x); // LCOV_EXCL_LINE
+ }
return old_x;
}
return old_x;
}