playermove() never returns false; simplify accordingly
[open-adventure.git] / misc.c
diff --git a/misc.c b/misc.c
index 5e7692149ed88697579374b023cd6facb21f05ae..b1c50d18ee76e6b4425fff5fd6943f0159cfdfef 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -60,7 +60,8 @@ void packed_to_token(long packed, char token[6])
 
     // Replace trailing whitespace with \0.
     for (int i = 4; i >= 0; --i) {
-        if (token[i] == ' ' || token[i] == '\t')
+        if (token[i] == ' ' ||
+            token[i] == '\t')
             token[i] = '\0';
         else
             break;
@@ -155,7 +156,7 @@ void wordclear(token_t *v)
 
 /*  I/O routines (speak, pspeak, rspeak, get_input, yes) */
 
-void vspeak(const char* msg, va_list ap)
+void vspeak(const char* msg, bool blank, va_list ap)
 {
     // Do nothing if we got a null pointer.
     if (msg == NULL)
@@ -165,8 +166,7 @@ void vspeak(const char* msg, va_list ap)
     if (strlen(msg) == 0)
         return;
 
-    // Print a newline if the global game.blklin says to.
-    if (game.blklin == true)
+    if (blank == true)
         printf("\n");
 
     int msglen = strlen(msg);
@@ -226,7 +226,8 @@ void vspeak(const char* msg, va_list ap)
             }
 
             // All-lowercase specifier.
-            if (msg[i] == 'L' || msg[i] == 'C') {
+            if (msg[i] == 'L' ||
+                msg[i] == 'C') {
                 packed_to_token(arg, renderp); /* unpack directly to destination */
                 int len = strlen(renderp);
                 for (int j = 0; j < len; ++j) {
@@ -253,11 +254,11 @@ void speak(const char* msg, ...)
 {
     va_list ap;
     va_start(ap, msg);
-    vspeak(msg, ap);
+    vspeak(msg, true, ap);
     va_end(ap);
 }
 
-void pspeak(vocab_t msg, enum speaktype mode, int skip, ...)
+void pspeak(vocab_t msg, enum speaktype mode, int skip, bool blank, ...)
 /* Find the skip+1st message from msg and print it.  Modes are:
  * feel = for inventory, what you can touch
  * look = the long description for the state the object is in
@@ -265,22 +266,22 @@ void pspeak(vocab_t msg, enum speaktype mode, int skip, ...)
  * study = text on the object. */
 {
     va_list ap;
-    va_start(ap, skip);
+    va_start(ap, blank);
     switch (mode) {
     case touch:
-        vspeak(objects[msg].inventory, ap);
+        vspeak(objects[msg].inventory, blank, ap);
         break;
     case look:
-        vspeak(objects[msg].descriptions[skip], ap);
+        vspeak(objects[msg].descriptions[skip], blank, ap);
         break;
     case hear:
-        vspeak(objects[msg].sounds[skip], ap);
+        vspeak(objects[msg].sounds[skip], blank, ap);
         break;
     case study:
-        vspeak(objects[msg].texts[skip], ap);
+        vspeak(objects[msg].texts[skip], blank, ap);
         break;
     case change:
-        vspeak(objects[msg].changes[skip], ap);
+        vspeak(objects[msg].changes[skip], blank, ap);
         break;
     }
     va_end(ap);
@@ -291,7 +292,7 @@ void rspeak(vocab_t i, ...)
 {
     va_list ap;
     va_start(ap, i);
-    vspeak(arbitrary_messages[i], ap);
+    vspeak(arbitrary_messages[i], true, ap);
     va_end(ap);
 }
 
@@ -328,9 +329,8 @@ char* get_input()
     if (!settings.prompt)
         input_prompt[0] = '\0';
 
-    // Print a blank line if game.blklin tells us to.
-    if (game.blklin == true)
-        printf("\n");
+    // Print a blank line
+    printf("\n");
 
     char* input;
     while (true) {
@@ -389,10 +389,12 @@ bool silent_yes()
 
         free(firstword);
 
-        if (yes == 0 || y == 0) {
+        if (yes == 0 ||
+            y == 0) {
             outcome = true;
             break;
-        } else if (no == 0 || n == 0) {
+        } else if (no == 0 ||
+                   n == 0) {
             outcome = false;
             break;
         } else
@@ -436,11 +438,13 @@ bool yes(const char* question, const char* yes_response, const char* no_response
 
         free(firstword);
 
-        if (yes == 0 || y == 0) {
+        if (yes == 0 ||
+            y == 0) {
             speak(yes_response);
             outcome = true;
             break;
-        } else if (no == 0 || n == 0) {
+        } else if (no == 0 ||
+                   n == 0) {
             speak(no_response);
             outcome = false;
             break;
@@ -459,7 +463,9 @@ int get_motion_vocab_id(const char* word)
 {
     for (int i = 0; i < NMOTIONS; ++i) {
         for (int j = 0; j < motions[i].words.n; ++j) {
-            if (strcasecmp(word, motions[i].words.strs[j]) == 0 && (strlen(word) > 1 || strchr(ignore, word[0]) == NULL || !settings.oldstyle))
+            if (strcasecmp(word, motions[i].words.strs[j]) == 0 && (strlen(word) > 1 ||
+                    strchr(ignore, word[0]) == NULL ||
+                    !settings.oldstyle))
                 return (i);
         }
     }
@@ -485,7 +491,9 @@ int get_action_vocab_id(const char* word)
 {
     for (int i = 0; i < NACTIONS; ++i) {
         for (int j = 0; j < actions[i].words.n; ++j) {
-            if (strcasecmp(word, actions[i].words.strs[j]) == 0 && (strlen(word) > 1 || strchr(ignore, word[0]) == NULL || !settings.oldstyle))
+            if (strcasecmp(word, actions[i].words.strs[j]) == 0 && (strlen(word) > 1 ||
+                    strchr(ignore, word[0]) == NULL ||
+                    !settings.oldstyle))
                 return (i);
         }
     }
@@ -652,7 +660,7 @@ void set_seed(long seedval)
 /* Set the LCG seed */
 {
     game.lcg_x = (unsigned long) seedval % game.lcg_m;
-    
+
     // once seed is set, we need to generate the Z`ZZZ word
     make_zzword(game.zzword);
 }