changeset 220:f54901b9c39b

XRogue: convert to ANSI-style function declarations.
author John "Elwin" Edwards
date Wed, 02 Mar 2016 21:13:26 -0500
parents f9ef86cf22b2
children 4f6e056438eb
files xrogue/actions.c xrogue/bolt.c xrogue/chase.c xrogue/command.c xrogue/daemon.c xrogue/daemons.c xrogue/eat.c xrogue/effects.c xrogue/encumb.c xrogue/fight.c xrogue/help.c xrogue/init.c xrogue/io.c xrogue/list.c xrogue/main.c xrogue/maze.c xrogue/misc.c xrogue/monsters.c xrogue/move.c xrogue/n_level.c xrogue/network.h xrogue/options.c xrogue/outside.c xrogue/pack.c xrogue/passages.c xrogue/player.c xrogue/potions.c xrogue/rings.c xrogue/rip.c xrogue/rogue.h xrogue/rooms.c xrogue/save.c xrogue/scrolls.c xrogue/state.c xrogue/sticks.c xrogue/things.c xrogue/trader.c xrogue/util.c xrogue/weapons.c xrogue/wear.c xrogue/wizard.c
diffstat 41 files changed, 1282 insertions(+), 909 deletions(-) [+]
line wrap: on
line diff
--- a/xrogue/actions.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/actions.c	Wed Mar 02 21:13:26 2016 -0500
@@ -24,12 +24,20 @@
 int mf_count = 0;       /* move_free counter - see actions.c(m_act()) */
 int mf_jmpcnt = 0;      /* move_free counter for # of jumps           */
 
+void m_breathe(struct thing *tp);
+void m_select(struct thing *th, bool flee);
+void m_sonic(struct thing *tp);
+void m_spell(struct thing *tp);
+void m_summon(struct thing *tp);
+bool m_use_it(struct thing *tp, bool flee, struct room *rer, struct room *ree);
+bool m_use_pack(struct thing *monster, coord *defend_pos, int dist, 
+                coord *shoot_dir);
+
 /* 
  * Did we disrupt a spell? 
  */
-dsrpt_monster(tp, always, see_him)
-register struct thing *tp;
-bool always, see_him;
+void
+dsrpt_monster(struct thing *tp, bool always, bool see_him)
 {
     switch (tp->t_action) {
     case A_SUMMON:
@@ -58,7 +66,8 @@
     }
 }
 
-dsrpt_player()
+void
+dsrpt_player(void)
 {
     int which, action;
     struct linked_list *item;
@@ -87,7 +96,7 @@
         if (purse > 0) {
             msg("Your gold goes flying everywhere!");
             do {
-                item = spec_item(GOLD, NULL, NULL, NULL);
+                item = spec_item(GOLD, 0, 0, 0);
                 obj = OBJPTR(item);
                 obj->o_count = min(purse, rnd(20)+1);
                 purse -= obj->o_count;
@@ -125,8 +134,8 @@
  *      Otherwise, let it perform its chosen action.
  */
 
-m_act(tp)
-register struct thing *tp;
+void
+m_act(struct thing *tp)
 {
     struct object *obj;
     bool flee;          /* Are we scared? */
@@ -290,8 +299,8 @@
  *      Breathe in the chosen direction.
  */
 
-m_breathe(tp)
-register struct thing *tp;
+void
+m_breathe(struct thing *tp)
 {
     register int damage;
     register char *breath = NULL;
@@ -399,11 +408,11 @@
 /*
  * m_select:
  *      Select an action for the monster.
+ * flee: True if running away or player is inaccessible in wall
  */
 
-m_select(th, flee)
-register struct thing *th;
-register bool flee; /* True if running away or player is inaccessible in wall */
+void
+m_select(struct thing *th, bool flee)
 {
     register struct room *rer, *ree;    /* room of chaser, room of chasee */
     int dist = INT_MIN;
@@ -541,8 +550,8 @@
  *      The monster is sounding a sonic blast.
  */
 
-m_sonic(tp)
-register struct thing *tp;
+void
+m_sonic(struct thing *tp)
 {
     register int damage;
     struct object blast =
@@ -571,8 +580,8 @@
  *      The monster casts a spell.  Currently this is limited to
  *      magic missile.
  */
-m_spell(tp)
-register struct thing *tp;
+void
+m_spell(struct thing *tp)
 {
     struct object missile =
     {
@@ -594,8 +603,8 @@
  *      Summon aid.
  */
 
-m_summon(tp)
-register struct thing *tp;
+void
+m_summon(struct thing *tp)
 {
     register char *helpname, *mname;
     int fail, numsum;
@@ -668,10 +677,7 @@
  */
 
 bool
-m_use_it(tp, flee, rer, ree)
-register struct thing *tp;
-bool flee;
-register struct room *rer, *ree;
+m_use_it(struct thing *tp, bool flee, struct room *rer, struct room *ree)
 {
     int dist;
     register coord *ee = tp->t_dest, *er = &tp->t_pos; 
@@ -836,7 +842,8 @@
 
 }
 
-reap()
+void
+reap(void)
 {
     _t_free_list(&rlist);
 }
@@ -844,10 +851,11 @@
 /*
  * runners:
  *      Make all the awake monsters try to do something.
+ * segments: Number of segments since last called
  */
 
-runners(segments)
-int segments;    /* Number of segments since last called */
+int
+runners(int segments)
 {
     register struct linked_list *item;
     register struct thing *tp = NULL;
@@ -961,11 +969,7 @@
  * Only care about relics and wands for now.
  */
 bool
-m_use_pack(monster, defend_pos, dist, shoot_dir)
-register struct thing *monster;
-coord *defend_pos;
-register int dist;
-register coord *shoot_dir;
+m_use_pack(struct thing *monster, coord *defend_pos, int dist, coord *shoot_dir)
 {
     register struct object *obj;
     register struct linked_list *pitem, *relic, *stick;
--- a/xrogue/bolt.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/bolt.c	Wed Mar 02 21:13:26 2016 -0500
@@ -18,6 +18,7 @@
 
 #include <curses.h>
 #include <ctype.h>
+#include <string.h>
 #include "rogue.h"
 
 /*
@@ -25,13 +26,9 @@
  *            given direction
  */
 
-shoot_bolt(shooter, start, dir, get_points, reason, name, damage)
-struct thing *shooter;
-coord start, dir;
-bool get_points;
-short reason;
-char *name;
-int damage;
+void
+shoot_bolt(struct thing *shooter, coord start, coord dir, bool get_points, 
+           short reason, char *name, int damage)
 {
     unsigned char dirch = 0, ch;
     bool used, change, see_him;
--- a/xrogue/chase.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/chase.c	Wed Mar 02 21:13:26 2016 -0500
@@ -19,16 +19,18 @@
 #include <ctype.h>
 #include <curses.h>
 #include <limits.h>
+#include <stdlib.h>
 #include "rogue.h"
 
+bool straight_shot(int ery, int erx, int eey, int eex, coord *shooting);
+
 /*
  * Canblink checks if the monster can teleport (blink).  If so, it will
  * try to blink the monster next to the player.
  */
 
 bool
-can_blink(tp)
-register struct thing *tp;
+can_blink(struct thing *tp)
 {
     register int y, x, index=9;
     coord tryp; /* To hold the coordinates for use in diag_ok */
@@ -123,8 +125,7 @@
  */
 
 int
-can_shoot(er, ee, shoot_dir)
-register coord *er, *ee, *shoot_dir;
+can_shoot(coord *er, coord *ee, coord *shoot_dir)
 {
     /* 
      * They must be in the same room or very close (at door)
@@ -150,15 +151,13 @@
  *      Find the spot for the chaser(er) to move closer to the
  *      chasee(ee).  Rer is the room of the chaser, and ree is the
  *      room of the creature being chased (chasee).
+ * 	flee: True if destination (ee) is player and monster is running away
+ *	or the player is in a wall and the monster can't get to it
  */
 
-chase(tp, ee, rer, ree, flee)
-register struct thing *tp;
-register coord *ee;
-register struct room *rer, *ree;
-bool flee; /* True if destination (ee) is player and monster is running away
-            * or the player is in a wall and the monster can't get to it
-            */
+void
+chase(struct thing *tp, coord *ee, struct room *rer, struct room *ree, 
+      bool flee)
 {
     int dist, thisdist, monst_dist = INT_MAX; 
     register coord *er = &tp->t_pos; 
@@ -495,8 +494,8 @@
  *      Make one thing chase another.
  */
 
-do_chase(th)
-register struct thing *th;
+void
+do_chase(struct thing *th)
 {
     register struct room *orig_rer,     /* Original room of chaser */
                          *new_room;     /* new room of monster */
@@ -812,8 +811,7 @@
  */
 
 struct linked_list *
-get_hurl(tp)
-register struct thing *tp;
+get_hurl(struct thing *tp)
 {
     struct linked_list *arrow=NULL, *bolt=NULL, *rock=NULL,
         *spear = NULL, *dagger=NULL, *dart=NULL, *aklad=NULL;
@@ -860,9 +858,8 @@
  *      Set a monster running after something
  */
 
-runto(runner, spot)
-register struct thing *runner;
-coord *spot;
+void
+runto(struct thing *runner, coord *spot)
 {
     if (on(*runner, ISSTONE))
         return;
@@ -888,9 +885,7 @@
  */
 
 bool
-straight_shot(ery, erx, eey, eex, shooting)
-register int ery, erx, eey, eex;
-register coord *shooting;
+straight_shot(int ery, int erx, int eey, int eex, coord *shooting)
 {
     register int dy, dx;        /* Deltas */
     unsigned char ch;
--- a/xrogue/command.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/command.c	Wed Mar 02 21:13:26 2016 -0500
@@ -24,12 +24,21 @@
 #include "mach_dep.h"
 #include "rogue.h"
 
+void display(void);
+void d_level(void);
+void u_level(void);
+void shell(void);
+void nameit(void);
+void namemonst(void);
+void count_gold(void);
+
 /*
  * command:
  *      Process the user commands
  */
 
-command()
+void
+command(void)
 {
     unsigned int ch;
     struct linked_list *item;
@@ -288,7 +297,7 @@
                         else {
                 after = FALSE;
                             player.t_action = A_NIL;
-                            fright();
+                            fright(NULL);
                         }
                     when 'g' : /* Give command: give slime-molds to monsters */
                         if (player.t_action == A_NIL) {
@@ -298,7 +307,7 @@
                         else {
                 after = FALSE;
                             player.t_action = A_NIL;
-                            give();
+                            give(NULL);
                         }
                     when 'G' :
                         if (player.t_action == A_NIL) {
@@ -357,14 +366,14 @@
             /* when '\\' : after = FALSE; ident_hero(); */
             when '\\' : msg("Charon (the Boatman) looks at you... ");
 
-                    when '/' : after = FALSE; identify(NULL);
+                    when '/' : after = FALSE; identify('\0');
                     when C_COUNT : count_gold();
                     when C_DIP : dip_it();
                     when C_DROP : player.t_action = C_DROP; 
                                   drop((struct linked_list *)NULL);
                     when C_EAT : eat();
-                    when C_QUAFF : quaff(-1, NULL, NULL, TRUE);
-                    when C_READ : read_scroll(-1, NULL, TRUE);
+                    when C_QUAFF : quaff(-1, 0, 0, TRUE);
+                    when C_READ : read_scroll(-1, 0, TRUE);
                     when C_SETTRAP : set_trap(&player, hero.y, hero.x);
                     when C_SEARCH :
                         if (player.t_action == A_NIL) {
@@ -379,7 +388,7 @@
                     when C_USE : use_mm(-1);
                     when C_WEAR : wear();
                     when C_WIELD : wield();
-                    when C_ZAP : if (!player_zap(NULL, FALSE)) after=FALSE;
+                    when C_ZAP : if (!player_zap(0, FALSE)) after=FALSE;
                     when C_CAST : cast();
                     when C_CHANT : chant();
                     when C_PRAY : pray();
@@ -638,7 +647,8 @@
  *      tell the player what is at a certain coordinates assuming
  *      it can be seen.
  */
-display()
+void
+display(void)
 {
     coord c;
     struct linked_list *item;
@@ -673,8 +683,7 @@
 
 /*UNUSED*/
 void
-quit(sig)
-int sig;
+quit(int sig)
 {
     register int oy, ox;
 
@@ -727,8 +736,8 @@
  *      killed by a program bug instead of voluntarily.
  */
 
-bugkill(sig)
-int sig;
+void
+bugkill(int sig)
 {
     signal(sig, quit);      /* If we get it again, give up */
     if (levtype == OUTSIDE) {
@@ -748,8 +757,8 @@
  *      Player gropes about him to find hidden things.
  */
 
-search(is_thief, door_chime)
-register bool is_thief, door_chime;
+void
+search(bool is_thief, bool door_chime)
 {
     register int x, y;
     register char ch,   /* The trap or door character */
@@ -861,7 +870,8 @@
  *      He wants to go down a level
  */
 
-d_level()
+void
+d_level(void)
 {
     bool no_phase=FALSE;
     char position = winat(hero.y, hero.x);
@@ -962,7 +972,8 @@
  *      He wants to go up a level
  */
 
-u_level()
+void
+u_level(void)
 {
     bool no_phase = FALSE;
     register struct linked_list *item;
@@ -1053,7 +1064,8 @@
  * Let him escape for a while
  */
 
-shell()
+void
+shell(void)
 {
     /*
      * Set the terminal back to original mode
@@ -1079,7 +1091,8 @@
 /*
  * see what we want to name -- an item or a monster.
  */
-nameit()
+void
+nameit(void)
 {
     char answer;
 
@@ -1103,9 +1116,8 @@
  * allow a user to call a potion, scroll, or ring something
  */
 
-nameitem(item, mark)
-struct linked_list *item;
-bool mark;
+void
+nameitem(struct linked_list *item, bool mark)
 {
     register struct object *obj;
     register char **guess = NULL, *elsewise = NULL;
@@ -1191,7 +1203,8 @@
 
 /* Name a monster */
 
-namemonst()
+void
+namemonst(void)
 {
     register struct thing *tp;
     struct linked_list *item;
@@ -1236,7 +1249,8 @@
     msg("There is no monster there to name.");
 }
 
-count_gold()
+void
+count_gold(void)
 {
         if (player.t_action != C_COUNT) {
             msg("You take a break to count your money.. ");
@@ -1259,7 +1273,8 @@
  * Teleport somewhere, anywhere...
  */
 
-do_teleport()
+void
+do_teleport(void)
 {
     int tlev;
     prbuf[0] = '\0';
--- a/xrogue/daemon.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/daemon.c	Wed Mar 02 21:13:26 2016 -0500
@@ -41,7 +41,7 @@
  *      Find an empty slot in the daemon list
  */
 struct delayed_action *
-d_slot()
+d_slot(void)
 {
         reg int i;
         reg struct delayed_action *dev;
@@ -57,7 +57,7 @@
  *      Find an empty slot in the fuses list
  */
 struct delayed_action *
-f_slot()
+f_slot(void)
 {
         reg int i;
         reg struct delayed_action *dev;
@@ -74,8 +74,7 @@
  */
 
 struct delayed_action *
-find_slot(func)
-reg int (*func)();
+find_slot(int (*func)())
 {
         reg int i;
         reg struct delayed_action *dev;
@@ -91,9 +90,8 @@
  *      Start a daemon, takes a function.
  */
 
-start_daemon(dfunc, arg, type)
-reg VOID  *arg;
-reg int type, (*dfunc)();
+void
+start_daemon(int (*dfunc)(), VOID *arg, int type)
 {
         reg struct delayed_action *dev;
 
@@ -112,8 +110,8 @@
  *      Remove a daemon from the list
  */
 
-kill_daemon(dfunc)
-reg int (*dfunc)();
+void
+kill_daemon(int (*dfunc)())
 {
         reg struct delayed_action *dev;
         reg int i;
@@ -140,8 +138,8 @@
  *      passing the argument to the function.
  */
 
-do_daemons(flag)
-reg int flag;
+void
+do_daemons(int flag)
 {
         struct delayed_action *dev;
         int i;
@@ -165,9 +163,8 @@
  *      Start a fuse to go off in a certain number of turns
  */
 
-fuse(dfunc, arg, time, type)
-VOID *arg;
-reg int (*dfunc)(), time, type;
+void
+fuse(int (*dfunc)(), VOID *arg, int time, int type)
 {
         reg struct delayed_action *wire;
 
@@ -186,8 +183,8 @@
  *      Increase the time until a fuse goes off
  */
 
-lengthen(dfunc, xtime)
-reg int (*dfunc)(), xtime;
+void
+lengthen(int (*dfunc)(), int xtime)
 {
         reg struct delayed_action *wire;
 
@@ -201,8 +198,8 @@
  *      Put out a fuse
  */
 
-extinguish(dfunc)
-reg int (*dfunc)();
+void
+extinguish(int (*dfunc)())
 {
         reg struct delayed_action *wire;
 
@@ -220,8 +217,8 @@
  *      Decrement counters and start needed fuses
  */
 
-do_fuses(flag)
-reg int flag;
+void
+do_fuses(int flag)
 {
         struct delayed_action *wire;
         int i;
@@ -250,7 +247,8 @@
  *      Show wizard number of demaons and memory blocks used
  */
 
-activity()
+void
+activity(void)
 {
         msg("Daemons = %d : Fuses = %d : Memory Items = %d : Memory Used = %d",
             demoncnt,fusecnt,total,md_memused());
--- a/xrogue/daemons.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/daemons.c	Wed Mar 02 21:13:26 2016 -0500
@@ -24,8 +24,8 @@
  *      A healing daemon that restors hit points after rest
  */
 
-doctor(tp)
-register struct thing *tp;
+void
+doctor(struct thing *tp)
 {
     register int ohp;
     register int limit, new_points;
@@ -111,7 +111,8 @@
  *      Called when it is time to start rolling for wandering monsters
  */
 
-swander()
+void
+swander(void)
 {
     start_daemon(rollwand, (VOID *)NULL, BEFORE);
 }
@@ -123,7 +124,8 @@
 
 int between = 0;
 
-rollwand()
+void
+rollwand(void)
 {
 
     if (++between >= 4)
@@ -145,7 +147,8 @@
  * this function is a daemon called each turn when the character is a thief
  */
 
-trap_look()
+void
+trap_look(void)
 {
     if (rnd(100) < (2*dex_compute() + 5*pstats.s_lvl))
         search(TRUE, FALSE);
@@ -156,7 +159,8 @@
  *      Release the poor player from his confusion
  */
 
-unconfuse()
+void
+unconfuse(void)
 {
     turn_off(player, ISHUH);
     msg("You feel less confused now");
@@ -167,7 +171,8 @@
  *      He lost his see invisible power
  */
 
-unsee()
+void
+unsee(void)
 {
     if (!ISWEARING(R_SEEINVIS)) {
         turn_off(player, CANSEE);
@@ -180,7 +185,8 @@
  *      Remove to-hit handicap from player
  */
 
-unstink()
+void
+unstink(void)
 {
     turn_off(player, HASSTINK);
 }
@@ -190,7 +196,8 @@
  *      Player is no longer immune to confusion
  */
 
-unclrhead()
+void
+unclrhead(void)
 {
     turn_off(player, ISCLEAR);
     msg("The blue aura about your head fades away.");
@@ -201,7 +208,8 @@
  *      Player can no longer walk through walls
  */
 
-unphase()
+void
+unphase(void)
 {
     turn_off(player, CANINWALL);
     msg("Your dizzy feeling leaves you.");
@@ -215,7 +223,7 @@
  */
 
 int
-land()
+land(void)
 {
     turn_off(player, ISFLY);
     msg("You regain your normal weight");
@@ -228,7 +236,8 @@
  *      He gets his sight back
  */
 
-sight()
+void
+sight(void)
 {
     if (on(player, ISBLIND))
     {
@@ -245,8 +254,7 @@
  */
 
 int
-res_strength(howmuch)
-long howmuch;
+res_strength(long howmuch)
 {
 
     /* If lost_str is non-zero, restore that amount of strength,
@@ -271,7 +279,8 @@
  *      End the hasting
  */
 
-nohaste()
+void
+nohaste(void)
 {
     turn_off(player, ISHASTE);
     msg("You feel yourself slowing down.");
@@ -282,7 +291,8 @@
  *      End the slowing
  */
 
-noslow()
+void
+noslow(void)
 {
     turn_off(player, ISSLOW);
     msg("You feel yourself speeding up.");
@@ -293,7 +303,8 @@
  *      If this gets called, the player has suffocated
  */
 
-suffocate()
+void
+suffocate(void)
 {
     pstats.s_hpt = -1;
     death(D_SUFFOCATION);
@@ -303,7 +314,8 @@
  * digest the hero's food
  */
 
-stomach()
+void
+stomach(void)
 {
     register int oldfood, old_hunger, food_use, i;
 
@@ -387,7 +399,8 @@
  * daemon for curing the diseased
  */
 
-cure_disease()
+void
+cure_disease(void)
 {
     turn_off(player, HASDISEASE);
     if (off (player, HASINFEST))
@@ -400,7 +413,8 @@
  *      Become visible again
  */
  
-appear()
+void
+appear(void)
 {
     turn_off(player, ISINVIS);
     PLAYER = VPLAYER;
@@ -413,7 +427,8 @@
  *      dust of disappearance wears off
  */
  
-dust_appear()
+void
+dust_appear(void)
 {
     turn_off(player, ISINVIS);
     PLAYER = VPLAYER;
@@ -426,7 +441,8 @@
  *      the effects of "dust of choking and sneezing" wear off
  */
  
-unchoke()
+void
+unchoke(void)
 {
     if (!find_slot(unconfuse))
         turn_off(player, ISHUH);
@@ -440,8 +456,8 @@
  * make some potion for the guy in the Alchemy jug
  */
  
-alchemy(obj)
-register struct object *obj;
+void
+alchemy(struct object *obj)
 {
     register struct object *tobj = NULL;
     register struct linked_list *item;
@@ -492,7 +508,7 @@
  */
  
 int
-undance()
+undance(void)
 {
     turn_off(player, ISDANCE);
     msg ("Your feet take a break.....whew!");
@@ -503,7 +519,8 @@
  * if he has our favorite necklace of strangulation then take damage every turn
  */
  
-strangle()
+void
+strangle(void)
 {
      if ((pstats.s_hpt -= 6) <= 0) {
      pstats.s_hpt = -1;
@@ -515,7 +532,8 @@
  * if he has on the gauntlets of fumbling he might drop his weapon each turn
  */
  
-fumble()
+void
+fumble(void)
 {
     register struct linked_list *item;
 
@@ -557,7 +575,8 @@
  * it's a lot like trap_look() 
  */
  
-ring_search()
+void
+ring_search(void)
 {
     if (rnd(75) < (2*dex_compute() + 5*pstats.s_lvl)) search(TRUE, FALSE);
     else search(FALSE, FALSE);
@@ -567,7 +586,8 @@
  * this is called each turn the hero has the ring of teleportation on
  */
  
-ring_teleport()
+void
+ring_teleport(void)
 {
     if (rnd(100) < 3) teleport();
 }
@@ -576,7 +596,8 @@
  * this is called to charge up the quill of Nagrom
  */
  
-quill_charge()
+void
+quill_charge(void)
 {
     register struct object *tobj = NULL;
     register struct linked_list *item;
@@ -601,7 +622,8 @@
  * take the skills away gained (or lost) by the potion of skills
  */
  
-unskill()
+void
+unskill(void)
 {
     if (pstats.s_lvladj != 0) {
         pstats.s_lvl -= pstats.s_lvladj;
@@ -616,8 +638,7 @@
  */
  
 int
-cloak_charge(obj)
-register struct object *obj;
+cloak_charge(struct object *obj)
 {
     if (obj->o_charges < 1)
         obj->o_charges = 1;
@@ -629,7 +650,8 @@
  *      He lost his fire resistance
  */
  
-nofire()
+void
+nofire(void)
 {
     if (!ISWEARING(R_FIRE)) {
         turn_off(player, NOFIRE);
@@ -642,7 +664,8 @@
  *      He lost his cold resistance
  */
  
-nocold()
+void
+nocold(void)
 {
     if (!ISWEARING(R_WARMTH)) {
         turn_off(player, NOCOLD);
@@ -655,7 +678,8 @@
  *      He lost his protection from lightning
  */
  
-nobolt()
+void
+nobolt(void)
 {
     turn_off(player, NOBOLT);
     msg("Your skin loses its bluish tint");
@@ -666,8 +690,8 @@
  *      an artifact eats gold 
  */
  
-eat_gold(obj)
-register struct object *obj;
+void
+eat_gold(struct object *obj)
 {
     if (purse == 250)
         msg("%s.. Bids you to find some more gold. ", inv_name(obj, FALSE));
@@ -691,7 +715,8 @@
  * give the hero back some spell points
  */
  
-spell_recovery()
+void
+spell_recovery(void)
 {
     int time;
 
@@ -705,7 +730,8 @@
  * give the hero back some prayer points
  */
  
-prayer_recovery()
+void
+prayer_recovery(void)
 {
     int time;
 
@@ -719,7 +745,8 @@
  * give the hero back some chant points
  */
  
-chant_recovery()
+void
+chant_recovery(void)
 {
     int time;
 
--- a/xrogue/eat.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/eat.c	Wed Mar 02 21:13:26 2016 -0500
@@ -24,7 +24,8 @@
  *      He wants to eat something, so let him try
  */
 
-eat()
+void
+eat(void)
 {
     register struct linked_list *item;
     int which;
--- a/xrogue/effects.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/effects.c	Wed Mar 02 21:13:26 2016 -0500
@@ -26,11 +26,9 @@
  *      the reason code if the defender is killed.  Otherwise return 0.
  */
 
-effect(att, def, weap, thrown, see_att, see_def)
-register struct thing *att, *def;
-struct object *weap;
-bool thrown;
-register bool see_att, see_def;
+int
+effect(struct thing *att, struct thing *def, struct object *weap, bool thrown, 
+       bool see_att, bool see_def)
 {
     register bool att_player, def_player;
     char attname[LINELEN+1], defname[LINELEN+1];
--- a/xrogue/encumb.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/encumb.c	Wed Mar 02 21:13:26 2016 -0500
@@ -15,14 +15,15 @@
 #include <curses.h>
 #include "rogue.h"
 
+int packweight(struct thing *tp);
+
 /*
  * updpack:
  *      Update his pack weight and adjust fooduse accordingly
  */
 
-updpack(getmax, tp)
-int getmax;
-struct thing *tp;
+void
+updpack(int getmax, struct thing *tp)
 {
 
         reg int topcarry, curcarry;
@@ -52,8 +53,8 @@
  *      Get the total weight of the hero's pack
  */
 
-packweight(tp)
-register struct thing *tp;
+int
+packweight(struct thing *tp)
 {
         reg struct object *obj;
         reg struct linked_list *pc;
@@ -89,8 +90,8 @@
  *      Get the weight of an object
  */
 
-itemweight(wh)
-reg struct object *wh;
+int
+itemweight(struct object *wh)
 {
         reg int weight;
         reg int ac;
@@ -120,8 +121,8 @@
  *      Get hero's carrying ability above norm
  */
 
-playenc(tp)
-register struct thing *tp;
+int
+playenc(struct thing *tp)
 {
         register int strength;
 
@@ -136,8 +137,8 @@
  *      Get total weight that the hero can carry
  */
 
-totalenc(tp)
-register struct thing *tp;
+int
+totalenc(struct thing *tp)
 {
         reg int wtotal;
 
@@ -157,11 +158,11 @@
  *      See if the hero can carry his pack
  */
 
-wghtchk()
+void
+wghtchk(void)
 {
         reg int dropchk, err = TRUE;
         reg char ch;
-        int wghtchk();
 
         inwhgt = TRUE;
         if (pstats.s_pack > pstats.s_carry) {
@@ -195,7 +196,8 @@
  *                      -1 hit for heavy pack weight
  */
 
-hitweight()
+int
+hitweight(void)
 {
         return(2 - foodlev);
 }
--- a/xrogue/fight.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/fight.c	Wed Mar 02 21:13:26 2016 -0500
@@ -19,6 +19,7 @@
 #include <curses.h>
 #include <ctype.h>
 #include <string.h>
+#include <stdlib.h>
 #include "rogue.h"
 
 #define CONF_DAMAGE     -1
@@ -26,15 +27,23 @@
 #define DEST_DAMAGE     -3
 #define DRAIN_DAMAGE    -4
 
+bool roll_em(struct thing *att_er, struct thing *def_er, struct object *weap, 
+             bool hurl, struct object *cur_weapon, bool back_stab);
+void hit(struct object *weapon, bool see_att, bool see_def, char *er, char *ee, 
+         bool back_stab, bool thrown, bool short_msg);
+void miss(struct object *weapon, bool see_att, bool see_def, char *er, char *ee,
+          bool thrown, bool short_msg);
+int add_dam(short str);
+int hung_dam(void);
+
 int killed_chance = 0;  /* cumulative chance for goodies to loose it */
 
 /*
  * returns true if player has a any chance to hit the monster
  */
 
-player_can_hit(tp, weap)
-register struct thing *tp;
-register struct object *weap;
+bool
+player_can_hit(struct thing *tp, struct object *weap)
 {
     if (off(*tp, CMAGICHIT) && off(*tp, BMAGICHIT) && off(*tp, MAGICHIT))
         return(TRUE);
@@ -62,10 +71,8 @@
  *      The player attacks the monster.
  */
 
-fight(mp, weap, thrown)
-register coord *mp;
-struct object *weap;
-bool thrown;
+bool
+fight(coord *mp, struct object *weap, bool thrown)
 {
     register struct thing *tp;
     register struct linked_list *item;
@@ -226,10 +233,8 @@
  *      The monster attacks the player
  */
 
-attack(mp, weapon, thrown)
-register struct thing *mp;
-register struct object *weapon;
-bool thrown;
+bool
+attack(struct thing *mp, struct object *weapon, bool thrown)
 {
     register char *mname;
     register bool see_att, did_hit = FALSE;
@@ -305,9 +310,8 @@
  *      returns true if the swing hits
  */
 
-swing(class, at_lvl, op_arm, wplus)
-short class;
-int at_lvl, op_arm, wplus;
+bool
+swing(short class, int at_lvl, int op_arm, int wplus)
 {
     register int res = rnd(20)+1;
     register int need;
@@ -327,12 +331,9 @@
  *      Roll several attacks
  */
 
-roll_em(att_er, def_er, weap, hurl, cur_weapon, back_stab)
-struct thing *att_er, *def_er;
-struct object *weap;
-bool hurl;
-struct object *cur_weapon;
-bool back_stab;
+bool
+roll_em(struct thing *att_er, struct thing *def_er, struct object *weap, 
+        bool hurl, struct object *cur_weapon, bool back_stab)
 {
     register struct stats *att, *def;
     register char *cp = NULL;
@@ -739,9 +740,7 @@
  */
 
 char *
-prname(who, upper)
-register char *who;
-bool upper;
+prname(char *who, bool upper)
 {
     static char tbuf[LINELEN];
 
@@ -766,11 +765,9 @@
  *      Print a message to indicate a succesful hit
  */
 
-hit(weapon, see_att, see_def, er, ee, back_stab, thrown, short_msg)
-register struct object *weapon;
-bool see_att, see_def;
-register char *er, *ee;
-bool back_stab, thrown, short_msg;
+void
+hit(struct object *weapon, bool see_att, bool see_def, char *er, char *ee, 
+    bool back_stab, bool thrown, bool short_msg)
 {
     register char *s = NULL;
     char          att_name[LINELEN],    /* Name of attacker */
@@ -830,11 +827,9 @@
  *      Print a message to indicate a poor swing
  */
 
-miss(weapon, see_att, see_def, er, ee, thrown, short_msg)
-register struct object *weapon;
-bool see_att, see_def;
-register char *er, *ee;
-bool thrown, short_msg;
+void
+miss(struct object *weapon, bool see_att, bool see_def, char *er, char *ee, 
+     bool thrown, bool short_msg)
 {
     register char *s = NULL;
     char          att_name[LINELEN],    /* Name of attacker */
@@ -874,8 +869,8 @@
  *      compute to-hit bonus for dexterity
  */
 
-dext_plus(dexterity)
-register int dexterity;
+int
+dext_plus(int dexterity)
 {
         return (dexterity > 10 ? (dexterity-13)/3 : (dexterity-10)/3);
 }
@@ -886,8 +881,8 @@
  *      compute armor class bonus for dexterity
  */
 
-dext_prot(dexterity)
-register int dexterity;
+int
+dext_prot(int dexterity)
 {
     return ((dexterity-10)/2);
 }
@@ -897,8 +892,8 @@
  *      compute bonus/penalties for strength on the "to hit" roll
  */
 
-str_plus(str)
-register short str;
+int
+str_plus(short str)
 {
     return((str-10)/3);
 }
@@ -908,8 +903,8 @@
  *      compute additional damage done for exceptionally high or low strength
  */
 
-add_dam(str)
-register short str;
+int
+add_dam(short str)
 {
     return((str-9)/2);
 }
@@ -919,7 +914,8 @@
  *      Calculate damage depending on players hungry state
  */
 
-hung_dam()
+int
+hung_dam(void)
 {
         reg int howmuch = 0;
 
@@ -938,8 +934,8 @@
  *      Returns true if an object radiates magic
  */
 
-is_magic(obj)
-register struct object *obj;
+bool
+is_magic(struct object *obj)
 {
     switch (obj->o_type)
     {
@@ -963,9 +959,8 @@
  *      Called to put a monster to death
  */
 
-killed(item, pr, points, treasure)
-register struct linked_list *item;
-bool pr, points, treasure;
+void
+killed(struct linked_list *item, bool pr, bool points, bool treasure)
 {
     register struct thing *tp, *mp;
     register struct linked_list *pitem, *nexti, *mitem;
@@ -1115,9 +1110,7 @@
  */
 
 struct linked_list *
-wield_weap(thrown, mp)
-struct object *thrown;
-struct thing *mp;
+wield_weap(struct object *thrown, struct thing *mp)
 {
     int look_for = 0,   /* The projectile weapon we are looking for */
         new_rate,       /* The rating of a prospective weapon */
@@ -1198,8 +1191,9 @@
 
     return(candidate);
 }
-explode(tp)
-register struct thing *tp;
+
+void
+explode(struct thing *tp)
 {
 
     register int x,y, damage;
@@ -1253,11 +1247,8 @@
  *      Called when one monster attacks another monster.
  */
 
-skirmish(attacker, mp, weap, thrown)
-register struct thing *attacker;
-register coord *mp;
-struct object *weap;
-bool thrown;
+bool
+skirmish(struct thing *attacker, coord *mp, struct object *weap, bool thrown)
 {
     register struct thing *defender;
     register struct linked_list *item;
--- a/xrogue/help.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/help.c	Wed Mar 02 21:13:26 2016 -0500
@@ -299,7 +299,8 @@
     0, 0
 };
 
-ident_hero()
+void
+ident_hero(void)
 {
     bool doit = TRUE;
 
@@ -475,7 +476,8 @@
  * Real Help
  */
 
-help()
+void
+help(void)
 {
     register struct h_list *strp = helpstr;
     register struct item_list *itemp = item_help;
@@ -587,8 +589,8 @@
  *      Tell the player what a certain thing is.
  */
 
-identify(ch)
-register unsigned char ch;
+void
+identify(unsigned char ch)
 {
     register char *str = NULL;
 
--- a/xrogue/init.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/init.c	Wed Mar 02 21:13:26 2016 -0500
@@ -105,10 +105,8 @@
  * right amounts
  */
 
-badcheck(name, magic, bound)
-char *name;
-register struct magic_item *magic;
-register int bound;
+void
+badcheck(char *name, struct magic_item *magic, int bound)
 {
     register struct magic_item *end;
 
@@ -128,7 +126,8 @@
  *      Initialize the potion color scheme for this time
  */
 
-init_colors()
+void
+init_colors(void)
 {
     register int i;
     register char *str;
@@ -152,7 +151,8 @@
  * do any initialization for food
  */
 
-init_foods()
+void
+init_foods(void)
 {
     register int i;
 
@@ -168,7 +168,8 @@
  *      Initialize the construction materials for wands and staffs
  */
 
-init_materials()
+void
+init_materials(void)
 {
     register int i;
     register char *str;
@@ -203,7 +204,8 @@
  * do any initialization for miscellaneous magic
  */
 
-init_misc()
+void
+init_misc(void)
 {
     register int i;
 
@@ -221,7 +223,8 @@
  *      Generate the names of the various scrolls
  */
 
-init_names()
+void
+init_names(void)
 {
     register int nsyl;
     register char *cp, *sp;
@@ -258,7 +261,8 @@
  *      roll up the rogue
  */
 
-init_player()
+void
+init_player(void)
 {
     int stat_total, round = 0, minimum, maximum, ch, i, j = 0;
     short do_escape, *our_stats[NUMABILITIES-1];
@@ -790,7 +794,8 @@
  *      Initialize the ring stone setting scheme for this time
  */
 
-init_stones()
+void
+init_stones(void)
 {
     register int i;
     register char *str;
@@ -815,7 +820,8 @@
  *      Initialize the probabilities for types of things
  */
 
-init_things()
+void
+init_things(void)
 {
     register struct magic_item *mp;
 
--- a/xrogue/io.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/io.c	Wed Mar 02 21:13:26 2016 -0500
@@ -22,6 +22,8 @@
 #include <string.h>
 #include "rogue.h"
 
+void doadd(char *fmt, va_list ap);
+
 /*
  * msg:
  *      Display a message at the top of the screen.
@@ -77,7 +79,8 @@
  * player with the --More-- string.  Then erase the message.
  */
 
-rmmsg()
+void
+rmmsg(void)
 {
     if (mpos) {
         wclear(msgw);
@@ -96,7 +99,8 @@
  * is up there with the --More--)
  */
 
-endmsg()
+void
+endmsg(void)
 {
     /* Needed to track where we are for 5.0 (PC) curses */
     register int x, y;
@@ -141,6 +145,7 @@
     draw(msgw);
 }
 
+void
 doadd(char *fmt, va_list ap)
 {
     vsprintf((char *) &msgbuf[newpos], fmt, ap);
@@ -153,9 +158,8 @@
  *      flgptr will be NULL if we don't know what the monster is yet!
  */
 
-step_ok(y, x, can_on_monst, flgptr)
-register int y, x, can_on_monst;
-register struct thing *flgptr;
+bool
+step_ok(int y, int x, int can_on_monst, struct thing *flgptr)
 {
     /* can_on_monst = MONSTOK if all we care about are physical obstacles */
     register struct linked_list *item;
@@ -222,6 +226,7 @@
  *      returns true if it is ok for type to shoot over ch
  */
 
+bool
 shoot_ok(int ch)
 {
     switch (ch)
@@ -240,10 +245,11 @@
 /*
  * status:
  *      Display the important stats line.  Keep the cursor where it was.
+ * display: is TRUE, display unconditionally
  */
 
-status(display)
-bool display;   /* is TRUE, display unconditionally */
+void
+status(bool display)
 {
     register struct stats *stat_ptr, *max_ptr;
     register int oy = 0, ox = 0, temp;
@@ -377,8 +383,8 @@
  *      Sit around until the guy types the right key
  */
 
-wait_for(ch)
-register char ch;
+void
+wait_for(char ch)
 {
     register char c;
 
@@ -407,10 +413,9 @@
  *      typed and then redraw the starting screen.
  */
 
-over_win(oldwin, newin, maxy, maxx, cursory, cursorx, redraw)
-WINDOW *oldwin, *newin;
-int maxy, maxx, cursory, cursorx;
-char redraw;
+void
+over_win(WINDOW *oldwin, WINDOW *newin, int maxy, int maxx, int cursory, 
+         int cursorx, char redraw)
 {
     char blanks[LINELEN+1];
     register int line, i;
@@ -460,9 +465,8 @@
  *      function used to display a window and wait before returning
  */
 
-show_win(scr, message)
-register WINDOW *scr;
-char *message;
+void
+show_win(WINDOW *scr, char *message)
 {
     mvwaddstr(scr, 0, 0, message);
     touchwin(scr);
@@ -477,9 +481,8 @@
  *      Displays message on bottom line and waits for a space to return
  */
 
-dbotline(scr,message)
-WINDOW *scr;
-char *message;
+void
+dbotline(WINDOW *scr, char *message)
 {
         mvwaddstr(scr,lines-1,0,message);
         draw(scr);
@@ -491,8 +494,8 @@
  *      Restores the screen to the terminal
  */
 
-restscr(scr)
-WINDOW *scr;
+void
+restscr(WINDOW *scr)
 {
         clearok(scr,TRUE);
         touchwin(scr);
@@ -506,10 +509,7 @@
  */
 
 unsigned long
-netread(error, size, stream)
-int *error;
-int size;
-FILE *stream;
+netread(int *error, int size, FILE *stream)
 {
     unsigned long result = 0L,  /* What we read in */
                   partial;      /* Partial value */
@@ -542,12 +542,13 @@
 /*
  * netwrite:
  *      Write out a byte, short, or long machine independently.
+ * value: What to write
+ * size: How much to write out
+ * stream: Where to write it
  */
 
-netwrite(value, size, stream)
-unsigned long value;    /* What to write */
-int size;       /* How much to write out */
-FILE *stream;   /* Where to write it */
+int
+netwrite(unsigned long value, int size, FILE *stream)
 {
     int i;      /* Goes through value one byte at a time */
     char outc;  /* The next character to be written */
--- a/xrogue/list.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/list.c	Wed Mar 02 21:13:26 2016 -0500
@@ -21,13 +21,16 @@
 #include <curses.h>
 #include "rogue.h"
 
+void r_discard(struct linked_list *item);
+void t_discard(struct linked_list *item);
+
 /*
  * detach:
  *      Takes an item out of whatever linked list it might be in
  */
 
-_detach(list, item)
-register struct linked_list **list, *item;
+void
+_detach(struct linked_list **list, struct linked_list *item)
 {
     if (*list == item)
         *list = next(item);
@@ -42,8 +45,8 @@
  *      add an item to the head of a list
  */
 
-_attach(list, item)
-register struct linked_list **list, *item;
+void
+_attach(struct linked_list **list, struct linked_list *item)
 {
     if (*list != NULL)
     {
@@ -65,8 +68,8 @@
  *      Throw the whole object list away
  */
 
-_o_free_list(ptr)
-register struct linked_list **ptr;
+void
+_o_free_list(struct linked_list **ptr)
 {
     register struct linked_list *item;
 
@@ -83,8 +86,8 @@
  *      free up an item and its object(and maybe contents)
  */
 
-o_discard(item)
-register struct linked_list *item;
+void
+o_discard(struct linked_list *item)
 {
     register struct object *obj;
 
@@ -102,8 +105,8 @@
        discard the item (monster) itself as that belong to mlist.
 */
 
-_r_free_fire_list(ptr)
-register struct linked_list **ptr;
+void
+_r_free_fire_list(struct linked_list **ptr)
 {
     register struct linked_list *item;
 
@@ -119,8 +122,8 @@
  *      Throw the whole list of room exits away
  */
 
-_r_free_list(ptr)
-register struct linked_list **ptr;
+void
+_r_free_list(struct linked_list **ptr)
 {
     register struct linked_list *item;
 
@@ -137,8 +140,8 @@
  *      free up an item and its room
  */
 
-r_discard(item)
-register struct linked_list *item;
+void
+r_discard(struct linked_list *item)
 {
     total -= 2;
     FREE(DOORPTR(item));
@@ -150,8 +153,8 @@
  *      Throw the whole thing list away
  */
 
-_t_free_list(ptr)
-register struct linked_list **ptr;
+void
+_t_free_list(struct linked_list **ptr)
 {
     register struct linked_list *item;
 
@@ -168,8 +171,8 @@
  *      free up an item and its thing
  */
 
-t_discard(item)
-register struct linked_list *item;
+void
+t_discard(struct linked_list *item)
 {
     register struct thing *tp;
 
@@ -187,8 +190,8 @@
  *      get rid of an item structure -- don't worry about contents
  */
 
-destroy_item(item)
-register struct linked_list *item;
+void
+destroy_item(struct linked_list *item)
 {
     total--;
     FREE(item);
@@ -200,8 +203,7 @@
  */
 
 struct linked_list *
-new_item(size)
-int size;
+new_item(int size)
 {
     register struct linked_list *item;
 
@@ -220,7 +222,7 @@
  */
 
 struct linked_list *
-creat_item()
+creat_item(void)
 {
     register struct linked_list *item;
 
@@ -231,8 +233,7 @@
 }
 
 char *
-new(size)
-int size;
+new(int size)
 {
     register char *space = ALLOC(size);
 
--- a/xrogue/main.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/main.c	Wed Mar 02 21:13:26 2016 -0500
@@ -27,10 +27,13 @@
 #include "rogue.h"
 
 void open_records(void);
+bool too_much(void);
+bool author(void);
+bool playtime(void);
+bool betaover(void);
 
-main(argc, argv, envp)
-char **argv;
-char **envp;
+int
+main(int argc, char *argv[], char *envp[])
 {
     register char *env;
     time_t now;
@@ -283,10 +286,8 @@
  *      Exit the program abnormally.
  */
 
-/*UNUSED*/
 void
-endit(sig)
-int sig;
+endit(int sig)
 {
 	NOOP(sig);
     fatal("Ok, if you want to exit that badly, I'll have to allow it\n");
@@ -297,8 +298,8 @@
  *      Exit the program, printing a message.
  */
 
-fatal(s)
-char *s;
+void
+fatal(char *s)
 {
     clear();
     move(lines-2, 0);
@@ -313,8 +314,8 @@
  *      Pick a very random number.
  */
 
-rnd(range)
-register int range;
+int
+rnd(int range)
 {
     return( md_rand(range) );
 }
@@ -324,8 +325,8 @@
  *      roll a number of dice
  */
 
-roll(number, sides)
-register int number, sides;
+int
+roll(int number, int sides)
 {
     register int dtotal = 0;
 
@@ -334,7 +335,8 @@
     return dtotal;
 }
 
-setup()
+void
+setup(void)
 {
 	md_setup();
 }
@@ -345,7 +347,8 @@
  * refreshing things and looking at the proper times.
  */
 
-playit()
+void
+playit(void)
 {
     register char *opts;
 
@@ -366,7 +369,8 @@
  * see if the system is being used too much for this game
  */
 
-too_much()
+bool
+too_much(void)
 {
     /* we no longer do load checking or user counts */
     return(FALSE);
@@ -377,7 +381,8 @@
  *      See if a user is an author of the program
  */
 
-author()
+bool
+author(void)
 {
         switch (md_getuid()) {
                 case 0: /* always OK for root to play */
@@ -392,7 +397,8 @@
  *      Returns TRUE when it is a good time to play rogue
  */
 
-playtime()
+bool
+playtime(void)
 {
         /* we no longer do playtime checking */
 
@@ -404,14 +410,15 @@
  *      Returns TRUE if the test period of this version of the game is over
  */
 
-betaover()
+bool
+betaover(void)
 {
      return(FALSE);
 }
 
 
-exit_game(flag)
-int flag;
+void
+exit_game(int flag)
 {
     int i;
 
--- a/xrogue/maze.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/maze.c	Wed Mar 02 21:13:26 2016 -0500
@@ -27,8 +27,11 @@
 
 static char     *maze_frontier, *maze_bits;
 static int      maze_lines, maze_cols;
-static char     *moffset(), *foffset();
-static int      rmwall(),findcells(),crankout(),draw_maze();
+static char    *moffset(int y, int x);
+static char    *foffset(int y, int x);
+static void     rmwall(int newy, int newx, int oldy, int oldx);
+static void     draw_maze(void);
+static int      findcells(int y, int x);
 
 /*
  * crankout:
@@ -36,7 +39,8 @@
  */
 
 static
-crankout()
+void
+crankout(void)
 {
     reg int x, y;
 
@@ -70,7 +74,8 @@
  *      Draw the maze on this level.
  */
 
-do_maze()
+void
+do_maze(void)
 {
         reg int least;
         reg struct room *rp;
@@ -94,7 +99,7 @@
         /*
          * add some gold to make it worth looking for 
          */
-        item = spec_item(GOLD, NULL, NULL, NULL);
+        item = spec_item(GOLD, 0, 0, 0);
         obj = OBJPTR(item);
         obj->o_count *= (rnd(50) + 50);         /* add in one large hunk */
         attach(lvl_obj, item);
@@ -107,7 +112,7 @@
         /*
          * add in some food to make sure he has enough
          */
-        item = spec_item(FOOD, NULL, NULL, NULL);
+        item = spec_item(FOOD, 0, 0, 0);
         obj = OBJPTR(item);
         attach(lvl_obj, item);
         do {
@@ -146,7 +151,8 @@
  */
 
 static
-draw_maze()
+void
+draw_maze(void)
 {
         reg int i, j, more;
         reg char *ptr;
@@ -183,8 +189,8 @@
  *      Figure out cells to open up 
  */
 
-static findcells(y,x)
-reg int x, y;
+static int
+findcells(int y, int x)
 {
         reg int rtpos, i;
 
@@ -236,8 +242,7 @@
  */
 
 static char *
-foffset(y, x)
-int y, x;
+foffset(int y, int x)
 {
 
         return (maze_frontier + (y * maze_cols) + x);
@@ -251,8 +256,7 @@
  */
 
 bool
-maze_view(y, x)
-int y, x;
+maze_view(int y, int x)
 {
     register int start, goal, delta, ycheck = 0, xcheck = 0, absy, absx, see_radius;
     register bool row;
@@ -360,8 +364,7 @@
  */
 
 static char *
-moffset(y, x)
-int y, x;
+moffset(int y, int x)
 {
     return (maze_bits + (y * (cols - 1)) + x);
 }
@@ -371,8 +374,8 @@
  *      Removes appropriate walls from the maze
  */
 static
-rmwall(newy, newx, oldy, oldx)
-int newy, newx, oldy, oldx;
+void
+rmwall(int newy, int newx, int oldy, int oldx)
 {
         reg int xdif,ydif;
         
--- a/xrogue/misc.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/misc.c	Wed Mar 02 21:13:26 2016 -0500
@@ -23,8 +23,8 @@
  *      Change the player's class to the specified one.
  */
 
-changeclass(newclass)
-long *newclass;
+void
+changeclass(long *newclass)
 {
     if (*newclass == player.t_ctype) {
         msg("You feel more skillful.");
@@ -152,8 +152,8 @@
  * Use the relic that our monster is wielding.
  */
 
-m_use_relic(monster)
-register struct thing *monster;
+void
+m_use_relic(struct thing *monster)
 {
     register struct object *obj;
 
@@ -181,7 +181,7 @@
         }
         when EMORI_CLOAK:
             debug("stunning with Emori's cloak");
-            do_zap(monster, obj, &monster->t_newpos, WS_PARALYZE, NULL);
+            do_zap(monster, obj, &monster->t_newpos, WS_PARALYZE, 0);
             obj->o_charges = 0;
 
         when ASMO_ROD: {
@@ -248,11 +248,12 @@
  
 /*
  * add something to the contents of something else
+ * bag: the holder of the items
+ * item: the item to put inside
  */
 
-put_contents(bag, item)
-register struct object *bag;            /* the holder of the items */
-register struct linked_list *item;      /* the item to put inside  */
+void
+put_contents(struct object *bag, struct linked_list *item)
 {
     register struct linked_list *titem;
     register struct object *tobj;
@@ -277,11 +278,11 @@
 
 /*
  * remove something from something else
+ * bag: the holder of the items
  */
 
-take_contents(bag, item)
-register struct object *bag;            /* the holder of the items */
-register struct linked_list *item;
+void
+take_contents(struct object *bag, struct linked_list *item)
 {
 
     if (bag->o_ac <= 0) {
@@ -295,8 +296,8 @@
 }
 
 
-do_bag(item)
-register struct linked_list *item;
+void
+do_bag(struct linked_list *item)
 {
 
     register struct linked_list *titem = NULL;
@@ -417,9 +418,10 @@
     }
 }
 
-do_panic(who)
-int who;        /* Kind of monster to panic (all if who is NULL) */
+void
+do_panic(int who)
 {
+    /* who: kind of monster to panic (all if who is 0) */
     register int x,y;
     register struct linked_list *mon, *item;
     register struct thing *th;
@@ -485,9 +487,7 @@
  */
 
 int
-misc_name(str,obj)
-char *str;
-register struct object *obj;
+misc_name(char *str, struct object *obj)
 {
     char buf1[LINELEN];
 
@@ -565,7 +565,8 @@
     return(0);
 }
 
-use_emori()
+void
+use_emori(void)
 {
     char selection;     /* Cloak function */
     int state = 0;      /* Menu state */
@@ -669,8 +670,8 @@
  * try to write a scroll with the quill of Nagrom
  */
 
-use_quill(obj)
-struct object *obj;
+void
+use_quill(struct object *obj)
 {
     struct linked_list  *item;
     register int        i,
@@ -761,7 +762,7 @@
 
         /* Should we overlay? */
         if (menu_overlay && MAXQUILL + 3 < lines - 3) {
-            over_win(cw, hw, MAXQUILL + 5, maxlen + 3, 0, curlen, NULL);
+            over_win(cw, hw, MAXQUILL + 5, maxlen + 3, 0, curlen, '\0');
         }
         else draw(hw);
     }
@@ -789,7 +790,7 @@
             /* Should we overlay? */
             if (menu_overlay && MAXQUILL + 3 < lines - 3) {
                 over_win(cw, hw, MAXQUILL + 5, maxlen + 3,
-                            0, curlen, NULL);
+                            0, curlen, '\0');
             }
             else draw(hw);
 
@@ -830,8 +831,8 @@
  * Use something
  */
 
-use_mm(which)
-int which;
+void
+use_mm(int which)
 {
     register struct object *obj = NULL;
     register struct linked_list *item = NULL;
@@ -907,7 +908,7 @@
             when GERYON_HORN:
                 /* Chase close monsters away */
                 msg("The horn blasts a shrill tone.");
-                do_panic(NULL);
+                do_panic(0);
             when EYE_VECNA:
                 msg("The pain slowly subsides.. ");
             when HEIL_ANKH:
@@ -934,7 +935,7 @@
                 msg("The jug is empty");
                 break;
             }
-            quaff (obj->o_ac, NULL, NULL, FALSE);
+            quaff (obj->o_ac, 0, 0, FALSE);
             obj->o_ac = JUG_EMPTY;
             fuse (alchemy, obj, ALCHEMYTIME, AFTER);
             if (!(obj->o_flags & ISKNOW))
@@ -1012,7 +1013,7 @@
                 break;
             }
             obj->o_charges--;
-            do_panic(NULL);
+            do_panic(0);
         return;
         /*
          * dust of disappearance makes the player invisible for a while
@@ -1140,7 +1141,7 @@
             str = "vibrates softly";
         msg("You rub the crystal and it %s...  ", str);
           /* cure him */
-        read_scroll(S_CURING, NULL, FALSE);
+        read_scroll(S_CURING, 0, FALSE);
           /* give him weird hands */
                 turn_on(player, CANHUH);
         msg("Your fingertips turn blue.  ");
@@ -1218,8 +1219,7 @@
  */
 
 int
-usage_time(item)
-struct linked_list *item;
+usage_time(struct linked_list *item)
 {
     register struct object *obj;
     register int units = -1;
--- a/xrogue/monsters.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/monsters.c	Wed Mar 02 21:13:26 2016 -0500
@@ -19,14 +19,15 @@
 #include <curses.h>
 #include <ctype.h>
 #include <string.h>
+#include <stdlib.h>
 #include "rogue.h"
 
 /*
  * Check_residue takes care of any effect of the monster 
  */
 
-check_residue(tp)
-register struct thing *tp;
+void
+check_residue(struct thing *tp)
 {
     /*
      * Take care of special abilities
@@ -70,13 +71,11 @@
 
 /*
  * Creat_mons creates the specified monster -- any if 0 
+ * person: where to create next to
  */
 
 bool
-creat_mons(person, monster, report)
-struct thing *person;   /* Where to create next to */
-short monster;
-bool report;
+creat_mons(struct thing *person, short monster, bool report)
 {
     struct linked_list *nitem;
     register struct thing *tp;
@@ -131,9 +130,7 @@
  */
 
 void
-genmonsters(least, treas)
-register int least;
-bool treas;
+genmonsters(int least, bool treas)
 {
     reg int i;
     reg struct room *rp = &rooms[0];
@@ -180,8 +177,7 @@
  */
 
 short
-id_monst(monster)
-register char monster;
+id_monst(char monster)
 {
     register short result;
 
@@ -215,11 +211,8 @@
  *      Pick a new monster and add it to the list
  */
 
-new_monster(item, type, cp, max_monster)
-struct linked_list *item;
-short type;
-coord *cp;
-bool max_monster;
+void
+new_monster(struct linked_list *item, short type, coord *cp, bool max_monster)
 {
     register struct thing *tp;
     register struct monster *mp;
@@ -428,8 +421,7 @@
  */
 
 short
-randmonster(wander, no_unique)
-register bool wander, no_unique;
+randmonster(bool wander, bool no_unique)
 {
     register int d, cur_level, range, i; 
 
@@ -491,8 +483,8 @@
  * to purchase something.
  */
 
-sell(tp)
-register struct thing *tp;
+void
+sell(struct thing *tp)
 {
     register struct linked_list *item, *seller;
     register struct linked_list *sellpack;
@@ -588,8 +580,7 @@
  */
 
 struct linked_list *
-wake_monster(y, x)
-int y, x;
+wake_monster(int y, int x)
 {
     register struct thing *tp;
     register struct linked_list *it;
@@ -786,7 +777,8 @@
  *      A wandering monster has awakened and is headed for the player
  */
 
-wanderer()
+void
+wanderer(void)
 {
     register int i;
     register struct room *hr = roomin(&hero);
--- a/xrogue/move.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/move.c	Wed Mar 02 21:13:26 2016 -0500
@@ -18,6 +18,7 @@
 
 #include <curses.h>
 #include <ctype.h>
+#include <string.h>
 #include "rogue.h"
 
 /*
@@ -37,9 +38,8 @@
  *      The guy stepped on a trap.... Make him pay.
  */
 
-be_trapped(th, tc)
-register struct thing *th;
-register coord *tc;
+char
+be_trapped(struct thing *th, coord *tc)
 {
     register struct trap *tp;
     register char ch, *mname = NULL;
@@ -504,8 +504,7 @@
  */
 
 bool
-blue_light(blessed, cursed)
-bool blessed, cursed;
+blue_light(bool blessed, bool cursed)
 {
     register struct room *rp;
     bool ret_val=FALSE; /* Whether or not affect is known */
@@ -563,8 +562,8 @@
  *      If not, if player came from a legal place, then try to turn him.
  */
 
-corr_move(dy, dx)
-int dy, dx;
+void
+corr_move(int dy, int dx)
 {
     int legal=0;                /* Number of legal alternatives */
     register int y, x,          /* Indexes though possible positions */
@@ -642,7 +641,8 @@
  *      Dip an object into a magic pool
  */
 
-dip_it()
+void
+dip_it(void)
 {
         reg struct linked_list *what;
         reg struct object *ob;
@@ -839,8 +839,8 @@
  * consequences (fighting, picking up, etc.)
  */
 
-do_move(dy, dx)
-int dy, dx;
+void
+do_move(int dy, int dx)
 {
     register struct room *rp, *orp;
     register unsigned char ch;
@@ -1189,8 +1189,8 @@
  *      Start the hero running
  */
 
-do_run(ch)
-char ch;
+void
+do_run(char ch)
 {
     firstmove = TRUE;
     running = TRUE;
@@ -1206,9 +1206,7 @@
  */
 
 bool
-getdelta(match, dy, dx)
-char match;
-int *dy, *dx;
+getdelta(char match, int *dy, int *dx)
 {
     register int y, x;
 
@@ -1228,8 +1226,8 @@
  *      Returns TRUE if this character is some kind of trap
  */
 
-isatrap(ch)
-reg char ch;
+bool
+isatrap(char ch)
 {
         switch(ch) {
                 case WORMHOLE:
@@ -1250,8 +1248,8 @@
  * If it is dark, remove anything that might move.
  */
 
-light(cp)
-coord *cp;
+void
+light(coord *cp)
 {
     register struct room *rp;
     register int j, k, x, y;
@@ -1428,8 +1426,7 @@
  */
 
 bool
-lit_room(rp)
-register struct room *rp;
+lit_room(struct room *rp)
 {
     register struct linked_list *fire_item;
     register struct thing *fire_creature;
@@ -1466,8 +1463,7 @@
  */
 
 short
-movement(tp)
-register struct thing *tp;
+movement(struct thing *tp)
 {
     register int result;
     register int carry;         /* Percentage carried */
@@ -1531,8 +1527,7 @@
  */
 
 coord 
-rndmove(who)
-struct thing *who;
+rndmove(struct thing *who)
 {
     register int x, y;
     register int ex, ey, nopen = 0;
@@ -1586,9 +1581,8 @@
  *      set a trap at (y, x) on screen.
  */
 
-set_trap(tp, y, x)
-register struct thing *tp;
-register int y, x;
+void
+set_trap(struct thing *tp, int y, int x)
 {
     register bool is_player = (tp == &player);
     register int selection = rnd(TRAPTYPES-WIZARDTRAPS) + '1';
@@ -1645,7 +1639,7 @@
                              * Put out the selection.  The longest line is
                              * the prompt line (39 characters long).
                              */
-                            over_win(cw, hw, num_traps + 3, 41, 0, 39, NULL);
+                            over_win(cw, hw, num_traps + 3, 41, 0, 39, '\0');
                         else
                             draw(hw);
                         state = 1;      /* Now in prompt window */
@@ -1705,7 +1699,7 @@
                                  * Put out the selection.  The longest line is
                                  * the prompt line (43 characters long).
                                  */
-                                over_win(cw, hw, num_traps+3, 45, 0, 43, NULL);
+                                over_win(cw, hw, num_traps+3, 45, 0, 43, '\0');
                             else 
                                 draw(hw);
                         }
@@ -1778,8 +1772,8 @@
  *      returns what a certain thing will display as to the un-initiated
  */
 
-show(y, x)
-register int y, x;
+char
+show(int y, int x)
 {
     register unsigned char ch = winat(y, x);
     register struct linked_list *it;
@@ -1819,8 +1813,7 @@
  */
 
 struct trap *
-trap_at(y, x)
-register int y, x;
+trap_at(int y, int x)
 {
     register struct trap *tp, *ep;
 
@@ -1838,11 +1831,12 @@
  *      Calculate how many segments it will take to swing the given
  *      weapon (note that the weapon may actually be a stick or
  *      even something else).
+ * wielder: Who's wielding the weapon
+ * weap: The weapon
  */
 
-weap_move(wielder, weap)
-register struct thing *wielder; /* Who's wielding the weapon */
-register struct object *weap;   /* The weapon */
+int
+weap_move(struct thing *wielder, struct object *weap)
 {
     register int weap_rate;
     int          dexterity;
--- a/xrogue/n_level.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/n_level.c	Wed Mar 02 21:13:26 2016 -0500
@@ -20,13 +20,16 @@
 #include "rogue.h"
 #define TERRASAVE 3
 
+void put_things(LEVTYPE ltype);
+
 /*
  * new_level:
  *      Dig and draw a new level
+ *	ltype: designates type of level to create
  */
 
-new_level(ltype)
-LEVTYPE ltype;          /* designates type of level to create */
+void
+new_level(LEVTYPE ltype)
 {
     register int rm = 0, i, cnt;
     register unsigned char ch;
@@ -464,14 +467,15 @@
 
     /* Do we sense any food on this level? */
     if (cur_relic[SURTUR_RING])
-        quaff(P_FFIND, NULL, NULL, FALSE);
+        quaff(P_FFIND, 0, 0, FALSE);
 }
 
 /*
  * Pick a room that is really there
  */
 
-rnd_room()
+int
+rnd_room(void)
 {
     register int rm;
 
@@ -487,10 +491,11 @@
 /*
  * put_things:
  *      put potions and scrolls on this level
+ *	ltype: designates type of level to create
  */
 
-put_things(ltype)
-LEVTYPE ltype;          /* designates type of level to create */
+void
+put_things(LEVTYPE ltype)
 {
     register int i, rm, cnt;
     register struct object *cur;
--- a/xrogue/network.h	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/network.h	Wed Mar 02 21:13:26 2016 -0500
@@ -30,6 +30,6 @@
     char *rogue;
 };
 extern struct network Network[];
-extern unsigned long netread();
-extern unsigned long netwrite();
+extern unsigned long netread(int *error, int size, FILE *stream);
+extern int netwrite(unsigned long value, int size, FILE *stream);
 
--- a/xrogue/options.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/options.c	Wed Mar 02 21:13:26 2016 -0500
@@ -41,16 +41,16 @@
 
 typedef struct optstruct        OPTION;
 
-int     put_bool(), 
-        get_bool(),
-        put_str(),
-        get_str(),
-        put_abil(),
-        get_abil(),
-        get_quest(),
-        put_quest(),
-    get_default();
-
+int get_ro(WINDOW *win, int oy, int ox);
+void put_bool(bool *b, WINDOW *win);
+int get_bool(bool *bp, WINDOW *win);
+void put_str(char *str, WINDOW *win);
+int get_str(char *opt, WINDOW *win);
+void put_abil(int *ability, WINDOW *win);
+void get_abil(int *abil, WINDOW *win);
+void put_quest(int *quest, WINDOW *win);
+void get_quest(int *quest, WINDOW *win);
+void get_default(bool *bp, WINDOW *win);
 int get_str_prot(char *opt, WINDOW *win);
 int get_score(char *opt, WINDOW *win);
 bool allowchange(OPTION *op);
@@ -88,9 +88,8 @@
  * The default attribute field is read-only
  */
 
-get_default(bp, win)
-bool *bp;
-WINDOW *win;
+void
+get_default(bool *bp, WINDOW *win)
 {
     register int oy, ox;
 
@@ -103,9 +102,8 @@
  * The ability (class) field is read-only
  */
 
-get_abil(abil, win)
-int *abil;
-WINDOW *win;
+void
+get_abil(int *abil, WINDOW *win)
 {
     register int oy, ox;
 
@@ -118,9 +116,8 @@
  * The quest field is read-only
  */
 
-get_quest(quest, win)
-int *quest;
-WINDOW *win;
+void
+get_quest(int *quest, WINDOW *win)
 {
     register int oy, ox;
 
@@ -134,9 +131,8 @@
  *      "Get" a read-only value.
  */
 
-get_ro(win, oy, ox)
-WINDOW *win;
-register int oy, ox;
+int
+get_ro(WINDOW *win, int oy, int ox)
 {
     register int ny, nx;
     register bool op_bad;
@@ -173,9 +169,8 @@
  * allow changing a boolean option and print it out
  */
 
-get_bool(bp, win)
-bool *bp;
-WINDOW *win;
+int
+get_bool(bool *bp, WINDOW *win)
 {
     register int oy, ox;
     register bool op_bad;
@@ -223,9 +218,8 @@
  * set a string option
  */
 
-get_str(opt, win)
-register char *opt;
-WINDOW *win;
+int
+get_str(char *opt, WINDOW *win)
 {
     register char *sp;
     register int c, oy, ox;
@@ -298,7 +292,8 @@
  * print and then set options from the terminal
  */
 
-option()
+void
+option(void)
 {
     register OPTION     *op;
     register int        retval;
@@ -356,8 +351,8 @@
  * or the end of the entire option string.
  */
 
-parse_opts(str)
-register char *str;
+void
+parse_opts(char *str)
 {
     register char *sp;
     register OPTION *op;
@@ -466,9 +461,8 @@
  * print the character type
  */
 
-put_abil(ability, win)
-int *ability;
-WINDOW *win;
+void
+put_abil(int *ability, WINDOW *win)
 {
     waddstr(win, char_class[*ability].name);
 }
@@ -477,9 +471,8 @@
  * print out the quest
  */
 
-put_quest(quest, win)
-int *quest;
-WINDOW *win;
+void
+put_quest(int *quest, WINDOW *win)
 {
     waddstr(win, rel_magic[*quest].mi_name);
 }
@@ -488,9 +481,8 @@
  * put out a boolean
  */
 
-put_bool(b, win)
-bool    *b;
-WINDOW *win;
+void
+put_bool(bool *b, WINDOW *win)
 {
     waddstr(win, *b ? "True" : "False");
 }
@@ -499,9 +491,8 @@
  * put out a string
  */
 
-put_str(str, win)
-char *str;
-WINDOW *win;
+void
+put_str(char *str, WINDOW *win)
 {
     waddstr(win, str);
 }
--- a/xrogue/outside.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/outside.c	Wed Mar 02 21:13:26 2016 -0500
@@ -15,7 +15,8 @@
 #include <curses.h>
 #include "rogue.h"
 
-extern char rnd_terrain(), get_terrain();
+char rnd_terrain(void);
+char get_terrain(char one, char two, char three, char four);
 
 /*
  * init_terrain:
@@ -23,7 +24,7 @@
  */
 
 void
-init_terrain()
+init_terrain(void)
 {
     register struct room *rp;
 
@@ -40,9 +41,7 @@
 }
 
 void
-do_terrain(basey, basex, deltay, deltax, fresh)
-int basey, basex, deltay, deltax;
-bool fresh;
+do_terrain(int basey, int basex, int deltay, int deltax, bool fresh)
 {
     register int cury, curx;        /* Current y and x positions */
 
@@ -140,7 +139,7 @@
  */
 
 char
-rnd_terrain()
+rnd_terrain(void)
 {
     int chance = rnd(100);
 
@@ -164,8 +163,7 @@
  */
 
 char
-get_terrain(one, two, three, four)
-char one, two, three, four;
+get_terrain(char one, char two, char three, char four)
 {
     register int i;
     int forest = 0, mountain = 0, lake = 0, meadow = 0, total = 0;
--- a/xrogue/pack.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/pack.c	Wed Mar 02 21:13:26 2016 -0500
@@ -21,6 +21,8 @@
 #include <string.h>
 #include "rogue.h"
 
+bool is_type(struct object *obj, int type);
+
 /*
  * add_pack:
  *      Pick up an object and add it to the pack.  If the argument is non-null
@@ -28,9 +30,7 @@
  */
 
 bool
-add_pack(item, silent)
-register struct linked_list *item;
-bool silent;
+add_pack(struct linked_list *item, bool silent)
 {
     register struct linked_list *ip, *lp = NULL, *ap;
     register struct object *obj, *op = NULL;
@@ -462,9 +462,8 @@
  *      list what is in the pack
  */
 
-inventory(list, type)
-register struct linked_list *list;
-register int type;
+bool
+inventory(struct linked_list *list, int type)
 {
     register struct object *obj;
     register char ch;
@@ -563,7 +562,7 @@
  */
 
 void
-picky_inven()
+picky_inven(void)
 {
     register struct linked_list *item;
     register char ch, mch;
@@ -616,14 +615,12 @@
 /*
  * get_item:
  *      pick something out of a pack for a purpose
+ *	purpose: NULL if we should be silent (no prompts)
  */
 
 struct linked_list *
-get_item(list, purpose, type, askfirst, showcost)
-reg struct linked_list *list;
-char *purpose;  /* NULL if we should be silent (no prompts) */
-int type;
-bool askfirst, showcost;
+get_item(struct linked_list *list, char *purpose, int type, bool askfirst, 
+         bool showcost)
 {
     reg struct linked_list *item;
     reg struct object *obj;
@@ -755,7 +752,7 @@
 
             /* Write the screen */
             if ((menu_overlay && cnt < lines - 3) || cnt == 1) {
-                over_win(cw, hw, cnt + 2, maxx + 3, cnt, curx, NULL);
+                over_win(cw, hw, cnt + 2, maxx + 3, cnt, curx, '\0');
                 cnt = -1;       /* Indicate we used over_win */
             }
             else draw(hw);
@@ -814,9 +811,8 @@
     }
 }
 
-pack_char(list, obj)
-register struct object *obj;
-struct linked_list *list;
+char
+pack_char(struct linked_list *list, struct object *obj)
 {
     register struct linked_list *item;
     register char c;
@@ -838,8 +834,8 @@
  *      This updates cur_weapon etc for dropping things
  */
 
-cur_null(op)
-reg struct object *op;
+void
+cur_null(struct object *op)
 {
         if (op == cur_weapon)             cur_weapon = NULL;
         else if (op == cur_armor)         cur_armor = NULL;
@@ -864,7 +860,8 @@
  *      Identify all the items in the pack
  */
 
-idenpack()
+void
+idenpack(void)
 {
         reg struct linked_list *pc;
 
@@ -872,9 +869,8 @@
                 whatis(pc);
 }
 
-is_type (obj, type)
-register struct object *obj;
-register int type;
+bool
+is_type(struct object *obj, int type)
 {
     register bool current;
 
@@ -1029,8 +1025,8 @@
     return(FALSE);
 }
 
-del_pack(item)
-register struct linked_list *item;
+void
+del_pack(struct linked_list *item)
 {
     register struct object *obj;
 
@@ -1052,9 +1048,8 @@
  * it to him.
  */
 
-carry_obj(mp, chance)
-register struct thing *mp;
-int chance;
+void
+carry_obj(struct thing *mp, int chance)
 {
     reg struct linked_list *item;
     reg struct object *obj;
@@ -1077,75 +1072,75 @@
      */
     if (on(*mp, ISUNIQUE)) {
         if (on(*mp, CARRYMDAGGER)) {
-            item = spec_item(RELIC, MUSTY_DAGGER, NULL, NULL);
+            item = spec_item(RELIC, MUSTY_DAGGER, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYCLOAK)) {
-            item = spec_item(RELIC, EMORI_CLOAK, NULL, NULL);
+            item = spec_item(RELIC, EMORI_CLOAK, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYANKH)) {
-            item = spec_item(RELIC, HEIL_ANKH, NULL, NULL);
+            item = spec_item(RELIC, HEIL_ANKH, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYSTAFF)) {
-            item = spec_item(RELIC, MING_STAFF, NULL, NULL);
+            item = spec_item(RELIC, MING_STAFF, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYWAND)) {
-            item = spec_item(RELIC, ORCUS_WAND, NULL, NULL);
+            item = spec_item(RELIC, ORCUS_WAND, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYROD)) {
-            item = spec_item(RELIC, ASMO_ROD, NULL, NULL);
+            item = spec_item(RELIC, ASMO_ROD, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYYAMULET)) {
-            item = spec_item(RELIC, YENDOR_AMULET, NULL, NULL);
+            item = spec_item(RELIC, YENDOR_AMULET, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYBAMULET)) {
-            item = spec_item(RELIC, STONEBONES_AMULET, NULL, NULL);
+            item = spec_item(RELIC, STONEBONES_AMULET, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
 
         if (on(*mp, CARRYMANDOLIN)) {
-            item = spec_item(RELIC, BRIAN_MANDOLIN, NULL, NULL);
+            item = spec_item(RELIC, BRIAN_MANDOLIN, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
         if (on(*mp, CARRYEYE)) {
-            item = spec_item(RELIC, EYE_VECNA, NULL, NULL);
+            item = spec_item(RELIC, EYE_VECNA, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
         if (on(*mp, CARRYAXE)) {
-            item = spec_item(RELIC, AXE_AKLAD, NULL, NULL);
+            item = spec_item(RELIC, AXE_AKLAD, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
@@ -1153,7 +1148,7 @@
         if (on(*mp, CARRYQUILL)) {
             register int i, howmany;
 
-            item = spec_item(RELIC, QUILL_NAGROM, NULL, NULL);
+            item = spec_item(RELIC, QUILL_NAGROM, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             obj->o_charges = rnd(QUILLCHARGES);
@@ -1170,31 +1165,31 @@
             }
         }
         if (on(*mp, CARRYMSTAR)) {
-            item = spec_item(RELIC, HRUGGEK_MSTAR, NULL, NULL);
+            item = spec_item(RELIC, HRUGGEK_MSTAR, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
         if (on(*mp, CARRYFLAIL)) {
-            item = spec_item(RELIC, YEENOGHU_FLAIL, NULL, NULL);
+            item = spec_item(RELIC, YEENOGHU_FLAIL, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
         if (on(*mp, CARRYHORN)) {
-            item = spec_item(RELIC, GERYON_HORN, NULL, NULL);
+            item = spec_item(RELIC, GERYON_HORN, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
         if (on(*mp, CARRYSURTURRING)) {
-            item = spec_item(RELIC, SURTUR_RING, NULL, NULL);
+            item = spec_item(RELIC, SURTUR_RING, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
         }
         if (on(*mp, CARRYCARD)) {
-            item = spec_item(RELIC, ALTERAN_CARD, NULL, NULL);
+            item = spec_item(RELIC, ALTERAN_CARD, 0, 0);
             obj = OBJPTR(item);
             obj->o_pos = mp->t_pos;
             attach(mp->t_pack, item);
@@ -1204,7 +1199,7 @@
      * If it carries gold, give it some
      */
     if (on(*mp, CARRYGOLD) && rnd(100) < chance) {
-            item = spec_item(GOLD, NULL, NULL, NULL);
+            item = spec_item(GOLD, 0, 0, 0);
             obj = OBJPTR(item);
             obj->o_count = GOLDCALC + GOLDCALC;
             obj->o_pos = mp->t_pos;
@@ -1232,7 +1227,7 @@
             when 40: type = E_SLIMEMOLD;  /* monster food */
             otherwise: type = E_RATION;
         }
-        item = spec_item(FOOD, type, NULL, NULL);
+        item = spec_item(FOOD, type, 0, 0);
         obj = OBJPTR(item);
         obj->o_weight = things[TYP_FOOD].mi_wght;
         obj->o_pos = mp->t_pos;
@@ -1356,8 +1351,8 @@
  *      he wants (* means everything).
  */
 
-grab(y, x)
-register int y, x;
+int
+grab(int y, int x)
 {
     register struct linked_list *next_item, *item;
     register struct object *obj;
@@ -1425,7 +1420,7 @@
          * Leave 3 blank lines at the bottom and 3 blank columns to he right.
          */
         if (menu_overlay && num_there < lines - 3) {
-          over_win(cw, hw, num_there + 2, maxlen + 3, num_there, curlen, NULL);
+          over_win(cw, hw, num_there + 2, maxlen + 3, num_there, curlen, '\0');
           pagecnt = -1; /* Indicate we used over_win */
         }
         else draw(hw);          /* write screen */
@@ -1474,7 +1469,7 @@
                  */
                 if (menu_overlay && num_there < lines - 3) {
                     over_win(cw, hw, num_there + 2, maxlen + 3,
-                                num_there, 49, NULL);
+                                num_there, 49, '\0');
                     cnt = -1;   /* Indicate we used over_win */
                 }
                 else draw(hw);          /* write screen */
@@ -1513,8 +1508,8 @@
  *      Create a pack for sellers (a la quartermaster)
  */
 
-make_sell_pack(tp)
-struct thing *tp;
+void
+make_sell_pack(struct thing *tp)
 {
     reg struct linked_list *item;
     reg struct object *obj;
--- a/xrogue/passages.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/passages.c	Wed Mar 02 21:13:26 2016 -0500
@@ -16,15 +16,20 @@
     See the file LICENSE.TXT for full copyright and licensing information.
 */
 
+#include <stdlib.h>
 #include <curses.h>
 #include "rogue.h"
 
+void conn(int r1, int r2);
+void door(struct room *rm, coord *cp);
+
 /*
  * do_passages:
  *      Draw all the passages on a level.
  */
 
-do_passages()
+void
+do_passages(void)
 {
     register struct rdes *r1, *r2 = NULL;
     register int i, j;
@@ -133,8 +138,8 @@
  *      Draw a corridor from a room in a certain direction.
  */
 
-conn(r1, r2)
-int r1, r2;
+void
+conn(int r1, int r2)
 {
     register struct room *rpf, *rpt = NULL;
     register char rmt;
@@ -347,9 +352,8 @@
  * also enters the door in the exits array of the room.
  */
 
-door(rm, cp)
-register struct room *rm;
-register coord *cp;
+void
+door(struct room *rm, coord *cp)
 {
     struct linked_list *newroom;
     coord *exit;
--- a/xrogue/player.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/player.c	Wed Mar 02 21:13:26 2016 -0500
@@ -17,12 +17,15 @@
 #include <curses.h>
 #include "rogue.h"
 
+bool pick_spell(struct spells spells[], int ability, int num_spells, int power,
+                const char *prompt, const char *type);
 /*
  * affect:
  *      cleric affecting undead
  */
 
-affect()
+void
+affect(void)
 {
     register struct linked_list *item;
     register struct thing *tp;
@@ -140,7 +143,8 @@
  * the cleric asks his deity for a spell
  */
 
-pray()
+void
+pray(void)
 {
     register int num_prayers, prayer_ability, which_prayer;
 
@@ -210,7 +214,7 @@
 
     if (cleric_spells[which_prayer].s_type == TYP_POTION)
         quaff(          cleric_spells[which_prayer].s_which,
-                        NULL,
+                        0,
                         cleric_spells[which_prayer].s_flag,
                         FALSE);
     else if (cleric_spells[which_prayer].s_type == TYP_SCROLL)
@@ -231,7 +235,8 @@
  * the magician is going to try and cast a spell
  */
 
-cast()
+void
+cast(void)
 {
     register int spell_ability, which_spell, num_spells;
 
@@ -291,7 +296,7 @@
 
     if (magic_spells[which_spell].s_type == TYP_POTION)
         quaff(  magic_spells[which_spell].s_which,
-                NULL,
+                0,
                 magic_spells[which_spell].s_flag,
                 FALSE);
     else if (magic_spells[which_spell].s_type == TYP_SCROLL)
@@ -312,7 +317,8 @@
  * the druid asks his deity for a spell
  */
 
-chant()
+void
+chant(void)
 {
     register int num_chants, chant_ability, which_chant;
 
@@ -377,7 +383,7 @@
 
     if (druid_spells[which_chant].s_type == TYP_POTION)
         quaff(          druid_spells[which_chant].s_which,
-                        NULL,
+                        0,
                         druid_spells[which_chant].s_flag,
                         FALSE);
     else if (druid_spells[which_chant].s_type == TYP_SCROLL)
@@ -396,7 +402,8 @@
 
 /* Constitution bonus */
 
-const_bonus()   /* Hit point adjustment for changing levels */
+int
+const_bonus(void)   /* Hit point adjustment for changing levels */
 {
     register int bonus;
     if (pstats.s_const > 9 && pstats.s_const < 18) 
@@ -436,8 +443,8 @@
  * way to get this artifact and remain alive.
  */
 
-give(th)
-register struct thing *th;
+void
+give(struct thing *th)
 {
     /*
      * Find any monster within one space of you
@@ -571,8 +578,8 @@
  * Frighten a monster.  Useful for the 'good' characters.
  */
 
-fright(th)
-register struct thing *th;
+void
+fright(struct thing *th)
 {
     /*
      * Find any monster within one space of you
@@ -682,13 +689,14 @@
  * gsense: Sense gold
  */
 
-gsense()
+void
+gsense(void)
 {
     /* Thief & assassin can do this, but fighter & ranger can later */
     if (player.t_ctype == C_THIEF     || player.t_ctype == C_ASSASSIN ||
         ((player.t_ctype == C_FIGHTER || player.t_ctype == C_RANGER)  &&
     pstats.s_lvl >= 12)) {
-          read_scroll(S_GFIND, NULL, FALSE);
+          read_scroll(S_GFIND, 0, FALSE);
     }
     else msg("You seem to have no gold sense.");
     return;
@@ -698,13 +706,14 @@
  * xsense: Sense traps
  */
 
-xsense()
+void
+xsense(void)
 {
     /* Only thief can do this, but assassin, fighter, & monk can later */
     if (player.t_ctype == C_THIEF   || ((player.t_ctype == C_ASSASSIN ||
     player.t_ctype == C_FIGHTER || player.t_ctype == C_MONK)      &&
     pstats.s_lvl >= 14)) {
-        read_scroll(S_FINDTRAPS, NULL, FALSE);
+        read_scroll(S_FINDTRAPS, 0, FALSE);
     }
     else msg("You seem not to be able to sense traps.");
     return;
@@ -715,7 +724,8 @@
  *      Steal in direction given in delta
  */
 
-steal()
+void
+steal(void)
 {
     register struct linked_list *item;
     register struct thing *tp;
@@ -857,7 +867,8 @@
  * Take charmed monsters with you via up or down commands.
  */
 
-take_with()
+void
+take_with(void)
 {
     register struct thing *tp;
     register struct linked_list *item;
@@ -884,15 +895,17 @@
 /*
  * this routine lets the player pick the spell that they
  * want to cast regardless of character class
+ * spells: spell list
+ * ability: spell ability
+ * num_spells: number of spells that can be cast
+ * power: spell power
+ * prompt: prompt for spell list
+ * type: type of thing--> spell, prayer, chant
  */
 
-pick_spell(spells, ability, num_spells, power, prompt, type)
-struct spells   spells[];       /* spell list                            */
-int             ability;        /* spell ability                         */
-int             num_spells;     /* number of spells that can be cast     */
-int             power;          /* spell power                           */
-const char      *prompt;        /* prompt for spell list                 */
-const char      *type;          /* type of thing--> spell, prayer, chant */
+bool
+pick_spell(struct spells spells[], int ability, int num_spells, int power,
+           const char *prompt, const char *type)
 {
     bool                nohw = FALSE;
     register int        i;
@@ -1001,7 +1014,7 @@
 
         /* Should we overlay? */
         if (menu_overlay && num_spells + 3 < lines - 3) {
-            over_win(cw, hw, num_spells + 5, maxlen + 3, 0, curlen, NULL);
+            over_win(cw, hw, num_spells + 5, maxlen + 3, 0, curlen, '\0');
         }
         else draw(hw);
     }
@@ -1029,7 +1042,7 @@
             /* Should we overlay? */
             if (menu_overlay && num_spells + 3 < lines - 3) {
                 over_win(cw, hw, num_spells + 5, maxlen + 3,
-                            0, curlen, NULL);
+                            0, curlen, '\0');
             }
             else draw(hw);
 
@@ -1068,7 +1081,8 @@
  * Let the player know what's happening with himself
  */
 
-opt_player()
+void
+opt_player(void)
 {
     int i = 1;  /* initialize counters */
     int j = 2;
@@ -1446,7 +1460,7 @@
             if (menu_overlay) {     /* Print the list. */
                 wmove(hw, i+2, 0);
                 wprintw(hw, spacemsg);
-                over_win(cw, hw, i+3, j, i+2, 27, NULL);
+                over_win(cw, hw, i+3, j, i+2, 27, '\0');
         }
             else {
                 wmove(hw, i+2, 0);
@@ -1461,7 +1475,7 @@
                 wprintw(hw, spacemsg);
         if (j > 2) j = 78;
         else j = 39;
-                over_win(cw, hw, i+3, j, i+2, 27, NULL);
+                over_win(cw, hw, i+3, j, i+2, 27, '\0');
         }
             else {
                 wmove(hw, i+2, 0);
--- a/xrogue/potions.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/potions.c	Wed Mar 02 21:13:26 2016 -0500
@@ -20,6 +20,19 @@
 #include <curses.h>
 #include "rogue.h"
 
+int add_charisma(int change);
+int add_constitution(int change);
+int add_dexterity(int change);
+int add_intelligence(int change);
+int add_strength(int change);
+int add_wisdom(int change);
+
+int res_charisma(int howmuch);
+int res_constitution(int howmuch);
+int res_dexterity(int howmuch);
+int res_intelligence(int howmuch);
+int res_wisdom(int howmuch);
+
 /*
  * add_abil is an array of functions used to change attributes.  It must be
  * ordered according to the attribute definitions in rogue.h.
@@ -45,8 +58,7 @@
  */
 
 int
-add_constitution(change)
-int change;
+add_constitution(int change)
 {
     /* Do the potion */
     if (change < 0) {
@@ -76,8 +88,7 @@
  */
 
 int
-add_charisma(change)
-int change;
+add_charisma(int change)
 {
     /* Do the potion */
     if (change < 0) msg("You feel less attractive now.");
@@ -99,8 +110,7 @@
  */
 
 int
-add_dexterity(change)
-int change;
+add_dexterity(int change)
 {
     int ring_str;       /* Value of ring strengths */
 
@@ -132,8 +142,8 @@
  *      add a haste to the player
  */
 
-add_haste(blessed)
-bool blessed;
+void
+add_haste(bool blessed)
 {
     int hasttime;
 
@@ -171,8 +181,7 @@
  */
 
 int
-add_intelligence(change)
-int change;
+add_intelligence(int change)
 {
     int ring_str;       /* Value of ring strengths */
 
@@ -203,7 +212,8 @@
  * this routine makes the hero move slower 
  */
 
-add_slow()
+void
+add_slow(void)
 {
     /* monks cannot be slowed or hasted */
     if (player.t_ctype == C_MONK || ISWEARING(R_FREEDOM)) { 
@@ -232,8 +242,7 @@
  */
 
 int
-add_strength(change)
-int change;
+add_strength(int change)
 {
 
     if (change < 0) {
@@ -252,8 +261,7 @@
  */
 
 int
-add_wisdom(change)
-int change;
+add_wisdom(int change)
 {
     int ring_str;       /* Value of ring strengths */
 
@@ -280,11 +288,8 @@
     return(0);
 }
 
-quaff(which, kind, flags, is_potion)
-int which;
-int kind;
-int flags;
-bool is_potion;
+void
+quaff(int which, int kind, int flags, bool is_potion)
 {
     register struct object *obj;
     register struct linked_list *item, *titem;
@@ -587,7 +592,7 @@
                         blessed ? "much " : "");
                 p_know[P_RAISE] = TRUE;
                 raise_level();
-                do_panic(NULL);         /* this startles them */
+                do_panic(0);         /* this startles them */
                 if (blessed) raise_level();
             }
         when P_HASTE:
@@ -941,8 +946,7 @@
  */
 
 int
-res_dexterity(howmuch)
-int howmuch;
+res_dexterity(int howmuch)
 {
     short save_max;
     int ring_str;
@@ -975,8 +979,7 @@
  */
 
 int
-res_intelligence(howmuch)
-int howmuch;
+res_intelligence(int howmuch)
 {
     short save_max;
     int ring_str;
@@ -1004,8 +1007,7 @@
  */
 
 int
-res_wisdom(howmuch)
-int howmuch;
+res_wisdom(int howmuch)
 {
     short save_max;
     int ring_str;
@@ -1033,8 +1035,7 @@
  */
 
 int
-res_constitution(howmuch)
-int howmuch;
+res_constitution(int howmuch)
 {
     if (howmuch > 0)
         pstats.s_const = min(pstats.s_const + howmuch, max_stats.s_const);
@@ -1048,8 +1049,7 @@
  */
 
 int
-res_charisma(howmuch)
-int howmuch;
+res_charisma(int howmuch)
 {
     if (howmuch > 0)
         pstats.s_charisma =
--- a/xrogue/rings.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/rings.c	Wed Mar 02 21:13:26 2016 -0500
@@ -29,8 +29,8 @@
  * how much food does this ring use up?
  */
 
-ring_eat(hand)
-register int hand;
+int
+ring_eat(int hand)
 {
     if (cur_ring[hand] == NULL)
         return 0;
@@ -54,8 +54,8 @@
     return 0;
 }
 
-ring_on(item)
-register struct linked_list *item;
+void
+ring_on(struct linked_list *item)
 {
     register struct object *obj;
     register int save_max;
@@ -122,8 +122,7 @@
  */
 
 char *
-ring_num(obj)
-register struct object *obj;
+ring_num(struct object *obj)
 {
     static char buf[5];
 
@@ -158,7 +157,8 @@
  * Return the effect of the specified ring 
  */
 
-ring_value(type)
+int
+ring_value(int type)
 {
     int result = 0;
 
--- a/xrogue/rip.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/rip.c	Wed Mar 02 21:13:26 2016 -0500
@@ -20,6 +20,7 @@
 #define EDITSCORE 2     /* Edit the current score file */
 #define ADDSCORE 3      /* Add a new score */
 
+#include <stdlib.h>
 #include <curses.h>
 #include <time.h>
 #include <signal.h>
@@ -54,14 +55,20 @@
 NULL
 };
 
-char    *killname();
+int rs_read_scorefile(FILE *savef, struct sc_ent *entries, int count);
+void rs_write_scorefile(FILE *savef, struct sc_ent *entries, int count);
+
+char *killname(short monst);
+void showpack(char *howso);
+int update(struct sc_ent top_ten[], unsigned long amount, short quest, 
+           char *whoami, short flags, short level, short monst, short ctype,
+           char *system, char *login);
 
 extern FILE *scorefi, *logfile;
 
 /*UNUSED*/
 void
-byebye(sig)
-int sig;
+byebye(int sig)
 {
 	NOOP(sig);
     exit_game(EXIT_ENDWIN);
@@ -73,8 +80,8 @@
  *      Do something really fun when he dies
  */
 
-death(monst)
-register short monst;
+void
+death(short monst)
 {
     register char **dp = rip, *killer;
     register struct tm *lt;
@@ -102,8 +109,7 @@
 }
 
 char *
-killname(monst)
-register short monst;
+killname(short monst)
 {
     static char mons_name[LINELEN/2];
     int i;
@@ -187,10 +193,8 @@
  */
 
 /* VARARGS2 */
-score(amount, flags, monst)
-unsigned long amount;
-int flags;
-short monst;
+void
+score(unsigned long amount, int flags, short monst)
 {
     struct sc_ent top_ten[NUMSCORE];
     register struct sc_ent *scp;
@@ -574,8 +578,8 @@
  *      Display the contents of the hero's pack
  */
 
-showpack(howso)
-char *howso;
+void
+showpack(char *howso)
 {
         reg char *iname;
         reg int cnt, packnum;
@@ -604,7 +608,8 @@
         refresh();
 }
 
-total_winner()
+void
+total_winner(void)
 {
     register struct linked_list *item;
     register struct object *obj;
@@ -665,9 +670,7 @@
 
 
 void
-delete_score(top_ten, idx)
-struct sc_ent top_ten[NUMSCORE];
-int idx;
+delete_score(struct sc_ent top_ten[NUMSCORE], int idx)
 {
     for(;idx < NUMSCORE-1;idx++)
         top_ten[idx] = top_ten[idx+1];
@@ -676,9 +679,7 @@
 }
 
 int
-insert_score(top_ten, sc)
-struct sc_ent top_ten[NUMSCORE];
-struct sc_ent *sc;
+insert_score(struct sc_ent top_ten[NUMSCORE], struct sc_ent *sc)
 {
     int i,j;
 
@@ -699,10 +700,8 @@
 
 /* PCS = player-class-system (used to determines uniqueness of player) */
 
-int
-is_pcs_match(sc1,sc2)
-struct sc_ent *sc1;
-struct sc_ent *sc2;
+bool
+is_pcs_match(struct sc_ent *sc1, struct sc_ent *sc2)
 {
     return( (strcmp(sc1->sc_name,sc2->sc_name) == 0) &&
          (sc1->sc_ctype == sc2->sc_ctype) &&
@@ -710,10 +709,8 @@
 }
 
 int
-count_pcs_matches(top_ten,sc,lowest)
-struct sc_ent top_ten[NUMSCORE];
-struct sc_ent *sc;
-int *lowest;
+count_pcs_matches(struct sc_ent top_ten[NUMSCORE], struct sc_ent *sc, 
+                  int *lowest)
 {
     int i, matches = 0;
 
@@ -729,10 +726,8 @@
 }
 
 int
-find_most_pcs_matches(top_ten,sc,num,idx)
-struct sc_ent top_ten[NUMSCORE];
-struct sc_ent *sc;
-int *num, *idx;
+find_most_pcs_matches(struct sc_ent top_ten[NUMSCORE], struct sc_ent *sc, 
+                      int *num, int *idx)
 {
     int i, matches, max_match=0, max_match_idx=-1, lowest;
     
@@ -761,9 +756,7 @@
 
 
 int
-add_score(top_ten,sc)
-struct sc_ent top_ten[NUMSCORE];
-struct sc_ent *sc;
+add_score(struct sc_ent top_ten[NUMSCORE], struct sc_ent *sc)
 {
     int idx, count;
       
@@ -797,11 +790,10 @@
     }    
 }
 
-update(top_ten, amount, quest, whoami, flags, level, monst, ctype, system, login)
-struct sc_ent top_ten[];
-unsigned long amount;
-short quest, flags, level, monst, ctype;
-char *whoami, *system, *login;
+int
+update(struct sc_ent top_ten[], unsigned long amount, short quest, char *whoami,
+       short flags, short level, short monst, short ctype, char *system, 
+       char *login)
 {
     struct sc_ent sc;
 
--- a/xrogue/rogue.h	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/rogue.h	Wed Mar 02 21:13:26 2016 -0500
@@ -1222,54 +1222,296 @@
 /*
  * Other structures
  */
- 
-struct linked_list  *find_mons(), *find_obj(), *get_item(), *new_item(),
-                    *new_thing(), *wake_monster(), *get_hurl(), *spec_item(),
-                    *creat_item(), *wield_weap();
-
-struct room         *roomin();
-struct trap         *trap_at();
-
-char *getenv(), *tr_name(), *new(), *vowelstr(),
-    *inv_name(), *num(),
-    *ring_num(), *misc_num(), *blesscurse(), *p_kind(), *typ_name(),
-    *prname(), *monster_name(), *weap_name();
-
-coord   rndmove(), *fallpos(), *doorway(), get_coordinates();
-int can_shoot(),misc_name();
-
-short   randmonster(), id_monst(), movement();
 
-int bugkill(), nohaste(), spell_recovery(), doctor(), runners(), swander(),
-    unconfuse(), unsee(), fumble(), unclrhead(), unphase(), noslow(),
-    rollwand(), stomach(), sight(), unstink(), suffocate(), cure_disease(),
-    shoot_bolt(), changeclass(), appear(), dust_appear(), unchoke(),
-    alchemy(), trap_look(), strangle(), ring_teleport(), ring_search(),
-    grab(), dsrpt_player(), quill_charge(), make_sell_pack(), unskill(),
-    findmindex(), nobolt(), nofire(), nocold(), usage_time(), eat_gold(),
-    chant_recovery(), prayer_recovery(), dsrpt_monster(), opt_player();
-
-bool    blue_light(), can_blink(), creat_mons(), add_pack(), invisible(),
-    straight_shot(), maze_view(), lit_room(), getdelta(), save_file(),
-    save_game(), m_use_it(), m_use_pack(), get_dir(), need_dir(),passwd();
+void    _attach(struct linked_list **list, struct linked_list *item);
+void    _detach(struct linked_list **list, struct linked_list *item);
+void    _o_free_list(struct linked_list **ptr);
+void    _r_free_fire_list(struct linked_list **ptr);
+void    _r_free_list(struct linked_list **ptr);
+void    _t_free_list(struct linked_list **ptr);
+int     ac_compute(bool ignoremetal);
+void    activity(void);
+bool    add_pack(struct linked_list *item, bool silent);
+void    add_slow(void);
+void    addmsg(char *fmt, ...);
+void    affect(void);
+void    aggravate(bool do_uniques, bool do_good);
+void    alchemy(struct object *obj);
+void    appear(void);
+bool    attack(struct thing *mp, struct object *weapon, bool thrown);
+void    auto_save(int sig);
+char    be_trapped(struct thing *th, coord *tc);
+bool    blue_light(bool blessed, bool cursed);
+void    buy_it(void);
+void    byebye(int sig);
+bool    can_blink(struct thing *tp);
+int     can_shoot(coord *er, coord *ee, coord *shoot_dir);
+bool    cansee(int y, int x);
+void    carry_obj(struct thing *mp, int chance);
+void    cast(void);
+void    changeclass(long *newclass);
+void    chant(void);
+void    chant_recovery(void);
+void    chase(struct thing *tp, coord *ee, struct room *rer, struct room *ree, 
+              bool flee);
+long    check_level(void);
+void    check_residue(struct thing *tp);
+void    chg_str(int amt);
+void    choose_qst(void);
+int     cloak_charge(struct object *obj);
+void    command(void);
+void    confus_player(void);
+int     const_bonus(void);
+void    corr_move(int dy, int dx);
+struct linked_list *creat_item(void);
+bool    creat_mons(struct thing *person, short monster, bool report);
+void    create_obj(bool prompt, int which_item, int which_type);
+void    cur_null(struct object *op);
+void    cure_disease(void);
+void    dbotline(WINDOW *scr, char *message);
+void    death(short monst);
+void    del_pack(struct linked_list *item);
+void    destroy_item(struct linked_list *item);
+int     dex_compute(void);
+int     dext_plus(int dexterity);
+int     dext_prot(int dexterity);
+bool    diag_ok(coord *sp, coord *ep, struct thing *flgptr);
+void    dip_it(void);
+void    do_chase(struct thing *th);
+void    do_daemons(int flag);
+void    do_fuses(int flag);
+void    do_maze(void);
+void    do_motion(struct object *obj, int ydelta, int xdelta, struct thing *tp);
+void    do_move(int dy, int dx);
+void    do_panic(int who);
+void    do_passages(void);
+void    do_post(bool startup);
+void    do_rooms(void);
+void    do_run(char ch);
+void    do_teleport(void);
+void    do_terrain(int basey, int basex, int deltay, int deltax, bool fresh);
+void    do_zap(struct thing *zapper, struct object *obj, coord *direction,
+               int which, int flags);
+void    doctor(struct thing *tp);
+coord  *doorway(struct room *rp, coord *door);
+void    draw_room(struct room *rp);
+bool    drop(struct linked_list *item);
+bool    dropcheck(struct object *op);
+void    dsrpt_monster(struct thing *tp, bool always, bool see_him);
+void    dsrpt_player(void);
+void    dust_appear(void);
+void    eat(void);
+void    eat_gold(struct object *obj);
+int     effect(struct thing *att, struct thing *def, struct object *weap,
+               bool thrown, bool see_att, bool see_def);
+long    encread(char *start, unsigned long size, int inf);
+long    encwrite(char *start, unsigned long size, FILE *outf);
+void    endit(int sig);
+void    endmsg(void);
+void    exit_game(int flag);
+void    explode(struct thing *tp);
+void    extinguish(int (*dfunc)());
+void    fall(struct linked_list *item, bool pr);
+coord  *fallpos(coord *pos, bool be_clear, int range);
+void    fatal(char *s);
+bool    fight(coord *mp, struct object *weap, bool thrown);
+struct linked_list *find_mons(int y, int x);
+struct linked_list *find_obj(int y, int x);
+struct delayed_action *find_slot(int (*func)());
+int     findmindex(char *name);
+void    fix_stick(struct object *cur);
+void    fright(struct thing *th);
+void    fumble(void);
+void    fuse(int (*dfunc)(), VOID *arg, int time, int type);
+void    genmonsters(int least, bool treas);
+coord   get_coordinates(void);
+bool    get_dir(coord *direction);
+struct linked_list *get_hurl(struct thing *tp);
+struct linked_list *get_item(struct linked_list *list, char *purpose, int type,
+                             bool askfirst, bool showcost);
+int     get_str(char *opt, WINDOW *win);
+long    get_worth(struct object *obj);
+int     getdeath(void);
+bool    getdelta(char match, int *dy, int *dx);
+void    give(struct thing *th);
+int     grab(int y, int x);
+void    gsense(void);
+void    help(void);
+bool    hit_monster(int y, int x, struct object *obj, struct thing *tp);
+int     hitweight(void);
+void    idenpack(void);
+void    ident_hero(void);
+void    identify(unsigned char ch);
+void    init_colors(void);
+void    init_foods(void);
+void    init_materials(void);
+void    init_misc(void);
+void    init_names(void);
+void    init_player(void);
+void    init_stones(void);
+void    init_terrain(void);
+void    init_things(void);
+void    init_weapon(struct object *weap, char type);
+char   *inv_name(struct object *obj, bool drop);
+bool    inventory(struct linked_list *list, int type);
+bool    invisible(struct thing *monst);
+bool    is_current(struct object *obj);
+bool    is_magic(struct object *obj);
+bool    isatrap(char ch);
+int     itemweight(struct object *wh);
+void    kill_daemon(int (*dfunc)());
+void    killed(struct linked_list *item, bool pr, bool points, bool treasure);
+int     land(void);
+void    lengthen(int (*dfunc)(), int xtime);
+void    light(coord *cp);
+bool    lit_room(struct room *rp);
+void    look(bool wakeup, bool runend);
+void    lower_level(short who);
+void    m_use_relic(struct thing *monster);
+void    m_use_wand(struct thing *monster);
+void    make_sell_pack(struct thing *tp);
+short   makemonster(bool showall, char *action);
+bool    maze_view(int y, int x);
+int     misc_name(char *str, struct object *obj);
+void    missile(int ydelta, int xdelta, struct linked_list *item,
+                struct thing *tp);
+char   *monster_name(struct thing *tp);
+bool    move_hero(int why);
+short   movement(struct thing *tp);
+void    msg(char *fmt, ...);
+void    nameitem(struct linked_list *item, bool mark);
+bool    need_dir(int type, int which);
+char   *new(int size);
+struct linked_list *new_item(int size);
+void    new_level(LEVTYPE ltype);
+void    new_monster(struct linked_list *item, short type, coord *cp, 
+                    bool max_monster);
+struct linked_list *new_thing(int thing_type, bool allow_curse);
+void    nobolt(void);
+void    nocold(void);
+void    nofire(void);
+void    nohaste(void);
+void    noslow(void);
+char   *num(int n1, int n2);
+void    o_discard(struct linked_list *item);
+void    opt_player(void);
+void    option(void);
+void    over_win(WINDOW *oldwin, WINDOW *newin, int maxy, int maxx, int cursory,
+                 int cursorx, char redraw);
+char    pack_char(struct linked_list *list, struct object *obj);
+void    parse_opts(char *str);
+bool    passwd(void);
+void    picky_inven(void);
+bool    player_zap(int which, int flag);
+void    playit(void);
+void    pray(void);
+void    prayer_recovery(void);
+bool    price_it(void);
+char   *prname(char *who, bool upper);
+void    quaff(int which, int kind, int flags, bool is_potion);
+void    quill_charge(void);
+void    quit(int sig);
+void    raise_level(void);
+short   randmonster(bool wander, bool no_unique);
+void    read_scroll(int which, int flag, bool is_scroll);
+void    reap(void);
+int     res_strength(long howmuch);
+bool    restore(char *file, char *envp[]);
+void    restscr(WINDOW *scr);
+int     ring_eat(int hand);
+char   *ring_num(struct object *obj);
+void    ring_on(struct linked_list *item);
+void    ring_search(void);
+void    ring_teleport(void);
+int     ring_value(int type);
+void    rmmsg(void);
+int     rnd(int range);
+void    rnd_pos(struct room *rp, coord *cp);
+int     rnd_room(void);
+coord   rndmove(struct thing *who);
+int     roll(int number, int sides);
+void    rollwand(void);
+struct room *roomin(coord *cp);
+int     runners(int segments);
+void    runto(struct thing *runner, coord *spot);
+bool    save(int which, struct thing *who, int adj);
+bool    save_game(void);
+char    secretdoor(int y, int x);
+void    score(unsigned long amount, int flags, short monst);
+void    search(bool is_thief, bool door_chime);
+void    sell(struct thing *tp);
+void    sell_it(void);
+void    set_trap(struct thing *tp, int y, int x);
+void    setup(void);
+void    shoot_bolt(struct thing *shooter, coord start, coord dir, 
+                   bool get_points, short reason, char *name, int damage);
+bool    shoot_ok(int ch);
+char    show(int y, int x);
+void    sight(void);
+bool    skirmish(struct thing *attacker, coord *mp, struct object *weap, 
+                 bool thrown);
+struct linked_list *spec_item(int type, int which, int hit, int damage);
+void    spell_recovery(void);
+void    start_daemon(int (*dfunc)(), VOID *arg, int type);
+void    status(bool display);
+void    steal(void);
+bool    step_ok(int y, int x, int can_on_monst, struct thing *flgptr);
+void    stomach(void);
+int     str_compute(void);
+int     str_plus(short str);
+void    strangle(void);
+void    strucpy(char *s1, char *s2, int len);
+void    suffocate(void);
+void    swander(void);
+bool    swing(short class, int at_lvl, int op_arm, int wplus);
+void    take_off(void);
+void    take_with(void);
+void    teleport(void);
+void    total_winner(void);
+int     totalenc(struct thing *tp);
+char   *tr_name(char ch);
+struct trap *trap_at(int y, int x);
+void    trap_look(void);
+void    unchoke(void);
+void    unclrhead(void);
+void    unconfuse(void);
+int     undance(void);
+void    unphase(void);
+void    unsee(void);
+void    unskill(void);
+void    unstink(void);
+void    updpack(int getmax, struct thing *tp);
+int     usage_time(struct linked_list *item);
+void    use_mm(int which);
+char   *vowelstr(char *str);
+void    wait_for(char ch);
+struct linked_list *wake_monster(int y, int x);
+void    wake_room(struct room *rp);
+void    wanderer(void);
+void    waste_time(void);
+int     weap_move(struct thing *wielder, struct object *weap);
+char   *weap_name(struct object *obj);
+void    wear(void);
+void    wghtchk(void);
+void    whatis(struct linked_list *what);
+void    wield(void);
+struct linked_list *wield_weap(struct object *thrown, struct thing *mp);
+void    writelog(unsigned long amount, int flags, short monst);
+void    xsense(void);
 
-long    check_level();
-long    encread();
-long    get_worth();
-long    encwrite();
+char *getenv(), *misc_num();
 
-void    byebye(int sig), genmonsters(), quit(int sig),
-    auto_save(int sig), endit(int sig), tstp();
+int usage_time();
+
+void    tstp();
 
-void    teleport();
-    
-void writelog(unsigned long amount, int flags, short monst);
-
-int undance(), land(), cloak_charge(), wghtchk();
-
-int add_intelligence(), add_strength(), add_wisdom(), add_dexterity(),
-    add_constitution(), add_charisma(), res_intelligence(), res_strength(),
-    res_wisdom(), res_dexterity(), res_constitution(), res_charisma();
+int     md_getuid(void);
+long    md_memused(void);
+int     md_normaluser(void);
+int     md_rand(int range);
+void    md_setup(void);
+int     md_shellescape(void);
+int     md_srand(int seed);
 
 /*
  * Now all the global variables
@@ -1405,7 +1647,7 @@
 extern FILE *scorefi;
 extern FILE *logfile;
 extern LEVTYPE levtype;
-extern int (*add_abil[NUMABILITIES])(); /* Functions to change abilities */
+extern int (*add_abil[NUMABILITIES])(int); /* Functions to change abilities */
 extern int (*res_abil[NUMABILITIES])(); /* Functions to change abilities */
 extern int mf_count;       /* move_free counter - see actions.c(m_act()) */
 extern int mf_jmpcnt;      /* move_free counter for # of jumps        */
--- a/xrogue/rooms.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/rooms.c	Wed Mar 02 21:13:26 2016 -0500
@@ -20,7 +20,11 @@
 #include <curses.h>
 #include "rogue.h"
 
-do_rooms()
+void horiz(int cnt);
+void vert(int cnt);
+
+void
+do_rooms(void)
 {
     register int i;
     register struct room *rp;
@@ -107,7 +111,7 @@
 
             has_gold = TRUE;    /* This room has gold in it */
 
-            item = spec_item(GOLD, NULL, NULL, NULL);
+            item = spec_item(GOLD, 0, 0, 0);
             cur = OBJPTR(item);
 
             /* Put the gold into the level list of items */
@@ -177,9 +181,7 @@
  */
 
 coord *
-doorway(rp, door)
-register struct room *rp;
-register coord *door;
+doorway(struct room *rp, coord *door)
 {
     register int misses = 0;
     static coord answer;
@@ -208,8 +210,8 @@
  * Draw a box around a room
  */
 
-draw_room(rp)
-register struct room *rp;
+void
+draw_room(struct room *rp)
 {
     register int j, k;
 
@@ -236,8 +238,8 @@
  *      draw a horizontal line
  */
 
-horiz(cnt)
-register int cnt;
+void
+horiz(int cnt)
 {
     while (cnt--)
         addch(HORZWALL);
@@ -248,9 +250,8 @@
  *      pick a random spot in a room
  */
 
-rnd_pos(rp, cp)
-register struct room *rp;
-register coord *cp;
+void
+rnd_pos(struct room *rp, coord *cp)
 {
     cp->x = rp->r_pos.x + rnd(rp->r_max.x-2) + 1;
     cp->y = rp->r_pos.y + rnd(rp->r_max.y-2) + 1;
@@ -265,8 +266,7 @@
  */
 
 struct room *
-roomin(cp)
-register coord *cp;
+roomin(coord *cp)
 {
     register struct room *rp;
 
@@ -281,8 +281,8 @@
  *      draw a vertical line
  */
 
-vert(cnt)
-register int cnt;
+void
+vert(int cnt)
 {
     register int x, y;
 
--- a/xrogue/save.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/save.c	Wed Mar 02 21:13:26 2016 -0500
@@ -31,10 +31,16 @@
 extern unsigned char encstr[];
 extern int big_endian;
 
+bool rs_write_int(FILE *savef, int c);
+bool rs_read_int(int inf, int *i);
+bool rs_save_file(FILE *savef);
+bool rs_restore_file(int inf);
+
 int md_unlink(char *file);
+bool save_file(FILE *savef);
 
 bool
-save_game()
+save_game(void)
 {
     register FILE *savef;
     register int c;
@@ -129,12 +135,11 @@
  */
 
 bool
-save_file(savef)
-register FILE *savef;
+save_file(FILE *savef)
 {
     int slines = LINES;
     int scols = COLS;
-    int ret = FALSE;
+    bool ret = FALSE;
     int endian = 0x01020304;
     big_endian = ( *((char *)&endian) == 0x01 );
 
@@ -150,9 +155,8 @@
     return(ret);
 }
 
-restore(file, envp)
-register char *file;
-char **envp;
+bool
+restore(char *file, char *envp[])
 {
     register int inf;
     extern char **environ;
@@ -251,10 +255,7 @@
  */
 
 long
-encwrite(start, size, outf)
-register char *start;
-register unsigned long size;
-register FILE *outf;
+encwrite(char *start, unsigned long size, FILE *outf)
 {
     register unsigned char *ep;
     register int i = 0;
@@ -292,10 +293,7 @@
  */
 
 long
-encread(start, size, inf)
-register char *start;
-register unsigned long size;
-int inf;
+encread(char *start, unsigned long size, int inf)
 {
     register unsigned char *ep;
     register int rd_siz;
--- a/xrogue/scrolls.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/scrolls.c	Wed Mar 02 21:13:26 2016 -0500
@@ -17,6 +17,7 @@
 */
 
 #include <stdlib.h>
+#include <string.h>
 #include <curses.h>
 #include <ctype.h>
 #include "rogue.h"
@@ -25,7 +26,8 @@
  * let the hero get rid of some type of monster 
  */
 
-genocide()
+void
+genocide(void)
 {
     register struct linked_list *ip;
     register struct thing *mp;
@@ -56,10 +58,8 @@
     msg("You have wiped out the %s.", monsters[which_monst].m_name);
 }
 
-read_scroll(which, flag, is_scroll)
-register int which;
-int flag;
-bool is_scroll;
+void
+read_scroll(int which, int flag, bool is_scroll)
 {
     register struct object *obj = NULL, *nobj;
     register struct linked_list *item, *nitem;
@@ -499,7 +499,7 @@
                     nobj->o_flags &= ~ISCURSED;
                 }
                 msg("Your pack glistens brightly!");
-                do_panic(NULL);         /* this startles them */
+                do_panic(0);         /* this startles them */
         /* return; leaks item, go through end of function */
             }
             else {
--- a/xrogue/state.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/state.c	Wed Mar 02 21:13:26 2016 -0500
@@ -97,6 +97,14 @@
 int save_debug = FALSE;
 #define DBG(x)   {if (save_debug) rsPrintf x;}
 
+bool rs_read_new_string(int inf, char **s);
+int find_list_ptr(struct linked_list *l, void *ptr);
+bool rs_write_coord_list(FILE *savef, struct linked_list *l);
+bool rs_read_coord_list(int inf, struct linked_list **list);
+int list_size(struct linked_list *l);
+bool rs_write_object_list(FILE *savef, struct linked_list *l);
+bool rs_read_object_list(int inf, struct linked_list **list);
+
 int
 rsPrintf(char *fmt, ...)
 {
@@ -128,6 +136,7 @@
     return(NULL);
 }
 
+bool
 rs_write(FILE *savef, void *ptr, size_t size)
 {
     size_t i = 0;
@@ -143,6 +152,7 @@
 
 int end_of_file = FALSE;
 
+bool
 rs_read(int inf, void *ptr, size_t size)
 {
     int actual;
@@ -165,6 +175,7 @@
 
 int big_endian = 0;
 
+bool
 rs_write_uint(FILE *savef, unsigned int c)
 {
     char bytes[4];
@@ -184,6 +195,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_int(FILE *savef, int c)
 {
     char bytes[4];
@@ -203,6 +215,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_ulong(FILE *savef, unsigned long c)
 {
     unsigned int c2;
@@ -229,6 +242,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_long(FILE *savef, long c)
 {
     int c2;
@@ -255,6 +269,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_boolean(FILE *savef, bool c)
 {
     char buf;
@@ -269,6 +284,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_int(int inf, int *i)
 {
     char bytes[4];
@@ -291,6 +307,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_uint(int inf, unsigned int *i)
 {
     char bytes[4];
@@ -313,6 +330,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_ulong(int inf, unsigned long *i)
 {
     char bytes[4];
@@ -337,6 +355,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_long(int inf, long *i)
 {
     char bytes[4];
@@ -361,6 +380,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_boolean(int inf, bool *i)
 {
     char buf;
@@ -372,6 +392,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_ints(FILE *savef, int *c, int count)
 {
     int n=0;
@@ -384,6 +405,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_short(FILE *savef, short c)
 {
     char bytes[2];
@@ -401,6 +423,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_short(int inf, short *s)
 {
     char  bytes[2];
@@ -421,6 +444,7 @@
 }
 
 
+bool
 rs_write_shorts(FILE *savef, short *c, int count)
 {
     int n=0;
@@ -433,6 +457,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_longs(FILE *savef, long *c, int count)
 {
     int n=0;
@@ -445,6 +470,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_ulongs(FILE *savef, unsigned long *c, int count)
 {
     int n=0;
@@ -457,6 +483,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_booleans(FILE *savef, bool *c, int count)
 {
     int n=0;
@@ -469,6 +496,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_ints(int inf, int *i, int count)
 {
     int n=0,value=0;
@@ -487,6 +515,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_shorts(int inf, short *i, int count)
 {
     int n=0,value=0;
@@ -505,6 +534,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_longs(int inf, long *i, int count)
 {
     int n=0,value=0;
@@ -523,6 +553,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_ulongs(int inf, unsigned long *i, int count)
 {
     int n=0,value=0;
@@ -541,6 +572,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_booleans(int inf, bool *i, int count)
 {
     int n=0,value=0;
@@ -559,6 +591,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_levtype(FILE *savef, LEVTYPE c)
 {
     int lt;
@@ -578,6 +611,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_levtype(int inf, LEVTYPE *l)
 {
     int lt;
@@ -597,6 +631,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_char(FILE *savef, char c)
 {
     rs_write(savef, &c, 1);
@@ -605,6 +640,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_char(int inf, char *c)
 {
     rs_read(inf, c, 1);
@@ -612,6 +648,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_uchar(FILE *savef, unsigned char c)
 {
     rs_write(savef, &c, 1);
@@ -620,6 +657,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_uchar(int inf, unsigned char *c)
 {
     rs_read(inf, c, 1);
@@ -627,6 +665,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_string(FILE *savef, char *s)
 {
     int len = 0;
@@ -639,6 +678,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_string_index(int inf, struct words master[], int maxindex, char **str)
 {
     int i;
@@ -660,6 +700,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_string_index(FILE *savef, struct words master[], int maxindex, char *str)
 {
     int i;
@@ -677,6 +718,7 @@
     return(WRITESTAT);
 }
  
+bool
 rs_read_scrolls(int inf)
 {
     int i;
@@ -691,6 +733,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_scrolls(FILE *savef)
 {
     int i;
@@ -701,9 +744,10 @@
         rs_write_boolean(savef,s_know[i]);
         rs_write_string(savef,s_guess[i]);
     }
-    return(READSTAT);
+    return(WRITESTAT);
 }
 
+bool
 rs_read_potions(int inf)
 {
     int i;
@@ -718,6 +762,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_potions(FILE *savef)
 {
     int i;
@@ -732,6 +777,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_rings(int inf)
 {
     int i;
@@ -746,6 +792,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_rings(FILE *savef)
 {
     int i;
@@ -760,6 +807,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_misc(int inf)
 {
     int i;
@@ -773,6 +821,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_misc(FILE *savef)
 {
     int i;
@@ -786,6 +835,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_sticks(FILE *savef)
 {
     int i;
@@ -809,6 +859,7 @@
     return(WRITESTAT);
 }
         
+bool
 rs_read_sticks(int inf)
 {
     int i = 0, list = 0;
@@ -833,6 +884,7 @@
     return(READSTAT);
 }
     
+bool
 rs_read_string(int inf, char *s, int max)
 {
     int len = 0;
@@ -852,6 +904,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_new_string(int inf, char **s)
 {
     int len=0;
@@ -878,6 +931,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_strings(FILE *savef, char *s[], int count)
 {
     int len = 0;
@@ -896,6 +950,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_write_words(FILE *savef, struct words *w, int count)
 {
     int n = 0;
@@ -911,6 +966,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_words(int inf, struct words *w, int count)
 {
     int n = 0;
@@ -933,6 +989,7 @@
     return(READSTAT);
 }
 
+bool
 rs_read_new_strings(int inf, char **s, int count)
 {
     int len   = 0;
@@ -966,6 +1023,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_coord(FILE *savef, coord *c)
 {
     DBG(("X ="));
@@ -976,6 +1034,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_coord(int inf, coord *c)
 {
     rs_read_int(inf,&c->x);
@@ -1047,6 +1106,7 @@
     return tobj;
 }
 
+bool
 rs_write_daemons(FILE *savef, struct delayed_action *d_list,int count)
 {
     int i = 0;
@@ -1173,6 +1233,7 @@
     return(WRITESTAT);
 }       
 
+bool
 rs_read_daemons(int inf, struct delayed_action *d_list, int count)
 {
     int i = 0;
@@ -1344,6 +1405,7 @@
     return(READSTAT);
 }       
         
+bool
 rs_write_rooms(FILE *savef, struct room r[], int count)
 {
     int n = 0,i = -1;
@@ -1376,6 +1438,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_rooms(int inf, struct room *r, int count)
 {
     int value = 0, n = 0, i = 0, index = 0, id = 0;
@@ -1436,6 +1499,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_object(FILE *savef, struct object *o)
 {
     rs_write_int(savef, RSXR_OBJECT);
@@ -1487,6 +1551,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_object(int inf, struct object *o)
 {
     int id;
@@ -1523,6 +1588,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_stats(FILE *savef, struct stats *s)
 {
     DBG(("Stats\n"));
@@ -1546,6 +1612,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_stats(int inf, struct stats *s)
 {
     int id;
@@ -1580,6 +1647,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_mstats(FILE *savef, struct mstats *s)
 {
     DBG(("M-Stats\n"));
@@ -1598,6 +1666,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_mstats(int inf, struct mstats *s)
 {
     int id;
@@ -1634,6 +1703,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_init_weps(FILE *savef, struct init_weps *w, int count)
 {
     int i;
@@ -1656,6 +1726,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_init_weps(int inf, struct init_weps *w,int count)
 {
     int id,value,i;
@@ -1684,6 +1755,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_init_armor(FILE *savef, struct init_armor *a, int count)
 {
     int i;
@@ -1701,6 +1773,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_init_armor(int inf, struct init_armor *a,int count)
 {
     int id,value,i;
@@ -1720,6 +1793,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_spells(FILE *savef, struct spells *s, int count)
 {
     int i;
@@ -1736,6 +1810,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_spells(int inf, struct spells *s,int count)
 {
     int id,value,i;
@@ -1753,6 +1828,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_item_list(FILE *savef, struct item_list *i)
 {
     DBG(("Item List\n"));
@@ -1761,6 +1837,8 @@
     rs_write(savef, i->item_desc, sizeof(i->item_desc));
     return(WRITESTAT);
 }
+
+bool
 rs_read_item_list(int inf, struct item_list *i)
 {
     int id;
@@ -1772,6 +1850,7 @@
     return(READSTAT); 
 }
 
+bool
 rs_write_h_list(FILE *savef, struct h_list *h)
 {
     DBG(("H List\n"));
@@ -1781,6 +1860,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_h_list(int inf, struct h_list *h)
 {
     int id;
@@ -1792,6 +1872,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_death_types(FILE *savef, struct death_type *d,int count)
 {
     int i;
@@ -1807,6 +1888,8 @@
     }
     return(WRITESTAT);
 }
+
+bool
 rs_read_death_types(int inf, struct death_type *d, int count)
 {
     int id,value,i;
@@ -1828,6 +1911,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_character_types(FILE *savef, struct character_types *c, int count)
 {
     int i;
@@ -1851,6 +1935,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_character_types(int inf, struct character_types *c,int count)
 {
     int id,value,i;
@@ -1880,6 +1965,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_traps(FILE *savef, struct trap *trap,int count)
 {
     int n;
@@ -1895,8 +1981,10 @@
         rs_write_coord(savef, &trap[n].tr_pos);
         rs_write_long(savef, trap[n].tr_flags);
     }
+    return(WRITESTAT);
 }
 
+bool
 rs_read_traps(int inf, struct trap *trap, int count)
 {
     int id = 0, value = 0, n = 0;
@@ -1937,6 +2025,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_monsters(FILE * savef, struct monster * m, int count)
 {
     int n;
@@ -1965,6 +2054,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_monsters(int inf, struct monster *m, int count)
 {
     int id = 0, value = 0, n = 0;
@@ -2024,6 +2114,7 @@
 
 /*****************************************************************************/
 
+bool
 rs_write_coord_list(FILE *savef, struct linked_list *l)
 {
     DBG(("Coordinate List\n"));
@@ -2039,6 +2130,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_coord_list(int inf, struct linked_list **list)
 {
     int id;
@@ -2082,6 +2174,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_object_list(FILE *savef, struct linked_list *l)
 {
     DBG(("Object List\n"));
@@ -2097,6 +2190,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_object_list(int inf, struct linked_list **list)
 {
     int id;
@@ -2175,6 +2269,7 @@
     return(-1);
 }
 
+bool
 rs_write_thing(FILE *savef, struct thing *t)
 {
     int i = -1;
@@ -2285,6 +2380,7 @@
     return(WRITESTAT);
 }
 
+void
 rs_fix_thing(struct thing *t)
 {
     struct linked_list *item;
@@ -2302,6 +2398,7 @@
     }
 }
 
+bool
 rs_read_thing(int inf, struct thing *t)
 {
     int id;
@@ -2413,6 +2510,7 @@
 }
 
 
+bool
 rs_write_monster_list(FILE *savef, struct linked_list *l)
 {
     int cnt = 0;
@@ -2435,8 +2533,8 @@
     return(WRITESTAT);
 }
 
-rs_fix_monster_list(list)
-struct linked_list *list;
+void
+rs_fix_monster_list(struct linked_list *list)
 {
     struct linked_list *item;
 
@@ -2444,6 +2542,7 @@
         rs_fix_thing(THINGPTR(item));
 }
 
+bool
 rs_read_monster_list(int inf, struct linked_list **list)
 {
     int id;
@@ -2485,6 +2584,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_magic_items(FILE *savef, struct magic_item *i, int count)
 {
     int n;
@@ -2505,6 +2605,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_read_magic_items(int inf, struct magic_item *mi, int count)
 {
     int id;
@@ -2546,6 +2647,7 @@
     return(READSTAT);
 }
 
+bool
 rs_write_window(FILE *savef, WINDOW *win)
 {
     int row,col,height,width;
@@ -2558,8 +2660,11 @@
     for(row=0;row<height;row++)
         for(col=0;col<width;col++)
             rs_write_int(savef, mvwinch(win,row,col));
+
+    return(WRITESTAT);
 }
 
+bool
 rs_read_window(int inf, WINDOW *win)
 {
     int row,col,maxlines,maxcols,value,width,height;
@@ -2588,6 +2693,7 @@
     return(READSTAT);
 }
 
+bool
 rs_save_file(FILE *savef)
 {
     int i, weapon, armor, ring, misc, room = -1;
@@ -2743,6 +2849,7 @@
     return(WRITESTAT);
 }
 
+bool
 rs_restore_file(int inf)
 {
     int weapon, armor, ring, misc, room = -1,i,checkpoint;
@@ -2904,6 +3011,7 @@
     return(READSTAT);
 }
 
+void
 rs_write_scorefile(FILE *savef, struct sc_ent *entries, int count)
 {
     int i;
@@ -2923,6 +3031,7 @@
     }
 }
 
+int
 rs_read_scorefile(FILE *savef, struct sc_ent *entries, int count)
 {
     int i,available = 0;
@@ -2954,6 +3063,7 @@
 
 
 
+void
 rs_print_thing(FILE *outf, struct thing *thing, char *prefix, int list, int index)
 {
     int i;
@@ -2995,6 +3105,7 @@
     fprintf(outf,"%st_reserved : %d\n",prefix,thing->t_reserved);
 }
 
+void
 rs_print_game_state(FILE *outf)
 {
     fprintf(outf, "Player\n");
@@ -3025,8 +3136,7 @@
 ****/
 
 int
-md_rand(range)
-register int range;
+md_rand(int range)
 {
 #ifdef _WIN32
     return(range <= 0 ? 0 : rand() % range);
@@ -3036,8 +3146,7 @@
 }
 
 int
-md_srand(seed)
-register int seed;
+md_srand(int seed)
 {
 #ifdef _WIN32
     srand(seed);
@@ -3047,7 +3156,7 @@
 }
 
 void 
-md_flushinp()
+md_flushinp(void)
 {
     /* ioctl(0,TIOCFLUSH) */
     /* ioctl(_tty_ch,TCFLSH,0) */
@@ -3055,7 +3164,7 @@
 }
 
 int
-md_getuid()
+md_getuid(void)
 {
 #ifdef _WIN32
     return(42);
@@ -3065,7 +3174,7 @@
 }
 
 long
-md_memused()
+md_memused(void)
 {
 #ifdef _WIN32
     MEMORYSTATUS stat;
@@ -3079,7 +3188,7 @@
 }
 
 char *
-md_getusername()
+md_getusername(void)
 {
     static char login[80];
     char *l = NULL;
@@ -3114,7 +3223,7 @@
 }
 
 char *
-md_gethomedir()
+md_gethomedir(void)
 {
     static char homedir[PATH_MAX];
     char *h = NULL;
@@ -3181,7 +3290,7 @@
 }
 
 char *
-md_getroguedir()
+md_getroguedir(void)
 {
     static char path[1024];
     char *end,*home;
@@ -3218,7 +3327,7 @@
 }
 
 char *
-md_getshell()
+md_getshell(void)
 {
     static char shell[PATH_MAX];
     char *s = NULL;
@@ -3246,7 +3355,7 @@
 }
 
 char *
-md_gethostname()
+md_gethostname(void)
 {
     static char nodename[80];
     char *n = NULL;
@@ -3268,7 +3377,7 @@
 }
 
 int
-md_shellescape()
+md_shellescape(void)
 {
 #if (!defined(_WIN32) && !defined(__DJGPP__))
     int ret_status;
@@ -3308,7 +3417,7 @@
 }
 
 int
-md_erasechar()
+md_erasechar(void)
 {
 /*
     return(_tty.sg_erase);
@@ -3318,7 +3427,7 @@
 }
 
 int
-md_killchar()
+md_killchar(void)
 {
 /*
     return(_tty.sg_kill);
@@ -3362,7 +3471,7 @@
 }
 
 void
-md_init()
+md_init(void)
 {
 #ifdef __INTERIX
     char *term;
@@ -3378,8 +3487,7 @@
 }
 
 char *
-md_getpass(prompt)
-char *prompt;
+md_getpass(char *prompt)
 {
 #ifdef _WIN32
     static char password_buffer[9];
@@ -3446,8 +3554,7 @@
 
 /*UNUSED*/
 void 
-tstp(a)
-int a;
+tstp(int a)
 {
     mvcur(0, cols - 1, lines - 1, 0);
     fflush(stdout);
@@ -3462,8 +3569,8 @@
 }
 #endif
 
-int
-md_setup()
+void
+md_setup(void)
 {
 #ifdef SIGTSTP
     signal(SIGTSTP, tstp);
--- a/xrogue/sticks.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/sticks.c	Wed Mar 02 21:13:26 2016 -0500
@@ -21,16 +21,15 @@
 #include <string.h>
 #include "rogue.h"
 
+void drain(int ymin, int ymax, int xmin, int xmax);
+
 /*
  * zap a stick and see what happens
  */
 
-do_zap(zapper, obj, direction, which, flags)
-struct thing *zapper;
-struct object *obj;
-coord *direction;
-int which;
-int flags;
+void
+do_zap(struct thing *zapper, struct object *obj, coord *direction, int which, 
+       int flags)
 {
     register struct linked_list *item = NULL;
     register struct thing *tp;
@@ -647,8 +646,8 @@
  *      Do drain hit points from player shtick
  */
 
-drain(ymin, ymax, xmin, xmax)
-int ymin, ymax, xmin, xmax;
+void
+drain(int ymin, int ymax, int xmin, int xmax)
 {
     register int i, j, count;
     register struct thing *ick;
@@ -727,8 +726,8 @@
  * initialize a stick
  */
 
-fix_stick(cur)
-register struct object *cur;
+void
+fix_stick(struct object *cur)
 {
     if (EQUAL(ws_type[cur->o_which], "staff")) {
         cur->o_weight = 100;
@@ -768,8 +767,8 @@
  * Use the wand that our monster is wielding.
  */
 
-m_use_wand(monster)
-register struct thing *monster;
+void
+m_use_wand(struct thing *monster)
 {
     register struct object *obj;
 
@@ -794,14 +793,16 @@
      */
     msg("%s points a %s at you!", prname(monster_name(monster), TRUE),
         ws_type[obj->o_which]);
-    do_zap(monster, obj, &monster->t_newpos, obj->o_which, NULL);
+    do_zap(monster, obj, &monster->t_newpos, obj->o_which, 0);
     monster->t_wand /= 2; /* chance lowers with each use */
 }
 
+/*
+ * type: type of item, NULL means stick
+ * which: which item
+ */
 bool
-need_dir(type, which)
-int     type,           /* type of item, NULL means stick */
-        which;          /* which item                     */
+need_dir(int type, int which)
 {
     if (type == STICK || type == 0) {
         switch (which) {
@@ -831,9 +832,8 @@
  * let the player zap a stick and see what happens
  */
 
-player_zap(which, flag)
-int which;
-int flag;
+bool
+player_zap(int which, int flag)
 {
     register struct linked_list *item;
     register struct object *obj;
@@ -869,7 +869,7 @@
             switch (obj->o_which) {
                 case ORCUS_WAND:
             /* msg(nothing); */
-            read_scroll(S_PETRIFY, NULL, FALSE);
+            read_scroll(S_PETRIFY, 0, FALSE);
             return(TRUE);
                 when MING_STAFF:
                     which = WS_MISSILE;
--- a/xrogue/things.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/things.c	Wed Mar 02 21:13:26 2016 -0500
@@ -21,13 +21,17 @@
 #include <string.h>
 #include "rogue.h"
 
+int pick_one(struct magic_item *magic, int nitems);
+char *blesscurse(int flags);
+char *p_kind(struct object *obj);
+int extras(void);
+
 /*
  * print out the number of charges on a stick
  */
 
 char *
-charge_str(obj)
-register struct object *obj;
+charge_str(struct object *obj)
 {
     static char buf[20];
 
@@ -47,9 +51,7 @@
  */
 
 char *
-inv_name(obj, drop)
-register struct object *obj;
-bool drop;
+inv_name(struct object *obj, bool drop)
 {
     register char *pb;
 
@@ -331,8 +333,7 @@
  */
 
 char *
-weap_name(obj)
-register struct object *obj;
+weap_name(struct object *obj)
 {
     switch (obj->o_type) {
         case WEAPON:
@@ -365,8 +366,8 @@
  *      put something down
  */
 
-drop(item)
-struct linked_list *item;
+bool
+drop(struct linked_list *item)
 {
     register char ch = 0;
     register struct linked_list *obj, *nobj;
@@ -473,8 +474,8 @@
  * do special checks for dropping or unweilding|unwearing|unringing
  */
 
-dropcheck(op)
-register struct object *op;
+bool
+dropcheck(struct object *op)
 {
     int save_max;
 
@@ -583,9 +584,7 @@
  */
 
 struct linked_list *
-new_thing(thing_type, allow_curse)
-int thing_type;
-bool allow_curse;
+new_thing(int thing_type, bool allow_curse)
 {
     register struct linked_list *item;
     register struct object *cur;
@@ -801,8 +800,7 @@
  */
 
 struct linked_list *
-spec_item(type, which, hit, damage)
-int type, which, hit, damage;
+spec_item(int type, int which, int hit, int damage)
 {
     register struct linked_list *item;
     register struct object *obj;
@@ -877,9 +875,8 @@
  * pick an item out of a list of nitems possible magic items
  */
 
-pick_one(magic, nitems)
-register struct magic_item *magic;
-int nitems;
+int
+pick_one(struct magic_item *magic, int nitems)
 {
     register struct magic_item *end;
     register int i;
@@ -908,8 +905,7 @@
  */
 
 char *
-blesscurse(flags)
-int flags;
+blesscurse(int flags)
 {
     if (flags & ISKNOW)  {
         if (flags & ISCURSED) return("cursed ");
@@ -922,11 +918,11 @@
 /*
  * p_kind returns the type of potion for some types of identified potions;
  * otherwise, it returns the color.
+ * We assume that obj points to a potion.
  */
 
 char *
-p_kind(obj)
-struct object *obj;     /* We assume that obj points to a potion */
+p_kind(struct object *obj)
 {
     if (obj->o_which == P_ABIL) return(abilities[obj->o_kind].w_string);
     else return(p_colors[obj->o_which]);
@@ -937,7 +933,8 @@
  *      Return the number of extra items to be created
  */
 
-extras()
+int
+extras(void)
 {
         reg int i;
 
--- a/xrogue/trader.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/trader.c	Wed Mar 02 21:13:26 2016 -0500
@@ -16,12 +16,17 @@
 #include <string.h>
 #include "rogue.h"
 
+bool open_market(void);
+void trans_line(void);
+char *typ_name(struct object *obj);
+
 /*
  * buy_it:
  *      Buy the item on which the hero stands
  */
 
-buy_it()
+void
+buy_it(void)
 {
         reg int wh;
         struct linked_list *item = NULL;
@@ -84,10 +89,11 @@
 /*
  * do_post:
  *      Put a trading post room and stuff on the screen
+ * startup: True if equipping the player at the beginning of the game
  */
 
-do_post(startup)
-bool startup;   /* True if equipping the player at the beginning of the game */
+void
+do_post(bool startup)
 {
         coord tp;
         reg int i, j = 0, k;
@@ -348,7 +354,8 @@
  *      Retruns TRUE when ok do to transacting
  */
  
-open_market()
+bool
+open_market(void)
 {
         if (trader >= MAXPURCH && !wizard && level != 0) {
             msg("The market is closed. The stairs are that-a-way! ");
@@ -364,7 +371,8 @@
  *      Price the object that the hero stands on
  */
  
-price_it()
+bool
+price_it(void)
 {
         reg struct linked_list *item;
         reg struct object *obj;
@@ -404,7 +412,8 @@
  *      Sell an item to the trading post
  */
  
-sell_it()
+void
+sell_it(void)
 {
         reg struct linked_list *item;
         reg struct object *obj;
@@ -451,7 +460,8 @@
  *      Show how many transactions the hero has left
  */
  
-trans_line()
+void
+trans_line(void)
 {
         if (level == 0)
             sprintf(prbuf, "You are welcome to spend whatever gold you have.");
@@ -472,8 +482,7 @@
  */
  
 char *
-typ_name(obj)
-reg struct object *obj;
+typ_name(struct object *obj)
 {
         static char buff[20];
         reg int wh;
--- a/xrogue/util.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/util.c	Wed Mar 02 21:13:26 2016 -0500
@@ -26,8 +26,7 @@
  */
 
 int 
-ac_compute(ignoremetal)
-bool ignoremetal;
+ac_compute(bool ignoremetal)
 {
     register int ac;
 
@@ -60,8 +59,8 @@
  *      aggravate all the monsters on this level
  */
 
-aggravate(do_uniques, do_good)
-bool do_uniques, do_good;
+void
+aggravate(bool do_uniques, bool do_good)
 {
     register struct linked_list *mi;
     register struct thing *thingptr;
@@ -78,8 +77,8 @@
  *      returns true if the hero can see a certain coordinate.
  */
 
-cansee(y, x)
-register int y, x;
+bool
+cansee(int y, int x)
 {
     register struct room *rer;
     register int radius;
@@ -126,7 +125,7 @@
  */
 
 long
-check_level()
+check_level(void)
 {
     register int i, j, add = 0;
     register unsigned long exp;
@@ -170,8 +169,8 @@
  * it keeps track of the highest it has been, just in case
  */
 
-chg_str(amt)
-register int amt;
+void
+chg_str(int amt)
 {
     register int ring_str;              /* ring strengths */
     register struct stats *ptr;         /* for speed */
@@ -195,7 +194,8 @@
  * let's confuse the player
  */
 
-confus_player()
+void
+confus_player(void)
 {
     if (off(player, ISCLEAR))
     {
@@ -213,7 +213,8 @@
  * this routine computes the players current dexterity
  */
 
-dex_compute()
+int
+dex_compute(void)
 {
     if (cur_misc[WEAR_GAUNTLET] != NULL         &&
         cur_misc[WEAR_GAUNTLET]->o_which == MM_G_DEXTERITY) {
@@ -231,9 +232,8 @@
  *      Check to see if the move is legal if it is diagonal
  */
 
-diag_ok(sp, ep, flgptr)
-register coord *sp, *ep;
-struct thing *flgptr;
+bool
+diag_ok(coord *sp, coord *ep, struct thing *flgptr)
 {
     register int numpaths = 0;
 
@@ -254,10 +254,7 @@
  */
 
 coord *
-fallpos(pos, be_clear, range)
-register coord *pos;
-bool be_clear;
-int range;
+fallpos(coord *pos, bool be_clear, int range)
 {
         register int tried, i, j;
         register char ch;
@@ -333,8 +330,8 @@
  *      Find the index into the monster table of a monster given its name.
  */
 
-findmindex(name)
-char *name;
+int
+findmindex(char *name)
 {
     int which;
 
@@ -355,9 +352,7 @@
  */
 
 struct linked_list *
-find_mons(y, x)
-register int y;
-register int x;
+find_mons(int y, int x)
 {
     register struct linked_list *item;
     register struct thing *th;
@@ -377,9 +372,7 @@
  */
 
 struct linked_list *
-find_obj(y, x)
-register int y;
-register int x;
+find_obj(int y, int x)
 {
     register struct linked_list *obj;
     register struct object *op;
@@ -398,7 +391,7 @@
  */
 
 coord 
-get_coordinates()
+get_coordinates(void)
 {
     register int which;
     coord c;
@@ -458,8 +451,7 @@
  */
 
 bool
-get_dir(direction)
-coord *direction;
+get_dir(coord *direction)
 {
     register char *prompt;
     register bool gotit;
@@ -519,8 +511,7 @@
  */
 
 long
-get_worth(obj)
-reg struct object *obj;
+get_worth(struct object *obj)
 {
         reg long worth, wh;
 
@@ -591,8 +582,7 @@
  */
 
 bool
-invisible(monst)
-register struct thing *monst;
+invisible(struct thing *monst)
 {
         register bool   ret_code;
 
@@ -608,8 +598,8 @@
  * see if the object is one of the currently used items
  */
 
-is_current(obj)
-register struct object *obj;
+bool
+is_current(struct object *obj)
 {
     if (obj == NULL)
         return FALSE;
@@ -648,11 +638,12 @@
 /*
  * Look:
  *      A quick glance all around the player
+ *	wakeup: Should we wake up monsters
+ *	runend: At end of a run -- for mazes
  */
 
-look(wakeup, runend)
-bool wakeup;    /* Should we wake up monsters */
-bool runend;    /* At end of a run -- for mazes */
+void
+look(bool wakeup, bool runend)
 {
     register int x, y, radius;
     register unsigned char ch, och;
@@ -937,8 +928,8 @@
  * Lower a level of experience 
  */
 
-lower_level(who)
-short who;
+void
+lower_level(short who)
 {
     int fewer, nsides;
 	unsigned long exp;
@@ -975,8 +966,7 @@
  */
 
 char *
-monster_name(tp)
-register struct thing *tp;
+monster_name(struct thing *tp)
 {
     prbuf[0] = '\0';
     if (on(*tp, ISFLEE) || on(*tp, WASTURNED))
@@ -1007,8 +997,7 @@
  */
 
 bool
-move_hero(why)
-int why;
+move_hero(int why)
 {
     char *action = NULL;
     unsigned char which;
@@ -1053,7 +1042,8 @@
  *      The guy just magically went up a level.
  */
 
-raise_level()
+void
+raise_level(void)
 {
     unsigned long test;  /* Next level -- be sure it is not an overflow */
 
@@ -1105,12 +1095,13 @@
 /*
  * save:
  *      See if a creature saves against something
+ * which: which type of save
+ * who: who is saving
+ * adj: saving throw adjustment
  */
 
-save(which, who, adj)
-int which;              /* which type of save */
-struct thing *who;      /* who is saving */
-int adj;                /* saving throw adjustment */
+bool
+save(int which, struct thing *who, int adj)
 {
     register int need, level, protect;
 
@@ -1167,8 +1158,8 @@
  *      Figure out what a secret door looks like.
  */
 
-secretdoor(y, x)
-register int y, x;
+char
+secretdoor(int y, int x)
 {
     register int i;
     register struct room *rp;
@@ -1192,7 +1183,8 @@
  * this routine computes the players current strength
  */
 
-str_compute()
+int
+str_compute(void)
 {
     if (cur_misc[WEAR_GAUNTLET] != NULL         &&
         cur_misc[WEAR_GAUNTLET]->o_which == MM_G_OGRE) {
@@ -1209,9 +1201,8 @@
  * copy string using unctrl for things
  */
 
-strucpy(s1, s2, len)
-register char *s1, *s2;
-register int len;
+void
+strucpy(char *s1, char *s2, int len)
 {
     register char *sp;
     while (len--)
@@ -1229,8 +1220,7 @@
  */
 
 char *
-tr_name(ch)
-char ch;
+tr_name(char ch)
 {
     register char *s = NULL;
 
@@ -1263,8 +1253,7 @@
  */
 
 char *
-vowelstr(str)
-register char *str;
+vowelstr(char *str)
 {
     switch (*str)
     {
@@ -1283,8 +1272,8 @@
  * wake up a room full (hopefully) of creatures
  */
 
-wake_room(rp)
-register struct room *rp;
+void
+wake_room(struct room *rp)
 {
         register struct linked_list *item;
         register struct thing *tp;
@@ -1302,7 +1291,8 @@
  *      Do nothing but let other things happen
  */
 
-waste_time()
+void
+waste_time(void)
 {
     if (inwhgt)                 /* if from wghtchk then done */
         return;
--- a/xrogue/weapons.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/weapons.c	Wed Mar 02 21:13:26 2016 -0500
@@ -21,10 +21,8 @@
 #include <string.h>
 #include "rogue.h"
 
-boomerang(ydelta, xdelta, item, tp)
-int ydelta, xdelta;
-register struct linked_list *item;
-register struct thing *tp;
+void
+boomerang(int ydelta, int xdelta, struct linked_list *item, struct thing *tp)
 {
         register struct object *obj;
         struct thing midpoint;
@@ -56,10 +54,8 @@
  * tp other than t_pos unless we change boomerang().
  */
 
-do_motion(obj, ydelta, xdelta, tp)
-register struct object *obj;
-register int ydelta, xdelta;
-register struct thing *tp;
+void
+do_motion(struct object *obj, int ydelta, int xdelta, struct thing *tp)
 {
 
     /*
@@ -117,9 +113,8 @@
  *      Drop an item someplace around here.
  */
 
-fall(item, pr)
-register struct linked_list *item;
-bool pr;
+void
+fall(struct linked_list *item, bool pr)
 {
         register struct object *obj;
         register struct room *rp;
@@ -171,10 +166,8 @@
  * Does the missile hit the monster
  */
 
-hit_monster(y, x, obj, tp)
-register int y, x;
-struct object *obj;
-register struct thing *tp;
+bool
+hit_monster(int y, int x, struct object *obj, struct thing *tp)
 {
         static coord mp;
 
@@ -204,9 +197,8 @@
  *      Set up the initial goodies for a weapon
  */
 
-init_weapon(weap, type)
-register struct object *weap;
-char type;
+void
+init_weapon(struct object *weap, char type)
 {
         register struct init_weps *iwp;
 
@@ -229,10 +221,8 @@
  *      Fire a missile in a given direction
  */
 
-missile(ydelta, xdelta, item, tp)
-int ydelta, xdelta;
-register struct linked_list *item;
-register struct thing *tp;
+void
+missile(int ydelta, int xdelta, struct linked_list *item, struct thing *tp)
 {
         register struct object *obj;
         register struct linked_list *nitem;
@@ -308,8 +298,7 @@
  */
 
 char *
-num(n1, n2)
-register int n1, n2;
+num(int n1, int n2)
 {
         static char numbuf[LINELEN/2];
 
@@ -329,7 +318,8 @@
  *      Pull out a certain weapon
  */
 
-wield()
+void
+wield(void)
 {
         register struct linked_list *item;
         register struct object *obj, *oweapon;
--- a/xrogue/wear.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/wear.c	Wed Mar 02 21:13:26 2016 -0500
@@ -20,12 +20,15 @@
 #include <curses.h>
 #include "rogue.h"
 
+int dress_units(struct linked_list *item);
+
 /*
  * take_off:
  *      Get the armor off of the players back
  */
 
-take_off()
+void
+take_off(void)
 {
     register struct object *obj;
     register struct linked_list *item;
@@ -74,7 +77,8 @@
  *      The player wants to wear something, so let him/her put it on.
  */
 
-wear()
+void
+wear(void)
 {
     register struct linked_list *item;
     register struct object *obj;
@@ -395,8 +399,8 @@
  *      given item of "clothing"?
  */
 
-dress_units(item)
-struct linked_list *item;
+int
+dress_units(struct linked_list *item)
 {
     register struct object *obj;
 
--- a/xrogue/wizard.c	Fri Feb 19 21:02:28 2016 -0500
+++ b/xrogue/wizard.c	Wed Mar 02 21:13:26 2016 -0500
@@ -21,6 +21,8 @@
  * under strange circumstances)
  */
 
+int getbless(void);
+
 #include <stdlib.h>
 #include <curses.h>
 #include <ctype.h>
@@ -33,9 +35,8 @@
  *      Create any object for wizard, scroll, magician, or cleric
  */
 
-create_obj(prompt, which_item, which_type)
-bool prompt;
-int which_item, which_type;
+void
+create_obj(bool prompt, int which_item, int which_type)
 {
     reg struct linked_list *item;
     reg struct object *obj;
@@ -338,7 +339,7 @@
  */
 
 int
-getbless()
+getbless(void)
 {
         reg char bless;
 
@@ -356,7 +357,8 @@
  * get a non-monster death type
  */
 
-getdeath()
+int
+getdeath(void)
 {
     register int i;
     int which_death;
@@ -385,11 +387,11 @@
 
 /*
  * make a monster for the wizard
+ * showall -> show uniques and genocided creatures
  */
 
-makemonster(showall, action) 
-bool showall;   /* showall -> show uniques and genocided creatures */
-char *action;
+short
+makemonster(bool showall, char *action) 
 {
     register int i;
     register short which_monst;
@@ -485,7 +487,7 @@
  */
 
 bool
-passwd()
+passwd(void)
 {
     register char *sp, c;
     char buf[LINELEN];
@@ -522,7 +524,7 @@
  */
 
 void
-teleport()
+teleport(void)
 {
     register struct room *new_rp = NULL, *old_rp = roomin(&hero);
     register int rm, which;
@@ -622,8 +624,8 @@
  *      What a certin object is
  */
 
-whatis(what)
-struct linked_list *what;
+void
+whatis(struct linked_list *what)
 {
     register struct object *obj;
     register struct linked_list *item;
@@ -686,7 +688,8 @@
  *      (if on STARTLEV equipage level = 0)
  */
 
-choose_qst()
+void
+choose_qst(void)
 {
     bool doit = TRUE;
     bool escp = TRUE;
@@ -718,7 +721,7 @@
         if (menu_overlay)  /* Print the selections.  The longest line is
                 * Hruggek (26 characters).  The prompt is 21.
                 */
-            over_win(cw, hw, 20, 29, 0, 21, NULL);
+            over_win(cw, hw, 20, 29, 0, 21, '\0');
         else
             draw(hw);