Address GitLab issue #45: OSX Compile issue
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index f9fb116a1034bbd1f6a3f7d85c2d79e30d9bde60..1865483964d109c9a4aa7c5b7dd69d0d373d0d6a 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,17 +1,4 @@
 /*
 /*
- * There used to be a note that said this:
- *
- * The author - Don Woods - apologises for the style of the code; it
- * is a result of running the original Fortran IV source through a
- * home-brew Fortran-to-C converter.
- *
- * Now that the code has been restructured into something much closer
- * to idiomatic C, the following is more appropriate:
- *
- * ESR apologizes for the remaing gotos (now confined to one function
- * in this file - there used to be over 350 of them, *everywhere*).
- * Applying the Structured Program Theorem can be hard.
- *
  * Copyright (c) 1977, 2005 by Will Crowther and Don Woods
  * Copyright (c) 2017 by Eric S. Raymond
  * SPDX-License-Identifier: BSD-2-clause
  * Copyright (c) 1977, 2005 by Will Crowther and Don Woods
  * Copyright (c) 2017 by Eric S. Raymond
  * SPDX-License-Identifier: BSD-2-clause
@@ -723,7 +710,7 @@ static void playermove( int motion)
                      * game.prop[TROLL]=TROLL_UNPAID.)  Special stuff
                      * for bear. */
                     if (game.prop[TROLL] == TROLL_PAIDONCE) {
                      * game.prop[TROLL]=TROLL_UNPAID.)  Special stuff
                      * for bear. */
                     if (game.prop[TROLL] == TROLL_PAIDONCE) {
-                        pspeak(TROLL, look, TROLL_PAIDONCE, true);
+                        pspeak(TROLL, look, true, TROLL_PAIDONCE);
                         game.prop[TROLL] = TROLL_UNPAID;
                         move(TROLL2, LOC_NOWHERE);
                         move(TROLL2 + NOBJECTS, IS_FREE);
                         game.prop[TROLL] = TROLL_UNPAID;
                         move(TROLL2, LOC_NOWHERE);
                         move(TROLL2 + NOBJECTS, IS_FREE);
@@ -969,7 +956,7 @@ static void listobjects(void)
                 kk = (game.loc == game.fixed[STEPS])
                      ? STEPS_UP
                      : STEPS_DOWN;
                 kk = (game.loc == game.fixed[STEPS])
                      ? STEPS_UP
                      : STEPS_DOWN;
-            pspeak(obj, look, kk, true);
+            pspeak(obj, look, true, kk);
         }
     }
 }
         }
     }
 }
@@ -981,14 +968,14 @@ void clear_command(command_t *cmd)
     cmd->obj = NO_OBJECT;
 }
 
     cmd->obj = NO_OBJECT;
 }
 
-/* 
+/*
  * This function probably does too many disparate things. It checks for hints,
  * This function probably does too many disparate things. It checks for hints,
- * sees if the gamed is closed, checks for darkness, gets user input, increments 
- * the turns in the game state, checks to see if we should be closing, gets the 
- * command input, and preprocesses some implied verbs in the case that the user 
+ * sees if the gamed is closed, checks for darkness, gets user input, increments
+ * the turns in the game state, checks to see if we should be closing, gets the
+ * command input, and preprocesses some implied verbs in the case that the user
  * put in a single word motion or object command.
  * put in a single word motion or object command.
- * 
- * This was the lesser evil -- it got rid of a really nasty goto in the main 
+ *
+ * This was the lesser evil -- it got rid of a really nasty goto in the main
  * input parser/state transition engine. This should be refactored further.
  */
 bool get_preprocessed_command_input(command_t *command)
  * input parser/state transition engine. This should be refactored further.
  */
 bool get_preprocessed_command_input(command_t *command)
@@ -1005,7 +992,7 @@ bool get_preprocessed_command_input(command_t *command)
          *  separate from their respective piles. */
         if (game.closed) {
             if (game.prop[OYSTER] < 0 && TOTING(OYSTER))
          *  separate from their respective piles. */
         if (game.closed) {
             if (game.prop[OYSTER] < 0 && TOTING(OYSTER))
-                pspeak(OYSTER, look, 1, true);
+                pspeak(OYSTER, look, true, 1);
             for (size_t i = 1; i <= NOBJECTS; i++) {
                 if (TOTING(i) && game.prop[i] < 0)
                     game.prop[i] = STASHED(i);
             for (size_t i = 1; i <= NOBJECTS; i++) {
                 if (TOTING(i) && game.prop[i] < 0)
                     game.prop[i] = STASHED(i);
@@ -1163,7 +1150,7 @@ static bool do_command()
 
         listobjects();
         clear_command(&command);
 
         listobjects();
         clear_command(&command);
-    
+
         do {
             // Get pre-processed command input from user
             command_given = get_preprocessed_command_input(&command);
         do {
             // Get pre-processed command input from user
             command_given = get_preprocessed_command_input(&command);
@@ -1218,7 +1205,7 @@ static bool do_command()
                     BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE
                 }
 
                     BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE
                 }
 
-                if(command_given) {
+                if (command_given) {
                     switch (action(command)) {
                     case GO_TERMINATE:
                         return true;
                     switch (action(command)) {
                     case GO_TERMINATE:
                         return true;
@@ -1229,7 +1216,7 @@ static bool do_command()
                         continue;    /* back to top of main interpreter loop */
                     case GO_CLEAROBJ:
                         clear_command(&command);
                         continue;    /* back to top of main interpreter loop */
                     case GO_CLEAROBJ:
                         clear_command(&command);
-                        /* FALL THROUGH */
+                    /* FALL THROUGH */
                     case GO_CHECKHINT:
                         command_given = false;
                         break;
                     case GO_CHECKHINT:
                         command_given = false;
                         break;
@@ -1260,7 +1247,7 @@ static bool do_command()
                 }
             } while (!command_executed);
         } while (!command_given);
                 }
             } while (!command_executed);
         } while (!command_given);
-    } 
+    }
 }
 
 /* end */
 }
 
 /* end */